Difference between revisions of "Matrix in maths"

From Wiki
Jump to navigation Jump to search
(Adding description of the optional parameter of \VL and \HL)
(Replaced content with "moved to Math/Matrices")
Tag: Replaced
 
(35 intermediate revisions by 3 users not shown)
Line 1: Line 1:
In order to type matrices in math formulas, there is the command {{cmd|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.
+
moved to [[Math/Matrices]]
 
 
Here are a few examples
 
 
 
<context source = yes>
 
%% 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
 
</context>
 
It is possible to have different delimiters on the left and on the right. For instance:
 
<context source = yes >
 
\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
 
</context>
 
 
 
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 {{cmd|VL}} and {{cmd|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):
 
 
 
<context source = yes>
 
\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
 
</context>
 
 
 
The two commands {{cmd|VL}} and {{cmd|HL}} take an optional parameter which defines the thickness of the rule and its color. So '''\HL[3, red]''' will produce a red horizontal rule three times thicker than the default matrix rule. The rule thickness for a specific matrix is defined with the '''rulethickness''' parameter of {{cmd|definemathmatrix}}.
 
 
 
<context source=yes>
 
\definemathmatrix[mymatrix][matrix:parentheses][rulethickness=2pt]
 
 
 
\starttext
 
\startformula
 
\startmymatrix
 
\NC A \VL[3,green]  B \NR
 
\HL[10,red]
 
\NC C \VL D \NR
 
\stopmymatrix
 
\stopformula
 
</context>
 
 
 
A '''\VL''' counts as a hidden cell. To interrupt a vertical line, use an empty cell.
 
 
 
<context source=yes>
 
\definemathmatrix[mymatrix][matrix:parentheses]
 
 
 
Weird matrix
 
 
 
\starttext
 
\startformula
 
\startmymatrix
 
\NC A \VL B \NR
 
\HL[red]
 
\NC C \NC \NC D \NR
 
\stopmymatrix
 
\stopformula
 
 
 
This allows things like
 
 
 
\startformula
 
\startmymatrix
 
\NC A \VL B \NR
 
\HL
 
\NC \NC C \NC \NR
 
\stopmymatrix
 
\qquad
 
\startmymatrix
 
\NC A_1 \VL B_1 \NR
 
\HL
 
\NC \vdots \NC \vdots \NC \vdots \NR
 
\HL
 
\NC A_n \VL B_n \NR
 
\stopmymatrix
 
\stopformula
 
\stoptext
 
</context>
 

Latest revision as of 10:43, 12 May 2024

moved to Math/Matrices