14 分•作者: pabs3•8 个月前
返回首页
最新
2 分•作者: diegoofernandez•8 个月前
当我开始为我的代数引擎 RomiMath 在 TypeScript 中实现 Buchberger 算法时,我发现了一些令人惊讶的事情:这个被认为是计算代数中最复杂的算法之一,实际上是纯粹的机械操作。<p>让我们一步一步地分解它,不加不必要的抽象。
1. 单项式(没有复杂性)<p>单项式就是一个项。加法 (+) 和减法 (-) 区分单项式。<p>例如:25<i>4 + 15</i>x - 2 有 3 个单项式。<p>在代码中:<p>class Monomial {
coefficient: number; // 例如,5,-2
variables: string[]; // 例如,['x', 'y']
exponents: number[]; // 例如,[2, 1] 表示 x²y
}<p>2. 次数(超级简单)<p>次数就是指数之和:<p><pre><code> 3x²y → 次数 = 2 + 1 = 3
5x → 次数 = 1
7 → 次数 = 0
</code></pre>
3. 字典序(比看起来容易)<p>就像在字典中对单词进行排序:<p><pre><code> x > y > z > w
x³ > x²y¹⁰⁰⁰ (因为 3 > 2)
x²y > x²z (因为 y > z)
xy > x (因为它有更多变量)
</code></pre>
4. Buchberger 算法(逐步)<p>步骤 1:取两个多项式<p>P1: x² + y - 1
P2: x + y² - 2<p>步骤 2:查看它们的“首项”<p><pre><code> LT(P1) = x² (因为 x² > y > -1)
LT(P2) = x (因为 x > y² > -2)
</code></pre>
步骤 3:计算这些项的“LCM”(最小公倍数)<p><pre><code> LCM(x², x) = x² (指数的最大值:max(2,1) = 2)
</code></pre>
步骤 4:进行“智能减法”(S-多项式)<p>S(P1,P2) = (x²/x²)<i>P1 - (x²/x)</i>P2
= (1)<i>(x² + y - 1) - (x)</i>(x + y² - 2)
= (x² + y - 1) - (x² + xy² - 2x)
= -xy² + 2x + y - 1<p>步骤 5:对我们已有的进行简化<p><pre><code> 尝试使用 P1 和 P2 简化结果
如果它没有简化为零 → 新的多项式!
</code></pre>
步骤 6:重复直到没有新的出现<p>真正的本质<p>Buchberger 只是:<p>while (pairs remain) {
1. 取两个多项式
2. 进行它们的“智能减法”
3. 简化结果
4. 如果有新的剩余,将其添加到基中
}<p>它并不比遵循烹饪食谱更复杂。<p>为什么这很重要<p>我在 TypeScript 中实现了这个算法,现在它可以在浏览器中在几秒钟内解决 7 个变量的系统。复杂性不在于理解算法,而在于克服对数学符号的恐惧。<p>当你将“高级”概念分解成机械操作时,一切都变得可以理解。<p>有没有其他人有过这种经历,发现一个“复杂”的概念,一旦分解,实际上很简单?
1 分•作者: mehelpme•8 个月前
我们开发了 Flux Kontext——一个 AI 图像编辑平台,支持 LoRA 和 ControlNet 编辑、角色一致性以及修复工具。
您可以在这里试用:https://flux1kontextai.com
欢迎提供反馈!
2 分•作者: PaulHoule•8 个月前
1 分•作者: mgh2•8 个月前
1 分•作者: nsoonhui•8 个月前
2 分•作者: monkee_kl•8 个月前
这个想法很简单:你们公司的企业文化究竟如何?不玩虚的。没有雇主品牌宣传(也就是 Glassdoor 那种)。只有员工的真实评价。<p>ratetheculture.com
1 分•作者: baggiiiie•8 个月前
1 分•作者: amichail•8 个月前
3 分•作者: cgel•8 个月前
2 分•作者: marojejian•8 个月前
1 分•作者: generichuman•8 个月前
1 分•作者: thunderbong•8 个月前
1 分•作者: PaulHoule•8 个月前
1 分•作者: geox•8 个月前
1 分•作者: lisper•8 个月前
1 分•作者: steveklabnik•8 个月前
1 分•作者: npalli•8 个月前
1 分•作者: ed_mercer•8 个月前
1 分•作者: fazkan•8 个月前