Inscription / Connexion Nouveau Sujet

1 2 +


Posté par
dpi
re : PB 1156 du Monde 15-10-20 à 13:58

Bonjour,
Heureux que Imod confirme mes cotes principales.
Au passage je corrige deux nombres mal  recopiés.
Mai ce qui est curieux c'est que personne ne donne
le fameux 4 ème coté du "triangle" d'aire 2

PB 1156 du Monde

Posté par
dpi
re : PB 1156 du Monde 15-10-20 à 14:56

Démonstration de l'existence du petit coté
*On est tous d'accord sur les 4 cotes principales de la version valide.
*soit coté ouest : a+b =2.4559686478-base du "triangle" =4.825005805
*avec hauteur h=C =36=7.3484692283 on obtient une aire
de 17.9761949829 au lieu de 18 ce qui pourrait passer pour un écart de décimales,
MAIS
On sait que le milieu des obliques passe par un pont précis  (question 1)
ces points sont situés à 6 des cotés C .
Un petit coup de géométrie nous donne les coté opposés à a et b
soit 3.4264731756 et 39155167023
la somme de ces deux nombres : 7.3419898779  définit un petit coté
de 0.0064793505.
Une dernière vérification de l'aire de la zone aboutit exactement à18
CQFD

Posté par
derny
re : PB 1156 du Monde 15-10-20 à 15:00

Bonjour
Le 4e côté n'est pas donné car, comme tu sais, il se calcule facilement en fonction des autres données :
4e côté = 1.4725+0.9835-V6

Posté par
dpi
re : PB 1156 du Monde 15-10-20 à 18:41

ok
Au moins il annule l'idée de triangle...

Posté par
GBZM
re : PB 1156 du Monde 16-10-20 à 19:19

Bonjour,

Un code en SageMath pour faire des calculs exacts (avec solutions dans le corps des nombres algébriques réels). Je le mets sans commentaire, je pourrai commenter à la demande. Les notations correspondent au dessin.

R.<x,y,z,t>=PolynomialRing(QQ,"x,y,z,t")

A=vector([0,0,1]); B=vector([6,0,1]); C=vector([6,6,1])
D=vector([0,6,1])
E=vector([3,2,1]); F=vector([4,3,1]); G=vector([3,4,1])
H=vector([2,3,1])
I=vector([x,0,1]); J=vector([y,0,1]); K=vector([0,z,1])
L=vector([0,t,1])

IH=I.cross_product(H); JF=J.cross_product(F)
KE=K.cross_product(E); LG=L.cross_product(G)

def deh(V) : 
    return (1/V[2])*V
                     
M=deh(IH.cross_product(KE)); N=deh(KE.cross_product(JF))
O=deh(JF.cross_product(LG)); P=deh(LG.cross_product(IH))            

def aire(X,Y,Z,T):
    return matrix([X,Y,Z]).determinant()/2+\
    matrix([Z,T,X]).determinant()/2

def SOL(m,n,o,p) :
    eqm=(aire(A,I,M,K)-36*m).numerator()
    eqn=(aire(J,B,2*E-K,N)-36*n).numerator()
    eqo=(aire(O,2*G-L,C,2*F-J)-36*o).numerator()
    eqp=(aire(L,P,2*H-I,D)-36*p).numerator()
    Eq=R.ideal([eqm,eqn,eqo,eqp])
    return Eq.variety(AA)

def test(sol) :
    return 0<sol[x],sol[x]<sol[y],sol[y]<6,\
    0<4-sol[x],4-sol[x]<8-sol[y],8-sol[y]<6,\
    0<sol[z],sol[z]<sol[t],sol[t]<6,\
    0<4-sol[z],4-sol[z]<8-sol[t],8-sol[t]<6


On peut maintenant regarder ce qui se passe pour le carré magique avec les entiers de 2 à 10 :

SOL54=SOL(3/54,7/54,9/54,5/54)
for sol in SOL54 : print(sol,all(test(sol)))


Ça retourne

