Analyse numérique avec algèbre
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 43

Analyse numérique avec algèbre



  1. #1
    Roc_

    Analyse numérique avec algèbre


    ------

    Bonjour,

    je travaille sur un projet d'apprentissage machine et je dois résoudre un système d'équations à plusieurs inconnues. Certaines de ces inconnues sont isolables par algèbre et les autres non: on doit les estimer par méthode numérique. J'ai un problème à essayer de combiner l'algèbre et la méthode numérique. Pour m'expliquer, soit le système d'équations à 4 inconnues:

    f1(a,b)*g1(c,d) - k1 = 0
    f2(a,b)*g2(c,d) - k2 = 0
    f3(a,b)*g3(c,d) - k3 = 0
    f4(a,b)*g4(c,d) - k4 = 0



    a,b,c,d: inconnues à trouver;
    fx,gx: fonctions telles que a et b sont isolables mais pas c et d;
    kx: constantes.

    Pour résoudre le système d'équations:
    - J'isole a et b à l'aide de deux des équations: a et b seront donc exprimées en fonction de c et d: a(c,d) et b(c,d).
    - J'estime c et d par la méthode numérique de Newton-Raphson à l'aide des deux autres équations. Cela exige de dériver par rapport à c et d les membres gauches.

    Comme dois-je alors traiter f(a,b):
    - comme une constante par rapport à c et d et donc: dérivée = fx(a,b).gx'(c,d) ?
    - OU comme une fonction de c et d et donc: dérivée = fx'(a(c,d),b(c,d)).gx(c,d) + fx((c,d),b(c,d)).gx'(c,d) ?

    Je vous remercie

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : Analyse numérique avec algèbre

    Bonjour.

    f(a,b)=f(a(c,d), b(c,d)) est une fonction à deux variables, c et d.
    Attention, les dérivées partielles sont plus compliquées que ce que tu dis, et ne contiennent pas de g, seulement les fonctions f, a et b et leurs dérivées (règle de la chaîne).

    Cordialement.

  3. #3
    Roc_

    Re : gg0

    gg0:

    Merci. Voulez-vous dire que je dois dériver seulement f(a(c,d), b(c,d)) par rapport à c et d ? Pas g(c,d), même si elle dépend aussi de c et d ?

  4. #4
    GBZM

    Re : gg0

    Bonsoir,
    Est-ce que tes équations sont polynomiales ? "Isolable par algèbre", c'est un peu flou. Donne plus de renseignements sur ton système. Si ça se trouve, des méthodes de calcul formel peuvent très bien s'appliquer.

  5. A voir en vidéo sur Futura
  6. #5
    gg0
    Animateur Mathématiques

    Re : gg0

    Roc_ :

    "Comme dois-je alors traiter f(a,b) " Il n'y a pas de g ici. Après, comme je ne sais pas qui est f, comme tu es assez flou, si g apparaît dans l'expression de f(a,b), donc que c'est plutôt f(a, b, g(c,d)), bien évidemment, tu appliques les règles de dérivation partielle des fonctions à plusieurs inconnues.

    Cordialement.

  7. #6
    Roc_

    Re : GBZM et gg0

    GBZM et gg0:

    Oui, les équations sont polynomiales.

    fx(a,b) = b*a^4+a^3+a^2

    gx(c,d) = (1+c)^p*(1+cd)^q où q > 5.

  8. #7
    GBZM

    Re : GBZM et gg0

    C'est quoi ton x dans fx et gx ? C'est quoi p et q ? Tu as quatre équations, qu'est-ce qui change entre elles ?

  9. #8
    Roc_

    Re : GBZM

    GBZM:

    Bonne remarque. Voici mes corrections: remplacer tous les fx par f et x par n:

    f(a,b) = b*a^4+a^3+a^2

    gn(c,d) = (1+c)^p*(1+cd)^(q+n) où n,p,q sont des entiers positifs et q+n > 5.

  10. #9
    GBZM

    Re : GBZM

    Donc tes f1(a,b), ..., f4(a,b) sont les mêmes dans les quatre équations ? Tes équations sont


    ???

  11. #10
    Roc_

    Re : GBZM

    GBZM:

    Je me rend compte que mon exemple n'est pas pertinent. En voici un qui ressemble plus à mon projet:

    f(a,b) = b*a^4+a^3+a^2

    gn(c,d) = (1+cd)^(q+n) + (2+cd)^(q+n) avec q >= 2

    Oui, f est le même dans les quatre équations (au lieu de f1...f4).

  12. #11
    gg0
    Animateur Mathématiques

    Re : GBZM

    Bonjour.

    Dans ce cas, en posant cd=e, on n'a plus que 3 variables, a, b et e, pour quatre équations; en général, il n'y aura pas de solution.
    Ne pourrais-tu être plus précis, donner les équations de ton projet, pas des "exemples qui ressemblent" ?

    Cordialement.

  13. #12
    Roc_

    Re : gg0

    gg0:

    Désolé, j'ai encore donné un mauvais exemple. Je voudrais bien donner les vraies équations de mon projet, mais elles sont tellement longues que ça en est décourageant. Je sais au moins qu'elles sont polynomiales. Pour me donner une idée, est-ce possible d'essayer avec ceci:

    f(a,b) = b*a^4+a^3+a^2

    gn(c,d) = (1+c)^3*(1+cd)^(2+n) + (1+c)^2*(1+cd)^(3+n) + (2+c)^3*(2+cd)^(2+n) + (2+c)^2*(2+cd)^(3+n)

    n=1,2,3,4

  14. #13
    SULREN

    Re : gg0

    Bonjour,
    Pardonnez au néophyte que je suis en mathématiques de m'immiscer dans cette discussion.
    Je cherche à apprendre et ce sujet m'intéresse.

    Quel est le système de 4 équations à résoudre. Est-ce:
    gn=1 (c,d)
    gn=2 (c,d)
    gn=3 (c,d)
    gn=4 (c,d)

    Merci

  15. #14
    SULREN

    Re : gg0

    Re bonjour,
    Je doute que la réponse à ma question ci-dessus soit "oui", et en plus je ne sais pas si j'ai fait des saisies correctes (je verifierai), mais dans le cas optimiste ou ce serait "oui", je proposerais 4 couples {c,d} qui répondent aux 4 équations, et qui sont pour la plage allant de -10 à + 10:
    {-2 ; 0} ; {-2 ; 0,5} ; {-1 ; 2} ; {-1 ; 3}

  16. #15
    GBZM

    Re : gg0

    Ça ne fait plus trop de sens. Avec ce f(a,b) qui est tout le temps le même, tu peux le remplacer dans tes équations par une inconnue f, et ça te fait 4 équations à 3 inconnues.

  17. #16
    SULREN

    Re : gg0

    Bonjour,
    En incluant f(a,b) donc pour le système de 4 équations:
    f(a,b) * gn(c,d) avec n=1,2,3,4

    Je trouve un grand nombre de solutions {a,b,c,d} dont:
    {-2 ; 2 ; -2 ; 0,5}
    {-2 ; 0,5 ;-2 ; 0,5}
    {0,5 ; 1,5 ;-1 ; 2 }
    Etc

    Je suis à côté de la plaque, ou bien j'ai fait une erreur de saisie....
    Dernière modification par SULREN ; 02/09/2023 à 08h27.

  18. #17
    albanxiii
    Modérateur

    Re : gg0

    Essayons de ne pas détourner les fils des autres, merci.
    "Dans la vie, rien n'est à craindre, tout est à comprendre." Marie Curie

  19. #18
    Roc_

    Re : GBZM

    GBZM:

    Bien vu. En voici un peut-être plus convaincant:

    f(a,b,c,d,n) = a(1+c)^3*(1+cd)^(2+n) + a(1+c)^2*(1+cd)^(3+n) + b(2+c)^3*(2+cd)^(2+n) + b(2+c)^2*(2+cd)^(3+n)

    Trouver a,b,c,d pour que f(a,b,c,d,n) = 0 lorsque n = 1,2,3,4.

    Merci

  20. #19
    GBZM

    Re : GBZM

    Ça foire toujours et encore.
    Tu espères sans doute avoir un nombre fini de solutions ? Eh bien avec le système que tu proposes, c'est raté.
    On peut l'étudier en utilisant le systèmer de calcul formel SageMath. On commence par rentrer le système : on fabrique l'idéal de engendré par les équations.
    Code:
    R.<a,b,c,d>=PolynomialRing(QQ,"a,b,c,d")
    
    Eqs=[a*(1+c)^3*(1+c*d)^(2+n) + a*(1+c)^2*(1+c*d)^(3+n)\
         + b*(2+c)^3*(2+c*d)^(2+n) + b*(2+c)^2*(2+c*d)^(3+n) \
         for n in range(1,5)]
    
    I=R.ideal(Eqs)
    Maintenant, on demande la dimension de cet idéal. On espère 0, ce qui indique un nombre fini de solutions.
    Code:
    print("dimension de l'idéal : {}".format(I.dimension()))
    dimension de l'idéal : 2
    Raté ! Alors on se dit,: mais c'est bien sûr, si on fait a=b=0, les équations sont satisfaites quelles que soient les valeurs de c et d, ça nous fait bien 2 degrés de liberté. Alors essayons voir s'il y a d'autres composantes de l'idéal qui ne sont pas de dimension 2. on décompose l'idéal en composantes primaires
    Code:
    PD=I.primary_decomposition()
    for i in range(len(PD)) :
        print("composante n°{} : {}"\
              .format(i+1,PD[i]))
    composante n°1 : Ideal (c^2 + 4*c + 4, 12*c*d^2 - 16*d^3 - 12*c*d + 48*d^2 + 3*c - 36*d + 8, 16*d^4 - 32*d^3 + 24*d^2 - 8*d + 1) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°2 : Ideal (c - 2*d + 2, d^2) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°3 : Ideal (c^2 + 2*c + 1, 6*c*d^2 - d^3 - 24*c*d + 12*d^2 + 24*c - 36*d + 32, d^4 - 8*d^3 + 24*d^2 - 32*d + 16) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°4 : Ideal (4*c - d + 7, d^2 - 6*d + 9) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°5 : Ideal (27*d^2 + 16*c - 54*d + 63, c*d + c + 4, 4*c^2 + 36*c - 27*d + 81) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°6 : Ideal (b, c*d + c + 2) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°7 : Ideal (b, c^2 + 2*c + 1) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°8 : Ideal (b, c^3*d^3 + 3*c^2*d^2 + 3*c*d + 1) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°9 : Ideal (a, c*d + c + 4) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°10 : Ideal (a, c^2 + 4*c + 4) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°11 : Ideal (a, c^3*d^3 + 6*c^2*d^2 + 12*c*d + 8) of Multivariate Polynomial Ring in a, b, c, d over Rational Field
    composante n°12 : Ideal (b, a) of Multivariate Polynomial Ring in a, b, c, d over Rational Field

    Ton système se décompose donc en douze morceaux. On reconnaît le dernier morceau : a=b=0. Est-ce qu'un de ces morceaux aurait un nombre fini de solutions ? Visiblement non, et SageMath confirme que tous ces morceaux sont de dimension 2 :
    Code:
    for i in range(len(PD)) :
        print("dimension de la composante n°{} : {}"\
              .format(i+1,PD[i].dimension()))
    dimension de la composante n°1 : 2
    dimension de la composante n°2 : 2
    dimension de la composante n°3 : 2
    dimension de la composante n°4 : 2
    dimension de la composante n°5 : 2
    dimension de la composante n°6 : 2
    dimension de la composante n°7 : 2
    dimension de la composante n°8 : 2
    dimension de la composante n°9 : 2
    dimension de la composante n°10 : 2
    dimension de la composante n°11 : 2
    dimension de la composante n°12 : 2

    Il serait peut-être temps que tu arrêtes tes bricolages qui ne mènent à rien et que tu expliques clairement ton vrai problème, non ?

  21. #20
    GBZM

    Re : GBZM

    S'il te prend la fantaisie de demander
    Trouver a,b,c,d pour que f(a,b,c,d,n) = n lorsque n = 1,2,3,4,
    alors la réponse sera : aucune solution.

  22. #21
    SULREN

    Re : GBZM

    Bonsoir,

    Dans "l'infinité" de solutions que je trouve à ce nouveau système de 4 équations, les variables c et d n'apparaissent que selon 4 combinaisons: celles que j'avais indiquées au post#14.

    Ce sont les variables a et b qui entrainent la reproduction à l'infini de ces 4 combinaisons.

  23. #22
    GBZM

    Re : GBZM

    @SULREN : ce n'est pas tout à fait exact.
    Dans les composantes 1 à 5 de mon message #19, c et d prennent respectivement les valeurs
    {d: 1/2, c: -2}
    {d: 0, c: -2}
    {d: 2, c: -1}
    {d: 3, c: -1}
    {d: 1/3, c: -3}
    et a et b font ce qu'ils veulent.
    Par contre, dans les composantes 6 à 12, les couples (c,d) peuvent prendre une infinité de valeurs. Peut-être as-tu oublié les cas où ab=0 ?

  24. #23
    Biname

    Re : Analyse numérique avec algèbre

    Salut,
    Une longue bataille avec gpt + python donne la solution triviale et évidente suivante :
    a=0, b=0 pour c et d quelconques
     Cliquez pour afficher

    Biname

  25. #24
    SULREN

    Re : GBZM

    Bonjour,

    Merci pour ton message @GBZM
    En fait j’avais bien compris tout ce qui se passait. Mon solveur (tout rustique qu’il fut) me l’avait bien révélé.
    Mais j’ai très très mal formulé cela dans mon post précédent. Vraiment désolé.

    Concernant le système défini par @Roc_ au post#12 :
    f(a,b) = b*a^4+a^3+a^2
    gn(c,d) = (1+c)^3*(1+cd)^(2+n) + (1+c)^2*(1+cd)^(3+n) + (2+c)^3*(2+cd)^(2+n) + (2+c)^2*(2+cd)^(3+n)
    Je voulais dire que tant qu’on s’intéressait au système formé par les seules gn(c,d) avec n=1..4, on trouvait un nombre limité de solutions, celles que j’ai mentionnées au post#14.
    Mais que l’introduction de f(a,b) en fonction multiplicatrice de gn(c,d) ne faisait donc que répéter à l’infini ces solutions pour toutes les valeurs de a et de b.

    De même, dans la formulation suivante du problème donnée par @Roc_ au post#18:
    f(a,b,c,d,n) = a(1+c)^3*(1+cd)^(2+n) + a(1+c)^2*(1+cd)^(3+n) + b(2+c)^3*(2+cd)^(2+n) + b(2+c)^2*(2+cd)^(3+n)
    j’ai bien vu qu’il fallait que je paramètre mon solveur pour qui ne me sorte pas dans son fichier des solutions celles qui comportaient a et b égaux à 0, parce que les c et d pouvaient alors faire tout ce qu’ils voulaient..... et satureraient le fichier de lignes inutiles.

    J’en ai conclu que l'analyse du problème était à revoir, en particulier sur la fonction f(a,b).
    Puis en relisant le tout premier post de @Roc_ je me suis dit qu'il avait peut-être tout simplement oublié de mettre le Ki à la fin des équations formulées dans ses posts 12 et 18.
    Mais avant d’en parler, j’ai fait des essais en introduisant des Ki négatifs puis des Ki positifs et là mon solveur ne trouvait plus aucune solution.

  26. #25
    GBZM

    Re : GBZM

    Pour traiter des systèmes d'équations polynomiales, il vaut bien mieux s'adresser à un logiciel de calcul formel.
    J'utilise SageMath qui est libre et gratuit.
    Il y a aussi Xcas.
    Bien sûr, cela demande d'avoir quelques connaissances de base sur les systèmes polynomiaux pour savoir ce qu'on demande au logiciel et comment on interprète ses réponses.
    Peut-être Roc finira-t-il par nous dire quel est son vrai problème ...

  27. #26
    SULREN

    Re : GBZM

    Re bonjour,

    il vaut bien mieux s'adresser à un logiciel de calcul formel.
    Bien évidemment, et d'une façon générale utiliser tous les outils puissants disponibles sur le Net aujourd'hui.

    Si je continue à utiliser les vieux outils que je me suis créés à une époque où on n'en trouvait pas car Internet balbutiait à peine, c'est par habitude, par facilité de les maîtriser, le fait qu'ils suffisent à mes besoins, etc, mais en aucun cas je n'en vanterais les performances.
    Et je viens d'ailleurs interférer un peu (désolé) dans ce type de discussion justement pour découvrir ce qui se fait de nos jours, ce que les forums peuvent apporter comme aide, comment bien formuler ses problèmes,.... afin de pouvoir résoudre des problèmes qui se poseraient à moi et qui dépasseraient les capacités de mes propres outils.
    J'utilise déjà de plus en plus WolframAlpha par exemple, que j'ai découvert il y a quelques semaines ici.

    Peut-être Roc finira-t-il par nous dire quel est son vrai problème ...
    Je l'espère aussi mais avec des doutes.
    (Dans une autre discussion récente, sur "l'équation" décrivant le colmatage du filtre d'aspiration d'une turbine, nous n'avons jamais su pourquoi ce phénomène, au profil d'évolution banal et bien connu, devait dans le cas de cette turbine se décrire par une moyenne quadratique très stricte).
    Dernière modification par SULREN ; 03/09/2023 à 14h22.

  28. #27
    Roc_

    Re : GBZM

    Re : GBZM

    En fait, mon vrai problème est que je veux minimiser la somme de carrés suivante par rapport à a,b,c,d:

    pour n = 1,2,3,4



    : constante
    pour l,m,p = 1…3, k=0…2 et différentes valeurs de A,B,…I.


    On pose: dérivées de la somme de carrés = 0 par rapport à a,b,c,d. On obtient alors 4 équations à 4 inconnues. a et b sont alors faciles à isoler pour être exprimés en c et d. c et d exigent une méthode numérique, comme Newton. La méthode de Newton exige de dériver deux des équations par rapport à c et d.

    Mes questions sont:
    - pour dériver par rapport à c et d, dois-je traiter a et b comme des constantes OU des fonctions de c et d et donc leur substituer leurs expressions en c et d avant de dériver ?
    - la méthode numérique de Bernoulli existe-t-elle pour les polynômes à plusieurs variables ?

    Merci

  29. #28
    GBZM

    Re : GBZM

    Merci de ces précisions. On va pouvoir rentrer dans le sujet pour de bon.
    Tu cherches donc à minimiser (le carré de) la norme d'un vecteur de de la forme .
    On peut commencer par trouver les et qui minimisent cette norme pour et fixés. C'est facile, il suffit de résoudre un système linéaire de deux équations en et on obtient et en fonctions rationnelles de et . On a alors un vecteur et on cherche les et qui minimisent la norme de ce vecteur. On est amené à un résoudre un système de deux équations à deux inconnues et : et .
    En chassant les dénominateurs, on a bien un système de deux équations polynomiales en deux inconnues. Même si les degrés sont assez élevés, ça ne devrait pas faire peur à un système de calcul formel !

    Une question : ton , c'est bien ? Si oui, tu as je pense tout intérêt à poser et à travailler avec les variables .

  30. #29
    GBZM

    Re : GBZM

    Pourrais-tu proposer des valeurs pour tes paramètres, de façon à voir ce qui passe ou ne passe pas pour un système de calcul formel ?

  31. #30
    GBZM

    Re : GBZM

    De quoi dépendent A,B,C,D ? de k,l,m, p ? de n aussi ?
    Je m'aperçois que tu as déjà un p, donc poser p=cd n'est pas un choix heureux, il vaut mieux une nouvelle lettre pour cette nouvelle variable.

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. analyse/algébre
    Par invite73541b5f dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 31/10/2014, 15h10
  2. Algèbre et analyse.
    Par invite9c5f7482 dans le forum Mathématiques du supérieur
    Réponses: 4
    Dernier message: 28/02/2013, 11h38
  3. Algèbre - Analyse
    Par invite038d0deb dans le forum Mathématiques du collège et du lycée
    Réponses: 9
    Dernier message: 14/04/2010, 16h44
  4. Analyse/Algébre
    Par invite68a51119 dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 09/01/2010, 16h40
  5. analyse VS algébre
    Par invite78942dcd dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 27/04/2007, 20h25