π
<-

[Mini-Challenge Basic #5] : Matrice hessienne

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

[Mini-Challenge Basic #5] : Matrice hessienne

Unread postby Levak » 03 Jul 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: Select all
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: Select all
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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

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

Unread postby pierrotdu18 » 03 Jul 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

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

Unread postby Levak » 04 Jul 2014, 00:04

pierrotdu18 wrote: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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

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

Unread postby pierrotdu18 » 04 Jul 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

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

Unread postby pierrotdu18 » 04 Jul 2014, 00:08

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

Code: Select all
hess(v,eq):=seq(seq(((eq,v[j]),v[i]),j,1,dim(v)),i,1,dim(v))


Image
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

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

Unread postby Levak » 04 Jul 2014, 00:24

pierrotdu18 wrote:
Code: Select all
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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

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

Unread postby pierrotdu18 » 04 Jul 2014, 00:28

Bon bah exæquo alors ^^
Tu nous montre ce que tu as fait? :)
Bonjour
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

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

Unread postby Levak » 04 Jul 2014, 05:46

Code: Select all
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
User avatar
LevakAdmin
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 98.9%
 
Posts: 6414
Images: 22
Joined: 27 Nov 2008, 00:00
Location: 0x1AACC355
Gender: Male
Calculator(s):
MyCalcs profile
Class: BAC+5: Epita (ING3)

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

Unread postby Adriweb » 04 Jul 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
User avatar
AdriwebAdmin
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 79.9%
 
Posts: 14839
Images: 1131
Joined: 01 Jun 2007, 00:00
Location: France
Gender: Male
Calculator(s):
MyCalcs profile
Twitter: adriweb
GitHub: adriweb

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

Unread postby pierrotdu18 » 06 Jul 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
User avatar
pierrotdu18Premium
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 40.5%
 
Posts: 975
Joined: 07 Nov 2013, 20:18
Location: Paris V
Gender: Male
Calculator(s):
MyCalcs profile
Class: MP* Lycée Henri IV

Next

Return to Mini-Challenges

Who is online

Users browsing this forum: ClaudeBot [spider] and 1 guest

-
Search
-
Social TI-Planet
-
Featured topics
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 !
1234
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2599 utilisateurs:
>2586 invités
>6 membres
>7 robots
Record simultané (sur 6 mois):
6892 utilisateurs (le 07/06/2017)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)