Sia  V  uno spazio vettoriale reale, una  forma bilineare  ⟨,⟩  su  V  è una funzione a valori reali dal prodotto cartesiano  V×V  ad  R  lineare per entrambe le variabili, cioè deve sia essere vero che: 
⟨r(v1+v2),w⟩=r⟨v1,w⟩+r⟨v2,w⟩  Sia che: 
⟨v,r(w1+w2)⟩=⟨v,w1⟩r+⟨v,w2⟩r  Per ogni  v,v1,v2,w,w1,w2  vettori di  V  ed ogni scalare  r  di  R. 
Ovviamente abbiamo spostato lo scalare davanti quando stava moltiplicando la prima variabile e dietro quando stava moltiplicando la seconda soltanto per convenzione, siccome sono tutti numeri reali vale la proprietà commutativa quindi è la stessa cosa. 
 Forse non lo avrete ancora notato, ma il  prodotto scalare  è proprio una forma bilineare, anzi è la forma bilineare per eccellenza. 
 Lasciamo il verificare le condizioni come esercizio per il lettore. 
 Se dunque indichiamo con  ⟨,⟩  il prodotto scalare, allora avremo: 
 ⟨v,w⟩=vtw 
 Dove ovviamente  vt  sarebbe il vettore trasposto di  v. 
 In generale, se  V  ha dimensione  n,  possiamo aggiungere una matrice  An×n  a moltiplicare in mezzo al prodotto ottenendo sempre una forma bilineare. 
 Se chiamiamo, quindi,  X  ed  Y  i vettori coordinate di  v  e  w  in generale avremo: 
 ⟨v,w⟩=XtAY 
 In questo caso, ovviamente,  ⟨v,w⟩  non indicherà più il prodotto scalare ammenochè  A=I. 
 Talvolta potremmo avere una forma bilineare e voler trovare la matrice della forma rispetto ad una base  B=(v1,...,vn) , come fare? 
 Si nota facilmente che basterrà inserire nell'entrata  aij  di  A  il risultato di  ⟨vi,vj⟩. 
 Una forma bilineare è detta  simmetrica  se  ⟨v,w⟩=⟨w,v⟩  mentre è detta  antisimmetrica  se  ⟨v,w⟩=−⟨w,v⟩ 
 Notiamo che una forma bilineare è simmetrica se e solo se la sua matrice  A  è anch'essa simmetrica ( At=A ). 
 Infatti, se  At=A,  allora, siccome possiamo vedere un numero come una matrice  1×1  e questa tipologie di matrici sono sempre simmetriche, dobbiamo avere: 
 ⟨v,w⟩=XtAY  =(XtAY)t=YtAtX  =YtAX=⟨w,v⟩. 
 E d'altra parte, siccome avevamo detto che  aij=⟨vi,vj⟩,  allora deve essere vero che  aji=⟨vj,vi⟩=⟨vi,vj⟩=aij  e dunque se la forma è simmetrica, anche la matrice è simmetrica. 
 Spesso può essere utile sapere come cambia  A  al variare della base  B. 
 Vediamo come si calcola la nuova base a seguito di un cambiamento di base tramite una matrice  P: 
 Avremo dunque  B′=BP. 
 Siccome  v=BX  e  v=B′X′,  avremo: 
 X=PX′ 
 e per lo stesso ragionamento avremo anche  Y=PY′. 
 Dunque avremo: 
 ⟨v,w⟩=XtAY=(PX′)tA(PY′)=X′t(PtAP)Y′ 
 E quindi la nuova matrice sarà  A′=PtAP. 
 Questo ci dice che tutte le matrici che rappresentano la stessa forma bilineare di  A  ma rispetto ad altre basi, sono quelle riscrivibili come  PtAP,  per qualche matrice  P.