Skip to content

div_element_matrix_modDivElementMatrixModDivElementMatrixModdiv_element_matrix_modT_div_element_matrix_mod🔗

Short description🔗

div_element_matrix_modDivElementMatrixModDivElementMatrixModdiv_element_matrix_modT_div_element_matrix_mod — Divide matrices element-by-element.

Signature🔗

div_element_matrix_mod( matrix MatrixAID, matrix MatrixBID )void DivElementMatrixMod( const HTuple& MatrixAID, const HTuple& MatrixBID )static void HOperatorSet.DivElementMatrixMod( HTuple matrixAID, HTuple matrixBID )def div_element_matrix_mod( matrix_aid: HHandle, matrix_bid: HHandle ) -> None

Herror T_div_element_matrix_mod( const Htuple MatrixAID, const Htuple MatrixBID )

void HMatrix::DivElementMatrixMod( const HMatrix& MatrixBID ) const

void HMatrix.DivElementMatrixMod( HMatrix matrixBID )

Description🔗

The operator div_element_matrix_modDivElementMatrixMod divides the two matrices MatrixA and MatrixB element-by-element. The matrices are given by the matrix handles MatrixAIDmatrixAIDmatrix_aid and MatrixBIDmatrixBIDmatrix_bid. It is required that both input matrices have identical dimensions. The input matrix MatrixA is overwritten with the result. Access to the elements of the matrix is possible e.g., with the operator get_full_matrixGetFullMatrix. The formula for the calculation of the result is:

\[\begin{eqnarray*} \texttt{MatrixA}_{ij} \quad = \quad \texttt{MatrixA}_{ij} \quad / \quad \texttt{MatrixB}_{ij}. \end{eqnarray*}\]

Example:

\[\begin{eqnarray*} \texttt{MatrixA} = \left[ \begin{array}{rrr} 4.0 & 8.0 & 0.0 \\ -6.0 & 7.0 & 2.0 \\ -9.0 & 4.0 & 1.0 \end{array} \right] \qquad \texttt{MatrixB} = \left[ \begin{array}{rrr} 2.0 & 8.0 & -3.0 \\ -4.0 & -1.0 & 4.0 \\ -2.0 & -4.0 & 2.0 \end{array} \right] \end{eqnarray*}\]
\[\begin{eqnarray*} \to \qquad \texttt{MatrixA} = \left[ \begin{array}{rrr} 2.0 & 1.0 & 0.0 \\ 1.5 & -7.0 & 0.5 \\ 4.5 & -1.0 & 0.5 \end{array} \right] \end{eqnarray*}\]

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

This operator modifies the state of the following input parameter:

During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.

Parameters🔗

MatrixAIDmatrixAIDmatrix_aid (input_control, state is modified) matrix → (handle)HTuple (HHandle)HMatrix, HTuple (IntPtr)HHandleHtuple (handle)

Matrix handle of the input matrix A.

MatrixBIDmatrixBIDmatrix_bid (input_control) matrix → (handle)HTuple (HHandle)HMatrix, HTuple (IntPtr)HHandleHtuple (handle)

Matrix handle of the input matrix B.

Result🔗

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

Combinations with other operators🔗

Combinations

Possible predecessors

create_matrixCreateMatrix

Possible successors

get_full_matrixGetFullMatrix, get_value_matrixGetValueMatrix

Alternatives

div_element_matrixDivElementMatrix

See also

mult_element_matrixMultElementMatrix, mult_element_matrix_modMultElementMatrixMod, scale_matrixScaleMatrix, scale_matrix_modScaleMatrixMod

Module🔗

Foundation