| 5 | namespace Variational { |
| 6 | |
| 7 | MatrixXd eval(var root, bool iter){ |
| 8 | expression exp(root); |
| 9 | if(iter) |
| 10 | return exp.propagate(exp.findLeaves()); |
| 11 | else |
| 12 | return exp.propagate(); |
| 13 | } |
| 14 | |
| 15 | void back(const var& root, |
| 16 | std::unordered_map<var, MatrixXd>& derivative){ |