Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

st: Mata problem with nonreals [was: Re: Mata finds nonreal although I can't find a no nonreal]


From   Dirk Enzmann <[email protected]>
To   [email protected]
Subject   st: Mata problem with nonreals [was: Re: Mata finds nonreal although I can't find a no nonreal]
Date   Tue, 27 Dec 2011 13:51:24 +0100

The title of my first mail had an error and was misleading: It should have been

"Mata rinds nonreal although I can't find a nonreal", even better:
"Why does Mata report nonreals?"

I still have no answer to my question but found a way to get rid of the complaint about nonreals: When inserting next to the command line that computes A1 via

A1 = S1*(V1:/sqrt(eigv1))*V1'

the command line

A1 = sign(P1):*abs(A1)

Mata does no longer complain about the mysterious nonreals. Of course, this is no solution because this is may change the signs of the matrix elements in A1 if RF1 is not an identity matrix.

Thus, a suggestion on how to solve the problem is highly appreciated.

Dirk


Am 27.12.2011 04:14, schrieb Dirk Enzmann:

I just encountered the problem that Mata gives me the error message

invsym(): 3253 nonreal found where real required
<istmt>: - function returned error

although I believe that there is no nonreal value in the matrix.

Below is the code that produces the error in the line

W1 = A1*invsym(A1'*A1)

Note that P1, S1, and A1 should contain the same values due to the fact
that RF1 is an identity matrix - if I replace A1 by P1 Mata behaves as
it should. If you ask why I use RF1 like that: I am testing whether the
special case of a zero correlation is handled correctly - if I insert
values such as .05 in the off-diagonal cells, Mata keeps complaining
about nonreal values.

Any suggestions for a solution of this problem?

* -------- (start) ----------
mata
P1 = ( .43506, .44920 \
.68702, .06891 \
.77649, -.09335 \
-.60949, .27331 \
.02898, .65232 \
-.16600, .43717 \
.82794, -.04080 \
.79320, -.11331 \
-.04388, .62171 \
.03556, .71095 \
.08361, .75362 \
-.23253, .58472 \
.71299, -.20058 \
-.19725, .55294 \
.51660, .03276 )
RF1 = ( 1.00, .00 \
.00, 1.00 )
S1 = P1*RF1
S1
V1 = NULL
eigv1 = NULL
eigensystem(RF1,V1,eigv1)
A1 = S1*(V1:/sqrt(eigv1))*V1'
A1
rssqA1 = diagonal(A1*A1')
rssqA1
cssqA1 = diagonal(A1'*A1)
cssqA1
W1 = A1*invsym(A1'*A1)
W1
end
* -------- (end) ------------

Dirk

========================================
Dr. Dirk Enzmann
Institute of Criminal Sciences
Dept. of Criminology
Rothenbaumchaussee 33
D-20148 Hamburg
Germany

phone: +49-(0)40-42838.7498 (office)
+49-(0)40-42838.4591 (Mrs Billon)
fax: +49-(0)40-42838.2344
email: [email protected]
http://www2.jura.uni-hamburg.de/instkrim/kriminologie/Mitarbeiter/Enzmann/Enzmann.html

========================================

--
========================================
Dr. Dirk Enzmann
Institute of Criminal Sciences
Dept. of Criminology
Rothenbaumchaussee 33
D-20148 Hamburg
Germany

phone: +49-(0)40-42838.7498 (office)
       +49-(0)40-42838.4591 (Mrs Billon)
fax:   +49-(0)40-42838.2344
email: [email protected]
http://www2.jura.uni-hamburg.de/instkrim/kriminologie/Mitarbeiter/Enzmann/Enzmann.html
========================================
*
*   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index