Skip to content
Snippets Groups Projects
Select Git revision
  • c3608b9ba72afa7b88546187d166da881feb2239
  • master default protected
  • nlf-fixes
  • DSMH
  • OneStep2
  • SMC
  • online-filter-as-a-sampler
  • nonlinear-filter-fixes
  • SMCsamplers
  • smc-sampler
  • 4.5
  • dynamic-striated
  • occbin
  • exo_steady_state
  • filter_initial_state
  • declare_vars_in_model_block
  • exceptions
  • rmExtraExo
  • julia
  • error_msg_undeclared_model_vars
  • static_aux_vars
  • 4.5.6
  • 4.5.5
  • 4.5.4
  • 4.5.3
  • 4.5.2
  • 4.5.1
  • 4.5.0
  • 4.4.3
  • 4.4.2
  • 4.4.1
  • 4.4.0
  • 4.4-beta1
  • 4.3.3
  • 4.3.2
  • 4.3.1
  • 4.3.0
  • 4.2.5
  • 4.2.4
  • 4.2.3
  • 4.2.2
41 results

ComputingTasks.cc

Blame
  • Forked from Dynare / dynare
    Source project has a limited visibility.
    SPExact_shift.m 1.39 KiB
    function [h,q,iq,nexact] = SPExact_shift(h,q,iq,qrows,qcols,neq)
    % [h,q,iq,nexact] = exact_shift(h,q,iq,qrows,qcols,neq)
    %
    % Compute the exact shiftrights and store them in q.
    
    % Original author: Gary Anderson
    % Original file downloaded from:
    % http://www.federalreserve.gov/Pubs/oss/oss4/code.html
    % Adapted for Dynare by Dynare Team.
    %
    % This code is in the public domain and may be used freely.
    % However the authors would appreciate acknowledgement of the source by
    % citation of any of the following papers:
    %
    % Anderson, G. and Moore, G.
    % "A Linear Algebraic Procedure for Solving Linear Perfect Foresight
    % Models."
    % Economics Letters, 17, 1985.
    %
    % Anderson, G.
    % "Solving Linear Rational Expectations Models: A Horse Race"
    % Computational Economics, 2008, vol. 31, issue 2, pages 95-113
    %
    % Anderson, G.
    % "A Reliable and Computationally Efficient Algorithm for Imposing the
    % Saddle Point Property in Dynamic Models"
    % Journal of Economic Dynamics and Control, 2010, vol. 34, issue 3,
    % pages 472-489
    
    
    %hs=SPSparse(h);
    hs=sparse(h);
    nexact = 0;
    left   = 1:qcols;
    right  = qcols+1:qcols+neq;
    zerorows = find( sum(abs( hs(:,right)' ))==0 );
    
    while( any(zerorows) && iq <= qrows )
       nz = length(zerorows);
       q(iq+1:iq+nz,:) = hs(zerorows,left);
       hs(zerorows,:)   = SPShiftright(hs(zerorows,:),neq);
       iq     = iq + nz;
       nexact = nexact + nz;
       zerorows = find( sum(abs( hs(:,right)' ))==0 );
    end
    h=full(hs);