{t: -0.8245878425176560?, z: -3.645123070370187?, y: 2.440717921081987?, x: 6.788141424251785?} False
{t: 0.5934035790459403?, z: 3.403345442047496?, y: 9.25210741653987?, x: -0.639604465924136?} False
{t: 0.8517856196137716?, z: 3.669797089768421?, y: 1.627825910044510?, x: -0.8584001588605613?} False
{t: 2.922282746523134?, z: 8.04230278721293?, y: -3.056871389025266?, x: 3.459077587539016?} False
{t: 4.800766929846670?, z: 0.7801880873490443?, y: 4.663655090292750?, x: 1.676586145857426?} False
{t: 5.197006363714305?, z: 1.202296302770090?, y: 4.281044875073908?, x: 1.228227305408945?} True
{t: 5.361022856976044?, z: -5.411841875026569?, y: 10.38905018569964?, x: 1.037340610559397?} False
{t: 8.28548485520100?, z: -0.8401725504616788?, y: 6.080549461257653?, x: 3.647737697625243?} False
{t: 8.91082702734852?, z: 6.050131616179808?, y: 5.801889443125856?, x: -2.954336044821071?} False
{t: 9.31311655442615?, z: -0.5942780733366533?, y: 0.5354127922787099?, x: 3.347717394240238?} False

On voit qu'il y a une seule solution réelle du système d'équations qui passe les tests : c'est celle représentée sur le dessin.

On peut recommencer avec les entiers de 3  à 11 :

SOL63=SOL(4/63,8/63,10/63,6/63)
for sol in SOL63 : print(sol,all(test(sol)))


retourne

{t: 0.2899124847562510?, z: 3.371470358131079?, y: 9.369530308624129?, x: -0.4198271057483193?} False
{t: 0.3386311860757003?, z: -2.389539544964186?, y: 1.967558447015791?, x: 5.643428788147184?} False
{t: 0.4117067179814933?, z: 3.473521915296811?, y: 1.926841932281556?, x: -0.5037389461125151?} False
{t: 2.992959209914694?, z: 8.58067720404522?, y: -3.542367971611835?, x: 3.332979534305733?} False
{t: 4.709872846781534?, z: 0.9819876488111103?, y: 4.549016461618829?, x: 1.700188511411708?} True
{t: 4.995303525678712?, z: 1.284667005889008?, y: 4.272059840850521?, x: 1.382291967432100?} True
{t: 5.257391553654345?, z: -5.856241669844155?, y: 10.88834987118611?, x: 1.081030817591312?} False
{t: 7.911934899941168?, z: 5.162112636767268?, y: 6.288957540269233?, x: -1.954160884214222?} False
{t: 8.75092641646610?, z: -0.5254587697964753?, y: 5.867306290293699?, x: 3.499873808315044?} False
{t: 9.43055244404468?, z: -0.3806312101976471?, y: 0.2317495056882033?, x: 3.323678473685862?} False

Il y a cette fois-ci deux solutions qui conviennent.

PB 1156 du Monde

Posté par
Sylvieg Moderateur
re : PB 1156 du Monde 16-10-20 à 20:51

Merci à Imod de nous avoir communiqué son idée de carré de côté 6 avec les inconnues a, b, c et d
Je trouve que c'est plus parlant qu'avec les tangentes.
Et merci à GBZM pour les développements

Dommage que "Affaire de logique" fasse le mort

Posté par
GBZM
re : PB 1156 du Monde 16-10-20 à 22:55

Un zoom sur la zone litigieuse :

PB 1156 du Monde

Posté par
dpi
re : PB 1156 du Monde 17-10-20 à 09:05

Bravo à tous,
Il ne vous a pas échappé que  le zoom de  GBZM correspond à mon observation du
12/10 1h20 et à mon dessin et à la vérification du15/10 13h58.

Posté par
GBZM
re : PB 1156 du Monde 17-10-20 à 14:01

Le zoom est une illustration.

J'insiste sur le fait que le calcul fait avec SageMath, n'est pas un calcul numérique approché, mais un calcul exact, et a donc une force probante que n'a pas un calcul numérique approché.
Le fait que le calcul soit exact n'apparaît peut-être pas dans la sortie, par exemple la sortie :
t: 5.197006363714305?
On a l'impression que SageMath ne connaît de t qu'une valeur approchée, mais en fait quand on va voir sous le capot avec la commande

sage_input(SOL54[5][t])


on reçoit :

R.<t> = AA[]
AA.polynomial_root(AA.common_polynomial(81841914*t^18 - 6687358299*t^17 + 257362862004*t^16 - 6201177586218*t^15 + 104760042558588*t^14 - 1315022163949683*t^13 + 12667563521896536*t^12 - 95269712625798876*t^11 + 563241669943463434*t^10 - 2613286701486237604*t^9 + 9417874754505781260*t^8 - 25803214374050132880*t^7 + 51635133466844090016*t^6 - 69504594429830275584*t^5 + 49473682856166531792*t^4 + 7913176617518654208*t^3 - 48105543651431754240*t^2 + 35450533158613397504*t - 8480722458919940096), RIF(RR(5.197006363714304), RR(5.1970063637143049)))

