The definition works without any changes if instead of vector spaces over a field F, we use modules over a commutative ringR. It generalizes to n-ary functions, where the proper term is multilinear.

For non-commutative rings R and S, a left R-module M and a right S-module N, a bilinear map is a map B : M × N → T with T an (R, S)-bimodule, and for which any n in N, m ↦ B(m, n) is an R-module homomorphism, and for any m in M, n ↦ B(m, n) is an S-module homomorphism. This satisfies

B(r ⋅ m, n) = r ⋅ B(m, n)

B(m, n ⋅ s) = B(m, n) ⋅ s

for all m in M, n in N, r in R and s in S, as well as B being additive in each argument.

A first immediate consequence of the definition is that B(x, y) = 0 whenever x = 0 or y = 0. This may be seen by writing the null vector0 as 0 ⋅ 0 and moving the scalar 0 "outside", in front of B, by linearity.

A matrix M determines a bilinear map into the real by means of a real bilinear form (v, w) ↦ v′Mw, then associates of this are taken to the other three possibilities using duality and the musical isomorphism

If V, W, X are finite-dimensional, then so is L(V, W; X). For X = F, i.e. bilinear forms, the dimension of this space is dim V × dim W (while the space L(V × W; F) of linear forms is of dimension dim V + dim W). To see this, choose a basis for V and W; then each bilinear map can be uniquely represented by the matrix B(ei, fj), and vice versa. Now, if X is a space of higher dimension, we obviously have dim L(V, W; X) = dim V × dim W × dim X.