Page 10 sur 58

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 01 Sep 2014, 08:50
de parisse
Sorry, I'm not comfortable enough with bison and flex to change the parser and recognize more implicit multiplications. I'm not a fan of implicit multiplication anyway, I added it for simple cases easy to handle with bison/flex like a number times something. Now, if someone knows how to handle more complicate situations, he is welcome to modify the parser and send me something working!

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 01 Sep 2014, 10:50
de Levak
parisse a écrit:I added it for simple cases easy to handle with bison/flex like a number times something.

since e^x expands to exp(x), I would do :
expr "(" args ")" expr => mult(func($1, $2), $3)
expr "(" args ")" => func($1, $2)

Other example :
https://github.com/miromannino/MExpr/bl ... ser.y#L199

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 02 Sep 2014, 10:15
de parisse
Perhaps. The parser file from giac is input_parser.yy, feel free to make changes there. Unfortunately, it's a more complicated parser than for a math evaluator, it also handles the programming language. I don't want to make changes myself because I'm almost certain it would break something.

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 13 Sep 2014, 07:13
de stevenmbiz
byparts2.test.jpg
Another integration by parts as shown above, the last part of the answer should be +1/4*asin(x) instead of -1/4*acos(x), right?

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 13 Sep 2014, 09:43
de Bisam
The answer is correct too, as acos(x)+asin(x)=pi/2 for all x in [-1,1], and two primitive functions of a given function may differ by a constant.

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 13 Sep 2014, 18:32
de stevenmbiz
make sense, thank you.

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 24 Sep 2014, 11:22
de parisse
Mise a jour avec quelques corrections de bugs, par ex.
simplify(exp(2*i*pi/7)+exp(4*i*pi/7)+exp(8*i*pi/7))
http://www-fourier.ujf-grenoble.fr/~parisse/calc/khicas.zip

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 14 Nov 2014, 00:54
de Bisam
@parisse : J'ai réutilisé Khicas aujourd'hui pour tester le solveur d'équa diff... et j'ai noté des erreurs flagrantes !
En fait, le solveur oublie des constantes d'intégration ou bien oublie de changer leur nom au fur et à mesure que de nouvelles constantes apparaissent, même dans des cas très simples.

Par exemple :
  • desolve(y''=y',x,y) renvoie c_0 e^x au lieu de c_0 e^x + c_1
  • desolve(y''=0,x,y) renvoie x c_0 + c_0 au lieu de x c_0 + c_1
  • desolve(y'''=0,x,y) renvoie (x^2 c_0 + 2x c_0 + c_0)/2 au lieu de (x^2 c_0 + 2x c_1 + c_2)/2
  • desolve(y'''-3y'+2y=0,x,y) renvoie c_0 e^x au lieu de (x c_0 +c_1) e^x + c_2 e^(-2*x)

On voit apparaître également très souvent des "Error : Bad Argument Value", par exemple avec desolve(y''+y=0,x,y), l'erreur complète dans ce cas étant "Unable to divide, perhaps due to rounding error"

Enfin, dans des cas que je n'ai pas réussi à reproduire, j'ai obtenu une transformée inverse de Laplace... mais non calculée.

Bref, la fonction "desolve" semble avoir de gros ennuis...

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 14 Nov 2014, 01:54
de Adriweb
Bisam a écrit:Bref, la fonction "desolve" semble avoir de gros ennuis...

En fin de compte, si la plupart des erreurs viennent d'un problème de notation des constantes, il est possible que la correction de ce bug là suffise pour beaucoup de choses...
Enfin bref, attendons l'avis de l'expert :P

Edit : d'apres le source, ca serait la fonction diffeq_constante qui serait toujours appelée avec 0 en paramètre... ? Autrement dit, parameters.size() qui renverrait toujours 0). Toujours est-il que ca marche sur xcas en ligne, par exemple, donc... étrange.

Re: KhiCAS, le moteur formel Giac/Xcas pour toutes TI-Nspire

Message non luPosté: 14 Nov 2014, 07:49
de Lionel Debroux
Autre question, qui n'a rien à voir: comment obtenir avec KhiCAS, et même Xcas desktop, la factorisation symbolique selon b du polynôme
Code: Tout sélectionner
b^3 - 2 * d1 * b^2 + (d1^2+d2) * b + d3 - d1*d2

sachant que d1, d2 et d3 sont des éléments de R+.