| Package | Description |
|---|---|
| no.uib.cipr.matrix |
Dense and structured sparse matrices, along with matrix factorisations
and solvers.
|
| 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.
|
class |
DenseVectorSub
Wraps a DenseVector, allowing easy access to a sub array of the original
without taking copies.
|
| Modifier and Type | Method and Description |
|---|---|
Vector |
DenseVector.add(double alpha,
Vector y) |
Vector |
Vector.add(double alpha,
Vector y)
x = alpha*y + x |
Vector |
AbstractVector.add(double alpha,
Vector y) |
Vector |
DenseVector.add(Vector y) |
Vector |
Vector.add(Vector y)
x = y + x |
Vector |
AbstractVector.add(Vector y) |
Vector |
Vector.copy()
Creates a deep copy of the vector
|
Vector |
AbstractVector.copy() |
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 |
BandMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
AbstractMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.multAdd(double alpha,
Vector x,
Vector y)
y = alpha*A*x + y |
Vector |
DenseMatrix.multAdd(double alpha,
Vector x,
Vector 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 |
Vector.scale(double alpha)
x=alpha*x |
Vector |
AbstractVector.scale(double alpha) |
Vector |
DenseVector.set(double alpha,
Vector y) |
Vector |
Vector.set(double alpha,
Vector y)
x=alpha*y |
Vector |
AbstractVector.set(double alpha,
Vector y) |
Vector |
DenseVector.set(Vector y) |
Vector |
Vector.set(Vector y)
x=y |
Vector |
AbstractVector.set(Vector y) |
Vector |
BandMatrix.solve(Vector b,
Vector x) |
Vector |
TridiagMatrix.solve(Vector b,
Vector x) |
Vector |
AbstractMatrix.solve(Vector b,
Vector x) |
Vector |
Matrix.solve(Vector b,
Vector x)
x = A\b. |
Vector |
SymmTridiagMatrix.solve(Vector b,
Vector x) |
Vector |
DenseMatrix.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 |
BandMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
AbstractMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.transMultAdd(double alpha,
Vector x,
Vector y)
y = alpha*AT*x + y |
Vector |
DenseMatrix.transMultAdd(double alpha,
Vector x,
Vector 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 |
Matrix.transSolve(Vector b,
Vector x)
x = AT\b. |
Vector |
SymmTridiagMatrix.transSolve(Vector b,
Vector x) |
Vector |
DenseMatrix.transSolve(Vector b,
Vector x) |
Vector |
Vector.zero()
Zeros all the entries in the vector, while preserving any underlying
structure
|
Vector |
AbstractVector.zero() |
| Modifier and Type | Method and Description |
|---|---|
Vector |
DenseVector.add(double alpha,
Vector y) |
Vector |
Vector.add(double alpha,
Vector y)
x = alpha*y + x |
Vector |
AbstractVector.add(double alpha,
Vector y) |
Vector |
DenseVector.add(Vector y) |
Vector |
Vector.add(Vector y)
x = y + x |
Vector |
AbstractVector.add(Vector y) |
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 |
DenseVector.dot(Vector y) |
double |
Vector.dot(Vector y)
xT*y |
double |
AbstractVector.dot(Vector 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 |
BandMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
AbstractMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.multAdd(double alpha,
Vector x,
Vector y)
y = alpha*A*x + y |
Vector |
DenseMatrix.multAdd(double alpha,
Vector x,
Vector 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 |
Matrix.rank1(double alpha,
Vector x,
Vector y)
A = alpha*x*yT + A. |
Matrix |
DenseMatrix.rank1(double alpha,
Vector x,
Vector y) |
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 |
DenseVector.set(double alpha,
Vector y) |
Vector |
Vector.set(double alpha,
Vector y)
x=alpha*y |
Vector |
AbstractVector.set(double alpha,
Vector y) |
Vector |
DenseVector.set(Vector y) |
Vector |
Vector.set(Vector y)
x=y |
Vector |
AbstractVector.set(Vector y) |
Vector |
BandMatrix.solve(Vector b,
Vector x) |
Vector |
TridiagMatrix.solve(Vector b,
Vector x) |
Vector |
AbstractMatrix.solve(Vector b,
Vector x) |
Vector |
Matrix.solve(Vector b,
Vector x)
x = A\b. |
Vector |
SymmTridiagMatrix.solve(Vector b,
Vector x) |
Vector |
DenseMatrix.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 |
BandMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
AbstractMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
Matrix.transMultAdd(double alpha,
Vector x,
Vector y)
y = alpha*AT*x + y |
Vector |
DenseMatrix.transMultAdd(double alpha,
Vector x,
Vector 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 |
Matrix.transSolve(Vector b,
Vector x)
x = AT\b. |
Vector |
SymmTridiagMatrix.transSolve(Vector b,
Vector x) |
Vector |
DenseMatrix.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 | Interface and Description |
|---|---|
interface |
ISparseVector |
| Modifier and Type | Class and Description |
|---|---|
class |
SparseVector
Sparse vector
|
| Modifier and Type | Method and Description |
|---|---|
Vector |
ILUT.apply(Vector b,
Vector x) |
Vector |
ILU.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 |
AMG.apply(Vector b,
Vector x) |
Vector |
ICC.apply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.apply(Vector b,
Vector x) |
Vector |
CompDiagMatrix.mult(Vector x,
Vector y) |
Vector |
CompRowMatrix.mult(Vector x,
Vector y) |
Vector |
CompDiagMatrix.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 |
LinkedSparseMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompColMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
SparseVector.set(Vector y) |
Vector |
BiCG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
IR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
QMR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
CG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
BiCGstab.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 |
GMRES.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 |
ILUT.transApply(Vector b,
Vector x) |
Vector |
ILU.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 |
AMG.transApply(Vector b,
Vector x) |
Vector |
ICC.transApply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.transApply(Vector b,
Vector x) |
Vector |
CompRowMatrix.transMult(Vector x,
Vector y) |
Vector |
CompColMatrix.transMult(Vector x,
Vector y) |
Vector |
CompDiagMatrix.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) |
Vector |
LinkedSparseMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompColMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
| Modifier and Type | Method and Description |
|---|---|
Vector |
ILUT.apply(Vector b,
Vector x) |
Vector |
ILU.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 |
AMG.apply(Vector b,
Vector x) |
Vector |
ICC.apply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.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 |
IterationMonitor.converged(double r,
Vector x)
Checks for convergence
|
boolean |
AbstractIterationMonitor.converged(double r,
Vector x) |
boolean |
IterationMonitor.converged(Vector r)
Checks for convergence
|
boolean |
AbstractIterationMonitor.converged(Vector r) |
boolean |
IterationMonitor.converged(Vector r,
Vector x)
Checks for convergence
|
boolean |
AbstractIterationMonitor.converged(Vector r,
Vector x) |
protected boolean |
DefaultIterationMonitor.convergedI(double r,
Vector x) |
protected boolean |
MatrixIterationMonitor.convergedI(double r,
Vector x) |
protected abstract boolean |
AbstractIterationMonitor.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 |
CompDiagMatrix.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 |
LinkedSparseMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompColMatrix.multAdd(double alpha,
Vector x,
Vector y) |
Vector |
SparseVector.set(Vector y) |
Vector |
BiCG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
IR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
QMR.solve(Matrix A,
Vector b,
Vector x) |
Vector |
CG.solve(Matrix A,
Vector b,
Vector x) |
Vector |
BiCGstab.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 |
GMRES.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 |
ILUT.transApply(Vector b,
Vector x) |
Vector |
ILU.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 |
AMG.transApply(Vector b,
Vector x) |
Vector |
ICC.transApply(Vector b,
Vector x) |
Vector |
DiagonalPreconditioner.transApply(Vector b,
Vector x) |
Vector |
CompRowMatrix.transMult(Vector x,
Vector y) |
Vector |
CompColMatrix.transMult(Vector x,
Vector y) |
Vector |
CompDiagMatrix.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) |
Vector |
LinkedSparseMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompRowMatrix.transMultAdd(double alpha,
Vector x,
Vector y) |
Vector |
CompColMatrix.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.
|
Copyright © 2015. All Rights Reserved.