精品:Extreme Numerics.NET 9.0 Crack

Extreme Numerics.NET 9.0

Extreme Numerics.NET 是一个 .NET 库,提供一套全面的数学和统计工具。它使开发人员能够为金融、工程和科学等各个领域构建技术和统计计算应用程序。这个库超越了基本的计算,涵盖了线性代数(想想求解复杂的方程组)、数值积分/微分和统计建模等功能。

Extreme Numerics.NET 9.0 版本扩展了其功能,包括张量,张量是机器学习和 AI 中常用的多维数组。这种新的张量类型提供了提高性能的功能,例如指定操作目标和利用标准 C 样式之外的内存布局。此外,它还支持标量张量(零维张量)、沿特定维度的聚合、选择性操作的条件评估,并且专为扩展到 GPU 等平台而设计。这些功能为开发人员提供了一个强大的工具,用于在其 .NET 应用程序中使用张量。

9.0 中的更新

特征

线性代数

  • 张量- 张量是向量和矩阵到任意维度的泛化。随着机器学习和人工智能等领域的日益普及,Numerics.NET 已添加对张量的支持。Numerics.NET 张量类型中的一些可用功能包括:
    • 设置操作的目标,如 Tensor.Add(left, right, result)。这可以避免不必要的分配,并可以显著提高性能。
    • 除了连续的 C 风格之外的内存布局(最后一个索引变化最快)。张量库的大部分功能和表现力源自能够重新排列数据的逻辑布局,同时保持内存布局不变。
    • 标量张量。标量张量是维度为零的张量。这在许多算法中很有用,尤其是在处理不同阶的张量时。
    • 沿特定维度进行聚合。
    • 条件评估。当你想仅将操作应用于张量的某些元素时,这很有用。
    • 支持 GPU 和其他平台。此张量类型设计为可扩展的,因此,当提供合适的实现时,相同的代码可以在任何平台上工作,包括 GPU。
  • 基于 Memory<T> 的向量和矩阵存储
    • 在以前的版本中,向量和矩阵始终使用托管数组来存储。这在使用某些本机代码时会产生损失,因为必须在托管和非托管内存之间复制数据。
    • 在此版本中,向量和矩阵现在支持使用 Memory<T> 来存储元素。这意味着您可以直接从本机内存创建向量和矩阵。无需再进行复制。
  • Spanified 核心 API - 线性代数方法的核心实现已重新调整为使用 Span<T> 而不是数组。这是一项重大举措,可在未来实现更好的性能和更大的灵活性。一个缺点是新 API 与 C++/CLI 不兼容,后者不支持 Span<T> 之类的引用结构。因此,不再有混合模式本机程序集。
  • Schur 和 QZ 分解- 此版本中添加了两个新的矩阵分解。Schur 分解和 QZ 分解。

数学

  • 通用算术
    • 通用算术实现基于静态类 Operations<T>,该类提供所有常见的数字运算。得益于 JIT 优化,性能与硬编码类型相当。
    • Operations<T> 类现在完全支持复数和可空数值类型。此类已更新,包含最近 .NET 版本中对 System.Math 类和数值类型的所有最新更新。
    • 所有特殊数字类型(Quad、BigInteger、BigRational、BigFloat)都实现了 .NET 7.0 中引入的 INumber<T> 接口。仅对于 .NET 7.0+,已添加一些最常见算法的通用实现。类名相同,但有一个额外的类型参数,必须实现 INumber<T>。要查找类,请将 .Generic 添加到原始(非通用)类的命名空间。
    • 以下算法具有通用实现:
      • 数值积分。
      • 多项式曲线拟合,包括使用切比雪夫多项式。
      • 解一元方程。
  • 随机数生成器
    • 添加了新的随机数生成器 PCG32,它快速而紧凑。它是新的默认随机数生成器。
    • .NET 的内置随机数生成器最近添加了一些新方法。其中包括 GetItems、NextInt64 和 NextSingle。这些方法的实现已添加到扩展的随机数生成器类中,因此它们也可用于早期的 .NET 版本。
    • GetItems 方法(在 .NET 8.0 中引入)返回从一组可替换选项中随机选择的一组项目。这意味着相同的值可以在输出中出现多次。许多应用程序需要无需替换即可选择的项目。这意味着每个选项最多可以在输出中出现一次。新的 GetItemsWithoutReplacement 方法就是这样做的。
  • 特殊功能- 此版本扩展了对特殊功能的支持。添加了以下内容:
    • 用于复数论证的 Airy 函数。
    • 用于复数参数的贝塞尔函数。
    • 开尔文函数。
    • 首一埃尔米特多项式。
    • 雅可比多项式。
    • 伯努利数和伯努利多项式。
    • Hurwitz zeta 函数和广义谐波数。
    • 雅可比 Epsilon 和 Zeta 函数。
  • 其他改进
    • 增加了用于计算带矩阵范数的新优化方法。
    • 添加了基于 Goldfarb 和 Idnani 算法的改进的二次规划求解器。
    • 性能改进,包括 2D 集成、BigFloat 功能。

数据分析

  • 聚合器- 围绕聚合器(如 Sum、Variance)的 API 已经过彻底改进,变得更加一致且功能更加强大。
    • 以前,有两种类型的聚合器:普通聚合器始终返回特定类型的值。例如,计算数组的平均值始终返回双精度值。
    • 聚合器现在有一个 As<T> 方法,可让您更改这一点。输入元素将转换为结果类型。然后使用转换后的元素来计算聚合。
    • 这是一项重大变更。如果您的代码依赖于聚合器结果的类型,则需要对其进行更新。
    • 所有聚合器都支持跳过输入中的缺失值。更一般地说,您可以对输入值应用任何条件,只有满足条件的值才会包含在聚合中。
  • 累加器- 在内部,许多聚合器都使用累加器。这些是简单的结构,可以增量地累积聚合的结果。这些累加器现已在 Numerics.NET.DataAnalysis.Accumulators 命名空间中公开。一个累加器可以作为多个不同聚合器的基础。

统计数据

  • 新的概率分布- 添加了许多概率分布。以下连续分布是此版本中的新内容:
    • 反正弦分布。
    • 双曲线分布。
    • 逆卡方分布。
    • 逆伽马分布。
    • 逆高斯分布。
    • 逆威布尔分布。
    • 约翰逊分布家族。
    • 麦克斯韦分布。
    • 正态逆高斯分布。
    • 对数序列分布,一种在生物学和金融领域有应用的离散分布。
  • 统计模型的改进
    • 当执行逐步回归时,您现在可以获得有关每个步骤的详细信息。
    • 增加了线性回归的新诊断:预测残差误差平方和(PRESS)和预测 R2。
  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值