G. Perendia wrote:
Dear Michel (et al)
On my slower laptop I run few tests and got timings roughly on lines of the
following timings for an 8x8 T matrix and 10,000 loops:
Matlab:
lyapunov_symm.m time = 19.2270 s
Pearlman Matlab disclyap_fast.m time = 13.0280 s
New C++ disclyap_fast DLL:
disclyap_fast_dll_time = 7.8010 sec for tolerance= 1e-16
disclyap_fast_dll_time = 6.5600 sec for tolerance= 1e-12
Best regards
George
----- Original Message -----
From: "Michel Juillard" michel.juillard@ens.fr
To: "G. Perendia" george@perendia.orangehome.co.uk; "List for Dynare
developers" dev@dynare.org
Sent: Wednesday, July 29, 2009 10:33 AM
Subject: Re: [DynareDev] lyapunov kalman filter options
Tanks for the update.
The false value when A contains unit root is a fault of design. The
information on which columns are useable is in the list of stationary
variables,
Best
Michel
G. Perendia wrote:
Dear Michel and Stephane
Re the below warning: the results from lyapunov_symm.m seem now correct -
It
seems that my Matlab variables memory was corrupted and after a reboot and
restart it seems ok now - sorry for the alarm.
It however reports (an incorrect ) X=[0's] instead of indeterminate or
NaN
if I pass a=I.
PS: and I still need to test and debug new C++lyapunov because it may have
been causing the variable corruption.
Best regards
George
----- Original Message -----
From: "Michel Juillard" michel.juillard@ens.fr
To: "G. Perendia" george@perendia.orangehome.co.uk
Cc: "List for Dynare developers" dev@dynare.org
Sent: Wednesday, July 29, 2009 9:27 AM
Subject: lyapunov kalman filter options
I would use lyapunov_tol = 1e-12
(in the example disclyap_fat.m, the criterium is 1e-16)
and
kalman_tol = 1e-12
Both options should be accessible to users and obtained from
options_. The initialization should take place in global_initialization.m
Best
Michel
Errata:
- it is options_.lyapunov_complex_threshold=1e-15 that is passed in
calls
to the
existing lyapunov_symm.m and I can use that as tolerance instead the
original 1e-6 if needed.
Warning:
If I pass a=T=[0] and b=RQR'~0 to lyapunov_symm.m, I get result Pstar
very
different from b although the solution to Lyapunov x-a*x*a' = b is
x=b=RQR'
and both, the new C++ and old matlab disklyap_fast return X=b=RQR as
solution!!
Best regards
George
----- Original Message -----
From: "G. Perendia" george@perendia.orangehome.co.uk
To: "Michel Juillard" michel.juillard@ens.fr; "Stéphane Adjemian"
stephane.adjemian@gmail.com
Sent: Wednesday, July 29, 2009 7:46 AM
Subject: Re: measurement errors + steady KF
Hi Michel, Stephane
What tolerances should we use to pass:
1)for the new fast iterative C++ Lyapunov solution convergence check
if max( max( abs( P1 - P0 ) ) )>tol
The original Joe Pearlman's matlab code used 1e-6. which is same as
Dynare
default ricatti_tol (also used for a similar purpose in calls to the
existing lyapunov_symm.m.). So, shall we use the riccati_tol or set a
separate, lyapunov_tol one at the same default level?
- and, as per below, for the Old style DiffuseLikelihood.m like Pstar
convergence/differences, that has been built into the C++KF i.e.:
notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit);
where crit is options_.kalman_tol = 1.0000e-012 - I guess we can
continue
to use the same
though the new likelihood/kalman_filter*.m suite uses riccati_tol
instead
but for F convergence check.
Best regards
George
Mob. +44(0)7951415480
artilogica@btconnect.com
----- Original Message -----
From: "Michel Juillard" michel.juillard@ens.fr
To: "G. Perendia" george@perendia.orangehome.co.uk; "Stéphane
Adjemian"
stephane.adjemian@gmail.com
Sent: Tuesday, July 14, 2009 11:47 PM
Subject: Re: measurement errors + steady KF
I don't know. This is something that we need to discuss with Stephane.
All the best,
Michel
G. Perendia wrote:
> Thanks Michel
>
> I am finishing algorithm for checking if KF P (and/or K) are steady
>
>
>
for
the
> C++KF.
>
> Old DiffuseLikelihood.m uses Pstar differences, i.e.:
> notsteady = ~(max(max(abs(Pstar-oldPstar)))<crit);
> where crit is options_.kalman_tol = 1.0000e-012
>
> whilst the new kalman_filter.m uses K to check:
> notsteady = max(max(abs(K-oldK))) > riccati_tol;
> where
> K = Pstar*Z'*invF;
> and options_.riccati_tol= 1.0000e-006
>
> Which tolerance (and check) should I use for C++KF?
> I have already built a system using Pstar -oldPstar and that works
>
>
>
well
but
> question is which tolerance to use since riccati seems sufficient for
>
>
>
P
> difference too.
>
> Best regards
>
> George
> Mob. +44(0)7951415480
> artilogica@btconnect.com
>
> ----- Original Message -----
> From: "Michel Juillard" michel.juillard@ens.fr
> To: "G. Perendia" george@perendia.orangehome.co.uk
> Sent: Tuesday, July 14, 2009 6:57 AM
> Subject: Re: measurement errors
>
>
>
>
>
>
>> Hi George,
>>
>> it is like for exogenous variables. If GDP is an endogenous variable
>>
>> estimated_params;
>> stderr GDP, uniform_pdf,,,0,1;
>> ....
>> end;
>>
>> will introduce a measurement error on GDP.
>>
>> Best
>>
>> Michel
>> G. Perendia wrote:
>>
>>
>>
>>
>>> Dear Michel
>>>
>>> For testing Part Info (and the other) Kalman filters, I would need
>>>
>>>
>>>
to
>>> set situation with measurement errors so that H~=0.
>>>
>>> Can you please let me know how one specifies measurement errors
>>> in Dynare for estimation so that H ~ =0?
>>> Best regards
>>>
>>> George
>>> artilogica@btconnect.com mailto:artilogica@btconnect.com
>>>
>>>
>>>
>>>
>
a
Dev mailing list
Dev@dynare.org
http://www.dynare.org/cgi-bin/mailman/listinfo/dev
Dev mailing list
Dev@dynare.org
http://www.dynare.org/cgi-bin/mailman/listinfo/dev