沃尔夫拉姆 计算符合知识

沃尔夫拉姆新闻

最佳博客

工作和游戏提示:启动Wolfram提示库

提示是指如何引导LLM做某事。从某种意义上讲,LLM总是有很多“潜在能力”(例如,通过在数十亿个网页上进行培训)。但是,提示——在某种程度上,这在科学上仍然是一个谜——是什么让一个“工程师”能够发挥出这种能力的一部分。

公告和活动

树木继续生长🌱🌳

去年我们发布了Wolfram语言以下是自那时以来树中的更新,包括13.1中的最新功能。

 

树木继续生长🌱🌳

12.3版我们介绍了作为Wolfram语言在版本13.0中,我们为树添加了多种样式选项,在版本13.1中,我们添加了更多样式以及各种新的基本功能。

对基本原则的重要更新13.1版中的构造是通过在关联中指定分支来命名每个节点上的分支的能力:

&#10005

现在,所有树函数都支持关联:

&#10005

在树的许多用途中,节点的标签是至关重要的。但是,特别是在更抽象的应用程序中,人们经常希望处理未标记的树。在13.1版中,函数未标记树(大致类似于无方向图)取一个带标签的树,基本上删除所有可见的标签。这是一个标准的标签树

&#10005

下面是未标记的模拟:

&#10005

在12.3版中,我们引入了表达式树用于从一般符号表达式派生树。我们的计划是有一个广泛的“特殊树”,适合代表不同的特定类型的符号表达。例如,我们在13.1版中通过以下概念开始此过程:数据集树木”。这是表达式树将数据集转换为树:

&#10005

现在是树表达式“反转”,并生成数据集:

&#10005

(记住惯例*函数返回树;虽然*函数获取树并返回其他内容。)

下面是一个更复杂的数据集树的“图形渲染”:

&#10005

新功能树剩余计数让您计算树上叶节点的总数(基本上类似于叶数(LeafCount)对于一般符号表达式):

&#10005

版本13.1中的另一个新功能通常有助于在不检查每个节点的情况下了解树的结构根目录树。这是一棵随机树:

&#10005

根目录树可以获得“接近根”的子树:

&#10005

它还可以得到一个“远离叶子”的子树,在这种情况下,它可以向下到树中级别为-2的元素:

&#10005

在某些方面,树的样式与图形的样式类似,但由于树的层次性,存在一些显著差异。默认情况下,插入特定树元素的选项仅影响该树元素:

&#10005

但您可以提供规则,指定该元素下的子树中的元素如何受到影响:

&#10005

在版本13.1中,现在有详细的控件可用于设置树中节点和边的样式。下面是一个为节点的父边设置样式的示例:

&#10005

选项,如树元素样式根据元素的位置确定样式。树元素样式函数另一方面,通过将函数应用于每个节点的数据来确定样式:

&#10005

这将使用每个节点的数据和位置信息:

&#10005

类似于顶点形状函数对于图形,树元素形状函数提供了一种通用机制来指定如何呈现树的节点。此命名设置用于树元素形状函数使每个节点都显示为圆:

&#10005
公告和活动

13.1新增:视觉效果和美化

去年我们发布了Wolfram语言以下是自那时以来视觉效果和美化的更新,包括13.1中的最新功能。

 

视觉效果和美化

起初,它似乎只是一个次要功能。但一旦我们实现了它,我们意识到它比我们预期的要有用得多。正如您可以使用图形对象的颜色设置图形对象的样式一样(以及版本13.0,它的填充模式),现在在13.1版中,您可以使用其阴影设置样式:
&#10005
拖放阴影被证明是“将图形栩栩如生”的好方法
&#10005
或者强调一个因素而不是其他因素:
&#10005
它同样适用于地理图形:
&#10005
拖放阴影允许对阴影进行详细控制:阴影的方向、模糊程度和颜色:
&#10005
下拉阴影比人们想象中的“引擎盖下”要复杂得多。如果可能的话,它实际上可以使用硬件GPU像素着色器,这与我们自那时以来使用的技术相同12.3版为3D图形实现基于材质的表面纹理。在13.1版中,我们已经明确公开了一些众所周知的3D着色底层类型。这是一个测地线多面体(是的,这是13.1版中的另一个新函数),添加了曲面法线(再次使用新函数估计点法线):
&#10005
下面是最基本的着色形式:每个面的平面着色(在这种情况下,镜面反射度不会“捕捉”任何面):
&#10005
现在是Gouraud明暗处理,有点小平面的闪烁:
&#10005
然后是Phong着色,看起来更自然一些:
&#10005
从那以后版本1.0,我们有一种交互式的方式来旋转和缩放到三维图形。(是的,34年前,这种机制有点原始,但它很快就发展到了现代形式。)但在13.1版中,我们添加了一些新功能:在3D图形中“推拉”的功能,模拟实际进入图形的物理版本时会发生的情况,而不是仅仅缩放相机:
&#10005
是的,事情可能会变得有点超现实(或“艰难”)——在这里推拉,然后缩小:
公告和活动

