Accueil arrow Forums
wimsedu le forum
Bienvenue, Invité
Merci de vous identifier ou de vous inscrire.    Mot de passe perdu?
Re:Solveuse linéaire donne des résultats étranges (1 lecteur(s)) (1) Invité(s)
Aller en bas Répondre Ajouté aux favoris : 0
SUJET: Re:Solveuse linéaire donne des résultats étranges
#1215
sebdum (Utilisateur)
Halloween=Noël : 31 oct=25 dec
Expert Boarder
Messages: 113
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 1  
 
 
  L'administrateur a désactivé l'accès public en écriture.
#1216
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 23  
Visiblement, cela ne dépend pas de la version de wims mais de celle de maxima !

Bref un bug à mettre dans le forum bogue de sourcesup.fr. Une solution (provisoire) est certainement d'installer une ancienne version de maxima, mais au bout d'un certain ce n'est plus tenable.

Mais il faut qu'on arrive à corriger cela.


Bernadette
 
  L'administrateur a désactivé l'accès public en écriture.
#1217
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 23  
Enfin, je voulais dire que cela dépendait bien sûr aussi de l'interface de wims pour maxima.

Après des tests, il semble que la réponse donnée est
l'approximation à l'entier (le plus proche ?) de la solution (pour tester, on peut aller dans directexec
, les problèmes sont les mêmes).

La commande qui est lancée à maxima est par exemple
linsolve([y+4.1*x = 1,y+3*x = 3],[x,y]);

linsolve([y+4.1*x = z,y+3*x = 3],[x,y]);
pose le même problème.

linsolve([10*y+41*x = 10,y+3*x = 3],[x,y]);

donne le bon résultat.

Je vais voir sur les forums de maxima si quelque chose concernant la précision a changé ! Si quelqu'un a une idée !

Bernadette
 
  L'administrateur a désactivé l'accès public en écriture.
#1218
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 23  
Enfin

Code :

linsolve([y+4.1*x = 1,y+3*x = 3],[x,y]); solve([y+4.1*x = 1,y+3*x = 3],[x,y]);
La deuxième donne un résultat correct et de plus en fractions.
 
  L'administrateur a désactivé l'accès public en écriture.
#1220
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 23  
Grâce à Joke, on a transformé cela en un bug de maxima dans les nouvelles versions, me semble-t-il.
Par défaut, la variable keepfloat vaut true
lorsque wims lance maxima. Ce qui est "bien" : si on met une expression en réels on veut a priori une réponse en réels.

Code :

Maxima 5.16.3 http://maxima.sourceforge.net Using Lisp SBCL 1.0.20 Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information. (%i1) keepfloat:true; (%o1) true (%i2) linsolve([y+4.1*x = 1,y+3*x = 3],[x,y]); (%o2) [x = - 1, y = 9] (%i3)
Code :

GCL (GNU Common Lisp) Version(2.4.0) Sun Jan 13 18:43:44 CET 2002 Licensed under GNU Library General Public License Contains Enhancements by W. Schelter Maxima 5.4 Sun Jan 13 18:43:44 CET 2002 (with enhancements by W. Schelter). Licensed under the GNU Public License (see file COPYING) (C1) keepfloat:true; (D1) TRUE (C2) linsolve([y+4.1*x = 1,y+3*x = 3],[x,y]); (D2) [x = - 1.818181818181819, y = 8.454545454545457] (C3)
 
  L'administrateur a désactivé l'accès public en écriture.
#1412
sebdum (Utilisateur)
Halloween=Noël : 31 oct=25 dec
Expert Boarder
Messages: 113
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 1  
Une solution serait-elle d'installer la version 5.4 de maxima en lieu et place de la version actuelle (au risque d'avoir d'autres bugs, corrigés depuis) ?
 
 
  L'administrateur a désactivé l'accès public en écriture.
#1413
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 5 Mois Karma: 23  
Cela dépend si tu es pressé ou pas.

Michel Gosse a fait une demande sur la liste maxima.
Il semblerait qu'avec d'autres versions ultérieures
c'est OK

Code :

Maxima version: 5.19post Maxima build date: 18:54 11/1/2009 Host type: i686-pc-mingw32 Lisp implementation type: Clozure Common Lisp Lisp implementation version: Version 1.4-dev (WindowsX8632)
??? mais je n'ai pas essayé. Bernadette
 
  L'administrateur a désactivé l'accès public en écriture.
