|
Modules |
| Fixed Size Matrix I/O |
| Fill a Fixed Size Matrix |
| Transpose a Fixed Size Matrix |
| Invert a Fixed Size Matrix |
| Compute Adjoint of a Fixed Size Matrix |
| Extract Parts of a Fixed Size Matrix |
| Convert a Fixed Size Matrix |
| Cholesky Factorisation of Fixed Size Matrix |
| Add Fixed Size Matrices |
| Fixed Size Matrix/Vector Product |
| Fixed Size Matrix Norms |
| Copy a Fixed Size Matrix |
| Multiply/Divide a Fixed Size Matrix by a Scalar |
| Subtract Fixed Size Matrices |
| Fixed Size Matrix/Matrix Product |
| Fixed Size Matrix Triple Product |
| Eigendecomposition of a Fixed Size Matrix |
| Build a Fixed Size Matrix |
| Projective Normalisation of Fixed Size Matrices |
| Singular Value Decomposition of a Fixed Size Matrix |
Compounds |
| struct | Gan_Matrix22 |
| | Structure definition for double precision 2x2 matrix. More...
|
| struct | Gan_Matrix23 |
| | Structure definition for double precision 2x3 matrix. More...
|
| struct | Gan_Matrix23_f |
| | Structure definition for single precision 2x3 matrix. More...
|
| struct | Gan_Matrix24 |
| | Structure definition for double precision 2x4 matrix. More...
|
| struct | Gan_Matrix24_f |
| | Structure definition for single precision 2x4 matrix. More...
|
| struct | Gan_Matrix34 |
| | Structure definition for double precision 3x4 matrix. More...
|
| struct | Gan_Matrix34_f |
| | Structure definition for single precision 3x4 matrix. More...
|
| struct | Gan_SquMatrix22 |
| | Structure definition for square double precision 2x2 matrix. More...
|
Defines |
| #define | GAN_MATTYPE Gan_Matrix22 |
|
#define | GAN_MATRIX_TYPE Gan_Matrix |
|
#define | GAN_SQUMATRIX_TYPE Gan_SquMatrix |
|
#define | GAN_VECTOR_TYPE Gan_Vector |
|
#define | GAN_MAT_ELEMENT_TYPE GAN_DOUBLE |
|
#define | GAN_REALTYPE double |
|
#define | GAN_VECTYPE1 Gan_Vector2 |
|
#define | GAN_VECTYPE2 Gan_Vector2 |
|
#define | GAN_MATTYPEL Gan_Matrix22 |
|
#define | GAN_MATTYPER Gan_Matrix22 |
|
#define | GAN_SQUMATTYPEL Gan_SquMatrix22 |
|
#define | GAN_SQUMATTYPER Gan_SquMatrix22 |
|
#define | GAN_MAT_FPRINT gan_mat22_fprint |
|
#define | GAN_MAT_PRINT gan_mat22_print |
|
#define | GAN_MAT_FSCANF gan_mat22_fscanf |
|
#define | GAN_MAT_FWRITE gan_mat22_fwrite |
|
#define | GAN_MAT_FREAD gan_mat22_fread |
|
#define | GAN_MAT_ZERO_Q gan_mat22_zero_q |
|
#define | GAN_MAT_ZERO_S gan_mat22_zero_s |
|
#define | GAN_MAT_COPY_Q gan_mat22_copy_q |
|
#define | GAN_MAT_COPY_S gan_mat22_copy_s |
|
#define | GAN_MAT_SCALE_Q gan_mat22_scale_q |
|
#define | GAN_MAT_SCALE_I gan_mat22_scale_i |
|
#define | GAN_MAT_SCALE_S gan_mat22_scale_s |
|
#define | GAN_MAT_DIVIDE_Q gan_mat22_divide_q |
|
#define | GAN_MAT_DIVIDE_I gan_mat22_divide_i |
|
#define | GAN_MAT_DIVIDE_S gan_mat22_divide_s |
|
#define | GAN_MAT_NEGATE_Q gan_mat22_negate_q |
|
#define | GAN_MAT_NEGATE_I gan_mat22_negate_i |
|
#define | GAN_MAT_NEGATE_S gan_mat22_negate_s |
|
#define | GAN_MAT_UNIT_Q gan_mat22_unit_q |
|
#define | GAN_MAT_UNIT_I gan_mat22_unit_i |
|
#define | GAN_MAT_UNIT_S gan_mat22_unit_s |
|
#define | GAN_MAT_ADD_Q gan_mat22_add_q |
|
#define | GAN_MAT_ADD_I1 gan_mat22_add_i1 |
|
#define | GAN_MAT_ADD_I2 gan_mat22_add_i2 |
|
#define | GAN_MAT_INCREMENT gan_mat22_increment |
|
#define | GAN_MAT_ADD_S gan_mat22_add_s |
|
#define | GAN_MAT_SUB_Q gan_mat22_sub_q |
|
#define | GAN_MAT_SUB_I1 gan_mat22_sub_i1 |
|
#define | GAN_MAT_SUB_I2 gan_mat22_sub_i2 |
|
#define | GAN_MAT_DECREMENT gan_mat22_decrement |
|
#define | GAN_MAT_SUB_S gan_mat22_sub_s |
|
#define | GAN_VEC_OUTER_Q gan_vec22_outer_q |
|
#define | GAN_VEC_OUTER_S gan_vec22_outer_s |
|
#define | GAN_MAT_MULTV_Q gan_mat22_multv2_q |
|
#define | GAN_MAT_MULTV_S gan_mat22_multv2_s |
|
#define | GAN_MATT_MULTV_Q gan_mat22T_multv2_q |
|
#define | GAN_MATT_MULTV_S gan_mat22T_multv2_s |
|
#define | GAN_MAT_LMULTMT_Q gan_mat22_lmultm22T_q |
|
#define | GAN_MAT_LMULTMT_S gan_mat22_lmultm22T_s |
|
#define | GAN_MAT_RMULTM_Q gan_mat22_rmultm22_q |
|
#define | GAN_MAT_RMULTM_S gan_mat22_rmultm22_s |
|
#define | GAN_MAT_RMULTMT_Q gan_mat22_rmultm22T_q |
|
#define | GAN_MAT_RMULTMT_S gan_mat22_rmultm22T_s |
|
#define | GAN_MAT_LMULTMT_SYM_Q gan_mat22_lmultm22T_sym_q |
|
#define | GAN_MAT_LMULTMT_SYM_S gan_mat22_lmultm22T_sym_s |
|
#define | GAN_MAT_RMULTMT_SYM_Q gan_mat22_rmultm22T_sym_q |
|
#define | GAN_MAT_RMULTMT_SYM_S gan_mat22_rmultm22T_sym_s |
|
#define | GAN_MAT_SLMULTT_Q gan_mat22_slmultT_q |
|
#define | GAN_MAT_SLMULTT_S gan_mat22_slmultT_s |
|
#define | GAN_MAT_SRMULTT_Q gan_mat22_srmultT_q |
|
#define | GAN_MAT_SRMULTT_S gan_mat22_srmultT_s |
|
#define | GAN_MAT_LMULTS_Q gan_mat22_lmults22_q |
|
#define | GAN_MAT_LMULTS_S gan_mat22_lmults22_s |
|
#define | GAN_MAT_RMULTS_Q gan_mat22_rmults22_q |
|
#define | GAN_MAT_RMULTS_S gan_mat22_rmults22_s |
|
#define | GAN_SYMMATL_LRMULT_Q gan_symmat22_lrmultm22T_q |
|
#define | GAN_SYMMATL_LRMULT_S gan_symmat22_lrmultm22T_s |
|
#define | GAN_SYMMATR_LRMULT_Q gan_symmat22_lrmultm22_q |
|
#define | GAN_SYMMATR_LRMULT_S gan_symmat22_lrmultm22_s |
|
#define | GAN_MAT_LMULTL_Q gan_mat22_lmultl22_q |
|
#define | GAN_MAT_LMULTL_S gan_mat22_lmultl22_s |
|
#define | GAN_MAT_LMULTL_I gan_mat22_lmultl22_i |
|
#define | GAN_MAT_LMULTLI_Q gan_mat22_lmultl22I_q |
|
#define | GAN_MAT_LMULTLI_S gan_mat22_lmultl22I_s |
|
#define | GAN_MAT_LMULTLI_I gan_mat22_lmultl22I_i |
|
#define | GAN_MAT_LMULTLT_Q gan_mat22_lmultl22T_q |
|
#define | GAN_MAT_LMULTLT_S gan_mat22_lmultl22T_s |
|
#define | GAN_MAT_LMULTLT_I gan_mat22_lmultl22T_i |
|
#define | GAN_MAT_LMULTLIT_Q gan_mat22_lmultl22IT_q |
|
#define | GAN_MAT_LMULTLIT_S gan_mat22_lmultl22IT_s |
|
#define | GAN_MAT_LMULTLIT_I gan_mat22_lmultl22IT_i |
|
#define | GAN_MAT_RMULTL_Q gan_mat22_rmultl22_q |
|
#define | GAN_MAT_RMULTL_S gan_mat22_rmultl22_s |
|
#define | GAN_MAT_RMULTL_I gan_mat22_rmultl22_i |
|
#define | GAN_MAT_RMULTLI_Q gan_mat22_rmultl22I_q |
|
#define | GAN_MAT_RMULTLI_S gan_mat22_rmultl22I_s |
|
#define | GAN_MAT_RMULTLI_I gan_mat22_rmultl22I_i |
|
#define | GAN_MAT_RMULTLT_Q gan_mat22_rmultl22T_q |
|
#define | GAN_MAT_RMULTLT_S gan_mat22_rmultl22T_s |
|
#define | GAN_MAT_RMULTLT_I gan_mat22_rmultl22T_i |
|
#define | GAN_MAT_RMULTLIT_Q gan_mat22_rmultl22IT_q |
|
#define | GAN_MAT_RMULTLIT_S gan_mat22_rmultl22IT_s |
|
#define | GAN_MAT_RMULTLIT_I gan_mat22_rmultl22IT_i |
|
#define | GAN_MAT_SUMSQR_Q gan_mat22_sumsqr_q |
|
#define | GAN_MAT_SUMSQR_S gan_mat22_sumsqr_s |
|
#define | GAN_MAT_FNORM_Q gan_mat22_Fnorm_q |
|
#define | GAN_MAT_FNORM_S gan_mat22_Fnorm_s |
|
#define | GAN_MAT_FROM_MAT_Q gan_mat22_from_mat_q |
|
#define | GAN_MAT_FROM_MAT_S gan_mat22_from_mat_s |
|
#define | GAN_MAT_FROM_SQUMAT_Q gan_mat22_from_squmat_q |
|
#define | GAN_MAT_FROM_SQUMAT_S gan_mat22_from_squmat_s |
|
#define | GAN_SQUMAT_FROM_SQUMAT_Q gan_squmat22_from_squmat_q |
|
#define | GAN_SQUMAT_FROM_SQUMAT_S gan_squmat22_from_squmat_s |
|
#define | GAN_SQUMAT_IDENT_Q gan_mat22_ident_q |
|
#define | GAN_SQUMAT_IDENT_S gan_mat22_ident_s |
|
#define | GAN_SQUMAT_TPOSE_Q gan_mat22_tpose_q |
|
#define | GAN_SQUMAT_TPOSE_S gan_mat22_tpose_s |
|
#define | GAN_SQUMAT_TPOSE_I gan_mat22_tpose_i |
|
#define | GAN_MAT_SADDT_Q gan_mat22_saddT_q |
|
#define | GAN_MAT_SADDT_S gan_mat22_saddT_s |
|
#define | GAN_SQUMAT_INVERT gan_mat22_invert |
|
#define | GAN_SQUMAT_INVERT_Q gan_mat22_invert_q |
|
#define | GAN_SQUMAT_INVERT_S gan_mat22_invert_s |
|
#define | GAN_SQUMAT_INVERT_I gan_mat22_invert_i |
|
#define | GAN_SQUMAT_ADJOINT_Q gan_mat22_adjoint_q |
|
#define | GAN_SQUMAT_ADJOINT_S gan_mat22_adjoint_s |
|
#define | GAN_SQUMAT_ADJOINTT_Q gan_mat22_adjointT_q |
|
#define | GAN_SQUMAT_ADJOINTT_S gan_mat22_adjointT_s |
|
#define | GAN_SQUMAT_DET_Q gan_mat22_det_q |
|
#define | GAN_SQUMAT_DET_S gan_mat22_det_s |
|
#define | GAN_SQUMAT_TRACE_Q gan_mat22_trace_q |
|
#define | GAN_SQUMAT_TRACE_S gan_mat22_trace_s |
|
#define | GAN_FIXED_MATRIX_TYPE GAN_SYMMETRIC_MATRIX22 |
|
#define | GAN_VEC_OUTER_SYM_Q gan_vec22_outer_sym_q |
|
#define | GAN_VEC_OUTER_SYM_S gan_vec22_outer_sym_s |
|
#define | GAN_SYMMAT_CHOLESKY gan_symmat22_cholesky |
|
#define | GAN_SYMMAT_CHOLESKY_Q gan_symmat22_cholesky_q |
|
#define | GAN_SYMMAT_CHOLESKY_S gan_symmat22_cholesky_s |
|
#define | GAN_SYMMAT_CHOLESKY_I gan_symmat22_cholesky_i |
|
#define | GAN_MAT_MULTV_I gan_ltmat22_multv2_i |
|
#define | GAN_MATT_MULTV_I gan_ltmat22T_multv2_i |
|
#define | GAN_MAT_SRMULTT_I gan_ltmat22_srmultT_i |
|
#define | GAN_MAT_SLMULTT_I gan_ltmat22_slmultT_i |
|
#define | GAN_SQUMATI_MULTV_Q gan_ltmat22I_multv2_q |
|
#define | GAN_SQUMATI_MULTV_S gan_ltmat22I_multv2_s |
|
#define | GAN_SQUMATI_MULTV_I gan_ltmat22I_multv2_i |
|
#define | GAN_SQUMATIT_MULTV_Q gan_ltmat22IT_multv2_q |
|
#define | GAN_SQUMATIT_MULTV_S gan_ltmat22IT_multv2_s |
|
#define | GAN_SQUMATIT_MULTV_I gan_ltmat22IT_multv2_i |
|
#define | gan_ltmat22T_fwrite gan_ltmat22_fwrite |
|
#define | gan_ltmat22T_fread gan_ltmat22_fread |
| #define | GAN_ST22_FILL(A, t, XX, YX, YY) |
| #define | GAN_ST22_IDENT(A, t) |
| #define | GAN_MAT22_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_MAT22T_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_SYM22_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_LOW22_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_LOW22I_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_UPP22_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_UPP22I_MULT1D(a, b, c, p1, p2, q1, q2) |
| #define | GAN_ST22_ZERO(A, t) |
| #define | GAN_ST22_COPY(A, B, t) |
| #define | GAN_ST22_SCALE(A, a, B, t) |
| #define | GAN_ST22_DIVIDE(A, a, B, t) |
| #define | GAN_ST22_NEGATE(A, B, t) |
| #define | GAN_ST22_ADD(A, B, C, t) |
| #define | GAN_ST22_SUB(A, B, C, t) |
|
#define | gan_ltmat22Tf_fwrite gan_ltmat22f_fwrite |
|
#define | gan_ltmat22Tf_fread gan_ltmat22f_fread |
|
#define | GAN_MAT_LMULTM_Q gan_mat23_lmultm22_q |
|
#define | GAN_MAT_LMULTM_S gan_mat23_lmultm22_s |
| #define | GAN_MAT23_MULT1D(a, b, c, p1, p2, q1, q2, q3) |
| #define | GAN_MAT23T_MULT1D(a, b, c, p1, p2, p3, q1, q2) |
| #define | GAN_MAT23F_MULT1D(a, b, c, p1, p2, q1, q2, q3) |
| #define | GAN_MAT23TF_MULT1D(a, b, c, p1, p2, p3, q1, q2) |
| #define | GAN_MAT24_MULT1D(a, b, c, p1, p2, q1, q2, q3, q4) |
| #define | GAN_MAT24T_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2) |
| #define | GAN_MAT24F_MULT1D(a, b, c, p1, p2, q1, q2, q3, q4) |
| #define | GAN_MAT24TF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2) |
|
#define | gan_ltmat33T_fwrite gan_ltmat33_fwrite |
|
#define | gan_ltmat33T_fread gan_ltmat33_fread |
|
#define | gan_ltmat33Tf_fwrite gan_ltmat33f_fwrite |
|
#define | gan_ltmat33Tf_fread gan_ltmat33f_fread |
| #define | GAN_MAT34_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3, q4) |
| #define | GAN_MAT34T_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3) |
| #define | GAN_MAT34F_MULT1D(a, b, c, p1, p2, p3, q1, q2, q3, q4) |
| #define | GAN_MAT34TF_MULT1D(a, b, c, p1, p2, p3, p4, q1, q2, q3) |
|
#define | gan_ltmat44T_fwrite gan_ltmat44_fwrite |
|
#define | gan_ltmat44T_fread gan_ltmat44_fread |
|
#define | gan_ltmat44Tf_fwrite gan_ltmat44f_fwrite |
|
#define | gan_ltmat44Tf_fread gan_ltmat44f_fread |
Typedefs |
|
typedef Gan_Matrix22 | Gan_Matrix22 |
| | Structure definition for double precision 2x2 matrix.
|
|
typedef Gan_SquMatrix22 | Gan_SquMatrix22 |
| | Structure definition for square double precision 2x2 matrix.
|
|
typedef Gan_Matrix23 | Gan_Matrix23 |
| | Structure definition for double precision 2x3 matrix.
|
|
typedef Gan_Matrix23_f | Gan_Matrix23_f |
| | Structure definition for single precision 2x3 matrix.
|
|
typedef Gan_Matrix24 | Gan_Matrix24 |
| | Structure definition for double precision 2x4 matrix.
|
|
typedef Gan_Matrix24_f | Gan_Matrix24_f |
| | Structure definition for single precision 2x4 matrix.
|
|
typedef Gan_Matrix34 | Gan_Matrix34 |
| | Structure definition for double precision 3x4 matrix.
|
|
typedef Gan_Matrix34_f | Gan_Matrix34_f |
| | Structure definition for single precision 3x4 matrix.
|
Enumerations |
| enum | Gan_SquMatrix22Type { GAN_SYMMETRIC_MATRIX22,
GAN_LOWER_TRI_MATRIX22
} |
| | Square matrix type, for setting and checking in debug mode.
|