问题标签 [math.net]

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 投票
1 回答
1577 浏览

c# - 如何使用 MathNet.Symbolics 简化公式?

我正在使用该MathNet.Symbolics库来简化代数公式,例如

我正确地得到f="2*L+2*H"

当我需要减去其中两个公式时,我的问题就出现了:

在这里我得到f="2*L+2*H - (L+H)"而不是(L+H)

我应该怎么做才能得到正确的简化?

0 投票
0 回答
110 浏览

c# - math.net numerics columnsum 需要很长时间

math.net numerics中的矩阵/向量计算的最佳实践是什么asp.net/c#

我正在执行大量 (10000*30*35) 矩阵计算。我正在使用Intel MKL providerC#.Net TPL但在 16 核系统上仍然需要约 40 秒,这是不可接受的,试图将其控制在 3-4 秒以下。

都是稠密矩阵。当我使用 dotTrace 分析器工具进行检查时,columnsum 需要更多时间。

有什么想法吗??

下面是示例代码:

0 投票
2 回答
3987 浏览

c# - Parallel.For 不使用所有内核

我正在使用块Math.Net Numerics内的并行进行繁重的数学计算Parallel.For

当我在具有 4 个内核(2*2)的本地系统中运行代码时,它使用了所有 4 个内核。

但是当我在我们的 8 核(4*2)开发服务器上运行相同的代码时,它只使用了 4 个核。

我试过设置 MaxDegreeOfParallism,但无济于事。

知道为什么没有使用所有内核。

下面是示例代码。

0 投票
0 回答
48 浏览

c# - 无法在矩阵列表上应用 Distinct mathdotnet C# mathdotnet

我有一个矩阵列表(Math.net.Numerics),我想在其上查找是否全部不同。我做了 List.Distinct().Count()。但在特定情况下,列表只有 1 个 3x5 矩阵,并且在相同的情况下应用 Distinct 会让我出错。如果矩阵有 2 行,我发现存在相同的错误。但是 1 行或多于 3 行不会产生任何错误。

更新:

错误:索引超出了数组的范围。

0 投票
2 回答
3140 浏览

c# - 求数学网络矩阵的协方差

我正在使用 MathNet Numerics 矩阵并试图找出矩阵的协方差。

我们如何找到矩阵的协方差?

我们有方法可以在 Statistics 命名空间下找到两个 IEnumerable 之间的协方差。

http://numerics.mathdotnet.com/api/MathNet.Numerics.Statistics/Statistics.htm

但我不知道如何使用它来查找矩阵。

例如:在 matlab/octave 中

在此处输入图像描述

在 C# 中也是如此。我们如何实施?

0 投票
2 回答
860 浏览

c# - 使用 mathdotnet 的 Matlab 等效函数

我们如何使用 math.net 库在 C# 中实现下面的 matlab 函数。

多元正态随机分布- http://in.mathworks.com/help/stats/mvnrnd.html

同样在 math.net 函数下方不返回任何结果。我已经尝试过其他方法,例如 Selectpermutations/SelectVariations 有/没有重复。但是没有一个方法返回任何结果。

在此处输入图像描述

我错过了什么吗??

0 投票
1 回答
855 浏览

c# - 使用 MathNet Symbolics 提取常用术语

我正在使用 MathNet Symbolics 来处理我正在处理的程序的符号代数部分。一般用途是创建一对符号公式,然后将这两个公式分开。这在大多数情况下都非常有效。但是,有时,它不想做更复杂的简化。例如:

通过一些工作,我已经能够将它w从等式中消除,因为它在所有方面都是顶部和底部:

但是,我无法弄清楚如何让它找到常用术语:

并消除这些术语:

我一直使用 Wolfram Alpha 作为我检查工作的黄金标准。我下午大部分时间都在研究 LinqPad 的代码,这让我消除了w

有人可以给我指点如何继续使用 MathNet 吗?我尝试了Rational和的各种功能组合Polynomial,但无法超越这一点。

0 投票
2 回答
353 浏览

c# - MathNet - 'System.TypeInitializationException'

我正在尝试在 C# 中使用 MathNet 解析表达式字符串,当我尝试此代码时:

var h = MathNet.Symbolics.Infix.ParseOrUndefined("1/(a*b)");

它抛出异常。

“在 MathNet.Symbolics.dll 中发生了“System.TypeInitializationException”类型的未处理异常

附加信息:'.$Infix' 的类型初始值设定项引发了异常。”

我哪里错了?我使用了 MathNet v.0.6.0.0Visual Studio 2012 Express

更新

它已通过 Windows 的修补程序解决,这是我不更新的坏处。

0 投票
1 回答
107 浏览

c# - Infix.ParseOrUndefined 序列顺序

我正在使用 MathNet 并尝试2x^2 + x使用

但它返回x + 2x^2。我想保持源代码的顺序,因为我将在 LaTex 中使用LaTeX.Print.

解析方程时如何保持顺序?

0 投票
1 回答
1639 浏览

symbolic-math - 使用 Math.NET Symbolics 求解线性方程

我尝试修改此处给出的代码来求解 x 值的线性方程。如

(3*x+7)/3+(2*x)/9=6/10

首先将其拆分为左右两个表达式,然后使用“SolveSimpleRoot”,它可以给出 x 的值。但是如果线性方程写成

(3+2*x)/(5*x-2)=7,您可以将其乘以 (5*x-2) 并且确实是线性的,然后代码在

错误:

输入序列为空。参数名称:source

如果表达式像 (2x+7)/x=2 一样,它也无法解决,它仍然扩展为线性。

知道为什么吗?

代码基本上是: