类 BlockRealMatrix
- 所有已实现的接口:
-
Serializable
,AnyMatrix
,RealLinearOperator
,RealMatrix
,Blendable<RealMatrix>
此实现专为缓存友好而设计。方块块被存储为小数组,并允许以行主方向和列主方向高效遍历数据,一次一个块。这极大地提高了使用交叉方向循环的算法(如乘法或转置)的性能。
方块块的大小是一个静态参数。它可以根据目标计算机处理器的缓存大小进行调整。作为经验法则,它应该是允许同时缓存三个块的最大值(例如,这对于矩阵乘法是必要的)。默认值是使用52x52块,非常适合具有64k L1缓存的处理器(一个块可容纳2704个值或21632字节)。对于具有32k L1缓存的处理器,此值可以降低到36x36。
常规块表示BLOCK_SIZE
x BLOCK_SIZE
方块。右侧和底部的块可能较小以适应矩阵维度。方块块以单维数组的行主序列方式展开,因此对于常规块,它们是BLOCK_SIZE
2元素长。块本身按行主序排列。
例如,对于52x52的块大小,100x60矩阵将存储在4个块中。块0将是一个double[2704]
数组,保存左上角的52x52方块,块1将是一个double[416]
数组,保存右上角的52x8矩形,块2将是一个double[2496]
数组,保存左下角的48x52矩形,块3将是一个double[384]
数组,保存右下角的48x8矩形。
与简单将矩阵映射到java数组相比,布局复杂性开销对于小矩阵来说是可以忽略的(约为1%)。缓存效率带来的收益可使中等到大型矩阵的性能提高多达3倍。
- 另请参阅:
-
字段概要
-
构造器概要
构造器说明BlockRealMatrix
(double[][] rawData) 从原始布局数据复制条目创建新的密集矩阵。BlockRealMatrix
(int rows, int columns) 使用提供的行和列维度创建新矩阵。BlockRealMatrix
(int rows, int columns, double[][] blockData, boolean copyArray) 从块布局数据复制条目创建新的密集矩阵。 -
方法概要
修饰符和类型方法说明计算此矩阵和m
的和。add
(RealMatrix m) 返回this
和m
的和。void
addToEntry
(int row, int column, double increment) 将指定值添加到this
矩阵的指定条目(就地)。copy()
返回此的(深层)副本。static double[][]
createBlocksLayout
(int rows, int columns) 在块布局中创建数据数组。createMatrix
(int rowDimension, int columnDimension) 使用提供的行和列维度创建与实例相同类型的新RealMatrix。double[]
getColumn
(int column) 获取给定列索引处的条目作为数组。int
返回此矩阵的列数。getColumnMatrix
(int column) 获取给定列索引处的条目作为列矩阵。getColumnVector
(int column) 获取给定列索引处的条目作为向量。double[][]
getData()
将矩阵条目作为二维数组返回。double
getEntry
(int row, int column) 获取指定行和列中的条目。double
返回矩阵的弗罗贝尼乌斯范数。double
getNorm1()
返回矩阵的最大绝对列和范数(L1)。double
返回矩阵的最大绝对行和范数(L∞)。double[]
getRow
(int row) 获取给定行索引处的条目。int
返回此矩阵的行数。getRowMatrix
(int row) 获取给定行索引处的条目作为行矩阵。getRowVector
(int row) 返回行号为row
的条目作为向量。getSubMatrix
(int startRow, int endRow, int startColumn, int endColumn) 获取子矩阵。返回将此与m
进行后乘的结果。返回将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
对此进行前乘的(行)向量结果。scalarAdd
(double d) 返回将this
的每个条目加上d
的结果。scalarMultiply
(double d) 返回将this
的每个条目乘以d
的结果。void
setColumn
(int column, double[] array) 将this
矩阵的指定column
设置为指定array
的条目。void
setColumnMatrix
(int column, RealMatrix matrix) 将this
矩阵的指定column
设置为指定列matrix
的条目。void
setColumnVector
(int column, RealVector vector) 将this
矩阵的指定column
设置为指定vector
的条目。void
setEntry
(int row, int column, double value) 设置指定行和列中的条目。void
setRow
(int row, double[] array) 将this
矩阵的指定row
设置为指定array
的条目。void
setRowMatrix
(int row, BlockRealMatrix matrix) 将行号为row
的条目设置为行矩阵。void
setRowMatrix
(int row, RealMatrix matrix) 将this
矩阵的指定row
设置为指定行matrix
的条目。void
setRowVector
(int row, RealVector vector) 将this
矩阵的指定row
设置为指定vector
的条目。void
setSubMatrix
(double[][] subMatrix, int row, int column) 使用输入subMatrix
数组中的数据替换从row, column
开始的子矩阵。从此矩阵中减去m
。返回this
减去m
的结果。static double[][]
toBlocksLayout
(double[][] rawData) 将原始布局数据转换为块布局的数据数组。返回此矩阵的转置。返回将this^T
与m
进行后乘的结果。返回将this^T
与m
进行后乘的结果。double
使用最快可能的顺序访问(并可能更改)所有矩阵条目。double
walkInOptimizedOrder
(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 使用最快可能的顺序访问(并可能更改)一些矩阵条目。double
使用最快可能的顺序访问(但不更改)所有矩阵条目。double
walkInOptimizedOrder
(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
copySubMatrix, copySubMatrix, equals, getSubMatrix, getTrace, hashCode, isSquare, operate, power, preMultiply, preMultiply, toString, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder
从接口继承的方法 org.hipparchus.linear.RealLinearOperator
isTransposable, operateTranspose
从接口继承的方法 org.hipparchus.linear.RealMatrix
blendArithmeticallyWith, map, mapToSelf
-
字段详细资料
-
BLOCK_SIZE
public static final int BLOCK_SIZE块大小。- 另请参阅:
-
-
构造器详细资料
-
BlockRealMatrix
使用提供的行和列维度创建新矩阵。- 参数:
-
rows
- 新矩阵中的行数 -
columns
- 新矩阵中的列数 - 抛出:
-
MathIllegalArgumentException
- 如果行或列维度不是正数。
-
BlockRealMatrix
创建一个新的密集矩阵,从原始布局数据中复制条目。输入数组必须已经处于原始布局中。
调用此构造函数等效于调用:
matrix = new BlockRealMatrix(rawData.length, rawData[0].length, toBlocksLayout(rawData), false);
- 参数:
-
rawData
- 新矩阵的数据,处于原始布局中 - 抛出:
-
MathIllegalArgumentException
- 如果blockData
的形状与块布局不一致。 -
MathIllegalArgumentException
- 如果行或列维度不是正数。 - 另请参阅:
-
BlockRealMatrix
public BlockRealMatrix(int rows, int columns, double[][] blockData, boolean copyArray) throws MathIllegalArgumentException 创建一个新的密集矩阵,从块布局数据中复制条目。输入数组必须已经处于块布局中。
- 参数:
-
rows
- 新矩阵的行数。 -
columns
- 新矩阵的列数。 -
blockData
- 新矩阵的数据 -
copyArray
- 输入数组是否将被复制或引用。 - 抛出:
-
MathIllegalArgumentException
- 如果blockData
的形状与块布局不一致。 -
MathIllegalArgumentException
- 如果行或列维度不是正数。 - 另请参阅:
-
-
方法详细资料
-
toBlocksLayout
将原始布局的数据数组转换为块布局。原始布局是直观的布局,其中第i行第j列的元素位于数组元素
rawData[i][j]
中。块布局是在BlockRealMatrix
实例中使用的布局,其中矩阵被分割为方块(除了右侧和底部可能是矩形块以适应矩阵大小),每个块存储在一个扁平的一维数组中。此方法从原始布局的输入数组创建一个块布局中的数组。它可用于提供
BlockRealMatrix(int, int, double[][], boolean)
构造函数的数组参数。- 参数:
-
rawData
- 原始布局中的数据数组。 - 返回:
- 包含相同条目但处于块布局中的新数据数组。
- 抛出:
-
MathIllegalArgumentException
- 如果rawData
不是矩形的。 - 另请参阅:
-
createBlocksLayout
public static double[][] createBlocksLayout(int rows, int columns) 创建一个块布局中的数据数组。此方法可用于创建
BlockRealMatrix(int, int, double[][], boolean)
构造函数的数组参数。- 参数:
-
rows
- 新矩阵的行数。 -
columns
- 新矩阵的列数。 - 返回:
- 一个处于块布局中的新数据数组。
- 另请参阅:
-
createMatrix
public BlockRealMatrix createMatrix(int rowDimension, int columnDimension) throws MathIllegalArgumentException 创建一个与实例相同类型的新RealMatrix,具有提供的行和列维度。- 指定者:
-
createMatrix
在接口中RealMatrix
- 指定者:
-
createMatrix
在类中AbstractRealMatrix
- 参数:
-
rowDimension
- 新矩阵的行数 -
columnDimension
- 新矩阵的列数 - 返回:
- 一个与实例相同类型的新矩阵
- 抛出:
-
MathIllegalArgumentException
- 如果行或列维度不是正数。
-
copy
返回此矩阵的(深层)复制。- 指定者:
-
copy
在接口中RealMatrix
- 指定者:
-
copy
在类中AbstractRealMatrix
- 返回:
- 矩阵的复制
-
add
返回this
和m
的和。- 指定者:
-
add
在接口中RealMatrix
- 覆盖:
-
add
在类中AbstractRealMatrix
- 参数:
-
m
- 要相加的矩阵 - 返回:
-
this + m
- 抛出:
-
MathIllegalArgumentException
- 如果m
的大小与this
不同。
-
add
计算此矩阵和m
的和。- 参数:
-
m
- 要相加的矩阵。 - 返回:
-
this
+ m。 - 抛出:
-
MathIllegalArgumentException
- 如果m
与此矩阵的大小不同。
-
subtract
返回this
减去m
的结果。- 指定者:
-
subtract
在接口中RealMatrix
- 覆盖:
-
subtract
在类中AbstractRealMatrix
- 参数:
-
m
- 要减去的矩阵 - 返回:
-
this - m
- 抛出:
-
MathIllegalArgumentException
- 如果m
与this
的大小不同。
-
subtract
从此矩阵中减去m
。- 参数:
-
m
- 要减去的矩阵。 - 返回:
-
this
- m。 - 抛出:
-
MathIllegalArgumentException
- 如果m
与此矩阵的大小不同。
-
scalarAdd
返回将d
添加到this
的每个条目的结果。- 指定者:
-
scalarAdd
在接口中RealMatrix
- 覆盖:
-
scalarAdd
在类中AbstractRealMatrix
- 参数:
-
d
- 要添加到每个条目的值 - 返回:
-
d + this
-
scalarMultiply
返回将this
的每个条目乘以d
的结果。- 指定者:
-
scalarMultiply
在接口中RealMatrix
- 覆盖:
-
scalarMultiply
在类中AbstractRealMatrix
- 参数:
-
d
- 要将所有条目乘以的值 - 返回:
-
d * this
-
multiply
返回将this
与m
后置相乘的结果。- 指定者:
-
multiply
在接口中RealMatrix
- 覆盖:
-
multiply
在类中AbstractRealMatrix
- 参数:
-
m
- 要后置相乘的矩阵 - 返回:
-
this * m
- 抛出:
-
MathIllegalArgumentException
- 如果columnDimension(this) != rowDimension(m)
-
multiply
返回将this
前置相乘以m
的结果。- 参数:
-
m
- 要后乘的矩阵。 - 返回:
-
this
* m。 - 抛出:
-
MathIllegalArgumentException
- 如果矩阵不兼容。
-
multiplyTransposed
返回后乘this
和m^T
的结果。- 参数:
-
m
- 首先转置,然后后乘的矩阵 - 返回:
-
this * m^T
- 抛出:
-
MathIllegalArgumentException
- 如果columnDimension(this) != columnDimension(m)
- 从以下版本开始:
- 1.3
-
multiplyTransposed
- 指定者:
-
multiplyTransposed
在接口中RealMatrix
- 参数:
-
m
- 首先转置,然后后乘的矩阵 - 返回:
-
this * m^T
- 抛出:
-
MathIllegalArgumentException
- 如果columnDimension(this) != columnDimension(m)
-
transposeMultiply
返回this^T
和m
的后乘结果。- 参数:
-
m
- 要后乘的矩阵 - 返回:
-
this^T * m
- 抛出:
-
MathIllegalArgumentException
- 如果columnDimension(this) != columnDimension(m)
- 从以下版本开始:
- 1.3
-
transposeMultiply
- 指定者:
-
transposeMultiply
在接口中RealMatrix
- 参数:
-
m
- 要后乘的矩阵 - 返回:
-
this^T * m
- 抛出:
-
MathIllegalArgumentException
- 如果columnDimension(this) != columnDimension(m)
-
getData
public double[][] getData()将矩阵条目作为二维数组返回。- 指定者:
-
getData
在接口中RealMatrix
- 覆盖:
-
getData
在类中AbstractRealMatrix
- 返回:
- 条目的二维数组
-
getNorm1
public double getNorm1()返回矩阵的最大绝对列和范数(L1)。- 指定者:
-
getNorm1
在接口中RealMatrix
- 返回:
- 范数
-
getNormInfty
public double getNormInfty()返回矩阵的最大绝对行和范数(L∞)。- 指定者:
-
getNormInfty
在接口中RealMatrix
- 返回:
- 范数
-
getFrobeniusNorm
public double getFrobeniusNorm()返回矩阵的Frobenius范数。- 指定者:
-
getFrobeniusNorm
在接口中RealMatrix
- 覆盖:
-
getFrobeniusNorm
在类中AbstractRealMatrix
- 返回:
- 范数
-
getSubMatrix
public BlockRealMatrix 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
。
-
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
。
-
getRowMatrix
将给定行索引处的条目作为行矩阵返回。行索引从0开始。- 指定者:
-
getRowMatrix
在接口中RealMatrix
- 覆盖:
-
getRowMatrix
在类中AbstractRealMatrix
- 参数:
-
row
- 要获取的行。 - 返回:
- 行矩阵。
- 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。
-
setRowMatrix
将this
矩阵的指定row
设置为指定行matrix
的条目。行索引从0开始。- 指定者:
-
setRowMatrix
在接口中RealMatrix
- 覆盖:
-
setRowMatrix
在类中AbstractRealMatrix
- 参数:
-
row
- 要设置的行。 -
matrix
- 要复制的行矩阵(必须有一行和与实例相同的列数)。 - 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。 -
MathIllegalArgumentException
- 如果matrix
的行维度不是1
,或者this
和matrix
的列维度不匹配。
-
setRowMatrix
将行号row
中的条目设置为行矩阵。行索引从0开始。- 参数:
-
row
- 要设置的行 -
matrix
- 行矩阵(必须有一行,且列数与实例相同) - 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。 -
MathIllegalArgumentException
- 如果矩阵维度与实例行不匹配。
-
getColumnMatrix
获取给定列索引处的条目作为列矩阵。列索引从0开始。- 指定者:
-
getColumnMatrix
在接口中RealMatrix
- 覆盖:
-
getColumnMatrix
在类中AbstractRealMatrix
- 参数:
-
column
- 要获取的列 - 返回:
- 列矩阵。
- 抛出:
-
MathIllegalArgumentException
- 如果指定的列索引无效。
-
setColumnMatrix
将指定的column
设置为指定列matrix
的条目。列索引从0开始。- 指定者:
-
setColumnMatrix
在接口中RealMatrix
- 覆盖:
-
setColumnMatrix
在类中AbstractRealMatrix
- 参数:
-
column
- 要设置的列 -
matrix
- 要复制的列矩阵(必须有一列,且行数与实例相同)。 - 抛出:
-
MathIllegalArgumentException
- 如果指定的列索引无效。 -
MathIllegalArgumentException
- 如果matrix
的列维度不是1
,或者this
和matrix
的行维度不匹配。
-
getRowVector
返回第row
行的条目作为向量。行索引从0开始。- 指定者:
-
getRowVector
在接口中RealMatrix
- 覆盖:
-
getRowVector
在类中AbstractRealMatrix
- 参数:
-
row
- 要获取的行 - 返回:
- 一行向量。
- 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。
-
setRowVector
将指定的row
设置为指定的vector
的条目。行索引从0开始。- 指定者:
-
setRowVector
在接口中RealMatrix
- 覆盖:
-
setRowVector
在类中AbstractRealMatrix
- 参数:
-
row
- 要设置的行 -
vector
- 要复制的行向量(必须与实例的列数相同)。 - 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。 -
MathIllegalArgumentException
- 如果vector
的维度与this
矩阵的列维度不匹配。
-
getColumnVector
获取给定列索引处的条目作为向量。列索引从0开始。- 指定者:
-
getColumnVector
在接口中RealMatrix
- 覆盖:
-
getColumnVector
在类中AbstractRealMatrix
- 参数:
-
column
- 要获取的列 - 返回:
- 一列向量。
- 抛出:
-
MathIllegalArgumentException
- 如果指定的列索引无效
-
setColumnVector
将指定的column
设置为指定的vector
的条目。列索引从0开始。- 指定者:
-
setColumnVector
在接口中RealMatrix
- 覆盖:
-
setColumnVector
在类中AbstractRealMatrix
- 参数:
-
column
- 要设置的列 -
vector
- 要复制的列向量(必须与实例的行数相同)。 - 抛出:
-
MathIllegalArgumentException
- 如果指定的列索引无效。 -
MathIllegalArgumentException
- 如果vector
的维度与this
矩阵的行维度不匹配。
-
getRow
获取给定行索引处的条目。行索引从0开始。- 指定者:
-
getRow
在接口中RealMatrix
- 覆盖:
-
getRow
在类中AbstractRealMatrix
- 参数:
-
row
- 要获取的行 - 返回:
- 行中的条目数组。
- 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。
-
setRow
将指定的row
设置为指定的array
的条目。行索引从0开始。- 指定者:
-
setRow
在接口中RealMatrix
- 覆盖:
-
setRow
在类中AbstractRealMatrix
- 参数:
-
row
- 要设置的行 -
array
- 要复制的行矩阵(必须与实例的列数相同) - 抛出:
-
MathIllegalArgumentException
- 如果指定的行索引无效。 -
MathIllegalArgumentException
- 如果array
的长度与this
矩阵的列维度不匹配。
-
getColumn
获取给定列索引处的条目作为数组。列索引从0开始。- 指定者:
-
getColumn
在接口中RealMatrix
- 覆盖:
-
getColumn
在类中AbstractRealMatrix
- 参数:
-
column
- 要获取的列 - 返回:
- 列中的条目数组。
- 抛出:
-
MathIllegalArgumentException
- 如果指定的列索引无效。
-
setColumn
将指定的column
设置为指定的array
的条目。列索引从0开始。- 指定者:
-
setColumn
在接口中RealMatrix
- 覆盖:
-
setColumn
在类中AbstractRealMatrix
- 参数:
-
column
- 要设置的列。 -
array
- 要复制的列数组(必须与实例的行数相同)。 - 抛出:
-
MathIllegalArgumentException
- 如果指定的列索引无效。 -
MathIllegalArgumentException
- 如果array
的长度与this
矩阵的行维度不匹配。
-
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
- 矩阵条目的乘法因子。 - 抛出:
-
MathIllegalArgumentException
- 如果行或列索引无效。
-
transpose
返回此矩阵的转置。- 指定者:
-
transpose
在接口中RealMatrix
- 覆盖:
-
transpose
在类中AbstractRealMatrix
- 返回:
- 转置矩阵
-
getRowDimension
public int getRowDimension()返回此矩阵的行数。- 指定者:
-
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
的行维度不匹配。
-
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
。 - 另请参阅:
-
walkInOptimizedOrder
访问(并可能更改)所有矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder
在接口中RealMatrix
- 覆盖:
-
walkInOptimizedOrder
在类中AbstractRealMatrix
- 参数:
-
visitor
- 用于处理所有矩阵条目的访问者 - 返回:
-
在遍历结束时由
RealMatrixChangingVisitor.end()
返回的值 - 另请参阅:
-
walkInOptimizedOrder
访问(但不更改)所有矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder
在接口中RealMatrix
- 覆盖:
-
walkInOptimizedOrder
在类中AbstractRealMatrix
- 参数:
-
visitor
- 用于处理所有矩阵条目的访问者 - 返回:
-
在遍历结束时由
RealMatrixPreservingVisitor.end()
返回的值 - 另请参阅:
-
walkInOptimizedOrder
public double walkInOptimizedOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(并可能更改)一些矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder
在接口中RealMatrix
- 覆盖:
-
walkInOptimizedOrder
在类中AbstractRealMatrix
- 参数:
-
visitor
- 用于处理所有矩阵条目的访问者 -
startRow
- 初始行索引 -
endRow
- 最终行索引(包括) -
startColumn
- 初始列索引 -
endColumn
- 最终列索引(包括) - 返回:
-
在遍历结束时,由
RealMatrixChangingVisitor.end()
返回的值 - 抛出:
-
MathIllegalArgumentException
- 如果索引无效。 -
MathIllegalArgumentException
- 如果endRow < startRow
或endColumn < startColumn
。 - 另请参阅:
-
walkInOptimizedOrder
public double walkInOptimizedOrder(RealMatrixPreservingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) throws MathIllegalArgumentException 访问(但不更改)一些矩阵条目,使用最快的可能顺序。最快的遍历顺序取决于确切的矩阵类。它可能不同于传统的行或列顺序。
- 指定者:
-
walkInOptimizedOrder
在接口中RealMatrix
- 覆盖:
-
walkInOptimizedOrder
在类中AbstractRealMatrix
- 参数:
-
visitor
- 用于处理所有矩阵条目的访问者 -
startRow
- 初始行索引 -
endRow
- 最终行索引(包括) -
startColumn
- 初始列索引 -
endColumn
- 最终列索引(包括) - 返回:
-
在遍历结束时,由
RealMatrixPreservingVisitor.end()
返回的值 - 抛出:
-
MathIllegalArgumentException
- 如果索引无效。 -
MathIllegalArgumentException
- 如果endRow < startRow
或endColumn < startColumn
。 - 另请参阅:
-