# scope/yscale not transforming coordinates?

To my understanding of the documentation, the scope block should transform all coordinates. However, in the following example, only circles themselves are scaled, but not their centers: black circles are without yscale, red ones are with yscale=.5, and are centered at the same points (a), (b):

What is the problem? Am I misunderstanding the docs?

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\tikz{
\coordinate (a) at (0,0);
\coordinate (b) at (0,1);
\draw (a) circle (.5);
\draw (b) circle (.5);
\begin{scope}[red,yscale=.5]
\draw (a) circle (.5);
\draw (b) circle (.5);
\end{scope}
}
\end{document}

-
It's normal : (a) and (b) are defined before the scope – Alain Matthes Dec 16 '11 at 15:21

As Altermundus has already commented, the nodes are defined before the scope. When you are saying (a) it references an actual node, that has a position. Therefore the transformation matrix is not applied to it, that would basically mean the node would have to be moved. The transformation matrix is applied to newly created coordinates. If you were to create the nodes inside of the scope and then refer to them outside of the scope, they would not be moved either.
\draw ([yscale=.5] a) circle (.5);