Given two Krylov bases and , computes a symmetrically biorthonormalized basis for their column-spans using a symmetric SVD-based biorthogonalization. All computations are done in-place.
call biorthonormalize_bases(X, Y [, tol] [, info])
X : Array of abstract_vector to biorthonormalize.
It is an intent(inout) argument.Y : Array of abstract_vector to biorthonormalize.
It is an intent(inout) argument.tol (optional) : Relative tolerance for SVD truncation. Defaults to absolute tolerance.
It is an intent(in) argument.info (optional) : Integer flag. Returns the number of retained singular vectors,
or a negative value on error. It is an intent(out) argument.Warning
This function performs standard symmetric biorthonormalization and will return an error if the bases are not of the same size.
Symmetrically biorthonormalizes the two abstract_vector bases X and Y.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_vector_cdp), | intent(inout) | :: | X(:) |
First basis to biorthonormalize. |
||
| class(abstract_vector_cdp), | intent(inout) | :: | Y(:) |
Second basis to biorthonormalize. |
||
| real(kind=dp), | intent(in), | optional | :: | tol |
Relative tolerance for SVD truncation (default: abs tolerance). |
|
| integer, | intent(out), | optional | :: | info |
Number of retained singular vectors, or negative on error. |
Symmetrically biorthonormalizes the two abstract_vector bases X and Y.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_vector_csp), | intent(inout) | :: | X(:) |
First basis to biorthonormalize. |
||
| class(abstract_vector_csp), | intent(inout) | :: | Y(:) |
Second basis to biorthonormalize. |
||
| real(kind=sp), | intent(in), | optional | :: | tol |
Relative tolerance for SVD truncation (default: abs tolerance). |
|
| integer, | intent(out), | optional | :: | info |
Number of retained singular vectors, or negative on error. |
Symmetrically biorthonormalizes the two abstract_vector bases X and Y.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_vector_rdp), | intent(inout) | :: | X(:) |
First basis to biorthonormalize. |
||
| class(abstract_vector_rdp), | intent(inout) | :: | Y(:) |
Second basis to biorthonormalize. |
||
| real(kind=dp), | intent(in), | optional | :: | tol |
Relative tolerance for SVD truncation (default: abs tolerance). |
|
| integer, | intent(out), | optional | :: | info |
Number of retained singular vectors, or negative on error. |
Symmetrically biorthonormalizes the two abstract_vector bases X and Y.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(abstract_vector_rsp), | intent(inout) | :: | X(:) |
First basis to biorthonormalize. |
||
| class(abstract_vector_rsp), | intent(inout) | :: | Y(:) |
Second basis to biorthonormalize. |
||
| real(kind=sp), | intent(in), | optional | :: | tol |
Relative tolerance for SVD truncation (default: abs tolerance). |
|
| integer, | intent(out), | optional | :: | info |
Number of retained singular vectors, or negative on error. |