Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dóra Kocsis
dynare
Commits
be983fa3
Commit
be983fa3
authored
Nov 05, 2013
by
Sébastien Villemot
Browse files
Merge pull request #518 from JohannesPfeifer/check_covariance
Add function to check covariances for consistency
parents
ac8303ed
68a33a76
Changes
2
Hide whitespace changes
Inline
Side-by-side
matlab/check_consistency_covariances.m
0 → 100644
View file @
be983fa3
function
correct_flag
=
check_consistency_covariances
(
Covariance_matrix
)
% function check_consistency_covariances(Covariance_matrix)
% checks consistency of covariance matrices by checking whether the
% covariances imply correlations bigger than 1.
%
% Outputs: correct_flag [scalar] 0 if not consistent, 1 otherwise
% Inputs: Covariance_matrix [matrix] covariance matrix to be checked
% Copyright (C) 2013 Dynare Team
%
% This file is part of Dynare.
%
% Dynare is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License as published by
% the Free Software Foundation, either version 3 of the License, or
% (at your option) any later version.
%
% Dynare is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with Dynare. If not, see <http://www.gnu.org/licenses/>.
%compute theoretical bound by assuming correlation of 1
bound
=
diag
(
sqrt
(
diag
(
Covariance_matrix
)))
*
ones
(
size
(
Covariance_matrix
))
*
diag
(
sqrt
(
diag
(
Covariance_matrix
)));
correct_flag
=
1
;
if
any
(
any
(
tril
(
Covariance_matrix
,
-
1
)
>
bound
))
||
any
(
any
(
tril
(
Covariance_matrix
,
-
1
)
<-
bound
))
correct_flag
=
0
;
end
\ No newline at end of file
matlab/check_model.m
View file @
be983fa3
...
...
@@ -30,4 +30,13 @@ end
if
(
DynareModel
.
exo_det_nbr
>
0
)
&&
(
DynareModel
.
maximum_lag
>
1
||
DynareModel
.
maximum_lead
>
1
)
error
([
'Exogenous deterministic variables are currently only allowed in'
...
' models with leads and lags on only one period'
])
end
if
~
check_consistency_covariances
(
DynareModel
.
Sigma_e
)
error
(
'The specified covariances for the structural errors are not consistent with the variances as they imply a correlation larger than +-1'
)
end
if
~
isequal
(
DynareModel
.
H
,
0
)
if
~
check_consistency_covariances
(
DynareModel
.
H
)
error
(
'The specified covariances for the measurement errors are not consistent with the variances as they imply a correlation larger than +-1'
)
end
end
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment