#### D.14.1.2 signatureLqf

Procedure from library `phindex.lib` (see phindex_lib).

Usage:
  signatureLqf(h); h quadratic form (poly type).

Return:
  the signature of h of type int or if r is given and !=0 then intvec with (signature, nr. of +, nr. of -) is returned.

Theory:
  To compute the signature we use the method of Lagrange. The law of inertia for a real quadratic form h(x,x) says that in a representation of h(x,x) as a sum of independent squares h(x,x)=sum_{i=1}^r a_i*X_i^2 the number of positive and the number of negative squares are independent of the choice of representation. The signature -s- of h(x,x) is the difference between the number -pi- of positive squares and the number -nu- of negative squares in the representation of h(x,x). The rank -r- of h(x,x) and the signature -s- determine the numbers -pi- and -nu- uniquely, since
  r=pi+nu, s=pi-nu.
  The method of Lagrange is a procedure to reduce any real quadratic form to a sum of squares.
  Ref. Gantmacher, The theory of matrices, Vol. I, Chelsea Publishing Company, NY 1960, page 299.

Example:

    LIB "phindex.lib";
    ring r=0,(x(1..4)),ds;
    poly Ax=4*x(1)^2+x(2)^2+x(3)^2+x(4)^2-4*x(1)*x(2)-4*x(1)*x(3)+4*x(1)*x(4)+4*x(2)*x(3)-4*x(2)*x(4);
    signatureLqf(Ax,1); //The rank of Ax is 3+1=4
    ==> 2,3,1
    poly Bx=2*x(1)*x(4)+x(2)^2+x(3)^2;
    signatureLqf(Bx);
    ==> 2

User manual for Singular version 4-0-3, 2016, generated by texi2html.