2

how could I plot this block matrix? I tried to plot it with this code but braces is still remained.

`

\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{nicematrix}
\usepackage{amscd}
\usepackage{tikz}
\newcommand{\mc}{\multicolumn{1}{c}}
\tikzset{every picture/.style={line width=0.75pt}} %set default line width to 0.75pt  
\begin{document}
    \begin{equation}\label{key}
    \renewcommand{\arraystretch}{1.2}
    \left[ \;
    \begin{array}{ |c c | cc | cc |cc|}
    \cline{1-2}
    &&&\mc{} && \mc{} &&\mc{} \\
    \multicolumn{1}{|c}{} & &  & \mc{} &  & \mc{} &  & \mc{} \\
    \multicolumn{2}{|c|}{\raisebox{.6\normalbaselineskip}[0pt][0pt]{$\begin{array}{ccc}
            \ast & \dots & \ast\\
            \vdots \\
            \ast& \dots & \ast
            \end{array} $}} &  & \mc{} &  & \mc{} &&\mc{} \\
        &&&\mc{} &&\mc{} && \mc{}\\
    \cline{1-4}
     \mc{} &  & & &  & \mc{} && \mc{}\\
     \mc{} &  & \multicolumn{2}{c|}{\raisebox{.6\normalbaselineskip}[0pt][0pt]{$\quad\ast \;\; $}} &  & \mc{} && \mc{} \\
    \cline{3-4}
    \mc{} &\mc{}&  &\mc{} &\cdot \\
    \mc{} &\mc{} && \mc{} & &  \mc{\cdot} \\
    \cline{7-8}
     \mc{} & \mc{} &  & \mc{}&  & & & \multicolumn{1}{ c|}{} \\
     \mc{} & \mc{} &  & \mc{} & && \multicolumn{2}{c|}{\raisebox{.6\normalbaselineskip}[0pt][0pt]{$\quad\ast \;\;$}}  \\
    \cline{7-8}
    \end{array}\;
    \right] 
    \end{equation}  
\end{document}`

enter image description here

0

1 Answer 1

3

With the powerful package nicematrix. enter image description here

\documentclass{article}
\usepackage{nicematrix}
\usepackage{tikz}
\usetikzlibrary {decorations.pathreplacing}
\setcounter{MaxMatrixCols}{20}
\def\myzeroa{\Block{2-2}<\large>{O}}

\begin{document}
\[
\begin{bNiceMatrix}[columns-width=3mm, nullify-dots,
  code-after=\line{7-7}{9-9},
  extra-left-margin=3mm,
  extra-right-margin=3mm,
  xdots/shorten=1em, first-row,
  last-row,
  ]
  \\
  \lambda_1 && \myzeroa\\
  & \lambda_1 && \\
  \myzeroa && \Ddots \\
  &&& \lambda_1 \\
  &&&& \lambda_2 \\
  &&&&& \Ddots & \\
  &&&&&& \lambda_2 \\
  \\
  &&&&&&&& \lambda_3 \\
  &&&&&&&&& \Ddots \\
  &&&&&&&&&& \lambda_3 \\
\\
\CodeAfter
\begin{tikzpicture}[decoration={brace, amplitude=2mm}]
  \draw[teal] (1-|1) -- (5-|1) -- (5 -| 5) -- (1 -| 5) -- cycle;
  \draw[cyan] (5 -| 5) -- (8 -| 5) -- (8 -| 8) -- (5 -| 8) -- cycle;
  \draw[red!70] (9 -| 9) -- (12 -| 9) -- (12 -| 12) -- (9 -| 12) -- cycle;

  \node at (6 -| 7) {\large$O$};
  \node at (7 -| 6) {\large$O$};
  \node at (10 -| 11) {\large$O$};
  \node at (11 -| 10) {\large$O$};
  \node[transform shape, scale=3] at (3 -| 10) {$O$};
  \node[transform shape, scale=3] at (9 -| 3) {$O$};

  \begin{scope}[node font=\scriptsize]
  \draw[decorate, teal] ([yshift=1mm]1) -- ([yshift=1mm]1 -| 5)
    node[midway, above=1.5mm] {$d_1 = g_1$};
  \draw[decorate, teal] ([shift={(1mm, -2pt)}]1 -| 5) -- ([shift={(1mm, 2pt)}]5 -| 5)
    node[midway, right=1.5mm] {$d_1 = g_1$};

  \draw[decorate, cyan] ([yshift=-1mm]8 -| 8) -- ([yshift=-1mm]8 -| 5)
    node[midway, below=1.5mm] {$d_2 = g_2$};
  \draw[decorate, cyan] ([xshift=1mm]5 -| 8) -- ([xshift=1mm]8 -| 8)
    node[midway, right=1.5mm] {$d_2 = g_2$};

  \draw[decorate, red!60] ([yshift=1mm]9 -| 9) -- ([yshift=1mm]9 -| 12)
    node[midway, above=1.5mm] {$d_3 = g_3$};
  \draw[decorate, red!60] ([xshift=-1mm]12 -| 9) -- ([xshift=-1mm]9 -| 9)
    node[midway, left=1.5mm] {$d_3 = g_3$};
  \end{scope}
\end{tikzpicture}
\end{bNiceMatrix}
\]
\end{document}

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .