0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Wolfram语言与Mathematica 13.2 版本(4)

哲想软件 来源:哲想软件 2023-02-17 10:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

显著加快多项式运算速度

几乎任何代数计算最终都会以某种方式涉及多项式。多项式从一开始就是Mathematica 和Wolfram语言中优化的部分。事实上,在超过四分之一个世纪的时间里,我们对它们进行的基本操作几乎不需要更新。但是现在在版本13.2中——由于新的算法和新的数据结构,以及使用现代计算机硬件的新方法——我们正在更新一些核心多项式运算,并使它们大大加快。顺便说一下,我们也得到了一些新的多项式函数。

这是两个多项式的乘积,展开:

ea680388-ae56-11ed-bfe3-dac502259ad0.png

像这样的分解多项式几乎是即时的,并且从版本1 开始就一直如此:

ea8ed13e-ae56-11ed-bfe3-dac502259ad0.png

但是现在让我们把它做得更大:

eaad4af6-ae56-11ed-bfe3-dac502259ad0.png

展开多项式中有999 项:

eacc8ede-ae56-11ed-bfe3-dac502259ad0.png

分解这不是一个简单的计算,在版本13.1 中大约需要19 秒:

eae8476e-ae56-11ed-bfe3-dac502259ad0.png

但是现在,在版本13.2 中,同样的计算需要0.3 秒,快了近60 倍:

eb017a04-ae56-11ed-bfe3-dac502259ad0.png

很少有任何东西能提高60倍。但这是其中一种情况,事实上,对于更大的多项式,该比率将进一步稳步增加。但这仅仅是只与晦涩的大多项式有关的东西吗?嗯,没有。尤其是因为事实证明,大多项式出现在各种重要地方的“引擎盖下”。例如,看似无害的物体

eb24dfc6-ae56-11ed-bfe3-dac502259ad0.png

可以作为代数数进行操作,但多项式最小:

eb3a8132-ae56-11ed-bfe3-dac502259ad0.png

除了分解之外,版本13.2还显著提高了多项式结果、GCD、判别式等的效率。所有这些都使得对多项式线性代数的变革性更新成为可能,即对元素为(单变量)多项式的矩阵的操作。

下面是一个多项式矩阵:

eb5d8768-ae56-11ed-bfe3-dac502259ad0.png

这是矩阵的力量:

eb7ccc7c-ae56-11ed-bfe3-dac502259ad0.png

而这个的决定因素:

ebb0a484-ae56-11ed-bfe3-dac502259ad0.png

在13.1 版中,这看起来并不那么好;结果未展开,如下所示:

ebcb7ebc-ae56-11ed-bfe3-dac502259ad0.png

在版本13.2 中,大小和速度都得到了显著改进。这是一个更大的案例- 在 13.1中计算需要一个多小时,结果的叶子数量惊人地达到178 亿

ebf3b972-ae56-11ed-bfe3-dac502259ad0.png

ec1a5cd0-ae56-11ed-bfe3-dac502259ad0.png

多项式线性代数在“幕后”用于许多领域,特别是在处理线性微分方程、差分方程及其符号解时。在13.2版本中,不仅多项式MatrixPower和Det,而且LinearSolve,Inverse,RowReduce,MatrixRank和NullSpace都得到了显着的加速。

除了显著的速度改进之外,版本13.2 还增加了一个多项式功能,我碰巧已经等待了30 多年:有限域上的多元多项式分解:

ec3b616e-ae56-11ed-bfe3-dac502259ad0.png

事实上,查看我们的档案,我发现许多请求至少可以追溯到1990 年——来自相当多的人——要求这种能力,尽管1991 年的内部说明很有魅力地指出:

ec540c3c-ae56-11ed-bfe3-dac502259ad0.png

是的,没错。但是31 年后,在13.2 版中,它完成了!

ec82784c-ae56-11ed-bfe3-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Wolfram
    +关注

    关注

    0

    文章

    16

    浏览量

    7867
  • 函数
    +关注

    关注

    3

    文章

    4406

    浏览量

    66817
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    41362

原文标题:Wolfram语言与Mathematica 13.2 版本(4)

文章出处:【微信号:哲想软件,微信公众号:哲想软件】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    4章 C语言基础以及流水灯的实现(4.7 4.8)

    1.1 Keil软件延时 C语言常用的延时方法,有如图4-2所示4种。 图4-2  C语言延时方法 这4
    的头像 发表于 11-19 17:20 477次阅读
    第<b class='flag-5'>4</b>章 C<b class='flag-5'>语言</b>基础以及流水灯的实现(4.7 4.8)

    C语言和单片机C语言有什么差异

    的目标代码短、运行速度高、存储空间小、符合C语言的ANSI标准,生成的代码遵循Intel目标文件格式,而且可与A51汇编语言PL/M51语言目标代码混合使用。 4、C只是一种高级
    发表于 11-14 07:55

    时空壶W4Pro:商务跨语言场景的高效沟通解决方案

    在全球化商务交流日益频繁的当下,跨语言沟通的效率与准确性直接影响合作推进节奏。时空壶W4ProAI同传耳机凭借针对性的技术优化与功能设计,在面对面商务洽谈、跨国行业展会等核心商务场景中,为用户提供
    的头像 发表于 09-08 16:53 1003次阅读
    时空壶W<b class='flag-5'>4</b>Pro:商务跨<b class='flag-5'>语言</b>场景的高效沟通解决方案

    请问如何使用新唐 M0/M23 Keil 授权版本编译 M4 系列?

    如何使用新唐 M0/M23 Keil 授权版本编译 M4 系列?
    发表于 08-28 08:07

    求助,关于NanoEdge AI Studio生成的库交叉编译器版本疑问求解

    我使用的是NanoEdge AI Studio v4.3.1,跟着官方交教程生成了库libneai.a,我通过metadata.json文件得知生成这个库的交叉编译器版本是\"
    发表于 08-08 07:25

    匠芯创发布新版GUI开发工具 新增多国语言设置等功能

    。此次版本更新,为用户带来了诸多实用的新功能,进一步提升了设计体验和开发效率。 在V1.3.0版本中,AiUIBuilder新增了 多国语言切换功能,支持设计界面显示刻度尺,拖动控件与相邻控件对齐停靠
    发表于 07-16 13:54

    版本控制教程】如何使用Unreal Engine 5 + UE源代码控制(Perforce P4

    项目越大,越需要靠谱的版本控制系统。Perforce P4不仅是Epic官方推荐的源代码控制工具,更是大厂团队协作的核心支持之一。如何配置P4+UE?手把手教你怎么用↓↓↓
    的头像 发表于 06-25 11:22 1137次阅读
    【<b class='flag-5'>版本</b>控制教程】如何使用Unreal Engine 5 + UE源代码控制(Perforce P<b class='flag-5'>4</b>)

    新品 | Module LLM Kit,离线大语言模型推理模块套装

    推理与数据交互需求。ModuleLLM是一款集成化的离线大语言模型(LLM)推理模块,专为需要高效、智能交互的终端设备设计。Module13.2LLMMate模块
    的头像 发表于 03-28 18:49 891次阅读
    新品 | Module LLM Kit,离线大<b class='flag-5'>语言</b>模型推理模块套装

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试

    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta4版本测试
    的头像 发表于 03-05 10:53 879次阅读
    【北京迅为】itop-3568 开发板openharmony鸿蒙烧写及测试-第2章OpenHarmony v3.2-Beta<b class='flag-5'>4</b><b class='flag-5'>版本</b>测试

    了解DeepSeek-V3 和 DeepSeek-R1两个大模型的不同定位和应用选择

    Mathematica Kernel + LLM 通过Wolfram Engine插件直接调用符号计算能力,解决R1无法处理的超复杂方程(如非线性电路频域分析)。 示例场景 :自动将网表文件转换为状态空间方程并求解
    发表于 02-14 02:08

    IU5383太阳能版本IU5380,最大3A同步降压型2~4节多类型锂电池充电管理IC

    IU5383太阳能版本IU5380,最大3A同步降压型2~4节多类型锂电池充电管理IC
    的头像 发表于 02-11 21:07 939次阅读
    IU5383太阳能<b class='flag-5'>版本</b>IU5380,最大3A同步降压型2~<b class='flag-5'>4</b>节多类型锂电池充电管理IC

    gitee 支持的编程语言有哪些

    Gitee(码云)是一个基于 Git 的代码托管和研发协作平台,类似于 GitHub 和 GitLab。它支持多种编程语言,允许开发者托管和管理代码,进行版本控制,以及协作开发。以下是一些
    的头像 发表于 01-06 09:50 1105次阅读

    如何优化 Mathematica 代码性能

    1. 理解 Mathematica 的评估机制 延迟评估(Hold) :使用 Hold 或其变体(如 HoldFirst 、 HoldAll 等)可以控制函数的评估时机,减少不必要的计算。 立即评估
    的头像 发表于 12-26 15:43 1731次阅读

    Mathematica 在数据分析中的应用

    数据分析是现代科学研究和商业决策中不可或缺的一部分。随着数据量的爆炸性增长,对数据分析工具的需求也在不断增加。Mathematica,作为一种强大的计算软件,以其独特的符号计算能力和广泛的内置函数库
    的头像 发表于 12-26 15:41 1076次阅读

    AlmaLinux10.0 Beta版本推出 代号“紫狮”

    准备。 AlmaLinux 10 Beta版在功能上进行了全面升级和优化。核心组件方面,该版本加强了开发流程、提升了安全性,并优化了性能工作流。编程语言、工具链及编译器也得到了更新,为用
    的头像 发表于 12-12 13:51 935次阅读