org.mklab.nfc.matrix
インタフェース NumericalMatrixOperator<E extends NumericalScalar<E>>

型パラメータ:
E - 成分の型
すべてのスーパーインタフェース:
FundamentalMatrix, Grid, Matrix, MatrixElementOperator<E>, MatrixElementWiseOperator
既知の実装クラスの一覧:
DoubleComplexMatrix, DoubleMatrix, MatxComplexArray, MatxRealArray, NumericalComplexMatrix, NumericalMatrix

public interface NumericalMatrixOperator<E extends NumericalScalar<E>>
extends Matrix, MatrixElementOperator<E>

数値行列を表すインターフェースです。

バージョン:
$Revision: 1.25 $
作成者:
koga

メソッドの概要
 NumericalMatrixOperator<?> absElementWise()
          各成分の絶対値を成分に持つ行列を返します。
 NumericalMatrixOperator<E> acosElementWise()
          成分毎の逆余弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<E> acoshElementWise()
          成分毎の逆双曲線余弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<?> argumentElementWise()
          各成分の偏角を成分に持つ行列を返します。
 NumericalMatrixOperator<E> asinElementWise()
          成分毎の逆正弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<E> asinhElementWise()
          成分毎の逆双曲線正弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<?> atan2ElementWise(Matrix matrix)
          各成分の逆正接(2)関数の結果を成分とする行列を生成します。
 NumericalMatrixOperator<?> atan2ElementWise(NumericalScalar<?> value)
          各成分の逆正接(2)関数の結果を成分とする行列を生成します。
 NumericalMatrixOperator<E> atanElementWise()
          成分毎の逆正接関数の結果からなる行列を返します。
 NumericalMatrixOperator<E> atanhElementWise()
          成分毎の逆双曲線正接関数の結果からなる行列を返します。
 BalancedDecomposition<? extends NumericalMatrixOperator<E>> balancedDecompose()
          非対称行列のバランス化分解を返します。
 NumericalMatrixOperator<E> choleskyDecompose()
          対称行列のコレスキー分解を返します。
 NumericalScalar<?> conditionNumber()
          条件数(2-ノルム)を返します。
 NumericalMatrixOperator<E> cosElementWise()
          成分毎の余弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<E> coshElementWise()
          成分毎の双曲線余弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<?> createComplexMatrix(NumericalMatrixOperator<?> realPart, NumericalMatrixOperator<?> imagPart)
          複素行列を返します。
 NumericalMatrixOperator<E> createNormalRandom()
          同サイズの平均0、分散1の正規分布のランダムな成分を持つ行列を生成します。
 NumericalMatrixOperator<E> createNormalRandom(int rowSize, int columnSize)
          平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSize の行列を生成します。
 NumericalMatrixOperator<E> createNormalRandom(int rowNumber, int columnNumber, Grid block)
          行列blockrowNumber*columnNumber倍の 平均0、 分散1の正規分布のランダムな成分を持つrowSize*columnSizeの行列を生成します。
 NumericalMatrixOperator<E> createNormalRandom(int rowSize, int columnSize, long seed)
          平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSize の行列を生成します。
 NumericalMatrixOperator<E> createUniformRandom()
          同サイズの0〜1の範囲の一様分布のランダムな成分を持つ行列を生成します。
 NumericalMatrixOperator<E> createUniformRandom(int rowSize, int columnSize)
          0〜1の範囲の一様分布のランダムな成分を持つrowSize*columnSizeの行列を生成します 。
 NumericalMatrixOperator<E> createUniformRandom(int rowNumber, int columnNumber, Grid block)
          行列blockrowNumber*columnNumber倍の 0〜1の範囲の一様分布のランダムな成分を持つ rowSize*columnSizeの行列を生成します。
 NumericalMatrixOperator<E> createUniformRandom(int rowSize, int columnSize, long seed)
          0〜1の範囲の一様分布のランダムな成分を持つrowSize*columnSizeの行列を生成します 。
 EigenSolution<? extends NumericalMatrixOperator<?>> eigenDecompose()
          固有値を対角成分とする対角行列D、固有値に対応する固有ベクトルを横方向に並べた行列Xを返します。
 EigenSolution<? extends NumericalMatrixOperator<?>> eigenDecompose(NumericalMatrixOperator<?> B)
          一般化固有値を対角成分とする対角行列 D と対応する一般化固有ベクトルを列とする行列 X を返します。
 NumericalMatrixOperator<?> eigenValue()
          固有値を成分とする列ベクトルを返します。
 NumericalMatrixOperator<?> eigenValue(NumericalMatrixOperator<?> B)
          一般化固有値からなる列ベクトルを返します。
 NumericalMatrixOperator<?> eigenVector()
          (右)固有ベクトルを列とする行列を返します。
 NumericalMatrixOperator<?> eigenVector(NumericalMatrixOperator<?> B)
          一般化固有ベクトルを返します。
 NumericalMatrixOperator<E> exp()
          指数関数行列を返します。
 NumericalMatrixOperator<E> exp(double tolerance)
          指数関数行列を返します。
 NumericalMatrixOperator<E> exp(NumericalScalar<?> tolerance)
          指数関数行列を返します。
 NumericalMatrixOperator<E> expElementWise()
          成分毎の指数関数の結果からなる行列を返します。
 NumericalMatrix<?> fft()
          2 のべき乗の長さのベクトルについて、基底が 2 の 高速フーリエ変換を計算します。
 NumericalMatrix<?> fft(int dataSize)
          dataSize点まで基底が 2 の高速フーリエ変換をします。
 NumericalMatrix<?> fftColumnWise()
          列毎に基底が 2 の高速フーリエ変換を計算します。
 NumericalMatrix<?> fftColumnWise(int dataSize)
          列毎にdataSize点まで、基底が 2 の高速フーリエ変換を計算します。
 NumericalMatrix<?> fftRowWise()
          行毎に基底が 2 の高速フーリエ変換を計算します。
 NumericalMatrix<?> fftRowWise(int dataSize)
          行毎にdataSize点まで,基底が 2 の高速フーリエ変換を計算します。
 NumericalScalar<?> frobNorm()
          フロベニウスノルムを返します。
 NumericalMatrixOperator<?> frobNormColumnWise()
          列毎のフロベニウスノルムを成分とする行ベクトルを返します。
 NumericalMatrixOperator<?> frobNormRowWise()
          行毎のフロベニウスノルムを成分とする列ベクトルを返します。
 HessenbergDecomposition<? extends NumericalMatrixOperator<E>> hessenbergDecompose()
          ヘッセンベルク分解を返します。
 NumericalMatrix<?> ifft()
          2 のべき乗の長さのベクトルについて、基底が 2 の 逆高速フーリエ変換を計算します。
 NumericalMatrix<?> ifft(int dataSize)
          dataSize点まで基底が2の逆高速フーリエ変換をします。
 NumericalMatrix<?> ifftColumnWise()
          列毎に基底が 2 の逆高速フーリエ変換を計算します。
 NumericalMatrix<?> ifftColumnWise(int dataSize)
          列毎にdataSize点まで、基底が 2 の逆高速フーリエ変換を計算します。
 NumericalMatrix<?> ifftRowWise()
          行毎に基底が 2 の逆高速フーリエ変換を計算します。
 NumericalMatrix<?> ifftRowWise(int dataSize)
          行毎にdataSize点まで,基底が 2 の逆高速フーリエ変換を計算します。
 NumericalScalar<?> infNorm()
          無限大ノルムを返します。
 Matrix inverse(NumericalScalar<?> tolerance, boolean stopIfSingular)
          逆行列(this -1 )を返します。
 boolean isFullRank()
          フルランクであるか判定します。
 boolean isFullRank(double tolerance)
          フルランクであるか判定します。
 boolean isFullRank(NumericalScalar<?> tolerance)
          フルランクであるか判定します。
 boolean isUnit(NumericalScalar<?> tolerance)
          単位行列であるか判定します。
 boolean isZero(NumericalScalar<?> tolerance)
          零行列であるか判定します。
 NumericalMatrixOperator<E> kernel()
          カーネル(零空間)を張るベクトルからなる行列を返します。
 NumericalMatrixOperator<E> kernel(double tolerance)
          カーネル(零空間)を張るベクトルからなる行列を返します。
 NumericalMatrixOperator<E> kernel(NumericalScalar<?> tolerance)
          カーネル(零空間)を張るベクトルからなる行列を返します。
 NumericalMatrixOperator<?> log()
          対数行列を返します。
 NumericalMatrixOperator<?> log10ElementWise()
          成分毎の常用対数関数の結果からなる行列を返します。
 NumericalMatrixOperator<?> logElementWise()
          成分毎の対数関数の結果からなる行列を返します。
 LUDecomposition<? extends NumericalMatrixOperator<E>> luDecompose()
          LU分解を返します。
 LUDecomposition<? extends NumericalMatrixOperator<E>> luDecompose(double tolerance)
          LU分解を返します。
 LUDecomposition<? extends NumericalMatrixOperator<E>> luDecompose(NumericalScalar<?> tolerance)
          LU分解を返します。
 LUDecomposition<? extends NumericalMatrixOperator<E>> luDecomposeWithPermutation()
          並べ替え付きLU分解を返します。
 LUDecomposition<? extends NumericalMatrixOperator<E>> luDecomposeWithPermutation(double tolerance)
          並べ替え付きLU分解を返します。
 LUDecomposition<? extends NumericalMatrixOperator<E>> luDecomposeWithPermutation(NumericalScalar<?> tolerance)
          並べ替え付きLU分解を返します。
 E max()
          最大成分を返します。
 NumericalMatrixOperator<E> maxColumnWise()
          列毎の最大値を成分とする行ベクトルを返します。
 Matrix maxElementWise(Matrix opponent)
          opponentと成分毎に比較し、大きいほうを成分にもつ行列を返します。
 ElementHolder<E> maximum()
          最大成分とその指数を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> maximumColumnWise()
          列毎の最大成分とその指数を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> maximumRowWise()
          行毎の最大成分とその指数を返します。
 NumericalMatrixOperator<E> maxRowWise()
          行毎の最大値を成分とする列ベクトルを返します。
 NumericalScalar<?> maxSingularValue()
          最大特異値を返します。
 E median()
          全ての成分の中間値を返します。
 NumericalMatrixOperator<E> medianColumnWise()
          行列なら、列毎のメジアンを成分とする行ベクトルを返します。
 NumericalMatrixOperator<E> medianRowWise()
          行列なら、行毎のメジアンを成分とする列ベクトルを返します。
 E min()
          最小成分を返します。
 NumericalMatrixOperator<E> minColumnWise()
          列毎の最小値を成分とする行ベクトルを返します。
 Matrix minElementWise(Matrix opponent)
          opponentと成分毎に比較し、小さいほうを成分にもつ行列を返します。
 ElementHolder<E> minimum()
          最小成分と指数を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> minimumColumnWise()
          列毎の最小成分とその指数を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> minimumRowWise()
          行毎の最小成分とその指数を返します。
 NumericalMatrixOperator<E> minRowWise()
          行毎の最小値を成分とする列ベクトルを返します。
 NumericalScalar<?> minSingularValue()
          最小特異値を返します。
 NumericalMatrixOperator<?> modulusElementWise(Matrix matrix)
          各成分の符合付剰余を成分とする行列を生成します。
 NumericalMatrixOperator<?> modulusElementWise(NumericalScalar<?> value)
          各成分の符合付剰余を成分とする行列を生成します。
 NumericalScalar<?> norm(NormType normType)
          norm(NormType.FROBENIUS)でフロベニウスノルム、 norm( NormType.INFINITY)で無限大ノルム、 norm( NormType.ONE)で1-ノルムを、 norm(NormType.TWO)で最大特異値を返します。
 NumericalMatrixOperator<E> powerElementWise(double scalar)
          成分毎に累乗するした値を成分とする行列を返します。
 Matrix powerElementWise(Matrix matrix)
          成分毎に累乗するした値を成分とする行列を返します。
 NumericalMatrixOperator<?> powerElementWise(NumericalScalar<?> scalar)
          成分毎に累乗するした値を成分とする行列を返します。
 NumericalMatrixOperator<E> pseudoInverse()
          擬似逆行列を返します。
 NumericalMatrixOperator<E> pseudoInverse(double tolerance)
          擬似逆行列を返します。
 NumericalMatrixOperator<E> pseudoInverse(NumericalScalar<?> tolerance)
          擬似逆行列を返します。
 QRDecomposition<? extends NumericalMatrixOperator<E>> qrDecompose()
          QR分解を返します。
 QRDecomposition<? extends NumericalMatrixOperator<E>> qrDecomposeWithPermutation()
          並べ替え付きQR分解を返します。
 QZDecomposition<? extends NumericalMatrixOperator<?>> qzDecompose(NumericalMatrixOperator<?> B)
          QZ分解を返します。
 int rank()
          ランク(階数)(正の特異値の数)を返します。
 int rank(double tolerance)
          ランク(階数)(toleranceより大きい特異値の数)を返します。
 int rank(NumericalScalar<?> tolerance)
          ランク(階数)(toleranceより大きい特異値の数)を返します。
 NumericalMatrixOperator<?> remainderElementWise(Matrix matrix)
          各成分の剰余を成分とする行列を生成します。
 NumericalMatrixOperator<?> remainderElementWise(NumericalScalar<?> value)
          各成分の剰余を成分とする行列を生成します。
 Matrix roundToZeroElementWise(NumericalScalar<?> tolerance)
          絶対値が小さい成分を0に丸めます。
 SchurDecomposition<? extends NumericalMatrixOperator<E>> schurDecompose()
          Schur分解を返します。
 NumericalMatrixOperator<E> signumElementWise()
          各成分の符合(-1,0,1)を成分に持つ行列を返します。
 NumericalMatrixOperator<E> sinElementWise()
          成分毎の正弦関数の結果からなる行列を返します。
 NumericalMatrixOperator<?> singularValue()
          特異値を成分とする列ベクトルを返します。
 SingularValueDecomposition<? extends NumericalMatrixOperator<E>> singularValueDecompose()
          特異値分解で得られる各行列を返します。
 NumericalMatrixOperator<E> sinhElementWise()
          成分毎の双曲線正弦関数の結果からなる行列を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> sort()
          全ての成分を昇順に並び替えた行列と元の位置を示す指数(IntMatrix)を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> sortColumnWise()
          列毎に昇順に並び替えた行列と元の位置を示す指数(IntMatrix)を返します。
 IndexedMatrix<? extends NumericalMatrixOperator<E>> sortRowWise()
          行毎に昇順に並び替えた行列と元の位置を示す指数(IntMatrix)を返します。
 NumericalMatrixOperator<?> sqrt()
          平方根行列を返します。
 NumericalMatrixOperator<?> sqrtElementWise()
          成分毎の平方根の結果からなる行列を返します。
 E std()
          標準偏差を返します。
 NumericalMatrixOperator<E> stdColumnWise()
          各成分列毎の標準偏差行ベクトルを返します。
 NumericalMatrixOperator<E> stdRowWise()
          各成分行毎の標準偏差列ベクトルを返します。
 NumericalMatrixOperator<E> tanElementWise()
          成分毎の正接関数の結果からなる行列を返します。
 NumericalMatrixOperator<E> tanhElementWise()
          成分毎の双曲線正接関数の結果からなる行列を返します。
 
