Unverified Commit 7468b4d8 authored by Sébastien Villemot's avatar Sébastien Villemot
Browse files

Remove more stuff related to unfinished decomposition in linear and nonlinear blocks

Ref. #39, dynare!1626
parent af9bd8f1
......@@ -144,7 +144,6 @@ ModelTree::ModelTree(const ModelTree &m) :
blocks{m.blocks},
endo2block{m.endo2block},
eq2block{m.eq2block},
is_equation_linear{m.is_equation_linear},
endo2eq{m.endo2eq},
cutoff{m.cutoff},
mfs{m.mfs}
......@@ -186,7 +185,6 @@ ModelTree::operator=(const ModelTree &m)
eq2block = m.eq2block;
blocks_temporary_terms.clear();
blocks_temporary_terms_idxs.clear();
is_equation_linear = m.is_equation_linear;
endo2eq = m.endo2eq;
cutoff = m.cutoff;
mfs = m.mfs;
......@@ -351,34 +349,6 @@ ModelTree::evaluateAndReduceJacobian(const eval_context_t &eval_context) const
return contemporaneous_jacobian;
}
bool
ModelTree::computeNaturalNormalization()
{
bool bool_result = true;
set<pair<int, int>> result;
endo2eq.resize(equations.size());
for (int eq = 0; eq < static_cast<int>(equations.size()); eq++)
if (!is_equation_linear[eq])
{
BinaryOpNode *eq_node = equations[eq];
expr_t lhs = eq_node->arg1;
result.clear();
lhs->collectDynamicVariables(SymbolType::endogenous, result);
if (result.size() == 1 && result.begin()->second == 0)
{
//check if the endogenous variable has not been already used in an other match !
if (find(endo2eq.begin(), endo2eq.end(), result.begin()->first) == endo2eq.end())
endo2eq[result.begin()->first] = eq;
else
{
bool_result = false;
break;
}
}
}
return bool_result;
}
pair<int, int>
ModelTree::computePrologueAndEpilogue()
{
......
......@@ -210,9 +210,6 @@ protected:
the vector of all temporary terms */
temporary_terms_idxs_t blocks_temporary_terms_idxs;
//! Vector indicating if the equation is linear in endogenous variable (true) or not (false)
vector<bool> is_equation_linear;
//! Computes derivatives
/*! \param order the derivation order
\param vars the derivation IDs w.r.t. which compute the derivatives */
......@@ -296,8 +293,6 @@ protected:
The resulting normalization is stored in endo2eq.
*/
void computeNonSingularNormalization(const jacob_map_t &contemporaneous_jacobian);
//! Try to find a natural normalization if all equations are matched to an endogenous variable on the LHS
bool computeNaturalNormalization();
//! Evaluate the jacobian (w.r.t. endogenous) and suppress all the elements below the cutoff
/*! Returns the contemporaneous_jacobian.
Elements below the cutoff are discarded. External functions are evaluated to 1. */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment