qfgaussred([0,7,2,3; 7,0,6,8; 2,6,0,9; 3,8,9,0])
Q=[2,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1;-1,2,1,1,1,1,1,1,1,1,1,1,1;-1,1,2,1,1,1,1,1,1,1,1,1,1;-1,1,1,2,1,1,1,1,1,1,1,1,1;-1,1,1,1,2,1,1,1,1,1,1,1,1;-1,1,1,1,1,2,1,1,1,1,1,1,1;-1,1,1,1,1,1,2,1,1,1,1,1,1;-1,1,1,1,1,1,1,2,1,1,1,1,1;-1,1,1,1,1,1,1,1,2,1,1,1,1;-1,1,1,1,1,1,1,1,1,2,1,1,1;-1,1,1,1,1,1,1,1,1,1,2,1,1;-1,1,1,1,1,1,1,1,1,1,1,2,1;-1,1,1,1,1,1,1,1,1,1,1,1,2];
Q[3,7] += 1.25;
Q[7,3] += 1.25; qfsign(Q)

Q=[8,4,4,4,4,4,4,4,4,4,4,4;4,8,4,4,4,4,4,4,4,4,4,4;4,4,8,0,0,0,3,0,0,0,0,0;4,4,0 ,8,4,4,1,4,4,4,4,4;4,4,0,4,8,4,4,4,4,4,4,4;4,4,0,4,4,8,4,4,4,4,4,4;4,4,3,1,4,4,8 ,4,1,1,1,1;4,4,0,4,4,4,4,8,4,4,4,4;4,4,0,4,4,4,1,4,8,4,4,4;4,4,0,4,4,4,1,4,4,8,4 ,4;4,4,0,4,4,4,1,4,4,4,8,4;4,4,0,4,4,4,1,4,4,4,4,8];
qfminim(Q,,0,2)[1]
qfrep(Q,16)
qfrep(Q,8,1)
qfminim(Q,,,1)
qfminim(Q,8,,1)
qfminim(Q,4,,1)
qfminim([;],4,,1)
qfminim([;],4,,2)
qfminim(matid(2),0,1,2)
qfminim(matid(2),0,1,1)
qfminim(matid(2),0,1,0)



L=[360815,2283021;-316840,2566404];
qfminim(L~*L,10^16)[2]
qfminim(L~*L,10^16,,2)[2]
forqfvec(v, [3,2;2,3], 3, print(v))
forqfvec(v, [3,2;2,3],, print(v))
forqfvec(v,[;],3,)
x=[1,2,3]~; y=[-1,0,1]~; qfnorm(x)
q=[1,2,3;2,2,-1;3,-1,0]; qfnorm(x, q)
qfbil(x,y)
qfbil(x,y,q)
M=[1,2,3;4,5,6;7,8,9]; qfnorm(M)
qfnorm(M,q)

qfnorm(1)
qfnorm(1,1)
qfnorm(x,Mat(1))
qfnorm(x,Mat(x~))
qfbil(1,1)
qfbil([1],[1,2])
qfbil([1,2],[1,2],q)
qfbil([1,2],[1,2],Mat([1,2]))
