Logiciel de calcul symbolique
Répondre à la discussion
Affichage des résultats 1 à 29 sur 29

Logiciel de calcul symbolique



  1. #1
    Sethy

    Logiciel de calcul symbolique


    ------

    Bonjour à tous,

    J'ai 49 ans et je suis chimiste de formation mais je m'intéresse un peu à la relativité générale, ce qui fait que je suis amené à calculer pas mal de "Symboles de Christoffel" et de "tenseurs de Ricci", en ce compris les contractions d'indices.

    J'aimerais votre conseil pour un logiciel de calcul symbolique permettant de vérifier certains calculs mais aussi de les automatiser.

    J'ai pas mal de notions de programmations tant en C (C++ & Objective-C) que VB.

    J'ai écrit des macros xl qui manipulent les quantités, mais il y a énormément de modifications à faire à chaque nouvelle tentative (les dérivées sont notamment à recalculer "à la main").

    D'avance merci,

    Sethy

    -----

  2. #2
    Sethy

    Re : Logiciel de calcul symbolique

    Je retente ma chance.

    Donc je ne suis pas un chimiste (la chimie, c'est le mal), j'ai 19 ans et je suis rousse à f.... p.....

    Je n'y connais rien en informatique.

    Quelqu'un aurait-il un logiciel de calcul symbolique à me suggérer.

    D'avance merci,

    Setha

  3. #3
    pm42

    Re : Logiciel de calcul symbolique

    Mathematica ?
    Maple ?

    Tu as déjà regardé ce que tu obtiens sur Wolfram Alpha ?

  4. #4
    Dlzlogic

    Re : Logiciel de calcul symbolique

    Bonjour,
    Cette question m'étonne un peu.
    Les logiciels de calcul formel permettent à des non mathématiciens d'écrire ou de calculer des choses compliquées qu'ils feraient sans doute très facilement s'ils savaient programmer.
    Apparemment, vous n'êtes pas dans ce cas là. Si vous écriviez vous-mêmes vos applications, non seulement vous auriez beaucoup plus de satisfactions, et surtout, vous sauriez exactement ce que vous faites. Dans ce forum il y a des informaticiens très compétents, alors autant en profiter.
    Bonne journée.

  5. A voir en vidéo sur Futura
  6. #5
    Médiat

    Re : Logiciel de calcul symbolique

    Bonsoir

    A la liste de pm42 j'ajoute sagemath qui a la bonne idée d'être gratuit https://cloud.sagemath.com/settings
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  7. #6
    pm42

    Re : Logiciel de calcul symbolique

    Citation Envoyé par Dlzlogic Voir le message
    Les logiciels de calcul formel permettent à des non mathématiciens d'écrire ou de calculer des choses compliquées qu'ils feraient sans doute très facilement s'ils savaient programmer.
    Non, quelqu'un qui sait programmer ne va pas coder facilement toutes les méthodes pour trouver une intégrale formellement par exemple.

  8. #7
    invitebd98b571

    Re : Logiciel de calcul symbolique

    Citation Envoyé par Dlzlogic Voir le message
    Les logiciels de calcul formel permettent à des non mathématiciens d'écrire ou de calculer des choses compliquées qu'ils feraient sans doute très facilement s'ils savaient programmer.
    cette phrase est écrite par un non-utilisateur de calcul formel... sinon il saurait que beaucoup de mathématiciens utilisent les langages de calcul formel.

  9. #8
    Sethy

    Re : Logiciel de calcul symbolique

    Merci pour ces réponses.

    Ce que je voudrais, c'est un conseil sur le logiciel le plus à même de faire ce que j'essaie de faire. J'ai des matrices 4x4 symétriques mais non diagonales car il y a des termes non nuls pour les variables croisées.

    Or, dans le calcul des symbole de Christoffel, la matrice inverse apparait, donc vous imaginez la tête du déterminant qui apparait au dénominateur des quantités de cette matrice. De plus, par la suite, ces quantités sont en plus dérivées pour obtenir le tenseur de Ricci.

    Je ne connais aucun de ces logiciels, ni Maple, ni Mathematica, ni Wolfram alpha, etc. J'ai juste entendu parlé des deux premiers de nom.

    Donc n'hésitez pas à me conseiller celui que vous pensez le plus approprié.

    Juste pour vous montrer la tête que ça a, dans l'exemple qui suit, XTba veut dire :



    Et ou les ,alpha et ,beta en dehors de parenthèses représentent les dérivées partielles par rapport à alpha et bêta.



    D, X, S, T sont toutes des fonctions d'alpha et beta.
    Dernière modification par Sethy ; 31/01/2017 à 20h00.

  10. #9
    Médiat

    Re : Logiciel de calcul symbolique

    Bonsoir,

    J'ai inversé des matrices 8x8 dans C avec sagemath dépendant de 32 variables !
    Dernière modification par Médiat ; 31/01/2017 à 20h33.
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  11. #10
    Sethy

    Re : Logiciel de calcul symbolique

    Citation Envoyé par Médiat Voir le message
    Bonsoir,

    J'ai inversé des matrices 8x8 dans C avec sagemath dépendant de 32 variables !
    OKi, c'est vendu pour Sagemath.

  12. #11
    gg0
    Animateur Mathématiques

    Re : Logiciel de calcul symbolique

    Les logiciels de calcul formel sont capables de faire du calcul symbolique, mais il faut apprendre un peu à s'en servir. En gratuit, il y a Xcas, Maxima, sagemaths, ... et la version en ligne de Mathématica, Wolfram alpha, qui sert surtout à des calculs immédiats.
    Dans tous les cas, il y a un gros temps d'apprentissage, car en dehors du calcul exact élémentaire, le formel n'est pas évident (c'est à l'utilisateur de veiller à la signification) et l'écriture rigoureuse. Par exemple en Maple (mais sans doute dans tous les autres), le développement de x+2(x-1) donne x+2, car 2(x-1) est lu comme la valeur de la fonction 2 pour x-1, donc 2.
    Tu peux examiner cette page Google pour te faire une idée.

    Cordialement.

  13. #12
    Dlzlogic

    Re : Logiciel de calcul symbolique

    Bonsoir,
    Pour une fois, je suis d'accord avec gg0.
    Ce type de logiciel est destiné à des utilisateurs qui dominent parfaitement toutes les notions et formulations mathématiques de haut niveau. Je dirais que le seul fait que vous posiez la question sur un forum laisse penser que ce n'est pas le cas. Donc, je renouvelle mon conseil de traiter vos formules vous-même avec les outils informatiques dont vous disposez et que vous connaissez, avant d'entamer l'apprentissage de logiciens destinés à des spécialistes.
    D'ailleurs, je suis parfaitement sûr que vous serez beaucoup plus satisfaite que d'utiliser un logiciel.
    J'ai un exemple précis. Sur un autre forum, un membre cherchait à faire une opération précise, mais qui faisait appel à des notions qu'il ne dominait pas. Un spécialiste de ce type de logiciel a sorti le résultat : c'était une formule qui tenait sur une quinzaine de lignes. En gros, inutilisable par le demandeur.
    Donc, encore une fois, posez bien votre problème, simplifiez-le, écrivez les outils pour le résoudre et revenez si vous avez besoin d'aide.
    Bonne soirée.
    PS. Si ça vous intéresse, j'ai écrit les modules qui permettent de travailler avec des matrices "déterminant, cofacteur, inversion", en C.

  14. #13
    Sethy

    Re : Logiciel de calcul symbolique

    @gg0 :

    Je crois que je dois préciser un point. Je pense qu'aucun logiciel ne pourra résoudre le système d'équation final.

    Mais ce que j'aimerais, c'est qu'il calcule (et si possible simplifie) les équations. Je vais de toute manière ressortir de la avec 10 équations et il y aura 12 dérivées secondes : fonctions S, T, X, et D, dérivées par rapport à alpha,alpha ; alpha, beta ; et beta, beta sans compter un bon nombre de dérivées premières.

    Même pour un système simple, la forme d'une des fonction est :

    Dernière modification par Sethy ; 01/02/2017 à 00h37.

  15. #14
    Sethy

    Re : Logiciel de calcul symbolique

    @Dlzlogic :

    Je comprends bien l'interrogation, mais c'est pour ça que j'ai précisé et mon âge et ma qualification.

    J'ai fait tourner des molécules avec des quaternions en C, je fais un peu de calcul avec OpenCL. J'ai déjà écrit plusieurs dérivateurs symboliques (et j'ai même commis une appli sur l'AppStore pour iPad qui fait cela) car il s'agit de mon "hello world" pour apprendre un langage de programmation.

    Mais ici, ce dont j'ai besoin, c'est un système un peu plus malin que tout ce que je pourrais écrire moi-même puisque j'espère qu'il simplifiera un peu les équations obtenues (la où c'est possible bien sûr). Pour se donner une idée, rien que le déterminant de la matrice comporte 8 termes, tandis que la plus part des composants du tenseur métrique en contiennent 3. Donc cela fait un quotient de 3 termes divisés par 8 pour le tenseur inverse qu'il faut encore multiplier par la dérivée de 3 termes du tenseur. La dérivée de ce "bidule" va me donner plus de 100 termes différents.

    Pour rappel, le symbole de Christoffel peut se calculer au moyen de la métrique en utilisant cette formule :



    Actuellement, j'ai traité "à la main", c'est-à-dire en calculant certaines dérivées et puis en les combinants via des macros Excel, une version simplifiée (1 terme au numérateur et 4 au dénominateur) et c'était déjà extrêmement difficile (surtout de ne pas se tromper). Mais heureusement, j'ai pu augmenter les contraintes sur les solutions.

    Or ici, je voudrais aussi essayer des fonctions candidates, c'est à dire de pouvoir remplacer un petit terme par un autre, ce qui m'obligerait à tout recalculer dans l'hypothèse où je fais tout moi-même.

  16. #15
    Sethy

    Re : Logiciel de calcul symbolique

    Donc, même si je trouve les symboles de Christoffel, je dois encore contracter les tenseurs de Ricci (qui comportent quand même 256 termes, même si beaucoup sont nuls).

    Ensuite, j'ai les 10 équations que je dois manipuler pour sortir les dérivées secondes et essayer de les faire disparaitre par des combinaisons d'équations "intelligentes".

    C'est pour ça, car il y a beaucoup d'étapes qui nécessiteraient un développement ad-hoc que je pensais me frotter à des logiciels de calculs symbolique.
    Dernière modification par Sethy ; 01/02/2017 à 01h12.

  17. #16
    gg0
    Animateur Mathématiques

    Re : Logiciel de calcul symbolique

    @gg0 :

    Je crois que je dois préciser un point. Je pense qu'aucun logiciel ne pourra résoudre le système d'équation final.
    Bien évidemment. Utilisateur de logiciels formels depuis 30 ans (sans être un spécialiste), je sais ce qu'il en est. Mais j'imaginais bien que ton problème est l'écriture des expressions sans erreur de copie (la plaie du calcul à la main) et des simplifications contrôlées. C'est ce que fait un calculateur formel.
    Voilà ce que donne Maple pour les dérivées de A(r) par rapport à r, puis à rs (j'ai laissé tomber l'indice) :
    -1/(1-rs/r)^2*rs/r^2
    1/(1-rs/r)^2/r
    C'est bien évidemment écrit autrement, avec des barres de fractions. Et non simplifié, c'est à toi de le faire si tu le veux, par exemple, pour A'(r) on obtient -rs/(-r+rs)^2.

    Il existe peut-être des logiciels de calcul symbolique plus adaptés à ton sujet, tu devrais demander l'autorisation de poser une question analogue sur le forum "physique" (les doublons sont à priori interdits sur Futura).

    Cordialement.

  18. #17
    Sethy

    Re : Logiciel de calcul symbolique

    Merci pour ces précisions. J'avoue que j'espérais que le système propose un peu plus de simplifications "de lui même".

    J'ai hésité à poster en physique, mais je m'étais dit que tant qu'à parler de logiciel de math ... (et aussi, je pensais que "la connexion affine" intéresserait plus de monde).

    Mais 1200 euros pour une licence de Maple ...

  19. #18
    Médiat

    Re : Logiciel de calcul symbolique

    Dans sagemath il y a une fonction (je ne sais plus laquelle) qui permet de simplifier les expressions littérales obtenues par d'autres calculs
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  20. #19
    gg0
    Animateur Mathématiques

    Re : Logiciel de calcul symbolique

    J'ai utilisé Maple parce que je l'ai, mais il y a des gratuits, moins conviviaux.

  21. #20
    Sethy

    Re : Logiciel de calcul symbolique

    Citation Envoyé par Médiat Voir le message
    Dans sagemath il y a une fonction (je ne sais plus laquelle) qui permet de simplifier les expressions littérales obtenues par d'autres calculs
    J'ai lancé le téléchargement hier soir et je l'installe en ce moment même.

    Sethy

  22. #21
    Sethy

    Re : Logiciel de calcul symbolique

    Les premiers résultats ne sont pas très encourageants.

    Mais c'est peut être parce que je maitrise mal l'outil.

    Code:
    m=matrix(SR, 2, 2, var('a','b','c','d'))
    m
    
    Résultat :
    
    [a c]
    [b d]
    Ensuite, je crée la matrice inverse :

    Code:
    o=m.inverse()
    o
    
    Résultat :
    
    [1/a - b*c/(a^2*(b*c/a - d))           b/(a*(b*c/a - d))]
    [          c/(a*(b*c/a - d))              -1/(b*c/a - d)]
    Evidemment, ça surprend.

    Ensuite, pour vérifier, je multiplie par la matrice initiale :

    Code:
    p=o*m
    p
    
    résultat :
    
    [a*(1/a - b*c/(a^2*(b*c/a - d))) + b*c/(a*(b*c/a - d)) b*(1/a -
    b*c/(a^2*(b*c/a - d))) + b*d/(a*(b*c/a - d))]
    [                                                    0                  
    b*c/(a*(b*c/a - d)) - d/(b*c/a - d)]
    Je force la simplification

    Code:
    q=p.simplify_full()
    q
    
    Résultat :
    
    [1 0]
    [0 1]
    Ce qui est correct, mais l'expression de la matrice inverse est inutilisable en l'état.

    J'ai même essayé des simplification intermédiaire, avec distribution, mais le résultat reste inchangé.

    Code:
    o=m.inverse()
    o.simplify_full()
    o=expand(o)
    o

  23. #22
    gg0
    Animateur Mathématiques

    Re : Logiciel de calcul symbolique

    Effectivement, les débuts sont difficiles, il n'y a pas simplification automatique. Sauf dans des cas précis.
    Mais ça dépend aussi des logiciels. Mon vieux Maple écrit bien la matrice inverse avec 4 termes de même dénominateur ad-bc.

    Peut-être étudier un mode d'emploi. Ou changer de logiciel.

    Bonne chance !

  24. #23
    Médiat

    Re : Logiciel de calcul symbolique

    Citation Envoyé par Sethy Voir le message
    Ce qui est correct, mais l'expression de la matrice inverse est inutilisable en l'état.
    De mémoire, je calculais m.det*m.inverse, puis simplification
    Je suis Charlie.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse

  25. #24
    pm42

    Re : Logiciel de calcul symbolique

    Citation Envoyé par gg0 Voir le message
    Mon vieux Maple écrit bien la matrice inverse avec 4 termes de même dénominateur ad-bc.
    ... Ou changer de logiciel.
    Idem : Mathematica fait largement mieux en agréable à utiliser, avec interface graphique qui propose immédiatement le déterminant, l'inverse, les valeurs propres, la décomposition LU
    Cela vaudrait en effet la peine d'essayer la version gratuite pour au moins avoir une comparaison avec Sagemath.

  26. #25
    Sethy

    Re : Logiciel de calcul symbolique

    Citation Envoyé par pm42 Voir le message
    Idem : Mathematica fait largement mieux en agréable à utiliser, avec interface graphique qui propose immédiatement le déterminant, l'inverse, les valeurs propres, la décomposition LU
    Cela vaudrait en effet la peine d'essayer la version gratuite pour au moins avoir une comparaison avec Sagemath.
    Je vais l'essayer.

    Par contre, certaines de vos réponses me font penser que vous n'avez pas bien saisi le problème. Je le réexplique.

    En relativité générale, l'idée est que l'espace(-temps) n'est pas plane mais bien courbe. L'objet mathématique qui décrit cette courbure est le tenseur métrique. C'est donc lui l'inconnue à trouver.

    Chaque élément du tenseur est une fonction des différentes variables de l'espace et du temps. Si le cas général nécessiterait la détermination de 10 fonctions (tenseur symétrique de 4x4), en introduisant des symétries et en choisissant le système de coordonnées adéquat, il est possible de poser un certain nombre de ces fonctions égale à 0. Si on étudie la métrique autour d'un objet massif, le choix du système de coordonnées sphérique est bien plus judicieux que le cartésien.

    Pour déterminer les expressions analytiques des différentes fonctions non nulles (ou non imposée par la symétrie), on introduit la métrique candidate dans les équations d'Einstein, ce qui revient à établir les connexions affines (ou symboles de Christoffel) pour toutes les combinaisons possibles. Si je ne me goure pas, il y a 32 symbole de Christoffel (puisqu'ils sont symétriques par rapport aux deux indices, 4^3/2). Les symboles non nuls, sont donc des fonctions des fonctions de la métrique candidate. Ensuite, on en déduit le tenseur de courbure (4^4 composants) et on le contracte pour obtenir les tenseurs de Ricci au nombre de 16 mais dont 6 sont redondants.

    Or, pour morceau de l'espace sans matière (ou plus exactement ou le tenseur énergie-impulsion est nul), on peut poser les 10 tenseurs de Ricci égaux chacun à 0. C'est donc au départ de ces équations dont les inconnues sont les fonctions du tenseur métrique d'origine (mais bien tordu, puisqu'on les a dérivée 2x) qu'on cherche à déterminer l'expression analytique de celles-ci.

  27. #26
    gg0
    Animateur Mathématiques

    Re : Logiciel de calcul symbolique

    A vrai dire, ... c'est ton problème, pas le mien.
    Je ne fais plus de physique depuis 50 ans, mais je connais les outils des logiciels de calcul formel. J'ai essayé de t'aider. Pm42 et Médiat aussi.

  28. #27
    pm42

    Re : Logiciel de calcul symbolique

    Non, j'ai bien compris le problème mais vous voulez utiliser un logiciel de calcul symbolique pour quelque chose de compliqué et vos 1ères tentatives se sont avérées décevantes avec une simple matrice 2x2.
    Je pense qu'un apprentissage de l'outil qui ne se fera pas un 1 jour est nécessaire avant de faire le saut matrice 2x2 -> calcul tensoriel pour la RG et que cet apprentissage pourrait être facilité par un outil plus simple d'abord et sans doute l'un des plus puissants du moment.

  29. #28
    Sethy

    Re : Logiciel de calcul symbolique

    Citation Envoyé par gg0 Voir le message
    A vrai dire, ... c'est ton problème, pas le mien.
    Je ne fais plus de physique depuis 50 ans, mais je connais les outils des logiciels de calcul formel. J'ai essayé de t'aider. Pm42 et Médiat aussi.
    Indubitablement, et je vous en remercie. Mais (et je réponds en même temps à pm42) je voulais orienter la réflexion dans le bon sens car je trouvais qu'avec l'allusion aux capacités graphiques et de résolutions (valeurs propres, fonctions propres) on s'éloignait fort de ce que je cherchais à la base.

    Mathematica, c'est quand même près de 400 euros et je voulais être certain que cela soit bien axé sur dont j'avais besoin.

  30. #29
    pm42

    Re : Logiciel de calcul symbolique

    Citation Envoyé par Sethy Voir le message
    Indubitablement, et je vous en remercie. Mais (et je réponds en même temps à pm42) je voulais orienter la réflexion dans le bon sens car je trouvais qu'avec l'allusion aux capacités graphiques et de résolutions (valeurs propres, fonctions propres) on s'éloignait fort de ce que je cherchais à la base.
    Tu as commencé avec des matrices. Je te répondais donc sur les capacités autour des matrices.
    Tu peux aussi taper "Christoffel" et "Mathematica" dans Google pour voir ce qui est fait.

    Citation Envoyé par Sethy Voir le message
    Mathematica, c'est quand même près de 400 euros et je voulais être certain que cela soit bien axé sur dont j'avais besoin.
    Je suppose que les 15 jours d'essai gratuit servent à ça.

Discussions similaires

  1. [MATLAB] calcul symbolique et simplification
    Par invitec1cd705e dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 04/01/2013, 09h28
  2. calculatrice symbolique
    Par invite4021e8ad dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 26/06/2007, 15h26
  3. symbolique
    Par invite38e24a8d dans le forum Physique
    Réponses: 4
    Dernier message: 08/01/2006, 11h21
  4. Calcul formel, symbolique ...
    Par Bleyblue dans le forum Mathématiques du supérieur
    Réponses: 22
    Dernier message: 05/07/2005, 12h42
  5. Logiciel de calcul symbolique ?
    Par invite270edd69 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 01/07/2005, 22h38