XLatexIt! run report...
*** Found expression $\frac { n(n-1) }{ 2 } $
Update 2:
There is a small bug in the SVAR package when writing the free parameters into the model (in the last step).
Just run the hansl snippet.

I found 2 typos in the help pdf for the SVAR package, and the references are only "?" (a bibtex problem):
1. p10 under 2.4: it's $\frac { n(n-1)
      }{ 2 } $ restrictions
2. p. 21 under SVAR.cumulate: Stores into the model

<hansl>
open sw_ch14.gdt
genr infl = 400*ldiff(PUNEW)
rename LHUR unemp
list X = unemp infl
list Z = const

var 3 X Z --silent
Sigma = $sigma
C = cholesky(Sigma)
print Sigma C
# load the SVAR package
include SVAR.gfn
# set up the SVAR

Mod = SVAR_setup("C", X, Z, 3)
# Specify the constraints on C
SVAR_restrict(&Mod, "C", 1, 2, 0)
# Estimate
SVAR_estimate(&Mod)

Mod_Plain = SVAR_setup("plain", X, Z, 3)
SVAR_estimate(&Mod_Plain)
<hansl>
Update:
imp2exp: implicit to explicit :-)

Pindar <pindar777@gmail.com>:

Hi there,

the SVAR analysis is a powerful tool and Jack's SVAR package already in it's present state is magnificent!
At the moment I'm working through it step by step. My ultimate goal is to perform a 'Structural vector autoregressions with
nonnormal residuals' by Lütkepohl (see attached file). Unfortunately his examples are SVECMs which makes the stuff even more complicated.
However, while learning from the 'SVAR code' and with Lütkepohl's book 'New Introduction to Multiple Time Series Analysis' I came across the following questions:

a) In his book on page 367 (section 9.1.3) the Rd matrix (following the notation of Jack) seems to me wrong.
b) Is it in order to use 'abs(nullspace(R))~R'invpd(R*R')*d' instead of the things done in imp2exp (and btw. exp stands for expansion, or, and imp for ?)

<hansl>
nulldata 10
include SVAR.gfn
#example 
matrix R_Luedkepohl={1,0,0,0,0,0,0,0,0;0,0,1,0,0,0,0,0,0;0,0,0,0,1,0,0,0,0;0,0,0,0,0,1,0,0,0;0,1,0,0,0,0,1,0,0;0,0,0,0,0,0,0,0,1}
eval R_Luedkepohl
matrix R={1,0,0,0,0,0,0,0,0;0,0,1,0,0,0,0,0,0;0,0,0,0,1,0,0,0,0;0,0,0,0,0,1,0,0,0;0,0,0,0,0,0,1,0,0;0,0,0,0,0,0,0,0,1}
eval R
matrix R_orth={0,0,0;1,0,0;0,0,0;0,1,0;0,0,0;0,0,0;0,0,0;0,0,1;0,0,0}
eval R_orth
eval R*R_orth
matrix d ={1;0;1;0;0;1}
matrix Rd=R~d
eval imp2exp(Rd)
matrix s = R'invpd(R*R')*d
eval abs(nullspace(R))~s
<hansl>

Cheers
Leon
<cesifo1_wp1651.pdf>