<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Lamina-dev</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://lm-lang.org/</id>
  <link href="https://lm-lang.org/" rel="alternate"/>
  <link href="https://lm-lang.org/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Lamina-dev</rights>
  <subtitle>可编程的数学环境</subtitle>
  <title>Lamina</title>
  <updated>2026-05-30T14:13:59.166Z</updated>
  <entry>
    <author>
      <name>Lamina-dev</name>
    </author>
    <category term="半月报" scheme="https://lm-lang.org/categories/%E5%8D%8A%E6%9C%88%E6%8A%A5/"/>
    <category term="2026" scheme="https://lm-lang.org/categories/%E5%8D%8A%E6%9C%88%E6%8A%A5/2026/"/>
    <category term="半月报" scheme="https://lm-lang.org/tags/%E5%8D%8A%E6%9C%88%E6%8A%A5/"/>
    <content>
      <![CDATA[<h2 id="完成事项"><a class="header-anchor" href="#完成事项">#</a>完成事项</h2><ul><li>LMCAS<ul><li>假设系统</li><li>加入线性替换、三角组合及有理分解策略</li><li>三次多项式、四次多项式、五次及以上多项式求解</li><li>超越方程求解（Lambert W、Newton-Raphson）</li><li>参数线性方程组求解、参数多项式方程组求解、不等式求解</li><li>改用 lmmc_real_t、移除 HashData struct</li><li>覆盖幂操作边缘情况和多项式运算修复</li><li>舍入错误修复、NumberNode 正数判断修复</li><li>重写注释，采用 Doxygen</li></ul></li><li>LMMC<ul><li>新增优化模块、FFT 实现</li><li>添加特征值分解、插值、数值积分、随机数生成模块</li><li>添加 Lambert W 函数实现及相关数学宏定义</li><li>修复内存分配状态可能导致段错误的问题</li><li>重写注释，采用 Doxygen</li></ul></li><li>LAMMP<ul><li>因子累乘函数原地构造新因子数组，减少内存占用</li><li><code>binvert_3_</code> 函数改为 192 位宽，不再使用完整 128 位乘入 256 位</li><li>修复错误的不平衡乘法调用</li><li>对于汇编函数，使用 .def 文件导出符号</li><li>统一类型；修改余数掩码表命名</li><li>对自定义 abort 函数使用原子变量，保证线程逻辑一致</li><li>重命名不同范围底数的幂计算函数</li><li>加入 Doxygen 文档</li><li>新增简单函数的内部内联头文件（inlines.h）</li><li>内联 <code>lmmp_mul_n_</code> 和 <code>lmmp_sqr_</code></li><li>使用结构体传参；添加 restrict 限定</li><li>修改部分调优参数</li><li>删除栈式分配器接口；新增临时缓冲池设计</li><li>将 <code>lmmp_sqr_</code> 移至 mul.c 并删除 sqr.c</li><li>新增无试除法的素性检验接口</li></ul></li></ul><h2 id="计划事项"><a class="header-anchor" href="#计划事项">#</a>计划事项</h2><ul><li>LMCAS<ul><li>假设推理引擎扩展（除法/减法符号推断、复合域推断、单调性/周期性推断、循环检测与深度限制）</li><li>假设查询接口扩展与缓存机制</li><li>假设条件假设与 with_assumptions 函数模板</li><li>假设序列化/反序列化</li><li>假设自动传播规则与冲突诊断</li><li>假设集成（积分器、极限、级数展开、ODE 求解器、匹配器/重写引擎）</li></ul></li><li>LMMC<ul><li>复数模块（类型、四则运算、超越函数、复向量/矩阵容器）</li><li>逐元素向量/矩阵乘法、除法、幂运算（Hadamard）</li><li>逐元素向量比较运算</li><li>向量叉积</li><li>矩阵整数幂（二进制快速幂）</li><li>矩阵右除法</li><li>矩阵 1-范数与无穷范数</li><li>矩阵数值秩</li><li>向量化超越函数（apply 模式及便捷包装）</li><li>标量反三角函数（asin、acos、atan）</li><li>标量双曲函数（sinh、cosh、tanh、asinh、acosh、atanh）</li><li>标量幂与舍入函数（pow、ceil、floor、round、trunc）</li></ul></li><li>LAMMP<ul><li>使用整数计算代替浮点计算的缓冲区估算（主要涉及 pow 和部分数论函数）</li><li>重构哈夫曼乘法树，精心构造乘法步骤，避免所有拷贝与临时内存，使结果恰好落在目标内存块</li><li>完整实现 B^n 逆元（目前仅完成平衡情况）</li><li>基于 B^n 逆元实现精确除法</li><li>对二项式系数的不平衡情况使用精确除法</li></ul></li><li>LMVM<ul><li>略</li></ul></li><li>Lamina<ul><li>略</li></ul></li></ul><h2 id="订阅"><a class="header-anchor" href="#订阅">#</a>订阅</h2><p><a href="https://lm-lang.org/atom.xml">RSS</a><br>| <a href="https://discord.gg/AzSFWuMFsY">Discord</a></p>]]>
    </content>
    <id>https://lm-lang.org/blog/2026-05-2h/</id>
    <link href="https://lm-lang.org/blog/2026-05-2h/"/>
    <published>2026-05-29T15:23:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="完成事项"><a class="header-anchor" href="#完成事项">#</a>完成事项</h2>
<ul>
<li>LMCAS
<ul>
<li>假设系统</li>
<li>加入线性替换、三角组合及有理分解策略</li>
<li>三次多项式、四]]>
    </summary>
    <title>五月-B</title>
    <updated>2026-05-30T14:13:59.166Z</updated>
  </entry>
  <entry>
    <author>
      <name>Lamina-dev</name>
    </author>
    <category term="半月报" scheme="https://lm-lang.org/categories/%E5%8D%8A%E6%9C%88%E6%8A%A5/"/>
    <category term="2026" scheme="https://lm-lang.org/categories/%E5%8D%8A%E6%9C%88%E6%8A%A5/2026/"/>
    <category term="半月报" scheme="https://lm-lang.org/tags/%E5%8D%8A%E6%9C%88%E6%8A%A5/"/>
    <content>
      <![CDATA[<h2 id="完成事项"><a class="header-anchor" href="#完成事项">#</a>完成事项</h2><ul><li>LMCAS<ul><li>矩阵化的多项式处理的探索（排除这个方向）</li></ul></li><li>LMMC<ul><li>类型系统抽象</li><li>移除高级求解器迭代过程中的动态内存分配</li><li>完成通用矩阵乘法分块和展开优化</li><li>稀疏矩阵支持</li><li>COO 格式动态构建器</li><li>日志</li><li>修正近似相等的错误</li></ul></li><li>LAMMP<ul><li>弃置MASM，改用NASM</li><li>重写核心算子</li><li>汇编采用BMI2 指令集</li><li>高效的二进制求逆<ul><li>不平衡与分治情况下的高精度平衡二进制逆元计算（<code>lmmp_binvert_n_dc_</code>）</li><li>引入梅森数模乘法</li></ul></li><li>高效的取模<ul><li><code>lmmp_mod_1_</code> / <code>lmmp_mod_2_</code>算子</li><li>更小的质因数分解缓冲区估算上界</li></ul></li><li>高效的素性检验<ul><li><code>next_prime_ulong</code> / <code>prev_prime_ulong</code>快速上、下素数查找例程</li><li>Miller-Rabin 素性检验的3,5,7,11余数掩码表<code>trial_div35711</code></li></ul></li></ul></li></ul><h2 id="计划事项"><a class="header-anchor" href="#计划事项">#</a>计划事项</h2><ul><li>LMCAS<ul><li>继续探索矩阵化的多项式处理方法</li></ul></li><li>LMMC<ul><li>待定</li></ul></li><li>LAMMP<ul><li>略</li></ul></li><li>LMVM<ul><li>略</li></ul></li><li>Lamina<ul><li>略</li></ul></li></ul><h2 id="订阅"><a class="header-anchor" href="#订阅">#</a>订阅</h2><p><a href="https://lm-lang.org/atom.xml">RSS</a><br>| <a href="https://discord.gg/AzSFWuMFsY">Discord</a></p>]]>
    </content>
    <id>https://lm-lang.org/blog/2026-05-1h/</id>
    <link href="https://lm-lang.org/blog/2026-05-1h/"/>
    <published>2026-05-16T15:23:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="完成事项"><a class="header-anchor" href="#完成事项">#</a>完成事项</h2>
<ul>
<li>LMCAS
<ul>
<li>矩阵化的多项式处理的探索（排除这个方向）</li>
</ul>
</li>
<li>LMMC
<u]]>
    </summary>
    <title>五月-A</title>
    <updated>2026-05-30T14:13:59.166Z</updated>
  </entry>
  <entry>
    <author>
      <name>Lamina-dev</name>
    </author>
    <category term="介绍" scheme="https://lm-lang.org/categories/%E4%BB%8B%E7%BB%8D/"/>
    <category term="2026" scheme="https://lm-lang.org/categories/%E4%BB%8B%E7%BB%8D/2026/"/>
    <category term="Lamina" scheme="https://lm-lang.org/tags/Lamina/"/>
    <category term="介绍" scheme="https://lm-lang.org/tags/%E4%BB%8B%E7%BB%8D/"/>
    <content>
      <![CDATA[<h2 id="为什么会有-Lamina"><a class="header-anchor" href="#为什么会有-Lamina">#</a>为什么会有 Lamina?</h2><p>Lamina 项目最早始于2024年11月份，最初名称为MEDScript（MathEmatics DeScription）使用Python编写，目标为设计一款直至目前处于前概念阶段的硬件计算器提供系统主程序，后续从Python转向C++，在2025年5月份时确定了最早版本（也就是目前Lamina-dev/Lamina仓库的版本）的主要架构（现称之为Legacy Lamina）。</p><h2 id="目前的境况"><a class="header-anchor" href="#目前的境况">#</a>目前的境况</h2><p>Lamina 最早所宣传的是“精确数学计算编程语言”，随着开发的深入，我愈发感觉到“精确数学计算编程语言”这个定位是模糊的、不明确的，目前定义为“可编程的数学环境”。提供一个完整的，轻量的基本数学环境，不依赖任何庞大的第三方库或商业软件。目前主仓库的动作停滞近半年，导致外界认为此项目已经“死亡”，但事实并非如此。主仓库的静默是我们因为意识到，在没有坚实的底层支撑之前，任何上层语法的构建都是空中楼阁。目前，项目的重心已全面转向核心组件的开发。对那些期待Lamina投入实用而等待已久的支持者，我表示诚挚的歉意。但这并非放弃，由于我们低估了实现“精确”所需的底层工程量。<br>我们发现，如果在现有的、基于某个根据时间的协定所仓促开发的成果上继续堆砌功能会使得Lamina变成一个臃肿的、维护麻烦的项目，为了实现新的Lamina，目前我们将精力全部拆解到了以下四个并行的子项目中：</p><ul><li>LAMMP: 底层计算库</li><li>LMMC: 重新编写的数值计算内核</li><li>LMCAS: 符号计算引擎</li><li>LMVM: 虚拟机</li></ul><h2 id="为什么选择自己开发？"><a class="header-anchor" href="#为什么选择自己开发？">#</a>为什么选择自己开发？</h2><p>很多人问：为什么不用 MatLab, SageMath, 或者 Giac + MicroPython？<br>答案只有一个：为了拥有更高的上限。依赖 Python 层（NumPy/SymPy）意味着性能和语义被锁死在别人的框架内。我们要做的不是一个库，而是一个独立环境。</p><h2 id="后续计划"><a class="header-anchor" href="#后续计划">#</a>后续计划</h2><p>前文提到，在过去的几个月里，Lamina 的开发进入了一个相对沉默的阶段。<br>这并不是因为项目停滞，而是因为大量工作集中在底层和试验，这些内容难以被快速展示，也难以用零散的提交记录去表达。<br>但这带来了一个问题，外界无法判断项目的真实进展。<br>因此，我们决定从现在开始，引入固定节奏的开发记录。<br>从本篇开始，Lamina 将以半月为周期发布开发日志。每一期内容不会刻意包装成果，而是尽可能真实地记录：</p><ul><li>当前正在解决的问题</li><li>这半个月的进展</li><li>设计的改变</li><li>下一阶段的目标<br>这既是对外的说明，也算作对开发节奏的一个约束。因为都是学生，业余时间不会太多，每一篇的长度不会太多，我相信对于一个仍在构建基础的项目而言，公开过程让人总是能看到进展是令人振奋的。<br>如果你对Lamina感兴趣，订阅RSS(<a href="https://lm-lang.org/atom.xml">https://lm-lang.org/atom.xml</a>)或者加入我们的<a href="https://discord.gg/AzSFWuMFsY">Discord服务器</a>，让你能持续收到开发进度！</li></ul>]]>
    </content>
    <id>https://lm-lang.org/blog/hellolamina!/</id>
    <link href="https://lm-lang.org/blog/hellolamina!/"/>
    <published>2026-05-04T15:23:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="为什么会有-Lamina"><a class="header-anchor" href="#为什么会有-Lamina">#</a>为什么会有 Lamina?</h2>
<p>Lamina 项目最早始于2024年11月份，最初名称为MEDScript（MathEma]]>
    </summary>
    <title>Hello, Lamina!</title>
    <updated>2026-05-30T14:13:59.166Z</updated>
  </entry>
</feed>
