parisse a écrit : ↑mer. sept. 19, 2018 8:53 am
Chez moi le test 21 passe. Tu as une idee pour qu'il soit moins sensible?
Je propose de ne pas afficher le resultat mais de le ranger dans une variable: GS
j'ajoute la ligne matrix pour verifier que l'on a bien une base orthonormee
et je change la derniere ligne pour montrer que les polynomes de GS sont proportionnels à ceux de S. La liste des contantes devrait etre moins sensible aux versions des librairies et systèmes. Ca teste à peu pres la meme chose.
Code : Tout sélectionner
S:=factor(gramschmidt([1,x,x^2,x^3,x^4],(p,q)->scalU(p,q,4))):
matrix(5,5,(u,v)->simplify(scalU(GS[u],GS[v],4)));
S:=[seq(pade(U,x,2*i-1,i),i=1..4)];
/* On constate bien que les denominateurs des approximants de pade coincident a facteur�pres avec les polyn\^omes reciproques des orthonormali$
recip:=proc(P)
normal(x^degree(P)*subs(x=1/x,P))
end;
seq(simplify(recip(denom(S[i]))/GS[i+1]),i=1..4); #donne bien les polyn\^omes obtenus par gramschmidt
du coup chez moi cela donne:
Code : Tout sélectionner
"Done",
matrix[[1,0,0,0,0],[0,1,0,0,0],[0,0,1,0,0],[0,0,0,1,0],[0,0,0,0,1]],
[1/(3*x+1),-1/(3*x^2-3*x-1),(3*x^2-11*x-3)/(42*x^3-21*x^2-20*x-3),(626*x^3+192*x^2+375*x+273)/(483*x^4+77*x^3+498*x^2+1194*x+273)],
proc(P)
normal(x^(degree(P))*subs(x=(1/x),P));
end;,
sqrt(3),-sqrt(3),(-I)*sqrt(273),I*sqrt(32214)