qui nous dit que ce que SageMath connaît de cette solution t, c'est que c'est l'unique racine de cet horrible polynôme de degré 18 dans l'intervalle entre 5.197006363714304 et 5.1970063637143049.
Quand on demande une comparaison entre nombre algébriques réels ainsi codés, SageMath commence par comparer les intervalles d'isolation des racines et, si ça laisse un doute, passe à un calcul algébrique exact (qui risque de prendre un peu plus de temps).

Posté par
derny
re : PB 1156 du Monde 17-10-20 à 17:00

Bonsoir
Bravo GBZM pour cette programmation et ces résultats.
Mais, quand tu dis que ce n'est pas un calcul approché mais un calcul exact, tu fais un excès de langage il me semble. C'est forcément un calcul approché au sens mathématique du terme. Très approché mais approché quand même non ?

Posté par
GBZM
re : PB 1156 du Monde 17-10-20 à 22:06

Non, c'est vraiment un calcul exact.
Vois tu la différence entre dire
(1) t est égal à a, à 10^{-e} près
et
(2)  t est l'unique racine du polynôme P (à coefficients entiers entre entre b et c.
La forme (2) caractérise entièrement t, au contraire de 1.
Et quand on a deux réels algébriques donnés sous la forme (2), on a des algorithmes qui permettent de répondre de manière exacte à des questions comme : sont-ils égaux ? Sinon, quel est le plus grand ?
C'est impossible avec la forme (1).

Posté par
Imod
re : PB 1156 du Monde 19-10-20 à 12:01

Pour répondre à Sylvieg

