π
<-

[Mini-Challenge Basic #5] : Matrice hessienne

Sous-forums réunissant les mini-challenges en TI-Basic Nspire

[Mini-Challenge Basic #5] : Matrice hessienne

Message non lude Levak » 03 Juil 2014, 20:02

Keskecé ?
RTFW : http://fr.wikipedia.org/wiki/Matrice_hessienne
$mathjax$H_{ij}(f) = \frac{\partial^2 f}{\partial x_i\partial x_j}$mathjax$


J'ai pas fait spé math !
Moi non plus. Si ça vous gène, dites-vous simplement que c'est la dérivée d'une dérivée.

Fonction à coder : hess(v, eq) := ...
Arguments :
  • v : Matrice ou liste (verticale ou horizontale, comme vous voulez) à 1 dimension donnant la liste des variables sur lesquelles dériver.
  • eq : La fonction (sous forme d'expression).
Valeur de retour : Matrice hessienne de eq

Exemple :
Code: Tout sélectionner
hess(| e1 |, e1² + e2² + e3²) = | 2 0 0 |
     | e2 |                     | 0 2 0 |
     | e3 |                     | 0 0 2 |


Interdit à...
  • Libs externes
  • Prgm
  • Func

Gné ?
C'est facile ... quand on connait le truc.
Un indice :
fortytwo(x):=list@>mat(seq(i*42, i, 1, 42))

Evaluation du vainqueur
21 caractères :
Code: Tout sélectionner
hess_(eq) := eq+42
             |---|
hess(v, eq) := sum({hess_(eq)})
               |--------------|
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude pierrotdu18 » 03 Juil 2014, 23:54

Heu... est ce que le nombre de variables de la fonction est défini à 3 ou on doit pouvoir gérer tous les cas ?...
Car j'ai une solution (quoi qu'un peu triviale) pour un nombre défini de variables, mais si on veut que ça marche pour n'importe quel nombre de variables, je crois qu'il va falloir traficoter des strings...
Ma solution, pour 3 variables, fait 57 caractères et a l'air de marcher car elle renvoie bien la matrice que tu as donnée en exemple... voili voilou, j'attends plus d'explications avant de poster ma (première) réponse ;)

EDIT : Ouuups j'avais oublié qu'on passait une expression en argument :p
Donc j'ai une solution qui fonctionne ! ;) Je l'ai essayée avec plusieurs fonctions et elle marche

Par contre je ne posterai le code que plus tard sinon c'est pas drôle, en tout cas, elle fait 50 caractères ;)

EDIT2 : Je crois, d'ailleurs, que c'est la seule solution......
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude Levak » 04 Juil 2014, 00:04

pierrotdu18 a écrit:Heu... est ce que le nombre de variables de la fonction est défini à 3 ou on doit pouvoir gérer tous les cas ?...

La dimension de la matrice hessienne est carrée dépendant de la taille de v; Donc non, ce n'est pas limité à 3.
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude pierrotdu18 » 04 Juil 2014, 00:06

Bon bah voilà, à part en gagnant de la place avec le nom de la variable "eq" qui pourrait être remplacé par "e", je ne vois pas comment on peut optimiser ça...
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude pierrotdu18 » 04 Juil 2014, 00:08

Bon, finalement c'est tellement trivial que je poste ma solution... :

Code: Tout sélectionner
hess(v,eq):=seq(seq(((eq,v[j]),v[i]),j,1,dim(v)),i,1,dim(v))


Image
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude Levak » 04 Juil 2014, 00:24

pierrotdu18 a écrit:
Code: Tout sélectionner
hess(v,eq):=seq(seq(((eq,v[j]),v[i]),j,1,dim(v)),i,1,dim(v))


Je pensais pas que ma solution, qui est plus belle, faisait exactement le même nombre de caractères (50) ...
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude pierrotdu18 » 04 Juil 2014, 00:28

Bon bah exæquo alors ^^
Tu nous montre ce que tu as fait? :)
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude Levak » 04 Juil 2014, 05:46

Code: Tout sélectionner
hess(v,eq):=constructMat(((eq,v[j]),v[i]),i,j,dim(v),dim(v))
Responsable design/graphique de TI-Planet
I do not get mad at people, I just want them to learn the way I learnt.
ImageTNOC [topic][DL]
nClock [topic][DL]
HideManager [topic][DL]
ZLock [topic][DL]
Theme Editor [topic][DL]
Mes programmes
Avatar de l’utilisateur
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Prochain niv.: 98.9%
 
Messages: 6414
Images: 22
Inscription: 27 Nov 2008, 00:00
Localisation: 0x1AACC355
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: BAC+5: Epita (ING3)

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude Adriweb » 04 Juil 2014, 11:46

Quelle est la plus rapide, maintenant ? :P

MyCalcs: Help the community's calculator documentations by filling out your calculators info!
MyCalcs: Aidez la communauté à documenter les calculatrices en donnant des infos sur vos calculatrices !
Inspired-Lua.org: All about TI-Nspire Lua programming (tutorials, wiki/docs...)
My calculator programs
Mes programmes pour calculatrices
Avatar de l’utilisateur
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Prochain niv.: 82.1%
 
Messages: 14880
Images: 1211
Inscription: 01 Juin 2007, 00:00
Localisation: France
Genre: Homme
Calculatrice(s):
MyCalcs profile
Twitter/X: adriweb
GitHub: adriweb

Re: [Mini-Challenge Basic #5] : Matrice hessienne

Message non lude pierrotdu18 » 06 Juil 2014, 11:36

Je vais faire des tests :)

(mais Levak n'avait pas parlé de vitesse dans ses critères d'évaluation :p (je dis ça parce qu'il n'utilise qu'une fonction, faite pour, et que donc, ça sera sûrement plus rapide :D (qui sait ^^)))
Bonjour
Avatar de l’utilisateur
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Prochain niv.: 40.5%
 
Messages: 975
Inscription: 07 Nov 2013, 20:18
Localisation: Paris V
Genre: Homme
Calculatrice(s):
MyCalcs profile
Classe: MP* Lycée Henri IV

Suivante

Retourner vers Mini-Challenges

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

-
Rechercher
-
Social TI-Planet
-
Sujets à la une
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Faire un don / Premium
Pour plus de concours, de lots, de tests, nous aider à payer le serveur et les domaines...
Faire un don
Découvrez les avantages d'un compte donateur !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partenaires et pub
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2185 utilisateurs:
>2162 invités
>14 membres
>9 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Autres sites intéressants
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)