Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 16 Jui 2011, 9:52
Voici un programme qui permet de calculer les coefficients de la représentation irréductible d'un groupe une fois les caractères connus.
Pour l'instant le programme à une interface merdique donc il faut rentrer au préalable la table de caractère du groupe ponctuel de symétrie dans la matrice A et les caractères ainsi que les coefficients des éléments de symétrie dans la matrice B avec en 1ere ligne les caractères de la molécule.
Code
ClrHome
dim([A]->L1
dim([B]->L2
If L1(1)[=/=]L1(2)
Then
Disp "[A] ET [B] PAS","DE MEME TAILLE"
Stop
End
DelVar G
For(A,1,L1(1
[B](2,A)+G->G
End
Disp "ORDRE G=",G
Pause
ClrHome
For(B,1,L1(2
DelVar C
For(A,1,L1(1
[A](B,A)[B](1,A)[B](2,A)+C->C
End
Disp "COEFFICIENT DE","LA REPRES.","IRREDUC N°",B,"=",C/G
Pause
ClrHome
End
Output(1,1," "
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 16 Jui 2011, 10:39
Ne comprenant pas le sens du rogramme (je ne suis qu'en 1erS SVT ), la seule chose quie je peu faire c'est l'optimiser:
Code
ClrHome
dim([A]->L1
dim([B]->L2
If L1(1)[=/=]L1(2 //ici
Then
Disp "[A] ET [B] PAS","DE MEME TAILLE //ici
Stop
End
DelVar G
For(A,1,L1(1
G+[B](2,A->G //ici
End
Disp "ORDRE G=",G
Pause
ClrHome
For(B,1,L1(2
DelVar C
For(A,1,L1(1
C+[A](B,A)[B](1,A)[B](2,A->C //ici
End
Disp "COEFFICIENT DE","LA REPRES.","IRREDUC N°",B,"= //ici *2
Pause C/G
ClrHome
End
Output(1,1," " //tu peu si tu vu remplacer par " mais celà te fera passer direct à la ligne 2
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes
Autorisation : Membre
Nb de messages : 3293
Inscrit le : Sam 31 Déc 2005, 19:48
Posté le : Jeu 16 Jui 2011, 10:43
Mouai, l'optimiser en enlevant deux parenthèses, c'est pas terrible comme modification.
A la limite si tu me trouve un algorithme plus court pour faire ces sommes, ça serais plus utile.
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Jeu 16 Jui 2011, 16:33
Tu utilises la hauteur de la matrice comme maximum à l'abscisse (et vice versa), je ne sais pas où ça mène...
dim([A])={Y,X} normalement
Du coup ce que j'immagine après est peut-être faux. (mais cela reste assez innefficace)
Pour les ti82stat et suppérieures :
Code
DelVar G
For(A,1,L1(1
G+[B](2,A->G
End
// remplacé par :
Matr>List([B]T,2,L2 // T est la tranposition
sum(L1->G
Code
For(B,1,L1(2
DelVar C
For(A,1,L1(1
C+[A](B,A)[B](1,A)[B](2,A->C
End
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 1366
Inscrit le : Ven 25 Mar 2011, 22:58
Posté le : Jeu 16 Jui 2011, 20:53
Tu pourrait s'il te plaît m'expliquer en 2-3 lignes à quoi cert concrètement ce programme car "calculer les coefficients de la représentation irréductible d'un groupe une fois les caractères connus" est aussi incompréhensible que du chinois, et le chinois je pourrais encore essayer avec google traduction, mais ça...
Sandro
---------------------- mort à l'inutile, place à la mémoire libre et aux programmes