# Matrix in double-struck square bracket style

I suggest generalizing the command you have in mind by making it take just 1 argument. That way, it can be used for scalars, column and row vectors of arbitrary length, and entire matrices. I would also like to suggest creating a variant of the smallmatrix environment (provided by the amsmath package) that's surrounded by double-struck brackets, for use in inline math settings.

\documentclass{article}
\usepackage{amsmath}  % for 'matrix' env.
\usepackage{stmaryrd} % for '\llbracket' and '\rrbracket'

\newcommand{\bbrack}[1]{%
\left\llbracket \begin{matrix} #1 \end{matrix} \right\rrbracket}
% for use in inline math:
\newenvironment{bbsmallmatrix}{%
\left\llbracket\begin{smallmatrix}}{%
\end{smallmatrix}\right\rrbracket}

\begin{document}
aaa $\bbrack{ M \\ 1 }$ zzz
aaa $\begin{bbsmallmatrix} M \\ 1 \end{bbsmallmatrix}$ zzz
\end{document}


These brackets are \lBrack and \rBrack in unicode-math, stix or stix2. A simple example of use:

\documentclass{article}
\usepackage{mathtools}
\usepackage{unicode-math}

\DeclarePairedDelimiter{\Brack}{\lBrack}{\rBrack}
\newenvironment{bbmatrix}%
{\left\lBrack\begin{matrix}}%
{\end{matrix}\right\rBrack}

\begin{document}
$\Brack{ \rho, \vartheta, \varphi } \begin{bbmatrix} a &b &c \\ d &e &f \\ \alpha & \beta & \gamma \end{bbmatrix}$
\end{document}


Expanding on Mico's answer above, if you do NOT want to use the stmaryrd package, you can define a new command:

\newcommand{\bbrack}[1]{{
\mathchoice
{\left\lbrack\!\!\left\lbrack #1 \right\rbrack\!\!\right\rbrack} % display style
{\left\lbrack\!\left\lbrack #1 \right\rbrack\!\right\rbrack} % text style
{} % script style
{} % scriptscript style
}
}


to handle arbitrary length scalars, vectors, and matrices. This has the added benefit of looking like \llbracket and \rrbracket.

\documentclass{article}

\usepackage{amsmath}
\newcommand{\bbrack}[1]{{
\mathchoice
{\left\lbrack\!\!\left\lbrack #1 \right\rbrack\!\!\right\rbrack} % display style
{\left\lbrack\!\left\lbrack #1 \right\rbrack\!\right\rbrack} % text style
{} % script style
{} % scriptscript style
}
}

\begin{document}

Inline style: $\bbrack{\mathcal{K}, \mathcal{M}}$

With inline small matrix: $\bbrack{ \begin{smallmatrix} M \\ 1 \end{smallmatrix}}$

Finally, normal display style would look like,

$$\bbrack{ \begin{matrix} 0 & D & 0 & 0 & M & 0 & 0 & 0\\ M & 0 & 0 & 0 & M & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & M & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & M & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & M & 0 & 0 & 0\\ 0 & 0 & 1 & \varphi & M & 0 & 0 & 0\\ 0 & 0 & 1 & 0 & M & 0 & \ddots & \vdots \\ 0 & 0 & 1 & 0 & M & 0 & \dots & 0\\ \end{matrix} }$$

\end{document}