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
|
From: serge de m. <sde...@gm...> - 2016-10-08 21:18:38
|
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 |
From: Roland S. <ma...@ro...> - 2016-10-08 18:13:45
|
Salut, Cest un message de test seulement (pardón!). Roland |
From: aishen <ai...@fr...> - 2016-01-24 00:23:57
|
At this point I think Maxima-Jupyter is a usable environment for writing text + math in documents. If anyone wants to give it a try, I'll be glad to help. best Robert Dodier Hi, I tried to install maxima jupiter like you said in git : /git/maxima-jupyter$ python3 ./install-maxima-jupyter.py --maxima-jupyter=/maxima Maxima-Jupyter -- an enhanced interactive Maxima shell CL-Jupyter (C) 2014-2015 Frederic Peschanski (cf. LICENSE) Additional Maxima-specific stuff by Robert Dodier; thanks Frederic! ---- ... Frontend: using IPython v4.0 /home/riri/.local/lib/python3.5/site-packages/IPython/utils/path.py:258: UserWarning: get_ipython_dir has moved to the IPython.paths module warn("get_ipython_dir has moved to the IPython.paths module") Error: unexpected option '--maxima-jupyter=/maxima' Abort. But I guess I do something wrong : I don't understand how to make maxima-jupyter ? Could you explain more precisely ? There a is a|ppa:chronitis/jupyter maybe you could add it there ? Kind regards Aishen | |
From: Jean-François I. <jin...@gm...> - 2015-12-19 14:37:29
|
Grand merci! Avec ceci: somchiffre(n):=block([q:[]],q:divide(n,10),if q[1]=0 then q[2] else q[2]+somchiffre(q[1])); ordre(m,n):= if evenp(somchiffre(m)) then ordre(m+n,n) else m/n-1; compile(ordre,somchiffre); resultat:[]$for n in [11, 101, 1001, 1001001001] do push([ordre(n,n),n],resultat);elapsed_run_time(); j'ai le résultat en quelques secondes! Le 19 décembre 2015 à 13:43, Jean-François Ingenbleek <jin...@gm...> a écrit : > Grand merci ! > Je regarde tout cela avec attention. > Le 19 déc. 2015 12:26 PM, "couraud" <l.c...@gm...> a écrit : > >> La list de variables après le mot clé « block » est la façon de déclarer >> des >> variables locale au block dans le langage Maxima. (Voir la doc de ce mot >> clé). >> >> >> >> La commande « map » est probablement optimisée mais c’est surtout les >> nombreuses conversions >> de nombres vers « string » et vise versa qui coûte dans vôtre version. >> >> Les quelques mesures que j’ai réalisées suggèrent que la version purement >> numérique est >> 150 fois plus rapide. >> >> Peut être qu’une version purement numérique mais utilisant « map » serais >> un peut plus rapide. >> >> Elle pourrait sûrement être encore optimisé en particulier puisqu’elle >> fait intervenir essentiellement des calculs numériques elle pourrait être >> compilé. >> (Voir la doc de « compile », « compfile » etc.). >> >> Il y aurait sûrement intérêt à ce que la liste de valeurs initiales ainsi >> que la limite du multiple soit >> des paramètres de la fonction. >> >> Enfin 10^19 est une limite vraiment optimiste. Si la boucle doit >> atteindre cette valeur cela impliquera >> des heures, voire des jours de calculs. >> >> >> >> PS : Si vous pouvez répondre à la liste plutôt que en privé. D’autre >> personne peuvent apporté >> de meilleurs solution voire même corriger mes dires (je ne suis pas un >> expert). >> >> >> >> PPS : je me demande si il ne serait pas plus efficace de tester la parité >> de la somme des digits >> et ssi elle est impair alors calculer n, plutôt que d’extraire les digits >> a partir de n. >> >> >> >> >> >> -----Message d'origine----- >> *De :* Jean-François Ingenbleek [mailto:jin...@gm...] >> *Envoyé :* samedi 19 décembre 2015 10:32 >> *À :* couraud >> *Objet :* Re: RE : [Maxima-lang-fr] programmation efficace >> >> >> >> Merci pour cette réponse rapide. >> >> Je n'avais pas pensé à cela: [q, r] : divide(q, 10) >> >> Par contre je ne comprends pas ceci:[n, sum_digit, k, q, r, stop, result >> : []] >> >> Maladroitement sans doute j'ai voulu écrire en "style" maxima avec des >> "map" ... >> >> Mais qu'elles sont les instructions qui coûte en temps d’exécution? je >> pensais que précisément que "map" était optimisé... >> >> >> >> encore merci >> >> >> >> Le 19 décembre 2015 à 01:28, couraud <l.c...@gm...> a écrit : >> >> Hi, >> >> >> >> The following version seems faster : >> >> >> >> odd_sum_digit() := block([n, sum_digit, k, q, r, stop, result : []], >> >> for n in [11, 101, 1001, 2002, 3003, 4004, 5005, 6006, 7007, 8008, >> 9009] do ( >> >> stop : false, >> >> k : 1, >> >> while (k * n < 10 ^ 19) and not stop do ( >> >> sum_digit : 0, >> >> q : k * n, >> >> while q > 0 do ( >> >> [q, r] : divide(q, 10), >> >> sum_digit : sum_digit + r >> >> ), >> >> stop : oddp(sum_digit), >> >> if stop then ( >> >> result : cons([k, n], result) >> >> ), >> >> k : k + 1 >> >> ) >> >> ), >> >> result >> >> ); >> >> >> >> Hope this help. >> >> >> >> >> >> PS: Je vous réponds en anglais et je mets la mailing liste anglaise en >> copie car c’est la plus active et c’est aussi là >> >> que ce trouvent les développeurs / experts de Maxima. >> >> >> >> Best regards. >> >> >> >> -----Message d'origine----- >> *De :* Jean-François Ingenbleek [mailto:jin...@gm...] >> *Envoyé :* vendredi 18 décembre 2015 17:42 >> *À :* max...@li... >> *Objet :* [Maxima-lang-fr] programmation efficace >> >> >> >> Il s'agit d'un problème de programme efficace ou inefficace dont voici >> les lignes de code: >> >> lesfin:[]$for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] >> do block( >> arret:oddp(apply("+",map(eval_string,charlist(string(n))))), >> for i:n step n thru 10^19 while not arret do block( >> arret: oddp(apply("+",map(eval_string,charlist(string(i))))), >> if arret then push([i/n-1,n],lesfin)))$ >> elapsed_run_time(); >> >> Elles évaluent ceci: >> * un nombre est digitalement paire si la somme de ces chiffres est paire >> -> arret:oddp(apply("+",map(eval_string,charlist(string(n))))) >> * on regarde les multiples successifs d'un nombre digitalement paire -> >> for i:n step n thru 10^19 while not arret do block( avec thru 10^19 comme >> test d'arrêt en parachute ventral... >> * on détermine le nombre de ces multiples digitalement paire jusqu'au >> premier non paire ->arret: >> oddp(apply("+",map(eval_string,charlist(string(i))))), >> * ce nombre est l'"ordre" -> push([i/n-1,n],lesfin))) >> >> Que vaut cet ordre? etc... >> >> J'explore quelque nombres pour voir: ->for n in >> [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] >> >> Voilà le contexte. >> >> Le problème c'est que tout cela me semble bien "lent" à l’exécution et >> devient même de plus en plus lent quand je change la liste à explorer.... >> >> Y-a-t-il plus efficace que ces lignes? >> >> Merci à tous par avance >> >> >> > |
From: Jean-François I. <jin...@gm...> - 2015-12-19 12:43:18
|
Grand merci ! Je regarde tout cela avec attention. Le 19 déc. 2015 12:26 PM, "couraud" <l.c...@gm...> a écrit : > La list de variables après le mot clé « block » est la façon de déclarer > des > variables locale au block dans le langage Maxima. (Voir la doc de ce mot > clé). > > > > La commande « map » est probablement optimisée mais c’est surtout les > nombreuses conversions > de nombres vers « string » et vise versa qui coûte dans vôtre version. > > Les quelques mesures que j’ai réalisées suggèrent que la version purement > numérique est > 150 fois plus rapide. > > Peut être qu’une version purement numérique mais utilisant « map » serais > un peut plus rapide. > > Elle pourrait sûrement être encore optimisé en particulier puisqu’elle > fait intervenir essentiellement des calculs numériques elle pourrait être > compilé. > (Voir la doc de « compile », « compfile » etc.). > > Il y aurait sûrement intérêt à ce que la liste de valeurs initiales ainsi > que la limite du multiple soit > des paramètres de la fonction. > > Enfin 10^19 est une limite vraiment optimiste. Si la boucle doit atteindre > cette valeur cela impliquera > des heures, voire des jours de calculs. > > > > PS : Si vous pouvez répondre à la liste plutôt que en privé. D’autre > personne peuvent apporté > de meilleurs solution voire même corriger mes dires (je ne suis pas un > expert). > > > > PPS : je me demande si il ne serait pas plus efficace de tester la parité > de la somme des digits > et ssi elle est impair alors calculer n, plutôt que d’extraire les digits > a partir de n. > > > > > > -----Message d'origine----- > *De :* Jean-François Ingenbleek [mailto:jin...@gm...] > *Envoyé :* samedi 19 décembre 2015 10:32 > *À :* couraud > *Objet :* Re: RE : [Maxima-lang-fr] programmation efficace > > > > Merci pour cette réponse rapide. > > Je n'avais pas pensé à cela: [q, r] : divide(q, 10) > > Par contre je ne comprends pas ceci:[n, sum_digit, k, q, r, stop, result : > []] > > Maladroitement sans doute j'ai voulu écrire en "style" maxima avec des > "map" ... > > Mais qu'elles sont les instructions qui coûte en temps d’exécution? je > pensais que précisément que "map" était optimisé... > > > > encore merci > > > > Le 19 décembre 2015 à 01:28, couraud <l.c...@gm...> a écrit : > > Hi, > > > > The following version seems faster : > > > > odd_sum_digit() := block([n, sum_digit, k, q, r, stop, result : []], > > for n in [11, 101, 1001, 2002, 3003, 4004, 5005, 6006, 7007, 8008, > 9009] do ( > > stop : false, > > k : 1, > > while (k * n < 10 ^ 19) and not stop do ( > > sum_digit : 0, > > q : k * n, > > while q > 0 do ( > > [q, r] : divide(q, 10), > > sum_digit : sum_digit + r > > ), > > stop : oddp(sum_digit), > > if stop then ( > > result : cons([k, n], result) > > ), > > k : k + 1 > > ) > > ), > > result > > ); > > > > Hope this help. > > > > > > PS: Je vous réponds en anglais et je mets la mailing liste anglaise en > copie car c’est la plus active et c’est aussi là > > que ce trouvent les développeurs / experts de Maxima. > > > > Best regards. > > > > -----Message d'origine----- > *De :* Jean-François Ingenbleek [mailto:jin...@gm...] > *Envoyé :* vendredi 18 décembre 2015 17:42 > *À :* max...@li... > *Objet :* [Maxima-lang-fr] programmation efficace > > > > Il s'agit d'un problème de programme efficace ou inefficace dont voici les > lignes de code: > > lesfin:[]$for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] > do block( > arret:oddp(apply("+",map(eval_string,charlist(string(n))))), > for i:n step n thru 10^19 while not arret do block( > arret: oddp(apply("+",map(eval_string,charlist(string(i))))), > if arret then push([i/n-1,n],lesfin)))$ > elapsed_run_time(); > > Elles évaluent ceci: > * un nombre est digitalement paire si la somme de ces chiffres est paire > -> arret:oddp(apply("+",map(eval_string,charlist(string(n))))) > * on regarde les multiples successifs d'un nombre digitalement paire -> > for i:n step n thru 10^19 while not arret do block( avec thru 10^19 comme > test d'arrêt en parachute ventral... > * on détermine le nombre de ces multiples digitalement paire jusqu'au > premier non paire ->arret: > oddp(apply("+",map(eval_string,charlist(string(i))))), > * ce nombre est l'"ordre" -> push([i/n-1,n],lesfin))) > > Que vaut cet ordre? etc... > > J'explore quelque nombres pour voir: ->for n in > [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] > > Voilà le contexte. > > Le problème c'est que tout cela me semble bien "lent" à l’exécution et > devient même de plus en plus lent quand je change la liste à explorer.... > > Y-a-t-il plus efficace que ces lignes? > > Merci à tous par avance > > > |
From: couraud <l.c...@gm...> - 2015-12-19 11:26:27
|
La list de variables après le mot clé « block » est la façon de déclarer des variables locale au block dans le langage Maxima. (Voir la doc de ce mot clé). La commande « map » est probablement optimisée mais cest surtout les nombreuses conversions de nombres vers « string » et vise versa qui coûte dans vôtre version. Les quelques mesures que jai réalisées suggèrent que la version purement numérique est 150 fois plus rapide. Peut être quune version purement numérique mais utilisant « map » serais un peut plus rapide. Elle pourrait sûrement être encore optimisé en particulier puisquelle fait intervenir essentiellement des calculs numériques elle pourrait être compilé. (Voir la doc de « compile », « compfile » etc.). Il y aurait sûrement intérêt à ce que la liste de valeurs initiales ainsi que la limite du multiple soit des paramètres de la fonction. Enfin 10^19 est une limite vraiment optimiste. Si la boucle doit atteindre cette valeur cela impliquera des heures, voire des jours de calculs. PS : Si vous pouvez répondre à la liste plutôt que en privé. Dautre personne peuvent apporté de meilleurs solution voire même corriger mes dires (je ne suis pas un expert). PPS : je me demande si il ne serait pas plus efficace de tester la parité de la somme des digits et ssi elle est impair alors calculer n, plutôt que dextraire les digits a partir de n. -----Message d'origine----- De : Jean-François Ingenbleek [mailto:jin...@gm...] Envoyé : samedi 19 décembre 2015 10:32 À : couraud Objet : Re: RE : [Maxima-lang-fr] programmation efficace Merci pour cette réponse rapide. Je n'avais pas pensé à cela: [q, r] : divide(q, 10) Par contre je ne comprends pas ceci:[n, sum_digit, k, q, r, stop, result : []] Maladroitement sans doute j'ai voulu écrire en "style" maxima avec des "map" ... Mais qu'elles sont les instructions qui coûte en temps dexécution? je pensais que précisément que "map" était optimisé... encore merci Le 19 décembre 2015 à 01:28, couraud <l.c...@gm...> a écrit : Hi, The following version seems faster : odd_sum_digit() := block([n, sum_digit, k, q, r, stop, result : []], for n in [11, 101, 1001, 2002, 3003, 4004, 5005, 6006, 7007, 8008, 9009] do ( stop : false, k : 1, while (k * n < 10 ^ 19) and not stop do ( sum_digit : 0, q : k * n, while q > 0 do ( [q, r] : divide(q, 10), sum_digit : sum_digit + r ), stop : oddp(sum_digit), if stop then ( result : cons([k, n], result) ), k : k + 1 ) ), result ); Hope this help. PS: Je vous réponds en anglais et je mets la mailing liste anglaise en copie car cest la plus active et cest aussi là que ce trouvent les développeurs / experts de Maxima. Best regards. -----Message d'origine----- De : Jean-François Ingenbleek [mailto:jin...@gm...] Envoyé : vendredi 18 décembre 2015 17:42 À : max...@li... Objet : [Maxima-lang-fr] programmation efficace Il s'agit d'un problème de programme efficace ou inefficace dont voici les lignes de code: lesfin:[]$for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] do block( arret:oddp(apply("+",map(eval_string,charlist(string(n))))), for i:n step n thru 10^19 while not arret do block( arret: oddp(apply("+",map(eval_string,charlist(string(i))))), if arret then push([i/n-1,n],lesfin)))$ elapsed_run_time(); Elles évaluent ceci: * un nombre est digitalement paire si la somme de ces chiffres est paire -> arret:oddp(apply("+",map(eval_string,charlist(string(n))))) * on regarde les multiples successifs d'un nombre digitalement paire -> for i:n step n thru 10^19 while not arret do block( avec thru 10^19 comme test d'arrêt en parachute ventral... * on détermine le nombre de ces multiples digitalement paire jusqu'au premier non paire ->arret: oddp(apply("+",map(eval_string,charlist(string(i))))), * ce nombre est l'"ordre" -> push([i/n-1,n],lesfin))) Que vaut cet ordre? etc... J'explore quelque nombres pour voir: ->for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] Voilà le contexte. Le problème c'est que tout cela me semble bien "lent" à lexécution et devient même de plus en plus lent quand je change la liste à explorer.... Y-a-t-il plus efficace que ces lignes? Merci à tous par avance |
From: couraud <l.c...@gm...> - 2015-12-19 00:29:31
|
Hi, The following version seems faster : odd_sum_digit() := block([n, sum_digit, k, q, r, stop, result : []], for n in [11, 101, 1001, 2002, 3003, 4004, 5005, 6006, 7007, 8008, 9009] do ( stop : false, k : 1, while (k * n < 10 ^ 19) and not stop do ( sum_digit : 0, q : k * n, while q > 0 do ( [q, r] : divide(q, 10), sum_digit : sum_digit + r ), stop : oddp(sum_digit), if stop then ( result : cons([k, n], result) ), k : k + 1 ) ), result ); Hope this help. PS: Je vous réponds en anglais et je mets la mailing liste anglaise en copie car cest la plus active et cest aussi là que ce trouvent les développeurs / experts de Maxima. Best regards. -----Message d'origine----- De : Jean-François Ingenbleek [mailto:jin...@gm...] Envoyé : vendredi 18 décembre 2015 17:42 À : max...@li... Objet : [Maxima-lang-fr] programmation efficace Il s'agit d'un problème de programme efficace ou inefficace dont voici les lignes de code: lesfin:[]$for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] do block( arret:oddp(apply("+",map(eval_string,charlist(string(n))))), for i:n step n thru 10^19 while not arret do block( arret: oddp(apply("+",map(eval_string,charlist(string(i))))), if arret then push([i/n-1,n],lesfin)))$ elapsed_run_time(); Elles évaluent ceci: * un nombre est digitalement paire si la somme de ces chiffres est paire -> arret:oddp(apply("+",map(eval_string,charlist(string(n))))) * on regarde les multiples successifs d'un nombre digitalement paire -> for i:n step n thru 10^19 while not arret do block( avec thru 10^19 comme test d'arrêt en parachute ventral... * on détermine le nombre de ces multiples digitalement paire jusqu'au premier non paire ->arret: oddp(apply("+",map(eval_string,charlist(string(i))))), * ce nombre est l'"ordre" -> push([i/n-1,n],lesfin))) Que vaut cet ordre? etc... J'explore quelque nombres pour voir: ->for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] Voilà le contexte. Le problème c'est que tout cela me semble bien "lent" à lexécution et devient même de plus en plus lent quand je change la liste à explorer.... Y-a-t-il plus efficace que ces lignes? Merci à tous par avance |
From: Jean-François I. <jin...@gm...> - 2015-12-18 16:42:16
|
Il s'agit d'un problème de programme efficace ou inefficace dont voici les lignes de code: lesfin:[]$for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] do block( arret:oddp(apply("+",map(eval_string,charlist(string(n))))), for i:n step n thru 10^19 while not arret do block( arret: oddp(apply("+",map(eval_string,charlist(string(i))))), if arret then push([i/n-1,n],lesfin)))$ elapsed_run_time(); Elles évaluent ceci: * un nombre est digitalement paire si la somme de ces chiffres est paire -> arret:oddp(apply("+",map(eval_string,charlist(string(n))))) * on regarde les multiples successifs d'un nombre digitalement paire -> for i:n step n thru 10^19 while not arret do block( avec thru 10^19 comme test d'arrêt en parachute ventral... * on détermine le nombre de ces multiples digitalement paire jusqu'au premier non paire ->arret: oddp(apply("+",map(eval_string,charlist(string(i))))), * ce nombre est l'"ordre" -> push([i/n-1,n],lesfin))) Que vaut cet ordre? etc... J'explore quelque nombres pour voir: ->for n in [11,101,1001,2002,3003,4004,5005,6006,7007,8008,9009] Voilà le contexte. Le problème c'est que tout cela me semble bien "lent" à l’exécution et devient même de plus en plus lent quand je change la liste à explorer.... Y-a-t-il plus efficace que ces lignes? Merci à tous par avance |
From: Silvain D. <sil...@bl...> - 2015-11-23 17:53:28
|
Sorry, that was my mistake in the first answer. and float is indeed unnecessary,,, Silvain Dupertuis Le 23. 11. 15 18:40, Robert Dodier a écrit : > Patrick, > > Note that your input %i3 reads: find_root(float([c(x)-f2(x)]),x,0.6,1.4); > Remove the [ ] and try it again, i.e.: find_root(float(c(x)-f2(x)),x,0.6,1.4); > > You can also remove the float(...) because find_root will apply 'float' by itself: > find_root(c(x)-f2(x),x,0.6,1.4); > > Hope this helps! Sorry, I can't write in French. I hope you can understand all the same. > > Robert Dodier > > ------------------------------------------------------------------------------ > Go from Idea to Many App Stores Faster with Intel(R) XDK > Give your users amazing mobile app experiences with Intel(R) XDK. > Use one codebase in this all-in-one HTML5 development environment. > Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. > http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140 > _______________________________________________ > 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 <http://perso.silvain-dupertuis.org> |
From: Robert D. <rob...@ya...> - 2015-11-23 17:40:58
|
Patrick, Note that your input %i3 reads: find_root(float([c(x)-f2(x)]),x,0.6,1.4); Remove the [ ] and try it again, i.e.: find_root(float(c(x)-f2(x)),x,0.6,1.4); You can also remove the float(...) because find_root will apply 'float' by itself: find_root(c(x)-f2(x),x,0.6,1.4); Hope this helps! Sorry, I can't write in French. I hope you can understand all the same. Robert Dodier |
From: Silvain D. <sil...@bl...> - 2015-11-23 07:26:23
|
/La solution la plus simple me semble être/ f2(x):=sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+%phi*%pi+%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2)/2^(5/2); c(x):=sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)/4; / solve([f2(x)=c(x)]) ne donne pas de solution numérique// //Utilisez la fonction find_root // //pour trouver par approximation numérique// //les zéros de la différence f2(x)-c(x)// //dans un intervalle donné (0.6 à 1.4, comme sur le graphique)// //les valeurs de la différence aux extrémités// //devant être de signe différents// //float n'est même pas nécessaire/ *find_root(f2(x)-c(x),x,0.6,1.4);** **=> 0.99342525086738* copie d'écran => 0.99342525086738 Le 23. 11. 15 07:03, Patrick Gelin a écrit : > Bonjour à tous, > > *** merci pour vos réponses, c'est très intéressant :-) *** > > J'ai essayé *to_poly_solve* mais mon PC rentre dans une boucle infinie et je suis obligé > de tuer le processus maxima... > > Je ne comprends pas comment Sylvain vous obtenez votre résulta : > *find_root(float(c(x)-f2(x)),x,0.6,1.4);* > (%o18) 0.99342525086738 > Comme le montre ma copie d'écran ci-dessous, j'obtiens plutôt une equation plus > compliquée. La variable x restant encore présente dans l'équation... > > *C**opie d'écran : * > > Le 21/11/2015 00:04, couraud a écrit : >> >> load(to_poly_solve); >> >> %solve([c(x) = f2(x)], x); >> > > > -- > M Patrick GELIN > 33 avenue du Président Kennedy > 68200 Mulhouse > Tél : 03 89 46 30 57 > > > ------------------------------------------------------------------------------ > Go from Idea to Many App Stores Faster with Intel(R) XDK > Give your users amazing mobile app experiences with Intel(R) XDK. > Use one codebase in this all-in-one HTML5 development environment. > Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs. > http://pubads.g.doubleclick.net/gampad/clk?id=254741551&iu=/4140 > > > _______________________________________________ > 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 <http://perso.silvain-dupertuis.org> |
From: Patrick G. <pat...@fr...> - 2015-11-23 06:03:15
|
Bonjour à tous, *** merci pour vos réponses, c'est très intéressant :-) *** J'ai essayé *to_poly_solve* mais mon PC rentre dans une boucle infinie et je suis obligé de tuer le processus maxima... Je ne comprends pas comment Sylvain vous obtenez votre résulta : *find_root(float(c(x)-f2(x)),x,0.6,1.4);* (%o18) 0.99342525086738 Comme le montre ma copie d'écran ci-dessous, j'obtiens plutôt une equation plus compliquée. La variable x restant encore présente dans l'équation... *C**opie d'écran : * Le 21/11/2015 00:04, couraud a écrit : > > load(to_poly_solve); > > %solve([c(x) = f2(x)], x); > -- M Patrick GELIN 33 avenue du Président Kennedy 68200 Mulhouse Tél : 03 89 46 30 57 |
From: couraud <l.c...@gm...> - 2015-11-20 23:04:45
|
Bonjour, Je ne crois pas que le problème vienne de %pi ou %phi. La commande solve échoue généralement à résoudre des équations ou système d’équations dont les inconnues ce trouvent sous des exposant rationnel. Il existe en revanche un module en cours de développement « to_poly_solve ».qui doit être en mesure de résoudre votre équation. Pour l’utiliser faite: load(to_poly_solve); %solve([c(x) = f2(x)], x); Pour les méthodes numériques il y a entre autre: find_root, bf_find_root, allroots, newton et le module mnewton. Laurent. -----Message d'origine----- De : Patrick Gelin [mailto:pat...@fr...] Envoyé : jeudi 19 novembre 2015 17:31 À : max...@li... Objet : [Maxima-lang-fr] Problème avec la définition des constantes %pi et %phi ... Bonjour, C'est une question de débutant sous Maxima. J'ai deux fonctions, définies ci-dessous : f2(x):=sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+%phi*%pi+%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2)/2^(5/2); c(x):=sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)/4; Voici le graphique, j'espère que la mailing liste le laisse en place... On peut voir un point d'intersection autour de x=1 : Je cherche la valeur précise de x, absice du point d'intersection c(x)=f2(x). J'ai essayé de trouver la solution algébrique avec la commande solve : solve([c(x)=f2(x)],[x]); [sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+(%phi+1)*%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2) = sqrt(2)*sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)] On voit que la commande pose le problème sans le résoudre... J'ai l'impression que maxima considère les constantes %pi et %phi non pas comme des constantes mais comme des variables supplémentaires de l'équation... Un message d'erreur sur un autre test me l'a suggéré. Alors 3 variables pour une équation, il ne peut donc pas trouver la solution... Comment lui faire reconnaitre que %pi et %phi ne sont pas des variables mais bien des constantes définies ? J'ai essayé de supprimer le % devant pi et phi, cela ne change pas le problème. Sinon existerait t-il une autre commande avec un autre algorithme qui pourrait trouver la valeur numérique de la solution, et non chercher son expression algébrique ? Merci pur votre aide. Patrick |
From: Silvain D. <sil...@bl...> - 2015-11-20 09:52:34
|
Ce n'est pas une question de valeur numérique ou non de ces constantes. Car un float devant donne ceci solve([c(x)=f2(x)],[x]); (%o4) [sqrt(5.568327996831706*sqrt(32.93073643634388*x+8.224796345905053)−32.0*x^2+ 31.9693406890821*x+15.96935537647813)=1.414213562373095* sqrt(−16.0*x^2+31.9693406890821*x+9.919188443520187)] Le problème est que /solve/ ne donne pas les solutions numériques Il faut utiliser d'autres fonctions, par exemple *find_root(float(c(x)-f2(x)),x,0.6,1.4);* (%o18) 0.99342525086738 Il me semble que cela correspond bien au graphique... Cherchez les zéros d'une fonction ou d'une expression d'une variable dans un intervalle donné. Le 19. 11. 15 17:30, Patrick Gelin a écrit : > Bonjour, > > C'est une question de débutant sous Maxima. J'ai deux fonctions, définies ci-dessous : > *f2(x):=sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+%phi*%pi+%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2)/2^(5/2);** > **c(x):=sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)/4;* > > Voici le graphique, j'espère que la mailing liste le laisse en place... On peut voir un > point d'intersection autour de x=1 : > Je cherche la valeur précise de x, absice du point d'intersection c(x)=f2(x). J'ai > essayé de trouver la solution algébrique avec la commande solve : > *solve([c(x)=f2(x)],[x]);****[sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+(%phi+1)*%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2) > = sqrt(2)*sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)]* On voit que la commande > pose le problème sans le résoudre... J'ai l'impression que maxima considère les > constantes %pi et %phi non pas comme des constantes mais comme des variables > supplémentaires de l'équation... Un message d'erreur sur un autre test me l'a suggéré. > Alors 3 variables pour une équation, il ne peut donc pas trouver la solution... Comment > lui faire reconnaitre que %pi et %phi ne sont pas des variables mais bien des constantes > définies ? J'ai essayé de supprimer le % devant pi et phi, cela ne change pas le > problème. Sinon existerait t-il une autre commande avec un autre algorithme qui pourrait > trouver la valeur numérique de la solution, et non chercher son expression algébrique ? > Merci pur votre aide. Patrick > > ------------------------------------------------------------------------------ > > _______________________________________________ > 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 <http://perso.silvain-dupertuis.org> |
From: <jba...@in...> - 2015-11-20 08:21:04
|
Bonjour, Le 19/11/2015 17:30, Patrick Gelin a écrit : > C'est une question de débutant sous Maxima. J'ai deux fonctions, définies > ci-dessous : > *f2(x):=sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+%phi*%pi+%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2)/2^(5/2);** > **c(x):=sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)/4;* > > Voici le graphique, j'espère que la mailing liste le laisse en place... On peut > voir un point d'intersection autour de x=1 : > > Je cherche la valeur précise de x, absice du point d'intersection c(x)=f2(x). > J'ai essayé de trouver la solution algébrique avec la commande solve : > *solve([c(x)=f2(x)],[x]);** > **[sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+(%phi+1)*%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2) > = sqrt(2)*sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)]* J'obtiens le même résultat. Parfois il faut un peu aider le "solver". > solve(c(x)^2=f2(x)^2,x); donne une solution. > On voit que la commande pose le problème sans le résoudre... J'ai l'impression > que maxima considère les constantes %pi et %phi non pas comme des constantes > mais comme des variables supplémentaires de l'équation... Qu'est ce que ça change ? Dans les deux cas le résultat sera donné en fonction de %pi et %phi et pas en remplaçant pi par 3,14... > Alors 3 variables pour une équation, il ne > peut donc pas trouver la solution... Ben... c'est paramétrique > solve(a*x^2+b*x+c=0,x); donne un résultat en fonction de a, b et c. > Comment lui faire reconnaitre que %pi et > %phi ne sont pas des variables mais bien des constantes définies Que veux dire "reconnaître" ? Attribuer des valeurs numériques. Il me semble que c'est toute la différence entre calcul symbolique et numérique. Non ? > J'ai essayé > de supprimer le % devant pi et phi, cela ne change pas le problème. Normal, "pi" ou "a", c'est la même chose. > Sinon existerait t-il une autre commande avec un autre algorithme qui pourrait > trouver la valeur numérique de la solution, et non chercher son expression > algébrique ? Comme il est écrit dans la doc : "By default, Maxima does not know the algebraic properties of %phi". La doc en dit plus, mais je ne sais pas comment faire. --Jean-Yves |
From: Patrick G. <pat...@fr...> - 2015-11-19 16:30:38
|
Bonjour, C'est une question de débutant sous Maxima. J'ai deux fonctions, définies ci-dessous : *f2(x):=sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+%phi*%pi+%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2)/2^(5/2);** **c(x):=sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)/4;* Voici le graphique, j'espère que la mailing liste le laisse en place... On peut voir un point d'intersection autour de x=1 : Je cherche la valeur précise de x, absice du point d'intersection c(x)=f2(x). J'ai essayé de trouver la solution algébrique avec la commande solve : *solve([c(x)=f2(x)],[x]);** **[sqrt(%pi^(3/2)*sqrt(16*%phi^(3/2)*x+(%phi+1)*%pi)−32*x^2+8*sqrt(%phi)*%pi*x+%phi*%pi^2) = sqrt(2)*sqrt(−16*x^2+8*sqrt(%phi)*%pi*x−%phi*%pi^2+16*%phi)]* On voit que la commande pose le problème sans le résoudre... J'ai l'impression que maxima considère les constantes %pi et %phi non pas comme des constantes mais comme des variables supplémentaires de l'équation... Un message d'erreur sur un autre test me l'a suggéré. Alors 3 variables pour une équation, il ne peut donc pas trouver la solution... Comment lui faire reconnaitre que %pi et %phi ne sont pas des variables mais bien des constantes définies ? J'ai essayé de supprimer le % devant pi et phi, cela ne change pas le problème. Sinon existerait t-il une autre commande avec un autre algorithme qui pourrait trouver la valeur numérique de la solution, et non chercher son expression algébrique ? Merci pur votre aide. Patrick |
From: Robert D. <rob...@gm...> - 2015-11-05 20:50:14
|
On 2015-11-04, Leo Butler <l_b...@us...> wrote: >> instead of load(draw.lisp); > > Looking at the error message, I guess that this is a bug in load, since > it should check if the input is a string or pathname, right? Well, maybe so, but it's a tangential problem here -- eventually that was corrected to load("draw.lisp") and OP ran into another problem (GCL version stuff). best Robert Dodier |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2015-09-05 10:44:30
|
Le problème a été noté par d'autres, et sera corrigé dans la prochaine version. (Je crois qu'il a déjà été corrigé en source -- tu peux toujours compiler depuis les sources.) Entre temps, ce n'est qu'une différence superficielle, le résultat reste juste. 2015-09-05 12:19 GMT+02:00 Louis generique <lou...@fr...>: > Bonjour, > > Quand j'utilise la commande taylor(exp(x),x,0,4) avec la dernière > version de Maxima les coefficients de taylor apparaissent dans l'ordre > inverse en commençant par les plus forts exposants, alors que dans les > documentations que je consulte les donnent bien dans le bon ordre. > > Que dois-je faire pour avoir le développement correct ? > > Merci. > L. P. > > > > > ------------------------------------------------------------------------------ > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > |
From: Louis g. <lou...@fr...> - 2015-09-05 10:19:12
|
Bonjour, Quand j'utilise la commande taylor(exp(x),x,0,4) avec la dernière version de Maxima les coefficients de taylor apparaissent dans l'ordre inverse en commençant par les plus forts exposants, alors que dans les documentations que je consulte les donnent bien dans le bon ordre. Que dois-je faire pour avoir le développement correct ? Merci. L. P. |
From: Fabrizio F. <fab...@ya...> - 2015-07-12 21:51:11
|
Bonjour, Je suis en train de développer un programme pour l'aide aux enfants dyslexiques j'aimerais consacrer une partie du programme aux mathématiques et surtout Algebre e Trigonométrie. Plusieurs grandes cherchaient de la documentation ou/et pour connecter Maxima à travers une interface de type TCP/IP comme à l'intérieur wxMaxima. Merci pour votre aide Fabrizio ------------------------- Fabrizio Ciciulla fab...@ya... ------------------------- |
From: LOUISNARD O. <olo...@gm...> - 2015-03-26 09:19:49
|
Le 24/03/15 15:14, Stavros Macrakis (Σταῦρος Μακράκης) a écrit : > Dès que le realpart est en nounform, Maxima ne va pas le réévaluer > sans commande explicite, du genre: > > ev(expr2,realpart) > > > > > On Tue, Mar 24, 2015 at 6:56 AM, LOUISNARD Olivier > <olo...@gm... <mailto:olo...@gm...>> wrote: > > declare(z,complex); declare(X,real); > expr : abs( A0 * exp(z*X) ); > expr1 : subst( (1+%i)/2, z, expr); > expr2 : subst( (1+%i)/sqrt(2), z, expr); > > > Merci Stavros et Dominique. Cela fonctionne très bien et résoud mon problème. Cela dit je ne comprends toujours pas pourquoi il faut réévaluer un realpart... je pensais que sqrt(2) n'avait pas de problème de détermination. Le plus curieux c'est que si on fait le calcul directement sans passer par subst : abs(A0 * exp((1+%i)/sqrt(2)*X)); ça fonctionne parfaitement. Le mystère reste entier pour moi... mais un grand merci pour la solution en tout cas. Cordialement, |
From: dso449 <ds...@ms...> - 2015-03-24 16:56:13
|
Bonjour, de cette façon peut-être: declare(z,complex); declare(x,real); f(x,z):=abs(exp(z*x)); f(x,(1+%i)/2); f(x,(1+%i)/sqrt(2)); Dominique Le 24/03/2015 11:56, LOUISNARD Olivier a écrit : > Bonjour, > > Je veux évaluer le module de l'exponentielle complexe exp(z*X), où z est > un complexe et X réel. > Le résultat est normalement exp( z_r X), où z_r partie réelle de z. Ca > marche parfaitement à ce niveau. > > Par contre si je cherche à simplifier l'expression, cela fonctionne > correctement pour z = 1+i, mais pas pour > z= (1+i)/ sqrt(2). Pourquoi ? > > Voici le code : > > declare(z,complex); declare(X,real); > expr : abs( A0 * exp(z*X) ); > expr1 : subst( (1+%i)/2, z, expr); > expr2 : subst( (1+%i)/sqrt(2), z, expr); > > Noter le "realpart" qui reste non évalué dans l'exponentielle expr2... > > Merci. > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for all > things parallel software development, from weekly thought leadership blogs to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > > |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2015-03-24 14:15:09
|
Dès que le realpart est en nounform, Maxima ne va pas le réévaluer sans commande explicite, du genre: ev(expr2,realpart) On Tue, Mar 24, 2015 at 6:56 AM, LOUISNARD Olivier <olo...@gm...> wrote: > declare(z,complex); declare(X,real); > expr : abs( A0 * exp(z*X) ); > expr1 : subst( (1+%i)/2, z, expr); > expr2 : subst( (1+%i)/sqrt(2), z, expr); > |
From: LOUISNARD O. <olo...@gm...> - 2015-03-24 10:56:43
|
Bonjour, Je veux évaluer le module de l'exponentielle complexe exp(z*X), où z est un complexe et X réel. Le résultat est normalement exp( z_r X), où z_r partie réelle de z. Ca marche parfaitement à ce niveau. Par contre si je cherche à simplifier l'expression, cela fonctionne correctement pour z = 1+i, mais pas pour z= (1+i)/ sqrt(2). Pourquoi ? Voici le code : declare(z,complex); declare(X,real); expr : abs( A0 * exp(z*X) ); expr1 : subst( (1+%i)/2, z, expr); expr2 : subst( (1+%i)/sqrt(2), z, expr); Noter le "realpart" qui reste non évalué dans l'exponentielle expr2... Merci. |
From: Stavros M. (Σ. Μ. <mac...@al...> - 2014-12-01 21:46:56
|
Par défaut, Maxima fonctionne dans le domaine réel. Donc l'expression (-2)^(1/3) est tout de suite simplifiée en -(2^(1/3)), avant même que la fonction "imagpart" la touche. Pour travailler dans le domaine complexe, il suffit de dire domain:'complex$ Par la suite, (-2)^(1/3) est simplifié en (-1)^(1/3)*2^(1/3), et donc imagpart((-2)^(1/3)) retourne sqrt(3)/2^(2/3), la valeur principale complexe, comme tu le voulais. -s On Mon, Dec 1, 2014 at 9:56 AM, <ji...@fr...> wrote: > Bonjour à tous,, > > pourquoi wxmaxima 5.34.1 mais aussi http://maxima-online.org me donnent > une > partie imaginaire nulle pour la racine cubique de moins deux? > > imagpart((-2)^(1/3)) > > mais aussi avec -1/2 et -1 : > > imagpart((-1/2)^(1/3)); > imagpart((-1)^(1/3)); > > create_list([realpart((-2)^(k/6)),imagpart((-2)^(k/6))],k,-6,6); > > create_list([realpart((-1)^(k/6)),imagpart((-1)^(k/6))],k,-6,6); > > create_list([realpart((-1/2)^(k/6)),imagpart((-1/2)^(k/6))],k,-6,6); > > Ma calculette HP 50G et Wolfram-alpha me donnent une partie imaginaire NON > nulle > ! > > cordialement > > JMarc D > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk > _______________________________________________ > Maxima-lang-fr mailing list > Max...@li... > https://lists.sourceforge.net/lists/listinfo/maxima-lang-fr > |