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

    浏览量

    7891
  • 函数
    +关注

    关注

    3

    文章

    4421

    浏览量

    67822
  • 数据结构
    +关注

    关注

    3

    文章

    573

    浏览量

    41675

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    深入解析MAX5926:1V - 13.2V n通道热插拔控制器

    深入解析MAX5924/MAX5925/MAX5926:1V - 13.2V n通道热插拔控制器 在电子设备的设计中,热插拔功能是一个关键需求,它能确保在带电背板上安全地插入和移除电路板。今天我们要
    的头像 发表于 02-10 15:45 267次阅读

    MAX5924:1V 至 13.2V n 通道热插拔控制器的设计指南

    MAX5924/MAX5925/MAX5926:1V 至 13.2V n 通道热插拔控制器的设计指南 一、引言 在电子设备的设计中,热插拔功能是一个重要的特性,它允许在不关闭系统的情况下安全地插入
    的头像 发表于 02-10 15:35 190次阅读

    MAX5925:1V - 13.2V n通道热插拔控制器的卓越性能与应用

    MAX5924/MAX5925/MAX5926:1V - 13.2V n通道热插拔控制器的卓越性能与应用 在电子设备的设计中,热插拔功能至关重要,它能确保在带电背板上安全地插入和移除电路板,避免
    的头像 发表于 02-10 15:30 275次阅读

    嵌入式开发绕不开的版本管理工具——git

    Git是一个开源的分布式版本控制系统,由Linux之父Linus Torvalds于2005年用C语言开发,主要是为了帮助管理Linux内核开发而创建的一个开放源码的版本控制软件。Git与常用的
    的头像 发表于 01-30 16:47 1461次阅读

    C语言主要特点

    指针类型数据,使用十分灵活和多样化,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。 4.具有结构化的控制语句。用函数作为程序的模块单位,便于实现程序的模块化。C语言是完全模块化和结构化的语言
    发表于 01-05 07:41

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

    1.1 Keil软件延时 C语言常用的延时方法,有如图4-2所示4种。 图4-2  C语言延时方法 这4
    的头像 发表于 11-19 17:20 982次阅读
    第<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

    Quartus Prime Pro 25.1版本的安装和使用

    如果用户开发板是基于Agilex 3、Agilex 5等高阶器件,则需要安装高版本的Quartus软件比如Quartus Prime Pro 25.1版本,这个版本在安装包和license获取(免费)等方面跟以往的Quartus
    的头像 发表于 10-07 13:06 3123次阅读
    Quartus Prime Pro 25.1<b class='flag-5'>版本</b>的安装和使用

    汽车电子开发必看:基于Perforce P4实现ISO 26262合规认证的版本管理解决方案

    目前全球唯一通过ISO 26262认证的版本控制系统Perforce P4!从代码管理到审计追溯,保障研发的每一步都经得起严苛审核。龙智正在为更多车企和零部件厂商提供合规支持,欢迎交流~
    的头像 发表于 09-09 14:38 2401次阅读
    汽车电子开发必看:基于Perforce P<b class='flag-5'>4</b>实现ISO 26262合规认证的<b class='flag-5'>版本</b>管理解决方案

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

    在全球化商务交流日益频繁的当下,跨语言沟通的效率与准确性直接影响合作推进节奏。时空壶W4ProAI同传耳机凭借针对性的技术优化与功能设计,在面对面商务洽谈、跨国行业展会等核心商务场景中,为用户提供
    的头像 发表于 09-08 16:53 1456次阅读
    时空壶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 1797次阅读
    【<b class='flag-5'>版本</b>控制教程】如何使用Unreal Engine 5 + UE源代码控制(Perforce P<b class='flag-5'>4</b>)

    主流版本控制工具Git vs Perforce P4:架构模式、性能、大文件管理及分支管理对比详解

    Git vs Perforce P4,如何选型?架构模式、性能、大文件管理、分支策略四大维度对比,帮你全面了解两者的核心差异,选择更合适你团队需求的版本控制系统。
    的头像 发表于 06-13 14:52 941次阅读
    主流<b class='flag-5'>版本</b>控制工具Git vs Perforce P<b class='flag-5'>4</b>:架构模式、性能、大文件管理及分支管理对比详解