st: Mata and do files

Hi everyone,
Apologies to anybody who gets this message twice - I just got an email
from Stata telling me my first message was bounced. I checked the
archive and it doesn't appear to have arrived correctly. In any
case...
I am trying to learn some Mata and am having difficult running Mata
code from a do file.
For example I can use the following code interactively, but if I try
run it from the do-file editor I get error r(3000). I have looked
around for an answer in [M] and the Statalist archives to no avail.
sysuse auto, clear
mata
real scalar theta()
{
st_view(a = ., ., "price length weight")
a_cov = variance(a)
a_eigen = symeigensystem(a_cov, X = ., L = .)
return(L[1]/sum(L))
}
theta()
Any help would be greatly appreciated.
Cheers,
Alex Olssen
*
* 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/