Better positioning of ddots in matrix
Here's a different suggestion: simplify the matrix from a 5x5 to a 4x4 structure, to emphasize that the lower-right block of the full-matrix is (to my understanding) a triangular matrix, with zeroes above the diagonal.
There seems to be an implicit assumption that your readers "know" what's in the top-left block and in the first positions of row- and column vectors. Is this assumption justified?
\documentclass{article}
\usepackage{array}
\begin{document}
\[
\left(\begin{array}{c|cccc}
& & c & \ldots & c \\
\hline
& 0 & & & 0\\
d & a & b & & \\
\vdots & & \ddots & \ddots & \\
d & & & a & b
\end{array}\right)
\]
\end{document}
You can also use nicematrix
:
\documentclass{article}
\usepackage{nicematrix}
\usepackage{booktabs}
\begin{document}
\[
\begin{pNiceArray}{c|ccccc}
& & c & \Ldots & c & c \\ \cmidrule(rl){1-6}
& 0 & & & & 0 \\
d & a & b & & & \\
\Vdots & & \Ddots & \Ddots \\
\\
d & & & & a & b
\end{pNiceArray}
\]
\end{document}
You can rotate the dots a bit and possibly put them higher using the \rotatebox
and \raisebox
commands from the graphicx
package. Note that this requires the dots to be put in math mode explicitly, even if they are already in a math environment. With \smash
you can prevent the rotated/raised boxes from increasing the height of the array row.
However, I agree with the comments that a single \ddots
is probably better.
MWE:
\documentclass[]{article}
\usepackage{graphicx}
\begin{document}
\[
\left(\begin{array}[c]{c|cccccc}
& & c & \ldots & c & c \\ \hline
& 0 & & & & 0 \\
d & a & b & & & \\
\vdots & & \smash{\rotatebox{20}{$\ddots$}} & \smash{\raisebox{3pt}{\rotatebox{20}{$\ddots$}}} & & \\
d & & & & a & b
\end{array}\right)
\]
\[
\left(\begin{array}[c]{c|cccccc}
& & c & \ldots & c & c \\ \hline
& 0 & & & & 0 \\
d & a & b & & & \\
\vdots & & & \ddots & & \\
d & & & & a & b
\end{array}\right)
\]
\end{document}
Result: