I agree strongly with Kit's approach here. It's been several years since
I reached for -svmat-. 
However, Kit just plucked a program name out of the air, and
understandably forgot that the name -svmat2- was also used a while back
for a program in this territory which is not yet completely superseded. 
. search svmat2, historical 
gives the details. StataCorp's implication in its .key file coding that
-svmat2- is of historical interest only is not quite correct. Questions
to which "use -svmat2-" is the answer still arise about once per year on
Statalist. 
So, I suggest the use of some other name. 
Nick 
[email protected] 
Christopher Baum
Just avoid it entirely and do it in Mata:
mata:mata clear
mata:
void function mm_svmat2(string scalar mat, string scalar vlist)
{
	m = st_matrix(mat)
	vv = tokens(vlist)
	st_view(X=., 1::rows(m), vv)
	X[. , .] = m
}
end
program drop _all
prog svmat2
syntax anything [,stub(string)]
local vn = cond("`stub'" == "", "var", "`stub'")
scalar nc = colsof(`anything')
forv i=1/`=nc' {
	local vname "`vn'`i'"
	qui gen double `vname' = .
	local vl "`vl' `vname'"
}
mata: mm_svmat2("`anything'","`vl'")
end
webuse auto, clear
qui corr price mpg headroom trunk weight length
mat corr=r(C)
svmat2 corr
svmat2 corr, stub(sergiy)
su
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/