インタフェース org.mklab.nfc.matrix.Matrix から継承されたメソッド
add, conjugate, conjugateTranspose, covariance, createOnes, createOnes, createOnes, createOnes, createUnit, createUnit, createUnit, createUnit, createZero, createZero, createZero, createZero, cumulativeProduct, cumulativeProductColumnWise, cumulativeProductRowWise, cumulativeSum, cumulativeSumColumnWise, cumulativeSumRowWise, divide, divide, divide, divide, getImaginaryPart, getRealPart, inverse, inverse, isComplex, isReal, isTransformableFrom, isTransformableTo, isUnit, isUnit, isZero, leftDivide, leftDivide, leftDivide, leftDivide, meanColumnWise, meanRowWise, multiply, multiply, multiply, multiply, power, productColumnWise, productRowWise, setImaginaryPart, setImaginaryPart, setImaginaryPart, setImaginaryPart, setRealPart, setRealPart, setRealPart, setRealPart, shiftLeft, shiftUp, subtract, sumColumnWise, sumRowWise, toComplex, transformFrom, transformTo, unaryMinus
 
インタフェース org.mklab.nfc.matrix.FundamentalMatrix から継承されたメソッド
appendDown, appendRight, compareElementWise, copy, diagonalToVector, equals, flipLeftRight, flipUpDown, getColumnVector, getColumnVectors, getColumnVectors, getRowVector, getRowVectors, getRowVectors, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubMatrix, getSubVector, getSubVector, getSubVector, reshape, resize, rotateLeft, rotateUp, setColumnVector, setColumnVectors, setColumnVectors, setRowVector, setRowVectors, setRowVectors, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubMatrix, setSubVector, setSubVector, setSubVector, transpose, vectorToDiagonal
 
