public class JacobiPreconditioner extends RealLinearOperator
| Constructor and Description |
|---|
JacobiPreconditioner(double[] diag,
boolean deep)
Creates a new instance of this class.
|
| Modifier and Type | Method and Description |
|---|---|
static JacobiPreconditioner |
create(RealLinearOperator a)
Creates a new instance of this class.
|
int |
getColumnDimension()
Returns the dimension of the domain of this operator.
|
int |
getRowDimension()
Returns the dimension of the codomain of this operator.
|
RealVector |
operate(RealVector x)
Returns the result of multiplying
this by the vector x. |
RealLinearOperator |
sqrt()
Returns the square root of
this diagonal operator. |
isTransposable, operateTransposepublic JacobiPreconditioner(double[] diag,
boolean deep)
diag - the diagonal coefficients of the linear operator to be
preconditioneddeep - true if a deep copy of the above array should be
performedpublic static JacobiPreconditioner create(RealLinearOperator a) throws NonSquareOperatorException
a does not
extend AbstractRealMatrix, then the coefficients of the
underlying matrix are not accessible, coefficient extraction is made by
matrix-vector products with the basis vectors (and might therefore take
some time). With matrices, direct entry access is carried out.a - the linear operator for which the preconditioner should be builtNonSquareOperatorException - if a is not squarepublic int getColumnDimension()
getColumnDimension in class RealLinearOperatorpublic int getRowDimension()
getRowDimension in class RealLinearOperatorpublic RealVector operate(RealVector x)
this by the vector x.operate in class RealLinearOperatorx - the vector to operate onthis instance with xpublic RealLinearOperator sqrt()
this diagonal operator. More
precisely, this method returns
P = diag(1 / √A11, 1 / √A22, …).this preconditionerCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.