MatrixType的属性
在MatrixType的属性中,仅shape和self是需要在实例创建时初始化的。
shape属性
矩阵的形状,是一个包含两个整数的列表
self属性
self属性是指向Matrix实例的指针,虽然self属性是公开属性,然而我并不建议操作它,而是用于管理构建新方法时调用。Matrix类本身即C语言代码中实现的Matrix结构体,它包含二维数组、特殊属性、row、column两个属性,额外声明shape属性是为了更好的在类中实现代码,而不是每次都去访问row、column,在已经实现的方法中,MatrixType实例更新形状时shape也会变化。
特殊属性
bool get identityMatrix => this.self.ref.spc.ref.identityMatrix;
set identityMatrix(bool value) => this.self.ref.spc.ref.identityMatrix = value;
bool get principalDiagonalMatrix => this.self.ref.spc.ref.principalDiagonalMatrix;
set principalDiagonalMatrix(bool value) => this.self.ref.spc.ref.principalDiagonalMatrix = value;
bool get upperTriangularMatrix => this.self.ref.spc.ref.upperTriangularMatrix;
set upperTriangularMatrix(bool value) => this.self.ref.spc.ref.upperTriangularMatrix = value;
bool get subDiagonalMatrix => this.self.ref.spc.ref.subDiagonalMatrix;
set subDiagonalMatrix(bool value) => this.self.ref.spc.ref.subDiagonalMatrix = value;
bool get lowerTriangularMatrix => this.self.ref.spc.ref.lowerTriangularMatrix;
set lowerTriangularMatrix(bool value) => this.self.ref.spc.ref.lowerTriangularMatrix = value;
bool get singularMatrix => this.self.ref.spc.ref.singularMatrix;
set singularMatrix(bool value) => this.self.ref.spc.ref.singularMatrix = value;
这里不再赘述。
size
获取矩阵的数据量,它等于row * column
isSquare
判断是不是方阵
T_
获取矩阵的转置矩阵,是方法transpose的属性版本
trace
获取矩阵的迹,针对任何矩阵,访问最小维度决定的迹
det
获取方阵的行列式值,对于一般矩阵采用高斯消元法
inv
获取行列式值不为0的方阵的逆矩阵
adj
获取任意方阵的伴随矩阵
rank
获取矩阵的秩,利用高斯消元法化上三角矩阵
数学工具封装的属性
acos\asin\atan\cos\sin\tan\cosh\sinh\tanh\exp\log\log10\sqrt\ceil\fabs
在利用这些数学方法来处理矩阵中正负无穷大和nan数据时,可以使用setMask来处理这些数据的值变换,但这也会修改矩阵!因此,你可以采用矩阵深拷贝避免。
deepcopy[new from V1.0.8]
提供实例的深拷贝方法