get_diagonal_matrixT_get_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix (算子)

名称

get_diagonal_matrixT_get_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix — 获取矩阵的对角元素。

签名

get_diagonal_matrix( : : MatrixID, Diagonal : VectorID)

Herror T_get_diagonal_matrix(const Htuple MatrixID, const Htuple Diagonal, Htuple* VectorID)

void GetDiagonalMatrix(const HTuple& MatrixID, const HTuple& Diagonal, HTuple* VectorID)

HMatrix HMatrix::GetDiagonalMatrix(Hlong Diagonal) const

static void HOperatorSet.GetDiagonalMatrix(HTuple matrixID, HTuple diagonal, out HTuple vectorID)

HMatrix HMatrix.GetDiagonalMatrix(int diagonal)

def get_diagonal_matrix(matrix_id: HHandle, diagonal: int) -> HHandle

描述

算子 get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix generates a new matrix Vector and copies the diagonal elements of the Matrix to this new matrix. The Matrix is defined by the matrix handle MatrixIDMatrixIDMatrixIDMatrixIDmatrixIDmatrix_id. The matrix Vector has one column and n rows, where n = number of diagonal elements. The operator returns the matrix handle VectorIDVectorIDVectorIDVectorIDvectorIDvector_id of the matrix Vector.可通过算子 get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix 等方式访问该矩阵的元素。

If DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal = 0, the output of the Vector is the main diagonal of the Matrix.

示例:

DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal = 0

If DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal is positive, the output Vector is the DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal-th super-diagonal of the Matrix.

示例:

DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal = 2

If DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal is negative, the DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal-th sub-diagonal of the Matrix is copied.

示例:

DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal = -1

执行信息

参数

MatrixIDMatrixIDMatrixIDMatrixIDmatrixIDmatrix_id (输入控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

输入矩阵的矩阵句柄。

DiagonalDiagonalDiagonalDiagonaldiagonaldiagonal (输入控制)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of the desired diagonal.

默认值: 0

建议值: -20, -10, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 10, 20

VectorIDVectorIDVectorIDVectorIDvectorIDvector_id (输出控制)  matrix HMatrix, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Matrix handle containing the diagonal elements.

结果

如果参数有效,算子 get_diagonal_matrixget_diagonal_matrixGetDiagonalMatrixGetDiagonalMatrixGetDiagonalMatrixget_diagonal_matrix 返回值 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

create_matrixcreate_matrixCreateMatrixCreateMatrixCreateMatrixcreate_matrix

可能的后继

get_full_matrixget_full_matrixGetFullMatrixGetFullMatrixGetFullMatrixget_full_matrix, get_value_matrixget_value_matrixGetValueMatrixGetValueMatrixGetValueMatrixget_value_matrix

另见

set_diagonal_matrixset_diagonal_matrixSetDiagonalMatrixSetDiagonalMatrixSetDiagonalMatrixset_diagonal_matrix

模块

基础