From 76177aa280494bb36d7a0bcbda1078d4db717020 Mon Sep 17 00:00:00 2001 From: Ali Labbene Date: Mon, 9 Dec 2019 11:25:19 +0100 Subject: Official ARM version: v4.5 --- Documentation/DSP/html/group___matrix_inv.html | 225 +++++++++++++++++++++++++ 1 file changed, 225 insertions(+) create mode 100644 Documentation/DSP/html/group___matrix_inv.html (limited to 'Documentation/DSP/html/group___matrix_inv.html') diff --git a/Documentation/DSP/html/group___matrix_inv.html b/Documentation/DSP/html/group___matrix_inv.html new file mode 100644 index 0000000..0f930c5 --- /dev/null +++ b/Documentation/DSP/html/group___matrix_inv.html @@ -0,0 +1,225 @@ + + + + + +Matrix Inverse +CMSIS-DSP: Matrix Inverse + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
CMSIS-DSP +  Version 1.4.7 +
+
CMSIS DSP Software Library
+
+
+ +
+
    + +
+
+ + + +
+
+ +
+
+
+ +
+ + + + +
+ +
+ +
+ +
+
Matrix Inverse
+
+
+ + + + + + + + +

+Functions

arm_status arm_mat_inverse_f32 (const arm_matrix_instance_f32 *pSrc, arm_matrix_instance_f32 *pDst)
 Floating-point matrix inverse.
 
arm_status arm_mat_inverse_f64 (const arm_matrix_instance_f64 *pSrc, arm_matrix_instance_f64 *pDst)
 Floating-point matrix inverse.
 
+

Description

+

Computes the inverse of a matrix.

+

The inverse is defined only if the input matrix is square and non-singular (the determinant is non-zero). The function checks that the input and output matrices are square and of the same size.

+

Matrix inversion is numerically sensitive and the CMSIS DSP library only supports matrix inversion of floating-point matrices.

+
Algorithm
The Gauss-Jordan method is used to find the inverse. The algorithm performs a sequence of elementary row-operations until it reduces the input matrix to an identity matrix. Applying the same sequence of elementary row-operations to an identity matrix yields the inverse matrix. If the input matrix is singular, then the algorithm terminates and returns error status ARM_MATH_SINGULAR.
+MatrixInverse.gif +
+Matrix Inverse of a 3 x 3 matrix using Gauss-Jordan Method
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
arm_status arm_mat_inverse_f32 (const arm_matrix_instance_f32pSrc,
arm_matrix_instance_f32pDst 
)
+
+
Parameters
+ + + +
[in]*pSrcpoints to input matrix structure
[out]*pDstpoints to output matrix structure
+
+
+
Returns
The function returns ARM_MATH_SIZE_MISMATCH if the input matrix is not square or if the size of the output matrix does not match the size of the input matrix. If the input matrix is found to be singular (non-invertible), then the function returns ARM_MATH_SINGULAR. Otherwise, the function returns ARM_MATH_SUCCESS.
+
Examples:
arm_matrix_example_f32.c.
+
+

References ARM_MATH_SINGULAR, ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_f32::numCols, arm_matrix_instance_f32::numRows, arm_matrix_instance_f32::pData, and status.

+ +

Referenced by main().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
arm_status arm_mat_inverse_f64 (const arm_matrix_instance_f64pSrc,
arm_matrix_instance_f64pDst 
)
+
+
Parameters
+ + + +
[in]*pSrcpoints to input matrix structure
[out]*pDstpoints to output matrix structure
+
+
+
Returns
The function returns ARM_MATH_SIZE_MISMATCH if the input matrix is not square or if the size of the output matrix does not match the size of the input matrix. If the input matrix is found to be singular (non-invertible), then the function returns ARM_MATH_SINGULAR. Otherwise, the function returns ARM_MATH_SUCCESS.
+ +

References ARM_MATH_SINGULAR, ARM_MATH_SIZE_MISMATCH, ARM_MATH_SUCCESS, arm_matrix_instance_f64::numCols, arm_matrix_instance_f64::numRows, arm_matrix_instance_f64::pData, and status.

+ +
+
+
+
+ + + + -- cgit