You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/specs/stdlib_linalg.md
+14-2Lines changed: 14 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -987,20 +987,30 @@ Stable
987
987
988
988
### Description
989
989
990
-
This subroutine computes the solution to the eigenproblem \( A \cdot \bar{v} - \lambda \cdot \bar{v} \), where \( A \) is a square, full-rank, `real` or `complex` matrix.
990
+
This subroutine computes the solution to the eigenproblem \( A \cdot \bar{v} - \lambda \cdot \bar{v} \),
991
+
where \( A \) is a square, full-rank, `real` or `complex` matrix, or to the generalized eigenproblem \( A \cdot \bar{v} - \lambda \cdot B \cdot \bar{v} \),
992
+
where \( B \) is a square matrix with the same type and kind as \( A \).
991
993
992
994
Result array `lambda` returns the eigenvalues of \( A \). The user can request eigenvectors to be returned: if provided, on output `left` will contain the left eigenvectors, `right` the right eigenvectors of \( A \).
993
995
Both `left` and `right` are rank-2 arrays, where eigenvectors are stored as columns.
994
-
The solver is based on LAPACK's `*GEEV` backends.
996
+
The solver is based on LAPACK's `*GEEV`and `*GGEV`backends.
`a` : `real` or `complex` square array containing the coefficient matrix. If `overwrite_a=.false.`, it is an `intent(in)` argument. Otherwise, it is an `intent(inout)` argument and is destroyed by the call.
1003
1011
1012
+
`b`: `real` or `complex` square array containing the second coefficient matrix. If `overwrite_b=.false.`, it is an intent(in) argument. Otherwise, it is an `intent(inout)` argument and is destroyed by the call.
1013
+
1004
1014
`lambda`: Shall be a `complex` or `real` rank-1 array of the same kind as `a`, containing the eigenvalues, or their `real` component only. It is an `intent(out)` argument.
1005
1015
1006
1016
`right` (optional): Shall be a `complex` rank-2 array of the same size and kind as `a`, containing the right eigenvectors of `a`. It is an `intent(out)` argument.
@@ -1009,6 +1019,8 @@ The solver is based on LAPACK's `*GEEV` backends.
1009
1019
1010
1020
`overwrite_a` (optional): Shall be an input logical flag. if `.true.`, input matrix `a` will be used as temporary storage and overwritten. This avoids internal data allocation. This is an `intent(in)` argument.
1011
1021
1022
+
`overwrite_b` (optional): Shall be an input logical flag. If `.true.`, input matrix `b` will be used as temporary storage and overwritten. This avoids internal data allocation. This is an `intent(in)` argument.
1023
+
1012
1024
`err` (optional): Shall be a `type(linalg_state_type)` value. This is an `intent(out)` argument.
0 commit comments