π
<-
Chat plein-écran
[^]

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

:32tins: :32tinsktpb: :32tinsktpn: :32tinscas: :32tinstpkc: :32tinstpktpb: :32tinstp: :32tinscastp: :32tinscmc: :32tinscx: :32tinscxcas:

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

Unread postby parisse » 01 Sep 2014, 08:50

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!
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 80.2%
 
Posts: 3552
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby Levak » 01 Sep 2014, 10:50

parisse wrote: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
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

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

Unread postby parisse » 02 Sep 2014, 10:15

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.
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 80.2%
 
Posts: 3552
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby stevenmbiz » 13 Sep 2014, 07:13

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?
User avatar
stevenmbiz
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 10
Joined: 29 Aug 2014, 00:07
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby Bisam » 13 Sep 2014, 09:43

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.
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5666
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby stevenmbiz » 13 Sep 2014, 18:32

make sense, thank you.
User avatar
stevenmbiz
Niveau 2: MI2 (Membre Initié)
Niveau 2: MI2 (Membre Initié)
Level up: 66.7%
 
Posts: 10
Joined: 29 Aug 2014, 00:07
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby parisse » 24 Sep 2014, 11:22

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
User avatar
parisseVIP++
Niveau 12: CP (Calculatrice sur Pattes)
Niveau 12: CP (Calculatrice sur Pattes)
Level up: 80.2%
 
Posts: 3552
Joined: 13 Dec 2013, 16:35
Gender: Not specified
Calculator(s):
MyCalcs profile

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

Unread postby Bisam » 14 Nov 2014, 00:54

@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...
User avatar
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 69.6%
 
Posts: 5666
Joined: 11 Mar 2008, 00:00
Location: Lyon
Gender: Male
Calculator(s):
MyCalcs profile

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

Unread postby Adriweb » 14 Nov 2014, 01:54

Bisam wrote: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.
Image

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 78.4%
 
Posts: 14656
Images: 1118
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby Lionel Debroux » 14 Nov 2014, 07:49

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: Select all
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+.
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
User avatar
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 11.2%
 
Posts: 6859
Joined: 23 Dec 2009, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Class: -
GitHub: debrouxl

PreviousNext

Return to News TI-Nspire

Who is online

Users browsing this forum: No registered users and 58 guests

-
Search
-
Social TI-Planet
-
Featured topics
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Offre de test des nouveautés de rentrée 2024 par Casio. Enseignant(e), reçois gratuitement 1 exemplaire, à ton choix, de la Graph Light ou bien de la Graph Math+
14€ remboursés par Casio sur l'achat de ta calculatrice Graph 35 d'ici le 31 Octobre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 90+E d'ici le 31 Décembre 2024
10€ remboursés par Casio sur l'achat de ta calculatrice Graph 25 d'ici le 31 Décembre 2024
8€ remboursés par Casio sur l'achat de ta calculatrice Graph Math+ d'ici le 31 Octobre 2024
Reprise de ton ancienne fx-92 Collège ou Graph 25/35/90 à 3€ peu importe son état. Même non fonctionnelle et donc invendable, même ancienne Graph 35 non conforme aux programmes (pas de Python), même ancienne Graph 25/35 inutilisable aux examens (pas de mode examen) et donc invendable. Etiquette de retour fournie, pas de frais de port à payer.
3€ remboursés par Casio sur l'achat de ta calculatrice fx-92 Collège d'ici le 30 Septembre 2024
5€ de remise immédiate sur l'achat de ta calculatrice TI-83 Premium CE Edition Python chez les revendeurs partenaires
4€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced Edition Python chez les revendeurs partenaires
3€ de remise immédiate sur l'achat de ta calculatrice TI-82 Advanced chez les revendeurs partenaires
Comparaisons des meilleurs prix pour acheter sa calculatrice !
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
1234567891011121314
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
1455 utilisateurs:
>1411 invités
>40 membres
>4 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)