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.@Deprecated public class DistRowMatrix extends AbstractMatrix
Matrix.NormnumColumns, numRows| Constructor and Description |
|---|
DistRowMatrix(int numRows,
int numColumns,
Communicator comm,
Matrix A,
Matrix B)
Deprecated.
Constructor for DistRowMatrix
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(int row,
int column,
double value)
Deprecated.
A(row,column) += value |
DistRowMatrix |
copy()
Deprecated.
Creates a deep copy of the matrix
|
double |
get(int row,
int column)
Deprecated.
Returns
A(row,column) |
Matrix |
getBlock()
Deprecated.
Returns the diagonal block matrix
|
int[] |
getColumnOwnerships()
Deprecated.
Returns which columns are owned by which ranks.
|
Communicator |
getCommunicator()
Deprecated.
Gets the communicator associated with this matrix
|
Matrix |
getOff()
Deprecated.
Returns the off-diagonal matrix
|
int[] |
getRowOwnerships()
Deprecated.
Returns which rows are owned by which ranks.
|
java.util.Iterator<MatrixEntry> |
iterator()
Deprecated.
|
boolean |
local(int row,
int column)
Deprecated.
Returns true if the insertion indices are local to this rank, and no
communication is required afterwards.
|
protected double |
max()
Deprecated.
Returns the largest absolute value
|
Vector |
multAdd(double alpha,
Vector x,
Vector y)
Deprecated.
y = alpha*A*x + y |
protected double |
norm1()
Deprecated.
Computes the 1 norm
|
protected double |
normF()
Deprecated.
Computes the Frobenius norm.
|
protected double |
normInf()
Deprecated.
Computes the infinity norm
|
Matrix |
rank1(double alpha,
Vector x,
Vector y)
Deprecated.
A = alpha*x*yT + A. |
Matrix |
rank2(double alpha,
Vector x,
Vector y)
Deprecated.
A = alpha*x*yT + alpha*y*xT + A. |
void |
set(int row,
int column,
double value)
Deprecated.
A(row,column) = value |
Vector |
transMultAdd(double alpha,
Vector x,
Vector y)
Deprecated.
y = alpha*AT*x + y |
DistRowMatrix |
zero()
Deprecated.
Zeros all the entries in the matrix, while preserving any underlying
structure.
|
add, add, check, checkMultAdd, checkMultAdd, checkRank1, checkRank1, checkRank2, checkRank2, checkSize, checkSolve, checkSolve, checkTransABmultAdd, checkTransAmultAdd, checkTransBmultAdd, checkTransMultAdd, checkTranspose, checkTranspose, checkTransRank1, checkTransRank2, isSquare, max, mult, mult, mult, mult, multAdd, multAdd, multAdd, norm, numColumns, numRows, rank1, rank1, rank1, rank1, rank1, rank2, rank2, rank2, scale, set, set, solve, solve, toString, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMult, transMultAdd, transpose, transpose, transRank1, transRank1, transRank2, transRank2, transSolve, transSolvepublic DistRowMatrix(int numRows,
int numColumns,
Communicator comm,
Matrix A,
Matrix B)
numRows - Global number of rowsnumColumns - Global number of columnscomm - Communicator to useA - Block diagonal matrix. The sum of the local row sizes of
A must equal the global number, and likewise
with the column sizes.B - Off-diagonal matrix part. Its number of columns must equal the
global number of columns, and its number of rows must equal
that of Apublic void add(int row,
int column,
double value)
MatrixA(row,column) += valueadd in interface Matrixadd in class AbstractMatrixpublic void set(int row,
int column,
double value)
MatrixA(row,column) = valueset in interface Matrixset in class AbstractMatrixpublic double get(int row,
int column)
MatrixA(row,column)get in interface Matrixget in class AbstractMatrixpublic DistRowMatrix copy()
Matrixcopy in interface Matrixcopy in class AbstractMatrixpublic java.util.Iterator<MatrixEntry> iterator()
iterator in interface java.lang.Iterable<MatrixEntry>iterator in class AbstractMatrixpublic Vector multAdd(double alpha, Vector x, Vector y)
Matrixy = alpha*A*x + ymultAdd in interface MatrixmultAdd in class AbstractMatrixx - Vector of size A.numColumns()y - Vector of size A.numRows()public Vector transMultAdd(double alpha, Vector x, Vector y)
Matrixy = alpha*AT*x + ytransMultAdd in interface MatrixtransMultAdd in class AbstractMatrixx - Vector of size A.numRows()y - Vector of size A.numColumns()public boolean local(int row,
int column)
flushAssembly to set up things like matrix/vector
multiplicationprotected double norm1()
AbstractMatrixnorm1 in class AbstractMatrixprotected double normInf()
AbstractMatrixnormInf in class AbstractMatrixpublic DistRowMatrix zero()
Matrixpublic int[] getRowOwnerships()
n[comm.rank()] (inclusive) to
n[comm.rank()+1] (exclusive)public int[] getColumnOwnerships()
m[comm.rank()] (inclusive) to
m[comm.rank()+1] (exclusive)public Matrix getBlock()
public Matrix getOff()
protected double max()
AbstractMatrixmax in class AbstractMatrixprotected double normF()
AbstractMatrixnormF in class AbstractMatrixpublic Matrix rank1(double alpha, Vector x, Vector y)
MatrixA = alpha*x*yT + A. The matrix must be
square, and the vectors of the same lengthrank1 in interface Matrixrank1 in class AbstractMatrixpublic Matrix rank2(double alpha, Vector x, Vector y)
MatrixA = alpha*x*yT + alpha*y*xT + A.
The matrix must be square, and the vectors of the same lengthrank2 in interface Matrixrank2 in class AbstractMatrixpublic Communicator getCommunicator()