|
LMMC
Lamina Mathematic core
|
基础统计量与组合数学接口。 更多...
| void lmmc_stats_factorial | ( | lmmc_real_t * | out_val, |
| uint32_t | n ) |
计算 \(n!\) ,溢出时按 IEEE-754 规则返回 inf 。
在文件 statistics_combinatorics.c 第 13 行定义.
引用了 LMMC_REAL_SET, LMMC_REAL_SET_D , 以及 lmmc_stats_factorial().
被这些函数引用 lmmc_stats_factorial().
| void lmmc_stats_npr | ( | lmmc_real_t * | out_val, |
| uint32_t | n, | ||
| uint32_t | r ) |
计算排列数 \(P(n,r)=n!/(n-r)!\) 。
在文件 statistics_combinatorics.c 第 29 行定义.
引用了 LMMC_REAL_SET, LMMC_REAL_SET_D , 以及 lmmc_stats_npr().
被这些函数引用 lmmc_stats_npr().
| void lmmc_stats_ncr | ( | lmmc_real_t * | out_val, |
| uint32_t | n, | ||
| uint32_t | r ) |
计算组合数 \(C(n,r)=\binom{n}{r}\) 的近似 binary64 值。 r>n 返回 0;r=0 或 r=n 返回 1。乘除递推处理可溢出的中间乘积, 仅最终结果不可表示时返回正 inf。输出为 NULL 时直接返回。
尾数乘积小于 2^32;完成除法归一化后再检查结果可表示性。
在文件 statistics_combinatorics.c 第 49 行定义.
引用了 LMMC_REAL_SET_D , 以及 lmmc_stats_ncr().
被这些函数引用 lmmc_stats_ncr().
| lmmc_status_t lmmc_vec_mean | ( | const lmmc_vec_t * | x, |
| lmmc_real_t * | out_mean ) |
计算向量样本均值 \(\bar{x} = \frac{1}{n}\sum_{i=1}^{n} x_i\) 。
使用在线均值更新;当 x-mean 溢出时切换到等价的有限凸组合,因此 只要最终均值可表示,就不会因为原始总和、极差或无关的方差溢出而失败。
| [in] | x | 输入有限向量,size >= 1。 |
| [out] | out_mean | 输出均值。 |
在文件 statistics_descriptive.c 第 402 行定义.
引用了 lmmc_vec_t::data, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, lmmc_vec_mean() , 以及 lmmc_vec_t::size.
被这些函数引用 lmmc_std_stats_mean() , 以及 lmmc_vec_mean().
| lmmc_status_t lmmc_vec_variance_population | ( | const lmmc_vec_t * | x, |
| lmmc_real_t * | out_variance ) |
总体方差 \(\sigma^2 = \frac{1}{n}\sum (x_i-\bar{x})^2\) 。
在文件 statistics_descriptive.c 第 410 行定义.
引用了 lmmc_vec_variance_population().
被这些函数引用 lmmc_vec_variance_population().
| lmmc_status_t lmmc_vec_variance_sample | ( | const lmmc_vec_t * | x, |
| lmmc_real_t * | out_variance ) |
计算样本方差 \(s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})^2\) 。
使用 Bessel 校正(除以 n-1),要求至少 2 个样本。
| [in] | x | 输入向量,size >= 2。 |
| [out] | out_variance | 输出样本方差。 |
在文件 statistics_descriptive.c 第 414 行定义.
引用了 lmmc_vec_variance_sample().
被这些函数引用 lmmc_std_stats_var() , 以及 lmmc_vec_variance_sample().
| lmmc_status_t lmmc_vec_stddev_population | ( | const lmmc_vec_t * | x, |
| lmmc_real_t * | out_stddev ) |
总体标准差。 缩放计算支持方差超出 binary64 范围的情况。 输入非有限或标准差结果溢出时返回 ::LMMC_STATUS_NUMERICAL_FAILURE。
在文件 statistics_descriptive.c 第 418 行定义.
引用了 lmmc_vec_stddev_population().
被这些函数引用 lmmc_vec_stddev_population().
| lmmc_status_t lmmc_vec_stddev_sample | ( | const lmmc_vec_t * | x, |
| lmmc_real_t * | out_stddev ) |
样本标准差,要求 n>=2 。 缩放计算支持方差超出 binary64 范围的情况。 输入非有限或标准差结果溢出时返回 ::LMMC_STATUS_NUMERICAL_FAILURE。
在文件 statistics_descriptive.c 第 422 行定义.
被这些函数引用 lmmc_std_stats_std() , 以及 lmmc_vec_stddev_sample().
| lmmc_status_t lmmc_vec_covariance_population | ( | const lmmc_vec_t * | x, |
| const lmmc_vec_t * | y, | ||
| lmmc_real_t * | out_covariance ) |
总体协方差 \(\mathrm{Cov}(X,Y)\) 。
在文件 statistics_descriptive.c 第 426 行定义.
引用了 lmmc_vec_covariance_population().
被这些函数引用 lmmc_vec_covariance_population().
| lmmc_status_t lmmc_vec_covariance_sample | ( | const lmmc_vec_t * | x, |
| const lmmc_vec_t * | y, | ||
| lmmc_real_t * | out_covariance ) |
样本协方差,要求 n>=2 。
在文件 statistics_descriptive.c 第 430 行定义.
引用了 lmmc_vec_covariance_sample().
被这些函数引用 lmmc_std_stats_cov() , 以及 lmmc_vec_covariance_sample().
| lmmc_status_t lmmc_vec_correlation_population | ( | const lmmc_vec_t * | x, |
| const lmmc_vec_t * | y, | ||
| lmmc_real_t * | out_correlation ) |
总体 Pearson 相关系数。
两列分别平移原点、按二进制缩放,再缩放中心偏差;以联合补偿累计 修正中心矩,在缩放域完成零分配计算。 常量列或非有限输入返回 ::LMMC_STATUS_NUMERICAL_FAILURE; 输出仅成功时写入,仅将舍入误差范围内的越界结果截断至 [-1,1]。
在文件 statistics_descriptive.c 第 434 行定义.
引用了 lmmc_vec_correlation_population().
被这些函数引用 lmmc_vec_correlation_population().
| lmmc_status_t lmmc_vec_correlation_sample | ( | const lmmc_vec_t * | x, |
| const lmmc_vec_t * | y, | ||
| lmmc_real_t * | out_correlation ) |
样本 Pearson 相关系数;使用同一缩放累计路径,要求 n>=2。
在文件 statistics_descriptive.c 第 438 行定义.
引用了 lmmc_vec_correlation_sample().
被这些函数引用 lmmc_std_stats_corr() , 以及 lmmc_vec_correlation_sample().
| lmmc_status_t lmmc_mat_column_mean | ( | const lmmc_mat_t * | x, |
| lmmc_vec_t * | out_means ) |
计算矩阵各列均值,输出长度为 x->cols 的向量。
矩阵 x 的每行视为一次观测样本;每列复用向量均值的溢出安全在线 更新,不分配临时存储。
在文件 statistics_descriptive.c 第 442 行定义.
引用了 lmmc_mat_t::cols, lmmc_vec_t::data, lmmc_mat_column_mean(), LMMC_STATUS_DIMENSION_MISMATCH, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 lmmc_vec_t::size.
被这些函数引用 lmmc_mat_column_mean().
| lmmc_status_t lmmc_mat_covariance_population | ( | const lmmc_mat_t * | x, |
| lmmc_mat_t * | out_covariance ) |
计算总体协方差矩阵(cols × cols)。
在文件 statistics_descriptive.c 第 455 行定义.
引用了 lmmc_mat_covariance_population().
被这些函数引用 lmmc_mat_covariance_population().
| lmmc_status_t lmmc_mat_covariance_sample | ( | const lmmc_mat_t * | x, |
| lmmc_mat_t * | out_covariance ) |
计算样本协方差矩阵(cols × cols),要求行数 >= 2 。
输出矩阵 out_covariance 的 (i,j) 元素为第 i 列与第 j 列的样本协方差。 使用 Bessel 校正(除以 rows-1)。
| [in] | x | 输入矩阵,rows >= 2,每行为一次观测。 |
| [out] | out_covariance | 输出协方差矩阵,大小 cols × cols,调用方需预分配。 |
out_covariance 矩阵的全部元素。在文件 statistics_descriptive.c 第 459 行定义.
引用了 lmmc_mat_covariance_sample().
被这些函数引用 lmmc_mat_covariance_sample().
| lmmc_status_t lmmc_mat_correlation_population | ( | const lmmc_mat_t * | x, |
| lmmc_mat_t * | out_correlation ) |
计算总体 Pearson 相关矩阵。
对每对列使用原点平移、二进制缩放及联合修正中心矩,在缩放域完成 零分配计算。常量列(包括对角项)或非有限输入返回 ::LMMC_STATUS_NUMERICAL_FAILURE。
在文件 statistics_descriptive.c 第 463 行定义.
引用了 lmmc_mat_correlation_population().
被这些函数引用 lmmc_mat_correlation_population().
| lmmc_status_t lmmc_mat_correlation_sample | ( | const lmmc_mat_t * | x, |
| lmmc_mat_t * | out_correlation ) |
使用同一缩放路径计算样本 Pearson 相关矩阵,要求行数 >= 2。
在文件 statistics_descriptive.c 第 467 行定义.
引用了 lmmc_mat_correlation_sample().
被这些函数引用 lmmc_mat_correlation_sample().
| lmmc_status_t lmmc_vec_median | ( | const lmmc_vec_t * | x, |
| lmmc_real_t * | out ) |
计算向量中位数。
内部会复制并排序数据。对偶数长度使用无溢出的浮点中点计算。 所有观测值必须有限;非有限观测不会进入排序比较器。
| [in] | x | 输入有限向量,size >= 1。 |
| [out] | out | 输出中位数。 |
x 。 在文件 statistics_selection.c 第 26 行定义.
引用了 lmmc_vec_t::data, lmmc_memory_alloc_array(), lmmc_memory_free(), LMMC_STATUS_ALLOCATION_FAILED, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_vec_median() , 以及 lmmc_vec_t::size.
被这些函数引用 lmmc_std_stats_median() , 以及 lmmc_vec_median().
| lmmc_status_t lmmc_vec_quantile | ( | const lmmc_vec_t * | x, |
| lmmc_real_t | p, | ||
| lmmc_real_t * | out ) |
计算向量的 p 分位数(线性插值法)。
非有限概率会在转换为数组索引前拒绝;所有观测值必须有限。
| [in] | x | 输入有限向量,size >= 1。 |
| [in] | p | 有限分位数,范围 [0, 1]。 |
| [out] | out | 输出分位数值。 |
使用与 NumPy 默认方式相同的线性插值。
在文件 statistics_selection.c 第 56 行定义.
引用了 lmmc_vec_t::data, lmmc_memory_alloc_array(), lmmc_memory_free(), LMMC_STATUS_ALLOCATION_FAILED, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_vec_quantile() , 以及 lmmc_vec_t::size.
被这些函数引用 lmmc_std_stats_quantile() , 以及 lmmc_vec_quantile().
| lmmc_status_t lmmc_vec_histogram | ( | const lmmc_vec_t * | x, |
| size_t | nbins, | ||
| lmmc_real_t * | edges, | ||
| size_t * | counts ) |
计算向量的等宽直方图。
将有限数据范围 [min, max] 等分为 nbins 个区间。跨零范围采用 凸组合构造边界,避免 max-min 的中间溢出;分箱使用缩放后的归一化 坐标,保持线性时间复杂度。最后一个区间包含右端点。
| [in] | x | 输入有限向量,size >= 1。 |
| [in] | nbins | 区间数,必须 >= 1。 |
| [out] | edges | 输出区间边界数组,长度 nbins+1,调用方预分配。 |
| [out] | counts | 输出每个区间的计数,长度 nbins,调用方预分配。 |
在文件 statistics_selection.c 第 182 行定义.
引用了 lmmc_vec_t::data, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK, lmmc_vec_histogram() , 以及 lmmc_vec_t::size.
被这些函数引用 lmmc_vec_histogram().
| lmmc_status_t lmmc_dist_normal_pdf | ( | lmmc_real_t | x, |
| lmmc_real_t | mu, | ||
| lmmc_real_t | sigma, | ||
| lmmc_real_t * | out ) |
连续分布函数的公共参数约束。
所有实数输入必须有限;尺度、形状和自由度参数必须为正数;分位数函数的 概率参数必须严格位于 (0, 1)。违反约束时返回 LMMC_STATUS_INVALID_ARGUMENT。 t、χ²、F、Gamma 和 Beta 分位数使用保持根区间的求解器;不能建立 有限根区间时返回 LMMC_STATUS_OUT_OF_RANGE,达到数值分辨率或迭代上限 但未满足概率残差时返回 LMMC_STATUS_CONVERGENCE_FAILED。基于不完全 Gamma/Beta 的 CDF 达到内部级数或连分数迭代上限时也返回该状态。 连续分布 PDF 在对数域组合密度项;若有限参数对应的密度不可用有限 double 表示,或中间计算无法得到有限密度,则返回 LMMC_STATUS_NUMERICAL_FAILURE。CDF 的计算结果必须是 [0, 1] 内的有限 概率,否则返回同一状态。正态分位数产生不可表示的结果时亦如此。 数值失败和收敛失败均不写入输出参数;其他非成功状态不保证写入。
正态分布概率密度函数。
在对数域组合指数与尺度项;标准化在原始 x-mu 溢出时改用等价的 x/sigma-mu/sigma,避免丢失仍可表示的标准分数。
在文件 probability_continuous.c 第 17 行定义.
引用了 lmmc_dist_normal_pdf(), LMMC_SQRT_2PI , 以及 LMMC_STATUS_INVALID_ARGUMENT.
被这些函数引用 lmmc_dist_normal_pdf() , 以及 lmmc_std_stats_normal_pdf().
| lmmc_status_t lmmc_dist_normal_cdf | ( | lmmc_real_t | x, |
| lmmc_real_t | mu, | ||
| lmmc_real_t | sigma, | ||
| lmmc_real_t * | out ) |
正态分布累积分布函数。
使用与 PDF 相同的溢出安全标准化,并通过 erfc 直接保留可表示的下尾概率。
在文件 probability_continuous.c 第 29 行定义.
引用了 lmmc_dist_normal_cdf() , 以及 LMMC_STATUS_INVALID_ARGUMENT.
被这些函数引用 lmmc_dist_normal_cdf() , 以及 lmmc_std_stats_normal_cdf().
| lmmc_status_t lmmc_dist_normal_quantile | ( | lmmc_real_t | p, |
| lmmc_real_t | mu, | ||
| lmmc_real_t | sigma, | ||
| lmmc_real_t * | out ) |
正态分布分位数函数(逆 CDF)。
位置尺度变换使用融合乘加,使 sigma*z+mu 仅舍入一次,并避免最终 结果可表示时乘积中间值的虚假溢出。
在文件 probability_quantiles.c 第 298 行定义.
引用了 lmmc_dist_normal_quantile(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_normal_quantile() , 以及 lmmc_std_stats_normal_quantile().
| lmmc_status_t lmmc_dist_t_pdf | ( | lmmc_real_t | x, |
| lmmc_real_t | df, | ||
| lmmc_real_t * | out ) |
t 分布概率密度函数。
对数核按 |x|/sqrt(df) 的大小选取等价形式,避免直接计算 x*x。 当自由度大到 t 分布与标准正态分布的差异低于双精度分辨率时,直接 使用正态极限,避免两个巨大 lgamma 值相减。 极小正自由度使半自由度下溢时,密度仍按正自由度的极限计算。
在文件 probability_continuous.c 第 71 行定义.
引用了 lmmc_dist_t_pdf(), lmmc_log_beta(), LMMC_LOG_SQRT_2PI, LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_t_pdf() , 以及 lmmc_std_stats_t_pdf().
| lmmc_status_t lmmc_dist_t_cdf | ( | lmmc_real_t | x, |
| lmmc_real_t | df, | ||
| lmmc_real_t * | out ) |
t 分布累积分布函数。
不完全 Beta 参数通过尺度比构造;参数本身下溢时在对数域计算其 小参数渐近值,使可表示的重尾概率不因 x*x 溢出而被截断为零。 超大自由度使用标准正态极限。 极小正自由度使半自由度下溢时,有限自变量的概率舍入到 0.5。
在文件 probability_continuous.c 第 96 行定义.
引用了 lmmc_dist_t_cdf(), lmmc_log_beta(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 regularized_beta().
被这些函数引用 lmmc_dist_t_cdf() , 以及 lmmc_std_stats_t_cdf().
| lmmc_status_t lmmc_dist_t_quantile | ( | lmmc_real_t | p, |
| lmmc_real_t | df, | ||
| lmmc_real_t * | out ) |
t 分布分位数函数。
超大自由度使用标准正态分位数,避免退化的不完全 Beta 反演。
在文件 probability_quantiles.c 第 310 行定义.
引用了 distribution_parameters_t::first, lmmc_dist_t_quantile(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE, LMMC_STATUS_OK , 以及 distribution_parameters_t::second.
被这些函数引用 lmmc_dist_t_quantile() , 以及 lmmc_std_stats_t_quantile().
| lmmc_status_t lmmc_dist_chi2_pdf | ( | lmmc_real_t | x, |
| lmmc_real_t | df, | ||
| lmmc_real_t * | out ) |
χ² 分布概率密度函数。
大自由度通过形状 df / 2、尺度 2 的稳定 Gamma PDF 求值,避免 多个巨大对数 Gamma 项抵消。 极小正自由度使 df / 2 下溢时,通过 Gamma 的零形状极限计算正自变量的密度。
在文件 probability_continuous.c 第 127 行定义.
引用了 lmmc_dist_chi2_pdf(), lmmc_dist_gamma_pdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_chi2_pdf() , 以及 lmmc_std_stats_chi2_pdf().
| lmmc_status_t lmmc_dist_chi2_cdf | ( | lmmc_real_t | x, |
| lmmc_real_t | df, | ||
| lmmc_real_t * | out ) |
χ² 分布累积分布函数。
通过形状 df / 2、尺度 2 的 Gamma CDF 求值,共享其极小下尾 对数域路径,避免先计算 x / 2 导致下溢。 极小正自由度使半自由度下溢时,有限正自变量的概率舍入到 1。
在文件 probability_continuous.c 第 154 行定义.
引用了 lmmc_dist_chi2_cdf(), lmmc_dist_gamma_cdf(), LMMC_STATUS_INVALID_ARGUMENT , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_chi2_cdf() , 以及 lmmc_std_stats_chi2_cdf().
| lmmc_status_t lmmc_dist_chi2_quantile | ( | lmmc_real_t | p, |
| lmmc_real_t | df, | ||
| lmmc_real_t * | out ) |
χ² 分布分位数函数。
在文件 probability_quantiles.c 第 328 行定义.
引用了 distribution_parameters_t::first, lmmc_dist_chi2_quantile(), LMMC_STATUS_INVALID_ARGUMENT , 以及 distribution_parameters_t::second.
被这些函数引用 lmmc_dist_chi2_quantile() , 以及 lmmc_std_stats_chi2_quantile().
| lmmc_status_t lmmc_dist_f_pdf | ( | lmmc_real_t | x, |
| lmmc_real_t | df1, | ||
| lmmc_real_t | df2, | ||
| lmmc_real_t * | out ) |
F 分布概率密度函数。
大自由度使用 Beta 变量变换、偏差函数和 Stirling 余项计算对数密度, 避免中心区域的 log-gamma 灾难性抵消。
在文件 probability_continuous.c 第 194 行定义.
引用了 lmmc_dist_f_pdf(), lmmc_log_beta(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_f_pdf() , 以及 lmmc_std_stats_f_pdf().
| lmmc_status_t lmmc_dist_f_cdf | ( | lmmc_real_t | x, |
| lmmc_real_t | df1, | ||
| lmmc_real_t | df2, | ||
| lmmc_real_t * | out ) |
F 分布累积分布函数。
极小正分子自由度使半自由度下溢时,有限正自变量的概率按 df2 / (df1 + df2) 的极限计算。
在文件 probability_continuous.c 第 229 行定义.
引用了 lmmc_dist_f_cdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK, regularized_beta() , 以及 regularized_beta_upper().
被这些函数引用 lmmc_dist_f_cdf() , 以及 lmmc_std_stats_f_cdf().
| lmmc_status_t lmmc_dist_f_quantile | ( | lmmc_real_t | p, |
| lmmc_real_t | df1, | ||
| lmmc_real_t | df2, | ||
| lmmc_real_t * | out ) |
F 分布分位数函数。
在文件 probability_quantiles.c 第 347 行定义.
引用了 distribution_parameters_t::first, lmmc_dist_f_quantile(), LMMC_STATUS_INVALID_ARGUMENT , 以及 distribution_parameters_t::second.
被这些函数引用 lmmc_dist_f_quantile() , 以及 lmmc_std_stats_f_quantile().
| lmmc_status_t lmmc_dist_gamma_pdf | ( | lmmc_real_t | x, |
| lmmc_real_t | shape, | ||
| lmmc_real_t | scale, | ||
| lmmc_real_t * | out ) |
伽马分布概率密度函数。
大形状参数通过 Poisson 偏差与 Stirling 余项计算,避免在分布中心 抵消多个巨大对数项。
在文件 probability_continuous.c 第 260 行定义.
引用了 lmmc_deviance_part(), lmmc_dist_gamma_pdf(), lmmc_log_gamma_stirling_error(), LMMC_LOG_SQRT_2PI, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_chi2_pdf(), lmmc_dist_gamma_pdf() , 以及 lmmc_std_stats_gamma_pdf().
| lmmc_status_t lmmc_dist_gamma_cdf | ( | lmmc_real_t | x, |
| lmmc_real_t | shape, | ||
| lmmc_real_t | scale, | ||
| lmmc_real_t * | out ) |
伽马分布累积分布函数。
当 x / scale 下溢但最终概率仍可表示时,在对数域计算小参数下 不完全 Gamma 的首项,避免把可表示的极小尾概率错误截断为零。
在文件 probability_continuous.c 第 289 行定义.
引用了 lmmc_dist_gamma_cdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 regularized_gamma_lower().
被这些函数引用 lmmc_dist_chi2_cdf(), lmmc_dist_gamma_cdf() , 以及 lmmc_std_stats_gamma_cdf().
| lmmc_status_t lmmc_dist_gamma_quantile | ( | lmmc_real_t | p, |
| lmmc_real_t | shape, | ||
| lmmc_real_t | scale, | ||
| lmmc_real_t * | out ) |
伽马分布分位数函数。
在文件 probability_quantiles.c 第 360 行定义.
引用了 distribution_parameters_t::first, lmmc_dist_gamma_quantile(), LMMC_STATUS_INVALID_ARGUMENT , 以及 distribution_parameters_t::second.
被这些函数引用 lmmc_dist_gamma_quantile() , 以及 lmmc_std_stats_gamma_quantile().
| lmmc_status_t lmmc_dist_beta_pdf | ( | lmmc_real_t | x, |
| lmmc_real_t | alpha, | ||
| lmmc_real_t | beta, | ||
| lmmc_real_t * | out ) |
贝塔分布概率密度函数。
大形状参数使用 Stirling 余项与偏差形式组合对数密度,避免中心区域 的 log-gamma 灾难性抵消。对称中心在形状和溢出时使用 Gamma 比值 渐近式,不要求显式构造 alpha + beta。
在文件 probability_continuous.c 第 314 行定义.
引用了 lmmc_dist_beta_pdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_NUMERICAL_FAILURE , 以及 LMMC_STATUS_OK.
被这些函数引用 lmmc_dist_beta_pdf() , 以及 lmmc_std_stats_beta_pdf().
| lmmc_status_t lmmc_dist_beta_cdf | ( | lmmc_real_t | x, |
| lmmc_real_t | alpha, | ||
| lmmc_real_t | beta, | ||
| lmmc_real_t * | out ) |
贝塔分布累积分布函数。
在文件 probability_continuous.c 第 333 行定义.
引用了 lmmc_dist_beta_cdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 regularized_beta().
被这些函数引用 lmmc_dist_beta_cdf() , 以及 lmmc_std_stats_beta_cdf().
| lmmc_status_t lmmc_dist_beta_quantile | ( | lmmc_real_t | p, |
| lmmc_real_t | alpha, | ||
| lmmc_real_t | beta, | ||
| lmmc_real_t * | out ) |
贝塔分布分位数函数。
在文件 probability_quantiles.c 第 378 行定义.
引用了 distribution_parameters_t::first, lmmc_dist_beta_quantile(), LMMC_STATUS_INVALID_ARGUMENT , 以及 distribution_parameters_t::second.
被这些函数引用 lmmc_dist_beta_quantile() , 以及 lmmc_std_stats_beta_quantile().
| lmmc_status_t lmmc_dist_binomial_pmf | ( | size_t | k, |
| size_t | n, | ||
| lmmc_real_t | p, | ||
| lmmc_real_t * | out ) |
离散分布函数的公共参数约束。
二项分布概率 p 必须为 [0, 1] 内的有限值;泊松分布率 lambda 必须为 非负有限值。违反约束时返回 LMMC_STATUS_INVALID_ARGUMENT。PMF 中间值或 最终值不是有限概率时返回 LMMC_STATUS_NUMERICAL_FAILURE;允许正确结果 下溢为零。CDF 在大参数中心区域使用不完全 Gamma 的一致渐近式以及 对称 Beta 恒等式,其他区域的迭代达到上限时返回 LMMC_STATUS_CONVERGENCE_FAILED。数值失败和收敛失败均不写入输出参数。
二项分布概率质量函数。
使用 Stirling 余项与二项偏差形式组合对数质量,避免大 n 中心区域 的多个 log-gamma 项发生灾难性抵消。
在文件 probability_discrete.c 第 25 行定义.
引用了 lmmc_deviance_part(), lmmc_dist_binomial_pmf(), LMMC_LOG_SQRT_2PI, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 lmmc_stirling_error().
被这些函数引用 lmmc_dist_binomial_pmf() , 以及 lmmc_std_stats_binomial_pmf().
| lmmc_status_t lmmc_dist_binomial_cdf | ( | size_t | k, |
| size_t | n, | ||
| lmmc_real_t | p_param, | ||
| lmmc_real_t * | out ) |
二项分布累积分布函数。
对称奇数试验的中心概率通过 Beta 对称性精确返回 1/2。
CDF = 1 - I_p(k+1, n-k);beta 上尾内核保留 p。
在文件 probability_discrete.c 第 70 行定义.
引用了 lmmc_dist_binomial_cdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 regularized_beta_upper().
被这些函数引用 lmmc_dist_binomial_cdf() , 以及 lmmc_std_stats_binomial_cdf().
| lmmc_status_t lmmc_dist_poisson_pmf | ( | size_t | k, |
| lmmc_real_t | lambda, | ||
| lmmc_real_t * | out ) |
泊松分布概率质量函数。
使用 Stirling 余项与泊松偏差形式组合对数质量,避免大率中心区域 的 count*log(lambda)-lambda-log-gamma 灾难性抵消。
在文件 probability_discrete.c 第 84 行定义.
引用了 lmmc_deviance_part(), lmmc_dist_poisson_pmf(), LMMC_LOG_SQRT_2PI, LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 lmmc_stirling_error().
被这些函数引用 lmmc_dist_poisson_pmf() , 以及 lmmc_std_stats_poisson_pmf().
| lmmc_status_t lmmc_dist_poisson_cdf | ( | size_t | k, |
| lmmc_real_t | lambda, | ||
| lmmc_real_t * | out ) |
泊松分布累积分布函数;直接计算正则化上不完全伽马尾。
大率中心区域采用一致渐近展开,避免级数或连分数工作量随率的平方根增长。
在文件 probability_discrete.c 第 109 行定义.
引用了 lmmc_dist_poisson_cdf(), LMMC_STATUS_INVALID_ARGUMENT, LMMC_STATUS_OK , 以及 regularized_gamma_upper().
被这些函数引用 lmmc_dist_poisson_cdf() , 以及 lmmc_std_stats_poisson_cdf().