chore: 添加散度
This commit is contained in:
@@ -51,6 +51,17 @@ ADResult diff(const Func f, Args... args) {
|
||||
for (auto& in : inputs)
|
||||
res.gradient.push_back(in.gradient());
|
||||
|
||||
// 散度
|
||||
res.divergence = 0.0;
|
||||
for (const auto& g : res.gradient) res.divergence += g;
|
||||
|
||||
// 旋度
|
||||
// 标量场的旋度始终为0
|
||||
res.curl.resize(inputs.size());
|
||||
for (size_t i = 0; i < inputs.size(); ++i) {
|
||||
res.curl[i] = 0.0; // 标量场的旋度为0
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
} // namespace backwardad
|
||||
Reference in New Issue
Block a user