Zeichnen der folgenden beiden Matrizen

Zeichnen der folgenden beiden Matrizen
\documentclass[12pt,a4paper]{article}
%------------------------------------------------------------
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
\[A=
\begin{pmatrix}
I       &0 &\ldots  &0\\
0 & I      &\ddots  &\vdots\\
\vdots  &\ddots  &I       &0\\
0 &\ldots  &0 &I
\end{pmatrix}
\]

and 
\[
B=\begin{pmatrix}
0 &\cdots &0& I\\
\vdots &0&I&0\\
\vdots & \vdots &  & \vdots\\
I & 0 &\cdots& 0\\
\end{pmatrix}
\]
\end{document}

Auf diese Weise möchte ich die folgenden beiden Matrizen zeichnen.

Bildbeschreibung hier eingeben

Antwort1

Hier ist ein Vorschlag, der das nicematrixPaket verwendet. Leider sind die schönen gepunkteten Linien, soweit ich sehen konnte, nicht in einigen Stilen enthalten, die der Benutzer für seine eigenen Anmerkungen verwenden kann. Daher musste ich es mit einer Variante von neu machendiese Antwort.

\documentclass[12pt,a4paper]{article}
%------------------------------------------------------------
\usepackage{amsmath,amssymb,amsthm}
\usepackage{nicematrix}
\tikzset{Dotted/.style={% https://tex.stackexchange.com/a/52856/194703
    line width=1pt,
    dash pattern=on 0.01\pgflinewidth off #1\pgflinewidth,line cap=round,
    shorten >=0.3em,shorten <=0.3em},
    Dotted/.default=5}
\begin{document}
\[A=
\begin{pNiceArray}{CCCC}[
code-after = {\begin{tikzpicture}
%
\draw[Dotted] (2-2) -- (3-3);
\end{tikzpicture}}]%
I       &0 &\Cdots  &0\\
0 & I      &\Ddots  &\Vdots\\
\Vdots  &\Ddots  &I       &0\\
0 &\Cdots  &0 &I
\end{pNiceArray}
\]
and 
\[B=
\begin{pNiceArray}{CCCC}[
code-after = {\begin{tikzpicture}
%
\draw[Dotted] (3-2) -- (2-3);
\draw[Dotted] (3-1) -- (1-3);
\draw[Dotted] (4-2) -- (2-4);
\end{tikzpicture}}]%
0       &\Cdots  &0 &I\\
\Vdots &       &I  &0\\
0  &I  &       &\Vdots\\
I &0  &\Cdots &0
\end{pNiceArray}
\]
\end{document}

Bildbeschreibung hier eingeben

Oder eine Version mit parallelen gepunkteten Linien.

\documentclass[12pt,a4paper]{article}
%------------------------------------------------------------
\usepackage{amsmath,amssymb,amsthm}
\usepackage{nicematrix}
\tikzset{Dotted/.style={% https://tex.stackexchange.com/a/52856/194703
    line width=1pt,
    dash pattern=on 0.01\pgflinewidth off #1\pgflinewidth,line cap=round,
    shorten >=0.3em,shorten <=0.3em},
    Dotted/.default=5}
\begin{document}
\[A=
\begin{pNiceArray}{CCCC}[
code-after = {\begin{tikzpicture}
%
\draw[Dotted] (2-2) -- (3-3);
\end{tikzpicture}}]%
I       &0 &\Cdots  &0\\
0 & I      &\Ddots  &\Vdots\\
\Vdots  &\Ddots  &I       &0\\
0 &\Cdots  &0 &I
\end{pNiceArray}
\]
and 
\[B=
\begin{pNiceArray}{CCCC}[
code-after = {\begin{tikzpicture}
%
\draw[Dotted] (3-2.30) -- (2-3.-150);
\draw[Dotted] (3-1) -- (1-3);
\draw[Dotted] (4-2) -- (2-4);
\end{tikzpicture}}]%
0       &\Cdots  &0 &I\\
\Vdots &       &I  &0\\
0  &I  &       &\Vdots\\
I &0  &\Cdots &0
\end{pNiceArray}
\]
\end{document}

Oder ohne nicematrix.

\documentclass[12pt,a4paper]{article}
%------------------------------------------------------------
\usepackage{amsmath,mathdots}
\begin{document}
\[A=
\begin{pmatrix}
I       &0 &\cdots  &0\\
0 & I \smash{\makebox[0pt][l]{\;\raisebox{-0.8em}{$\ddots$}}}     &\ddots  &\vdots\\
\vdots  &\ddots  &I       &0\\
0 &\cdots  &0 &I
\end{pmatrix}
\]
and 
\[B=
\begin{pmatrix}
0       &\cdots  &0 &I\\
\vdots &  \iddots     &I  &0\\
0  &I\smash{\makebox[0pt][l]{\;\raisebox{0.8em}{$\iddots$}}}  &  \iddots      &\vdots\\
I &0  &\cdots &0
\end{pmatrix}
\]

\end{document}

Bildbeschreibung hier eingeben

Antwort2

Dies ist eine Anpassung der Antwort von Schrödingers Katze. Tatsächlich nicematrixist es seit einer aktuellen Version (3.13 2020-03-15) möglich, die durchgehenden gepunkteten Linien mit jedem von Tikz bereitgestellten Linienstil zu zeichnen.

Anmerkung: Ab dieser Version 3.13 nicematrixwird nicht mehr geladen tikz. Es wird nur noch geladen pgf(weil diese neue Version standardmäßig nur verwendet pgf).

\documentclass[12pt,a4paper]{article}
%------------------------------------------------------------
\usepackage{amsmath,amssymb,amsthm}
\usepackage{nicematrix}

\usepackage{tikz}

\tikzset{Dotted/.style={% https://tex.stackexchange.com/a/52856/194703
    line width=1pt,
    dash pattern=on 0.01\pgflinewidth off #1\pgflinewidth,line cap=round,
    shorten >=0.3em,shorten <=0.3em},
    Dotted/.default=5}


\begin{document}

\begin{gather*}
A=
\begin{pNiceArray}{CCCC}[code-after={\line[line-style = Dotted]{2-2}{3-3}}]
I       & 0      & \Cdots  &0     \\
0       & I      & \Ddots  &\Vdots\\
\Vdots  &\Ddots  & I       &0     \\
0       &\Cdots  & 0       &I
\end{pNiceArray}
\\
B=
\begin{pNiceArray}{CCCC}[
code-after = {
\line[line-style = Dotted]{3-2}{2-3} }
]%
0      & \Cdots  & 0     & I\\
\Vdots & \Iddots[line-style=Dotted] & I     & 0\\
0      & I       & \Iddots[line-style=Dotted] & \Vdots\\
I      & 0       &\Cdots & 0
\end{pNiceArray}
\end{gather*}


\end{document}

Ergebnis des obigen Codes

verwandte Informationen