If not closed, then this might as well have an answer. Here are a few ways of producing, for example, the second matrix above:
\documentclass{article}
\usepackage{blkarray}
\usepackage{amsmath}
\begin{document}
\[
\begin{blockarray}{ccc}
& U &\\
\begin{block}{[ccc]}
u_{1,1} & \cdots & u_{1,r}\\
\vdots & \ddots & \vdots\\
u_{m,1} & \cdots & u_{m,r}\\
\end{block}
& m\times r& \\
\end{blockarray}
\]
\[
\begin{array}{c}
U\\
\left[\begin{array}{ccc}
u_{1,1} & \cdots & u_{1,r}\\
\vdots & \ddots & \vdots\\
u_{m,1} & \cdots & u_{m,r}\\
\end{array}\right]\\
m\times r
\end{array}
\]
\[
\begin{array}{c}
U\\
\begin{bmatrix}
u_{1,1} & \cdots & u_{1,r}\\
\vdots & \ddots & \vdots\\
u_{m,1} & \cdots & u_{m,r}\\
\end{bmatrix}\\
m\times r
\end{array}
\]
Which give, respectively:

To my eye, the third option produces the best spacing. However, the second two methods work only by virtue of the underset and overset text being in the center column. If it were in a different column, then the first method might be modified to give better spacing, or one of the answers linked in the comments might be preferable.
\underbrace{\begin{pmatrix}...\end{pmatrix} }_{V_T}to distinguish different elements. You can try partitioningU,S,Vmatrices and show the reduced SVD with those partitioned matrices. – percusse Jun 03 '12 at 21:17\vdotsfor vertical dots,\cdotsfor centred dots, and\ddotsfor diagonal dots. – Scott H. Jun 03 '12 at 21:29