|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.math3.linear.RealLinearOperator
org.apache.commons.math3.linear.AbstractRealMatrix
org.apache.commons.math3.linear.DiagonalMatrix
public class DiagonalMatrix
Implementation of a diagonal matrix.
Caveat: This implementation is minimal; it is currently solely aimed
at solving issue MATH-924. In particular many methods just throw
MathUnsupportedOperationException.
| Constructor Summary | |
|---|---|
DiagonalMatrix(double[] d)
Creates a matrix using the input array as the underlying data. |
|
DiagonalMatrix(double[] d,
boolean copyArray)
Creates a matrix using the input array as the underlying data. |
|
DiagonalMatrix(int dimension)
Creates a matrix with the supplied dimension. |
|
| Method Summary | |
|---|---|
DiagonalMatrix |
add(DiagonalMatrix m)
Compute the sum of this and m. |
void |
addToEntry(int row,
int column,
double increment)
Adds (in place) the specified value to the specified entry of this matrix. |
RealMatrix |
copy()
Returns a (deep) copy of this. |
RealMatrix |
createMatrix(int rowDimension,
int columnDimension)
Create a new RealMatrix of the same type as the instance with the supplied row and column dimensions. |
int |
getColumnDimension()
Returns the number of columns of this matrix. |
double[][] |
getData()
Returns matrix entries as a two-dimensional array. |
double[] |
getDataRef()
Gets a reference to the underlying data array. |
double |
getEntry(int row,
int column)
Get the entry in the specified row and column. |
int |
getRowDimension()
Returns the number of rows of this matrix. |
DiagonalMatrix |
multiply(DiagonalMatrix m)
Returns the result of postmultiplying this by m. |
RealMatrix |
multiply(RealMatrix m)
Returns the result of postmultiplying this by m. |
void |
multiplyEntry(int row,
int column,
double factor)
Multiplies (in place) the specified entry of this matrix by the
specified value. |
double[] |
operate(double[] v)
Returns the result of multiplying this by the vector v. |
double[] |
preMultiply(double[] v)
Returns the (row) vector result of premultiplying this by the vector v. |
void |
setEntry(int row,
int column,
double value)
Set the entry in the specified row and column. |
void |
setSubMatrix(double[][] subMatrix,
int row,
int column)
Replace the submatrix starting at row, column using data in the
input subMatrix array. |
DiagonalMatrix |
subtract(DiagonalMatrix m)
Returns this minus m. |
double |
walkInColumnOrder(RealMatrixChangingVisitor visitor)
Visit (and possibly change) all matrix entries in column order. |
double |
walkInColumnOrder(RealMatrixChangingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (and possibly change) some matrix entries in column order. |
double |
walkInColumnOrder(RealMatrixPreservingVisitor visitor)
Visit (but don't change) all matrix entries in column order. |
double |
walkInColumnOrder(RealMatrixPreservingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (but don't change) some matrix entries in column order. |
double |
walkInRowOrder(RealMatrixChangingVisitor visitor)
Visit (and possibly change) all matrix entries in row order. |
double |
walkInRowOrder(RealMatrixChangingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (and possibly change) some matrix entries in row order. |
double |
walkInRowOrder(RealMatrixPreservingVisitor visitor)
Visit (but don't change) all matrix entries in row order. |
double |
walkInRowOrder(RealMatrixPreservingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
Visit (but don't change) some matrix entries in row order. |
| Methods inherited from class org.apache.commons.math3.linear.AbstractRealMatrix |
|---|
add, copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getFrobeniusNorm, getNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, isSquare, operate, power, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, subtract, toString, transpose, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder |
| Methods inherited from class org.apache.commons.math3.linear.RealLinearOperator |
|---|
isTransposable, operateTranspose |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public DiagonalMatrix(int dimension)
throws NotStrictlyPositiveException
dimension - Number of rows and columns in the new matrix.
NotStrictlyPositiveException - if the dimension is
not positive.public DiagonalMatrix(double[] d)
d - Data for the new matrix.
public DiagonalMatrix(double[] d,
boolean copyArray)
copyArray may be
set to false.
This will prevent the copying and improve performance as no new
array will be built and no data will be copied.
d - Data for new matrix.copyArray - if true, the input array will be copied,
otherwise it will be referenced.| Method Detail |
|---|
public RealMatrix createMatrix(int rowDimension,
int columnDimension)
throws NotStrictlyPositiveException,
DimensionMismatchException
createMatrix in interface RealMatrixcreateMatrix in class AbstractRealMatrixrowDimension - the number of rows in the new matrixcolumnDimension - the number of columns in the new matrix
DimensionMismatchException - if the requested dimensions are not equal.
NotStrictlyPositiveException - if row or column dimension is not
positive.public RealMatrix copy()
copy in interface RealMatrixcopy in class AbstractRealMatrix
public DiagonalMatrix add(DiagonalMatrix m)
throws MatrixDimensionMismatchException
this and m.
m - Matrix to be added.
this + m.
MatrixDimensionMismatchException - if m is not the same
size as this.
public DiagonalMatrix subtract(DiagonalMatrix m)
throws MatrixDimensionMismatchException
this minus m.
m - Matrix to be subtracted.
this - m
MatrixDimensionMismatchException - if m is not the same
size as this.
public DiagonalMatrix multiply(DiagonalMatrix m)
throws DimensionMismatchException
this by m.
m - matrix to postmultiply by
this * m
DimensionMismatchException - if
columnDimension(this) != rowDimension(m)
public RealMatrix multiply(RealMatrix m)
throws DimensionMismatchException
this by m.
multiply in interface RealMatrixmultiply in class AbstractRealMatrixm - matrix to postmultiply by
this * m
DimensionMismatchException - if
columnDimension(this) != rowDimension(m)public double[][] getData()
getData in interface RealMatrixgetData in class AbstractRealMatrixpublic double[] getDataRef()
public void setSubMatrix(double[][] subMatrix,
int row,
int column)
throws MathUnsupportedOperationException
row, column using data in the
input subMatrix array. Indexes are 0-based.
Example:
Starting with
1 2 3 4 5 6 7 8 9 0 1 2and
subMatrix = {{3, 4} {5,6}}, invoking
setSubMatrix(subMatrix,1,1)) will result in 1 2 3 4 5 3 4 8 9 5 6 2
setSubMatrix in interface RealMatrixsetSubMatrix in class AbstractRealMatrixsubMatrix - array containing the submatrix replacement datarow - row coordinate of the top, left element to be replacedcolumn - column coordinate of the top, left element to be replaced
MathUnsupportedOperationException
public double getEntry(int row,
int column)
throws OutOfRangeException
getEntry in interface RealMatrixgetEntry in class AbstractRealMatrixrow - Row index of entry to be fetched.column - Column index of entry to be fetched.
(row, column).
OutOfRangeException - if the row or column index is not valid.
public void setEntry(int row,
int column,
double value)
throws OutOfRangeException,
MathUnsupportedOperationException
setEntry in interface RealMatrixsetEntry in class AbstractRealMatrixrow - Row index of entry to be set.column - Column index of entry to be set.value - the new value of the entry.
MathUnsupportedOperationException - if row != column.
OutOfRangeException - if the row or column index is not valid
public void addToEntry(int row,
int column,
double increment)
throws OutOfRangeException,
MathUnsupportedOperationException
this matrix. Row and column indices start at 0.
addToEntry in interface RealMatrixaddToEntry in class AbstractRealMatrixrow - Row index of the entry to be modified.column - Column index of the entry to be modified.increment - value to add to the matrix entry.
MathUnsupportedOperationException - if row != column.
OutOfRangeException - if the row or column index is not valid.
public void multiplyEntry(int row,
int column,
double factor)
throws OutOfRangeException,
MathUnsupportedOperationException
this matrix by the
specified value. Row and column indices start at 0.
multiplyEntry in interface RealMatrixmultiplyEntry in class AbstractRealMatrixrow - Row index of the entry to be modified.column - Column index of the entry to be modified.factor - Multiplication factor for the matrix entry.
MathUnsupportedOperationException - if row != column.
OutOfRangeException - if the row or column index is not valid.public int getRowDimension()
getRowDimension in interface AnyMatrixgetRowDimension in class AbstractRealMatrixpublic int getColumnDimension()
getColumnDimension in interface AnyMatrixgetColumnDimension in class AbstractRealMatrix
public double[] operate(double[] v)
throws DimensionMismatchException
v.
operate in interface RealMatrixoperate in class AbstractRealMatrixv - the vector to operate on
this * v
DimensionMismatchException - if the length of v does not
match the column dimension of this.
public double[] preMultiply(double[] v)
throws DimensionMismatchException
v.
preMultiply in interface RealMatrixpreMultiply in class AbstractRealMatrixv - the row vector to premultiply by
v * this
DimensionMismatchException - if the length of v does not
match the row dimension of this.
public double walkInRowOrder(RealMatrixChangingVisitor visitor)
throws MathUnsupportedOperationException
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder in interface RealMatrixwalkInRowOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entries
RealMatrixChangingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInRowOrder(RealMatrixPreservingVisitor visitor)
throws MathUnsupportedOperationException
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder in interface RealMatrixwalkInRowOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entries
RealMatrixPreservingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInRowOrder(RealMatrixChangingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
throws MathUnsupportedOperationException
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder in interface RealMatrixwalkInRowOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entriesstartRow - Initial row indexendRow - Final row index (inclusive)startColumn - Initial column indexendColumn - Final column index
RealMatrixChangingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInRowOrder(RealMatrixPreservingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
throws MathUnsupportedOperationException
Row order starts at upper left and iterating through all elements of a row from left to right before going to the leftmost element of the next row.
walkInRowOrder in interface RealMatrixwalkInRowOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entriesstartRow - Initial row indexendRow - Final row index (inclusive)startColumn - Initial column indexendColumn - Final column index
RealMatrixPreservingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixChangingVisitor visitor)
throws MathUnsupportedOperationException
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder in interface RealMatrixwalkInColumnOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entries
RealMatrixChangingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixPreservingVisitor visitor)
throws MathUnsupportedOperationException
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder in interface RealMatrixwalkInColumnOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entries
RealMatrixPreservingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixChangingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
throws MathUnsupportedOperationException
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder in interface RealMatrixwalkInColumnOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entriesstartRow - Initial row indexendRow - Final row index (inclusive)startColumn - Initial column indexendColumn - Final column index
RealMatrixChangingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
public double walkInColumnOrder(RealMatrixPreservingVisitor visitor,
int startRow,
int endRow,
int startColumn,
int endColumn)
throws MathUnsupportedOperationException
Column order starts at upper left and iterating through all elements of a column from top to bottom before going to the topmost element of the next column.
walkInColumnOrder in interface RealMatrixwalkInColumnOrder in class AbstractRealMatrixvisitor - visitor used to process all matrix entriesstartRow - Initial row indexendRow - Final row index (inclusive)startColumn - Initial column indexendColumn - Final column index
RealMatrixPreservingVisitor.end() at the end
of the walk
MathUnsupportedOperationExceptionRealMatrix.walkInRowOrder(RealMatrixChangingVisitor),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInRowOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInRowOrder(RealMatrixPreservingVisitor, int, int, int, int),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInColumnOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor),
RealMatrix.walkInOptimizedOrder(RealMatrixChangingVisitor, int, int, int, int),
RealMatrix.walkInOptimizedOrder(RealMatrixPreservingVisitor, int, int, int, int)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||