Probleme avec simplify et les racines carrées
Modérateur : xcasadmin
Probleme avec simplify et les racines carrées
Bonjour,
Je souhaite simplifier l'ecriture suivante : sqrt(sqrt(2)-sqrt(3))^2)
J'utilise donc la commande suivante : simplify(sqrt(sqrt(2)-sqrt(3))^2)
Résultat obtenu : -sqrt(2) + sqrt(3)
Résultat attendu : sqrt(2) - sqrt(3)
Qui peut m'aider,
Merci d'avance,
Chris79
Je souhaite simplifier l'ecriture suivante : sqrt(sqrt(2)-sqrt(3))^2)
J'utilise donc la commande suivante : simplify(sqrt(sqrt(2)-sqrt(3))^2)
Résultat obtenu : -sqrt(2) + sqrt(3)
Résultat attendu : sqrt(2) - sqrt(3)
Qui peut m'aider,
Merci d'avance,
Chris79
Re: Probleme avec simplify et les racines carrées
j'obtiens un rootof, pas une expression simple, et qui est bien négatif et semble correct puisque
a:=simplify(sqrt(sqrt(2)-sqrt(3))^2)
normal(a+sqrt(3)-sqrt(2))
renvoie 0 et evalf(a) renvoie -0.31...
a:=simplify(sqrt(sqrt(2)-sqrt(3))^2)
normal(a+sqrt(3)-sqrt(2))
renvoie 0 et evalf(a) renvoie -0.31...
Re: Probleme avec simplify et les racines carrées
sqrt(sqrt(2)-sqrt(3))
sqrt(sqrt(2)-sqrt(3))^2
expand(sqrt(sqrt(2)-sqrt(3))^2
donnent les résultats attendus
simplify ou normal (à la place de expand) génèrent un rootof
luc briel
sqrt(sqrt(2)-sqrt(3))^2
expand(sqrt(sqrt(2)-sqrt(3))^2
donnent les résultats attendus
simplify ou normal (à la place de expand) génèrent un rootof
luc briel
Re: Probleme avec simplify et les racines carrées
C'est quoi un rootof ?
Chris79

Chris79
Re: Probleme avec simplify et les racines carrées
Je ne suis pas compétent pour expliquer un rootof
mais l'aide fournit la méthode pour l'utiliser dans les calculs:
normal(rootof([1,-1,1],[1,0,-10,0,1] opère ainsi:
prendre la plus grande racine (en norme) a du polynôme Q dont les coefficients sont 1,0,-10,0,1 cad x^4-10*x^2+1
calculer P(a) où P est le polynôme dont les coefficients sont 1,-1,1 cad x^2-x+1
PS: Soit a un réel. Est-il possible d'obtenir un polynôme ayant a pour racine
par ex soit a=sqrt(2)+sqrt(3). Existe t-il une fonction renvoyant [1,0,-10,0,1] ?
mais l'aide fournit la méthode pour l'utiliser dans les calculs:
normal(rootof([1,-1,1],[1,0,-10,0,1] opère ainsi:
prendre la plus grande racine (en norme) a du polynôme Q dont les coefficients sont 1,0,-10,0,1 cad x^4-10*x^2+1
calculer P(a) où P est le polynôme dont les coefficients sont 1,-1,1 cad x^2-x+1
PS: Soit a un réel. Est-il possible d'obtenir un polynôme ayant a pour racine
par ex soit a=sqrt(2)+sqrt(3). Existe t-il une fonction renvoyant [1,0,-10,0,1] ?
Re: Probleme avec simplify et les racines carrées
oui, pour avoir l'aide taper rootof puis la touche tab puis cliquer sur Detailsalb a écrit :Je ne suis pas compétent pour expliquer un rootof
mais l'aide fournit la méthode pour l'utiliser dans les calculs:
normal(rootof([1,-1,1],[1,0,-10,0,1] opère ainsi:
prendre la plus grande racine (en norme) a du polynôme Q dont les coefficients sont 1,0,-10,0,1 cad x^4-10*x^2+1
calculer P(a) où P est le polynôme dont les coefficients sont 1,-1,1 cad x^2-x+1
Oui, symb2poly(sqrt(2)+sqrt(3),[]) qui convertit en polynome au format interne.PS: Soit a un réel. Est-il possible d'obtenir un polynôme ayant a pour racine
par ex soit a=sqrt(2)+sqrt(3). Existe t-il une fonction renvoyant [1,0,-10,0,1] ?
Re: Probleme avec simplify et les racines carrées
Oui mais comment obtenir le polynôme ?
symb2poly(sqrt(2)+sqrt(3),[]) renvoie poly1[%%{[1,0]:[1,0,-10,0,1]%%}]
comment extraire la liste [1,0,-10,0,1] ?
pour faire normal(r2e([1,0,-10,0,1],x) et obtenir x^4-10*x^2+1
symb2poly(sqrt(2)+sqrt(3),[]) renvoie poly1[%%{[1,0]:[1,0,-10,0,1]%%}]
comment extraire la liste [1,0,-10,0,1] ?
pour faire normal(r2e([1,0,-10,0,1],x) et obtenir x^4-10*x^2+1
Re: Probleme avec simplify et les racines carrées
en effet, il n'y a pas de fonction pour faire ça. Il faut dire qu'il s'agit de la représentation interne des objets de giac, je n'ai donc rien prévu à ce jour, mais on peut rajouter des fonctions pour tout ça!
Sinon, pour des exemples comme a:=sqrt(2)+sqrt(3), ce n'est pas très difficile de le faire soi-meme
1ere methode (naive): on calcule a, a^2, a^3, a^4 puis on développe
b:=normal((x*a+y*a^2+z*a^3+t*a^4)
puis diff(subst(b,sqrt(6),X),X) doit donner 0, de meme avec sqrt(2) et sqrt(3) et le coefficient constant qui donne un systeme linéaire.
2eme méthode (avec le résultant)
si X=sqrt(2) et Y=sqrt(3) et c=sqrt(2)+sqrt(3) on a X^2-2=0 et Y^2-3=0 et c-X-Y=0 on élimine
r:=resultant(X^2-2,c-X-Y,X)
resultant(r,Y^2-3,Y) donne alors l'équation polynomiale vérifiée par c:
c^4-10*c^2+1
Sinon, pour des exemples comme a:=sqrt(2)+sqrt(3), ce n'est pas très difficile de le faire soi-meme
1ere methode (naive): on calcule a, a^2, a^3, a^4 puis on développe
b:=normal((x*a+y*a^2+z*a^3+t*a^4)
puis diff(subst(b,sqrt(6),X),X) doit donner 0, de meme avec sqrt(2) et sqrt(3) et le coefficient constant qui donne un systeme linéaire.
2eme méthode (avec le résultant)
si X=sqrt(2) et Y=sqrt(3) et c=sqrt(2)+sqrt(3) on a X^2-2=0 et Y^2-3=0 et c-X-Y=0 on élimine
r:=resultant(X^2-2,c-X-Y,X)
resultant(r,Y^2-3,Y) donne alors l'équation polynomiale vérifiée par c:
c^4-10*c^2+1
Re: Probleme avec simplify et les racines carrées
Je pense que ce type de fonction peut-être intéressant pour la construction d'exercices (vérifier a priori que la réponse est "simple") du style, pour par ex des secondes:
On donne a par ex sqrt(2)+sqrt(3) ou sqrt(2010)-sqrt(2009) ou (sqrt(2)-sqrt(3))/(sqrt(5)-sqrt(7))
Trouver une équation du type polynôme à coeff entiers admettant a pour solution
pour a=sqrt(2)+sqrt(3), les élèves font a, a^2,a^2-5,(a^2-5)^2
On donne a par ex sqrt(2)+sqrt(3) ou sqrt(2010)-sqrt(2009) ou (sqrt(2)-sqrt(3))/(sqrt(5)-sqrt(7))
Trouver une équation du type polynôme à coeff entiers admettant a pour solution
pour a=sqrt(2)+sqrt(3), les élèves font a, a^2,a^2-5,(a^2-5)^2