public class DenseLargeDoubleMatrix2D extends WrapperDoubleMatrix2D
Implementation:
This data structure allows to store more than 2^31 elements. Internally holds one two-dimensional array, elements[rows][columns]. Note that this implementation is not synchronized.
Time complexity:
O(1) (i.e. constant time) for the basic operations get, getQuick, set, setQuick and size.
| Constructor and Description |
|---|
DenseLargeDoubleMatrix2D(int rows,
int columns) |
| Modifier and Type | Method and Description |
|---|---|
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 Hartley transform (DHT) of each column of this
matrix.
|
void |
dhtRows()
Computes the discrete Hartley 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.
|
double[][] |
elements()
Returns the elements of this matrix.
|
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 (IDHT) of this
matrix.
|
void |
idhtColumns(boolean scale)
Computes the inverse of the discrete Hartley transform (IDHT) of each
column of this matrix.
|
void |
idhtRows(boolean scale)
Computes the inverse of the discrete Hartley transform (IDHT) of each row
of this matrix.
|
void |
idst2(boolean scale)
Computes the 2D inverse of the discrete sine 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.
|
assign, assign, assign, equals, equals, vectorize, viewColumn, viewColumnFlip, viewDice, viewPart, viewRow, viewRowFlip, viewSelection, viewStridesaggregate, 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 void dct2(boolean scale)
dct2 in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void dctColumns(boolean scale)
dctColumns in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void dctRows(boolean scale)
dctRows in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void dht2()
dht2 in class WrapperDoubleMatrix2Dpublic void dhtColumns()
dhtColumns in class WrapperDoubleMatrix2Dpublic void dhtRows()
dhtRows in class WrapperDoubleMatrix2Dpublic void dst2(boolean scale)
dst2 in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void dstColumns(boolean scale)
dstColumns in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void dstRows(boolean scale)
dstRows in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic 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.fft2 in class WrapperDoubleMatrix2DIllegalArgumentException - if the row size or the column size of this matrix is not a
power of 2 number.public DenseLargeDComplexMatrix2D getFft2()
getFft2 in class WrapperDoubleMatrix2Dpublic DenseLargeDComplexMatrix2D getFftColumns()
getFftColumns in class WrapperDoubleMatrix2Dpublic DenseLargeDComplexMatrix2D getFftRows()
getFftRows in class WrapperDoubleMatrix2Dpublic DenseLargeDComplexMatrix2D getIfft2(boolean scale)
getIfft2 in class WrapperDoubleMatrix2Dpublic DenseLargeDComplexMatrix2D getIfftColumns(boolean scale)
getIfftColumns in class WrapperDoubleMatrix2Dpublic DenseLargeDComplexMatrix2D getIfftRows(boolean scale)
getIfftRows in class WrapperDoubleMatrix2Dpublic 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 WrapperDoubleMatrix2Drow - the index of the row-coordinate.column - the index of the column-coordinate.public void idct2(boolean scale)
idct2 in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idctColumns(boolean scale)
idctColumns in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idctRows(boolean scale)
idctRows in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idht2(boolean scale)
idht2 in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idhtColumns(boolean scale)
idhtColumns in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idhtRows(boolean scale)
idhtRows in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idst2(boolean scale)
idst2 in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idstColumns(boolean scale)
idstColumns in class WrapperDoubleMatrix2Dscale - if true then scaling is performedpublic void idstRows(boolean scale)
idstRows in class WrapperDoubleMatrix2Dscale - 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.ifft2 in class WrapperDoubleMatrix2Dscale - 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 WrapperDoubleMatrix2Drow - the index of the row-coordinate.column - the index of the column-coordinate.value - the value to be filled into the specified cell.public double[][] elements()
DoubleMatrix2Delements in class WrapperDoubleMatrix2Dpublic DoubleMatrix2D like(int rows, int columns)
DoubleMatrix2Dlike in class WrapperDoubleMatrix2Drows - 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 WrapperDoubleMatrix2Dsize - the number of cells the matrix shall have.Jump to the Parallel Colt Homepage