如何在 latex 中实现这种效果?矩阵盒装

如何在 latex 中实现这种效果?矩阵盒装

在此处输入图片描述 我对这些矩阵有疑问,我该如何编码这些矩阵使其看起来像图片?

答案1

我使用该包重现了第一个盒装矩阵nicematrix。这是这项任务所需的唯一包。

它将被编译两次。

盒装矩阵使用 7 列(而不是 9 列),因为该指令[first-row,last-row,first-col,last-col]将第一列和最后一列以及行保持在线的周长之外。

注意:第一列中缺失的两个单元格:a_{i1}a_{j1},以及\ldots第二列中的一些单元格也可以轻松添加。

吨

\documentclass[12pt]{article}

\usepackage{nicematrix} % needed <<<<<<<<<<<<<<<<<

\begin{document}    
    
$\begin{NiceArray}{|*7{c}|}[first-row,last-row,first-col,last-col] 
    &       &       &i          &           &j          &       &           &   \\
    \hline
    &a_{11} &       &a_{1i}     &\ldots     &a_{1j}     &\ldots &a_{1n}     &   \\ 
    &\vdots &\ddots & \vdots    &           &\vdots     &       & \vdots    &   \\
    i&      &       &a_{ii}     &\ldots     &a_{ij}     &\ldots &a_{in}     &i  \\ 
    &\vdots &       & \vdots    &\ddots     &\vdots     &       & \vdots    &   \\
    j&      &       &a_{ji}     &\ldots     &a_{jj}     &\ldots &a_{jn}     &j  \\ 
    &\vdots &       & \vdots    &\ddots     &\vdots     &\ddots &\vdots     &  \\
    &a_{n1} &       &a_{ni}     &\ldots     &a_{nj}     &\ldots &a_{nn}     &   \\ 
    \hline
    &           &       &           &A          &           &       &           &
    \end{NiceArray}$ 
    
\bigskip


$\begin{NiceArray}{|*7{c}|}[first-row,last-row,first-col,last-col] 
&       &       &i          &           &j          &       &           &   \\
\hline
&a_{11} &\ldots &a_{1i}     &\ldots     &a_{1j}     &\ldots &a_{1n}     &   \\ 
&\vdots &\ddots & \vdots    &\ddots     &\vdots     &       & \vdots    &   \\
i&a_{i1}&\ldots &a_{ii}     &\ldots     &a_{ij}     &\ldots &a_{in}     &i  \\ 
&\vdots &       & \vdots    &\ddots     &\vdots     &       & \vdots    &   \\
j&a_{j1}&\ldots &a_{ji}     &\ldots     &a_{jj}     &\ldots &a_{jn}     &j  \\ 
&\vdots &       & \vdots    &\ddots     &\vdots     &\ddots &\vdots     &  \\
&a_{n1} &\ldots &a_{ni}     &\ldots     &a_{nj}     &\ldots &a_{nn}     &   \\ 
\hline
&       &       &           &A          &           &       &           &
\end{NiceArray}$ 

\bigskip

    
$\begin{NiceArray}{|*7{c}|}[first-row,last-row,first-col,last-col] 
    &       &       &i          &           &j          &       &           &   \\
    \hline
    &1      &\ldots &0          &\ldots     &0          &\ldots &0          &   \\ 
    &\vdots &\ddots & \vdots    &\ddots     &\vdots     &       & \vdots    &   \\
i   &0      &\ldots &c          &\ldots     &s          &\ldots &0          &   \\ 
    &\vdots &       & \vdots    &\ddots     &\vdots     &       & \vdots    &   \\
j   &0      &\ldots &-s         &\ldots     &c          &\ldots &0          &   \\ 
    &\vdots &       & \vdots    &\ddots     &\vdots     &\ddots &\vdots     &  \\
    &0      &\ldots &0          &\ldots     &0          &\ldots &1          &   \\ 
    \hline  
    &       &       &           &J(i,j,c,s) &           &       &           &
\end{NiceArray}$ 
    
        
    \end{document}

这是产生第三个矩阵所需的第二个矩阵。

s

答案2

您只需使用arrays 构建这些并将元素布置在适当的列中。以下内容应足以开始:

在此处输入图片描述

\documentclass{article}

\usepackage[margin=1in]{geometry}% Just for this example

\usepackage{amsmath}
\newcommand{\rc}{\multicolumn{1}{c |}}
\newcommand{\lc}{\multicolumn{1}{| c}}

\begin{document}

You construct
\begin{gather*}
  \begin{array}{ *{9}{c} }
    & & & \scriptstyle i & & \scriptstyle j \\
    \cline{2-8}
                   & \lc{a_{11}} & \cdots & a_{1i} & \cdots & a_{1j} & \cdots & \rc{a_{1n}}                  \\
                   & \lc{\vdots} & \ddots & \vdots & \cdots & \vdots & \cdots & \rc{\vdots}                  \\
    \scriptstyle i & \lc{a_{i1}} &        & a_{ii} & \cdots & a_{ij} & \cdots & \rc{a_{in}} & \scriptstyle i \\
                   & \lc{\vdots} &        & \vdots & \ddots & \vdots & \cdots & \rc{\vdots}                  \\
    \scriptstyle j & \lc{a_{j1}} &        & a_{ji} &        & a_{jj} & \cdots & \rc{a_{jn}} & \scriptstyle j \\
                   & \lc{\vdots} &        & \vdots &        & \vdots & \ddots & \rc{\vdots}                  \\
                   & \lc{a_{n1}} &        & a_{ni} &        & a_{nj} & \cdots & \rc{a_{nn}}                  \\
    \cline{2-8}
    \multicolumn{9}{c}{\scriptstyle A}
  \end{array}
  \times
  \begin{array}{ *{9}{c} }
    & & & \scriptstyle i & & \scriptstyle j \\
    \cline{2-8}
                   & \lc{   1  } &    0   &    0   & \cdots & \cdots & \cdots & \rc{   0  }                  \\
                   & \lc{\vdots} & \ddots & \vdots & \cdots & \vdots & \cdots & \rc{\vdots}                  \\
    \scriptstyle i & \lc{   0  } &        &    c   & \cdots &    s   & \cdots & \rc{   0  } & \scriptstyle i \\
                   & \lc{\vdots} &        & \vdots & \ddots &        & \cdots & \rc{\vdots}                  \\
    \scriptstyle j & \lc{   0  } &        &   -s   &        &    c   & \cdots & \rc{   0  } & \scriptstyle j \\
                   & \lc{\vdots} &        &        &        &        & \ddots & \rc{\vdots}                  \\
                   & \lc{   0  } &        &        &        &        & \cdots & \rc{   1  }                  \\
    \cline{2-8}
    \multicolumn{9}{c}{\scriptstyle J(i, j, c, s)}
  \end{array}
\intertext{which yields the matrix}
  \begin{array}{ *{9}{c} }
    & & & \scriptstyle i & & \scriptstyle j \\
    \cline{2-8}
                   & \lc{a_{11}} & \cdots & ca_{1i} - sa_{1j} & \cdots & sa_{1i} + ca_{1j} & \cdots & \rc{a_{1n}}                  \\
                   & \lc{\vdots} & \ddots &       \vdots      & \cdots & \vdots & \cdots & \rc{\vdots}                  \\
    \scriptstyle i & \lc{a_{i1}} &        & ca_{ii} - sa_{ij} & \cdots & sa_{ii} + ca_{ij} & \cdots & \rc{a_{in}} & \scriptstyle i \\
                   & \lc{\vdots} &        &       \vdots      & \ddots & \vdots & \cdots & \rc{\vdots}                  \\
    \scriptstyle j & \lc{a_{j1}} &        & ca_{ji} - sa_{jj} &        & sa_{ji} + ca_{jj} & \cdots & \rc{a_{jn}} & \scriptstyle j \\
                   & \lc{\vdots} &        &       \vdots      &        & \vdots & \ddots & \rc{\vdots}                  \\
                   & \lc{a_{n1}} &        & ca_{ni} - sa_{nj} &        & sa_{ni} + ca_{nj} & \cdots & \rc{a_{nn}}                  \\
    \cline{2-8}
    \multicolumn{9}{c}{\scriptstyle A}
  \end{array}
\end{gather*}

\end{document}

相关内容