#1527
fabrice.guerimand (Utilisateur)
Junior Boarder
Messages: 26
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 3 Mois Karma: 0  
maxima engendre d'autres problèmes semble-t-il.

J'ai sur mon serveur la version 5.17.1 de maxima (sous fédora 11)

dans un OEF, au petit calcul suivant :
\text{don3=maxima(ratsimp((X-(1/2))*(X-(3))-((X-(0.5))*(X-(3))))}

j'obtiens la réponse :
-1.0*(X-3)
au lieu de 0

alors que si maxima est lancé en ligne de commande en dehors de Wims j'obtiens bien le 0...

L'installation de la version 5.19 de maxima engendre un problème de mémoire et donc maxima n'est pas reconnu par wims.

L'erreur précédente est sérieuse car tous les exos qui sont basés sur l'analyse de réponse formal disfonctionnent...
 
  L'administrateur a désactivé l'accès public en écriture.
#1528
fabrice.guerimand (Utilisateur)
Junior Boarder
Messages: 26
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 3 Mois Karma: 0  
je précise le message d'erreur de wims avec maxima 19.2 :
ERROR from maxima:
mmap: Cannot allocate memory
ensure_space: failed to validate 536870912 bytes at 0x09000000
(hint: Try "ulimit -a"; maybe you should increase memory limits.)
maxima: execution error or time out.
 
  L'administrateur a désactivé l'accès public en écriture.
#1529
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 3 Mois Karma: 23  
Peux-tu essayer de lancer l'appel à maxima qui ne va pas en ajoutant avant les commandes par défaut des exos oef :

expon:0; expop:0; factlim:6; prederror: false;\
maxnegex:20; maxposex:20; ratfac:true; keepfloat:true;

C'est comme cela que j'ai vu ce qui n'allait pas pour la solveuse. Même si je n'ai pas encore corrigé.
Visiblement dans les versions supérieures cela n'existe plus (voir le forum maxima de Michel Gosse).

Bernadette

Pour la limite "you should increase memory limits"
tu peux essayer de l'augmenter dans le fichier de configuration sur ton serveur.
ligne
int rlimit_data=204857600;/* data segment size; maxima requires a lot */
dans le fichier src/wims.c
 
  L'administrateur a désactivé l'accès public en écriture.
#1530
fabrice.guerimand (Utilisateur)
Junior Boarder
Messages: 26
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 3 Mois Karma: 0  
avec les paramètres de Wims maxima en ligne de commande ne marche pas :
Maxima 5.17.1 http://maxima.sourceforge.net
Using Lisp GNU Common Lisp (GCL) GCL 2.6.8 (aka GCL)
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) expon:0; expop:0; factlim:6; prederror: false;maxnegex:20; maxposex:20; ratfac:true; keepfloat:true;
(%o1) 0
(%o2) 0
(%o3) 6
(%o4) false
(%o5) 20
(%o6) 20
(%o7) true
(%o8) true
(%i9) ratsimp((X-(1/2))*(X-(3))-((X-(0.5))*(X-(3))));
(%o9) - 1.0 (X - 3)
(%i10)


Je vais chercher le paramètre défaillant....
Mais c'est étrange que cela fonctionne sur le serveur Orsay et pas sur le mien !!


j'essaye pour la rlimit après
 
  L'administrateur a désactivé l'accès public en écriture.
#1531
fabrice.guerimand (Utilisateur)
Junior Boarder
Messages: 26
graphgraph
Personne n'est hors ligne Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 3 Mois Karma: 0  
Il semble que :
ratfac:false;
(%o10) false
(%i11) ratsimp((X-(1/2))*(X-(3))-((X-(0.5))*(X-(3))));
(%o11) 0

cependant pourquoi est-il fixé à true par Wims ???
 
  L'administrateur a désactivé l'accès public en écriture.
#1532
bernadette (Admin)
Administrateur
Messages: 638
graph
Personne n'est connecté Cliquez ici pour voir le profil de cet utilisateur
Re:Solveuse linéaire donne des résultats étranges Il y a 14 Années, 3 Mois Karma: 23  
QUOTE:
Mais c'est étrange que cela fonctionne sur le serveur Orsay et pas sur le mien !!


Je n'ai pas mis à jour maxima.

Bernadette
 
  L'administrateur a désactivé l'accès public en écriture.
Revenir en haut Répondre
Développé par FireBoardObtenir les derniers messages directement sur votre PC
© 2024 WimsEdu
Joomla! est un logiciel libre distribué sous licence GNU/GPL.