IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Recherche invariant matriciel


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut Recherche invariant matriciel
    Bonjours,
    Dans le cadre d'un stage je dois developper un programme de crystallographie, et j'ai du mal à trouver la solution à mon probleme. Voici déjà un exemple de ce que je recherche :

    Soit une matrice carré R (de dimension 3 pour l'instant mais pouvant aller jusqu'a 6) :
    Je recherche un invariant H de cette matrice, c'est à dire resoudre RH=H, qui donne (R-I)H=0 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    -1 1  0    h
    1 -1  0  x k = 0
    0  0 -2    l
    Evidemment je resouds ce systeme par la méthode de Gauss-Jordan, ce qui me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    h  l  k  X      (cette ligne représente les numéros des variables)
    1  0 -1  0      (la derniere colonne est biensure celle du résultat du systeme)
    0  1  0  0
    0  0  0  0

    C'est ici que j'ai mon probleme, je cherche à modeliser la solution de façon générale, par exemple ici la solution que voudrais serait hh0 (on voit bien h=k et l=0 d'où hh0), qui peut etre ecrit sous forme matricielle :

    En conclusion mon probleme est de passer de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    h  l  k  X 
    1  0 -1  0     à     1  0  0
    0  1  0  0           1  0  0
    0  0  0  0           0  0  0
    Voilà, j'espere m'être bien expliqué. N'hesitez pas à me demander plus d'informations en cas de besoin.

    Merci.

    A+

  2. #2
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut
    Citation Envoyé par Etrange
    C'est ici que j'ai mon probleme, je cherche à modeliser la solution de façon générale, par exemple ici la solution que voudrais serait hh0 (on voit bien h=k et l=0 d'où hh0), qui peut etre ecrit sous forme matricielle :
    En conclusion mon probleme est de passer de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    h  l  k  X 
    1  0 -1  0     à     1  0  0
    0  1  0  0           1  0  0
    0  0  0  0           0  0  0
    Je ne comprends pas ce hh0: cela veut dire quoi?

    1. Tu cherches à déterminer Ker(H-I), le rang de ta réduite de Gauss est 2, donc Ker(H-I) est un espace de dimension 3-2=1: ca se voit, comme les éléments de Ker(H-I) vérifient h=k et l=0, cet espace est généré par le vecteur (1,0,1) dans ta base (h,l,k).

    Et tu as tes solutions!

    2. Tu ne peux pas passer de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    h  l  k  X 
    1  0 -1  0     à     1  0  0
    0  1  0  0           1  0  0
    0  0  0  0           0  0  0
    !! LA 1ière est de rang 2 , la seconde de rang un .... bref je ne comprends pas ce que tu veux.

  3. #3
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    651
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 651
    Par défaut
    Je ne comprends pas ce hh0: cela veut dire quoi?

    <h, k, l> : Index de Miller en diffraction des RX et/ou des neutrons.

    Ils sont liés à la famille de plans réticulaires dont l'un coupe les axes (a,b,c) du cristal ( réseau de bravais orthonormé uniquement en phase cubique P,I,F ou C )à a/h, b/k, c/l. ( h resp k resp l = 0 => plan // à l'axe en question ) et dont les distances sont des multiples de la distance de ce plan avec l'origine.

    Cette périodicité est la raison de la diffraction des RX / neutrons ( loi de Bragg 2.d(h,k,l).sin(Théta(h,k,l)) = n . lambda, lambda longueur d'onde du faisceau RX comme 1.54A pour une anticathode Cu 1.93 pour une anticathode Fe, ... ou est la longueur d'onde de Debroglie associée au faisceau de neutrons (lambda=h/p h cte Planck, p quantité de mouvement ).
    La loi de Bragg montre bien l'aspect très "improbable" d'une condition de diffraction. C'est la raison plour laquelle on fait tourner la cristal ( comme 4-cercles ) ou on utilise un rayonnement polychromatique (comme Laue ) .
    Cela revient a faire varier un paramètre pour arriver a satisfaire l'égalité.
    Dans le réseau réciproque, cela revient à mettre un noeud sur la shère d'Ewald.

    L'intensité des RX est liée entre autre à la densité moyenne d'électrons sur les dits plans et aux facteurs de structure Fhkl. Elle dépend aussi du type d'acquisition, de lambda, ...
    Celle des neutrons est liée entre autres aux facteurs de structure et aux types de noyaux présents sur la famille de plan en relation.

    Parmi les avantages de la diffraction des neutrons on note, une bien plus grande sensibilité aux atomes légers, une sonde sensible au magnétisme local ( nombre de MuB sur un atome) par contre le degré d'ionisation est plus facile à voir en diffraction RX sauf s'il s'accompagne d'un changement du magnétisme comme entre Fe2+ ( 3d6 -> 4 MuB) et Fe 3+ ( 3d5 -> 5MuB)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 7
    Par défaut
    Bon voilà,
    En fait la solution est toute simple, j'ai juste sortie les solutions de façon parametrique, par exemple dans le cas precedent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
       h  k  l  c
    h  0  1  0  0
    k  0  1  0  0
    l  0  0  1  0
     
           =
     
       h  k  l  c
    h  1  0  0  0
    k  1  0  0  0
    l  0  0  1  0
    Merci quand meme pour votre aide, ceci dit ça reste difficile à manipuler en C++.

    A+

  5. #5
    Membre Expert Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Par défaut
    Cela est formidable, mais malgré la réponse intéressante (et completement hors sujet) de Mignot, hh0 n'est toujours pas explicité...

  6. #6
    Membre émérite
    Inscrit en
    Juin 2005
    Messages
    651
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 651
    Par défaut
    Je sais que cela est "hors sujet" du point de vue de l'intérogation directe mais du moment que le but est un soft de cristallographie et que l'auteur ne semblait pas parfaitement connaître ce domaine, je ai pensé pouvoir élargir un peu sa vue des choses sur ce sujet. Par ailleurs, la physique est si peu abordée que je n'ai pas résisté!!
    Pour en revenir à <hh0>, il s'agit de l'indexation d'une raie de diffraction corresponant à la famille de plans parallèles à l'axe c et coupant les axes a et b pour { x = a/h * n & y= b/h * n } ( même n pour x et y ) n appartient à Z. Le repère (a,b,c) peut être quelconque! : Il est question des 3 axes du système cristallin
    -Cubique a=b=c, 3 angles de 90°
    -Tétragonal a=b <> c, 3 angles de 90°
    -Orthorombique a<>b <> c<>a, 3 angles de 90°
    -Romboédrique a=b=c 3 angles égaux <> 90°
    -Hexagonal a=b,c angle(a,b)=60° les 2 autres = 90°
    -Monoclinique a<>b<>c<>a angle (a,c) <> 90 les 2 autres =90
    -Tricliniques a<>b<>c<>a 3 angles quelconques

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche librairie matricielle
    Par Blangel dans le forum Général Java
    Réponses: 2
    Dernier message: 19/06/2014, 23h59
  2. [XL-2007] Recherche; Formule matricielle
    Par LaPanic dans le forum Excel
    Réponses: 14
    Dernier message: 31/08/2011, 14h44
  3. Réponses: 11
    Dernier message: 06/05/2011, 16h48
  4. Utilisation des invariants pour la recherche des images par le contenu
    Par sarrainf dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 27/03/2009, 14h09
  5. Réponses: 2
    Dernier message: 27/02/2007, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo