# Difference between revisions of "Matrix in maths"

In order to type matrices in math formulas, there is the command \definemathmatrix. Once a certain type of matrix is defined, one can also add a simple command in order to type matrices in a Matlab or Scilab format.

Here are a few examples

%% defining matrix with parentheses
\definemathmatrix[pmatrix]
[matrix:parentheses]
[simplecommand=pmatrix]

%% defining matrix with brackets
\definemathmatrix[bmatrix]
[matrix:brackets]
[simplecommand=bmatrix]

%% defining determinant with bars
\definemathmatrix[determinant]
[matrix:bars]
[simplecommand=thedeterminant]
\starttext
Let $A$ be the matrix
\startformula
A :=
\startpmatrix
\NC 2 \NC 3 \NR
\NC 1 \NC 2 \NR
\stoppmatrix.
\stopformula
Show that
\startformula
{\rm det}(A) = \startdeterminant
\NC 2 \NC 3 \NR
\NC 1 \NC 2 \NR
\stopdeterminant = 1.
\stopformula
Compute the matrix $AB$ where $B$ is the matrix
\startformula
B := \pmatrix{2, -3 ; -1, 2}.
\stopformula
\stoptext


It is possible to have different delimiters on the left and on the right. For instance:

\definemathmatrix[pvmatrix]
[left={\left(\thinspace},
right={\thinspace\right|}]

\definemathmatrix[rpmatrix]
[left={\left.\thinspace},
right={\thinspace\right)}]

\starttext
\startformula
\startpvmatrix
\NC 11 \NC 12 \NC 13 \NR
\NC 21 \NC 22 \NC 23 \NR
\NC 31 \NC 32 \NC 33 \NR
\stoppvmatrix
\startrpmatrix
\NC  0 \NR
\NC  1 \NR
\NC  2 \NR
\stoprpmatrix
\stopformula

\stoptext


In ConTeXt LMTX beginning version 2020-11-27, it is possible to create « block » matrices where the blocks are separated by vertical or horizontal lines (respectively \VL and \HL). For instance the above example can be typeset more easily by the following (the output may be incorrect on this wiki: if this is the case copy the code below and typeset it on your machine with ConTeXt LMTX):

\definemathmatrix[mymatrix]
[left={\left\lparent\thinspace}, % instead of the left parenthesis, one can use any other fence
right={\thinspace\right\rparent}] % instead of the right parenthesis, one can use any other fence

\starttext
Here is $3 \times 3$ matrix with a column added to it
\startformula
\startmymatrix
\NC 11 \NC 12 \NC 13 \VL 0 \NR
\NC 21 \NC 22 \NC 23 \VL 1 \NR
\NC 31 \NC 32 \NC 33 \VL 2 \NR
\stopmymatrix
\stopformula
Here is block matrix:
\startformula
\startmymatrix
\NC A \VL  B \NR
\HL
\NC C \VL  D \NR
\stopmymatrix
\stopformula
and here is another one
\startformula
\startmymatrix
\NC A \VL[3,green]  B \NR %
\HL[10,red]
\NC C \VL  D \NR
\stopmymatrix
\stopformula

\stoptext