Determinante da matriz 3x3 por expansão de cofator

Determinante da matriz 3x3 por expansão de cofator

por favor me ajude a criar isso em LaTeX:

insira a descrição da imagem aqui

Responder1

Não resolvi exatamente o seu problema, mas sim um semelhante do qual você poderia extrair informações úteis.

Eu precisava resolver um determinante muito mais geral. Usei TikZ simples e omatrizfunção dentro do TiKZ. Aqui está o código.

\documentclass[12pt]{article}
\usepackage[pdftex]{graphicx}
\usepackage{pgfplots,tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
  \matrix[
  , matrix of math nodes
  , left delimiter = {(}
  , right delimiter = {)}
  ] (m)
  {
      1 & \rho_1 & 0 & 0 & \cdots & 0 & 0 & \rho_{1}  \\
      \rho_1 & 1 & \rho_1 & 0 & \cdots & 0 & 0 & 0  \\
      0  & \rho_1 & 1 &  \rho_1 & \cdots & 0 & 0 & 0  \\
      \vdots &  & \ddots & \ddots & \ddots & & \vdots & \vdots  \\
       \vdots &  &  & \ddots & \ddots & \ddots & \vdots & \vdots \\
      \vdots &  &  &  & \rho_1 & 1 & \rho_1 & 0  \\
      \vdots & & & & & \rho_1 & 1 & 0  \\
      0 & \cdots & \cdots & \cdots & \cdots & 0  &  \rho_1  & 0 \\
  };
  \coordinate (A) at (2.5,2.6);
  \coordinate (B) at (-3.0,2.65);
  \coordinate (C) at (2.55,-2.7);
  \draw[red, dotted, line width=2]  (A) circle(9pt);
  \draw[red,  line width=2]  (B)--++(5.2,0);
  \draw[red,  line width=2]  (C)--++(0,4.9);

\end{tikzpicture}

\end{document}

Para ser honesto, calculei o comprimento e as posições dos segmentos e círculos por tentativa e erro. Claro, deve haver uma maneira de obter esses locais do ambiente matricial de maneira elegante. Eu não sei como fazer isso.

Aqui está a figura.

insira a descrição da imagem aqui

Responder2

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{fit}

\newcommand{\tikzmark}[2]{\tikz[overlay,remember picture,baseline=(#1.base)] \node (#1) {#2};}

\begin{document}
\[
 \left[\begin{array}{*3{c}}
    \tikzmark{left_end}{0} & 2 & \tikzmark{right_end}{1}\\
    3 & -1 & 2 \\
    \tikzmark{down_left}{4} & 0 & \tikzmark{down}{1}
  \end{array}\right]
\]
\tikz[overlay,remember picture] {
\draw[red,thick,dashed] (left_end) circle (0.2cm);
    \draw[-,red,thick] (left_end) -- ++ (1.7,0) (right_end);
    \draw[-,red,thick] (left_end) -- ++ (0,-1.) (down_left);
}
\end{document}

insira a descrição da imagem aqui

Responder3

Este é mais um comentário extenso sobre oresposta de Sina Ahmadi. Ficarei feliz em remover isso se nessa resposta algumas coisas forem alteradas.

  1. \tikzmarké um comando fantástico que faz parte da tikzmarkbiblioteca. Gostaria de argumentar que criar um novo comando com este nome não é uma boa prática.
  2. Os nós right_ende down_leftnão são usados. As linhas são desenhadas conforme determinado pelas duas distâncias codificadas - ++ (1.7,0)e - ++ (0,-1.).

\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark}

\begin{document}
\[\begin{bmatrix}
    \tikzmarknode[circle,draw=red,inner sep=0.5pt,densely dashed]{A11}{0} & 2 & \tikzmarknode{A13}{1}\\
    3 & -1 & 2 \\
    \tikzmarknode{A31}{4} & 0 & 1
 \end{bmatrix} 
\]
\begin{tikzpicture}[overlay,remember picture] 
\draw[red] (A11.east) -- (A11.east-|A13.east)
(A11.south) -- (A11.south|-A31.south);
\end{tikzpicture}
\end{document}

insira a descrição da imagem aqui

Responder4

É possível fazer isso com nicematrix. Este pacote cria um nó PGF/Tikz em cada célula do array. Então é possível usar tikzpara desenhar o que quisermos.

\documentclass[svgnames]{article}

\usepackage{nicematrix}
\usepackage{tikz}

\begin{document}

$\begin{bNiceMatrix}[margin]
0 & 2  & 1 \\
3 & -1 & 2 \\
4 & 0  & 1
\CodeAfter
\begin{tikzpicture} [color = DeepPink]
\draw [dashed] (1-1) circle (2mm) ;
\draw ([xshift=2mm]1-1.east) -- ([xshift=2mm]1-3.east) ;
\draw ([yshift=-1mm]1-1.south) -- ([yshift=-1mm]3-1.south) ;
\end{tikzpicture}
\end{bNiceMatrix}$

\end{document}

Resultado do código acima

informação relacionada