类 BlockRealMatrix
- 所有已实现的接口:
-
Serializable,AnyMatrix,RealLinearOperator,RealMatrix,Blendable<RealMatrix>
此实现专为缓存友好而设计。方块块被存储为小数组,并允许以行主方向和列主方向高效遍历数据,一次一个块。这极大地提高了使用交叉方向循环的算法(如乘法或转置)的性能。
方块块的大小是一个静态参数。它可以根据目标计算机处理器的缓存大小进行调整。作为经验法则,它应该是允许同时缓存三个块的最大值(例如,这对于矩阵乘法是必要的)。默认值是使用52x52块,非常适合具有64k L1缓存的处理器(一个块可容纳2704个值或21632字节)。对于具有32k L1缓存的处理器,此值可以降低到36x36。
常规块表示BLOCK_SIZE x BLOCK_SIZE方块。右侧和底部的块可能较小以适应矩阵维度。方块块以单维数组的行主序列方式展开,因此对于常规块,它们是BLOCK_SIZE2元素长。块本身按行主序排列。
例如,对于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的和。voidaddToEntry(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()将矩阵条目作为二维数组返回。doublegetEntry(int row, int column) 获取指定行和列中的条目。double返回矩阵的弗罗贝尼乌斯范数。doublegetNorm1()返回矩阵的最大绝对列和范数(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进行后乘的结果。voidmultiplyEntry(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的结果。voidsetColumn(int column, double[] array) 将this矩阵的指定column设置为指定array的条目。voidsetColumnMatrix(int column, RealMatrix matrix) 将this矩阵的指定column设置为指定列matrix的条目。voidsetColumnVector(int column, RealVector vector) 将this矩阵的指定column设置为指定vector的条目。voidsetEntry(int row, int column, double value) 设置指定行和列中的条目。voidsetRow(int row, double[] array) 将this矩阵的指定row设置为指定array的条目。voidsetRowMatrix(int row, BlockRealMatrix matrix) 将行号为row的条目设置为行矩阵。voidsetRowMatrix(int row, RealMatrix matrix) 将this矩阵的指定row设置为指定行matrix的条目。voidsetRowVector(int row, RealVector vector) 将this矩阵的指定row设置为指定vector的条目。voidsetSubMatrix(double[][] subMatrix, int row, int column) 使用输入subMatrix数组中的数据替换从row, column开始的子矩阵。从此矩阵中减去m。返回this减去m的结果。static double[][]toBlocksLayout(double[][] rawData) 将原始布局数据转换为块布局的数据数组。返回此矩阵的转置。返回将this^T与m进行后乘的结果。返回将this^T与m进行后乘的结果。double使用最快可能的顺序访问(并可能更改)所有矩阵条目。doublewalkInOptimizedOrder(RealMatrixChangingVisitor visitor, int startRow, int endRow, int startColumn, int endColumn) 使用最快可能的顺序访问(并可能更改)一些矩阵条目。double使用最快可能的顺序访问(但不更改)所有矩阵条目。doublewalkInOptimizedOrder(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
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。 - 另请参阅:
-