Function: qfbil Section: linear_algebra C-Name: qfbil Prototype: GGDG Help: qfbil(x,y,{q}): evaluate the bilinear form q (symmetric matrix) at (x,y); if q omitted, use the standard Euclidean scalar product. Doc: evaluate the bilinear form $q$ (symmetric matrix) at the vectors $(x,y)$; if $q$ omitted, use the standard Euclidean scalar product, corresponding to the identity matrix. Roughly equivalent to \kbd{x\til * q * y}, but a little faster and more convenient (does not distinguish between column and row vectors): \bprog ? x = [1,2,3]~; y = [-1,0,1]~; qfbil(x,y) %1 = 2 ? q = [1,2,3;2,2,-1;3,-1,0]; qfbil(x,y, q) %2 = -13 ? for(i=1,10^6, qfbil(x,y,q)) %3 = 568ms ? for(i=1,10^6, x~*q*y) %4 = 717ms @eprog\noindent The associated quadratic form is also available, as \tet{qfnorm}, slightly faster: \bprog ? for(i=1,10^6, qfnorm(x,q)) time = 444ms ? for(i=1,10^6, qfnorm(x)) time = 176 ms. ? for(i=1,10^6, qfbil(x,y)) time = 208 ms. @eprog