13.1中的新功能:超越可列表性:引入线程

去年我们发布了Wolfram语言以下是自那时以来列表功能的更新,包括13.1中的最新功能。

 

超越可列表性:引入线程

从Mathematica和Wolfram语言我们已经有了可列表性的概念:例如,如果添加两个列表,则会添加其相应的元素:
&#10005
这是一种非常方便的机制,通常可以实现您想要的功能。35年来,我们一直没有真正考虑过扩展它。但如果我们看一下编写的代码,经常会发现有些部分基本上实现了类似于listability的东西,但更通用一些。而且在版本13.1我们有了一个新的符号结构,螺纹连接的,这有效地允许您轻松概括列表性。考虑:
&#10005
这使用了普通的可列表性,有效地计算:
&#10005
但是,如果您想“向下一级”并将{x,y}线程插入第一个列表的最低部分,该怎么办?现在你可以使用螺纹连接的为此:
&#10005
就其本身而言,螺纹连接的只是一个符号包装器:
&#10005
但一旦它出现在函数中Plus(加)-具有属性的可列出,它指定应在内部指定的内容之后应用列表性螺纹连接的在最低级别“线程化”。这是另一个例子。创建列表:
&#10005
然后我们应该如何将每个元素乘以{1,–1}?我们可以通过以下方式实现:
&#10005
但现在我们有了螺纹连接的,所以我们可以说:
&#10005
你可以给螺纹连接的作为任何listable函数的参数,而不仅仅是Plus(加)次数:
&#10005
你可以使用螺纹连接的和普通的可列表性加在一起:
&#10005
你可以有几个螺纹连接的同时:
&#10005
螺纹连接的顺便说一下,它的名称来自函数螺纹,它显式地执行“线程处理”,如:
&#10005
默认情况下,螺纹连接的将始终进入列表的最低级别:
&#10005
&#10005
下面是一个使用螺纹连接的这样地。3D彩色图像中的数据由三个RGB值组成的等级为3的数组组成:
&#10005
这会将每个RGB三元组乘以{0,1,2}:
&#10005
大多数时候,您要么想使用在列表顶层操作的普通列表功能,要么想使用默认形式的螺纹连接的,它在列表的最低级别运行。但是螺纹连接的有一种更通用的形式,在这种形式中,您可以明确表示希望它在什么级别运行。以下是默认情况:
&#10005
这里是一级,就像普通的列表一样:
&#10005
现在进入第二级:
&#10005
螺纹连接的提供了一种非常方便的方式来执行各种阵列组合操作。当被“线程化”的对象本身具有多个级别时,会有额外的复杂性。在这种情况下,默认情况下是将被线程化的对象中的最低级别与被线程化对象的最低级别对齐:
&#10005
以下是“普通列表”行为:
&#10005
对于我们在这里看到的阵列,默认行为相当于:
&#10005
有时用这样的形式写出来会更清楚
&#10005
也就是说螺纹连接的与外部阵列的第二级对齐。通常,默认情况下相当于–1→–1,指定螺纹连接的应该与外部数组的底部级别对齐。
公告和活动

2022年Wolfram技术会议

三十多年来,Wolfram Research汇集了全球最有趣的Wolfram技术用户群,在其年度活动中进行网络交流和学习Wolfram技术会议今年,我参加了我的第一次会议。我既不是计算科学的专家,也不是实践者,而是技术行业的爱好者,也是Wolfram的一名相对较新的员工。

我参加会议的目的是坐下来,尽可能多地参与小组讨论和与其他与会者和演讲者的讨论。看到Wolfram技术栈在这么多独特的应用程序中被使用,我感到敬畏。人们立即明确表示,尽管在我们的博客,我真的不知道有多少不同的领域正在使用Wolfram技术进行创新。

公告和活动

13.1新增:大学与分数微积分

去年我们发布了Wolfram语言以下是自那时以来大学和分数微积分的更新,包括13.1中的最新功能。

 

大学微积分

转变大学微积分是Mathematica的早期成就之一。但即使是现在,我们仍在继续添加功能,以使大学微积分更容易、更顺畅地实现,并更容易与应用程序连接。我们一直都有这个功能D类在某一点上进行导数。现在,在13.1版中,我们添加了隐式D寻找隐式导数。

