Compute the determinant of a rectangular matrix.
More...
|
real(sp) function | la_sdeterminant (a, overwrite_a, err) |
|
real(dp) function | la_ddeterminant (a, overwrite_a, err) |
|
real(qp) function | la_qdeterminant (a, overwrite_a, err) |
|
complex(sp) function | la_cdeterminant (a, overwrite_a, err) |
|
complex(dp) function | la_zdeterminant (a, overwrite_a, err) |
|
complex(qp) function | la_wdeterminant (a, overwrite_a, err) |
|
Compute the determinant of a rectangular matrix.
This function computes the determinant of a real or complex rectangular matrix A . The determinant is calculated using LU factorization.
- Parameters
-
[in,out] | A | The input square matrix of size [m, n] . If overwrite_a is true, the contents of A may be modified during computation. |
[in] | overwrite_a | (Optional) If .true. , A may be overwritten and destroyed. Default is .false. . |
[out] | err | (Optional) A state return flag. If an error occurs and err is not provided, the function will stop execution. |
- Returns
- The determinant of the matrix A . The result is a
real
scalar value of the same kind as the input matrix.
- Note
- This function relies on a matrix factorization approach (e.g., LU decomposition) to compute the determinant efficiently from the getrf backend.
- Warning
- If
overwrite_a
is enabled, the original contents of A will be lost.
◆ la_cdeterminant()
complex(sp) function la_determinant::det::la_cdeterminant |
( |
complex(sp), dimension(:,:), intent(inout), target | a, |
|
|
logical(lk), intent(in), optional | overwrite_a, |
|
|
type(la_state), intent(out), optional | err ) |
- Parameters
-
[in,out] | a | Input matrix a[m,n] |
[in] | overwrite_a | [optional] Can A data be overwritten and destroyed? |
[out] | err | [optional] state return flag. On error if not requested, the code will stop |
- Returns
- Result: matrix determinant
◆ la_ddeterminant()
real(dp) function la_determinant::det::la_ddeterminant |
( |
real(dp), dimension(:,:), intent(inout), target | a, |
|
|
logical(lk), intent(in), optional | overwrite_a, |
|
|
type(la_state), intent(out), optional | err ) |
- Parameters
-
[in,out] | a | Input matrix a[m,n] |
[in] | overwrite_a | [optional] Can A data be overwritten and destroyed? |
[out] | err | [optional] state return flag. On error if not requested, the code will stop |
- Returns
- Result: matrix determinant
◆ la_qdeterminant()
real(qp) function la_determinant::det::la_qdeterminant |
( |
real(qp), dimension(:,:), intent(inout), target | a, |
|
|
logical(lk), intent(in), optional | overwrite_a, |
|
|
type(la_state), intent(out), optional | err ) |
- Parameters
-
[in,out] | a | Input matrix a[m,n] |
[in] | overwrite_a | [optional] Can A data be overwritten and destroyed? |
[out] | err | [optional] state return flag. On error if not requested, the code will stop |
- Returns
- Result: matrix determinant
◆ la_sdeterminant()
real(sp) function la_determinant::det::la_sdeterminant |
( |
real(sp), dimension(:,:), intent(inout), target | a, |
|
|
logical(lk), intent(in), optional | overwrite_a, |
|
|
type(la_state), intent(out), optional | err ) |
- Parameters
-
[in,out] | a | Input matrix a[m,n] |
[in] | overwrite_a | [optional] Can A data be overwritten and destroyed? |
[out] | err | [optional] state return flag. On error if not requested, the code will stop |
- Returns
- Result: matrix determinant
◆ la_wdeterminant()
complex(qp) function la_determinant::det::la_wdeterminant |
( |
complex(qp), dimension(:,:), intent(inout), target | a, |
|
|
logical(lk), intent(in), optional | overwrite_a, |
|
|
type(la_state), intent(out), optional | err ) |
- Parameters
-
[in,out] | a | Input matrix a[m,n] |
[in] | overwrite_a | [optional] Can A data be overwritten and destroyed? |
[out] | err | [optional] state return flag. On error if not requested, the code will stop |
- Returns
- Result: matrix determinant
◆ la_zdeterminant()
complex(dp) function la_determinant::det::la_zdeterminant |
( |
complex(dp), dimension(:,:), intent(inout), target | a, |
|
|
logical(lk), intent(in), optional | overwrite_a, |
|
|
type(la_state), intent(out), optional | err ) |
- Parameters
-
[in,out] | a | Input matrix a[m,n] |
[in] | overwrite_a | [optional] Can A data be overwritten and destroyed? |
[out] | err | [optional] state return flag. On error if not requested, the code will stop |
- Returns
- Result: matrix determinant
The documentation for this interface was generated from the following file: