Calcul exact

Utilisation de Xcas au lycée (sauf algorithmique), y compris projet d'epreuve pratique en Terminale S

Modérateur : xcasadmin

Billy the Kid
Messages : 21
Inscription : ven. avr. 02, 2010 4:31 pm

Calcul exact

Message par Billy the Kid » mar. nov. 06, 2012 5:07 pm

Bonjour,
Pouvez-vous m'expliquer pourquoi l'instruction sqrt(12)==2*sqrt(3) renvoie 1 alors que l'instruction 2*sqrt(12)==4*sqrt(3) renvoie 0???
C'est embêtant à expliquer à un élève non ? et je ne comprends pas pourquoi Xcas se comporte ainsi.
Pouvez-vous éclairer ma lanterne ?
Merci de votre collaboration.

alb
Messages : 1320
Inscription : ven. août 28, 2009 3:34 pm

Re: Calcul exact

Message par alb » mar. nov. 06, 2012 5:34 pm

Pour comparer A et B le mieux est de comparer simplifier(A−B) et 0
2*sqrt(12) renvoie 2*2*sqrt(3)
4*sqrt(3) renvoie 4*sqrt(3)
ces deux expressions ne sont pas identiques avant simplification.

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

Re: Calcul exact

Message par parisse » mar. nov. 06, 2012 6:40 pm

La différence de comportement vient de la simplification automatique effectuée, sqrt(entier) est automatiquement simplifié en factorisant l'entier pour extraire les facteurs carrés, donc sqrt(12) devient 2*sqrt(3) ce qui explique que sqrt(12) soit identique à 2*sqrt(3). Par contre, 2*sqrt(12) devient 2*(2*sqrt(3)) qui n'est pas identique à 4*sqrt(3). D'ailleurs 2*(2*sqrt(3)) n'est pas identique à 2*2*sqrt(3) qui vaut 4*sqrt(3)...

Billy the Kid
Messages : 21
Inscription : ven. avr. 02, 2010 4:31 pm

Re: Calcul exact

Message par Billy the Kid » mar. nov. 06, 2012 7:47 pm

Merci pour vos réponses.
J'aimerais quand même comprendre pourquoi 2*2*sqrt(3) n'est pas égal à 4*sqrt(3) ?...
D'autres logiciels de calcul formel concluent à l'égalité. Pourquoi pas Xcas?
Pouvez-vous m'expliquer sommairement ?
Je sais que cela est lié au codage des nombres réels avec Xcas mais j'ai un peu de mal à suivre.
Merci pour votre collaboration.
:roll:

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

Re: Calcul exact

Message par parisse » mar. nov. 06, 2012 8:08 pm

En fait 2*2*sqrt(3) est identique à 4*sqrt(3) parce que 2*2*sqrt(3) est parsé en (2*2)*sqrt(3) (parce que * est déclaré comme un opérateur associatif gauche dans les règles grammaticales de l'interpréteur) et 2*2 est automatiquement simplifié en 4, mais 2*(2*sqrt(3)) n'est pas identique parce que 2*sqrt(3) est évalué avant et qu'il n'y a pas de règle de simplification automatique d'une expression quand on la multiplie par 2.

Répondre