\begin{align}\label{flicker4}
\[{\rm{rank}}\left[ {\begin{array}{*{20}{c}}
E&0&{{B_d}}\\
C&{{D_d}}&0\\
0&0&{{D_d}}
\end{array}} \right] = n + {\rm{rank}}{D_d} + {\rm{rank}}\left[ {\begin{array}{*{20}{c}}
{{B_d}}\\
{{D_d}}
\end{array}} \right],\]
\end{align}
1 Answer
There are a few problems with your code. First of all:
- Empty lines are not allowed inside a display math environment
align
is already a math environment, so you shouldn't use\[ .. \]
inside it.
The code below has some additional suggestions, including using bmatrix
instead of array
, using equation
instead of align
because there is only one line and no alignment needed, removing a lot of unnecessary braces, and defining a new operator instead of using \rm
(which has been deprecated for twenty-odd years).
\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\rank}{rank}
\begin{document}
\begin{equation}\label{flicker4}
\rank
\begin{bmatrix}
E & 0 & B_d \\
C & D_d & 0 \\
0 & 0 & D_d
\end{bmatrix} = n + \rank D_d +
\rank \begin{bmatrix}
B_d\\
D_d
\end{bmatrix},
\end{equation}
\end{document}
-
I'm not a mathematician, so I'm not actually entirely sure if
\rank
should be defined as an operator. If someone knows better, please let me know or just edit my code. May 4, 2017 at 22:06 -
I‘d say it’s quite OK to make it a
\nolimits
operator, exactly as you did (i.e., just be careful not to say\DeclareMathOperator*{\rank}{rank}
!).– GuMMay 4, 2017 at 22:47 -
1Defining the command as
\rk
would be shorter to type, and I don't think it's already defined.– BernardMay 4, 2017 at 23:10 -
\documentclass{...}
on the beginning and\end{document}
of its end.equation
environment (\[ ... \]
) insidealign
environment!