LIBDSP Version 4.1.9
LIBDSP Software Library
Loading...
Searching...
No Matches
Matrix Inverse
Collaboration diagram for Matrix Inverse:

Functions

tpt_status tpt_mat_inverse_f32 (f32_t *aOutMat, f32_t *aInMat, uint32_t aN)
 Floating-point matrix inverse.
tpt_status tpt_mat_inverse_f64 (f64_t *aOutMat, f64_t *aInMat, uint16_t aN)
 Floating-point matrix inverse.
tpt_status tpt_mat_solve_upper_triangular_f32 (tpt_matrix_instance_f32 *aOutMat, const tpt_matrix_instance_f32 *aUpperTriangularMat, const tpt_matrix_instance_f32 *aInMat)
 Solve UT . X = A where UT is an upper triangular matrix.
tpt_status tpt_mat_solve_upper_triangular_f64 (tpt_matrix_instance_f64 *aOutMat, const tpt_matrix_instance_f64 *aUpperTriangularMat, const tpt_matrix_instance_f64 *aInMat)
 Solve UT . X = A where UT is an upper triangular matrix.

Detailed 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).

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

If the input matrix is singular, then the algorithm terminates and returns error status TPT_MATH_SINGULAR.

Function Documentation

◆ tpt_mat_inverse_f32()

tpt_status tpt_mat_inverse_f32 ( f32_t * aOutMat,
f32_t * aInMat,
uint32_t aN )

Floating-point matrix inverse.

Parameters
[out]aOutMatpoints to output matrix.
[in]aInMatpoints to input matrix. The source matrix is modified by the function.
[in]aNorder of square matrix
Returns
execution status

◆ tpt_mat_inverse_f64()

tpt_status tpt_mat_inverse_f64 ( f64_t * aOutMat,
f64_t * aInMat,
uint16_t aN )

Floating-point matrix inverse.

Parameters
[out]aOutMatpoints to output matrix.
[in]aInMatpoints to input matrix. The source matrix is modified by the function.
[in]aNorder of square matrix
Returns
execution status

◆ tpt_mat_solve_upper_triangular_f32()

tpt_status tpt_mat_solve_upper_triangular_f32 ( tpt_matrix_instance_f32 * aOutMat,
const tpt_matrix_instance_f32 * aUpperTriangularMat,
const tpt_matrix_instance_f32 * aInMat )

Solve UT . X = A where UT is an upper triangular matrix.

Parameters
[out]aOutMatThe solution X of UT . X = A
[in]aUpperTriangularMatThe upper triangular matrix
[in]aInMatThe matrix A
Returns
The function returns TPT_MATH_SINGULAR, if the system can't be solved.

◆ tpt_mat_solve_upper_triangular_f64()

tpt_status tpt_mat_solve_upper_triangular_f64 ( tpt_matrix_instance_f64 * aOutMat,
const tpt_matrix_instance_f64 * aUpperTriangularMat,
const tpt_matrix_instance_f64 * aInMat )

Solve UT . X = A where UT is an upper triangular matrix.

Parameters
[out]aOutMatThe solution X of UT . X = A
[in]aUpperTriangularMatThe upper triangular matrix
[in]aInMatThe matrix A
Returns
The function returns TPT_MATH_SINGULAR, if the system can't be solved.