Bonjour à tous,

Au début d'un code on réalise souvent, pour ne pas dire toujours, des initialisations. Parmi celles-ci on trouve des matrices qui sont initialisées à la matrice nulle ou la matrice identité. J'ai trouvé il y a peu une méthode pour initialiser une matrice constante, voici un exemple pour la matrice identité :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
      REAL(wp), DIMENSION(3,3), PARAMETER ::  ID_3= RESHAPE((/1._wp,0._wp,0._wp,0._wp,1._wp,0._wp,0._wp,0._wp,1._wp/) ,SHAPE(ID_3)) !< identity matrix
où wp est une précision personnalisée. Est-il préférable, pour initialiser une matrice à l'identité, de créer une matrice comme précédemment et de faire un simple M=ID_3, ou de créer une petite routine retournant une matrice identité. Pour de grandes tailles, je pense que le coût de stockage fera peser la balance pour la seconde options, mais pour de petites tailles je ne sais pas.

Bon WE