|
JUK1
|
a namespace to hold the messiness of my auto-differentiator More...
Functions | |
| template<typename ValType , size_t NumVars> | |
| requires (std::is_arithmetic< ValType >::value &&NumVars >=0) struct DiffVar | |
| template<typename ValType , size_t NumVars, typename F1 , typename F2 > | |
| requires (std::is_arithmetic< ValType >::value &&NumVars >=0) const expr auto diffFunc(const DiffVar< ValType | |
| while (it1 !=toRet.diffVars.end() &&it2 !=arg.diffVars.end()) | |
| DiffVar< ValType, NumVars > | toRet (derivEval) |
| template<typename ValType , size_t NumVars, typename OT > | |
| requires (std::is_arithmetic< ValType >::value &&NumVars >=0) &&(!std | |
| DiffVar< ValType, NumVars > | toRet (func(arg.var, exponent.var)) |
| DiffVar< ValType, NumVars > | toRet (funcResult) |
Variables | |
| template<typename RT , typename LT , typename OT > | |
| concept | MultipliableResult |
| template<typename RT , typename LT , typename OT > | |
| concept | AddableResult |
| template<typename RT , typename LT , typename OT > | |
| concept | SubtractableResult |
| template<typename RT , typename LT , typename OT > | |
| concept | DivisableResult |
| NumVars & | arg |
| NumVars F1 | func |
| NumVars F1 F2 | deriv |
| auto | it1 = toRet.diffVars.begin() |
| auto | it2 = arg.diffVars.begin() |
| auto | derivEval = deriv(arg.var) |
| return | toRet |
| toRet | var = derivEval |
| NumVars DiffVar< ValType, NumVars > | exponent |
| auto | it3 = exponent.diffVars.begin() |
a namespace to hold the messiness of my auto-differentiator
In essence the idea of this header is to allow easy determination of the jacobian of a non-linear element without having to manually differentiate a function. Sometimes this can also lead to faster implementations than an analytical derivative. The main advantage though, is being able to express the equation once in a natural format.
| AutoDifferentiation::requires | ( | std::is_arithmetic< ValType >::value &&NumVars >= | 0 | ) | && |
Definition at line 368 of file AutoDifferentiation.hpp.
| AutoDifferentiation::requires | ( | std::is_arithmetic< ValType >::value &&NumVars >= | 0 | ) | const |
| AutoDifferentiation::requires | ( | std::is_arithmetic< ValType >::value &&NumVars >= | 0 | ) |
Definition at line 41 of file AutoDifferentiation.hpp.
| DiffVar<ValType, NumVars> AutoDifferentiation::toRet | ( | derivEval | ) |
| DiffVar<ValType, NumVars> AutoDifferentiation::toRet | ( | func(arg.var, exponent.var) | ) |
| DiffVar<ValType, NumVars> AutoDifferentiation::toRet | ( | funcResult | ) |
Definition at line 294 of file AutoDifferentiation.hpp.
| concept AutoDifferentiation::AddableResult |
Definition at line 25 of file AutoDifferentiation.hpp.
| NumVars & AutoDifferentiation::arg |
Definition at line 287 of file AutoDifferentiation.hpp.
| auto AutoDifferentiation::deriv |
Definition at line 288 of file AutoDifferentiation.hpp.
| auto AutoDifferentiation::derivEval = deriv(arg.var) |
Definition at line 293 of file AutoDifferentiation.hpp.
| concept AutoDifferentiation::DivisableResult |
Definition at line 35 of file AutoDifferentiation.hpp.
| NumVars DiffVar<ValType, NumVars> AutoDifferentiation::exponent |
Definition at line 379 of file AutoDifferentiation.hpp.
| NumVars F1 AutoDifferentiation::func |
Definition at line 287 of file AutoDifferentiation.hpp.
| auto AutoDifferentiation::it1 = toRet.diffVars.begin() |
Definition at line 291 of file AutoDifferentiation.hpp.
| auto AutoDifferentiation::it2 = arg.diffVars.begin() |
Definition at line 292 of file AutoDifferentiation.hpp.
| auto AutoDifferentiation::it3 = exponent.diffVars.begin() |
Definition at line 390 of file AutoDifferentiation.hpp.
| concept AutoDifferentiation::MultipliableResult |
Definition at line 20 of file AutoDifferentiation.hpp.
| concept AutoDifferentiation::SubtractableResult |
Definition at line 30 of file AutoDifferentiation.hpp.
| return AutoDifferentiation::toRet |
Definition at line 299 of file AutoDifferentiation.hpp.
Definition at line 363 of file AutoDifferentiation.hpp.