|  |  |  | hkl Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
HklMatrix; void hkl_matrix_init (HklMatrix *self,double m11,double m12,double m13,double m21,double m22,double m23,double m31,double m32,double m33); void hkl_matrix_init_from_two_vector (HklMatrix *self,const HklVector *v1,const HklVector *v2); void hkl_matrix_init_from_euler (HklMatrix *self,double euler_x,double euler_y,double euler_z); void hkl_matrix_fprintf (FILE *file,const HklMatrix *self); void hkl_matrix_to_euler (const HklMatrix *self,double *euler_x,double *euler_y,double *euler_z); int hkl_matrix_cmp (const HklMatrix *self,const HklMatrix *m); void hkl_matrix_times_matrix (HklMatrix *self,const HklMatrix *m); void hkl_matrix_times_vector (const HklMatrix *self,HklVector *v); void hkl_matrix_transpose (HklMatrix *self); double hkl_matrix_det (const HklMatrix *self); int hkl_matrix_solve (const HklMatrix *self,HklVector *x,const HklVector *b); int hkl_matrix_is_null (const HklMatrix *self);
void hkl_matrix_init (HklMatrix *self,double m11,double m12,double m13,double m21,double m22,double m23,double m31,double m32,double m33);
| 
 | the HklMatrix to initialize | 
| 
 | the matrix 11 value | 
| 
 | the matrix 12 value | 
| 
 | the matrix 13 value | 
| 
 | the matrix 21 value | 
| 
 | the matrix 22 value | 
| 
 | the matrix 23 value | 
| 
 | the matrix 31 value | 
| 
 | the matrix 32 value | 
| 
 | the matrix 33 value | 
void hkl_matrix_init_from_two_vector (HklMatrix *self,const HklVector *v1,const HklVector *v2);
Create an HklMatrix which represent a direct oriented base of the space the first row correspond to the |v1|, the second row |v2| and the last one is |v1 ^ v2|
void hkl_matrix_init_from_euler (HklMatrix *self,double euler_x,double euler_y,double euler_z);
Create a rotation HklMatrix from three eulerians angles.
| 
 | the HklMatrix to initialize | 
| 
 | the eulerian value along X | 
| 
 | the eulerian value along Y | 
| 
 | the eulerian value along Z | 
void hkl_matrix_fprintf (FILE *file,const HklMatrix *self);
printf an HklMatrix into a FILE stream.
| 
 | the FILE stream | 
| 
 | the HklMatrix to print into the file stream | 
void hkl_matrix_to_euler (const HklMatrix *self,double *euler_x,double *euler_y,double *euler_z);
compute the three eulerians values for a given rotation HklMatrix
| 
 | the rotation HklMatrix use to compute the eulerians angles | 
| 
 | the eulerian value along X | 
| 
 | the eulerian value along Y | 
| 
 | the eulerian value along Z | 
int hkl_matrix_cmp (const HklMatrix *self,const HklMatrix *m);
compare two HklMatrix.
void hkl_matrix_times_matrix (HklMatrix *self,const HklMatrix *m);
compute the matrix multiplication self = self * m
void                hkl_matrix_transpose                (HklMatrix *self);
transpose an HklMatrix
| 
 | the HklMatrix to transpose | 
double              hkl_matrix_det                      (const HklMatrix *self);
compute the determinant of an HklMatrix
int hkl_matrix_solve (const HklMatrix *self,HklVector *x,const HklVector *b);
solve the system self . X = b
int                 hkl_matrix_is_null                  (const HklMatrix *self);
is all hklMatrix elementes bellow HKL_EPSILON