インタフェース org.mklab.nfc.matrix.Grid から継承されたメソッド
clone, count, exchangeColumn, exchangeRow, getColumnSize, getElementAlignment, getElementFormat, getPrintingElementsString, getPrintingString, getRowSize, hasSameColumnSize, hasSameRowSize, isEmpty, isSameSize, isSquare, isZero, length, print, print, print, printElements, printElements, removeColumnVector, removeColumnVectors, removeColumnVectors, removeRowVector, removeRowVectors, removeRowVectors, setElementAlignment, setElementFormat
 
インタフェース org.mklab.nfc.matrix.MatrixElementWiseOperator から継承されたメソッド
addElementWise, addElementWise, addElementWise, ceilElementWise, compareElementWise, compareElementWise, compareElementWise, divideElementWise, fixElementWise, floorElementWise, inverseElementWise, isFiniteElementWise, isInfiniteElementWise, isNanElementWise, leftDivideElementWise, multiplyElementWise, powerElementWise, powerElementWise, roundElementWise, roundToZeroElementWise, roundToZeroElementWise, subtractElementWise, subtractElementWise, subtractElementWise
 
インタフェース org.mklab.nfc.matrix.MatrixElementOperator から継承されたメソッド
copy, copy, determinant, getElement, getElement, mean, product, setElement, setElement, setElement, setElement, setElement, setElement, sum, trace, variance
 

メソッドの詳細

eigenValue

NumericalMatrixOperator<?> eigenValue()
固有値を成分とする列ベクトルを返します。

固有値は、実部の降順に並べられます。

戻り値:
固有値を成分とする列ベクトル(実部について降順)

eigenDecompose

EigenSolution<? extends NumericalMatrixOperator<?>> eigenDecompose()
固有値を対角成分とする対角行列D、固有値に対応する固有ベクトルを横方向に並べた行列Xを返します。

これらの行列の間には、

A * X = X * D
の関係が成り立ちます。固有ベクトルはノルムが1.0となるよう正規化されます。 固有値は実部の降順に並べられます。固有ベクトルは、固有値に対応して並べられます。

戻り値:
第1成分D、第2成分XとするMatrixの配列

eigenDecompose

EigenSolution<? extends NumericalMatrixOperator<?>> eigenDecompose(NumericalMatrixOperator<?> B)
一般化固有値を対角成分とする対角行列 D と対応する一般化固有ベクトルを列とする行列 X を返します。

これらの行列の間には、

A * X = X * D
の関係が成り立ちます。固有ベクトルはノルムが1.0となるよう正規化されます。 固有値は、実部の降順に並べられます。固有ベクトルは、固有値に対応して並べられます。

パラメータ:
B - 一般化固有分解を求める対となる行列
戻り値:
第1成分D,第2成分Xとする Matrixの配列

eigenValue

NumericalMatrixOperator<?> eigenValue(NumericalMatrixOperator<?> B)
一般化固有値からなる列ベクトルを返します。

固有値は、実部の降順に並べられます。

パラメータ:
B - 一般化固有値を求める対となる行列
戻り値:
固有値を降順に並べた列ベクトル

eigenVector

NumericalMatrixOperator<?> eigenVector()
(右)固有ベクトルを列とする行列を返します。

固有ベクトルはノルムが1.0となるよう正規化されます。 固有ベクトルは、固有値の実部の降順に並べられます。固有ベクトルは、固有値に対応して並べられます。

戻り値:
固有ベクトル

eigenVector

NumericalMatrixOperator<?> eigenVector(NumericalMatrixOperator<?> B)
一般化固有ベクトルを返します。

パラメータ:
B - 一般化固有ベクトルを求める対となる行列
戻り値:
一般化固有ベクトル

qrDecompose

QRDecomposition<? extends NumericalMatrixOperator<E>> qrDecompose()
QR分解を返します。

行列Aを直交行列(ユニタリー行列)Qと上三角行列Rの積に分解します。これらの行列の間には、

A = Q * R
Q# * Q = I
の関係が成り立ちます。

戻り値:
QR分解

qrDecomposeWithPermutation

QRDecomposition<? extends NumericalMatrixOperator<E>> qrDecomposeWithPermutation()
並べ替え付きQR分解を返します。

行列Aを置換行列 P、直交行列(ユニタリー行列)Q、上三角行列Rの積に分解します。これらの行列の間には、

A * P = Q * R
Q# * Q = I
の関係が成り立ちます。上三角行列 R の対角成分は、減少する順に並べられます。

戻り値:
並べ替え付きQR分解

qzDecompose

QZDecomposition<? extends NumericalMatrixOperator<?>> qzDecompose(NumericalMatrixOperator<?> B)
QZ分解を返します。

行列Aと行列Bを上三角行列 AA, BB、左変換のための 行列 Q、右変換のための行列Zの積に分解します。 これらの行列の間には、

A = Q * AA * Z#
B = Q * BB * Z#
Q# * Q = I
Z# * Z = I
の関係が成り立ちます。

パラメータ:
B - QZ分解をする対となる行列
戻り値:
QZ分解

schurDecompose

SchurDecomposition<? extends NumericalMatrixOperator<E>> schurDecompose()
Schur分解を返します。

行列をAを直交行列(ユニタリ行列)U、Schur行列 Tの積に分解します。 Schur行列Tは対角成分に行列の実固有値を持っています。 これらの行列の間には、

A = U * T * U#
U# * U = I
の関係が成り立ちます。

戻り値:
Schur分解

choleskyDecompose

NumericalMatrixOperator<E> choleskyDecompose()
対称行列のコレスキー分解を返します。

もし、Xが正定なら、

R'*R = X
を満たす、上三角行列Rを求めます。 このメソッドはXの対角と上三角部分のみを利用します。 下三角部分は、上三角部分の転置であると仮定されます。

戻り値:
コレスキー分解

balancedDecompose

BalancedDecomposition<? extends NumericalMatrixOperator<E>> balancedDecompose()
非対称行列のバランス化分解を返します。

対角成分が 2 のべき乗である対角行列 D と、 次式のバランス化された行列 B を求め、 Matrixの配列として返します。

B = D -1 * A * D
A = D * B * D -1
行列B は、行列 A より対称行列に近く、各行のノルムが対応する 列のノルムに近いです。

戻り値:
バランス化分解

kernel

NumericalMatrixOperator<E> kernel()
カーネル(零空間)を張るベクトルからなる行列を返します。

戻り値:
カーネル

kernel

NumericalMatrixOperator<E> kernel(double tolerance)
カーネル(零空間)を張るベクトルからなる行列を返します。

toleranceより小さい特異値をゼロと見なします。

パラメータ:
tolerance - 許容誤差
戻り値:
カーネル

kernel

NumericalMatrixOperator<E> kernel(NumericalScalar<?> tolerance)
カーネル(零空間)を張るベクトルからなる行列を返します。

toleranceより小さい特異値をゼロと見なします。

パラメータ:
tolerance - 許容誤差
戻り値:
カーネル

hessenbergDecompose

HessenbergDecomposition<? extends NumericalMatrixOperator<E>> hessenbergDecompose()
ヘッセンベルク分解を返します。

行列Aを直交行列(ユニタリ行列)Q、 ヘッセンベルグ行列 H の積に分解します。 これらの行列の間には、

A = Q * H * Q#
Q# * Q = I
の関係が成り立ちます。

戻り値:
ヘッセンベルク分解

luDecompose

LUDecomposition<? extends NumericalMatrixOperator<E>> luDecompose(double tolerance)
LU分解を返します。

行列Aを下三角行を行置換した行列 L、上三角行列 U の積に分解します。 これらの行列の間には、

A = L * U
の関係が成り立ちます。

パラメータ:
tolerance - 許容誤差
戻り値:
LU分解

luDecompose

LUDecomposition<? extends NumericalMatrixOperator<E>> luDecompose(NumericalScalar<?> tolerance)
LU分解を返します。

行列Aを下三角行を行置換した行列 L、上三角行列 U の積に分解します。 これらの行列の間には、

A = L * U
の関係が成り立ちます。

パラメータ:
tolerance - 許容誤差
戻り値:
LU分解

luDecompose

LUDecomposition<? extends NumericalMatrixOperator<E>> luDecompose()
LU分解を返します。

行列Aを下三角行を行置換した行列 L、上三角行列 U の積に分解します。 これらの行列の間には、

A = L * U
の関係が成り立ちます。

戻り値:
LU分解

luDecomposeWithPermutation

LUDecomposition<? extends NumericalMatrixOperator<E>> luDecomposeWithPermutation()
並べ替え付きLU分解を返します。

行列 Aを置換行列 P、下三角行列 L、上三角行列 Uの積に分解します。 これらの行列の間には、

P * A = L * U
の関係が成り立ちます。

戻り値:
並べ替え付きLU分解

luDecomposeWithPermutation

LUDecomposition<? extends NumericalMatrixOperator<E>> luDecomposeWithPermutation(double tolerance)
並べ替え付きLU分解を返します。

行列 Aを置換行列 P、下三角行列 L、上三角行列 Uの積に分解します。 これらの行列の間には、

P * A = L * U
の関係が成り立ちます。

パラメータ:
tolerance - 許容誤差
戻り値:
並べ替え付きLU分解

luDecomposeWithPermutation

LUDecomposition<? extends NumericalMatrixOperator<E>> luDecomposeWithPermutation(NumericalScalar<?> tolerance)
並べ替え付きLU分解を返します。

行列 Aを置換行列 P、下三角行列 L、上三角行列 Uの積に分解します。 これらの行列の間には、

P * A = L * U
の関係が成り立ちます。

パラメータ:
tolerance - 許容誤差
戻り値:
並べ替え付きLU分解

pseudoInverse

NumericalMatrixOperator<E> pseudoInverse(double tolerance)
擬似逆行列を返します。

toleranceより小さい A の特異値をゼロとみなし、行列 A のランクを決定し、 擬似逆行列を求めます。

パラメータ:
tolerance - 許容誤差
戻り値:
擬似逆行列

pseudoInverse

NumericalMatrixOperator<E> pseudoInverse(NumericalScalar<?> tolerance)
擬似逆行列を返します。

toleranceより小さい A の特異値をゼロとみなし、行列 A のランクを決定し、 擬似逆行列を求めます。

パラメータ:
tolerance - 許容誤差
戻り値:
擬似逆行列

pseudoInverse

NumericalMatrixOperator<E> pseudoInverse()
擬似逆行列を返します。

戻り値:
擬似逆行列

rank

int rank()
ランク(階数)(正の特異値の数)を返します。

戻り値:
ランク

rank

int rank(double tolerance)
ランク(階数)(toleranceより大きい特異値の数)を返します。

パラメータ:
tolerance - 許容誤差
戻り値:
ランク

rank

int rank(NumericalScalar<?> tolerance)
ランク(階数)(toleranceより大きい特異値の数)を返します。

パラメータ:
tolerance - 許容誤差
戻り値:
ランク

isFullRank

boolean isFullRank()
フルランクであるか判定します。

戻り値:
フルランクならばtrue、そうでなければfalse

isFullRank

boolean isFullRank(double tolerance)
フルランクであるか判定します。

パラメータ:
tolerance - 許容誤差
戻り値:
フルランクならばtrue、そうでなければfalse

isFullRank

boolean isFullRank(NumericalScalar<?> tolerance)
フルランクであるか判定します。

パラメータ:
tolerance - 許容誤差
戻り値:
フルランクならばtrue、そうでなければfalse

isZero

boolean isZero(NumericalScalar<?> tolerance)
零行列であるか判定します。

パラメータ:
tolerance - 許容誤差
戻り値:
零行列ならばtrue、そうでなければfalse

isUnit

boolean isUnit(NumericalScalar<?> tolerance)
単位行列であるか判定します。

パラメータ:
tolerance - 許容誤差
戻り値:
単位行列ならばtrue、そうでなければfalse

singularValueDecompose

SingularValueDecomposition<? extends NumericalMatrixOperator<E>> singularValueDecompose()
特異値分解で得られる各行列を返します。

自身と同じ大きさで、負でない実数(特異値) を対角成分にもつ行列を Dとすると、

A = U * D * V#
を満たす直交行列(ユニタリ 行列) U と V を求めます。

戻り値:
特異値分解

singularValue

NumericalMatrixOperator<?> singularValue()
特異値を成分とする列ベクトルを返します。

戻り値:
特異値を成分とする列ベクトル

maxSingularValue

NumericalScalar<?> maxSingularValue()
最大特異値を返します。

戻り値:
最大特異値

minSingularValue

NumericalScalar<?> minSingularValue()
最小特異値を返します。

戻り値:
最小特異値

conditionNumber

NumericalScalar<?> conditionNumber()
条件数(2-ノルム)を返します。

行列の2-ノルムに関する条件数を求めます。条件数は、 最大特異値と最小特異値の比で与えられ、1 以上です。

戻り値:
条件数

fft

NumericalMatrix<?> fft()
2 のべき乗の長さのベクトルについて、基底が 2 の 高速フーリエ変換を計算します。

戻り値:
高速フーリエ変換結果

fft

NumericalMatrix<?> fft(int dataSize)
dataSize点まで基底が 2 の高速フーリエ変換をします。

自身 の長さがdataSizeより短いとき、ゼロが後ろに付け加えられ、 自身 の長さがdataSizeより長いとき、dataSize 番目以降が切り捨てられます。

パラメータ:
dataSize - データの個数
戻り値:
フーリエ変換の結果

fftRowWise

NumericalMatrix<?> fftRowWise()
行毎に基底が 2 の高速フーリエ変換を計算します。

列の数は2のべき乗でなければならない。

戻り値:
フーリエ変換の結果

fftRowWise

NumericalMatrix<?> fftRowWise(int dataSize)
行毎にdataSize点まで,基底が 2 の高速フーリエ変換を計算します。

dataSizeは2のべき乗でなければならない。

パラメータ:
dataSize - データの個数
戻り値:
フーリエ変換の結果

fftColumnWise

NumericalMatrix<?> fftColumnWise()
列毎に基底が 2 の高速フーリエ変換を計算します。

行の数は2のべき乗でなければならない。

戻り値:
フーリエ変換の結果

fftColumnWise

NumericalMatrix<?> fftColumnWise(int dataSize)
列毎にdataSize点まで、基底が 2 の高速フーリエ変換を計算します。

dataSizeは2のべき乗でなければならない。

パラメータ:
dataSize - データの個数
戻り値:
フーリエ変換の結果

ifft

NumericalMatrix<?> ifft()
2 のべき乗の長さのベクトルについて、基底が 2 の 逆高速フーリエ変換を計算します。

戻り値:
フーリエ変換の結果

ifft

NumericalMatrix<?> ifft(int dataSize)
dataSize点まで基底が2の逆高速フーリエ変換をします。

自身の長さがdataSizeより短いとき、ゼロが後ろに付け加えられ、 自身 の長さがdataSizeより長いとき、dataSize 番目以降が切り捨てられます。

パラメータ:
dataSize - データの個数
戻り値:
フーリエ変換の結果

ifftRowWise

NumericalMatrix<?> ifftRowWise()
行毎に基底が 2 の逆高速フーリエ変換を計算します。

列の数は2のべき乗でなければならない。

戻り値:
逆フーリエ変換の結果

ifftRowWise

NumericalMatrix<?> ifftRowWise(int dataSize)
行毎にdataSize点まで,基底が 2 の逆高速フーリエ変換を計算します。

dataSizeは2のべき乗でなければならない。

パラメータ:
dataSize - 変換するデータの数
戻り値:
逆フーリエ変換の結果

ifftColumnWise

NumericalMatrix<?> ifftColumnWise()
列毎に基底が 2 の逆高速フーリエ変換を計算します。

行の数は2のべき乗でなければならない。

戻り値:
逆フーリエ変換の結果

ifftColumnWise

NumericalMatrix<?> ifftColumnWise(int dataSize)
列毎にdataSize点まで、基底が 2 の逆高速フーリエ変換を計算します。

dataSizeは2のべき乗でなければならない。

パラメータ:
dataSize - データの個数
戻り値:
逆フーリエ変換の結果

log

NumericalMatrixOperator<?> log()
対数行列を返します。

戻り値:
対数行列

sqrt

NumericalMatrixOperator<?> sqrt()
平方根行列を返します。

戻り値:
平方根行列

exp

NumericalMatrixOperator<E> exp()
指数関数行列を返します。

自身をAとするとき、このメソッドは、

I + A + A^2/(2!) + ... + A^n/(n!) + ...
を求めます。

戻り値:
行列指数関数

exp

NumericalMatrixOperator<E> exp(double tolerance)
指数関数行列を返します。

自身をAとするとき、このメソッドは、

I + A + A^2/(2!) + ... + A^n/(n!) + ...
を求めます。

パラメータ:
tolerance - 許容誤差
戻り値:
行列指数関数

exp

NumericalMatrixOperator<E> exp(NumericalScalar<?> tolerance)
指数関数行列を返します。

自身をAとするとき、このメソッドは、

I + A + A^2/(2!) + ... + A^n/(n!) + ...
を求めます。

パラメータ:
tolerance - 許容誤差
戻り値:
行列指数関数

sinElementWise

NumericalMatrixOperator<E> sinElementWise()
成分毎の正弦関数の結果からなる行列を返します。

戻り値:
成分毎正弦関数行列

sinhElementWise

NumericalMatrixOperator<E> sinhElementWise()
成分毎の双曲線正弦関数の結果からなる行列を返します。

戻り値:
成分毎双曲線正弦関数行列

asinElementWise

NumericalMatrixOperator<E> asinElementWise()
成分毎の逆正弦関数の結果からなる行列を返します。

戻り値:
成分毎逆正弦関数行列

asinhElementWise

NumericalMatrixOperator<E> asinhElementWise()
成分毎の逆双曲線正弦関数の結果からなる行列を返します。

戻り値:
成分毎逆双曲線正弦関数行列

cosElementWise

NumericalMatrixOperator<E> cosElementWise()
成分毎の余弦関数の結果からなる行列を返します。

戻り値:
成分毎余弦関数行列

coshElementWise

NumericalMatrixOperator<E> coshElementWise()
成分毎の双曲線余弦関数の結果からなる行列を返します。

戻り値:
成分毎双曲線余弦関数行列

acosElementWise

NumericalMatrixOperator<E> acosElementWise()
成分毎の逆余弦関数の結果からなる行列を返します。

戻り値:
成分毎逆余弦関数行列

acoshElementWise

NumericalMatrixOperator<E> acoshElementWise()
成分毎の逆双曲線余弦関数の結果からなる行列を返します。

戻り値:
成分毎逆双曲線余弦関数行列

tanElementWise

NumericalMatrixOperator<E> tanElementWise()
成分毎の正接関数の結果からなる行列を返します。

戻り値:
成分毎正接関数行列

tanhElementWise

NumericalMatrixOperator<E> tanhElementWise()
成分毎の双曲線正接関数の結果からなる行列を返します。

戻り値:
成分毎双曲線正接関数行列

atanElementWise

NumericalMatrixOperator<E> atanElementWise()
成分毎の逆正接関数の結果からなる行列を返します。

戻り値:
成分毎逆正接関数行列

atan2ElementWise

NumericalMatrixOperator<?> atan2ElementWise(Matrix matrix)
各成分の逆正接(2)関数の結果を成分とする行列を生成します。

パラメータ:
matrix - 分母側の数を成分とする行列
戻り値:
成分毎逆正接(2)関数行列

atan2ElementWise

NumericalMatrixOperator<?> atan2ElementWise(NumericalScalar<?> value)
各成分の逆正接(2)関数の結果を成分とする行列を生成します。

パラメータ:
value - 分母側の数
戻り値:
成分毎逆正接(2)関数行列

atanhElementWise

NumericalMatrixOperator<E> atanhElementWise()
成分毎の逆双曲線正接関数の結果からなる行列を返します。

戻り値:
成分毎逆双曲線正接関数行列

expElementWise

NumericalMatrixOperator<E> expElementWise()
成分毎の指数関数の結果からなる行列を返します。

戻り値:
成分毎指数関数行列

logElementWise

NumericalMatrixOperator<?> logElementWise()
成分毎の対数関数の結果からなる行列を返します。

戻り値:
成分毎自然対数関数行列

log10ElementWise

NumericalMatrixOperator<?> log10ElementWise()
成分毎の常用対数関数の結果からなる行列を返します。

戻り値:
成分毎常用対数関数行列

sqrtElementWise

NumericalMatrixOperator<?> sqrtElementWise()
成分毎の平方根の結果からなる行列を返します。

戻り値:
成分毎平方根行列

argumentElementWise

NumericalMatrixOperator<?> argumentElementWise()
各成分の偏角を成分に持つ行列を返します。

戻り値:
偏角行列

signumElementWise

NumericalMatrixOperator<E> signumElementWise()
各成分の符合(-1,0,1)を成分に持つ行列を返します。

戻り値:
符合行列

absElementWise

NumericalMatrixOperator<?> absElementWise()
各成分の絶対値を成分に持つ行列を返します。

戻り値:
絶対値行列

std

E std()
標準偏差を返します。

戻り値:
標準偏差

stdRowWise

NumericalMatrixOperator<E> stdRowWise()
各成分行毎の標準偏差列ベクトルを返します。

戻り値:
行毎標準偏差ベクトル

stdColumnWise

NumericalMatrixOperator<E> stdColumnWise()
各成分列毎の標準偏差行ベクトルを返します。

戻り値:
列毎行標準偏差ベクトル

sort

IndexedMatrix<? extends NumericalMatrixOperator<E>> sort()
全ての成分を昇順に並び替えた行列と元の位置を示す指数(IntMatrix)を返します。

複素行列のときは、絶対値でソートします。

戻り値:
ソートした結果元の位置を示す指数(IntMatrix)

sortRowWise

IndexedMatrix<? extends NumericalMatrixOperator<E>> sortRowWise()
行毎に昇順に並び替えた行列と元の位置を示す指数(IntMatrix)を返します。

複素行列のときは、絶対値でソートします。

戻り値:
ソート結果と元の位置を示す指数

sortColumnWise

IndexedMatrix<? extends NumericalMatrixOperator<E>> sortColumnWise()
列毎に昇順に並び替えた行列と元の位置を示す指数(IntMatrix)を返します。

自身が複素行列のときは、絶対値でソートします。

戻り値:
ソート結果と元の位置を示す指数

max

E max()
最大成分を返します。

戻り値:
最大成分

maxRowWise

NumericalMatrixOperator<E> maxRowWise()
行毎の最大値を成分とする列ベクトルを返します。

戻り値:
行毎最大値ベクトル

maxColumnWise

NumericalMatrixOperator<E> maxColumnWise()
列毎の最大値を成分とする行ベクトルを返します。

戻り値:
列毎行最大値ベクトル

maximum

ElementHolder<E> maximum()
最大成分とその指数を返します。

戻り値:
最大成分とその指数

maximumRowWise

IndexedMatrix<? extends NumericalMatrixOperator<E>> maximumRowWise()
行毎の最大成分とその指数を返します。

戻り値:
行毎最大成分とその指数

min

E min()
最小成分を返します。

戻り値:
最小成分

maximumColumnWise

IndexedMatrix<? extends NumericalMatrixOperator<E>> maximumColumnWise()
列毎の最大成分とその指数を返します。

戻り値:
列毎最大成分とその指数

minRowWise

NumericalMatrixOperator<E> minRowWise()
行毎の最小値を成分とする列ベクトルを返します。

戻り値:
行毎最小値ベクトル

minColumnWise

NumericalMatrixOperator<E> minColumnWise()
列毎の最小値を成分とする行ベクトルを返します。

戻り値:
列毎行最小値ベクトル

minimum

ElementHolder<E> minimum()
最小成分と指数を返します。

戻り値:
最小成分とその指数

minimumRowWise

IndexedMatrix<? extends NumericalMatrixOperator<E>> minimumRowWise()
行毎の最小成分とその指数を返します。

戻り値:
行毎最小成分とその指数

minimumColumnWise

IndexedMatrix<? extends NumericalMatrixOperator<E>> minimumColumnWise()
列毎の最小成分とその指数を返します。

戻り値:
列毎最小成分とその指数

maxElementWise

Matrix maxElementWise(Matrix opponent)
opponentと成分毎に比較し、大きいほうを成分にもつ行列を返します。 複素行列のときは、絶対値で比較されます。

パラメータ:
opponent - 比較する行列
戻り値:
最大値を成分とする行列

minElementWise

Matrix minElementWise(Matrix opponent)
opponentと成分毎に比較し、小さいほうを成分にもつ行列を返します。 複素行列のときは、絶対値で比較されます。

パラメータ:
opponent - 比較する行列
戻り値:
最小値を成分とする行列

median

E median()
全ての成分の中間値を返します。

戻り値:
全ての成分の中間値

medianColumnWise

NumericalMatrixOperator<E> medianColumnWise()
行列なら、列毎のメジアンを成分とする行ベクトルを返します。

戻り値:
中間値(メジアン) (median vector)

medianRowWise

NumericalMatrixOperator<E> medianRowWise()
行列なら、行毎のメジアンを成分とする列ベクトルを返します。

戻り値:
中間値(メジアン) (median vector)

norm

NumericalScalar<?> norm(NormType normType)
norm(NormType.FROBENIUS)でフロベニウスノルム、 norm( NormType.INFINITY)で無限大ノルム、 norm( NormType.ONE)で1-ノルムを、 norm(NormType.TWO)で最大特異値を返します。

パラメータ:
normType - ノルムの種類を指定
戻り値:
指令された種類のノルム

frobNorm

NumericalScalar<?> frobNorm()
フロベニウスノルムを返します。

戻り値:
フロベニウスノルム

frobNormRowWise

NumericalMatrixOperator<?> frobNormRowWise()
行毎のフロベニウスノルムを成分とする列ベクトルを返します。

戻り値:
行毎のフロベニウスノルムを成分とする列ベクトル

frobNormColumnWise

NumericalMatrixOperator<?> frobNormColumnWise()
列毎のフロベニウスノルムを成分とする行ベクトルを返します。

戻り値:
列毎のフロベニウスノルムを成分とする行ベクトル

infNorm

NumericalScalar<?> infNorm()
無限大ノルムを返します。

戻り値:
無限大ノルム

powerElementWise

NumericalMatrixOperator<E> powerElementWise(double scalar)
成分毎に累乗するした値を成分とする行列を返します。

パラメータ:
scalar - 累乗の指数
戻り値:
累乗の結果

powerElementWise

NumericalMatrixOperator<?> powerElementWise(NumericalScalar<?> scalar)
成分毎に累乗するした値を成分とする行列を返します。

パラメータ:
scalar - 累乗の指数(複素数)
戻り値:
累乗の結果

powerElementWise

Matrix powerElementWise(Matrix matrix)
成分毎に累乗するした値を成分とする行列を返します。

定義:
インタフェース MatrixElementWiseOperator 内の powerElementWise
パラメータ:
matrix - 累乗の指数を成分とする行列
戻り値:
累乗の結果

inverse

Matrix inverse(NumericalScalar<?> tolerance,
               boolean stopIfSingular)
逆行列(this -1 )を返します。

パラメータ:
tolerance - 許容誤差
stopIfSingular - trueならば、正則でない場合、処理を中止し、例外を投げます。
戻り値:
逆行列

roundToZeroElementWise

Matrix roundToZeroElementWise(NumericalScalar<?> tolerance)
絶対値が小さい成分を0に丸めます。

パラメータ:
tolerance - 許容誤差
戻り値:
丸められた結果

remainderElementWise

NumericalMatrixOperator<?> remainderElementWise(Matrix matrix)
各成分の剰余を成分とする行列を生成します。

パラメータ:
matrix - 割る数を成分とする行列
戻り値:
各成分の剰余を成分とする行列

remainderElementWise

NumericalMatrixOperator<?> remainderElementWise(NumericalScalar<?> value)
各成分の剰余を成分とする行列を生成します。

パラメータ:
value - 割る数
戻り値:
各成分の剰余を成分とする行列

modulusElementWise

NumericalMatrixOperator<?> modulusElementWise(Matrix matrix)
各成分の符合付剰余を成分とする行列を生成します。

パラメータ:
matrix - 割る数を成分とする行列
戻り値:
各成分の符合付剰余を成分とする行列

modulusElementWise

NumericalMatrixOperator<?> modulusElementWise(NumericalScalar<?> value)
各成分の符合付剰余を成分とする行列を生成します。

パラメータ:
value - 割る数
戻り値:
各成分の符合付剰余を成分とする行列

createComplexMatrix

NumericalMatrixOperator<?> createComplexMatrix(NumericalMatrixOperator<?> realPart,
                                               NumericalMatrixOperator<?> imagPart)
複素行列を返します。

パラメータ:
realPart - 実部行列
imagPart - 虚部行列
戻り値:
複素行列

createUniformRandom

NumericalMatrixOperator<E> createUniformRandom()
同サイズの0〜1の範囲の一様分布のランダムな成分を持つ行列を生成します。

戻り値:
同サイズの0〜1の範囲の一様分布のランダムな成分を持つ行列

createUniformRandom

NumericalMatrixOperator<E> createUniformRandom(int rowSize,
                                               int columnSize)
0〜1の範囲の一様分布のランダムな成分を持つrowSize*columnSizeの行列を生成します 。

パラメータ:
rowSize - 行の数
columnSize - 列の数
戻り値:
ランダムな成分をもつ行列

createUniformRandom

NumericalMatrixOperator<E> createUniformRandom(int rowSize,
                                               int columnSize,
                                               long seed)
0〜1の範囲の一様分布のランダムな成分を持つrowSize*columnSizeの行列を生成します 。

パラメータ:
rowSize - 行の数
columnSize - 列の数
seed - 乱数の種
戻り値:
ランダムな成分をもつ行列

createUniformRandom

NumericalMatrixOperator<E> createUniformRandom(int rowNumber,
                                               int columnNumber,
                                               Grid block)
行列blockrowNumber*columnNumber倍の 0〜1の範囲の一様分布のランダムな成分を持つ rowSize*columnSizeの行列を生成します。

パラメータ:
rowNumber - 行方向の倍数
columnNumber - 列方向の倍数
block - 基本となる行列
戻り値:
blockrowNumber* columnNumber倍の 0〜1の範囲の一様分布のランダムな成分を持つrowSize*columnSizeの行列

createNormalRandom

NumericalMatrixOperator<E> createNormalRandom()
同サイズの平均0、分散1の正規分布のランダムな成分を持つ行列を生成します。

戻り値:
同サイズの平均0、分散1の正規分布のランダムな成分を持つ行列

createNormalRandom

NumericalMatrixOperator<E> createNormalRandom(int rowSize,
                                              int columnSize)
平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSize の行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
戻り値:
平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSizeの行列

createNormalRandom

NumericalMatrixOperator<E> createNormalRandom(int rowSize,
                                              int columnSize,
                                              long seed)
平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSize の行列を生成します。

パラメータ:
rowSize - 行の数
columnSize - 列の数
seed - 乱数の種
戻り値:
平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSizeの行列

createNormalRandom

NumericalMatrixOperator<E> createNormalRandom(int rowNumber,
                                              int columnNumber,
                                              Grid block)
行列blockrowNumber*columnNumber倍の 平均0、 分散1の正規分布のランダムな成分を持つrowSize*columnSizeの行列を生成します。

パラメータ:
rowNumber - 行方向の倍数
columnNumber - 列方向の倍数
block - 基本となる行列
戻り値:
blockrowNumber* columnNumber倍の 平均0、分散1の正規分布のランダムな成分を持つrowSize*columnSizeの行列