Un critère et un algorithme

Ludwig
Modifié (January 2022) dans Informatique théorique
Bonsoir,
On considère la courbe d'équation $P(x,y)=0$ où $P\in \mathbb {Q}[X,Y]$.
Existe-t-il un critère permettant de dire si celle-ci est aussi une courbe paramétrique d'équations $x=Q(\sin(t),\cos(t))$, $y=R(\sin(t),\cos(t))$, avec $Q,R \in \mathbb {Q}[X,Y]$ ? Un algorithme pour trouver cette représentation paramétrique ?

Réponses

  • Déjà, je vais essayer de comprendre la question :
    $P\in \mathbb {Q}[X,Y] $
    ça veut dire que $P$ est un polynôme à 2 variables, à coefficients dans $\mathbb {Q} $
    Et pareil pour $Q$ et $R$ , des polynômes à 2 variables, à coefficients dans $\mathbb {Q} $, bien sûr.

    C'est ça ?
    Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
  • On peut prendre un exemple si tu veux : la courbe d'équation $$x^{8} \; y^{2} + 8 \; x^{4} \; y^{4} - 40 \; x^{5} \; y^{3} - 4 \; x^{6} \; y^{2} + 16 \; y^{6} + 96 \; x \; y^{5} + 192 \; x^{2} \; y^{4} + 128 \; x^{3} \; y^{3} = 0$$ est-elle aussi une courbe paramétrique du type mentionné ci-dessus ? 
    Je crois bien avoir vu passé dans un fil du forum il y a quelques temps une courbe définie ainsi et dont Maple avait donné les formules d'une telle représentation, mais peut-être était-ce un cas particulier.
  • Cette courbe contient la droite  d'équation $y=0$, donc elle n'est pas bornée, elle contient des points avec $x$ aussi grand que l'on veut.
    Alors que les courbes de la forme  $x=Q(cos(t), sin(t) )$ sont forcément bornées.

    Il faut plutôt s'intéresser à cette autre équation : (la même, mais en retirant la droite $y=0$) : 
    $x^8 + 8 x^4y^2 - 40x^5y - 4x^6 + 16y^4+96xy^3 + 192x^2y^2 +128 x^3y =0$
    Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
  • Bonjour,

    Une remarque : une telle courbe doit être rationnelle sur $\Q$.
  • Merci lourran, j'ai oublié de diviser par $y^2$. Bon je sais que la réponse à ma question, concernant cette courbe, est positive. Mais peut-on le détecter à partir de son équation ? $$x^8 + 8 x^4y^2 - 40x^5y - 4x^6 + 16y^4+96xy^3 + 192x^2y^2 +128 x^3y =0$$Il y aurait une méthode pour trouver les équations paramétriques demandées (qualifions-les de sinusoïdales) permettant de la tracer beaucoup plus facilement ?
  • Bonjour,

    Ta courbe admet la paramétrisation
    $$x=2*(\cos(\theta)+1)*\sin(\theta),\quad y=2*\cos(\theta)*\sin(\theta)^3$$

  • Exact. Tu l'as trouvé en partant de son équation polynomiale ? Avec un logiciel d'aide au calcul ? Ou peut-être as-tu triché en regardant sur un fil voisin..  :D
  • Non, j'ai triché en utilisant SageMath.
  • Donc il existe un algorithme. Comment fait-il ?
  • Algebraic symbols are used when you do not know what you are talking about.
            -- Schnoebelen, Philippe
  • GaBuZoMeu
    Modifié (December 2021)
    Bah, je fais trouver à SageMath une paramétrisation rationnelle, en projectif ça donne (88*s^7*t + 2464*s^6*t^2 + 50864*s^5*t^3 + 623040*s^4*t^4 + 5484248*s^3*t^5 + 30982688*s^2*t^6 + 91625600*s*t^7 + 105707008*t^8 : 21296*s^5*t^3 + 425920*s^4*t^4 + 830544*s^3*t^5 - 17292352*s^2*t^6 - 96428288*s*t^7 - 143109120*t^8 : s^8 + 32*s^7*t + 932*s^6*t^2 + 15200*s^5*t^3 + 221926*s^4*t^4 + 2082400*s^3*t^5 + 17492708*s^2*t^6 + 82283296*s*t^7 + 352275361*t^8) Je bricole la dernière coordonnée pour arriver à une paramétrisation plus sympa (8) * t * s^3 * (s^2 + t^2)^2 : (16) * (s - t) * (s + t) * t^3 * s^3 : (s^2 + t^2)^4 et il ne reste plus qu'à faire intervenir la tangente de l'angle moitié.
  • Désolé, j'ai beau mettre des passages à la ligne, ça m fait toujours un affichage caca boudin.
  • Il y a aussi $$x=2\cos(\frac{t}{2}) + \sin(t),\quad y=\frac{\sin(2t) + 2 \sin(t)}{4}$$ avec $t$ compris entre $0$ et $4\pi$. Moins gourmande en calculs.

  • GaBuZoMeu
    Modifié (December 2021)
    Et bien sûr la paramétrisation rationnelle
    $$8\, \dfrac{t}{(1+t^2)^2},\quad 16\,\dfrac{(1-t^2)t^3}{(1+t^2)^4}\;.$$
  • Je crois que les formules Latex sur plusieurs lignes ne passent pas. Et donc il faut mettre des $ en début et fin de chaque ligne.

    Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
  • Il n'y a aucune formule LaTeX dans le message en question.
  • Les expressions comme par exemple t^2 deviennent $t^2$ si on les encadre par des dollars... et même si c'est le niveau 0.001 du latex, c'est ce que je sous-entendais quand je parlais de formules latex.
    Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
  • Quelles commandes SageMath tu utilises GaBuZoMeu ? On peut le faire en ligne ici ?
  • GaBuZoMeu
    Modifié (December 2021)
    Je n'utilise pas SageMath en ligne.
    J'ai utilisé le code suivant pour trouver une paramétrisation rationnelle (en coordonnées homogènes) :

    P.<x,y,z> = ProjectiveSpace(QQ, 2)
    C = Curve([x^8 + 8*x^4*y^2*z^2 - 40*x^5*y*z^2 - 4*x^6*z^2\
               + 16*y^4*z^4+96*x*y^3*z^4 + 192*x^2*y^2*z^4 +128*x^3*y*z^4], P)
    Par=C.rational_parameterization()
    Par

    J'obtiens l'horrible paramétrisation :
    Scheme morphism:
      From: Projective Space of dimension 1 over Rational Field
      To:   Projective Plane Curve over Rational Field defined by x^8 - 4*x^6*z^2 - 40*x^5*y*z^2 + 8*x^4*y^2*z^2 + 128*x^3*y*z^4 + 192*x^2*y^2*z^4 + 96*x*y^3*z^4 + 16*y^4*z^4
      Defn: Defined on coordinates by sending (s : t) to
            (88*s^7*t + 2464*s^6*t^2 + 50864*s^5*t^3 + 623040*s^4*t^4 + 5484248*s^3*t^5 + 30982688*s^2*t^6 + 91625600*s*t^7 + 105707008*t^8 : 21296*s^5*t^3 + 425920*s^4*t^4 + 830544*s^3*t^5 - 17292352*s^2*t^6 - 96428288*s*t^7 - 143109120*t^8 : s^8 + 32*s^7*t + 932*s^6*t^2 + 15200*s^5*t^3 + 221926*s^4*t^4 + 2082400*s^3*t^5 + 17492708*s^2*t^6 + 82283296*s*t^7 + 352275361*t^8)
    Ensuite, je regarde de plus près la troisième composante de cette paramétrisation. J'aimerais la transformer en une puissance de s^2+t^2 :

    R.<s,t>=PolynomialRing(QQ,"s,t")
    X,Y,Z=Par.defining_polynomials()
    Z.factor()

    (s^2 + 8*s*t + 137*t^2)^4

    Du coup je fais :

    Zbis=Z.subs(t=t/11,s=s-4*t/11).factor()
    Xbis=X.subs(t=t/11,s=s-4*t/11).factor()
    Ybis=Y.subs(t=t/11,s=s-4*t/11).factor()
    Zbis,Xbis,Ybis

    ((s^2 + t^2)^4,
     (8) * t * s^3 * (s^2 + t^2)^2,
     (16) * (s - t) * (s + t) * t^3 * s^3)

    et là c'est gagné.
  • Merci GaBuZoMeu.
    Une méthode pour trouver une paramétrisation rationnelle d'une courbe donnée par une équation polynomiale implicite $P(X,Y)=0$ est décrite dans cet article. D'autres références ? Articles, livres..
Connectez-vous ou Inscrivez-vous pour répondre.