Leet Arxiv

RSS: https://leetarxiv.substack.com/feed
用你喜欢的语言动手实现 Arxiv 论文的练习场。

Python 中的 Sherry、龙舌兰与量化精灵

BitNet b1.58 将大语言模型权重压缩到 -1/0/1 三个值,矩阵乘法退化为加减法。Sherry 在此基础上引入 3:4 稀疏约束——每4个权重中恰好3个非零、1个固定为零,用5位存储一个块,适配 SIMD 并行。训练时用 absmean 量化函数约束权重范围,配合 STE 反向传播。Arenas 模块在 QAT 阶段注入梯度以缓解权重陷入局部区域的梯度同质化问题。
评论点赞收藏5 天前

匈牙利分配算法:从任务分配到矩阵平衡

匈牙利分配算法解决任务与资源的最优一对一匹配问题,将总成本或总时间最小化。 原始Kuhn算法时间复杂度O(n⁴),现代Scipy等实现采用Jonker-Volgenant算法降至O(n³),可处理大规模分配问题。该算法与Sinkhorn-Knopp矩阵平衡算法密切相关,也可将Gumbel-Sinkhorn网络输出的双随机矩阵转换为排列矩阵。
评论点赞收藏7 天前

每个程序员都应该了解的椭圆曲线扭运算

给定13个故障和一台好的电脑,一个人可以在1分钟内破坏secp256k1(和比特币)。 保罗·S.L.M.巴雷托。 立即订阅 这篇免费文章是我们关于程序员实用椭圆曲线理论: 第一部分:在C语言中破解休眠的比特币钱包。 第二部分:对异常曲线的智能攻击。 第三部分:寻找异常曲线。 第四部分:Python 中椭圆曲线的除多项式。 第五部分:将除法多项式应用于点计数。 第六部分:具有高效自同构的曲线上的...
评论点赞收藏16 天前

Pollard's p-1 因数分解算法的纯 C 语言实现

Leet Arxiv 用 C 语言实现 Pollard's p-1 整数分解算法,基于 Wagstaff 2013 和 Charest 2005 论文,提供从数学定理到代码的完整推导。算法利用费马小定理,当素因子 p-1 含小素因子时高效分解大整数,Stage 1 指数 S 通过 LCM 树状捷径计算,B=1000 时 S 达 1438 位。GitHub 可获取完整代码,适合密码学、数论或工程实践读者深入阅读。
评论点赞收藏19 天前

使用泰勒级数和帕德逼近为 FPGA 实现 Softmax 近似

Leet Arxiv 团队在 FPGA 上实现 Softmax,对比了泰勒级数与帕德逼近两种近似方法。实验显示:低误差场景下建议使用带 LUT 的二次插值;追求性能时泰勒展开更快,帕德逼近更准。代码已开源,含 Python 实现与评估基准。
评论点赞收藏19 天前

Writing a Wikipedia XML Parser in Plain C

LeetArxiv 系列教程第三部分,介绍使用纯 C 语言编写 MediaWiki 和 Wikipedia XML 解析器。内容从递归下降 PEG 解析器的尝试转向状态机实现,以适配数据压缩需求(Hutter Prize)。教程基于 Enwik9 数据集,展示了内存映射加载数据、字符索引等底层 C 语言实现细节,并探讨了处理维基百科复杂混合格式(Markdown、XML、HTML)的工程挑战。
评论点赞收藏22 天前

用 Python 实现 Schoof 的 1985 年椭圆曲线点计数算法

Schoof 算法将椭圆曲线点计数复杂度从指数级降至多项式级。文章通过 Python 代码实现该算法,利用 Frobenius 迹和 Chinese Remainder Theorem 计算有限域上椭圆曲线的点数。内容涉及 Division Polynomials 和 Endomorphism 算术,适合对密码学和算法实现感兴趣的开发者。
评论点赞收藏23 天前

Python中的椭圆曲线除法多项式

基于2008年论文,用Python实现椭圆曲线除法多项式及椭圆可除序列。代码验证了序列与标量乘法的关联,并给出了简化形式的实现。对密码学、数论研究者及想动手复现算法的开发者有参考价值。
评论点赞收藏42 天前

神经排序算法:Gumbel-Sinkhorn 网络

基于 Mena 等人 2018 年的论文,介绍如何用 Gumbel-Sinkhorn 网络架构在 Python 中训练神经网络进行排序。该网络利用 Sinkhorn-Knopp 算法对置换矩阵进行可微近似,从而实现无需显式标签的隐式排列学习。文章提供了从理论推导到代码实现的完整路径,适合对可微排序、组合优化及神经架构设计感兴趣的开发者参考。
评论点赞收藏49 天前

C语言中的切比雪夫多项式及其导数实现

文章介绍了在C语言中实现切比雪夫多项式及其导数的计算,涵盖正交性、快速收敛、拉格朗日插值及离散余弦变换等数值分析方法,并讨论了吉布斯现象和龙格现象等局限性。
评论点赞收藏61 天前

为什么编译器工程师不采用 Strassen 矩阵乘法算法

理论上更快的 Strassen 算法(O(n^2.8074))在实际 CPU 实现中比朴素 O(n³) 矩阵乘法更慢且精度更低——作者从 1969 年原论文亲手用 C 实现并跑分验证。浮点误差累积严重(512×512 矩阵仅 1 位有效数字),递归结构难以向量化,且依赖矩阵大小和硬件调参。通过将递归基准条件设为 64 维后切换到朴素算法,Strassen 才勉强快 2 倍,同时精度大幅改善。核心结论:编译器工程师不应盲目迷信理论复杂度,朴素实现往往更实用。代码开源可复现,附完整 benchmark 对比。
评论点赞收藏68 天前

LLL算法应用于扩展GCD与埃尔米特标准型

核心看点:手把手编码实现1998年经典论文《基于格基约简的扩展GCD与埃尔米特标准型算法》。作者用视频讲解+实际代码的方式,把抽象的数论算法变成可运行的C/Python代码。适合想深入理解LLL算法在数论计算中实际应用的读者,而非仅停留在理论层面。内容短但干货密集,面向已具备格基约简基础的技术人员。
评论点赞收藏73 天前

面向计算机科学家的LLL算法

核心看点:编码实现Lenstra–Lenstra–Lovász 1982年多项式分解经典论文,以视频+代码形式讲解LLL算法。面向计算机科学家的定位意味着侧重算法实现而非纯数学推导。适合想通过动手编码彻底理解LLL的读者,内容简短但锚定原始论文,有实质教学价值。
评论点赞收藏73 天前

二维格基约简的C语言实现

核心看点:用C语言实现2007年论文中的二维Gauss-Lagrange格基约简算法。内容非常聚焦,是一个经典算法的编码实现教学。适合刚入格局基约简、想从二维情况入手理解核心思想的开发者,但视角单一,信息量有限。
评论点赞收藏83 天前

Damian Weber 筛法约化算法:DLP 下降阶段技术讲解

来自 LeetArxiv 子栈通讯的速递:指向 Damian Weber 关于离散对数问题(DLP)下降阶段中筛法约化算法的讲解资源。内容极短但信息具体——标明研究者、算法名称、应用阶段,对从事数论或密码学底层算法研究的读者有直接参考价值。适合关注计算数论、密码协议安全性的专业人群点击跟进。
评论点赞收藏83 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。