There is the possibility of orthogonalizing without taking roots in gramschmidt (which is in effect the same code but you do not normalize). This seems to be available in giac C++ code but I do not know how to use it (or if it is available) in XCas or giacpy. For instance in giacpy we get the typical orthonormalization:
Code : Tout sélectionner
from giacpy import gramschmidt, hilbert
m=hilbert(3)
print gramschmidt(m)
The disadvantage of this orthonormalization in some computation is that it requires you to go to a higher field (if you are working with matrices with entries in some number field or just the rationals) due to taking the roots. I admit many computer algebra system do not offer the raw orthogonalization (Mathematica for instance), but this is a good option to have (maple for instance offers this). If the C++ code offers GS without normalizing then it would be great to have this option in XCas (or maybe there is but I don't know how to activate it).
Jose