ClassesClassesClassesClasses | | | | Operators

create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix (Operator)

Name

create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix — Create a matrix.

Signature

create_matrix( : : Rows, Columns, Value : MatrixID)

Herror create_matrix(const Hlong Rows, const Hlong Columns, double Value, Hlong* MatrixID)

Herror T_create_matrix(const Htuple Rows, const Htuple Columns, const Htuple Value, Htuple* MatrixID)

Herror create_matrix(const HTuple& Rows, const HTuple& Columns, const HTuple& Value, Hlong* MatrixID)

void HMatrix::CreateMatrix(const HTuple& Rows, const HTuple& Columns, const HTuple& Value)

void CreateMatrix(const HTuple& Rows, const HTuple& Columns, const HTuple& Value, HTuple* MatrixID)

void HMatrix::HMatrix(Hlong Rows, Hlong Columns, const HTuple& Value)

void HMatrix::HMatrix(Hlong Rows, Hlong Columns, double Value)

void HMatrix::CreateMatrix(Hlong Rows, Hlong Columns, const HTuple& Value)

void HMatrix::CreateMatrix(Hlong Rows, Hlong Columns, double Value)

void HOperatorSetX.CreateMatrix(
[in] VARIANT Rows, [in] VARIANT Columns, [in] VARIANT Value, [out] VARIANT* MatrixID)

void HMatrixX.CreateMatrix(
[in] Hlong Rows, [in] Hlong Columns, [in] VARIANT Value)

static void HOperatorSet.CreateMatrix(HTuple rows, HTuple columns, HTuple value, out HTuple matrixID)

public HMatrix(int rows, int columns, HTuple value)

public HMatrix(int rows, int columns, double value)

void HMatrix.CreateMatrix(int rows, int columns, HTuple value)

void HMatrix.CreateMatrix(int rows, int columns, double value)

Description

The operator create_matrixcreate_matrixCreateMatrixcreate_matrixCreateMatrixCreateMatrix creates a new MatrixMatrixMatrixMatrixMatrixmatrix with RowsRowsRowsRowsRowsrows rows and ColumnsColumnsColumnsColumnsColumnscolumns columns and returns the matrix handle MatrixIDMatrixIDMatrixIDMatrixIDMatrixIDmatrixID. Access to the elements of the matrix is possible e.g. with the operator get_full_matrixget_full_matrixGetFullMatrixget_full_matrixGetFullMatrixGetFullMatrix. The parameter ValueValueValueValueValuevalue is a string or a tuple of floating point or integer numbers. Integer numbers are converted to floating point numbers automatically.

If ValueValueValueValueValuevalue = 'identity'"identity""identity""identity""identity""identity", RowsRowsRowsRowsRowsrows and ColumnsColumnsColumnsColumnsColumnscolumns must have the identical values and an identity matrix is created.

Example:


  Rows = 3      Columns = 3      Value = 'identity'

                 /  1  0  0  \
  ->    Matrix = |  0  1  0  |
                 \  0  0  1  /

If the parameter ValueValueValueValueValuevalue contains a single value, all elements of the matrix are filled with this value.

Example:


  Rows = 3      Columns = 3      Value = 7

               /  7.0  7.0  7.0  \
  ->  Matrix = |  7.0  7.0  7.0  |
               \  7.0  7.0  7.0  /

If ValueValueValueValueValuevalue contains as many values as the main diagonal, all elements of the main diagonal are set to the values of the parameter ValueValueValueValueValuevalue (i.e., the number of elements in ValueValueValueValueValuevalue is identical).

Example:


  Rows = 3      Columns = 4      Value = [3, 7, 1]

                /  3.0  0   0   0  \
  ->   Matrix = |   0  7.0  0   0  |
                \   0   0  1.0  0  /

It is also possible to set all elements of the matrix with different values. In this case the parameter ValueValueValueValueValuevalue must contain all values in a row-major order, i.e., stored line by line. In addition, the number of elements of ValueValueValueValueValuevalue must be identical to the number of all elements of the matrix, i.e., RowsRowsRowsRowsRowsrows * ColumnsColumnsColumnsColumnsColumnscolumns.

Example:


  Rows = 3      Columns = 3      Value = [3,1,-2,-5,7,2,-9,-4,1]

                /   3.0   1.0  -2.0  \
  ->   Matrix = |  -5.0   7.0   2.0  |
                \  -9.0  -4.0   1.0  /

It should be noted that in the examples there are differences in the meaning of the values of the output matrices: If a value is shown as an integer number, e.g., 0 or 1, the value of this element is per definition this certain value. If the number is shown as a floating point number, e.g., 0.0 or 1.0, the value is computed by the operator.

Parallelization

Parameters

RowsRowsRowsRowsRowsrows (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of rows of the matrix.

Default value: 3

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100

Restriction: Rows >= 1

ColumnsColumnsColumnsColumnsColumnscolumns (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Number of columns of the matrix.

Default value: 3

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 30, 50, 100

Restriction: Columns >= 1

ValueValueValueValueValuevalue (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*) (double / Hlong / BSTR) (double / Hlong / char*)

Values for initializing the elements of the matrix.

Default value: 0

Suggested values: 0, 1, 'identity'"identity""identity""identity""identity""identity"

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

Matrix handle.

Result

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

Possible Successors

set_full_matrixset_full_matrixSetFullMatrixset_full_matrixSetFullMatrixSetFullMatrix, clear_matrixclear_matrixClearMatrixclear_matrixClearMatrixClearMatrix, clear_all_matricesclear_all_matricesClearAllMatricesclear_all_matricesClearAllMatricesClearAllMatrices

Module

Foundation


ClassesClassesClassesClasses | | | | Operators