|
| 1 | +//! Locally Optimal Block Preconditioned Conjugated |
| 2 | +//! |
| 3 | +//! This module implements the Locally Optimal Block Preconditioned Conjugated (LOBPCG) algorithm, |
| 4 | +//! which can be used as a solver for large symmetric eigenproblems. |
1 | 5 | use ndarray::concatenate;
|
2 | 6 | use ndarray::prelude::*;
|
3 | 7 | use num_traits::NumCast;
|
4 |
| -///! Locally Optimal Block Preconditioned Conjugated |
5 |
| -///! |
6 |
| -///! This module implements the Locally Optimal Block Preconditioned Conjugated (LOBPCG) algorithm, |
7 |
| -///which can be used as a solver for large symmetric eigenproblems. |
8 | 8 | use std::iter::Sum;
|
9 | 9 |
|
10 | 10 | use crate::{cholesky::*, eigh::*, norm::*, triangular::*};
|
@@ -100,15 +100,15 @@ fn orthonormalize<T: NdFloat>(v: Array2<T>) -> Result<(Array2<T>, Array2<T>)> {
|
100 | 100 | ///
|
101 | 101 | /// # Arguments
|
102 | 102 | /// * `a` - An operator defining the problem, usually a sparse (sometimes also dense) matrix
|
103 |
| -/// multiplication. Also called the "stiffness matrix". |
| 103 | +/// multiplication. Also called the "stiffness matrix". |
104 | 104 | /// * `x` - Initial approximation of the k eigenvectors. If `a` has shape=(n,n), then `x` should
|
105 |
| -/// have shape=(n,k). |
| 105 | +/// have shape=(n,k). |
106 | 106 | /// * `m` - Preconditioner to `a`, by default the identity matrix. Should approximate the inverse
|
107 |
| -/// of `a`. |
| 107 | +/// of `a`. |
108 | 108 | /// * `y` - Constraints of (n,size_y), iterations are performed in the orthogonal complement of the
|
109 |
| -/// column-space of `y`. It must be full rank. |
| 109 | +/// column-space of `y`. It must be full rank. |
110 | 110 | /// * `tol` - The tolerance values defines at which point the solver stops the optimization. The approximation
|
111 |
| -/// of a eigenvalue stops when then l2-norm of the residual is below this threshold. |
| 111 | +/// of a eigenvalue stops when then l2-norm of the residual is below this threshold. |
112 | 112 | /// * `maxiter` - The maximal number of iterations
|
113 | 113 | /// * `order` - Whether to solve for the largest or lowest eigenvalues
|
114 | 114 | ///
|
|
0 commit comments