|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.commons.math3.linear.RealLinearOperator
public abstract class RealLinearOperator
This class defines a linear operator operating on real (double
)
vector spaces. No direct access to the coefficients of the underlying matrix
is provided.
The motivation for such an interface is well stated by
Barrett et al. (1994):
We restrict ourselves to iterative methods, which work by repeatedly improving an approximate solution until it is accurate enough. These methods access the coefficient matrix A of the linear system only via the matrix-vector product y = A · x (and perhaps z = AT · x). Thus the user need only supply a subroutine for computing y (and perhaps z) given x, which permits full exploitation of the sparsity or other special structure of A.
Constructor Summary | |
---|---|
RealLinearOperator()
|
Method Summary | |
---|---|
abstract int |
getColumnDimension()
Returns the dimension of the domain of this operator. |
abstract int |
getRowDimension()
Returns the dimension of the codomain of this operator. |
boolean |
isTransposable()
Returns true if this operator supports
operateTranspose(RealVector) . |
abstract RealVector |
operate(RealVector x)
Returns the result of multiplying this by the vector x . |
RealVector |
operateTranspose(RealVector x)
Returns the result of multiplying the transpose of this operator
by the vector x (optional operation). |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public RealLinearOperator()
Method Detail |
---|
public abstract int getRowDimension()
public abstract int getColumnDimension()
public abstract RealVector operate(RealVector x) throws DimensionMismatchException
this
by the vector x
.
x
- the vector to operate on
this
instance with x
DimensionMismatchException
- if the column dimension does not match
the size of x
public RealVector operateTranspose(RealVector x) throws DimensionMismatchException, UnsupportedOperationException
this
operator
by the vector x
(optional operation). The default implementation
throws an UnsupportedOperationException
. Users overriding this
method must also override isTransposable()
.
x
- the vector to operate on
this
instance with
x
DimensionMismatchException
- if the row dimension does not match the size of x
UnsupportedOperationException
- if this operation is not supported
by this
operatorpublic boolean isTransposable()
true
if this operator supports
operateTranspose(RealVector)
. If true
is returned,
operateTranspose(RealVector)
should not throw
UnsupportedOperationException
. The default implementation returns
false
.
false
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |