Systèmes à plusieurs inconnues
Bonjour à tous
En cherchant une solution à un petit problème géométrique je suis tombé sur cet horrible système :
$(2a+2b-ab)(9a+9b-16)=80-18ab$
$(8+ad-2a-2d)(44-27a+27d)=320-216d+54ad$
$(2c+2d-cd)(40-9c-9d)=72c+72d-18cd-128$
$(8-2b-2c+bc)(28-27b+27c)=400-216c+54bc$
Les quatre inconnues sont des réels compris entre $0$ et $3$ .
Je me demande quelles sont les solutions ( si elles existent ) et plus généralement s'il existe des logiciels ( libres ) qui savent résoudre ces problèmes de façon formelle ou approchée ( Wolfram refuse et à la main c'est insupportable ) .
Merci d'avance ;-)
Domi
En cherchant une solution à un petit problème géométrique je suis tombé sur cet horrible système :
$(2a+2b-ab)(9a+9b-16)=80-18ab$
$(8+ad-2a-2d)(44-27a+27d)=320-216d+54ad$
$(2c+2d-cd)(40-9c-9d)=72c+72d-18cd-128$
$(8-2b-2c+bc)(28-27b+27c)=400-216c+54bc$
Les quatre inconnues sont des réels compris entre $0$ et $3$ .
Je me demande quelles sont les solutions ( si elles existent ) et plus généralement s'il existe des logiciels ( libres ) qui savent résoudre ces problèmes de façon formelle ou approchée ( Wolfram refuse et à la main c'est insupportable ) .
Merci d'avance ;-)
Domi
Réponses
-
Voici l'ensemble des solutions dans le corps des nombres algébriques réels de Sage (le point d'interrogation indique que c'est l'approximation décimale d'un objet « exact ») :
[{c: 6.311999633571154?, b: -0.07081824293700121?, d: -3.731702180683524?, a: 3.262376611004902?}, {c: 0.4163468491400879?, b: -0.10199503977962867?, d: -3.554339759634776?, a: 3.300025623478831?}, {c: -1.021610511539594?, b: 4.385918845008747?, d: -0.9785333354832754?, a: -1.017510322738360?}, {c: -5.800455617014250?, b: -6.697002461800885?, d: 0.8968786486151639?, a: 1.156924934121394?}, {c: 1.758876726164091?, b: 1.414627199186752?, d: 1.253903813838564?, a: 1.559466404677516?}, {c: 1.593685187351553?, b: 1.236858339388141?, d: 1.423084608570272?, a: 1.743644771580269?}, {c: 10.443295355135846?, b: 9.55053364323166?, d: 2.899196275860352?, a: 3.151865254044454?}, {c: 4.748706904371443?, b: -1.272725461774128?, d: 4.678914126487948?, a: 4.679450529090811?}, {c: -3.673829079116722?, b: 3.298101172644351?, d: 6.256511322284920?, a: -0.10040105640873532?}, {c: 3.702414164088689?, b: 3.237809311221167?, d: 6.356345398068298?, a: -0.05048136000317385?}]
Dans le corps des nombres algébriques quelconques :[{d: -3.731702180683524?, c: 6.311999633571154?, b: -0.07081824293700121?, a: 3.262376611004902?}, {d: -3.554339759634776?, c: 0.4163468491400879?, b: -0.10199503977962867?, a: 3.300025623478831?}, {d: -0.9785333354832754?, c: -1.021610511539594?, b: 4.385918845008747?, a: -1.017510322738360?}, {d: 0.8968786486151639?, c: -5.800455617014250?, b: -6.697002461800885?, a: 1.156924934121394?}, {d: 1.253903813838564?, c: 1.758876726164091?, b: 1.414627199186752?, a: 1.559466404677516?}, {d: 1.423084608570272?, c: 1.593685187351553?, b: 1.236858339388141?, a: 1.743644771580269?}, {d: 1.448920138821571? - 1.258953958188413?*I, c: 1.700315366594276? + 1.225562907817415?*I, b: 2.750424406548556? + 6.040316528108939?*I, a: 1.958224054229387? - 1.371940540962459?*I}, {d: 1.448920138821571? + 1.258953958188413?*I, c: 1.700315366594276? - 1.225562907817415?*I, b: 2.750424406548556? - 6.040316528108939?*I, a: 1.958224054229387? + 1.371940540962459?*I}, {d: 1.574445103373942? - 1.581874941831351?*I, c: 1.691017894097328? + 1.555577517256085?*I, b: 1.620656901823872? + 1.741814660180620?*I, a: 2.208825482232506? - 4.660071962200482?*I}, {d: 1.574445103373942? + 1.581874941831351?*I, c: 1.691017894097328? - 1.555577517256085?*I, b: 1.620656901823872? - 1.741814660180620?*I, a: 2.208825482232506? + 4.660071962200482?*I}, {d: 1.596731219629857? - 1.594149895190351?*I, c: 1.676795911990678? + 1.575559943915883?*I, b: 2.098271390554774? + 4.672861834471402?*I, a: 2.128096601593371? - 4.677355346307093?*I}, {d: 1.596731219629857? + 1.594149895190351?*I, c: 1.676795911990678? - 1.575559943915883?*I, b: 2.098271390554774? - 4.672861834471402?*I, a: 2.128096601593371? + 4.677355346307093?*I}, {d: 2.098909881681796? - 7.976304898732694?*I, c: 2.087217749636632? + 0.9832034775109886?*I, b: 1.842462784680681? + 0.9902216439902136?*I, a: 1.627605266286217? - 7.980257836988470?*I}, {d: 2.098909881681796? + 7.976304898732694?*I, c: 2.087217749636632? - 0.9832034775109886?*I, b: 1.842462784680681? - 0.9902216439902136?*I, a: 1.627605266286217? + 7.980257836988470?*I}, {d: 2.899196275860352?, c: 10.443295355135846?, b: 9.55053364323166?, a: 3.151865254044454?}, {d: 4.678914126487948?, c: 4.748706904371443?, b: -1.272725461774128?, a: 4.679450529090811?}, {d: 6.256511322284920?, c: -3.673829079116722?, b: 3.298101172644351?, a: -0.10040105640873532?}, {d: 6.356345398068298?, c: 3.702414164088689?, b: 3.237809311221167?, a: -0.05048136000317385?}]
NB : la variable $a$ de la première solution réelle de cette deuxième liste a pour polynôme minimal :x^18 - 2716/81*x^17 + 6832373/10935*x^16 - 264844403/32805*x^15 + 620434577858/7971615*x^14 - 13867927603417/23914845*x^13 + 3938055898276714/1162261467*x^12 - 2440884615080131792/156905298045*x^11 + 26176125168681410272/470715894135*x^10 - 213288371878108012576/1412147682405*x^9 + 418814477797469933504/1412147682405*x^8 - 531337139885487532544/1412147682405*x^7 + 55179111172896965632/282429536481*x^6 + 66030747072455386880/282429536481*x^5 - 730240670665377751552/1412147682405*x^4 + 515085993064481579008/1412147682405*x^3 - 99947451248768794624/1412147682405*x^2 - 25645852474694500352/1412147682405*x - 968825860858707968/1412147682405
-
Avec la 1ère équation, on peut exprimer $b=f_1(a)$
Avec la 4ème équation, on peut exprimer $c=f_2(b)$, et donc $c=f_3(a)$
Avec la 2ème équation, on peut exprimer $d=f_4(a)$
Avec la 3ème équation, on peut exprimer $c=f_5(d)$, et donc $c=f_6(a)$
Et en rapprochant nos 2 fonctions $f_3$ et $f_6$, on peut (????) conclure ?Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. Benjamin Franklin
L'hypocrisie est pire qu'une vérité qui fait mal. Franck Ntasamara. -
En Sage :
R.<a,b,c,d>=PolynomialRing(QQ,4) I=R.ideal([(2*a+2*b-a*b)*(9*a+9*b-16)-(80-18*a*b),\ (8+a*d-2*a-2*d)*(44-27*a+27*d)-(320-216*d+54*a*d),\ (2*c+2*d-c*d)*(40-9*c-9*d)-(72*c+72*d-18*c*d-128),\ (8-2*b-2*c+b*c)*(28-27*b+27*c)-(400-216*c+54*b*c)]) print "nombre total de solutions :", I.vector_space_dimension() print "solutions réelles :" I.variety(AA)
donnenombre total de solutions : 18 solutions réelles : [{c: 6.311999633571154?, b: -0.07081824293700121?, d: -3.731702180683524?, a: 3.262376611004902?}, {c: 0.4163468491400879?, b: -0.10199503977962867?, d: -3.554339759634776?, a: 3.300025623478831?}, {c: -1.021610511539594?, b: 4.385918845008747?, d: -0.9785333354832754?, a: -1.017510322738360?}, {c: -5.800455617014250?, b: -6.697002461800885?, d: 0.8968786486151639?, a: 1.156924934121394?}, {c: 1.758876726164091?, b: 1.414627199186752?, d: 1.253903813838564?, a: 1.559466404677516?}, {c: 1.593685187351553?, b: 1.236858339388141?, d: 1.423084608570272?, a: 1.743644771580269?}, {c: 10.443295355135846?, b: 9.55053364323166?, d: 2.899196275860352?, a: 3.151865254044454?}, {c: 4.748706904371443?, b: -1.272725461774128?, d: 4.678914126487948?, a: 4.679450529090811?}, {c: -3.673829079116722?, b: 3.298101172644351?, d: 6.256511322284920?, a: -0.10040105640873532?}, {c: 3.702414164088689?, b: 3.237809311221167?, d: 6.356345398068298?, a: -0.05048136000317385?}]
Ce sont des réponses exactes (les coordonnées des solutions sont des nombres algébriques réels, dont une valeur numérique approchée est affichée).
PS. Je viens de voir que Math Coss est passé des flottants aux nombres algébriques réels; -
En effet : les vérifications numériques avec les flottants n'étaient pas convaincantes.
Cela dit, je suis surpris par le nombre de solutions complexes, 18. Sachant que l'on a quatre équations de degré trois en quatre inconnues, n'en aurait-on pas perdu un grand nombre (à l'infini ?). -
Un grand merci à tous pour ces réponses (tu)
Les deux solutions dont les inconnues sont des réels dans [0;3] sont exactement celles qui donnent les réponses à mon problème . Je ne connais absolument pas le logiciel Sage mais il semble vraiment performant : je vais m'y mettre .
J'ai cru comprendre que le point d'interrogation suivant les solutions indiquait qu'il s'agissait de solutions algébriques ( c'est assez naturel ) , le logiciel fournit-il une solution en radicaux si elle existe ?
Encore merci à tous les trois .
Domi -
Sage ne trouve pas d'expression radicale.
In:Sol=I.variety(AA) for i in [a,b,c,d] : print i,":",Sol[4][i].radical_expression()
Out:a : 1.559466404677516? b : 1.414627199186752? c : 1.758876726164091? d : 1.253903813838564?
-
Quand on demande à Sage ce qu'il connaît de la coordonnée a de la solution donnée ci-dessus :
sage_input(Sol[4][a])
voici ce qu'il répond :R.<x> = AA[] v = AA.polynomial_root(AA.common_polynomial(x^18 - 2*x^17 + 1820208*x^16 + 5619303666*x^15 - 69489724441140*x^14 - 25545474421451082*x^13 + 197098759609819675704*x^12 + 17554138658170179313914*x^11 + 1249469516658881114528958*x^10 - 21965042738925694778298531030*x^9 - 152705257838124440023273673637792*x^8 - 19792107424500576383544116606720586*x^7 - 47004742926585226259695650532224929796*x^6 + 5156423489336507013182702985675742334418*x^5 + 5509880713840157833770957893654431637946360*x^4 + 3993024655398324237642572591933743140777875166*x^3 + 2256827265043645864801416317422646323380146131833*x^2 + 365923081099056528937834850116164430661608079095248*x + 16249732892739211859281407750169548451611223974125376), RIF(-RR(143.16895539538157), -RR(143.16895539538154))) 594748278581378613361285047895580826605177056426641775148538266516834711909845836786251/150406195761748800888420344518371688817497630318113663093368558038962248216883988653852448328743189603425760607939717162995200000000000000*v^17 - 215133975634212310345978853603943389567145473639668425389805337668580644541162783350563209/150406195761748800888420344518371688817497630318113663093368558038962248216883988653852448328743189603425760607939717162995200000000000000*v^16 + 19641845980145708173362546229455164273563967275274338226236729052548257822417247457144438837/3342359905816640019742674322630481973722169562624748068741523511976938849264088636752276629527626435631683569065327048066560000000000000*v^15 + 22440937072268837669266387199016841083490709190776362933289113344283496409825161950865353728059/1114119968605546673247558107543493991240723187541582689580507837325646283088029545584092209842542145210561189688442349355520000000000000*v^14 - 317258469850939647325415929602124810633983523082369776447436846859156817132252388166179585954350151/1114119968605546673247558107543493991240723187541582689580507837325646283088029545584092209842542145210561189688442349355520000000000000*v^13 - 16442261507973573149603408322409743962802811930828112367844087967733254745731735227999431669469419317/1856866614342577788745930179239156652067871979235971149300846395542743805146715909306820349737570242017601982814070582259200000000000000*v^12 + 564006337646062358834599404844349532679842283678024753346389889964885279706013049028341539588504099544871/618955538114192596248643393079718884022623993078657049766948798514247935048905303102273449912523414005867327604690194086400000000000000*v^11 - 2893068666654301576108183409944103557551637340279613911926916749097573400740949238625168132373340529051737/13754567513648724361080964290660419644947199846192378883709973300316620778864562291161632220278298089019273946770893201920000000000000*v^10 - 1488038800750042120193528514508239967759582171410008013990774809947637479856967325717313537097429041866309699/4584855837882908120360321430220139881649066615397459627903324433438873592954854097053877406759432696339757982256964400640000000000000*v^9 - 5658008814165291216921801888664169841658203176867869143832903200199535034593756703039769840064678406503533031/509428426431434235595591270024459986849896290599717736433702714826541510328317121894875267417714744037750886917440488960000000000000*v^8 - 3580572837153368508126023513877432848311141819437505365085426550535764079411691435148377375804513706905585816170079/7641426396471513533933869050366899802748444358995766046505540722398122654924756828423129011265721160566263303761607334400000000000000*v^7 + 120041847594962252046725795689033676033834858293342276205100171789616591157359331644342455986520717508815422645899589/849047377385723725992652116707433311416493817666196227389504524710902517213861869824792112362857906729584811529067481600000000000000*v^6 + 151192401731686335494730493518611348406864289001081059030163560476109263015652128309922736527254923827763679575354353/56603158492381581732843474447162220761099587844413081825966968314060167814257457988319474157523860448638987435271165440000000000000*v^5 + 2014863361684999447545277499951881567125739767437965679624284446775747965549644359389342973127254375268042769964690367173/56603158492381581732843474447162220761099587844413081825966968314060167814257457988319474157523860448638987435271165440000000000000*v^4 + 255688911795123270222745637135030464779183683605564598381517636593471059621722327773918977150335109520445531986576029350521/18867719497460527244281158149054073587033195948137693941988989438020055938085819329439824719174620149546329145090388480000000000000*v^3 - 22046184054971488458913904507247185808867698138763623549129260644390054434359106429502000545072036278712183105958020794781963/4492314166062030296257418606917636568341237130508974748092616532861918080496623649866624933136814321320554558354854400000000000000*v^2 + 98025173425889244096460042721492538105688703955672837850181355951821758297621589741949873949989167555800645492649246531597737/72792127690819935356022986686165407357381157207321350084834064189892191119158253585801792898050232058434911825194400000000000000*v + 1123951795560541265910490850006188685920435793346871698958843742847744809103858671969752148531654484404150611797196630187227/599112162064361607868501948034283188126593886480011111809333861645203219087722251734994180230866107476830550001600000000000
Il répond que a est un polynôme de degré 17 en la racine v d'un polynôme de degré 18 qui est comprise entre -143.16895539538157 et -143.16895539538154. Le 18, c'est la dimension comme espace vectoriel du quotient de l'anneau de polynôme en a,b,c,d par l'idéal engendré par les équations, autrement dit le nombre de racines réelles ou complexes. -
Math Coss a écrit:Cela dit, je suis surpris par le nombre de solutions complexes, 18. Sachant que l'on a quatre équations de degré trois en quatre inconnues, n'en aurait-on pas perdu un grand nombre (à l'infini ?).
gf=I.groebner_fan() gf.mixed_volume()
Le théorème de Kouchnirenko-Bernstein dit que le volume mixte de $n$ polytopes $K_1,\ldots K_n$ à sommets dans $\mathbb Z^n$ est le nombre de solutions dans le tore $(\mathbb C^*) ^n$ d'un système générique de $n$ équations $f_i=0$ à $n$ inconnues dont le polytope de Newton est $K_i$.
Le système de Domi ne semble pas très générique. -
Il y a bien 18 solutions complexes, dont 10 reelles, on peut le verifier avec la commande csolve ou solve de Xcas, par exemple
s:=solve([(2*a+2*b-a*b)*(9*a+9*b-16)-(80-18*a*b), (8+a*d-2*a-2*d)*(44-27*a+27*d)-(320-216*d+54*a*d), (2*c+2*d-c*d)*(40-9*c-9*d)-(72*c+72*d-18*c*d-128), (8-2*b-2*c+b*c)*(28-27*b+27*c)-(400-216*c+54*b*c)],[a,b,c,d])
Si on veut en savoir plus sur la representation exacte des solutions (pour faire des calculs exacts avec des polynomes en a,b,c,d en des points solutions, ou pour avoir des valeurs approchees plus precises des solutions), on peut utiliser la commande gbasis de Xcas avec l'otion rur qui donne une representation rationnelle univariee de ces solutionsG:=gbasis([(2*a+2*b-a*b)*(9*a+9*b-16)-(80-18*a*b), (8+a*d-2*a-2*d)*(44-27*a+27*d)-(320-216*d+54*a*d), (2*c+2*d-c*d)*(40-9*c-9*d)-(72*c+72*d-18*c*d-128), (8-2*b-2*c+b*c)*(28-27*b+27*c)-(400-216*c+54*b*c)],[a,b,c,d],rur)
G[1] indique qu'on peut tout exprimer en fonction de d (plus generalement il faut prendre une combinaison lineaire des inconnues).
G[2] est le polynome minimal, de degre 18, toutes les solutions peuvent s'exprimer comme des fractions rationnelles sur une extension algebrique de Q ayant ce polynome minimal, avec au denominateur G[3] la derivee du polynome minimal et au numerateur G[4] a G[7] respectivement pour les composantes a, b, c et d.
Ainsi l:=proot(G[2],40) donne toutes les valeurs possibles de d avec 40 digits, (G[5]/G[3])(a=l[0]) donnera la valeur de b correspondant a la 1ere racine de G[2], etc.
Comme on peut utiliser d comme variable, G[7]/G[3] doit etre equivalent a a, ce qu'on peut verifier par rem(numer(G[7]/G[3]-a),G[2],a) -
Pour info, est-ce que Xcas calcule le volume mixte des polytopes de Newton des équations ? Si oui trouve-t-il aussi 31 ?
-
Non, je n'ai jamais regarde ce genre de choses, qui semble nettement plus specialise que la recherche de solutions de systemes polynomiaux. Je suppose que c'est Singular qui fait ce calcul pour sage, donc ca ne doit pas etre trop difficile a ajouter si cela presente un interet pour les utilisateurs de Xcas (en linkant aussi avec Singular).
-
Non, ce n'est pas Singular.
-
C'est du code propre a sage alors? Singular n'a pas de fonction pour ca?
-
Sage passe par gfan (pour Groebner fan). On peut aussi passer par PHCpack.
-
Merci. Mais bon, comme Singular n'a pas cette fonctionnalite, j'imagine que ca ne doit pas etre tres utilise, donc pas prioritaire pour Xcas. Evidemment si quelqu'un me propose un patch tout pret pour le mettre dans Xcas, je l'ajouterai volontiers.
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 165.5K Toutes les catégories
- 64 Collège/Lycée
- 22.2K Algèbre
- 37.6K Analyse
- 6.3K Arithmétique
- 61 Catégories et structures
- 1.1K Combinatoire et Graphes
- 13 Sciences des données
- 5.1K Concours et Examens
- 26 CultureMath
- 51 Enseignement à distance
- 2.9K Fondements et Logique
- 10.8K Géométrie
- 85 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 79 Informatique théorique
- 3.9K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 29 Mathématiques et finance
- 343 Mathématiques et Physique
- 5K Mathématiques et Société
- 3.4K Pédagogie, enseignement, orientation
- 10.1K Probabilités, théorie de la mesure
- 804 Shtam
- 4.2K Statistiques
- 3.8K Topologie
- 1.4K Vie du Forum et de ses membres