Go语言技术文章
-
Go Gonum 的 BFGS 需要目标函数梯度,NelderMead 则只依赖函数值。本文用同一个目标函数对比两种方法的 Problem 写法、API 边界、函数求值成本和选型条件,帮助你避免因 Grad 缺失或梯度不可靠而选错方法。140 收藏 -
说明如何填写 Gonum optimize.Problem.Grad 并配置 BFGS,对比解析梯度、数值差分与无梯度方法,解释隐藏函数求值、停止状态和性能判断。108 收藏 -
Gonum interp 中的 FritschButland 与 NaturalCubic 都是分段三次插值,但前者优先保证局部单调并只做到 C¹,后者保证 C² 连续并采用自然边界。本文用同一组 Go API 说明两者的选型、输入限制和区间外边界。266 收藏 -
Gonum quad 处理无限区间时,通常应保留 rule=nil,让 Fixed 自动把无限边界变换到有限区间;只有被积函数明确带有 e^(-x^2) 权重时,才考虑 Hermite。本文按区间、权函数和收敛性拆解规则选择。500 收藏 -
用 Gonum interp 的 NaturalCubic 构建自然三次样条,覆盖输入约束、Fit/Predict 调用、导数读取、区间边界和插值器选型。349 收藏 -
介绍 Gonum quad.Hermite 的积分节点与权重用法,说明全实数边界、平方指数权重、quad.Fixed 参数、节点切片配对和并发回调边界。350 收藏 -
解释 Gonum LogProb 如何将独立样本似然连乘转为累加,避免小值乘积下溢,并给出正态评分代码、批次汇总及概率密度与混合模型边界。485 收藏 -
Go Gonum distuv 把分位点查询统一成 Quantile(p)。本文比较 Normal、Uniform 和 Exponential 的适用场景,给出 P50、P95 与尾部阈值的代码写法,并说明 p 范围、分布参数和极端值处理。297 收藏 -
Go Gonum 的 stat.Quantile 要求样本按升序排列,因为分位数本质上是在有序样本和累计权重上定位。本文说明排序契约、SortWeighted、权重对应关系以及 Empirical 与 LinInterp 的边界。328 收藏 -
Gonum mat.Matrix 的 T 只保证转置语义,不保证复制底层数据。本文用 Dense 和 Transpose 解释共享存储、别名规则,以及需要独立矩阵时的显式复制方式。241 收藏 -
介绍 Gonum stat.Histogram 的边界、排序和权重约定,提供不修改原始切片的 Go 计数示例,说明右端点、归一化及计数切片复用语义。219 收藏 -
Go Starlark 的 starlark.List 不能直接作为字典键,因为它的 Hash 方法明确返回不可哈希错误。本文从 SetKey 的错误现场出发,说明列表、元组、稳定字符串和业务 ID 的选型边界。103 收藏 -
用 Gonum mat.SVD 分解矩阵,读取降序奇异值,并通过 rcond × 最大奇异值的相对阈值估计有效矩阵秩,同时说明分解失败、尺度变化与后续求解的边界。346 收藏 -
在 Go 中嵌入 Starlark 时,load 语句由 Thread.Load 回调负责解析模块名并返回 StringDict。本文用缓存、递归线程和循环依赖处理,搭出一个可维护的模块加载器。451 收藏 -
比较 Hamba Avro 逻辑类型、底层编码和 Go 映射,以 timestamp-millis 对照普通 long,说明时间单位误配、精度和模式回退的处理要点。181 收藏