Produire un problème chaque semaine et rédiger une réponse prenant en compte les différentes solutions proposées est certainement un travail à temps plein . Il ne faut pas être choqué si les auteurs ne répondent pas instantanément ( généralement ils font part des remarques des lecteurs dans les livres qu'ils publient par la suite ) .

En tout cas , bravo à pisurdeux d'avoir levé le lièvre

Imod

Posté par
GBZM
re : PB 1156 du Monde 19-10-20 à 14:47

Puisque ça ne coûte pas grand chose de faire tourner le petit code écrit en SageMath, on peut compléter :

Entiers de 1 à 9 :

SOL45=SOL(2/45,6/45,8/45,4/45)
for sol in SOL45 : print(sol,all(test(sol)))


{t: -4.842440795446252?, z: -7.784811346064253?, y: 3.130519168161090?, x: 10.77763073564790?} False
{t: 0.9257214510017868?, z: 3.424368898694584?, y: 9.18500068495222?, x: -0.9274218641530016?} False
{t: 1.347898356877965?, z: 3.987011060466358?, y: 1.165075086206183?, x: -1.390797892603651?} False
{t: 2.835309401579424?, z: 7.457315981138679?, y: -2.547556753367246?, x: 3.624431500098823?} False
{t: 4.916064726043096?, z: 0.4834126981867848?, y: 4.834622591213940?, x: 1.656155531027010?} False
{t: 5.492388887292030?, z: -4.954534531670760?, y: 9.85308605208541?, x: 0.9914911073775540?} False
{t: 5.505723505420260?, z: 1.113251008475384?, y: 4.269354580500429?, x: 0.9757539363251663?} False
{t: 7.756184271309039?, z: -1.283126455971557?, y: 6.386263816498708?, x: 3.858077991044631?} False
{t: 9.24370774299624?, z: -0.8750928892520167?, y: 0.8700326428266845?, x: 3.359560041068483?} False
{t: 11.86369802979028?, z: 8.86897554414224?, y: 5.088347057520604?, x: -5.913495525598766?} False

Aucune solution.

Entiers de 4 à 12 :

SOL72=SOL(5/72,9/72,11/72,7/72)
for sol in SOL72 : print(sol,all(test(sol)))


{t: 0.008095189383238297?, z: 3.335286002561930?, y: 9.514185281855620?, x: -0.2445293388767842?} False
{t: 0.01209438739983549?, z: 3.338098057817311?, y: 2.138507302757580?, x: -0.2468487415996869?} False
{t: 0.9406747245871378?, z: -1.713655381598867?, y: 1.583351133599442?, x: 5.052798673138842?} False
{t: 3.051474801985433?, z: 9.08123833337136?, y: -4.003931995487914?, x: 3.233169692214121?} False
{t: 4.636771328410167?, z: 1.127384939777991?, y: 4.467302689607525?, x: 1.722945139603504?} True
{t: 4.852623898743587?, z: 1.355196002089510?, y: 4.257114730079282?, x: 1.485558136823886?} True
{t: 5.173176566984443?, z: -6.284722182322517?, y: 11.35723570746833?, x: 1.120937954170503?} False
{t: 7.352019857155950?, z: 4.689701447255976?, y: 6.682584816150799?, x: -1.392848290587916?} False
{t: 9.17024393238024?, z: -0.2882701389492473?, y: 5.708132366934418?, x: 3.388285424794410?} False
{t: 9.573963969577167?, z: -0.2105525296574201?, y: -0.04905186383848796?, x: 3.294072349868141?} False

Deux solutions.

Entiers de 5 à 13 :

SOL81=SOL(6/81,10/81,12/81,8/81)
for sol in SOL81 : print(sol,all(test(sol)))


{t: -0.3563453980682981?, z: 3.237809311221167?, y: 2.297585835911312?, x: -0.05048136000317385?} False
{t: -0.2565113222849197?, z: 3.298101172644351?, y: 9.67382907911672?, x: -0.10040105640873532?} False
{t: 1.321085873512053?, z: -1.272725461774128?, y: 1.251293095628557?, x: 4.679450529090811?} False
{t: 3.100803724139648?, z: 9.55053364323166?, y: -4.443295355135847?, x: 3.151865254044454?} False
{t: 4.576915391429729?, z: 1.236858339388141?, y: 4.406314812648448?, x: 1.743644771580269?} True
{t: 4.746096186161436?, z: 1.414627199186752?, y: 4.241123273835910?, x: 1.559466404677516?} True
{t: 5.103121351384836?, z: -6.697002461800885?, y: 11.80045561701425?, x: 1.156924934121394?} False
{t: 6.978533335483275?, z: 4.385918845008747?, y: 7.021610511539593?, x: -1.017510322738360?} False
{t: 9.554339759634776?, z: -0.10199503977962867?, y: 5.583653150859913?, x: 3.300025623478831?} False
{t: 9.73170218068353?, z: -0.07081824293700121?, y: -0.3119996335711542?, x: 3.262376611004902?} False

Deux solutions encore.

Question subsidiaire : y a-t-il toujours exactement deux solutions pour les entiers de k-4 à k+4 pour tout k supérieur ou égal à 7 ?

Posté par
Imod
re : PB 1156 du Monde 19-10-20 à 17:59

Pour la question subsidiaire je suis quasi-convaincu que la réponse est oui . Avec l'interprétation géométrique , plus les nombres sont grands et moins les segments ont des chances de se croiser à l'intérieur du carré .

Imod

Posté par
Sylvieg Moderateur
re : PB 1156 du Monde 20-10-20 à 11:28

Bonjour,
J'ai reçu une réponse de l'équipe de tangente.
Ils me répondent que je ne donne pas de solution pour les entiers de 2 à 10.
En effet, je me contentais dans mon message de remettre en cause le raisonnement pour l'aire 2 qui ne serait atteignable qu'avec un triangle et une baguette verticale.
J'ai répondu en précisant l'objectif de mon premier courriel.
Je me suis aussi permise, pour mieux les convaincre, de joindre la dernière figure de dpi, en prenant soin d'en préciser le pseudo de l'auteur.
J'ai aussi donné le lien vers ce sujet.
Enfin, j'ai signalé la démarche originale de Imod

Posté par
pisurdeux
re : PB 1156 du Monde 20-10-20 à 15:16

J'ai moi aussi reçu une réponse d'affaire de logique :  ils veulent une copie d'écran pour être convaincus : comme si un dessin pouvait certifier que tel quadrilatère a une aire exactement égale à 2 ou 3... Je les ai renvoyés à ce forum, où les schémas abondent.
Il s disent la solution contradictoire, sans dire pourquoi.
Merci à tous de leur participation : c'est bon de se sentir soutenu.

Posté par
GBZM
re : PB 1156 du Monde 20-10-20 à 15:53

Le calcul algébrique exact fait en SageMath fournit une démonstration difficilement contestable. Je peux le commentersi besoin est.

Posté par
Sylvieg Moderateur
re : PB 1156 du Monde 21-10-20 à 10:10

Bonjour,
L'équipe de Tangente commence à être convaincue
Bravo pisurdeux !
Et tous les autres participants de ce sujet !

Posté par
Imod
re : PB 1156 du Monde 21-10-20 à 11:56

Une telle unanimité ne pouvait que faire réagir

Merci d'avoir défendu le truc pour nous tous

Imod  

Posté par
dpi
re : PB 1156 du Monde 21-10-20 à 14:39

>Sylvieg,
Merci de m'avoir fait briller

1 2 +




Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !