Package | Description |
---|---|
no.uib.cipr.matrix |
Dense and structured sparse matrices, along with matrix factorisations
and solvers.
|
no.uib.cipr.matrix.distributed |
Message passing interface (MPI) for Java.
|
no.uib.cipr.matrix.sparse |
Unstructured sparse matrices and vectors with iterative solvers and
preconditioners.
|
Modifier and Type | Class and Description |
---|---|
class |
AbstractVector
Partial implementation of
Vector . |
class |
DenseVector
Dense vector.
|
Modifier and Type | Method and Description |
---|---|
Vector |
AbstractVector.add(double alpha,
Vector y) |
Vector |
DenseVector.add(double alpha,
Vector y) |
Vector |
Vector.add(double alpha,
Vector y)
x = alpha*y + x |
Vector |
AbstractVector.add(Vector y) |
Vector |
DenseVector.add(Vector y) |
Vector |
Vector.add(Vector y)
x = y + x |
Vector |
AbstractVector.copy() |
Vector |
Vector.copy()
Creates a deep copy of the vector
|
static Vector |
Matrices.getSubVector(Vector x,
int[] index)
Returns a view into the given vector.
|
Vector |
AbstractMatrix.mult(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.mult(double alpha,
Vector x,
Vector y)
y = alpha*A*x |
Vector |
AbstractMatrix.mult(Vector x,
Vector y) |
Vector |
Matrix.mult(Vector x,
Vector y)
y = A*x |
Vector |
AbstractMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
BandMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
DenseMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.multAdd(double alpha,
Vector x,
Vector y)
y = alpha*A*x + y |
Vector |
AbstractMatrix.multAdd(Vector x,
Vector y) |
Vector |
Matrix.multAdd(Vector x,
Vector y)
y = A*x + y |
static Vector |
Matrices.random(int size)
Creates a random vector.
|
static Vector |
Matrices.random(Vector x)
Populates a vector with random numbers drawn from a uniform distribution
between 0 and 1
|
Vector |
AbstractVector.scale(double alpha) |
Vector |
Vector.scale(double alpha)
x=alpha*x |
Vector |
AbstractVector.set(double alpha,
Vector y) |
Vector |
DenseVector.set(double alpha,
Vector y) |
Vector |
Vector.set(double alpha,
Vector y)
x=alpha*y |
Vector |
AbstractVector.set(Vector y) |
Vector |
DenseVector.set(Vector y) |
Vector |
Vector.set(Vector y)
x=y |
Vector |
AbstractMatrix.solve(Vector b,
Vector x) |
Vector |
BandMatrix.solve(Vector b,
Vector x) |
Vector |
DenseMatrix.solve(Vector b,
Vector x) |
Vector |
Matrix.solve(Vector b,
Vector x)
x = A\b . |
Vector |
SymmTridiagMatrix.solve(Vector b,
Vector x) |
Vector |
TridiagMatrix.solve(Vector b,
Vector x) |
static Vector |
Matrices.synchronizedVector(Vector x)
Returns a synchronized vector which wraps the given vector.
|
Vector |
AbstractMatrix.transMult(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.transMult(double alpha,
Vector x,
Vector y)
y = alpha*AT*x |
Vector |
AbstractMatrix.transMult(Vector x,
Vector y) |
Vector |
Matrix.transMult(Vector x,
Vector y)
y = AT*x |
Vector |
AbstractMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
BandMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
DenseMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.transMultAdd(double alpha,
Vector x,
Vector y)
y = alpha*AT*x + y |
Vector |
AbstractMatrix.transMultAdd(Vector x,
Vector y) |
Vector |
Matrix.transMultAdd(Vector x,
Vector y)
y = AT*x + y |
Vector |
AbstractMatrix.transSolve(Vector b,
Vector x) |
Vector |
DenseMatrix.transSolve(Vector b,
Vector x) |
Vector |
Matrix.transSolve(Vector b,
Vector x)
x = AT\b . |
Vector |
SymmTridiagMatrix.transSolve(Vector b,
Vector x) |
Vector |
AbstractVector.zero() |
Vector |
Vector.zero()
Zeros all the entries in the vector, while preserving any underlying
structure
|
Modifier and Type | Method and Description |
---|---|
Vector |
AbstractVector.add(double alpha,
Vector y) |
Vector |
DenseVector.add(double alpha,
Vector y) |
Vector |
Vector.add(double alpha,
Vector y)
x = alpha*y + x |
Vector |
AbstractVector.add(Vector y) |
Vector |
DenseVector.add(Vector y) |
Vector |
Vector.add(Vector y)
x = y + x |
void |
GivensRotation.apply(Vector x,
int i1,
int i2)
Applies the Givens rotation to two elements of a vector
|
static int |
Matrices.cardinality(Vector x)
Returns the number of non-zero entries in the given vector
|
protected void |
AbstractMatrix.checkMultAdd(Vector x,
Vector y)
Checks the arguments to
mult and multAdd |
protected void |
AbstractMatrix.checkRank1(Vector x,
Vector y)
Checks that a vector rank1 update is possible for the given vectors
|
protected void |
AbstractMatrix.checkRank2(Vector x,
Vector y)
Checks that a vector rank2 update is legal with the given vectors
|
protected void |
AbstractVector.checkSize(Vector y)
Checks for conformant sizes
|
protected void |
AbstractMatrix.checkSolve(Vector b,
Vector x)
Checks that a matrix inversion is legal for the given arguments.
|
protected void |
AbstractMatrix.checkTransMultAdd(Vector x,
Vector y)
Checks the arguments to
transMult and
transMultAdd |
double |
AbstractVector.dot(Vector y) |
double |
DenseVector.dot(Vector y) |
double |
Vector.dot(Vector y)
xT*y |
static double[] |
Matrices.getArray(Vector x)
Returns a dense array containing a copy of the given vector
|
static Vector |
Matrices.getSubVector(Vector x,
int[] index)
Returns a view into the given vector.
|
Vector |
AbstractMatrix.mult(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.mult(double alpha,
Vector x,
Vector y)
y = alpha*A*x |
Vector |
AbstractMatrix.mult(Vector x,
Vector y) |
Vector |
Matrix.mult(Vector x,
Vector y)
y = A*x |
Vector |
AbstractMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
BandMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
DenseMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.multAdd(double alpha,
Vector x,
Vector y)
y = alpha*A*x + y |
Vector |
AbstractMatrix.multAdd(Vector x,
Vector y) |
Vector |
Matrix.multAdd(Vector x,
Vector y)
y = A*x + y |
static Vector |
Matrices.random(Vector x)
Populates a vector with random numbers drawn from a uniform distribution
between 0 and 1
|
Matrix |
AbstractMatrix.rank1(double alpha,
Vector x) |
Matrix |
Matrix.rank1(double alpha,
Vector x)
A = alpha*x*xT + A . |
Matrix |
AbstractMatrix.rank1(double alpha,
Vector x,
Vector y) |
Matrix |
DenseMatrix.rank1(double alpha,
Vector x,
Vector y) |
Matrix |
Matrix.rank1(double alpha,
Vector x,
Vector y)
A = alpha*x*yT + A . |
Matrix |
AbstractMatrix.rank1(Vector x) |
Matrix |
Matrix.rank1(Vector x)
A = x*xT + A . |
Matrix |
AbstractMatrix.rank1(Vector x,
Vector y) |
Matrix |
Matrix.rank1(Vector x,
Vector y)
A = x*yT + A . |
Matrix |
AbstractMatrix.rank2(double alpha,
Vector x,
Vector y) |
Matrix |
Matrix.rank2(double alpha,
Vector x,
Vector y)
A = alpha*x*yT + alpha*y*xT + A . |
Matrix |
AbstractMatrix.rank2(Vector x,
Vector y) |
Matrix |
Matrix.rank2(Vector x,
Vector y)
A = x*yT + y*xT + A . |
Vector |
AbstractVector.set(double alpha,
Vector y) |
Vector |
DenseVector.set(double alpha,
Vector y) |
Vector |
Vector.set(double alpha,
Vector y)
x=alpha*y |
Vector |
AbstractVector.set(Vector y) |
Vector |
DenseVector.set(Vector y) |
Vector |
Vector.set(Vector y)
x=y |
Vector |
AbstractMatrix.solve(Vector b,
Vector x) |
Vector |
BandMatrix.solve(Vector b,
Vector x) |
Vector |
DenseMatrix.solve(Vector b,
Vector x) |
Vector |
Matrix.solve(Vector b,
Vector x)
x = A\b . |
Vector |
SymmTridiagMatrix.solve(Vector b,
Vector x) |
Vector |
TridiagMatrix.solve(Vector b,
Vector x) |
static Vector |
Matrices.synchronizedVector(Vector x)
Returns a synchronized vector which wraps the given vector.
|
Vector |
AbstractMatrix.transMult(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.transMult(double alpha,
Vector x,
Vector y)
y = alpha*AT*x |
Vector |
AbstractMatrix.transMult(Vector x,
Vector y) |
Vector |
Matrix.transMult(Vector x,
Vector y)
y = AT*x |
Vector |
AbstractMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
BandMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
DenseMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.transMultAdd(double alpha,
Vector x,
Vector y)
y = alpha*AT*x + y |
Vector |
AbstractMatrix.transMultAdd(Vector x,
Vector y) |
Vector |
Matrix.transMultAdd(Vector x,
Vector y)
y = AT*x + y |
Vector |
AbstractMatrix.transSolve(Vector b,
Vector x) |
Vector |
DenseMatrix.transSolve(Vector b,
Vector x) |
Vector |
Matrix.transSolve(Vector b,
Vector x)
x = AT\b . |
Vector |
SymmTridiagMatrix.transSolve(Vector b,
Vector x) |
Constructor and Description |
---|
AbstractVector(Vector x)
Constructor for AbstractVector, same size as x
|
DenseMatrix(Vector x)
Constructor for DenseMatrix.
|
DenseMatrix(Vector[] x)
Constructor for DenseMatrix.
|
DenseMatrix(Vector x,
boolean deep)
Constructor for DenseMatrix.
|
DenseVector(Vector x)
Constructor for DenseVector
|
DenseVector(Vector x,
boolean deep)
Constructor for DenseVector
|
Modifier and Type | Class and Description |
---|---|
class |
DistVector
Deprecated.
the
no.uib.cipr.matrix.distributed package has been deprecated because
of a number of hard to fix concurrency bugs. It is distributed only for backwards compatibility,
but is not recommended. The utility of this package is questionable, as it does not allow
distribution of computation between JVMs or across a network. For many people, distributed
computing of multiple matrices can be achieved at a user-level through the
JPPF Framework.
Users who need to deal with few very large matrices may wish to implement their own storage classes
and solvers using JPPF, but this will not be supported directly in matrix-toolkits-java. |
Modifier and Type | Method and Description |
---|---|
Vector |
BlockDiagonalPreconditioner.apply(Vector b,
Vector x)
Deprecated.
|
Vector |
TwoLevelPreconditioner.apply(Vector b,
Vector x)
Deprecated.
|
Vector |
DistVector.getLocal()
Deprecated.
Returns the local part of the vector
|
Vector |
DistColMatrix.multAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Vector |
DistRowMatrix.multAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Vector |
BlockDiagonalPreconditioner.transApply(Vector b,
Vector x)
Deprecated.
|
Vector |
TwoLevelPreconditioner.transApply(Vector b,
Vector x)
Deprecated.
|
Vector |
DistColMatrix.transMultAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Vector |
DistRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
DistVector |
DistVector.add(double alpha,
Vector y)
Deprecated.
|
Vector |
BlockDiagonalPreconditioner.apply(Vector b,
Vector x)
Deprecated.
|
Vector |
TwoLevelPreconditioner.apply(Vector b,
Vector x)
Deprecated.
|
double |
DistVector.dot(Vector y)
Deprecated.
|
Vector |
DistColMatrix.multAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Vector |
DistRowMatrix.multAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
DistVector |
DistVector.set(double alpha,
Vector y)
Deprecated.
|
Vector |
BlockDiagonalPreconditioner.transApply(Vector b,
Vector x)
Deprecated.
|
Vector |
TwoLevelPreconditioner.transApply(Vector b,
Vector x)
Deprecated.
|
Vector |
DistColMatrix.transMultAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Vector |
DistRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y)
Deprecated.
|
Constructor and Description |
---|
DistVector(int size,
Communicator comm,
Vector x)
Deprecated.
Constructor for DistVector
|
Modifier and Type | Interface and Description |
---|---|
interface |
ISparseVector |
Modifier and Type | Class and Description |
---|---|
class |
SparseVector
Sparse vector
|
Modifier and Type | Method and Description |
---|---|
Vector |
AMG.apply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.apply(Vector b,
Vector x) |
Vector |
ICC.apply(Vector b,
Vector x) |
Vector |
ILU.apply(Vector b,
Vector x) |
Vector |
ILUT.apply(Vector b,
Vector x) |
Vector |
Preconditioner.apply(Vector b,
Vector x)
Solves the approximate problem with the given right hand side.
|
Vector |
SSOR.apply(Vector b,
Vector x) |
Vector |
CompDiagMatrix.mult(Vector x,
Vector y) |
Vector |
CompRowMatrix.mult(Vector x,
Vector y) |
Vector |
CompColMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompDiagMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompColMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompRowMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
SparseVector.set(Vector y) |
Vector |
BiCG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
BiCGstab.solve(Matrix A,
Vector b,
Vector x) |
Vector |
CG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
CGS.solve(Matrix A,
Vector b,
Vector x) |
Vector |
Chebyshev.solve(Matrix A,
Vector b,
Vector x) |
Vector |
GMRES.solve(Matrix A,
Vector b,
Vector x) |
Vector |
IR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
IterativeSolver.solve(Matrix A,
Vector b,
Vector x)
Solves the given problem, writing result into the vector.
|
Vector |
QMR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
AMG.transApply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.transApply(Vector b,
Vector x) |
Vector |
ICC.transApply(Vector b,
Vector x) |
Vector |
ILU.transApply(Vector b,
Vector x) |
Vector |
ILUT.transApply(Vector b,
Vector x) |
Vector |
Preconditioner.transApply(Vector b,
Vector x)
Solves the approximate transpose problem with the given right hand side.
|
Vector |
SSOR.transApply(Vector b,
Vector x) |
Vector |
CompColMatrix.transMult(Vector x,
Vector y) |
Vector |
CompRowMatrix.transMult(Vector x,
Vector y) |
Vector |
CompColMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompDiagMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompColMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Modifier and Type | Method and Description |
---|---|
Vector |
AMG.apply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.apply(Vector b,
Vector x) |
Vector |
ICC.apply(Vector b,
Vector x) |
Vector |
ILU.apply(Vector b,
Vector x) |
Vector |
ILUT.apply(Vector b,
Vector x) |
Vector |
Preconditioner.apply(Vector b,
Vector x)
Solves the approximate problem with the given right hand side.
|
Vector |
SSOR.apply(Vector b,
Vector x) |
protected void |
AbstractIterativeSolver.checkSizes(Matrix A,
Vector b,
Vector x)
Checks sizes of input data for
IterativeSolver.solve(Matrix, Vector, Vector) . |
boolean |
AbstractIterationMonitor.converged(double r,
Vector x) |
boolean |
IterationMonitor.converged(double r,
Vector x)
Checks for convergence
|
boolean |
AbstractIterationMonitor.converged(Vector r) |
boolean |
IterationMonitor.converged(Vector r)
Checks for convergence
|
boolean |
AbstractIterationMonitor.converged(Vector r,
Vector x) |
boolean |
IterationMonitor.converged(Vector r,
Vector x)
Checks for convergence
|
protected abstract boolean |
AbstractIterationMonitor.convergedI(double r,
Vector x) |
protected boolean |
DefaultIterationMonitor.convergedI(double r,
Vector x) |
protected boolean |
MatrixIterationMonitor.convergedI(double r,
Vector x) |
double |
SparseVector.dot(Vector y) |
void |
IterationReporter.monitor(double r,
Vector x,
int i)
Registers current information
|
void |
NoIterationReporter.monitor(double r,
Vector x,
int i) |
void |
OutputIterationReporter.monitor(double r,
Vector x,
int i) |
Vector |
CompDiagMatrix.mult(Vector x,
Vector y) |
Vector |
CompRowMatrix.mult(Vector x,
Vector y) |
Vector |
CompColMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompDiagMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompColMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompRowMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
SparseVector.set(Vector y) |
Vector |
BiCG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
BiCGstab.solve(Matrix A,
Vector b,
Vector x) |
Vector |
CG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
CGS.solve(Matrix A,
Vector b,
Vector x) |
Vector |
Chebyshev.solve(Matrix A,
Vector b,
Vector x) |
Vector |
GMRES.solve(Matrix A,
Vector b,
Vector x) |
Vector |
IR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
IterativeSolver.solve(Matrix A,
Vector b,
Vector x)
Solves the given problem, writing result into the vector.
|
Vector |
QMR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
AMG.transApply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.transApply(Vector b,
Vector x) |
Vector |
ICC.transApply(Vector b,
Vector x) |
Vector |
ILU.transApply(Vector b,
Vector x) |
Vector |
ILUT.transApply(Vector b,
Vector x) |
Vector |
Preconditioner.transApply(Vector b,
Vector x)
Solves the approximate transpose problem with the given right hand side.
|
Vector |
SSOR.transApply(Vector b,
Vector x) |
Vector |
CompColMatrix.transMult(Vector x,
Vector y) |
Vector |
CompRowMatrix.transMult(Vector x,
Vector y) |
Vector |
CompColMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompDiagMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompColMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
FlexCompRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Constructor and Description |
---|
BiCG(Vector template)
Constructor for BiCG.
|
BiCGstab(Vector template)
Constructor for BiCGstab.
|
CG(Vector template)
Constructor for CG.
|
CGS(Vector template)
Constructor for CGS.
|
Chebyshev(Vector template,
double eigmin,
double eigmax)
Constructor for Chebyshev.
|
GMRES(Vector template)
Constructor for GMRES.
|
GMRES(Vector template,
int restart)
Constructor for GMRES.
|
IR(Vector template)
Constructor for IR.
|
QMR(Vector template)
Constructor for QMR.
|
QMR(Vector template,
Preconditioner M1,
Preconditioner M2)
Constructor for QMR.
|
SparseVector(Vector x)
Constructor for SparseVector, and copies the contents from the supplied
vector.
|
SparseVector(Vector x,
boolean deep)
Constructor for SparseVector, and copies the contents from the supplied
vector.
|