gramschmidt and (only) orthogonalization

Librairie C++ de calcul formel/ C++ symbolic computation library

Modérateur : xcasadmin

jocaps
Messages : 118
Inscription : lun. avr. 17, 2017 4:32 pm

gramschmidt and (only) orthogonalization

Message par jocaps » mer. févr. 07, 2018 8:29 am

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

parisse
Messages : 5082
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: gramschmidt and (only) orthogonalization

Message par parisse » mer. févr. 07, 2018 3:19 pm

There is currently no way to call gramschmidt without normalization from Xcas. It could be easily added, for example gramschmidt(matrix,0) could skip the normalization step, would it be ok?

jocaps
Messages : 118
Inscription : lun. avr. 17, 2017 4:32 pm

Re: gramschmidt and (only) orthogonalization

Message par jocaps » mer. févr. 07, 2018 10:17 pm

Thank you Bernard. Yes, I suspected that this can be easily added if it was not there (otherwise, I usually do not want to request features). I think it is ok however way you want to add this option (I will adapt myself to it). Your suggestion is also very good.

Répondre