问题标签 [algebra]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
11885 浏览

c# - 用于代数简化和求解的 C# 库

网络上有很多代数求解器和简化器(例如,algebra.com 上的一个不错的)。但是,我正在寻找可以作为更大项目的一部分插入 C# 的东西(我正在制作自己的计算器,但显然我会请求许可等)。

理想情况下,我会使用如下代码:

's' 将简化为:"1082.532/x+5*x+2.866*x^2"

(那里有 3dp 精度,但如果需要可以更改)。

求解特定变量也很好。我需要一些轻量级的东西,而且速度也很快(上面的计算最好在 5ms 左右,包括启动延迟)。

经过一些研究,像 Sage、Octave 或 Mathematica 这样的程序可能是矫枉过正(我的应用程序可能只是一个小于 200k 的小型 exe)。Dotnumerics.com 或 Mathdotnet.com 可能是合适的,但前者似乎没有提到代数简化,而后者缺乏文档和示例是一种关闭。我想知道是否还有任何合适的替代方案。可以在这里找到一个大列表: http ://en.wikipedia.org/wiki/Comparison_of_computer_algebra_systems

0 投票
1 回答
678 浏览

iphone - Algebra with the Accelerate Framework

After watching the WWDC video on the accelerate framework, I saw that it had two packages called BLAS and LAPACK. When they talked about BLAS, it sounded like that wasn't what I wanted however, LAPACK, which they caption "Linear algebra package", sounds like it does what I want to do.

Could you use the second of these two frameworks, LAPACK, to perform functions such as solving equations, factorising, and other basic algebraic operations? - What puzzled me is when I looked in the apple docs, they have very little reference to LAPACK.

Apple Docs

As you can see here, they have docs on BLAS and not LAPACK

I would be grateful if someone who knows about the accelerate framework could enlighten me on the topic because I know nothing about it!

0 投票
2 回答
335 浏览

zero - 代数:删除相似项 [ x-(x*0.25)=3]

我试图自己解决这个问题,但在隔离 x 时遇到了麻烦:

在 algebra.com 上,它是这样转换的:

然后继续求解零:

[* 问题 1] 这个陈述是如何得出的?这似乎不像分布。

[* 问题 2] 为什么解为零?

[* 问题 3] 有没有更简单的方法来组合相似的值并求解方程?

0 投票
2 回答
1375 浏览

c# - 消息奇偶校验

有人可以帮我在 C# 中实现这个计算序列吗? 在此处输入图像描述

0 投票
3 回答
3963 浏览

algorithm - 程序可以用来简化代数表达式吗?

我们知道1+2+...+n等于n(n+1)/2

但是,如果我们事先不知道,我们能否以编程方式获得相同的结果?

关于为什么我有这样的问题。

考虑一个更复杂的情况:

X1+X2+...+Xk=n,其中 Xi 是整数且 >= 0。

的期望是X1^2+...Xk^2什么?

结果一目了然,一旦我们计算出期望的(详细)数学表示,我们将希望将其提供给程序以减少代数X1^2+...Xk^2

0 投票
2 回答
399 浏览

c# - C#中的条件表达式代数

我正在研究使用布尔条件表达式的匹配系统的一小部分。

这些条件表达式被限制为单个变量和单个运算符(具有 Inclusive Between 的边缘情况)。

我对感兴趣:

  • 等于“=”
  • 大于“>”
  • 大于或等于 ">="
  • 小于“<”
  • 小于或等于“<=”
  • 包含在 ">= AND <=" 之间

我需要比较两个条件表达式并评估:

1)可能的值是否重叠?

“X > 1000”是否与“X > 999”重叠?是的。

2)如果有重叠,返回重叠:

“X > 1000”与“X > 999”的重叠是“X > 1000”

3) 条件表达式是否受另一个条件表达式约束?

"X < 999" 受 "X < 1000" 约束;“X < 1001”不受“X < 1000”的约束


到目前为止我所做的是建立所有可能组合的真值表并返回结果,但我想知道是否有更简单的方法来计算这些?

有任何理论/参考资料/C# 库吗?

0 投票
2 回答
6152 浏览

matlab - 求解超定约束系统

我有n实数变量(不知道,不在乎),我们称它们为X[n]. 我也有m >> n他们之间的关系,我们称他们R[m]为 ,形式为:

X[i] = alpha*X[j],alpha是一个非零正实数,i并且j是不同的,但该(i, j)对不一定是唯一的(即具有不同 alpha 因子的相同变量之间可能存在两种关系)

我正在尝试做的是找到一组alpha参数,以某种最小二乘的方式解决超定系统。理想的解决方案是最小化每个方程参数与其选择值之间的差异平方和,但我对以下近似值感到满意:

如果我将 m 个方程转换为 n 个未知数的超定系统,任何基于伪逆的数值求解器都会给我一个明显的解(全为零)。所以我目前所做的是在混合中添加另一个方程x[0] = 1(实际上任何常数都可以)并使用 Moore-Penrose 伪逆以最小二乘法求解生成的系统。虽然这试图最小化 的总和(x[0] - 1)^2和 的平方和x[i] - alpha*x[j],但我发现它是我的问题的一个很好且数值稳定的近似值。这是一个例子:

在八度:

a这会产生, b, c:的值,[0.99383; 0.51235; 0.19136] 这给了我以下(合理的)关系:

所以现在我需要在 C/C++/Java 中实现这个,我有以下问题:

有没有更快的方法来解决我的问题,或者我在生成超定系统和计算伪逆方面是否走在正确的轨道上?

m我目前的解决方案需要一个奇异值分解和三个矩阵乘法,考虑到可能是 5000 甚至 10000有点多。是否有更快的方法来计算伪逆(实际上,我只需要它的第一列,而不是给定矩阵的稀疏性(每行恰好包含两个非零值,其中一个始终为一个,另一个始终为负)

您建议为此使用哪些数学库?LAPACK好吗?

我也对任何其他建议持开放态度,只要它们在数值上稳定且渐近快速(比如说k*n^2,哪里k可以很大)。

0 投票
2 回答
139 浏览

image - 你如何缩放 n 个图像以适应一定的宽度?

我有 3 张图像我想并排放置在网页上,它们具有不同的比例,我希望它们最终共享一个特定的高度(待计算)。所以假设我的页面宽度是 't' 并且图像的当前尺寸是 h1 x w1, h2 x w2, h3 x w3

我为 2 个图像制定了一个公式,但我无法理解 3 个或更多图像:

0 投票
3 回答
5522 浏览

java - 如何在java中使用y = mx + b画一条线?

所以我有一个解决线性方程组的程序,但这不相关。所以发生的事情是我的程序以以下形式传递了两个线性方程:y = mx +b。我不知道如何使用 Graphics2D 来绘制它,我在弄清楚它时遇到了一些麻烦。现在我不知道,所以我没有可以给你看的代码,但我可以告诉你:

  • 我的程序正确地将 Ax + By = C 转换为 y = mx + B
  • 在可能使用 drawLine() 方法的某些代码中显示示例会很有帮助
0 投票
1 回答
82 浏览

math - 证明语言属性

我正在学习关于编程的正式基础的课程,我们所涵盖的一件事是证明语言的某些属性,我已经完成了大部分工作,但是我被这两个问题所困扰,因为我不知道如何证明他们。

它们如下:

A ^ (B ^ C) = (A ^ B) ^ C (我相信这是关联规则)

A ^ (BUC) = (A ^ B) U ( A ^ C) (分配规则)

在这些示例中,我使用 ^ 来表示连接