Ergänzend zur sehr guten Antwort von cis hier eine Lösung, wo man die originalen Matrizen von amsmath weiterhin verwenden kann, und überlagernd die Linie hineinzeichnet. Ich habe die Linie als Makro definiert, im Code ruft man dann nur `\tikzmark` und das Linienkommando auf. Hat man mehrere Matrizen, kann man ja verschiedene Namen für die nodes festlegen.
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\newcommand*{\verticalline}[2]{%
\begin{tikzpicture}[remember picture, overlay]
\draw [densely dashed] ($(pic cs:#1) + (1ex,1.8ex)$)
-- ($(pic cs:#2) + (1ex,-0.3ex)$);
\end{tikzpicture}
}
\begin{document}
\[
\begin{pmatrix}
1 & 0 & 0 \tikzmark{oben} & x \\
0 & 1 & 0 & y \\
0 & 0 & 1 \tikzmark{unten} & z
\end{pmatrix}
\]
\verticalline{oben}{unten}
\end{document}
![Matrix mit Linie][1]
[1]: http://texwelt.de/wissen/upfiles/matrix-linie.pnghttp://texwelt.de/wissen/upfiles/matrix-linie_1.png