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:
java.lang.Iterable<MatrixEntry>
,Matrix
@Deprecated public class DistRowMatrix extends AbstractMatrix
Deprecated.theno.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.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
Constructors Constructor Description DistRowMatrix(int numRows, int numColumns, Communicator comm, Matrix A, Matrix B)
Deprecated.Constructor for DistRowMatrix
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
add(int row, int column, double value)
Deprecated.A(row,column) += value
DistRowMatrix
copy()
Deprecated.Creates a deep copy of the matrixdouble
get(int row, int column)
Deprecated.ReturnsA(row,column)
Matrix
getBlock()
Deprecated.Returns the diagonal block matrixint[]
getColumnOwnerships()
Deprecated.Returns which columns are owned by which ranks.Communicator
getCommunicator()
Deprecated.Gets the communicator associated with this matrixMatrix
getOff()
Deprecated.Returns the off-diagonal matrixint[]
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 valueVector
multAdd(double alpha, Vector x, Vector y)
Deprecated.y = alpha*A*x + y
protected double
norm1()
Deprecated.Computes the 1 normprotected double
normF()
Deprecated.Computes the Frobenius norm.protected double
normInf()
Deprecated.Computes the infinity normMatrix
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.-
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, transSolve
-
-
-
-
Constructor Detail
-
DistRowMatrix
public DistRowMatrix(int numRows, int numColumns, Communicator comm, Matrix A, Matrix B)
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 ofA
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 ofA
-
-
Method Detail
-
add
public void add(int row, int column, double value)
Deprecated.Description copied from interface:Matrix
A(row,column) += value
- Specified by:
add
in interfaceMatrix
- Overrides:
add
in classAbstractMatrix
-
set
public void set(int row, int column, double value)
Deprecated.Description copied from interface:Matrix
A(row,column) = value
- Specified by:
set
in interfaceMatrix
- Overrides:
set
in classAbstractMatrix
-
get
public double get(int row, int column)
Deprecated.Description copied from interface:Matrix
ReturnsA(row,column)
- Specified by:
get
in interfaceMatrix
- Overrides:
get
in classAbstractMatrix
-
copy
public DistRowMatrix copy()
Deprecated.Description copied from interface:Matrix
Creates a deep copy of the matrix- Specified by:
copy
in interfaceMatrix
- Overrides:
copy
in classAbstractMatrix
- Returns:
- A
-
iterator
public java.util.Iterator<MatrixEntry> iterator()
Deprecated.- Specified by:
iterator
in interfacejava.lang.Iterable<MatrixEntry>
- Overrides:
iterator
in classAbstractMatrix
-
multAdd
public Vector multAdd(double alpha, Vector x, Vector y)
Deprecated.Description copied from interface:Matrix
y = alpha*A*x + y
- Specified by:
multAdd
in interfaceMatrix
- Overrides:
multAdd
in classAbstractMatrix
x
- Vector of sizeA.numColumns()
y
- Vector of sizeA.numRows()
- Returns:
- y
-
transMultAdd
public Vector transMultAdd(double alpha, Vector x, Vector y)
Deprecated.Description copied from interface:Matrix
y = alpha*AT*x + y
- Specified by:
transMultAdd
in interfaceMatrix
- Overrides:
transMultAdd
in classAbstractMatrix
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 callflushAssembly
to set up things like matrix/vector multiplication
-
norm1
protected double norm1()
Deprecated.Description copied from class:AbstractMatrix
Computes the 1 norm- Overrides:
norm1
in classAbstractMatrix
-
normInf
protected double normInf()
Deprecated.Description copied from class:AbstractMatrix
Computes the infinity norm- Overrides:
normInf
in classAbstractMatrix
-
zero
public DistRowMatrix zero()
Deprecated.Description copied from interface:Matrix
Zeros 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
public Matrix getBlock()
Deprecated.Returns the diagonal block matrix
-
getOff
public Matrix getOff()
Deprecated.Returns the off-diagonal matrix
-
max
protected double max()
Deprecated.Description copied from class:AbstractMatrix
Returns the largest absolute value- Overrides:
max
in classAbstractMatrix
-
normF
protected double normF()
Deprecated.Description copied from class:AbstractMatrix
Computes the Frobenius norm. This implementation is overflow resistant- Overrides:
normF
in classAbstractMatrix
-
rank1
public Matrix rank1(double alpha, Vector x, Vector y)
Deprecated.Description copied from interface:Matrix
A = alpha*x*yT + A
. The matrix must be square, and the vectors of the same length- Specified by:
rank1
in interfaceMatrix
- Overrides:
rank1
in classAbstractMatrix
- Returns:
- A
-
rank2
public Matrix rank2(double alpha, Vector x, Vector y)
Deprecated.Description copied from interface:Matrix
A = alpha*x*yT + alpha*y*xT + A
. The matrix must be square, and the vectors of the same length- Specified by:
rank2
in interfaceMatrix
- Overrides:
rank2
in classAbstractMatrix
- Returns:
- A
-
getCommunicator
public Communicator getCommunicator()
Deprecated.Gets the communicator associated with this matrix
-
-