Package no.uib.cipr.matrix.distributed
Class DistRowMatrix
java.lang.Object
no.uib.cipr.matrix.AbstractMatrix
no.uib.cipr.matrix.distributed.DistRowMatrix
- All Implemented Interfaces:
Iterable<MatrixEntry>,Matrix
Deprecated.
Distributed matrix with row major blocks
-
Nested Class Summary
Nested classes/interfaces inherited from interface no.uib.cipr.matrix.Matrix
Matrix.Norm -
Field Summary
Fields inherited from class no.uib.cipr.matrix.AbstractMatrix
numColumns, numRows -
Constructor Summary
ConstructorsConstructorDescriptionDistRowMatrix(int numRows, int numColumns, Communicator comm, Matrix A, Matrix B) Deprecated.Constructor for DistRowMatrix -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(int row, int column, double value) Deprecated.A(row,column) += valuecopy()Deprecated.Creates a deep copy of the matrixdoubleget(int row, int column) Deprecated.ReturnsA(row,column)getBlock()Deprecated.Returns the diagonal block matrixint[]Deprecated.Returns which columns are owned by which ranks.Deprecated.Gets the communicator associated with this matrixgetOff()Deprecated.Returns the off-diagonal matrixint[]Deprecated.Returns which rows are owned by which ranks.iterator()Deprecated.booleanlocal(int row, int column) Deprecated.Returns true if the insertion indices are local to this rank, and no communication is required afterwards.protected doublemax()Deprecated.Returns the largest absolute valueDeprecated.y = alpha*A*x + yprotected doublenorm1()Deprecated.Computes the 1 normprotected doublenormF()Deprecated.Computes the Frobenius norm.protected doublenormInf()Deprecated.Computes the infinity normDeprecated.A = alpha*x*yT + A.Deprecated.A = alpha*x*yT + alpha*y*xT + A.voidset(int row, int column, double value) Deprecated.A(row,column) = valuetransMultAdd(double alpha, Vector x, Vector y) Deprecated.y = alpha*AT*x + yzero()Deprecated.Zeros all the entries in the matrix, while preserving any underlying structure.Methods inherited from class no.uib.cipr.matrix.AbstractMatrix
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, transSolveMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
DistRowMatrix
Deprecated.Constructor for DistRowMatrix- Parameters:
numRows- Global number of rowsnumColumns- Global number of columnscomm- Communicator to useA- Block diagonal matrix. The sum of the local row sizes ofAmust 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 ofA
-
-
Method Details
-
add
public void add(int row, int column, double value) Deprecated.Description copied from interface:MatrixA(row,column) += value- Specified by:
addin interfaceMatrix- Overrides:
addin classAbstractMatrix
-
set
public void set(int row, int column, double value) Deprecated.Description copied from interface:MatrixA(row,column) = value- Specified by:
setin interfaceMatrix- Overrides:
setin classAbstractMatrix
-
get
public double get(int row, int column) Deprecated.Description copied from interface:MatrixReturnsA(row,column)- Specified by:
getin interfaceMatrix- Overrides:
getin classAbstractMatrix
-
copy
Deprecated.Description copied from interface:MatrixCreates a deep copy of the matrix- Specified by:
copyin interfaceMatrix- Overrides:
copyin classAbstractMatrix- Returns:
- A
-
iterator
Deprecated.- Specified by:
iteratorin interfaceIterable<MatrixEntry>- Overrides:
iteratorin classAbstractMatrix
-
multAdd
Deprecated.Description copied from interface:Matrixy = alpha*A*x + y- Specified by:
multAddin interfaceMatrix- Overrides:
multAddin classAbstractMatrix- Parameters:
x- Vector of sizeA.numColumns()y- Vector of sizeA.numRows()- Returns:
- y
-
transMultAdd
Deprecated.Description copied from interface:Matrixy = alpha*AT*x + y- Specified by:
transMultAddin interfaceMatrix- Overrides:
transMultAddin classAbstractMatrix- Parameters:
x- Vector of sizeA.numRows()y- Vector of sizeA.numColumns()- Returns:
- y
-
local
public boolean local(int row, int column) Deprecated.Returns true if the insertion indices are local to this rank, and no communication is required afterwards. However, you still need to callflushAssemblyto set up things like matrix/vector multiplication -
norm1
protected double norm1()Deprecated.Description copied from class:AbstractMatrixComputes the 1 norm- Overrides:
norm1in classAbstractMatrix
-
normInf
protected double normInf()Deprecated.Description copied from class:AbstractMatrixComputes the infinity norm- Overrides:
normInfin classAbstractMatrix
-
zero
Deprecated.Description copied from interface:MatrixZeros all the entries in the matrix, while preserving any underlying structure. Useful for general, unstructured matrices. -
getRowOwnerships
public int[] getRowOwnerships()Deprecated.Returns which rows are owned by which ranks. The current rank owns the rowsn[comm.rank()](inclusive) ton[comm.rank()+1](exclusive) -
getColumnOwnerships
public int[] getColumnOwnerships()Deprecated.Returns which columns are owned by which ranks. The current rank owns the columnsm[comm.rank()](inclusive) tom[comm.rank()+1](exclusive) -
getBlock
Deprecated.Returns the diagonal block matrix -
getOff
Deprecated.Returns the off-diagonal matrix -
max
protected double max()Deprecated.Description copied from class:AbstractMatrixReturns the largest absolute value- Overrides:
maxin classAbstractMatrix
-
normF
protected double normF()Deprecated.Description copied from class:AbstractMatrixComputes the Frobenius norm. This implementation is overflow resistant- Overrides:
normFin classAbstractMatrix
-
rank1
Deprecated.Description copied from interface:MatrixA = alpha*x*yT + A. The matrix must be square, and the vectors of the same length- Specified by:
rank1in interfaceMatrix- Overrides:
rank1in classAbstractMatrix- Returns:
- A
-
rank2
Deprecated.Description copied from interface:MatrixA = alpha*x*yT + alpha*y*xT + A. The matrix must be square, and the vectors of the same length- Specified by:
rank2in interfaceMatrix- Overrides:
rank2in classAbstractMatrix- Returns:
- A
-
getCommunicator
Deprecated.Gets the communicator associated with this matrix
-
no.uib.cipr.matrix.distributedpackage 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.