A := matrix(2,2,[fxx,fxy,fyx,fyy]); vector([a,b]) &* evalm(A) &* matrix(2,1,[a,b]) > 0; collect(evalm(vector([a,b]) &* evalm(A) &* matrix(2,1,[a,b]))[1],[a,b]) > 0; subs(fyx=fxy,"); fxx*( (a + (fxy/fxx)*b)^2 - ((fxy/fxx)*b)^2 + (fyy/fxx)*b^2); R := fxx*( (a + (fxy/fxx)*b)^2 + (1/fxx^2)*(fxx*fyy-fxy^2)*b^2); DET := fxx*fyy - fxy^2; Dg := diff(f(x(t),y(t)),t); Dg0 := fx*u + fy*v; D2g := diff(Dg,t); D2g0 := (fxx*u + fxy*v)*u + (fxy*u+fyy*v)*v; sort(expand(D2g0),[u,v]);