Splitting implies characters form a basis for space of class functions

Statement
Suppose $$G$$ is a finite group, and $$k$$ is a splitting field for $$G$$; in other words, every representation of $$G$$ over $$k$$ is completely reducible and every representation irreducible over $$k$$ is irreducible over any field extension of $$k$$.

Then the characters of the irreducible representations of $$G$$ over $$k$$, span the $$k$$-vector space of class functions on $$G$$ with values in $$k$$. In fact, they form an orthonormal basis under the inner product:

$$\langle f_1, f_2 \rangle := \frac{1}{|G|} \sum_{g \in G} f_1(g) f_2(g^{-1})$$

In the case where $$k = \mathbb{C}$$, we can also use the Hermitian inner product:

$$\langle f_1, f_2 \rangle := \frac{1}{|G|} \sum_{g \in G} f_1(g) \overline{f_2(g)}$$

(although the two inner products are not the same (one is symmetric bilinear, the other is Hermitian) their values on pairs of characters are the same, because trace of inverse is complex conjugate of trace).

Facts used

 * 1) uses::Character orthogonality theorem (we use this both directly and in the form of a slight variant/modification of the orthogonal projection formula, though we don't call it out explicitly in the text of the proof).
 * 2) uses::Schur's lemma
 * 3) uses::Maschke's averaging lemma

Proof
We present the proof for splitting fields in general using the symmetric bilinear form. A similar proof works if we use the Hermitian inner product instead.

Any class function orthogonal to all irreducible characters must be identically zero
Given: A finite group $$G$$, a splitting field $$k$$ for $$G$$. A class function $$f:G \to k$$ such that $$\langle f, \chi \rangle_G = 0$$ for every irreducible character $$\chi$$.

To prove: $$f$$ is the zero function.

Proof: