类 Array2DRowRealMatrix
java.lang.Object
org.hipparchus.linear.AbstractRealMatrix
org.hipparchus.linear.Array2DRowRealMatrix
- 所有已实现的接口:
-
Serializable,AnyMatrix,RealLinearOperator,RealMatrix,Blendable<RealMatrix>
实现了使用
double[][]数组存储条目的RealMatrix。
- 另请参阅:
-
构造器概要
构造器构造器说明创建一个没有数据的矩阵Array2DRowRealMatrix(double[] v) 使用v作为创建的矩阵唯一列的数据,创建一个新的(列)RealMatrix。Array2DRowRealMatrix(double[][] d) 使用输入数组作为底层数据数组创建一个新的RealMatrix。Array2DRowRealMatrix(double[][] d, boolean copyArray) 使用输入数组作为底层数据数组创建一个新的RealMatrix。Array2DRowRealMatrix(int rowDimension, int columnDimension) 使用提供的行和列维度创建一个新的RealMatrix。 -
方法概要
修饰符和类型方法说明计算this和m的和。voidaddToEntry(int row, int column, double increment) 将指定值添加到this矩阵的指定条目(就地)。copy()返回此的(深层)副本。createMatrix(int rowDimension, int columnDimension) 使用提供的行和列维度创建与实例相同类型的新RealMatrix。int返回此矩阵的列数。double[][]getData()将矩阵条目作为二维数组返回。double[][]获取对底层数据数组的引用。doublegetEntry(int row, int column) 获取指定行和列中的条目。double[]getRow(int row) 获取给定行索引处的条目。int返回此矩阵的行数。getSubMatrix(int startRow, int endRow, int startColumn, int endColumn) 获取子矩阵。当前矩阵与参数矩阵的Kronecker乘积。返回this与m的后乘积的结果。voidmultiplyEntry(int row, int column, double factor) 将this矩阵的指定条目乘以指定值(就地)。返回this与m^T的后乘积的结果。返回this与m^T的后乘积的结果。double[]operate(double[] v) 返回将此乘以向量v的结果。double[]preMultiply(double[] v) 返回通过向量v对此进行前乘的(行)向量结果。voidsetEntry(int row, int column, double value) 设置指定行和列中的条目。voidsetRow(int row, double[] array) 将this矩阵的指定row设置为指定array的条目。voidsetSubMatrix(double[][] subMatrix, int row, int column) 使用输入subMatrix数组中的数据替换从row, column开始的子矩阵。stack()将矩阵转换为向量(向量化)。返回this减去m的结果。返回this^T与m的后乘积的结果。返回this^T与m的后乘积的结果。将一列堆叠矩阵转换为方阵(去向量化)。double按列顺序访问(并可能更改)所有矩阵条目。doublewalkInColumnOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按列顺序访问(并可能更改)一些矩阵条目。double按列顺序访问(但不更改)所有矩阵条目。doublewalkInColumnOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按列顺序访问(但不更改)一些矩阵条目。doublewalkInRowOrder(RealMatrixChangingVisitor visitor) 按行顺序访问(并可能更改)所有矩阵条目。doublewalkInRowOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按行顺序访问(并可能更改)一些矩阵条目。double按行顺序访问(但不更改)所有矩阵条目。doublewalkInRowOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按行顺序访问(但不更改)一些矩阵条目。从类继承的方法 org.hipparchus.linear.AbstractRealMatrix
add, copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getFrobeniusNorm, getRowMatrix, getRowVector, getSubMatrix, getTrace, hashCode, isSquare, multiply, operate, power, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRowMatrix, setRowVector, subtract, toString, transpose, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder从接口继承的方法 org.hipparchus.linear.RealLinearOperator
isTransposable, operateTranspose从接口继承的方法 org.hipparchus.linear.RealMatrix
blendArithmeticallyWith, getNorm1, getNormInfty, map, mapToSelf
-
构造器详细资料
-
Array2DRowRealMatrix
public Array2DRowRealMatrix()创建一个没有数据的矩阵 -
Array2DRowRealMatrix
public Array2DRowRealMatrix(int rowDimension, int columnDimension) throws MathIllegalArgumentException 使用提供的行和列维度创建一个新的RealMatrix。- 参数:
-
rowDimension- 新矩阵的行数。 -
columnDimension- 新矩阵的列数。 - 抛出:
-
MathIllegalArgumentException- 如果行或列维度不是正数。
-
Array2DRowRealMatrix
public Array2DRowRealMatrix(double[][] d) throws MathIllegalArgumentException, NullArgumentException 使用输入数组作为底层数据数组创建一个新的RealMatrix。输入数组将被复制,而不是引用。此构造函数的效果与将第二个参数设置为
true的情况下调用Array2DRowRealMatrix(double[][], boolean)相同。- 参数:
-
d- 新矩阵的数据。 - 抛出:
-
MathIllegalArgumentException- 如果d不是矩形的。 -
MathIllegalArgumentException- 如果d的行或列维度为零。 -
NullArgumentException- 如果d为null。 - 另请参阅:
-
Array2DRowRealMatrix
public Array2DRowRealMatrix(double[][] d, boolean copyArray) throws MathIllegalArgumentException, NullArgumentException 使用输入数组作为底层数据数组创建一个新的RealMatrix。如果数组是专门构建的以便嵌入在RealMatrix中而不直接使用,则copyArray可以设置为false。这将防止复制并提高性能,因为不会构建新数组,也不会复制数据。- 参数:
-
d- 新矩阵的数据。 -
copyArray- 如果为true,则将复制输入数组,否则将引用它。 - 抛出:
-
MathIllegalArgumentException- 如果d不是矩形的。 -
MathIllegalArgumentException- 如果d的行或列维度为零。 -
NullArgumentException- 如果d为null。 - 另请参阅:
-
Array2DRowRealMatrix
public Array2DRowRealMatrix(double[] v) 使用v作为创建的矩阵唯一列的数据,创建一个新的(列)RealMatrix。输入数组将被复制。- 参数:
-
v- 包含新矩阵数据的列向量。
-
-
方法详细资料
-
createMatrix
public RealMatrix createMatrix(int rowDimension, int columnDimension) throws MathIllegalArgumentException 使用提供的行和列维度创建与实例相同类型的新RealMatrix。- 指定者:
-
createMatrix在接口中RealMatrix - 指定者:
-
createMatrix在类中AbstractRealMatrix - 参数:
-
rowDimension- 新矩阵的行数 -
columnDimension- 新矩阵的列数 - 返回:
- 与实例相同类型的新矩阵
- 抛出:
-
MathIllegalArgumentException- 如果行或列维度不是正数
-
copy
返回此的(深层)副本。- 指定者:
-
copy在接口中RealMatrix - 指定者:
-
copy在类中AbstractRealMatrix - 返回:
- 矩阵复制
-
add
计算this和m的和。- 参数:
-
m- 要相加的矩阵。 - 返回:
-
this + m。 - 抛出:
-
MathIllegalArgumentException- 如果m与this的大小不同。
-
subtract
返回this减去m的结果。- 参数:
-
m- 要减去的矩阵。 - 返回:
-
this - m - 抛出:
-
MathIllegalArgumentException- 如果m与this的大小不同。
-
multiply
返回this与m的矩阵乘积的结果。- 参数:
-
m- 要后乘的矩阵 - 返回:
-
this * m - 抛出:
-
MathIllegalArgumentException- 如果this的列维度不等于m的行维度
-
multiplyTransposed
返回this与m^T的矩阵乘积的结果。- 参数:
-
m- 首先转置然后后乘的矩阵 - 返回:
-
this * m^T - 抛出:
-
MathIllegalArgumentException- 如果this的列维度不等于m的列维度 - 从以下版本开始:
- 1.3
-
multiplyTransposed
- 指定者:
-
multiplyTransposed在接口中RealMatrix - 参数:
-
m- 首先转置然后后乘的矩阵 - 返回:
-
this * m^T
-
transposeMultiply
返回this^T与m的矩阵乘积的结果。- 参数:
-
m- 要后乘的矩阵 - 返回:
-
this^T * m - 抛出:
-
MathIllegalArgumentException- 如果this的列维度不等于m的列维度 - 从以下版本开始:
- 1.3
-
transposeMultiply
- 指定者:
-
transposeMultiply在接口中RealMatrix - 参数:
-
m- 要后乘的矩阵 - 返回:
-
this^T * m
-
getData
public double[][] getData()返回矩阵条目作为二维数组。- 指定者:
-
getData在接口中RealMatrix - 覆盖:
-
getData在类中AbstractRealMatrix - 返回:
- 条目的二维数组
-
getDataRef
public double[][] getDataRef()获取对底层数据数组的引用。- 返回:
- 条目的二维数组。
-
setSubMatrix
public void setSubMatrix(double[][] subMatrix, int row, int column) throws MathIllegalArgumentException, NullArgumentException 使用输入subMatrix数组中的数据替换从row, column开始的子矩阵。索引从0开始。示例:
从以下开始1 2 3 4 5 6 7 8 9 0 1 2
和
subMatrix = {{3, 4} {5,6}},调用setSubMatrix(subMatrix,1,1))将导致1 2 3 4 5 3 4 8 9 5 6 2
- 指定者:
-
setSubMatrix在接口中RealMatrix - 覆盖:
-
setSubMatrix在类中AbstractRealMatrix - 参数:
-
subMatrix- 包含子矩阵替换数据的数组 -
row- 要替换的左上角元素的行坐标 -
column- 要替换的左上角元素的列坐标 - 抛出:
-
MathIllegalArgumentException- 如果subMatrix为空。 -
MathIllegalArgumentException- 如果subMatrix不适合从元素(row, column)开始的这个矩阵。 -
MathIllegalArgumentException- 如果subMatrix不是矩形的(不是所有行长度相同)或为空。 -
NullArgumentException- 如果subMatrix为null。
-
getEntry
获取指定行和列中的条目。行和列索引从0开始。- 指定者:
-
getEntry在接口中RealMatrix - 指定者:
-
getEntry在类中AbstractRealMatrix - 参数:
-
row- 要获取的条目的行索引。 -
column- 要获取的条目的列索引。 - 返回:
-
(row, column)处的矩阵条目。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
setEntry
设置指定行和列中的条目。行和列索引从0开始。- 指定者:
-
setEntry在接口中RealMatrix - 指定者:
-
setEntry在类中AbstractRealMatrix - 参数:
-
row- 要设置的条目的行索引。 -
column- 要设置的条目的列索引。 -
value- 条目的新值。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效
-
addToEntry
将指定值(就地)添加到this矩阵的指定条目。行和列索引从0开始。- 指定者:
-
addToEntry在接口中RealMatrix - 覆盖:
-
addToEntry在类中AbstractRealMatrix - 参数:
-
row- 要修改的条目的行索引。 -
column- 要修改的条目的列索引。 -
increment- 要添加到矩阵条目的值。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
multiplyEntry
将指定值(就地)乘以this矩阵的指定条目。行和列索引从0开始。- 指定者:
-
multiplyEntry在接口中RealMatrix - 覆盖:
-
multiplyEntry在类中AbstractRealMatrix - 参数:
-
row- 要修改的条目的行索引。 -
column- 要修改的条目的列索引。 -
factor- 矩阵条目的
-
getRowDimension
public int getRowDimension()Returns the number of rows of this matrix.- 指定者:
-
getRowDimension在接口中AnyMatrix - 指定者:
-
getRowDimension在接口中RealLinearOperator - 指定者:
-
getRowDimension在类中AbstractRealMatrix - 返回:
- 行数。
-
getColumnDimension
public int getColumnDimension()返回此矩阵的列数。- 指定者:
-
getColumnDimension在接口中AnyMatrix - 指定者:
-
getColumnDimension在接口中RealLinearOperator - 指定者:
-
getColumnDimension在类中AbstractRealMatrix - 返回:
- 列数。
-
operate
返回将此矩阵乘以向量v的结果。- 指定者:
-
operate在接口中RealMatrix - 覆盖:
-
operate在类中AbstractRealMatrix - 参数:
-
v- 要操作的向量 - 返回:
-
this * v - 抛出:
-
MathIllegalArgumentException- 如果v的长度与this的列数不匹配。
-
preMultiply
返回通过向量v左乘此矩阵的(行)向量结果。- 指定者:
-
preMultiply在接口中RealMatrix - 覆盖:
-
preMultiply在类中AbstractRealMatrix - 参数:
-
v- 要左乘的行向量 - 返回:
-
v * this - 抛出:
-
MathIllegalArgumentException- 如果v的长度与this的行数不匹配。
-
getSubMatrix
public RealMatrix getSubMatrix(int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 获取子矩阵。行和列从0到n-1进行标识。- 指定者:
-
getSubMatrix在接口中RealMatrix - 覆盖:
-
getSubMatrix在类中AbstractRealMatrix - 参数:
-
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引(包括) - 返回:
- 包含指定行和列数据的子矩阵。
- 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。
-
walkInRowOrder
按行顺序访问(可能更改)所有矩阵条目。行顺序从左上角开始,通过从左到右迭代行的所有元素,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中RealMatrix - 覆盖:
-
walkInRowOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
在遍历结束时由
RealMatrixChangingVisitor.end()返回的值 - 另请参阅:
-
walkInRowOrder
按行顺序访问(但不更改)所有矩阵条目。行顺序从左上角开始,通过从左到右迭代行的所有元素,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中RealMatrix - 覆盖:
-
walkInRowOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
在遍历结束时由
RealMatrixPreservingVisitor.end()返回的值 - 另请参阅:
-
walkInRowOrder
public double walkInRowOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(并可能更改)按行顺序的一些矩阵条目。行顺序从左上角开始,从左到右迭代通过一行的所有元素,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中RealMatrix - 覆盖:
-
walkInRowOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
在遍历结束时由
RealMatrixChangingVisitor.end()返回的值 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 - 另请参阅:
-
walkInRowOrder
public double walkInRowOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(但不更改)按行顺序的所有矩阵条目。行顺序从左上角开始,从左到右迭代通过一行的所有元素,然后转到下一行的最左边元素。
- 指定者:
-
walkInRowOrder在接口中RealMatrix - 覆盖:
-
walkInRowOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
在遍历结束时由
RealMatrixPreservingVisitor.end()返回的值 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 - 另请参阅:
-
walkInColumnOrder
访问(并可能更改)按列顺序的所有矩阵条目。列顺序从左上角开始,从上到下迭代通过一列的所有元素,然后转到下一列的最上面元素。
- 指定者:
-
walkInColumnOrder在接口中RealMatrix - 覆盖:
-
walkInColumnOrder在类中AbstractRealMatrix - 参数:
-
visitor- visitor used to process all matrix entries - 返回:
-
the value returned by
RealMatrixChangingVisitor.end()at the end of the walk - 另请参阅:
-
walkInColumnOrder
Visit (but don't change) all matrix entries in column order.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在接口中RealMatrix - 覆盖:
-
walkInColumnOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 - 返回:
-
RealMatrixPreservingVisitor.end()在遍历结束时返回的值 - 另请参阅:
-
walkInColumnOrder
public double walkInColumnOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 以列顺序访问(并可能更改)一些矩阵条目。列顺序从左上角开始,按照从上到下的顺序迭代列的所有元素,然后转到下一列的最顶部元素。
- 指定者:
-
walkInColumnOrder在接口中RealMatrix - 覆盖:
-
walkInColumnOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括在内) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
RealMatrixChangingVisitor.end()在遍历结束时返回的值 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 - 另请参阅:
-
walkInColumnOrder
public double walkInColumnOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 以列顺序访问(但不更改)一些矩阵条目。列顺序从左上角开始,按照从上到下的顺序迭代列的所有元素,然后转到下一列的最顶部元素。
- 指定者:
-
walkInColumnOrder在接口中RealMatrix - 覆盖:
-
walkInColumnOrder在类中AbstractRealMatrix - 参数:
-
visitor- 用于处理所有矩阵条目的访问者 -
startRow- 初始行索引 -
endRow- 最终行索引(包括在内) -
startColumn- 初始列索引 -
endColumn- 最终列索引 - 返回:
-
RealMatrixPreservingVisitor.end()在遍历结束时返回的值 - 抛出:
-
MathIllegalArgumentException- 如果索引无效。 -
MathIllegalArgumentException- 如果endRow < startRow或endColumn < startColumn。 - 另请参阅:
-
getRow
获取给定行索引处的条目。行索引从0开始。- 指定者:
-
getRow在接口中RealMatrix - 覆盖:
-
getRow在类中AbstractRealMatrix - 参数:
-
row- 要获取的行。 - 返回:
- 行中条目的数组。
- 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。
-
setRow
将指定的row设置为指定array的条目。行索引从0开始。- 指定者:
-
setRow在接口中RealMatrix - 覆盖:
-
setRow在类中AbstractRealMatrix - 参数:
-
row- 要设置的行。 -
array- 要复制的行矩阵(必须与实例具有相同的列数) - 抛出:
-
MathIllegalArgumentException- 如果指定的行索引无效。 -
MathIllegalArgumentException- 如果array的长度与this矩阵的列维度不匹配。
-
kroneckerProduct
当前矩阵与参数矩阵的Kronecker乘积。- 参数:
-
b- 要进行Kronecker乘法的矩阵 - 返回:
- this ⨂ b
-
stack
将矩阵转换为向量(向量化)。- 返回:
- 一列矩阵
-
unstackSquare
将一列堆叠矩阵转换为方阵(去向量化)。- 返回:
- 方阵
-