[Tex/LaTex] Horizontal bar in matrix to indicate row vector

matrices

To indicate that a vector represents a column of a matrix, we can write

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[paper=letterpaper,margin=1.5in]{geometry}
\usepackage{amsmath, amssymb, amsthm}
\begin{document}

\[
\begin{bmatrix}
    \vert & \vert \\
    \vec{u} & \vec{v} \\
    \vert & \vert
\end{bmatrix}
\]

\end{document}

To achieve Vertical indicator

How can I do the same to indicate a vector represents a row (looks like Horizontal Indicator)?

Detexify doesn't return anything that looks like what I want (it thinks I'm drawing an underscore).

Best Answer

You can rotate a \vert, so you get the same thickness.

\documentclass{article}
\usepackage{amsmath}
\usepackage{graphicx}

\newcommand{\brows}[1]{%
  \begin{bmatrix}
  \begin{array}{@{\protect\rotvert\;}c@{\;\protect\rotvert}}
  #1
  \end{array}
  \end{bmatrix}
}
\newcommand{\rotvert}{\rotatebox[origin=c]{90}{$\vert$}}
\newcommand{\rowsvdots}{\multicolumn{1}{@{}c@{}}{\vdots}}

\begin{document}

\[
\begin{bmatrix}
    \vert & \vert \\
    \vec{u} & \vec{v} \\
    \vert & \vert
\end{bmatrix}
+
\brows{a_1^T \\ a_2^T \\ \rowsvdots \\ a_n^T}
\]

\end{document}

enter image description here