What Volume I quietly assumed
In Volume I the inner product <u, v> was your tool for measuring length and angle. But look at what it actually does: it eats two vectors and returns a scalar, and it is linear in each argument separately. The dot product u^T v is the model example. Those two facts — two inputs, linear in each — are the whole skeleton; symmetry and positivity were extras we now set free.
A bilinear form B on a vector space V is any map B: V x V -> F that is linear in its first slot when the second is held fixed, and linear in its second slot when the first is held fixed. No symmetry required, no positivity required. The inner product is just one very well-behaved bilinear form; the rest of this track explores the whole family.
Every form is a matrix once you fix a basis
Fix a basis e_1, ..., e_n. A bilinear form is completely determined by the n^2 numbers a_ij = B(e_i, e_j), because linearity spreads the form across coordinates. Collect them into the Gram matrix A = [a_ij]; then for column vectors x, y of coordinates, B(x, y) = x^T A y. Choosing the basis turns the abstract form into ordinary matrix arithmetic.
B(x, y) = x^T A y (A is the Gram matrix in this basis)
Example on R^2 with A = [2, 1; 0, 3]:
B(x, y) = [x1 x2] [2, 1; 0, 3] [y1; y2]
= 2 x1 y1 + 1 x1 y2 + 0 x2 y1 + 3 x2 y2
Read it off: the coefficient of x_i y_j is exactly a_ij.
a_11 = 2 = B(e_1, e_1)
a_12 = 1 = B(e_1, e_2)
a_21 = 0 = B(e_2, e_1) <- note a_12 != a_21: NOT symmetric
a_22 = 3 = B(e_2, e_2)Degeneracy: the radical and nondegenerate forms
An inner product can never send a nonzero vector to zero against everything, but a general form can. The radical of B is the set of vectors v with B(v, w) = 0 for all w — the directions the form simply cannot see. In coordinates the radical is exactly the null space of A. When the radical is just {0}, the form is nondegenerate, equivalently det A != 0.