类 DiagonalMatrix
java.lang.Object
org.hipparchus.linear.AbstractRealMatrix
org.hipparchus.linear.DiagonalMatrix
- 所有已实现的接口:
-
Serializable,AnyMatrix,RealLinearOperator,RealMatrix,Blendable<RealMatrix>
对角矩阵的实现。
- 另请参阅:
-
构造器概要
构造器构造器说明DiagonalMatrix(double[] d) 使用输入数组作为基础数据创建矩阵。DiagonalMatrix(double[] d, boolean copyArray) 使用输入数组作为基础数据创建矩阵。DiagonalMatrix(int dimension) 创建具有提供的维度的矩阵。 -
方法概要
修饰符和类型方法说明计算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) 获取指定行和列中的条目。int返回此矩阵的行数。inverse()计算此对角矩阵的逆矩阵。inverse(double threshold) 计算此对角矩阵的逆矩阵。booleanisSingular(double threshold) 返回此对角矩阵是否奇异,即任何对角条目在给定阈值内等于0。返回this与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的前乘结果(行向量)。返回将此矩阵与向量v的前乘结果(行向量)。voidsetEntry(int row, int column, double value) 设置指定行和列中的条目。返回this减去m的结果。返回this^T与m的后乘结果。返回this^T与m的后乘结果。从类继承的方法 org.hipparchus.linear.AbstractRealMatrix
add, copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getFrobeniusNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, isSquare, operate, power, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, setSubMatrix, subtract, toString, transpose, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder从接口继承的方法 org.hipparchus.linear.RealLinearOperator
isTransposable, operateTranspose从接口继承的方法 org.hipparchus.linear.RealMatrix
blendArithmeticallyWith, getNorm1, getNormInfty, map, mapToSelf
-
构造器详细资料
-
DiagonalMatrix
创建具有提供的维度的矩阵。- 参数:
-
dimension- 新矩阵中的行数和列数。 - 抛出:
-
MathIllegalArgumentException- 如果维度不是正数。
-
DiagonalMatrix
public DiagonalMatrix(double[] d) 使用输入数组作为基础数据创建矩阵。
输入数组将被复制,而不是被引用。- 参数:
-
d- 新矩阵的数据。
-
DiagonalMatrix
使用输入数组作为基础数据创建矩阵。
如果专门创建一个数组以嵌入到此实例中而不直接使用,可以将copyArray设置为false。这将防止复制并提高性能,因为不会构建新数组,也不会复制数据。- 参数:
-
d- 新矩阵的数据。 -
copyArray- 如果为true,则输入数组将被复制,否则将被引用。 - 抛出:
-
NullArgumentException- 如果d为null
-
-
方法详细资料
-
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的行维度
-
multiply
返回this与m的后乘结果。- 指定者:
-
multiply在接口中RealMatrix - 覆盖:
-
multiply在类中AbstractRealMatrix - 参数:
-
m- 要后乘的矩阵 - 返回:
-
this * m - 抛出:
-
MathIllegalArgumentException- 如果this的列维度不等于m的行维度
-
multiplyTransposed
返回this与m^T的后乘结果。- 参数:
-
m- 首先转置然后后乘的矩阵 - 返回:
-
this * m - 抛出:
-
MathIllegalArgumentException- 如果this的列维度不等于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
-
getData
public double[][] getData()将矩阵条目作为二维数组返回。- 指定者:
-
getData在接口中RealMatrix - 覆盖:
-
getData在类中AbstractRealMatrix - 返回:
- 条目的二维数组
-
getDataRef
public double[] getDataRef()获取对底层数据数组的引用。- 返回:
- 条目的一维数组。
-
getEntry
获取指定行和列中的条目。行和列索引从0开始。- 指定者:
-
getEntry在接口中RealMatrix - 指定者:
-
getEntry在类中AbstractRealMatrix - 参数:
-
row- 要获取条目的行索引。 -
column- 要获取条目的列索引。 - 返回:
-
(row, column)处的矩阵条目。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
setEntry
设置指定行和列中的条目。行和列索引从0开始。- 指定者:
-
setEntry在接口中RealMatrix - 指定者:
-
setEntry在类中AbstractRealMatrix - 参数:
-
row- 要设置条目的行索引。 -
column- 要设置条目的列索引。 -
value- 条目的新值。 - 抛出:
-
MathIllegalArgumentException- 如果row != column且值非零。
-
addToEntry
将指定值添加到this矩阵的指定条目(就地操作)。行和列索引从0开始。- 指定者:
-
addToEntry在接口中RealMatrix - 覆盖:
-
addToEntry在类中AbstractRealMatrix - 参数:
-
row- 要修改的条目的行索引。 -
column- 要修改的条目的列索引。 -
increment- 要添加到矩阵条目的值。 - 抛出:
-
MathIllegalArgumentException- 如果row != column且增量非零。
-
multiplyEntry
将this矩阵的指定条目(就地操作)乘以指定值。行和列索引从0开始。- 指定者:
-
multiplyEntry在接口中RealMatrix - 覆盖:
-
multiplyEntry在类中AbstractRealMatrix - 参数:
-
row- 要修改的条目的行索引。 -
column- 要修改的条目的列索引。 -
factor- 矩阵条目的乘法因子。 - 抛出:
-
MathIllegalArgumentException- 如果行或列索引无效。
-
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的行维度不匹配。
-
preMultiply
返回通过将此矩阵与向量v进行前乘的(行)向量结果。- 指定者:
-
preMultiply在接口中RealMatrix - 覆盖:
-
preMultiply在类中AbstractRealMatrix - 参数:
-
v- 要进行前乘的行向量 - 返回:
-
v * this - 抛出:
-
MathIllegalArgumentException- 如果v的维度与this的行维度不匹配。
-
inverse
计算此对角矩阵的逆。注意:此方法将使用一个奇异性阈值为0,如果需要不同的阈值,请使用
inverse(double)。- 返回:
-
m的逆 - 抛出:
-
MathIllegalArgumentException- 如果矩阵是奇异的
-
inverse
计算此对角矩阵的逆。- 参数:
-
threshold- 奇异性阈值 - 返回:
-
m的逆 - 抛出:
-
MathIllegalArgumentException- 如果矩阵是奇异的
-
isSingular
public boolean isSingular(double threshold) 返回此对角矩阵是否奇异,即任何对角元素在给定阈值内等于0。- 参数:
-
threshold- 奇异性阈值 - 返回:
-
如果矩阵是奇异则返回
true,否则返回false
-