Points d'intersection de courbes avec maple ou autre logiciel — Les-mathematiques.net The most powerful custom community solution in the world

Points d'intersection de courbes avec maple ou autre logiciel

Bonjour
Je dois chercher s'il existe des points d'intersection $(x,y)\in \R\times\R$ de trois courbes. Les courbes ont des équations énormes, par conséquent, je vais les mettre en pièces jointes. (Dans les deux fichiers .pdf ou .txt, ce sont les mêmes équations !).
J'ai trouvé un code en ligne pour essayer en utilisant Maple (pièce joint), mais je ne sais pas si c'est correct ce que je fais. Pouvez-vous vérifier ?
Merci d'avance !

Réponses

  • Bonsoir,
    Tu as regardé si tes équations pouvaient se simplifier ? Par exemple la première contient une droite et un cercle (en bleu sur la figure), que j'ai tracé séparément. Et j'éviterais de traîner des dénominateurs, on peut regarder après si des éventuelles solutions les annulent ou pas. Sur la figure j'ai tracé la nullité du dénominateur de eq1 en pointillés.
    J'ai utilisé GeoGebra pour ces tracés, je ne connais pas Maple mais je trouve ta figure très grossière. Il y a peut-être d'autres commandes ?
    Quant aux points d'intersection avec GGB : {intersection(eq1, eq2)} te renverra une liste de points. Restera alors à regarder {intersection(eq1, eq3)} pour voir les points communs (attention à la précision des calculs vu la taille des équations, il se peut que le logiciel dise que ces listes n'aient rien en commun alors que c'est faux, faudra regarder de plus près).
    D'où sors-tu des équations pareilles ? 




  • Modifié (July 2022)
    Bonjour
    D'accord avec Ludwig, ces équations me semblent le résultat d'une mise en équations et/ou de calculs pas très optimisés.
    On met chaque équation sous la forme $P_i=0$, où $P_i$ est une fraction rationnelle qu'on peut faire factoriser (sur $\mathbb Q$) par Maple. On constate alors de gros facteurs : un facteur commun $De$ au dénominateur et des facteurs $N_i$ pour chaque $P_i$. Les autres facteurs semblent être des "parasites". Par exemple :
    $$P_1= -2\,\frac{N_1}{De}\times  {\frac { \left( {x}^{2}+2\,xy+{y}^{2}+1 \right) \left( x+y+1 \right) ^{2} \left( {x}^{2}+{y}^{2}-x-y \right) }{ \left( xy-2\,x+{y}^{2}-y \right)^{2} \, \left( {x}^{2}+xy-x-2\,y \right) ^{2}}}$$
    Il vaudrait sans doute mieux que tu expliques d'où viennent ces équations.
  • Modifié (July 2022)
    Avec maple, je trouve $8$ points d'intersection (réels) : $(-1,0)$, $(0,-1)$, $(0,0)$, $(0,1)$, $(1,0)$, $\left(\frac{-1}{2},\frac{-1}{2}\right)$, $\left(-1+\frac{\sqrt{2}}{2}, -1-\frac{\sqrt{2}}{2}\right)$ et $\left(1+\frac{\sqrt{6}}{2}, 1+\frac{\sqrt{6}}{2}\right)$.


  • Beaucoup de ces solutions annulent les dénominateurs !
  • C'est bien possible. Je m'étais débarrassé préalablement des dénominateurs. Je n'ai pas vérifié ce qu'il en était après coup.
  • Modifié (July 2022)
    Merci pour votre aide !
    Comme Geogebra ne me donnait pas les points d'intersections, j'ai utilisé au final https://www.dcode.fr/intersection-point.

    (Pour obtenir ces équations, c'est une très longue histoire...  :p )
  • Modifié (July 2022)
    @Guego, est-il possible de voir ton code de Maple s'il te plait ?
  • Juste solve({n1,n2,n3},{x,y}) où n1,n2,n3 sont les numérateurs respectifs des 3 termes, une fois qu'on a passé chaque équation sous la forme $\dfrac{n_i}{d_i} = 0$.
  • Merci !
  • Modifié (July 2022)
    C'est bien dommage que tu ne veuilles pas dire d'où viennent tes équations.
    Parce qu'en fait, telles quelles, elles n'ont aucune solution réelle.
    Et si on considère le système obtenu en annulant les numérateurs, alors il y a en fait 12 solutions réelles.
    On peut mener les calculs dans SageMath (libre et gratuit).
    On déclare l'anneau de polynômes dans lequel on travaille :
    R.<x,y>=PolynomialRing(QQ,"x,y")
    On rentre les fractions rationnelles P1, P2, P3 (je vous épargne le code). On fabrique l'idéal engendré par les numérateurs, on l'appelle I.
    On calcule le plus petit dénominateur commun D des fractions, et on sature I par rapport à D pour obtenir l'idéal J.
    N1=P1.numerator() ; D1=P1.denominator()<br>N2=P2.numerator() ; D2=P2.denominator()<br>N3=P3.numerator() ; D3=P3.denominator()<br>I=R.ideal([N1,N2,N3])<br>D=D1.lcm(D2).lcm(D3)<br>S=R.ideal(D)<br>J,i=I.saturation(S)
    Et maintenant on voit qu'il n'y a aucune solution (pas même complexe) !
    J
    Ideal (1) of Multivariate Polynomial Ring in x, y over Rational Field
    Par contre on voit que l'idéal I est 0-dimensionnel et a 45 solutions (réelles ou complexes, comptées avec multiplicité).
    I.dimension(), I.vector_space_dimension()
    (0, 45)

    Voici les douze solutions réelles (algébriques)
    Var=I.variety(AA)<br>Var<br>

    [{y: 0, x: 0}, {y: 0, x: 1}, {y: 0, x: -1}, {y: 1, x: 0}, {y: -1, x: 0}, {y: -0.50000000000000000?, x: -0.50000000000000000?}, {y: -0.2247448713915891?, x: -0.2247448713915891?}, {y: 2.224744871391589?, x: 2.224744871391589?}, {y: -1.707106781186548?, x: -0.2928932188134525?}, {y: -0.2928932188134525?, x: -1.707106781186548?}, {y: -0.4912149653987763?, x: 0.1189336421297620?}, {y: 0.1189336421297620?, x: -0.4912149653987763?}]

    et leurs polynômes minimaux pour la première coordonnée (comme on a une symétrie, tous les polynômes minimaux sont là) :
    [sol[x].minpoly() for sol in Var]
    [x, x - 1, x + 1, x, x, x + 1/2, x^2 - 2*x - 1/2, x^2 - 2*x - 1/2, x^2 + 2*x + 1/2, x^2 + 2*x + 1/2, x^4 - 5*x^3 + 13/2*x^2 + 7/2*x - 1/2, x^4 - 5*x^3 + 13/2*x^2 + 7/2*x - 1/2]

    Toujours le même problème, je n'arrive pas à recopier correctement le code !
  • Modifié (July 2022)
    La solution sagemath est quand même réservée à des experts en algèbre et en sagemath...
    Avec Xcas, j'obtiens aussi 12 solutions pour les numérateurs, en intersectant l'ensemble des solutions par paires d’équations
    https://xcas.univ-grenoble-alpes.fr/forum/viewtopic.php?f=31&t=2790#p12490

    2 des solutions sont renvoyées sous forme approchée, je vais regarder pourquoi.
    Bizarre que Maple ne renvoie pas le même nombre de solutions.
  • Modifié (July 2022)
    "La solution sagemath est quand meme reservee a des experts en algebre et en sagemath... "
    Ce n'est pas très malin d'écrire ça. L'approche rudimentaire que tu as utilisée en Xcas peut bien sûr être aussi utilisée en SageMath. Mais on sait les raisons qui te font préférer Xcas à Sagemath. :D
    Les solutions renvoyées par SageMath sont toutes du type "réels algébriques", elles sont exactes (connues sous forme polynôme minimal + intervalle d'isolation). N'y a-t-il pas une telle classe dans Xcas ?
  • Modifié (July 2022)
    Il n'est pas nécessaire de maitriser la théorie des idéaux de polynômes à plusieurs variables pour trouver les points d'intersection de courbes algébriques dans le plan, le résultant suffit (je viens d'ailleurs d'optimiser Xcas web pour utiliser le résultant aussi pour un système polynomial à 2 variables surdéterminé, on peut donc faire solve avec les 3 équations).
    Vous faites la promotion de Sagemaths comme vous l'entendez, moi je fais celle de Xcas en proposant d'utiliser la commande solve plutôt que de devoir commencer par définir des anneaux de polynômes, le tout dans une session de Xcas web facile à exécuter et à modifier (il n'y a pas besoin d'installer quoi que ce soit, et il n'y a pas besoin de serveur pour faire les calculs, ils sont faits dans le navigateur). Je ne sais pas si c'est malin ou pas, l'avenir nous le dira ...
    Sinon, il n'y a pas de classe dans Xcas. Il y a des objets rootof pour représenter de manière exacte les extensions algébriques de Q. solve ne l'utilise pas en degré >3, une approximation numérique des solutions est renvoyée, on peut augmenter cette précision avec Digits:=... (comme avec maple). La raison c'est que pour pouvoir manipuler *simultanément* des racines d'un polynôme de degré 4 il faut travailler génériquement dans des extensions de degré 24 et c'est encore bien pire pour un degré n quelconque. On peut bien sur préférer travailler en exact avec un rootof générique d'un polynôme de degré n pour faire du calcul exact et Xcas fournit une implémentation efficace du calcul de la représentation rationnelle univariée pour un système polynomial, en appelant la commande gbasis avec comme argument optionnel rur, par ex.
    gbasis([x1+x2+x3,x1*x2+x1*x3+x2*x3,x1*x2*x3-1],[x1,x2,x3],rur)
  • Modifié (July 2022)
    "solve ne l'utilise pas en degré >3, une approximation numérique des solutions est renvoyée".
    Voila pourquoi tes deux dernières solutions sont données sous forme numérique approchée :  SageMath nous apprend qu'il s'agit de nombres algébriques réels de degré 4. :)
  • Modifié (July 2022)
    Comme indiqué précédemment, on peut le retrouver avec Xcas (et bien sur avec n'importe quel CAS) en factorisant le pgcd du résultant des 2 premières équations et des 2 dernières équations. J'ai complété la session ci-dessus (ça pourrait intéresser des agrégatifs...)
  • Comme tu le sais, les résultants donnent parfois des résultats trompeurs sur les intersections de courbes
  • Pouvez-vous préciser?
  • Modifié (July 2022)
    J'ai l'habitude de tutoyer sur ce forum. Je continue.
    Tu connais bien évidemment l'exemple trivial du résultant de $xy$ et de $xy+1$ par rapport à $y$ : c'est $x$ mais pourtant les deux courbes affines ne se coupent pas.
    L'idéal engendré par ces deux polynômes est l'anneau tout entier.
    Pour détecter les intersections de trois courbes tu prends le résultant des deux premières équations, le résultant des deux dernières et tu calcules le pgcd. Même en dehors des problèmes de disparition à l'infini comme ci-dessus, tu sais très bien que ce pgcd peut être non constant sans qu'il y ait d'intersection des trois courbes.
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!