求矩阵的逆.
只有在输入矩阵为正方和非奇异(行列式为非零)时,才可以求逆。 函数会检查输入和输出矩阵是否为方形,大小相同。
矩阵求逆对数值敏感,因此CSI DSP库只支持浮点矩阵的求逆。
- 算法
- 求逆用的是 Gauss-Jordan 方法。 算法用初等行变换处理输入矩阵,直到输入矩阵的列变成单位矩阵形式。应用初等行变换直到求出矩阵的逆。 如果输入矩阵是奇异矩阵,则算法终止,并返回错误状态
CSKY_MATH_SINGULAR
.
3 x 3矩阵使用 Gauss-Jordan 方法求逆
- 参数
-
[in] | *pSrc | 指向输入矩阵结构体 |
[out] | *pDst | 指向输出矩阵结构体 |
- 返回
- 如果输入矩阵不是方形,或者输出的矩阵的大小和输入矩阵的大大小不同,则返回
CSKY_MATH_SIZE_MISMATCH
。 如果输入矩阵发现是奇异矩阵 (不可逆), 则函数返回 CSKY_MATH_SINGULAR
. 否则,函数返回 CSKY_MATH_SUCCESS
.
- 示例:
- csky_matrix_example_f32.c.
- 参数
-
[in] | *pSrc | 指向输入矩阵结构体 |
[out] | *pDst | 指向输出矩阵结构体 |
- 返回
- 如果输入矩阵不是方形,或者输出的矩阵的大小和输入矩阵的大大小不同,则返回
CSKY_MATH_SIZE_MISMATCH
。 如果输入矩阵发现是奇异矩阵 (不可逆), 则函数返回 CSKY_MATH_SINGULAR
. 否则,函数返回 CSKY_MATH_SUCCESS
.