CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
矩阵求逆

函数

csky_status csky_mat_inverse_f32 (const csky_matrix_instance_f32 *pSrc, csky_matrix_instance_f32 *pDst)
 浮点矩阵求逆 更多...
 
csky_status csky_mat_inverse_f64 (const csky_matrix_instance_f64 *pSrc, csky_matrix_instance_f64 *pDst)
 浮点矩阵求逆 更多...
 

简要说明

求矩阵的逆.

只有在输入矩阵为正方和非奇异(行列式为非零)时,才可以求逆。 函数会检查输入和输出矩阵是否为方形,大小相同。

矩阵求逆对数值敏感,因此CSI DSP库只支持浮点矩阵的求逆。

算法
求逆用的是 Gauss-Jordan 方法。 算法用初等行变换处理输入矩阵,直到输入矩阵的列变成单位矩阵形式。应用初等行变换直到求出矩阵的逆。 如果输入矩阵是奇异矩阵,则算法终止,并返回错误状态 CSKY_MATH_SINGULAR.
MatrixInverse.gif
3 x 3矩阵使用 Gauss-Jordan 方法求逆

函数说明

csky_status csky_mat_inverse_f32 ( const csky_matrix_instance_f32 pSrc,
csky_matrix_instance_f32 pDst 
)
参数
[in]*pSrc指向输入矩阵结构体
[out]*pDst指向输出矩阵结构体
返回
如果输入矩阵不是方形,或者输出的矩阵的大小和输入矩阵的大大小不同,则返回 CSKY_MATH_SIZE_MISMATCH 。 如果输入矩阵发现是奇异矩阵 (不可逆), 则函数返回 CSKY_MATH_SINGULAR. 否则,函数返回 CSKY_MATH_SUCCESS.
示例:
csky_matrix_example_f32.c.
csky_status csky_mat_inverse_f64 ( const csky_matrix_instance_f64 pSrc,
csky_matrix_instance_f64 pDst 
)
参数
[in]*pSrc指向输入矩阵结构体
[out]*pDst指向输出矩阵结构体
返回
如果输入矩阵不是方形,或者输出的矩阵的大小和输入矩阵的大大小不同,则返回 CSKY_MATH_SIZE_MISMATCH 。 如果输入矩阵发现是奇异矩阵 (不可逆), 则函数返回 CSKY_MATH_SINGULAR. 否则,函数返回 CSKY_MATH_SUCCESS.