ClassesClassesClassesClasses | | | | Operators

pow_matrixpow_matrixPowMatrixpow_matrixPowMatrixPowMatrix (Operator)

Name

pow_matrixpow_matrixPowMatrixpow_matrixPowMatrixPowMatrix — Compute the power functions of a matrix.

Signature

pow_matrix( : : MatrixID, MatrixType, Power : MatrixPowID)

Herror pow_matrix(const Hlong MatrixID, const char* MatrixType, double Power, Hlong* MatrixPowID)

Herror T_pow_matrix(const Htuple MatrixID, const Htuple MatrixType, const Htuple Power, Htuple* MatrixPowID)

Herror pow_matrix(const HTuple& MatrixID, const HTuple& MatrixType, const HTuple& Power, Hlong* MatrixPowID)

HMatrix HMatrix::PowMatrix(const HTuple& MatrixType, const HTuple& Power) const

void PowMatrix(const HTuple& MatrixID, const HTuple& MatrixType, const HTuple& Power, HTuple* MatrixPowID)

HMatrix HMatrix::PowMatrix(const HString& MatrixType, const HTuple& Power) const

HMatrix HMatrix::PowMatrix(const HString& MatrixType, double Power) const

HMatrix HMatrix::PowMatrix(const char* MatrixType, double Power) const

void HOperatorSetX.PowMatrix(
[in] VARIANT MatrixID, [in] VARIANT MatrixType, [in] VARIANT Power, [out] VARIANT* MatrixPowID)

IHMatrixX* HMatrixX.PowMatrix(
[in] BSTR MatrixType, [in] VARIANT Power)

static void HOperatorSet.PowMatrix(HTuple matrixID, HTuple matrixType, HTuple power, out HTuple matrixPowID)

HMatrix HMatrix.PowMatrix(string matrixType, HTuple power)

HMatrix HMatrix.PowMatrix(string matrixType, double power)

Description

The operator pow_matrixpow_matrixPowMatrixpow_matrixPowMatrixPowMatrix computes the power of the input MatrixMatrixMatrixMatrixMatrixmatrix by a constant value. The input MatrixMatrixMatrixMatrixMatrixmatrix is given by the matrix handle MatrixIDMatrixIDMatrixIDMatrixIDMatrixIDmatrixID. The power value is given by the parameter PowerPowerPowerPowerPowerpower. A new matrix MatrixPowMatrixPowMatrixPowMatrixPowMatrixPowmatrixPow is generated with the result. The operator returns the matrix handle MatrixPowIDMatrixPowIDMatrixPowIDMatrixPowIDMatrixPowIDmatrixPowID of the matrix MatrixPowMatrixPowMatrixPowMatrixPowMatrixPowmatrixPow. Access to the elements of the matrix is possible e.g. with the operator get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix.

The type of the MatrixMatrixMatrixMatrixMatrixmatrix can be selected via MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType. The following values are supported: 'general'"general""general""general""general""general" for general, 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric" for symmetric, 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite" for symmetric positive definite, 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular" for upper triangular, 'permuted_upper_triangular'"permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular" for permuted upper triangular, 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular" for lower triangular, and 'permuted_lower_triangular'"permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular" for permuted lower triangular matrices. The formula for the calculation of the result is:


                          MatrixPower
  MatrixPow   =   Matrix             .

Example:


           / 3.0  1.0  2.0 \
  Matrix = | 5.0  7.0  2.0 |      Power = [ 2.0 ]     MatrixType = 'general'
           \ 9.0  4.0  1.0 /

                    / 32.0  18.0  10.0 \
  ->    MatrixPow = | 68.0  62.0  26.0 |
                    \ 56.0  41.0  27.0 /

Attention

For MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric", 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite", or 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular" the upper triangular part of the input MatrixMatrixMatrixMatrixMatrixmatrix must contain the relevant information of the matrix. The strictly lower triangular part of the matrix is not referenced. For MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType = 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular" the lower triangular part of the input MatrixMatrixMatrixMatrixMatrixmatrix must contain the relevant information of the matrix. The strictly upper triangular part of the matrix is not referenced. If the referenced part of the input MatrixMatrixMatrixMatrixMatrixmatrix is not of the specified type, an exception is raised.

Parallelization

Parameters

MatrixIDMatrixIDMatrixIDMatrixIDMatrixIDmatrixID (input_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle of the input matrix.

MatrixTypeMatrixTypeMatrixTypeMatrixTypeMatrixTypematrixType (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

The type of the input matrix.

Default value: 'general' "general" "general" "general" "general" "general"

List of values: 'general'"general""general""general""general""general", 'lower_triangular'"lower_triangular""lower_triangular""lower_triangular""lower_triangular""lower_triangular", 'permuted_lower_triangular'"permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular""permuted_lower_triangular", 'permuted_upper_triangular'"permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular""permuted_upper_triangular", 'positive_definite'"positive_definite""positive_definite""positive_definite""positive_definite""positive_definite", 'symmetric'"symmetric""symmetric""symmetric""symmetric""symmetric", 'upper_triangular'"upper_triangular""upper_triangular""upper_triangular""upper_triangular""upper_triangular"

PowerPowerPowerPowerPowerpower (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

The power.

Default value: 2.0

Suggested values: 0.1, 0.2, 0.3, 0.5, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0, 10.0

MatrixPowIDMatrixPowIDMatrixPowIDMatrixPowIDMatrixPowIDmatrixPowID (output_control)  matrix HMatrix, HTupleHTupleHMatrix, HTupleHMatrixX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Matrix handle with the raised powered matrix.

Result

If the parameters are valid, the operator pow_matrixpow_matrixPowMatrixpow_matrixPowMatrixPowMatrix returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Possible Predecessors

create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix

Possible Successors

get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix, get_value_matrixget_value_matrixGetValueMatrixget_value_matrixGetValueMatrixGetValueMatrix

Alternatives

pow_matrix_modpow_matrix_modPowMatrixModpow_matrix_modPowMatrixModPowMatrixMod, eigenvalues_symmetric_matrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixeigenvalues_symmetric_matrixEigenvaluesSymmetricMatrixEigenvaluesSymmetricMatrix, eigenvalues_general_matrixeigenvalues_general_matrixEigenvaluesGeneralMatrixeigenvalues_general_matrixEigenvaluesGeneralMatrixEigenvaluesGeneralMatrix

See also

sqrt_matrixsqrt_matrixSqrtMatrixsqrt_matrixSqrtMatrixSqrtMatrix, sqrt_matrix_modsqrt_matrix_modSqrtMatrixModsqrt_matrix_modSqrtMatrixModSqrtMatrixMod

Module

Foundation


ClassesClassesClassesClasses | | | | Operators