latex command for diagonal matrix of this kind

Could anyone give me code for this matrix generation?

• Do you want a generic command which autogenerates this, or do you just want to know how to produce it? \begin{bmatrix}d_{1} & & \\ & \ddots & \\ & & d_{r}\end{bmatrix} would do Nov 5 '16 at 20:23

You can do this very simply with a bmatrix and \ddots for the diagonal dots. The b in bmatrix is for the (square) brackets. pmatrix would give you parentheses, Bmatrix would give you braces and vmatrix and Vmatrix give you single and double vertical lines (respectively).

\documentclass{article}
\usepackage{amsmath}

\begin{document}

$D = \begin{bmatrix} d_{1} & & \\ & \ddots & \\ & & d_{r} \end{bmatrix}$

\end{document}


• I will add here as well that, although not everyone loves its use, the physics package allows you to generate such an output by writing: D=\mqty[\dmat[0]{d_1,\ddots,d_r}] Mar 25 '20 at 20:45