# calculate_gradient
计算系统梯度
函数库: TySymbolicMath
# 语法
calculate_gradient(sys::AbstractSystem)
# 说明
使用 calculate_gradient 计算系统的梯度示例
# 示例
计算优化系统梯度
创建自变量,参数
using TySymbolicMath
using ModelingToolkit
@variables x y
@parameters a b
2-element Vector{Num}:
x
y
2-element Vector{Num}:
a
b
创建表达式
loss = (a - x)^2 + b * (y - x^2)^2
loss = b*((y - (x^2))^2) + (a - x)^2
利用@named 和OptimizationSystem函数将表达式转换为优化系统
@named sys = OptimizationSystem(loss,[x,y],[a,b])
sys = Model sys
States (2):
x
y
Parameters (2):
a
b
计算优化系统梯度
calculate_gradient(sys)
ans = 2-element Vector{Num}:
-2(a - x) - 4b*x*(y - (x^2))
2b*(y - (x^2))
# 输入参数
sys - 系统
sys为第一个参数,由OptimizationSystem、NonlinearSystem等相关函数构建的系统