# 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等相关函数构建的系统

# 另请参阅

OptimizationSystem