![Вертикальный интервал в матричной среде: как мне добиться того же?](https://rvso.com/image/286359/%D0%92%D0%B5%D1%80%D1%82%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D0%B0%D0%BB%20%D0%B2%20%D0%BC%D0%B0%D1%82%D1%80%D0%B8%D1%87%D0%BD%D0%BE%D0%B9%20%D1%81%D1%80%D0%B5%D0%B4%D0%B5%3A%20%D0%BA%D0%B0%D0%BA%20%D0%BC%D0%BD%D0%B5%20%D0%B4%D0%BE%D0%B1%D0%B8%D1%82%D1%8C%D1%81%D1%8F%20%D1%82%D0%BE%D0%B3%D0%BE%20%D0%B6%D0%B5%3F.png)
Вот моя проблема: я пытаюсь записать матрицу Якоби как произведение двух других, но результат неверный, потому что у них разная высота. Вот мой код:
\documentclass[11pt]{book}
\usepackage{amsmath}
\begin{document}
\begin{align*}
Jac(f \circ \varphi)_{x_0} =& Jac(f)_{\varphi(x_0)} Jac(\varphi)_{x_0} \\
=& \begin{pmatrix}
\frac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\
\frac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
\end{pmatrix} \begin{pmatrix}
\cos(\theta) & -r \sin(\theta) \\
\sin(\theta) & r \cos(\theta)
\end{pmatrix}
\end{align*}
\end{document}
Я бы не хотел использовать трюки как /em. Может быть у вас есть решение? Спасибо!
решение1
Я бы не настаивал на том, чтобы матрицы имели одинаковую высоту; вместо этого я бы использовал \dfrac
внутренние частные производные и немного разнес бы строки; см. второе выравнивание для получения одинаковой высоты.
\documentclass[11pt]{book}
\usepackage{amsmath}
\DeclareMathOperator{\Jac}{Jac}
\begin{document}
\begin{align*}
\Jac(f \circ \varphi)_{x_0}
&= \Jac(f)_{\varphi(x_0)} \Jac(\varphi)_{x_0} \\
&= \begin{pmatrix}
\dfrac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\[3ex]
\dfrac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
\end{pmatrix}
\begin{pmatrix}
\cos(\theta) & -r \sin(\theta) \\[2ex]
\sin(\theta) & r \cos(\theta)
\end{pmatrix}
\end{align*}
\begin{align*}
\Jac(f \circ \varphi)_{x_0}
&= \Jac(f)_{\varphi(x_0)} \Jac(\varphi)_{x_0} \\
&= \begin{pmatrix}
\frac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\[1ex]
\frac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
\end{pmatrix}
\begin{pmatrix}
\cos(\theta) & -r \sin(\theta) \\[1ex]
\sin(\theta) & r \cos(\theta)
\end{pmatrix}
\end{align*}
\end{document}
Обратите внимание на использование математического оператора и правильное &=
вместо =&
.
решение2
Использование \mfrac
(дроби среднего размера) из nccmath
пакета дает более разумный размер матрицы. Я думаю, что хуже всего (с эстетической точки зрения) было бы иметь почти выровненные строки, поэтому вам пришлось бы вручную добавлять некоторое пространство между строками второй матрицы, а если вы измените шрифт или даже его размер, вам, возможно, придется все настраивать снова.
Был бы автоматический способ точного выравнивания матриц, используя blkarray
пакет и записывая только 1 матрицу с разделителями внутри. Однако у него есть некоторые недостатки: он плохо работает с align, так что, например, точка выравнивания (=) должна быть записана как before
амперсанд. В любом случае, следующий код показывает оба метода. Я также использовал пакет, cellspace
чтобы придать некоторую легкость строкам в матрицах (не работает с blkarray):
\documentclass[11pt, leqno]{book}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\DeclareMathOperator{\Jac}{Jac}
\usepackage{blkarray}
\usepackage{nccmath}
\usepackage[math]{cellspace}
\cellspacetoplimit = 3pt
\cellspacebottomlimit = 3pt
\begin{document}
\begin{align*}
\Jac(f \circ \varphi)_{x_0} =&\Jac(f)_{\varphi(x_0)} \Jac(\varphi)_{x_0} \\
\tag*{\small manual adjustment:} =& \begin{pmatrix}
\mfrac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) \\
\mfrac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta))
\end{pmatrix} \begin{pmatrix}
\cos(\theta) & -r \sin(\theta) \\[6pt]
\sin(\theta) & r \cos(\theta)
\end{pmatrix}
\\%
\tag*{\small with blkarray:} = &{\ } \begin{blockarray}[t]{(c)!{\ }(cc)}
\mfrac{\partial f}{\partial x}(r \cos(\theta), r \sin(\theta)) & \cos(\theta) & -r \sin(\theta)\\[8pt]
\mfrac{\partial f}{\partial y}(r \cos(\theta), r \sin(\theta)) & \sin(\theta) & r \cos(\theta)
\end{blockarray}
\end{align*}
\end{document}