Bonjour, pourriez vous m'aider sur un probleme de transcription en algo d'un probleme math : soit B une matrice 3 x 3
|0,8 0,1 0,05|
|0,3 1,2 0,1 |
|0,1 0,2 0,4 |
Je doit trouver un algo qui me permet de trouver la valeur n de la matrice B^n (B puissance n) telle que tout les termes de la matrice soit supérieur à k = 1.
c'est pour un langage TI
Je seche complètement, et vous remercie d'avance pour l'aide
Logarithme pour un calcul sur matrice
4 posts
• Page 1 of 1
-
fred fabry
Niveau 1: MD (Membre Débutant)- Posts: 1
- Joined: 09 Jan 2013, 15:32
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Logarithme pour un calcul sur matrice
Euh, en fait, il n'y a pas besoin de logarithme mais d'un algorithme (notez l'anagramme !).
En pseudo-code :
Le problème (mathématique) est de savoir si cette boucle s'arrêtera un jour...
En pseudo-code :
- Code: Select all
B->A
1->n
Tant que (au moins un terme de la matrice A est strictement plus petit que 1) faire :
B*A->A
n+1->n
Fin tant que
Renvoyer n
Le problème (mathématique) est de savoir si cette boucle s'arrêtera un jour...
Show/Hide spoilerAfficher/Masquer le spoiler
On peut démontrer que cette matrice B est diagonalisable avec 3 racines réelles dont deux entre 0 et 1 et une supérieure à 1. Donc chaque coefficient de la matrice va s'écrire comme une combinaison linéaire des puissances n-èmes de ces 3 valeurs propres et puisque l'une d'elles est strictement plus grande que 1, au moins 1 des coefficients va tendre vers +oo ou -oo. De plus tous les coeffs vont rester positifs. Mais pour arriver à prouver que TOUS les coeffs vont dépasser 1, ce n'est pas encore gagné.
Show/Hide spoilerAfficher/Masquer le spoiler
Dans les faits, par l'algorithme proposé ci-dessus, on trouve que n=14 est la plus petite valeur de n qui convienne.
-
BisamAdmin
Niveau 15: CC (Chevalier des Calculatrices)- Posts: 5670
- Joined: 11 Mar 2008, 00:00
- Location: Lyon
- Gender:
- Calculator(s):→ MyCalcs profile
Re: Logarithme pour un calcul sur matrice
"au moins un terme de la matrice A est strictement plus petit que 1" se traduit dans le langage de la Nspire:
Tant que j'y suis, je donne aussi la formule du max, (ça peut toujours servir ailleurs) :
- Code: Select all
min(mat▶list(min(a))) < 1
Tant que j'y suis, je donne aussi la formule du max, (ça peut toujours servir ailleurs) :
- Code: Select all
max(mat▶list(max(a)))
-
marseille
Niveau 4: MC (Membre Confirmé)- Posts: 23
- Joined: 19 Feb 2013, 13:48
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: autre
Re: Logarithme pour un calcul sur matrice
min(mat▶list(min(a))) < 1
Je trouve dommage que l'implémentation de TI oblige à passer par un mat▶list
En code natif, comme sur TI-68k ( http://debrouxl.github.com/gcc4ti/estack.html ), on utiliserait any_tail + un wrapper de compare_expressions qui rend une valeur du bon type, ou bien, pour le cas particulier de la comparaison avec 1, subtract1_from_top et is_negative. Mais TI ne veut pas qu'on fasse quoi que ce soit en code natif, pas même des programmes de maths...
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
-
Lionel DebrouxSuper Modo
Niveau 14: CI (Calculateur de l'Infini)- Posts: 6865
- Joined: 23 Dec 2009, 00:00
- Location: France
- Gender:
- Calculator(s):→ MyCalcs profile
- Class: -
- GitHub: debrouxl
4 posts
• Page 1 of 1
Who is online
Users browsing this forum: ClaudeBot [spider] and 1 guest