LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
optimize_gradient.c 文件参考
optimize_gradient.c 的引用(Include)关系图:

浏览该文件的源代码.

函数

lmmc_status_t lmmc_minimize_gradient_descent (lmmc_opt_obj_t obj, lmmc_opt_grad_t grad, void *user_data, lmmc_vec_t *x, const lmmc_optimize_config_t *cfg, lmmc_optimize_result_t *out)
 梯度下降法(带 Armijo 回溯线搜索)。

函数说明

◆ lmmc_minimize_gradient_descent()

lmmc_status_t lmmc_minimize_gradient_descent ( lmmc_opt_obj_t obj,
lmmc_opt_grad_t grad,
void * user_data,
lmmc_vec_t * x,
const lmmc_optimize_config_t * cfg,
lmmc_optimize_result_t * out )

梯度下降法(带 Armijo 回溯线搜索)。

参数
[in]obj目标函数回调。
[in]grad梯度回调。
[in]user_data传递给回调的用户数据。
[in,out]x初始猜测 / 输出解。
[in]cfg算法配置。
[out]out迭代结果。
返回
::LMMC_STATUS_OK(通过 out->converged 判断是否收敛)。
副作用
  • 就地修改 x->data。
  • 分配并释放临时向量。多次调用 obj 和 grad 回调。

在文件 optimize_gradient.c 第 3 行定义.

引用了 lmmc_opt_workspace_t::allocation, lmmc_vec_t::data, lmmc_optimize_result_t::failure_reason, lmmc_optimize_result_t::final_residual, lmmc_memory_free(), lmmc_minimize_gradient_descent(), LMMC_OPT_FAILURE_LINE_SEARCH_FAILED, LMMC_OPT_FAILURE_NUMERICAL_ISSUE, lmmc_opt_workspace_create(), lmmc_opt_workspace_vector(), lmmc_optimize_arguments_valid(), lmmc_optimize_armijo(), lmmc_optimize_emit(), lmmc_optimize_norm(), lmmc_optimize_result_init(), lmmc_optimize_stop(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_optimize_result_t::num_iter , 以及 lmmc_vec_t::size.

被这些函数引用 lmmc_minimize_gradient_descent().

函数调用图:
这是这个函数的调用关系图: