On Tue, 15 Mar 2016, Sven Schreiber wrote:
 Hi,
 I get errors with lines such as these:
 b.mS = b.mYS * b.S'
 that go away when I write this instead:
 b.mS = b.mYS * transp(b.S)
 (Here "b" is a bundle and the elements are matrices.) 
I suspect there's some unrelated error in the embedding script, or 
perhaps the embedding script triggers a basically unrelated bug, that 
is messing things up. In a simple, minimal context the above works 
fine, as in
<hansl>
bundle b
b.myS = ones(3,2)
b.S = ones(3,2)
b.mS = b.myS * b.S'
printf "\n%4d\n", b.mS
</hansl>
which works just as expected.
 This is with the latest snapshot on Windows. There are several funny
things 
 about this:
 First I (think I) had run this code several weeks ago without errors, but I 
 have to admit I cannot reproduce with which gretl version that would have 
 worked. In any case I think we discussed before that the 
 transposition/apostrophe operator should be legal in this case. 
It should be, yes. Seems to me it is.
 Secondly these code lines are inside an if-block where the condition
 fails, so they are not executed; is it normal that the gretl 
 interpreter also checks these code parts? 
No, you have something very odd going on. If I modify the little 
script above thus:
<hansl>
bundle b
b.myS = ones(3,2) * undef
b.S = ones(3,2)
b.mS = b.myS * b.S'
</hansl>
then naturally it fails with the error message "The symbol 'undef' is 
undefined". However, the following
<hansl>
bundle b
if 0
   b.myS = ones(3,2) * undef
   b.S = ones(3,2)
   b.mS = b.myS * b.S'
endif
</hansl>
runs OK, because the use of "undef" is not reached.
Allin