From 8982f140e2db55ce135c69a8adf85de9edc27279 Mon Sep 17 00:00:00 2001
From: Michel Juillard <michel.juillard@mjui.fr>
Date: Sun, 20 Nov 2011 15:13:05 +0100
Subject: [PATCH] added an error if periods in
 conditional_variance_decomposition option are not strictly positive. (cherry
 picked from commit 40cc11385a1d847de054745004600989c3a90e38)

---
 doc/dynare.texi                             | 6 +++---
 matlab/conditional_variance_decomposition.m | 5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/doc/dynare.texi b/doc/dynare.texi
index 135b45dc2..8a6063e7a 100644
--- a/doc/dynare.texi
+++ b/doc/dynare.texi
@@ -2901,16 +2901,16 @@ See below.
 
 @item conditional_variance_decomposition = [@var{INTEGER1} @var{INTEGER2} @dots{}]
 Computes a conditional variance decomposition for the specified
-period(s). Conditional variances are given by
+period(s). The periods must be strictly positive. Conditional variances are given by
 @math{var(y_{t+k}|t)}. For period 1, the conditional variance
 decomposition provides the decomposition of the effects of shocks upon
 impact. The results are stored in
-@var{oo_.conditional_variance_decomposition}
+@code{oo_.conditional_variance_decomposition}
 (@pxref{oo_.conditional_variance_decomposition}).
 
 @item pruning
 Discard higher order terms when iteratively computing simulations of
-the solution, as in @cite{Schaumburg and Sims (2008)}.
+the solution, as in @cite{Kim, Kim, Schaumburg and Sims (2008)}.
 
 @item partial_information
 @anchor{partial_information}
diff --git a/matlab/conditional_variance_decomposition.m b/matlab/conditional_variance_decomposition.m
index b9893ad4e..806fe94ba 100644
--- a/matlab/conditional_variance_decomposition.m
+++ b/matlab/conditional_variance_decomposition.m
@@ -33,6 +33,11 @@ function ConditionalVarianceDecomposition = conditional_variance_decomposition(S
 % You should have received a copy of the GNU General Public License
 % along with Dynare.  If not, see <http://www.gnu.org/licenses/>.
 
+if any(Steps <= 0)
+    error(['Conditional variance decomposition: All periods must be strictly ' ...
+           'positive'])
+end
+
 number_of_state_innovations = ...
     StateSpaceModel.number_of_state_innovations;
 transition_matrix = StateSpaceModel.transition_matrix;
-- 
GitLab