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
> Mob. +44(0)7951415480
> artilogica(a)btconnect.com
>
> ----- Original Message -----
> From: "Michel Juillard" <michel.juillard(a)ens.fr>
> To: "G. Perendia" <george(a)perendia.orangehome.co.uk>
> Cc: "List for Dynare developers" <dev(a)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:
>>> 1) 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
>>> Mob. +44(0)7951415480
>>> artilogica(a)btconnect.com
>>>
>>> ----- Original Message -----
>>> From: "G. Perendia" <george(a)perendia.orangehome.co.uk>
>>> To: "Michel Juillard" <michel.juillard(a)ens.fr>; "Stéphane Adjemian"
>>> <stephane.adjemian(a)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?
>>>>
>>>> 2) 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(a)btconnect.com
>>>>
>>>> ----- Original Message -----
>>>> From: "Michel Juillard" <michel.juillard(a)ens.fr>
>>>> To: "G. Perendia" <george(a)perendia.orangehome.co.uk>; "Stéphane
>>>>
> Adjemian"
>
>>>> <stephane.adjemian(a)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(a)btconnect.com
>>>>>>
>>>>>> ----- Original Message -----
>>>>>> From: "Michel Juillard" <michel.juillard(a)ens.fr>
>>>>>> To: "G. Perendia" <george(a)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
>>>>>>>> Mob. +44(0)7951415480
>>>>>>>> artilogica(a)btconnect.com <mailto:artilogica@btconnect.com>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>>
>>>>> a
>>>>>
>>>>>
>>>>>
>>>
>>>
>>>
>>>
>>
>
>
>
>