例如,它可以找到xy公司关于x个,使用由约束隐式确定x个2 +2 = 1:

&#10005

去掉第一个参数,你就会得到标准的大学微积分“求曲线切线的斜率”:

&#10005

到目前为止,所有这些都是对我们长期存在的微积分功能的一个相当简单的重新打包。实际上,这些隐式导数在Wolfram|Alpha中已经存在很长时间了。但对于Mathematica和Wolfram语言我们希望一切尽可能通用,并支持微分几何、渐近性和微分方程隐式解的验证等方面的内容。所以除了普通的学院级微积分外,隐式D可以做一些事情,比如在由两个曲面的交点定义的曲线上找到二阶隐式导数:

&#10005

在Mathematica和Wolfram语言中整合是一个只获取答案的函数。(在Wolfram|Alpha中,你也可以要求一个循序渐进的解决方案。)但特别是出于教育目的,有时也为了达到可能的极限,分步进行积分会很有用。因此,在13.1版中,我们添加了函数IntegrateChangeVariables(集成更改变量)用于改变积分中的变量。

一个直接的问题是,当指定与集成[...],整合将继续进行积分:

&#10005

但对于IntegrateChangeVariables(集成更改变量)你需要一个“未完成”的积分。你可以使用非活动,如:

&#10005

鉴于此非活动形式,我们可以使用IntegrateChangeVariables(集成更改变量)要进行“三角替换”:

&#10005

结果又是一个非活动形式,现在对积分的表述有所不同。激活继续并实际进行积分:

&#10005

IntegrateChangeVariables(集成更改变量)可以处理多重积分以及命名坐标系。这里,它将二重积分转换为极坐标:

&#10005

虽然积分中变量的基本“结构”变换相当简单,但IntegrateChangeVariables(集成更改变量)要复杂得多。“大学级”变量的变化通常都经过精心安排,以便很容易地显示出来。但在更一般的情况下,IntegrateChangeVariables(集成更改变量)最后不得不对几何区域进行非平凡变换,对受某些约束的被积函数进行困难的简化,等等。

除了改变积分中的变量外,13.1版还引入了DSolveChangeVariables解决方案更改变量用于改变微分方程中的变量。这里,它将拉普拉斯方程转换为极坐标:

&#10005

有时,改变变量可能只是一种方便。但有时(想想广义相对论),它会导致人们对一个系统产生完全不同的看法。例如,这里的指数变换将通常的Cauchy–Euler方程转换为常数形式:

&#10005

分数微积分

的一阶导数x个2是2x个; 二阶导数是2。但什么是导数?这是一个甚至在微积分的第一年就被问到的问题(例如莱布尼茨)。到了19世纪,黎曼和刘维尔已经给出了答案,在13.1版中,现在可以通过新的分数D:

&#10005

是的,再做一次导数,就可以得到一次导数:

&#10005

在更一般的情况下,我们有:

&#10005

这甚至适用于负导数,因此,例如,(-1)st导数是一个普通积分:

&#10005

计算分数导数可能至少和计算积分一样困难。但是分数D仍然可以经常这样做

&#10005

尽管结果可能很快变得相当复杂:

&#10005

为什么分数D一个单独的函数,而不仅仅是D类? 我们讨论了很长时间。我们引入显式分数D分数导数没有一个唯一的定义。事实上,在13.1版中,我们还支持Caputo分数导数(或差分积分)卡普托D.

对于的导数x个2,答案仍然是一样的:

&#10005

但只要函数在x个=0答案可能不同:

&#10005

卡普托D在处理拉普拉斯变换和微分方程时,分数微分是一个特别方便的定义。在13.1版中,我们现在只能计算卡普托D还可以进行积分变换,并求解涉及积分变换的方程。

这是一个一阶微分方程

&#10005

和一号订单

&#10005

以及πth阶:

&#10005

注意的外观MittagLefflerE公司.此函数(我们在中介绍的9.0版)对分数导数起着同样的作用费用普通衍生品的交易。

公告和活动

宣布2022年Wolfram创新者奖得主

我们的年度Wolfram技术会议2022年10月18日至21日,我们在美国伊利诺伊州香槟市总部举行了一次住院会议,会议期间我们最喜欢的活动之一是创新者奖仪式和主题晚宴斯蒂芬·沃尔夫勒姆表彰了八位来自不同领域、学科和世界的杰出个人和团队,他们以创新和激动人心的方式应用Wolfram技术,表现出卓越的计算能力。