类 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
的和。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) 获取指定行和列中的条目。int
返回此矩阵的行数。inverse()
计算此对角矩阵的逆矩阵。inverse
(double threshold) 计算此对角矩阵的逆矩阵。boolean
isSingular
(double threshold) 返回此对角矩阵是否奇异,即任何对角条目在给定阈值内等于0
。返回this
与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
的前乘结果(行向量)。返回将此矩阵与向量v
的前乘结果(行向量)。void
setEntry
(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
-