diff --git a/matlab/dr1.m b/matlab/dr1.m index 1dd84cede..d886b768b 100644 --- a/matlab/dr1.m +++ b/matlab/dr1.m @@ -543,7 +543,6 @@ function [dr,info,M_,options_,oo_] = dr1(dr,task,M_,options_,oo_) zx=[zx; zeros(M_.exo_nbr,np);zeros(M_.exo_det_nbr,np)]; zu=[zu; eye(M_.exo_nbr);zeros(M_.exo_det_nbr,M_.exo_nbr)]; [nrzx,nczx] = size(zx); - hessian = sparse(hessian); rhs = -sparse_hessian_times_B_kronecker_C(hessian,zx); %lhs diff --git a/preprocessor/ModelTree.cc b/preprocessor/ModelTree.cc index 026658793..7a1cb8969 100644 --- a/preprocessor/ModelTree.cc +++ b/preprocessor/ModelTree.cc @@ -1657,8 +1657,10 @@ ModelTree::writeDynamicCFile(const string &dynamic_basename) const << " g2 = NULL;" << endl << " if (nlhs >= 3)" << endl << " {" << endl - << " /* Set the output pointer to the output matrix g2. */" << endl - << " plhs[2] = mxCreateDoubleMatrix(" << equations.size() << ", " << variable_table.getDynJacobianColsNbr(computeJacobianExo)*variable_table.getDynJacobianColsNbr(computeJacobianExo) << ", mxREAL);" << endl + << " /* Set the output pointer to the output matrix g2. */" << endl; + int g2_ncols = variable_table.getDynJacobianColsNbr(computeJacobianExo)*variable_table.getDynJacobianColsNbr(computeJacobianExo); + mDynamicModelFile << " plhs[2] = mxCreateSparse(" << equations.size() << ", " << g2_ncols << ", " + << 5*g2_ncols << ", mxREAL);" << endl << " /* Create a C pointer to a copy of the output matrix g1. */" << endl << " g2 = mxGetPr(plhs[2]);" << endl << " }" << endl