LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
nonlinear.h
浏览该文件的文档.
1
5#ifndef LMMC_NONLINEAR_H
6#define LMMC_NONLINEAR_H
7
8#include <stddef.h>
9#include "lmmc/numeric.h"
10#include "lmmc/diagnostic.h"
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
23typedef lmmc_real_t (*lmmc_scalar_func_t)(lmmc_real_t x, void* user_data);
24
28typedef lmmc_real_t (*lmmc_scalar_dfunc_t)(lmmc_real_t x, void* user_data);
29
41
53
66
69
72
96 void* user_data,
97 lmmc_real_t left,
98 lmmc_real_t right,
99 const lmmc_nonlinear_config_t* cfg,
100 lmmc_nonlinear_result_t* out_result
101);
102
128 void* user_data,
129 lmmc_real_t x0,
130 const lmmc_nonlinear_config_t* cfg,
131 lmmc_nonlinear_result_t* out_result
132);
133
155 void* user_data,
156 lmmc_real_t x0,
157 lmmc_real_t x1,
158 const lmmc_nonlinear_config_t* cfg,
159 lmmc_nonlinear_result_t* out_result
160);
161
162#ifdef __cplusplus
163}
164#endif
165
166#endif
double lmmc_real_t
Public and internal LMMC real type.
Unified diagnostic events for LMMC operations.
lmmc_diagnostic_sink_t diagnostics
lmmc_nonlinear_failure_t
求根失败原因.
@ LMMC_NONLINEAR_FAILURE_INVALID_BRACKET
@ LMMC_NONLINEAR_FAILURE_NONE
@ LMMC_NONLINEAR_FAILURE_ZERO_DERIVATIVE
@ LMMC_NONLINEAR_FAILURE_SINGULAR_STEP
@ LMMC_NONLINEAR_FAILURE_MAX_ITER
@ LMMC_NONLINEAR_FAILURE_NUMERICAL_ISSUE
lmmc_real_t(*) lmmc_scalar_dfunc_t(lmmc_real_t x, void *user_data)
标量函数导数签名: ,与 lmmc_scalar_func_t 同形参.
lmmc_nonlinear_failure_t failure_reason
lmmc_status_t lmmc_newton_solve(lmmc_scalar_func_t func, lmmc_scalar_dfunc_t dfunc, void *user_data, lmmc_real_t x0, const lmmc_nonlinear_config_t *cfg, lmmc_nonlinear_result_t *out_result)
Newton 法求根.
lmmc_status_t lmmc_nonlinear_default_config(lmmc_nonlinear_config_t *out_cfg)
生成默认配置.
lmmc_status_t lmmc_bisection_solve(lmmc_scalar_func_t func, void *user_data, lmmc_real_t left, lmmc_real_t right, const lmmc_nonlinear_config_t *cfg, lmmc_nonlinear_result_t *out_result)
二分法求根.
lmmc_real_t(*) lmmc_scalar_func_t(lmmc_real_t x, void *user_data)
标量函数签名: .
const char * lmmc_nonlinear_failure_string(lmmc_nonlinear_failure_t reason)
获取失败原因对应的可读字符串.
lmmc_status_t lmmc_secant_solve(lmmc_scalar_func_t func, void *user_data, lmmc_real_t x0, lmmc_real_t x1, const lmmc_nonlinear_config_t *cfg, lmmc_nonlinear_result_t *out_result)
割线法求根.
求根算法配置.
求根结果统计.
数值标量、特殊函数和 FFT 公共接口。
lmmc_status_t
LMMC 库统一返回的状态码.