public class WrapperDoubleMatrix2D extends DoubleMatrix2D
| Constructor and Description |
|---|
WrapperDoubleMatrix2D(DoubleMatrix2D newContent) |
| Modifier and Type | Method and Description |
|---|---|
DoubleMatrix2D |
assign(double[] values)
Sets all cells to the state specified by values.
|
DoubleMatrix2D |
assign(DoubleMatrix2D y,
DoubleDoubleFunction function)
Assigns the result of a function to each cell;
x[row,col] = function(x[row,col],y[row,col]).
|
DoubleMatrix2D |
assign(float[] values)
Sets all cells to the state specified by values.
|
void |
dct2(boolean scale)
Computes the 2D discrete cosine transform (DCT-II) of this matrix.
|
void |
dctColumns(boolean scale)
Computes the discrete cosine transform (DCT-II) of each column of this
matrix.
|
void |
dctRows(boolean scale)
Computes the discrete cosine transform (DCT-II) of each row of this
matrix.
|
void |
dht2()
Computes the 2D discrete Hartley transform (DHT) of this matrix.
|
void |
dhtColumns()
Computes the discrete Hertley transform (DHT) of each column of this
matrix.
|
void |
dhtRows()
Computes the discrete Hertley transform (DHT) of each row of this matrix.
|
void |
dst2(boolean scale)
Computes the 2D discrete sine transform (DST-II) of this matrix.
|
void |
dstColumns(boolean scale)
Computes the discrete sine transform (DST-II) of each column of this
matrix.
|
void |
dstRows(boolean scale)
Computes the discrete sine transform (DST-II) of each row of this matrix.
|
Object |
elements()
Returns the elements of this matrix.
|
boolean |
equals(double value)
Returns whether all cells are equal to the given value.
|
boolean |
equals(Object obj)
Compares this object against the specified object.
|
void |
fft2()
Computes the 2D discrete Fourier transform (DFT) of this matrix.
|
DenseLargeDComplexMatrix2D |
getFft2()
Returns new complex matrix which is the 2D discrete Fourier transform
(DFT) of this matrix.
|
DenseLargeDComplexMatrix2D |
getFftColumns()
Returns new complex matrix which is the discrete Fourier transform (DFT)
of each column of this matrix.
|
DenseLargeDComplexMatrix2D |
getFftRows()
Returns new complex matrix which is the discrete Fourier transform (DFT)
of each row of this matrix.
|
DenseLargeDComplexMatrix2D |
getIfft2(boolean scale)
Returns new complex matrix which is the 2D inverse of the discrete
Fourier transform (IDFT) of this matrix.
|
DenseLargeDComplexMatrix2D |
getIfftColumns(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier
transform (IDFT) of each column of this matrix.
|
DenseLargeDComplexMatrix2D |
getIfftRows(boolean scale)
Returns new complex matrix which is the inverse of the discrete Fourier
transform (IDFT) of each row of this matrix.
|
double |
getQuick(int row,
int column)
Returns the matrix cell value at coordinate [row,column].
|
void |
idct2(boolean scale)
Computes the 2D inverse of the discrete cosine transform (DCT-III) of
this matrix.
|
void |
idctColumns(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each
column of this matrix.
|
void |
idctRows(boolean scale)
Computes the inverse of the discrete cosine transform (DCT-III) of each
row of this matrix.
|
void |
idht2(boolean scale)
Computes the 2D inverse of the discrete Hartley transform (DHT) of this
matrix.
|
void |
idhtColumns(boolean scale)
Computes the inverse of the discrete Hartley transform (DHT) of each
column of this matrix.
|
void |
idhtRows(boolean scale)
Computes the inverse of the discrete Hartley transform (DHT) of each row
of this matrix.
|
void |
idst2(boolean scale)
Computes the 2D inverse of the discrete size transform (DST-III) of this
matrix.
|
void |
idstColumns(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each
column of this matrix.
|
void |
idstRows(boolean scale)
Computes the inverse of the discrete sine transform (DST-III) of each row
of this matrix.
|
void |
ifft2(boolean scale)
Computes the 2D inverse of the discrete Fourier transform (IDFT) of this
matrix.
|
DoubleMatrix2D |
like(int rows,
int columns)
Construct and returns a new empty matrix of the same dynamic type
as the receiver, having the specified number of rows and columns.
|
DoubleMatrix1D |
like1D(int size)
Construct and returns a new 1-d matrix of the corresponding dynamic
type, entirelly independent of the receiver.
|
void |
setQuick(int row,
int column,
double value)
Sets the matrix cell at coordinate [row,column] to the specified
value.
|
DoubleMatrix1D |
vectorize()
Returns a vector obtained by stacking the columns of the matrix on top of
one another.
|
DoubleMatrix1D |
viewColumn(int column)
Constructs and returns a new slice view representing the rows of
the given column.
|
DoubleMatrix2D |
viewColumnFlip()
Constructs and returns a new flip view along the column axis.
|
DoubleMatrix2D |
viewDice()
Constructs and returns a new dice (transposition) view; Swaps
axes; example: 3 x 4 matrix --> 4 x 3 matrix.
|
DoubleMatrix2D |
viewPart(int row,
int column,
int height,
int width)
Constructs and returns a new sub-range view that is a
height x width sub matrix starting at [row,column].
|
DoubleMatrix1D |
viewRow(int row)
Constructs and returns a new slice view representing the columns
of the given row.
|
DoubleMatrix2D |
viewRowFlip()
Constructs and returns a new flip view along the row axis.
|
DoubleMatrix2D |
viewSelection(int[] rowIndexes,
int[] columnIndexes)
Constructs and returns a new selection view that is a matrix
holding the indicated cells.
|
DoubleMatrix2D |
viewStrides(int _rowStride,
int _columnStride)
Constructs and returns a new stride view which is a sub matrix
consisting of every i-th cell.
|
aggregate, aggregate, aggregate, aggregate, assign, assign, assign, assign, assign, assign, assign, cardinality, copy, forEachNonZero, get, getMaxLocation, getMinLocation, getNegativeValues, getNonZeros, getPositiveValues, like, normalize, set, toArray, toString, viewSelection, viewSelection, viewSorted, zAssign8Neighbors, zMult, zMult, zMult, zMult, zSumcheckShape, checkShape, columns, columnStride, index, rows, rowStride, size, toStringShortensureCapacity, isView, trimToSizeclonepublic WrapperDoubleMatrix2D(DoubleMatrix2D newContent)
public DoubleMatrix2D assign(double[] values)
DoubleMatrix2DThe values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.
assign in class DoubleMatrix2Dvalues - the values to be filled into the cells.public DoubleMatrix2D assign(float[] values)
DoubleMatrix2DThe values are copied. So subsequent changes in values are not reflected in the matrix, and vice-versa.
assign in class DoubleMatrix2Dvalues - the values to be filled into the cells.public DoubleMatrix2D assign(DoubleMatrix2D y, DoubleDoubleFunction function)
DoubleMatrix2DExample:
// assign x[row,col] = x[row,col]<sup>y[row,col]</sup>
m1 = 2 x 2 matrix
0 1
2 3
m2 = 2 x 2 matrix
0 2
4 6
m1.assign(m2, cern.jet.math.Functions.pow);
-->
m1 == 2 x 2 matrix
1 1
16 729
For further examples, see the package doc.assign in class DoubleMatrix2Dy - the secondary matrix to operate on.function - a function object taking as first argument the current cell's
value of this, and as second argument the current
cell's value of y,DoubleFunctionspublic Object elements()
DoubleMatrix2Delements in class DoubleMatrix2Dpublic double getQuick(int row,
int column)
DoubleMatrix2DProvided with invalid parameters this method may return invalid objects without throwing any exception. You should only use this method when you are absolutely sure that the coordinate is within bounds. Precondition (unchecked): 0 <= column < columns() && 0 <= row < rows().
getQuick in class DoubleMatrix2Drow - the index of the row-coordinate.column - the index of the column-coordinate.public boolean equals(double value)
DoubleMatrix2Dequals in class DoubleMatrix2Dvalue - the value to test against.public boolean equals(Object obj)
DoubleMatrix2Dtrue if and only if the argument is not null
and is at least a DoubleMatrix2D object that has the same
number of columns and rows as the receiver and has exactly the same
values at the same coordinates.equals in class DoubleMatrix2Dobj - the object to compare with.true if the objects are the same; false
otherwise.public DoubleMatrix2D like(int rows, int columns)
DoubleMatrix2Dlike in class DoubleMatrix2Drows - the number of rows the matrix shall have.columns - the number of columns the matrix shall have.public DoubleMatrix1D like1D(int size)
DoubleMatrix2Dlike1D in class DoubleMatrix2Dsize - the number of cells the matrix shall have.public void dct2(boolean scale)
scale - if true then scaling is performedpublic void dctColumns(boolean scale)
scale - if true then scaling is performedpublic void dctRows(boolean scale)
scale - if true then scaling is performedpublic void dst2(boolean scale)
scale - if true then scaling is performedpublic void dstColumns(boolean scale)
scale - if true then scaling is performedpublic void dstRows(boolean scale)
scale - if true then scaling is performedpublic void dht2()
public void dhtColumns()
public void dhtRows()
public void fft2()
this[k1][2*k2] = Re[k1][k2] = Re[rows-k1][columns-k2],
this[k1][2*k2+1] = Im[k1][k2] = -Im[rows-k1][columns-k2],
0<k1<rows, 0<k2<columns/2,
this[0][2*k2] = Re[0][k2] = Re[0][columns-k2],
this[0][2*k2+1] = Im[0][k2] = -Im[0][columns-k2],
0<k2<columns/2,
this[k1][0] = Re[k1][0] = Re[rows-k1][0],
this[k1][1] = Im[k1][0] = -Im[rows-k1][0],
this[rows-k1][1] = Re[k1][columns/2] = Re[rows-k1][columns/2],
this[rows-k1][0] = -Im[k1][columns/2] = Im[rows-k1][columns/2],
0<k1<rows/2,
this[0][0] = Re[0][0],
this[0][1] = Re[0][columns/2],
this[rows/2][0] = Re[rows/2][0],
this[rows/2][1] = Re[rows/2][columns/2]
This method computes only half of the elements of the real transform. The
other half satisfies the symmetry condition. If you want the full real
forward transform, use getFft2. To get back the original
data, use ifft2.IllegalArgumentException - if the row size or the column size of this matrix is not a
power of 2 number.public DenseLargeDComplexMatrix2D getFft2()
public DenseLargeDComplexMatrix2D getIfft2(boolean scale)
public DenseLargeDComplexMatrix2D getFftColumns()
public DenseLargeDComplexMatrix2D getFftRows()
public DenseLargeDComplexMatrix2D getIfftColumns(boolean scale)
public DenseLargeDComplexMatrix2D getIfftRows(boolean scale)
public void idct2(boolean scale)
scale - if true then scaling is performedpublic void idctColumns(boolean scale)
scale - if true then scaling is performedpublic void idctRows(boolean scale)
scale - if true then scaling is performedpublic void idst2(boolean scale)
scale - if true then scaling is performedpublic void idstColumns(boolean scale)
scale - if true then scaling is performedpublic void idstRows(boolean scale)
scale - if true then scaling is performedpublic void idht2(boolean scale)
scale - if true then scaling is performedpublic void idhtColumns(boolean scale)
scale - if true then scaling is performedpublic void idhtRows(boolean scale)
scale - if true then scaling is performedpublic void ifft2(boolean scale)
this[k1][2*k2] = Re[k1][k2] = Re[rows-k1][columns-k2],
this[k1][2*k2+1] = Im[k1][k2] = -Im[rows-k1][columns-k2],
0<k1<rows, 0<k2<columns/2,
this[0][2*k2] = Re[0][k2] = Re[0][columns-k2],
this[0][2*k2+1] = Im[0][k2] = -Im[0][columns-k2],
0<k2<columns/2,
this[k1][0] = Re[k1][0] = Re[rows-k1][0],
this[k1][1] = Im[k1][0] = -Im[rows-k1][0],
this[rows-k1][1] = Re[k1][columns/2] = Re[rows-k1][columns/2],
this[rows-k1][0] = -Im[k1][columns/2] = Im[rows-k1][columns/2],
0<k1<rows/2,
this[0][0] = Re[0][0],
this[0][1] = Re[0][columns/2],
this[rows/2][0] = Re[rows/2][0],
this[rows/2][1] = Re[rows/2][columns/2]
This method computes only half of the elements of the real transform. The
other half satisfies the symmetry condition. If you want the full real
inverse transform, use getIfft2.scale - if true then scaling is performedIllegalArgumentException - if the row size or the column size of this matrix is not a
power of 2 number.public void setQuick(int row,
int column,
double value)
DoubleMatrix2DProvided with invalid parameters this method may access illegal indexes without throwing any exception. You should only use this method when you are absolutely sure that the coordinate is within bounds. Precondition (unchecked): 0 <= column < columns() && 0 <= row < rows().
setQuick in class DoubleMatrix2Drow - the index of the row-coordinate.column - the index of the column-coordinate.value - the value to be filled into the specified cell.public DoubleMatrix1D vectorize()
DoubleMatrix2Dvectorize in class DoubleMatrix2Dpublic DoubleMatrix1D viewColumn(int column)
DoubleMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewColumn(0) ==> | Matrix1D of size 2: 1, 4 |
viewColumn in class DoubleMatrix2Dcolumn - the column to fix.DoubleMatrix2D.viewRow(int)public DoubleMatrix2D viewColumnFlip()
DoubleMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
columnFlip ==> | 2 x 3 matrix: 3, 2, 1 6, 5, 4 |
columnFlip ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewColumnFlip in class DoubleMatrix2DDoubleMatrix2D.viewRowFlip()public DoubleMatrix2D viewDice()
DoubleMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
transpose ==> | 3 x 2 matrix: 1, 4 2, 5 3, 6 |
transpose ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewDice in class DoubleMatrix2Dpublic DoubleMatrix2D viewPart(int row, int column, int height, int width)
DoubleMatrix2DNote that the view is really just a range restriction: The returned matrix is backed by this matrix, so changes in the returned matrix are reflected in this matrix, and vice-versa.
The view contains the cells from [row,column] to [row+height-1,column+width-1], all inclusive. and has view.rows() == height; view.columns() == width;. A view's legal coordinates are again zero based, as usual. In other words, legal coordinates of the view range from [0,0] to [view.rows()-1==height-1,view.columns()-1==width-1]. As usual, any attempt to access a cell at a coordinate column<0 || column>=view.columns() || row<0 || row>=view.rows() will throw an IndexOutOfBoundsException.
viewPart in class DoubleMatrix2Drow - The index of the row-coordinate.column - The index of the column-coordinate.height - The height of the box.width - The width of the box.public DoubleMatrix1D viewRow(int row)
DoubleMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewRow(0) ==> | Matrix1D of size 3: 1, 2, 3 |
viewRow in class DoubleMatrix2Drow - the row to fix.DoubleMatrix2D.viewColumn(int)public DoubleMatrix2D viewRowFlip()
DoubleMatrix2DExample:
| 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
rowFlip ==> | 2 x 3 matrix: 4, 5, 6 1, 2, 3 |
rowFlip ==> | 2 x 3 matrix: 1, 2, 3 4, 5, 6 |
viewRowFlip in class DoubleMatrix2DDoubleMatrix2D.viewColumnFlip()public DoubleMatrix2D viewSelection(int[] rowIndexes, int[] columnIndexes)
DoubleMatrix2DExample:
this = 2 x 3 matrix:
1, 2, 3
4, 5, 6
rowIndexes = (0,1)
columnIndexes = (1,0,1,0)
-->
view = 2 x 4 matrix:
2, 1, 2, 1
5, 4, 5, 4
Note that modifying the index arguments after this call has returned has
no effect on the view. The returned view is backed by this matrix, so
changes in the returned view are reflected in this matrix, and
vice-versa.
To indicate "all" rows or "all columns", simply set the respective parameter
viewSelection in class DoubleMatrix2DrowIndexes - The rows of the cells that shall be visible in the new view.
To indicate that all rows shall be visible, simply set
this parameter to null.columnIndexes - The columns of the cells that shall be visible in the new
view. To indicate that all columns shall be visible,
simply set this parameter to null.public DoubleMatrix2D viewStrides(int _rowStride, int _columnStride)
DoubleMatrix2DviewStrides in class DoubleMatrix2D_rowStride - the row step factor._columnStride - the column step factor.Jump to the Parallel Colt Homepage