You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(2) |
Jul
(11) |
Aug
(1) |
Sep
(4) |
Oct
(3) |
Nov
(2) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
|
Feb
(15) |
Mar
(2) |
Apr
(3) |
May
|
Jun
(1) |
Jul
|
Aug
(7) |
Sep
(3) |
Oct
|
Nov
|
Dec
(31) |
2008 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
(1) |
Jun
(5) |
Jul
|
Aug
(2) |
Sep
(3) |
Oct
(5) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(2) |
Mar
|
Apr
(1) |
May
(23) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(4) |
Dec
(13) |
2010 |
Jan
(2) |
Feb
(3) |
Mar
(3) |
Apr
|
May
(7) |
Jun
(5) |
Jul
|
Aug
|
Sep
(6) |
Oct
|
Nov
(4) |
Dec
(1) |
2011 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2012 |
Jan
|
Feb
(9) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2015 |
Jan
|
Feb
|
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(2) |
Oct
|
Nov
(9) |
Dec
(5) |
2016 |
Jan
(1) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(15) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(2) |
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(4) |
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: philippe <rou...@gm...> - 2024-07-15 21:55:15
|
Bonjour Lara, Pour des questions aussi pointues il est préférable de les poster sur la liste gmane.comp.mathematics.maxima.general Bonne chance, Philippe Le 07/06/2024 à 19:04, Lara Boutros a écrit : > Bonjour, > > Je m'appelle Lara Boutros, PhD, et je travaille actuellement sur un > projet de recherche nécessitant une utilisation intensive de Maxima sur > un serveur Linux. Cependant, je rencontre des difficultés pour augmenter > la mémoire allouée à Maxima lorsque j'utilise ECL (Embeddable Common > Lisp) comme implémentation Lisp. > > J'ai configuré mon environnement de travail avec les variables > d'environnement suivantes pour essayer d'augmenter la mémoire > disponible, mais sans succès : > > export ECL_DYNAMIC_SPACE_SIZE=70000 # 70 GB > > Malgré ces configurations, il semble que Maxima n'utilise pas la mémoire > supplémentaire comme prévu. Pourriez-vous s'il vous plaît me fournir des > conseils ou des instructions spécifiques sur la manière d'augmenter la > mémoire allouée à Maxima lorsque j'utilise Lisp=ECL sur un serveur Linux ? > > J'ai également ajouté l'option |dynamic-space-size|directement dans le > fichier de configuration de Maxima pour ECL, mais cela ne semble pas > fonctionner. Vous trouverez en pièce jointe une capture d'écran de ce > fichier pour votre référence. > > Ce problème est crucial pour l'avancement de mon projet de recherche, et > toute assistance rapide de votre part serait grandement appréciée. > > Je vous remercie par avance pour votre aide et votre compréhension. > > Cordialement > > ----------------------- > > Lara Boutros, Ph.D. > > Stress Engineer > > CT Ingenierie > > ../../../../../../../../Users/laura.casas/Desktop/AF%2 > > > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr |
From: Lara B. <lar...@ct...> - 2024-06-07 20:39:06
|
Bonjour, Je m'appelle Lara Boutros, PhD, et je travaille actuellement sur un projet de recherche nécessitant une utilisation intensive de Maxima sur un serveur Linux. Cependant, je rencontre des difficultés pour augmenter la mémoire allouée à Maxima lorsque j'utilise ECL (Embeddable Common Lisp) comme implémentation Lisp. J'ai configuré mon environnement de travail avec les variables d'environnement suivantes pour essayer d'augmenter la mémoire disponible, mais sans succès : export ECL_DYNAMIC_SPACE_SIZE=70000 # 70 GB Malgré ces configurations, il semble que Maxima n'utilise pas la mémoire supplémentaire comme prévu. Pourriez-vous s'il vous plaît me fournir des conseils ou des instructions spécifiques sur la manière d'augmenter la mémoire allouée à Maxima lorsque j'utilise Lisp=ECL sur un serveur Linux ? J'ai également ajouté l'option dynamic-space-size directement dans le fichier de configuration de Maxima pour ECL, mais cela ne semble pas fonctionner. Vous trouverez en pièce jointe une capture d'écran de ce fichier pour votre référence. [cid:image002.jpg@01DAB90D.8D6B16D0] Ce problème est crucial pour l'avancement de mon projet de recherche, et toute assistance rapide de votre part serait grandement appréciée. Je vous remercie par avance pour votre aide et votre compréhension. Cordialement ----------------------- Lara Boutros, Ph.D. Stress Engineer CT Ingenierie [../../../../../../../../Users/laura.casas/Desktop/AF%2] |
From: Silvain D. <sil...@bl...> - 2023-11-20 11:09:55
|
Je n’ai pas connaissance d’un telle procédure pré-établie. J’ai essayé un autre méthode de calcul en utilisant la fonction coeff(polyn,var,degré) et écrite de manière à permettre de construire assez facilement une telle procédure. Il y a plus de variables que nécessaire, mais c’est pour une meilleure compréhension. Avec mes meilleurs messages Silvain block( [q,Q,coeffs,a,b,c,delta,A,B,C], q:2*x^2+2*x*z+2*y^2-2*y*z+z^2, coeffs:makelist(coeff(q,z,i),i,0,2), [c,b,a]:coeffs, delta:ratsimp(b^2-4*a*c), A:a, B:ratsimp(b/(2*a)), C:factor(-delta/(4*a)), Q:A*(z+B)^2+C, /* expression décomposée */ diffverif:expand(q-Q), /* cette différence doit être nulle */ display(q,coeffs,delta,Q,diffverif) )$ Le 20.11.23 à 03:55, Robert Dodier a écrit : > Hello Pierre, > > Thanks for your interest in Maxima. I've taken the liberty of > forwarding your message to the maxima-discuss mailing list, since > there is more traffic there. I can't reply in French, despite my name, > but I know there are several subscribers to maxima-discuss who can. > > All the best, > > Robert > > On Sun, Nov 19, 2023 at 2:50 PM Pierre CAMPET<pie...@ac...> wrote: >> Bonjour >> >> >> Je voulais savoir s'il existait une fonction de maxima pour obtenir une décomposition de Gauss. >> >> Pour l'instant voici ce que je suis parvenu à faire : >> >> (%i26) q:2*x^2+2*x*z+2*y^2-2*y*z+z^2; >> >> 2 2 2 >> >> (%o26) z - 2 y z + 2 x z + 2 y + 2 x >> >> (%i27) expand((z-y+x)^2); >> >> 2 2 2 >> (%o27) z - 2 y z + 2 x z + y - 2 x y + x >> >> (%i28) l1:(z-y+x)^2-part(%,[4,5,6]); >> >> 2 2 2 >> (%o28) (z - y + x) - y + 2 x y - x >> >> (%i29) q:substpart(l1,q,[1,2,3]); >> >> 2 2 2 >> (%o29) (z - y + x) + y + 2 x y + x >> >> (%i30) q:substpart(factor(part(q,[2,3,4])),q,[2,3,4]); >> >> 2 2 >> (%o30) (z - y + x) + (y + x) >> >> >> Mais je gère encore les calculs moi-même ... >> >> Bien cordialement >> >> Pierre >> >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr -- Silvain Dupertuis Route de Lausanne 335 1293 Bellevue (Switzerland) tél. +41-(0)22-774.20.67 portable +41-(0)79-604.87.52 web: silvain-dupertuis.org <https://perso.silvain-dupertuis.org> |
From: Robert D. <rob...@gm...> - 2023-11-20 02:55:58
|
Hello Pierre, Thanks for your interest in Maxima. I've taken the liberty of forwarding your message to the maxima-discuss mailing list, since there is more traffic there. I can't reply in French, despite my name, but I know there are several subscribers to maxima-discuss who can. All the best, Robert On Sun, Nov 19, 2023 at 2:50 PM Pierre CAMPET <pie...@ac...> wrote: > > Bonjour > > > Je voulais savoir s'il existait une fonction de maxima pour obtenir une décomposition de Gauss. > > Pour l'instant voici ce que je suis parvenu à faire : > > (%i26) q:2*x^2+2*x*z+2*y^2-2*y*z+z^2; > > 2 2 2 > > (%o26) z - 2 y z + 2 x z + 2 y + 2 x > > (%i27) expand((z-y+x)^2); > > 2 2 2 > (%o27) z - 2 y z + 2 x z + y - 2 x y + x > > (%i28) l1:(z-y+x)^2-part(%,[4,5,6]); > > 2 2 2 > (%o28) (z - y + x) - y + 2 x y - x > > (%i29) q:substpart(l1,q,[1,2,3]); > > 2 2 2 > (%o29) (z - y + x) + y + 2 x y + x > > (%i30) q:substpart(factor(part(q,[2,3,4])),q,[2,3,4]); > > 2 2 > (%o30) (z - y + x) + (y + x) > > > Mais je gère encore les calculs moi-même ... > > Bien cordialement > > Pierre > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr |
From: Pierre C. <pie...@ac...> - 2023-11-19 22:50:11
|
Bonjour Je voulais savoir s'il existait une fonction de maxima pour obtenir une décomposition de Gauss. Pour l'instant voici ce que je suis parvenu à faire : |(%i26) q:2*x^2+2*x*z+2*y^2-2*y*z+z^2;| | 2 2 2 | |(%o26) z - 2 y z + 2 x z + 2 y + 2 x | |(%i27) expand((z-y+x)^2); | |2 2 2 (%o27) z - 2 y z + 2 x z + y - 2 x y + x | |(%i28) l1:(z-y+x)^2-part(%,[4,5,6]); | |2 2 2 (%o28) (z - y + x) - y + 2 x y - x | |(%i29) q:substpart(l1,q,[1,2,3]); | |2 2 2 (%o29) (z - y + x) + y + 2 x y + x | |(%i30) q:substpart(factor(part(q,[2,3,4])),q,[2,3,4]); | |2 2 (%o30) (z - y + x) + (y + x) | Mais je gère encore les calculs moi-même ... Bien cordialement Pierre |
From: Stavros M. <mac...@gm...> - 2022-11-15 18:06:19
|
L'enjeu est plutôt d'assurer que les matheux soient conscients que Maxima reste un outil pratique pour tout type de calcul. Honnêtement, je suis un peu perplexe que OEIS estime cette série digne d'inclusion.... Mais là c'est un autre débat. -s On Tue, Nov 15, 2022 at 12:48 PM Thomas Baruchel <bar...@gm...> wrote: > On Tue, 15 Nov 2022, Robert Dodier wrote: > > Le record donné par G. C. Greubel est de 10 000 digits. > > > > J’en donne 150 parce que MAPLE en donne 120 (comme > > Mathematica) > > > > > > > > /* OEIS A173272 Decimal expansion of the positive > > solution of sqrt((2-x)(2+x)) + sqrt((3-x)(a+x)) = > > sqrt((2-x)(2+x))*sqrt((3-x)(3+x)). */ > > > > /* After MAPLE and MATHEMATICA examples, Patrick > > Guillemin is adding a MAXIMA example with 150 Digits */ > > > > find_root_abs:1/10^150$ find_root_rel:1/10^150$ > > fpprec:150$ fpprintprec:150$ > > > > x0:bf_find_root(x^8-22*x^6+163*x^4-454*x^2+385, x, > > 1.1b0, 1.3b0); > > > > /* end of code */ > > Bonjour Patrick, > > le code semble correct, mais si l'enjeu est la course aux > nombres, peut-être vaut-il mieux utiliser Pari-GP, plus > adapté, qui calcule de façon instantané plusieurs dizaines > de milliers de chiffres : > > (18:46) gp > \p200 > realprecision = 211 significant digits (200 digits displayed) > (18:47) gp > solve(x=1.1, 1.3, x^8-22*x^6+163*x^4-454*x^2+385) > %2 = > > %1.2311857237786688299627058347697888745686490269976349243438469028632788354636825802070220761365423157787386759254111932030711775173725696924568433951120227051506561962475322075369285896297975417856324 > > > Ici, j'ai tapé \p200 (200 chiffres) pour ne pas alourdir le message, > mais on peut sans hésiter tenter \p20000 pour passer à 20000 chiffres. > > Cordialement, > > -- > Thomas Baruchel_______________________________________________ > Maxima-discuss mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-discuss > |
From: Thomas B. <bar...@gm...> - 2022-11-15 17:48:30
|
On Tue, 15 Nov 2022, Robert Dodier wrote: > Le record donné par G. C. Greubel est de 10 000 digits. > > J’en donne 150 parce que MAPLE en donne 120 (comme > Mathematica) > > > > /* OEIS A173272 Decimal expansion of the positive > solution of sqrt((2-x)(2+x)) + sqrt((3-x)(a+x)) = > sqrt((2-x)(2+x))*sqrt((3-x)(3+x)). */ > > /* After MAPLE and MATHEMATICA examples, Patrick > Guillemin is adding a MAXIMA example with 150 Digits */ > > find_root_abs:1/10^150$ find_root_rel:1/10^150$ > fpprec:150$ fpprintprec:150$ > > x0:bf_find_root(x^8-22*x^6+163*x^4-454*x^2+385, x, > 1.1b0, 1.3b0); > > /* end of code */ Bonjour Patrick, le code semble correct, mais si l'enjeu est la course aux nombres, peut-être vaut-il mieux utiliser Pari-GP, plus adapté, qui calcule de façon instantané plusieurs dizaines de milliers de chiffres : (18:46) gp > \p200 realprecision = 211 significant digits (200 digits displayed) (18:47) gp > solve(x=1.1, 1.3, x^8-22*x^6+163*x^4-454*x^2+385) %2 = %1.2311857237786688299627058347697888745686490269976349243438469028632788354636825802070220761365423157787386759254111932030711775173725696924568433951120227051506561962475322075369285896297975417856324 Ici, j'ai tapé \p200 (200 chiffres) pour ne pas alourdir le message, mais on peut sans hésiter tenter \p20000 pour passer à 20000 chiffres. Cordialement, -- Thomas Baruchel |
From: Robert D. <rob...@gm...> - 2022-11-15 16:51:37
|
Hello Patrick, Forgive me for not replying in French, I can read it but I can't write it. I am taking the liberty of forwarding your message to the primary Maxima mailing list, maxima-discuss. I think there are readers there who can reply in French. About the method for determining the root of the equation in Maxima, I believe that your method is valid, and I can't suggest a better approach. I'm glad to hear Maxima is getting a mention in the OEIS. It is a terrific resource which I have used many times. All the best, Robert Dodier On Sat, Nov 12, 2022 at 9:28 AM Patrick GUILLEMIN < pat...@ho...> wrote: > Bonjour, > > Je vais soumette l’exemple de code MAXIMA suivant à > https://oeis.org/A173272 ; Est-ce correct (*) pour vous? > > Le record donné par G. C. Greubel est de 10 000 digits. > > J’en donne 150 parce que MAPLE en donne 120 (comme Mathematica) > > > > /* OEIS A173272 Decimal expansion of the positive solution of > sqrt((2-x)(2+x)) + sqrt((3-x)(a+x)) = sqrt((2-x)(2+x))*sqrt((3-x)(3+x)). */ > > /* After MAPLE and MATHEMATICA examples, Patrick Guillemin is adding a > MAXIMA example with 150 Digits */ > > find_root_abs:1/10^150$ find_root_rel:1/10^150$ fpprec:150$ > fpprintprec:150$ > > x0:bf_find_root(x^8-22*x^6+163*x^4-454*x^2+385, x, 1.1b0, 1.3b0); > > /* end of code */ > > > > Afin de donner le change à MAPLE et MATHEMATICA > > > > EXAMPLE > > 1.231185723778668829962705... [R. J. Mathar, Feb 21 2010] > > > > MAPLE > > Digits := 120 ; fsolve(x^8-22*x^6+163*x^4-454*x^2+385, x, 1.1..1.3) ; # R. > J. Mathar, Feb 21 2010 > > MATHEMATICA > > Root[#^8 - 22#^6 + 163#^4 - 454#^2 + 385 &, 3] // RealDigits[#, 10, 105]& > // First (* Jean-François Alcover, Feb 22 2013 *) > > RealDigits[x/.FullSimplify[With[{a=Sqrt[(2-x)(2+x)], b=Sqrt[(3-x)(3+x)]}, > Solve[a*b==a+b, x]]][[2]], 10, 120][[1]] (* Essentially identical to Jean- > Francois Alcover's program above *) (* Harvey P. Dale, Dec 26 2014 *) > > Cordialement > > Patrick > > > > PS > > (*) J’ai vérifié les 150 digits, ils sont corrects mais je me demande si > j’ai utilisé la bonne façon de faire avec MAXIMA ? > > > > /* x0 result OK until a(150) comparing x first 150 digits with OEIS > A173272 / a(1) to a(157) of G. C. Greubel, Table of n, a(n) for n = > 1..10000 Reference */ > > /* > 1.23118572377866882996270583476978887456864902699763492434384690286327883546368258020702207613654231577873867592541119320307117751737256969245684339511b0 > x0 150 digits*/ > > /* > 1.231185723778668829962705834769788874568649026997634924343846902863278835463682580207022076136542315778738675925411193203071177517372569692456843395112022705 > OEIS reference 157 digits */ > > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > |
From: Patrick G. <pat...@ho...> - 2022-11-12 17:28:26
|
Bonjour, Je vais soumette l’exemple de code MAXIMA suivant à https://oeis.org/A173272 ; Est-ce correct (*) pour vous? Le record donné par G. C. Greubel est de 10 000 digits. J’en donne 150 parce que MAPLE en donne 120 (comme Mathematica) /* OEIS A173272 Decimal expansion of the positive solution of sqrt((2-x)(2+x)) + sqrt((3-x)(a+x)) = sqrt((2-x)(2+x))*sqrt((3-x)(3+x)). */ /* After MAPLE and MATHEMATICA examples, Patrick Guillemin is adding a MAXIMA example with 150 Digits */ find_root_abs:1/10^150$ find_root_rel:1/10^150$ fpprec:150$ fpprintprec:150$ x0:bf_find_root(x^8-22*x^6+163*x^4-454*x^2+385, x, 1.1b0, 1.3b0); /* end of code */ Afin de donner le change à MAPLE et MATHEMATICA EXAMPLE 1.231185723778668829962705... [R. J. Mathar, Feb 21 2010] MAPLE Digits := 120 ; fsolve(x^8-22*x^6+163*x^4-454*x^2+385, x, 1.1..1.3) ; # R. J. Mathar, Feb 21 2010 MATHEMATICA Root[#^8 - 22#^6 + 163#^4 - 454#^2 + 385 &, 3] // RealDigits[#, 10, 105]& // First (* Jean-François Alcover, Feb 22 2013 *) RealDigits[x/.FullSimplify[With[{a=Sqrt[(2-x)(2+x)], b=Sqrt[(3-x)(3+x)]}, Solve[a*b==a+b, x]]][[2]], 10, 120][[1]] (* Essentially identical to Jean- Francois Alcover's program above *) (* Harvey P. Dale, Dec 26 2014 *) Cordialement Patrick PS (*) J’ai vérifié les 150 digits, ils sont corrects mais je me demande si j’ai utilisé la bonne façon de faire avec MAXIMA ? /* x0 result OK until a(150) comparing x first 150 digits with OEIS A173272 / a(1) to a(157) of G. C. Greubel, Table of n, a(n) for n = 1..10000 Reference */ /* 1.23118572377866882996270583476978887456864902699763492434384690286327883546368258020702207613654231577873867592541119320307117751737256969245684339511b0 x0 150 digits*/ /* 1.231185723778668829962705834769788874568649026997634924343846902863278835463682580207022076136542315778738675925411193203071177517372569692456843395112022705 OEIS reference 157 digits */ |
From: Stavros M. <mac...@al...> - 2022-08-19 18:14:14
|
La solution dépend des détails du problème, et de quelles variables sont à éliminer. Une substitution directe du genre *ratsubst(z*t,x*y,...)* est souvent efficace. Ou encore plus simplement *subst(z*t/y,x,...)*. Parfois *tellrat* est utile. Si vous voulez partager votre problème avec le groupe, nous pourrions éventuellement fournir des conseils mieux ciblés. -s On Fri, Aug 19, 2022 at 5:53 AM Emmanuel Royer, Maxima < emm...@m4...> wrote: > Bonjour, > > Dans une suite de calculs Maxima, j’aimerais pouvoir simplifier en > supposant une égalité polynomiale entre variables ? > J’ai essayer à l’aide de assume et equal sans succès. Comment procéder ? > > assume(equal(x*y-z*t,0)); > x*y-z*t; > > retourne en effet > > [equal(x*y,t*z)] > x*y-t*z > > Bien à vous, > Emmanuel > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > |
From: Emmanuel R. M. <emm...@m4...> - 2022-08-19 09:52:52
|
Bonjour, Dans une suite de calculs Maxima, j’aimerais pouvoir simplifier en supposant une égalité polynomiale entre variables ? J’ai essayer à l’aide de assume et equal sans succès. Comment procéder ? assume(equal(x*y-z*t,0)); x*y-z*t; retourne en effet [equal(x*y,t*z)] x*y-t*z Bien à vous, Emmanuel |
From: <nai...@ne...> - 2022-05-17 17:23:51
|
Bonjour, Je ne vois pas dans la liste des paquets Maxima , de bibliothèque dédiée aux arbres. Existe-t-il une tel paquet? Je suis intéressé par les arbres binaires (parcours en largeur, profondeur, visualisation ...). Maxima peut-il dialoguer avec l'utilisateur? Je veux construire une fonction qui demande à l'utilisateur de fournir des informations (nombres, chaînes etc..). Cordialement, Pierre F |
From: Stavros M. <mac...@al...> - 2020-12-28 20:37:40
|
Bienvenu à Maxima! Pour la plupart d'opérations, surtout de ce genre, le plus facile c'est d'utiliser le langage Maxima. On peut également programmer en Lisp, mais ce n'est pas la peine sauf s'il s'agit de calculs symboliques lourds. Un "paquet" Maxima c'est juste un fichier texte avec des définitions de fonctions. Le manuel se trouve à http://michel.gosse.free.fr/documentation/fr/maxima.html Voir en particulier la section Tracé de courbe. -s On Mon, Dec 28, 2020 at 1:52 PM <nai...@ne...> wrote: > Bonjour, > > Je souhaite contribuer au projet MAXIMA en créant des fonctions ou paquets > pour aider des étudiants à visualiser des résultats de calculs (section > d'un cube par un plan etc...) > > Où puis-je trouver de la documentation sur le fabrication d'un paquet > Maxima, le langage à utiliser , le format à donner ...? > > merci pour toute réponse, > > Cordialement, > > Pierre Fourest > > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > |
From: <nai...@ne...> - 2020-12-28 18:52:02
|
Bonjour, Je souhaite contribuer au projet MAXIMA en créant des fonctions ou paquets pour aider des étudiants à visualiser des résultats de calculs (section d'un cube par un plan etc...) Où puis-je trouver de la documentation sur le fabrication d'un paquet Maxima, le langage à utiliser , le format à donner ...? merci pour toute réponse, Cordialement, Pierre Fourest |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2016-10-10 16:10:40
|
Autres fonctions utile: debugmode(true) -- entre dans un mode special (un peu difficile a utiliser) backtrace() -- imprime le call stack (fonctions appelées) ff(n):=if n=0 then backtrace() else ff(n-1); ff(2); #0: ff(n=0) #1: ff(n=1) #2: ff(n=2) break() -- entre dans un breakpoint, où toutes les fonctions Maxima sont disponibles, ex.: gg(a):= (q : q+a, if a=0 then break() else gg(a-1))$ q:0$ gg(4)$ Entering a Maxima break point. Type 'exit;' to resume. _q; 10 _a; 0 _backtrace()$ #0: gg(a=0) #1: gg(a=1) #2: gg(a=2) #3: gg(a=3) #4: gg(a=4) _C-C <<< abandonne le calcul 2016-10-10 11:58 GMT-04:00 Jean-François Ingenbleek <jin...@gm...>: > Ok merci > > Le lun. 10 oct. 2016 16:31, Stavros Macrakis (Σταῦρος Μακράκης) < > mac...@al...> a écrit : > >> Il y a des fonctions plus avancés/spécialisées pour le débogage, mais en >> general je me limite à trace/untrace et à ajouter des print(...). >> >> 2016-10-10 10:29 GMT-04:00 Jean-François Ingenbleek <jin...@gm... >> >: >> >> Je profite de l'occasion pour demander aux experts une référence pour >> apprendre à utiliser les instruction de débogage... >> >> Merci par avance >> >> Le 10 octobre 2016 à 10:10, serge de marre <sde...@gm...> a écrit : >> >> Merci à tous et particulièrement a Stavros pour sa petite bidouille très >> intéressante, qui semble en effet résoudre mes problèmes. >> Justement, j'ai la chance que les %zi ont déjà eu un declare(integer), ce >> qui facilite les choses. >> >> serge >> >> >> 2016-10-10 0:47 GMT+02:00 Stavros Macrakis (Σταῦρος Μακράκης) < >> mac...@al...>: >> >> Voici une petite bidouille qui semble résoudre tes exemples. Dis-moi si >> tu encontre des problèmes. >> >> expcontract(ex) := >> block([inflag:true,inner], >> if mapatom(ex) then ex >> elseif op(ex)="*" then >> (inner:map('expcontract,ex), >> if mapatom(inner) or (op(inner) # "*") >> then expcontract(inner) >> else expcontract_merge(inner)) >> else map('expcontract,ex))$ >> >> expcontract_merge(ex) := >> block([prod:1, exx, inner], >> exx: makelist( if mapatom(i) or op(i)#"^" then [i,1] else args(i), i, >> args(ex)), >> for i in group_by_key(exx) do ( >> inner: product(i[j][1],j,1,length(i)), >> prod: prod * (if i[1][2]=1 then inner else ratsimp(inner)^i[1][2]) >> ), >> prod)$ >> >> group_by_key(keylist) := >> maplist('listify,equiv_classes(setify(keylist), >> lambda([m,n],m[2]=n[2])))$ >> >> ------------------ >> >> expcontract(x*(x-1)^k*(x+1)^k*(x+2)) => x*(x+2)*(x^2-1)^k >> >> Pour tes exemples, il faudra un radcan par la suite: >> >> ex: ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10$ >> >> eex: expcontract(ex) => (2^((-24*%z8)-1)*(-4)^(12*%z8))/5-1/10 >> >> reex: radcan(eex) => ((-1)^(12*%z8)-1)/10 >> >> ... et aussi ... >> >> declare(%z8,integer)$ >> >> radcan(eex) == expand(reex,0,0) == ratsimp(reex) == 0 >> >> 2016-10-09 17:20 GMT-04:00 serge de marre <sde...@gm...>: >> >> Voici quelques examples un peu plus concrets. >> Les exposants sont en effet toujours identiques >> >> ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; >> (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); >> (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+ >> 2143295)^%z8-1263)/188; >> >> Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais >> merci beaucoup pour l'aide quand-meme. >> >> serge >> >> 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: >> >> Bon jour , >> >> et quelque chose comme ça : >> >> matchdeclare([u,v,w],true); >> >> tellsimp((u^w*v^w),(u*v)^w); >> >> E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; >> >> expand(%); >> >> Jean-Marc >> >> ----- Mail original ----- >> De: "serge de marre" <sde...@gm...> >> À: max...@li... >> Envoyé: Samedi 8 Octobre 2016 23:18:31 >> Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants >> >> >> >> Bonjour a tous, >> >> >> >> >> >> >> >> >> J'ai une expression comme celle-ci: >> k k >> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >> >> Comment puis-je transformer cette expression pour obtenir: >> 2 2 k >> (%o177) (a - b q) >> >> Merci d'avance >> >> serge >> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> >> >> > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |
From: Jean-François I. <jin...@gm...> - 2016-10-10 15:58:44
|
Ok merci Le lun. 10 oct. 2016 16:31, Stavros Macrakis (Σταῦρος Μακράκης) < mac...@al...> a écrit : > Il y a des fonctions plus avancés/spécialisées pour le débogage, mais en > general je me limite à trace/untrace et à ajouter des print(...). > > 2016-10-10 10:29 GMT-04:00 Jean-François Ingenbleek <jin...@gm...> > : > > Je profite de l'occasion pour demander aux experts une référence pour > apprendre à utiliser les instruction de débogage... > > Merci par avance > > Le 10 octobre 2016 à 10:10, serge de marre <sde...@gm...> a écrit : > > Merci à tous et particulièrement a Stavros pour sa petite bidouille très > intéressante, qui semble en effet résoudre mes problèmes. > Justement, j'ai la chance que les %zi ont déjà eu un declare(integer), ce > qui facilite les choses. > > serge > > > 2016-10-10 0:47 GMT+02:00 Stavros Macrakis (Σταῦρος Μακράκης) < > mac...@al...>: > > Voici une petite bidouille qui semble résoudre tes exemples. Dis-moi si tu > encontre des problèmes. > > expcontract(ex) := > block([inflag:true,inner], > if mapatom(ex) then ex > elseif op(ex)="*" then > (inner:map('expcontract,ex), > if mapatom(inner) or (op(inner) # "*") > then expcontract(inner) > else expcontract_merge(inner)) > else map('expcontract,ex))$ > > expcontract_merge(ex) := > block([prod:1, exx, inner], > exx: makelist( if mapatom(i) or op(i)#"^" then [i,1] else args(i), i, > args(ex)), > for i in group_by_key(exx) do ( > inner: product(i[j][1],j,1,length(i)), > prod: prod * (if i[1][2]=1 then inner else ratsimp(inner)^i[1][2]) > ), > prod)$ > > group_by_key(keylist) := > maplist('listify,equiv_classes(setify(keylist), > lambda([m,n],m[2]=n[2])))$ > > ------------------ > > expcontract(x*(x-1)^k*(x+1)^k*(x+2)) => x*(x+2)*(x^2-1)^k > > Pour tes exemples, il faudra un radcan par la suite: > > ex: ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10$ > > eex: expcontract(ex) => (2^((-24*%z8)-1)*(-4)^(12*%z8))/5-1/10 > > reex: radcan(eex) => ((-1)^(12*%z8)-1)/10 > > ... et aussi ... > > declare(%z8,integer)$ > > radcan(eex) == expand(reex,0,0) == ratsimp(reex) == 0 > > 2016-10-09 17:20 GMT-04:00 serge de marre <sde...@gm...>: > > Voici quelques examples un peu plus concrets. > Les exposants sont en effet toujours identiques > > ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; > (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); > > (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+2143295)^%z8-1263)/188; > > Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais > merci beaucoup pour l'aide quand-meme. > > serge > > 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: > > Bon jour , > > et quelque chose comme ça : > > matchdeclare([u,v,w],true); > > tellsimp((u^w*v^w),(u*v)^w); > > E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; > > expand(%); > > Jean-Marc > > ----- Mail original ----- > De: "serge de marre" <sde...@gm...> > À: max...@li... > Envoyé: Samedi 8 Octobre 2016 23:18:31 > Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants > > > > Bonjour a tous, > > > > > > > > > J'ai une expression comme celle-ci: > k k > (%o168) (a - b sqrt(q)) (b sqrt(q) + a) > > Comment puis-je transformer cette expression pour obtenir: > 2 2 k > (%o177) (a - b q) > > Merci d'avance > > serge > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > > > |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2016-10-10 14:32:00
|
Il y a des fonctions plus avancés/spécialisées pour le débogage, mais en general je me limite à trace/untrace et à ajouter des print(...). 2016-10-10 10:29 GMT-04:00 Jean-François Ingenbleek <jin...@gm...>: > Je profite de l'occasion pour demander aux experts une référence pour > apprendre à utiliser les instruction de débogage... > > Merci par avance > > Le 10 octobre 2016 à 10:10, serge de marre <sde...@gm...> a écrit : > >> Merci à tous et particulièrement a Stavros pour sa petite bidouille très >> intéressante, qui semble en effet résoudre mes problèmes. >> Justement, j'ai la chance que les %zi ont déjà eu un declare(integer), ce >> qui facilite les choses. >> >> serge >> >> >> 2016-10-10 0:47 GMT+02:00 Stavros Macrakis (Σταῦρος Μακράκης) < >> mac...@al...>: >> >>> Voici une petite bidouille qui semble résoudre tes exemples. Dis-moi si >>> tu encontre des problèmes. >>> >>> expcontract(ex) := >>> block([inflag:true,inner], >>> if mapatom(ex) then ex >>> elseif op(ex)="*" then >>> (inner:map('expcontract,ex), >>> if mapatom(inner) or (op(inner) # "*") >>> then expcontract(inner) >>> else expcontract_merge(inner)) >>> else map('expcontract,ex))$ >>> >>> expcontract_merge(ex) := >>> block([prod:1, exx, inner], >>> exx: makelist( if mapatom(i) or op(i)#"^" then [i,1] else args(i), i, >>> args(ex)), >>> for i in group_by_key(exx) do ( >>> inner: product(i[j][1],j,1,length(i)), >>> prod: prod * (if i[1][2]=1 then inner else ratsimp(inner)^i[1][2]) >>> ), >>> prod)$ >>> >>> group_by_key(keylist) := >>> maplist('listify,equiv_classes(setify(keylist), >>> lambda([m,n],m[2]=n[2])))$ >>> >>> ------------------ >>> >>> expcontract(x*(x-1)^k*(x+1)^k*(x+2)) => x*(x+2)*(x^2-1)^k >>> >>> Pour tes exemples, il faudra un radcan par la suite: >>> >>> ex: ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10$ >>> >>> eex: expcontract(ex) => (2^((-24*%z8)-1)*(-4)^(12*%z8))/5-1/10 >>> >>> reex: radcan(eex) => ((-1)^(12*%z8)-1)/10 >>> >>> ... et aussi ... >>> >>> declare(%z8,integer)$ >>> >>> radcan(eex) == expand(reex,0,0) == ratsimp(reex) == 0 >>> >>> 2016-10-09 17:20 GMT-04:00 serge de marre <sde...@gm...>: >>> >>>> Voici quelques examples un peu plus concrets. >>>> Les exposants sont en effet toujours identiques >>>> >>>> ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; >>>> (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); >>>> (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+2143295 >>>> )^%z8-1263)/188; >>>> >>>> Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais >>>> merci beaucoup pour l'aide quand-meme. >>>> >>>> serge >>>> >>>> 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: >>>> >>>>> Bon jour , >>>>> >>>>> et quelque chose comme ça : >>>>> >>>>> matchdeclare([u,v,w],true); >>>>> >>>>> tellsimp((u^w*v^w),(u*v)^w); >>>>> >>>>> E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; >>>>> >>>>> expand(%); >>>>> >>>>> Jean-Marc >>>>> >>>>> ----- Mail original ----- >>>>> De: "serge de marre" <sde...@gm...> >>>>> À: max...@li... >>>>> Envoyé: Samedi 8 Octobre 2016 23:18:31 >>>>> Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants >>>>> >>>>> >>>>> >>>>> Bonjour a tous, >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> J'ai une expression comme celle-ci: >>>>> k k >>>>> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >>>>> >>>>> Comment puis-je transformer cette expression pour obtenir: >>>>> 2 2 k >>>>> (%o177) (a - b q) >>>>> >>>>> Merci d'avance >>>>> >>>>> serge >>>>> >>>>> >>>>> >>>>> ------------------------------------------------------------ >>>>> ------------------ >>>>> Check out the vibrant tech community on one of the world's most >>>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >>>>> _______________________________________________ >>>>> Maxima-lang-fr mailing list >>>>> Max...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >>>>> >>>> >>>> >>>> ------------------------------------------------------------ >>>> ------------------ >>>> Check out the vibrant tech community on one of the world's most >>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >>>> _______________________________________________ >>>> Maxima-lang-fr mailing list >>>> Max...@li... >>>> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >>>> >>>> >>> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> > |
From: Jean-François I. <jin...@gm...> - 2016-10-10 14:29:34
|
Je profite de l'occasion pour demander aux experts une référence pour apprendre à utiliser les instruction de débogage... Merci par avance Le 10 octobre 2016 à 10:10, serge de marre <sde...@gm...> a écrit : > Merci à tous et particulièrement a Stavros pour sa petite bidouille très > intéressante, qui semble en effet résoudre mes problèmes. > Justement, j'ai la chance que les %zi ont déjà eu un declare(integer), ce > qui facilite les choses. > > serge > > > 2016-10-10 0:47 GMT+02:00 Stavros Macrakis (Σταῦρος Μακράκης) < > mac...@al...>: > >> Voici une petite bidouille qui semble résoudre tes exemples. Dis-moi si >> tu encontre des problèmes. >> >> expcontract(ex) := >> block([inflag:true,inner], >> if mapatom(ex) then ex >> elseif op(ex)="*" then >> (inner:map('expcontract,ex), >> if mapatom(inner) or (op(inner) # "*") >> then expcontract(inner) >> else expcontract_merge(inner)) >> else map('expcontract,ex))$ >> >> expcontract_merge(ex) := >> block([prod:1, exx, inner], >> exx: makelist( if mapatom(i) or op(i)#"^" then [i,1] else args(i), i, >> args(ex)), >> for i in group_by_key(exx) do ( >> inner: product(i[j][1],j,1,length(i)), >> prod: prod * (if i[1][2]=1 then inner else ratsimp(inner)^i[1][2]) >> ), >> prod)$ >> >> group_by_key(keylist) := >> maplist('listify,equiv_classes(setify(keylist), >> lambda([m,n],m[2]=n[2])))$ >> >> ------------------ >> >> expcontract(x*(x-1)^k*(x+1)^k*(x+2)) => x*(x+2)*(x^2-1)^k >> >> Pour tes exemples, il faudra un radcan par la suite: >> >> ex: ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10$ >> >> eex: expcontract(ex) => (2^((-24*%z8)-1)*(-4)^(12*%z8))/5-1/10 >> >> reex: radcan(eex) => ((-1)^(12*%z8)-1)/10 >> >> ... et aussi ... >> >> declare(%z8,integer)$ >> >> radcan(eex) == expand(reex,0,0) == ratsimp(reex) == 0 >> >> 2016-10-09 17:20 GMT-04:00 serge de marre <sde...@gm...>: >> >>> Voici quelques examples un peu plus concrets. >>> Les exposants sont en effet toujours identiques >>> >>> ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; >>> (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); >>> (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+2143295 >>> )^%z8-1263)/188; >>> >>> Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais >>> merci beaucoup pour l'aide quand-meme. >>> >>> serge >>> >>> 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: >>> >>>> Bon jour , >>>> >>>> et quelque chose comme ça : >>>> >>>> matchdeclare([u,v,w],true); >>>> >>>> tellsimp((u^w*v^w),(u*v)^w); >>>> >>>> E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; >>>> >>>> expand(%); >>>> >>>> Jean-Marc >>>> >>>> ----- Mail original ----- >>>> De: "serge de marre" <sde...@gm...> >>>> À: max...@li... >>>> Envoyé: Samedi 8 Octobre 2016 23:18:31 >>>> Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants >>>> >>>> >>>> >>>> Bonjour a tous, >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> J'ai une expression comme celle-ci: >>>> k k >>>> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >>>> >>>> Comment puis-je transformer cette expression pour obtenir: >>>> 2 2 k >>>> (%o177) (a - b q) >>>> >>>> Merci d'avance >>>> >>>> serge >>>> >>>> >>>> >>>> ------------------------------------------------------------ >>>> ------------------ >>>> Check out the vibrant tech community on one of the world's most >>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >>>> _______________________________________________ >>>> Maxima-lang-fr mailing list >>>> Max...@li... >>>> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >>>> >>> >>> >>> ------------------------------------------------------------ >>> ------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >>> _______________________________________________ >>> Maxima-lang-fr mailing list >>> Max...@li... >>> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >>> >>> >> > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |
From: serge de m. <sde...@gm...> - 2016-10-10 08:10:55
|
Merci à tous et particulièrement a Stavros pour sa petite bidouille très intéressante, qui semble en effet résoudre mes problèmes. Justement, j'ai la chance que les %zi ont déjà eu un declare(integer), ce qui facilite les choses. serge 2016-10-10 0:47 GMT+02:00 Stavros Macrakis (Σταῦρος Μακράκης) < mac...@al...>: > Voici une petite bidouille qui semble résoudre tes exemples. Dis-moi si tu > encontre des problèmes. > > expcontract(ex) := > block([inflag:true,inner], > if mapatom(ex) then ex > elseif op(ex)="*" then > (inner:map('expcontract,ex), > if mapatom(inner) or (op(inner) # "*") > then expcontract(inner) > else expcontract_merge(inner)) > else map('expcontract,ex))$ > > expcontract_merge(ex) := > block([prod:1, exx, inner], > exx: makelist( if mapatom(i) or op(i)#"^" then [i,1] else args(i), i, > args(ex)), > for i in group_by_key(exx) do ( > inner: product(i[j][1],j,1,length(i)), > prod: prod * (if i[1][2]=1 then inner else ratsimp(inner)^i[1][2]) > ), > prod)$ > > group_by_key(keylist) := > maplist('listify,equiv_classes(setify(keylist), > lambda([m,n],m[2]=n[2])))$ > > ------------------ > > expcontract(x*(x-1)^k*(x+1)^k*(x+2)) => x*(x+2)*(x^2-1)^k > > Pour tes exemples, il faudra un radcan par la suite: > > ex: ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10$ > > eex: expcontract(ex) => (2^((-24*%z8)-1)*(-4)^(12*%z8))/5-1/10 > > reex: radcan(eex) => ((-1)^(12*%z8)-1)/10 > > ... et aussi ... > > declare(%z8,integer)$ > > radcan(eex) == expand(reex,0,0) == ratsimp(reex) == 0 > > 2016-10-09 17:20 GMT-04:00 serge de marre <sde...@gm...>: > >> Voici quelques examples un peu plus concrets. >> Les exposants sont en effet toujours identiques >> >> ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; >> (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); >> (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+2143295 >> )^%z8-1263)/188; >> >> Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais >> merci beaucoup pour l'aide quand-meme. >> >> serge >> >> 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: >> >>> Bon jour , >>> >>> et quelque chose comme ça : >>> >>> matchdeclare([u,v,w],true); >>> >>> tellsimp((u^w*v^w),(u*v)^w); >>> >>> E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; >>> >>> expand(%); >>> >>> Jean-Marc >>> >>> ----- Mail original ----- >>> De: "serge de marre" <sde...@gm...> >>> À: max...@li... >>> Envoyé: Samedi 8 Octobre 2016 23:18:31 >>> Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants >>> >>> >>> >>> Bonjour a tous, >>> >>> >>> >>> >>> >>> >>> >>> >>> J'ai une expression comme celle-ci: >>> k k >>> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >>> >>> Comment puis-je transformer cette expression pour obtenir: >>> 2 2 k >>> (%o177) (a - b q) >>> >>> Merci d'avance >>> >>> serge >>> >>> >>> >>> ------------------------------------------------------------ >>> ------------------ >>> Check out the vibrant tech community on one of the world's most >>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >>> _______________________________________________ >>> Maxima-lang-fr mailing list >>> Max...@li... >>> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >>> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> > |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2016-10-09 22:47:15
|
Voici une petite bidouille qui semble résoudre tes exemples. Dis-moi si tu encontre des problèmes. expcontract(ex) := block([inflag:true,inner], if mapatom(ex) then ex elseif op(ex)="*" then (inner:map('expcontract,ex), if mapatom(inner) or (op(inner) # "*") then expcontract(inner) else expcontract_merge(inner)) else map('expcontract,ex))$ expcontract_merge(ex) := block([prod:1, exx, inner], exx: makelist( if mapatom(i) or op(i)#"^" then [i,1] else args(i), i, args(ex)), for i in group_by_key(exx) do ( inner: product(i[j][1],j,1,length(i)), prod: prod * (if i[1][2]=1 then inner else ratsimp(inner)^i[1][2]) ), prod)$ group_by_key(keylist) := maplist('listify,equiv_classes(setify(keylist), lambda([m,n],m[2]=n[2])))$ ------------------ expcontract(x*(x-1)^k*(x+1)^k*(x+2)) => x*(x+2)*(x^2-1)^k Pour tes exemples, il faudra un radcan par la suite: ex: ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10$ eex: expcontract(ex) => (2^((-24*%z8)-1)*(-4)^(12*%z8))/5-1/10 reex: radcan(eex) => ((-1)^(12*%z8)-1)/10 ... et aussi ... declare(%z8,integer)$ radcan(eex) == expand(reex,0,0) == ratsimp(reex) == 0 2016-10-09 17:20 GMT-04:00 serge de marre <sde...@gm...>: > Voici quelques examples un peu plus concrets. > Les exposants sont en effet toujours identiques > > ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; > (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); > (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+ > 2143295)^%z8-1263)/188; > > Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais > merci beaucoup pour l'aide quand-meme. > > serge > > 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: > >> Bon jour , >> >> et quelque chose comme ça : >> >> matchdeclare([u,v,w],true); >> >> tellsimp((u^w*v^w),(u*v)^w); >> >> E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; >> >> expand(%); >> >> Jean-Marc >> >> ----- Mail original ----- >> De: "serge de marre" <sde...@gm...> >> À: max...@li... >> Envoyé: Samedi 8 Octobre 2016 23:18:31 >> Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants >> >> >> >> Bonjour a tous, >> >> >> >> >> >> >> >> >> J'ai une expression comme celle-ci: >> k k >> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >> >> Comment puis-je transformer cette expression pour obtenir: >> 2 2 k >> (%o177) (a - b q) >> >> Merci d'avance >> >> serge >> >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |
From: serge de m. <sde...@gm...> - 2016-10-09 21:20:43
|
Voici quelques examples un peu plus concrets. Les exposants sont en effet toujours identiques ((1-sqrt(5))^(12*%z8)*(sqrt(5)+1)^(12*%z8)*2^((-24*%z8)-1))/5-1/10; (2^(2*%z8+2)-4*(6-2^(5/2))^%z8*(2^(5/2)+6)^%z8)/2^(2*%z8); (1263*(2143295-221064*sqrt(94))^%z8*(221064*sqrt(94)+2143295)^%z8-1263)/188; Je ne parviens pas a faire fonctionner la suggestion de Jean-Marc, mais merci beaucoup pour l'aide quand-meme. serge 2016-10-09 20:25 GMT+02:00 <ji...@fr...>: > Bon jour , > > et quelque chose comme ça : > > matchdeclare([u,v,w],true); > > tellsimp((u^w*v^w),(u*v)^w); > > E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; > > expand(%); > > Jean-Marc > > ----- Mail original ----- > De: "serge de marre" <sde...@gm...> > À: max...@li... > Envoyé: Samedi 8 Octobre 2016 23:18:31 > Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants > > > > Bonjour a tous, > > > > > > > > > J'ai une expression comme celle-ci: > k k > (%o168) (a - b sqrt(q)) (b sqrt(q) + a) > > Comment puis-je transformer cette expression pour obtenir: > 2 2 k > (%o177) (a - b q) > > Merci d'avance > > serge > > > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > |
From: <ji...@fr...> - 2016-10-09 18:25:50
|
Bon jour , et quelque chose comme ça : matchdeclare([u,v,w],true); tellsimp((u^w*v^w),(u*v)^w); E:(a-b*sqrt(q))^k*(a+b*sqrt(q))^k; expand(%); Jean-Marc ----- Mail original ----- De: "serge de marre" <sde...@gm...> À: max...@li... Envoyé: Samedi 8 Octobre 2016 23:18:31 Objet: [Maxima-lang-fr] Fwd: Simplification d'exposants Bonjour a tous, J'ai une expression comme celle-ci: k k (%o168) (a - b sqrt(q)) (b sqrt(q) + a) Comment puis-je transformer cette expression pour obtenir: 2 2 k (%o177) (a - b q) Merci d'avance serge ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Maxima-lang-fr mailing list Max...@li... https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2016-10-09 17:03:45
|
Est-ce que les exposants sont toujours identiques, p.e., (a+1)^k*(a-1)^k? Ou y a-t'il des cas plus compliqués, p.e., (a+1)^k*(a-1)^(k+3) ou (a+1)^(2*k-m)*(a-1)^(k+m) ou r*(a+1)^(k+1)*(a+2)^m*(a-1)^(k-1)*a^-k. Il est assez facile de traiter le premier cas. Dans les autres cas, il faudrait d'abord spécifier le résultat voulu... et le code sera un peu plus compliqué... mais toujours faisable. -s 2016-10-09 11:59 GMT-04:00 Jean-François Ingenbleek <jin...@gm...>: > Çà se complique.... > > Le dim. 9 oct. 2016 17:51, serge de marre <sde...@gm...> a écrit : > >> Merci Jean-François, c'est une bonne idée, malheureusement, j'ai >> plusieurs expressions de ce type (disons E1, E2, ... En) avec des a1..an, >> b1..bn, q1...qn et k1..kn. L'expression que je désire simplifier est du >> type F(E1,..,En). >> J'ai essayé avec matchdeclare et defrule, mais je ne suis pas encore >> parvenu à trouver une solution satisfaisante. >> >> serge >> >> On Oct 9, 2016 4:52 PM, "Jean-François Ingenbleek" <jin...@gm...> >> wrote: >> >> E:(a-b*sqrt(q)^k)*(a+b*sqrt(q)^k >> (expand(part(E,1,1)*part(E,2,1))^k >> >> Le dim. 9 oct. 2016 10:06, Roland Salz <ma...@ro...> a écrit : >> >> From: serge de marre <sdemarre@gm...> - 2016-10-08 21:18:38 >> >> *Attachments:* Message as HTML >> <https://sourceforge.net/p/maxima/mailman/attachment/CAON_BKz%2BAX9ErgjpEsP4FRLD%2BAd58Yxtur%2BzGXLH4Uotstn6MA%40mail.gmail.com/1/> >> >> >> Bonjour a tous, >> >> >> >> J'ai une expression comme celle-ci: >> >> k k >> >> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >> >> >> >> Comment puis-je transformer cette expression pour obtenir: >> >> 2 2 k >> >> (%o177) (a - b q) >> >> >> >> Merci d'avance >> >> >> >> serge >> >> >> >> >> >> Bonjour Serge, >> >> >> >> C’est sans doute un problème grave. Malheureusement j’ai complètement >> oublié la solution. Peut-être quelqu’un d’autre sait plus. On pourrait >> transmettre cette question à la liste maxima-discuss. Là il-y-a des vrais >> spécialistes pour des choses comme ça. >> >> >> >> Merci >> >> >> >> Roland >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot______ >> _________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot >> _______________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> >> > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |
From: Jean-François I. <jin...@gm...> - 2016-10-09 16:00:14
|
Çà se complique.... Le dim. 9 oct. 2016 17:51, serge de marre <sde...@gm...> a écrit : > Merci Jean-François, c'est une bonne idée, malheureusement, j'ai plusieurs > expressions de ce type (disons E1, E2, ... En) avec des a1..an, b1..bn, > q1...qn et k1..kn. L'expression que je désire simplifier est du type > F(E1,..,En). > J'ai essayé avec matchdeclare et defrule, mais je ne suis pas encore > parvenu à trouver une solution satisfaisante. > > serge > > On Oct 9, 2016 4:52 PM, "Jean-François Ingenbleek" <jin...@gm...> > wrote: > > E:(a-b*sqrt(q)^k)*(a+b*sqrt(q)^k > (expand(part(E,1,1)*part(E,2,1))^k > > Le dim. 9 oct. 2016 10:06, Roland Salz <ma...@ro...> a écrit : > > From: serge de marre <sdemarre@gm...> - 2016-10-08 21:18:38 > > *Attachments:* Message as HTML > <https://sourceforge.net/p/maxima/mailman/attachment/CAON_BKz%2BAX9ErgjpEsP4FRLD%2BAd58Yxtur%2BzGXLH4Uotstn6MA%40mail.gmail.com/1/> > > > Bonjour a tous, > > > > J'ai une expression comme celle-ci: > > k k > > (%o168) (a - b sqrt(q)) (b sqrt(q) + a) > > > > Comment puis-je transformer cette expression pour obtenir: > > 2 2 k > > (%o177) (a - b q) > > > > Merci d'avance > > > > serge > > > > > > Bonjour Serge, > > > > C’est sans doute un problème grave. Malheureusement j’ai complètement > oublié la solution. Peut-être quelqu’un d’autre sait plus. On pourrait > transmettre cette question à la liste maxima-discuss. Là il-y-a des vrais > spécialistes pour des choses comme ça. > > > > Merci > > > > Roland > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |
From: serge de m. <sde...@gm...> - 2016-10-09 15:52:00
|
Merci Jean-François, c'est une bonne idée, malheureusement, j'ai plusieurs expressions de ce type (disons E1, E2, ... En) avec des a1..an, b1..bn, q1...qn et k1..kn. L'expression que je désire simplifier est du type F(E1,..,En). J'ai essayé avec matchdeclare et defrule, mais je ne suis pas encore parvenu à trouver une solution satisfaisante. serge On Oct 9, 2016 4:52 PM, "Jean-François Ingenbleek" <jin...@gm...> wrote: > E:(a-b*sqrt(q)^k)*(a+b*sqrt(q)^k > (expand(part(E,1,1)*part(E,2,1))^k > > Le dim. 9 oct. 2016 10:06, Roland Salz <ma...@ro...> a écrit : > >> From: serge de marre <sdemarre@gm...> - 2016-10-08 21:18:38 >> >> *Attachments:* Message as HTML >> <https://sourceforge.net/p/maxima/mailman/attachment/CAON_BKz%2BAX9ErgjpEsP4FRLD%2BAd58Yxtur%2BzGXLH4Uotstn6MA%40mail.gmail.com/1/> >> >> >> Bonjour a tous, >> >> >> >> J'ai une expression comme celle-ci: >> >> k k >> >> (%o168) (a - b sqrt(q)) (b sqrt(q) + a) >> >> >> >> Comment puis-je transformer cette expression pour obtenir: >> >> 2 2 k >> >> (%o177) (a - b q) >> >> >> >> Merci d'avance >> >> >> >> serge >> >> >> >> >> >> Bonjour Serge, >> >> >> >> C’est sans doute un problème grave. Malheureusement j’ai complètement >> oublié la solution. Peut-être quelqu’un d’autre sait plus. On pourrait >> transmettre cette question à la liste maxima-discuss. Là il-y-a des vrais >> spécialistes pour des choses comme ça. >> >> >> >> Merci >> >> >> >> Roland >> ------------------------------------------------------------ >> ------------------ >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, SlashDot.org! http://sdm.link/slashdot______ >> _________________________________________ >> Maxima-lang-fr mailing list >> Max...@li... >> https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr >> > > ------------------------------------------------------------ > ------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |