类 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
的和。void
addToEntry
(int row, int column, double increment) 将指定值添加到this
矩阵的指定条目(就地)。copy()
返回此的(深层)副本。createMatrix
(int rowDimension, int columnDimension) 使用提供的行和列维度创建与实例相同类型的新RealMatrix
。int
返回此矩阵的列数。double[][]
getData()
将矩阵条目作为二维数组返回。double[][]
获取对底层数据数组的引用。double
getEntry
(int row, int column) 获取指定行和列中的条目。double[]
getRow
(int row) 获取给定行索引处的条目。int
返回此矩阵的行数。getSubMatrix
(int startRow, int endRow, int startColumn, int endColumn) 获取子矩阵。当前矩阵与参数矩阵的Kronecker乘积。返回this
与m
的后乘积的结果。void
multiplyEntry
(int row, int column, double factor) 将this
矩阵的指定条目乘以指定值(就地)。返回this
与m^T
的后乘积的结果。返回this
与m^T
的后乘积的结果。double[]
operate
(double[] v) 返回将此乘以向量v
的结果。double[]
preMultiply
(double[] v) 返回通过向量v
对此进行前乘的(行)向量结果。void
setEntry
(int row, int column, double value) 设置指定行和列中的条目。void
setRow
(int row, double[] array) 将this
矩阵的指定row
设置为指定array
的条目。void
setSubMatrix
(double[][] subMatrix, int row, int column) 使用输入subMatrix
数组中的数据替换从row, column
开始的子矩阵。stack()
将矩阵转换为向量(向量化)。返回this
减去m
的结果。返回this^T
与m
的后乘积的结果。返回this^T
与m
的后乘积的结果。将一列堆叠矩阵转换为方阵(去向量化)。double
按列顺序访问(并可能更改)所有矩阵条目。double
walkInColumnOrder
(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按列顺序访问(并可能更改)一些矩阵条目。double
按列顺序访问(但不更改)所有矩阵条目。double
walkInColumnOrder
(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按列顺序访问(但不更改)一些矩阵条目。double
walkInRowOrder
(RealMatrixChangingVisitor visitor) 按行顺序访问(并可能更改)所有矩阵条目。double
walkInRowOrder
(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 按行顺序访问(并可能更改)一些矩阵条目。double
按行顺序访问(但不更改)所有矩阵条目。double
walkInRowOrder
(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
将一列堆叠矩阵转换为方阵(去向量化)。- 返回:
- 方阵
-