最新发布公告 γ 其他版本

随着另一个大版本的发布进入2018年:发布第11.3版的Wolfram语言和Mathematica

释放管道

去年九月我们发布了版本11.2沃尔夫拉姆语数学软件-有了各种新功能,包括100多个全新功能。11.2版是一个大版本。但今天我们有一个更大的版本:版本11.3那,除此之外,包括近120个全新功能.

今年6月23日,离我们发布版本1.0我为我们现在能够保持不少于30年的加速创新和发展而感到骄傲。这很关键,当然,事实上我们使用了沃尔夫拉姆语开发Wolfram语言,实际上,我们现在可以在11.3版本中添加的大部分内容都是可能的,因为我们正在利用我们已经系统地构建了30多年的庞大技术栈。

十一点三我们一直在进行大量的研发,我们的.1版本策略是使用它们来发布在特定时刻准备好的所有内容。有时.1版本中的内容可能无法完全填充新区域,其中一些函数可能被标记为“实验函数”。但是我们.1版本的目标是尽可能及时地提供我们研发工作的最新成果。整数(.0)版本的目标是更加系统化,全面覆盖新地区,在.1版本中逐步舍入已交付的内容。

除了11.3中的所有新功能外,我们的过程中有一个新的元素。几个月前开始,我们开始LiveStream内部设计审查会议当我们完成11.3版时我持有的。所以对于那些对“香肠的制作方法”感兴趣的人来说,现在有将近122会议记录时间,从中您可以确切地了解到11.3版中发布的一些东西最初是如何被发明出来的。在这篇文章中,我将链接到与我正在讨论的功能相关的特定录制的直播流。

有什么新鲜事吗?

好啊,那么11.3版有什么新功能呢?好,很多事情。而且,顺便说一句,11.3版现在两个版本都可以使用桌面(MAC)窗户,Linux)和钨云.(是的),它需要非常重要的软件工程,管理和质量保证以实现此类同步发布。)

一般来说,11.3版不仅增加了一些全新的方向,但是也扩展和加强了已经存在的东西。核心功能有很多增强:仍然更自动化的机器学习,更强大的数据导入,知识库预测预取,更多可视化选项,等。有各种各样的新便利:更容易接触到外部语言,即时输入标识,直接兑换,等。我们还继续在近年来特别积极发展的各种领域积极推进:机器学习,神经网络,音频,渐近微积分,外部语言计算,等。

下面是在11.3版中添加的新功能的Word Cloud:

词云

块链

关于11.3有很多事情要说,很难知道从哪里开始。但让我们从一些热门话题开始:区块链。正如我将在以后的文章中详细解释的那样,沃尔夫拉姆语言以其内在的能力来谈论现实世界,结果是唯一适合的定义和执行计算智能合约。金宝博188投注这些合同的实际Wolfram语言计算(目前)将在区块链之外进行,但语言必须能够连接到区块链-这就是11.3版中添加的内容。[直播设计讨论]

我们能做的第一件事就是询问世界上存在的区块链。下面是添加到以太坊主区块链的最新区块:

块链

γ

blockchainblockdata[-1,区块链基础->“以太坊”]

现在我们可以在该块中提取一个事务,然后开始看它:

块状碱

γ

区块链交易数据[\“735E1643C33C6A632ADBA18B5F321CE0E13B612C90A3B9372C7C9BEF447C947C”,区块链基础->“以太坊”]

然后我们就可以开始做数据科学或者任何我们想要的关于区块链结构和内容的分析。对于11.3版的初始版本,我们支持比特币和以太坊,尽管其他公共区块链将很快加入。

但在11.3版中,我们支持一个私有(比特币核心)Wolfram区块链,它托管在我们的钨云基础设施。我们将定期发布这个区块链的散列数据到世界各地(可能在实体报纸上)。它还可以在私狼云.

写东西到Wolfram区块链是非常容易的(而且,对,它只收取少量的云积分):

块状放置

γ

区块链输入[图形[圆形]]

结果是一个事务哈希,然后可以在区块链上查找:

区块链事务数据

γ

区块链交易数据[“9DB73562FB45A75DD810456D575ABBEB313AC19A2EC5813974C108A6935FCFB9”]

这是从区块链返回的圆圈:

块筛

γ

 
          

顺便说一句,这个搞砸Wolfram语言中的函数在11.3中进行了扩展,以立即支持加密货币区块链中使用的散列类型(如“ripemd160sha256”)。并通过使用加密以及相关功能,很快就有可能在区块链上建立一些相当复杂的东西。

系统建模

好吧,现在让我们来讨论一些非常大的新事物,至少在11.3版的实验形式中是如此。我们使用Wolfram语言的长期目标之一是能够计算世界上的任何事物。在11.3版中,我们添加了一个我们可以计算的主要新类:复杂工程(和其他)系统。[直播设计讨论]

早在2012年我们就推出了Wolfram系统建模器:一个工业强度系统建模环境,它被用来模拟像带有数万个组件的喷气式发动机这样的东西。SystemModeler允许您运行模型模拟,并使用复杂的图形界面开发模型。

我们在11.3版中添加的(实验性的)是内置功能对于从SystemModeler运行模型的Wolfram语言,或者实际上是Modelica语言.

让我们从一个简单的例子开始。这将从内置的模型存储库中检索特定的模型:

系统模型
γ

系统模型[“Modelica.Electrical.Analog.Examples.Idealtriaccircit”]

如果按[+]键,将看到更多详细信息:

理想三回路

但真正有趣的地方是你可以运行这个模型。系统模型图绘制“标准模拟”图模型的:

标准操作

γ

系统模型图[SystemModel[“Modelica.Electrical.Analog.Examples.Idealtriaccircuit”]

究竟什么下面的模型?好,它是一组描述系统各组成部分如何工作的动力学方程。对于这样一个非常简单的系统,这些方程已经相当复杂:

系统方程

γ

系统模型[“Modelica.Electrical.Analog.Examples.Idealtriaccircuit”][“SystemEquations”]

随着现实系统建模领域的发展,往往会有许多组件,有很多复杂的互动。系统建模器是为了让人们以图形的方式设计任意复杂的系统。将表示物理或其他对象的组件分层连接在一起。但最重要的是一旦你有了模型,然后,对于11.3版,您可以立即使用Wolfram语言处理它。

每个模型都有很多特性:

性质

γ

[系统模型[“Modelica.Electrical.Analog.Examples.Idealtriaccircuit”]\“属性”]

其中一个属性给出了表征系统的变量。而且,对,即使在这样一个非常简单的系统中,其中已经有很多:

系统变量

γ

[系统模型[“Modelica.Electrical.Analog.Examples.Idealtriaccircuit”]\“系统变量”]

下面是这些变量在模拟中的表现:

可变行为

γ

系统模型图[[SystemModel[“Modelica.Electrical.Analog.Examples.Idealtriaccircit”],“idealtriac.电容器.p.i”]]

我们要做的一件典型的事情就是研究系统参数更改时的行为.这模拟系统,其中一个参数发生变化,然后绘制一个图:

系统模型模拟

γ

SystemModelSimulate[[SystemModel[“Modelica.Electrical.Analog.Examples.Idealtriaccircuit”],{ V.freqHz”->2.5 }>
系统模型图

γ

系统模型图[%,“理想电容器.p.i”]

我们可以从这里继续对许多不同的可能输入或参数值进行采样,做一些像学习系统的鲁棒性改变。11.3版提供了一个非常丰富的环境,可以作为Wolfram语言的一个集成部分完成所有这些工作。

在11.3中已经有1000多个包括准备运行的模型-电气方面,机械的,热的,水力的,生物和其他系统。下面是一个稍微复杂一点的例子汽车的核心部件

系统模型

γ

系统模型[“IndustryExamples.AutomotiveTransportation.Driveline.\DrivelineModel”]

如果展开图标,您可以将鼠标悬停在零件上以了解它们是什么:

驱动模型

这对模型进行了快速总结,显示它涉及1110个变量:

总结

γ

系统模型[“IndustryExamples.AutomotiveTransportation.Driveline.\DrivelineModel”][“Summary”]

除了完成准备运行的模型之外,也有结束6000组分包含在11.3中,从中可以构建模型。SystemModeler为组装这些组件提供了完整的图形环境。但我们也可以完全用Wolfram语言代码来实现,使用类似的函数连接系统模型组件(基本上定义了图表不同组件的连接器的连接方式):

组件

γ

组件=“R”\[元素]“Modelica.Electrical.Analog.Basic.Resister”,“L”\[元素]“Modelica.Electrical.Analog.Basic.Inductor”,“AC”\[元素]“Modelica.Electrical.Analog.Sources.SineVoltage”,“G”\[元素]“Modelica.Electrical.Analog.Basic.Ground”;
连接

γ

连接=“G.P”>“ACN”,“AC.P”>“LN”,“LP”>“R.N”,“RP”>“ACN”};
连接系统模型组件

γ

model=connectSystemModelComponents[组件,连接关系

您还可以直接从其基础方程式创建模型,以及制作“黑匣子模型”纯粹来自数据或经验函数(比如机器学习

构建我们在11.3中引入的所有系统建模功能需要很长时间。它们依赖于Wolfram语言的许多复杂特征,包括大规模的符号操作,强大的解决系统的能力微分代数方程,处理数量和单位还有更多。但是现在系统建模已经集成到了Wolfram语言中,它不仅在工程领域开启了各种重要的新机遇,但在所有受益于能够轻松模拟多组件现实世界系统的领域。

笔记本新功能

我们首先1988年推出的1.0版笔记本-所以现在我们已经改进他们的工作方式至少30年。11.3版引入了许多新功能。一个简单的是关闭细胞群现在默认有一个“开启按钮“以及可以使用其单元格括号打开:

截面

我觉得这很有用,因为有时我不注意到封闭的群体,里面有多余的细胞。(并且,对,如果你不喜欢,您可以在样式表中关闭它。)

另一个小但有用的变化是引入了“不确定的输入/输出标签”。在连接到活动内核的笔记本中,连续的单元格标记在[1]中,出[ 1 ],等。但是如果一个人不再连接到同一个内核(比如,因为其中一个保存并重新打开了笔记本,输入/输出编号不再有意义。所以在过去,只是没有进去,显示出标签。但从11.3版开始,还有标签,但它们是灰色的,它们没有任何明确的数字:

在外面

11.3版的另一个新功能是图标化.这是它解决的基本问题。假设你有一些大数据或其他输入要存储在笔记本中,但你不希望它在视觉上填满笔记本。好,你能做的一件事就是把它放在封闭的牢房里。但是要使用这些数据,你必须做一些事情,比如创建一个变量等等。图标化提供了一个简单的,以内联方式将数据保存到笔记本中。

这是你的做法表达式的图标化版本:

图标化

γ

iconize[范围[10]]

现在您可以使用这个图标化的形式来代替给出整个表达式;它只是立即计算为完整表达式:

反向

γ

反转[ { 1,2,三,4,5,6,7,8,9,10 }

另一种方便的使用图标化是为了让代码更容易阅读,在完成的同时。例如,考虑这样的事情:

情节

γ

绘图[sin[tan[x],{x,0,10 },填充->轴,Plottheme->“科学”]

您可以在这里选择选项,然后转到右键单击菜单并说图标化它们:

图标菜单

结果是更易于阅读的代码段,其计算结果与以前一样:

更好的情节

γ

绘图[sin[tan[x],{x,0,10 },顺序[填充>轴,Plottheme->“科学”]]

在11.2版中,我们介绍了外部评估,用于直接从Wolfram语言评估外部语言(最初是python和javascript)中的代码。(这在桌面和私有云中得到支持;出于安全和供应的原因,这个公共Wolfram云只运行纯Wolfram语言代码。)

在11.3版中,我们现在可以更容易地在笔记本中输入外部代码。只需使用>您将得到一个外部代码单元(您可以坚持选择所需的语言):

蟒蛇代码

γ

外部评估[“python”,“进口平台;platform.platform()“]

而且,对,返回的是一个Wolfram语言表达式,您可以使用它进行计算:

纵裂

γ

StrugSt劈e[%,“-”

工作流文档

我们非常重视记录Wolfram语言-传统上,我们的文档基本上有三种组件:“参考页”包括一个功能,“指南页”它提供了一个包含多个函数链接的摘要,和“教程”提供功能领域的叙述性介绍。好,从11.3版开始,有第四种组件:工作流-这就是“根指南页”底部的灰色瓷砖导致。

文档页

当你所做的一切都由明确的Wolfram语言代码表示时,笔记本的输入/输出模式是一个很好的方式来显示正在发生的事情。但是如果你点击周围,或者,更糟的是,使用外部程序,这还不够。而这正是工作流出现的原因,因为它们使用各种图形设备来呈现不只是进入Wolfram语言输入的动作序列。

隐藏输入

所以如果你是从绘图中获取坐标,或将复杂表单部署到Web,或向笔记本添加横幅,然后期望遵循我们拥有的新工作流文档。而且,顺便说一句,您将从函数的参考页面中找到相关工作流的链接。

演示者工具

11.3版本中另一个与接口相关的新功能是演示者工具-用于创建和运行包含实时交互的演示文稿的完整环境。使演示者工具成为可能的是我们在过去30年中构建的富笔记本系统。但它所做的是添加所有您需要的功能,以便方便地创建和运行真正优秀的演示文稿。

人们一直在使用我们以前的幻灯片格式用…作陈述Wolfram笔记本大约20年。但这从来不是一个完整的解决方案。对,它提供了不错的笔记本功能,如幻灯片放映环境中的实时计算,但它没有做到“像PowerPoint一样”例如自动将内容缩放到屏幕分辨率。说句公道话,我们希望操作系统本质上能够解决内容伸缩等问题。但是已经20年了,他们还没有。所以现在我们已经构建了新的演示者工具来解决这些问题,并添加了一系列功能,以尽可能轻松地使用笔记本创建出色的演示文稿。

开始,只要选择文件>新建>演示者笔记本.然后选择模板和主题,然后你就跑了:

演示者笔记本

以下是编辑演示文稿时的外观(您可以随时更改主题):

演示者演示

当你准备好呈现的时候,只需按开始演示。所有东西都会全屏显示,并自动缩放到您使用的屏幕分辨率。但这与PowerPoint系统有很大的区别:一切都是实时的,互动的,可编辑的,可滚动。例如,你可以拥有操纵就在一张幻灯片里,你可以立即与之互动。(哦,一切都是动态的,例如,根据实时导入的数据重新创建图形。)您还可以使用单元格组等工具来组织幻灯片中的内容。你可以编辑幻灯片上的内容,例如,做生活,随时随地运行代码。

当你准备好去看一张新的幻灯片时,只需按一个键(或让遥控器为您操作)。默认情况下,关键是下页(这样在编辑时仍然可以使用箭头键)但是如果你想的话,你可以设置一个不同的键。您可以让演示者工具在一个显示器上显示幻灯片,然后在另一个显示器上显示注释和控件。当你做幻灯片的时候,您可以包括侧注和侧码。旁注是“类似PowerPoint的”文本注释。但是侧码是不同的。事实上,这是基于我多年来在自己的谈话中所做的一些事情。这是你准备的代码,你可以“神奇地”在演示过程中实时插入幻灯片,如果你想的话,立即评估它。

演示者详细信息

我用Wolfram笔记本这些年来。我用过几次幻灯片格式,但大多数时候我只是在一个普通的笔记本里做了所有的事情,经常把笔记放在一个单独的设备上。但现在我很兴奋版本11.3我基本上掌握了准备和介绍会谈所需的工具。我可以预先定义一些内容和结构,但是实际的谈话可以是动态的,自发的,通过现场编辑,LiveCoding和各种交互性。

沃尔夫聊天

当我们讨论接口功能时,这是另一个新的:Wolfram聊天。当人们互动地一起工作时,经常听到有人说“让我给你发个密码”或者“让我给你发个操纵“。好,在11.3版中,现在有了一种非常方便的方法,直接嵌入Wolfram笔记本系统,它被称为沃尔夫聊天.[直播设计讨论]

只要选择文件>新建>聊天;你会被问到你想和谁“聊天”——这可能是任何一个拥有Wolfram ID的人(当然他们必须接受你的邀请):

聊天邀请

然后你可以开始聊天,而且,例如,把它和普通笔记本放在一起:

笔记本聊天会话

最有趣的是你可以发送任何能出现在笔记本上的东西,包括图像,代码,动态对象,等。(虽然它是沙盒,所以人们不能发送“代码炸弹”对彼此。

Wolfram Chat有很多明显的应用,不仅是合作,但也包括课堂设置和技术支持。还有一些其他的应用程序。就像在进行LiveCoding比赛。事实上,我们在开发期间对Wolfram聊天进行压力测试的方法之一就是将其用于LiveCoding竞争Wolfram技术会议去年秋天。

有人可能认为聊天很简单。但事实上,这非常棘手,有大量不同的情况和案例需要涵盖。在引擎盖下,Wolfram Chat正在使用钨云以及我们在11.0版中引入的新pub子通道框架。在11.3版中,Wolfram Chat仅支持桌面Wolfram笔记本,但它很快就会出现在网络和手机上的笔记本电脑上。

语言便利

我们一直在打磨Wolfram语言,以使其更方便和更高效地使用。我们做到这一点的一个方法是增加一些新的“便利功能”语言的每一个版本。通常,这些函数的作用相当简单;面临的挑战(通常需要数年时间)是为他们设计出真正干净的设计。(您可以在中看到关于11.3版新的便利功能的大量讨论我们最近做的LiveStreams

这是一个函数,它有点让人惊讶,我们以前从来没有显式地使用过这个函数,它只是从它的头部和参数构造一个表达式:

构建

γ

构造[f,XY]

为什么这个有用?好,它可以节省显式构造纯函数功能&,例如,在这种情况下:

折叠

γ

褶皱[构造]f{a,BC}

另一个在某种程度上非常简单的函数(但是关于谁的名字我们苦恼了很久)是咖喱.咖喱(命名)咖喱“它的名字依次是哈斯凯尔·加里)基本上形成了运算符形式,具有咖喱[f,n]“进退维谷”n争论:

咖喱

γ

咖喱3、A、B、C、D、E

一个论点的形式咖喱本身是:

一个论点咖喱

γ

咖喱[F] [X] [Y]

为什么这个有用?好,一些功能(比如选择,说)有内置的“操作表单”,在这里你给出一个论点,那么你“咖喱饭”其他:

选择咖喱

γ

选择[>5&][范围[10]]

但是,如果你想自己创建一个操作符形式呢?好,您总是可以使用功能&.但与咖喱你不需要这么做。这里有一个运算符形式D,其中第二个参数被指定为X

咖喱运算符窗体

γ

咖喱[D]

现在我们可以应用这个算符形式来对X

区别

γ

%[f[x] ]

对,咖喱在某种程度上相当抽象。但是,如果你理解它,并且理解它是理解Wolfram语言符号结构的一个很好的练习,那么这是一个很好的便利。

说到运算符形式,顺便说一句,尼亚雷斯托是模拟的运算符形式最近的(一种论证形式最近的自身生成一个新功能):

最近的

γ

接近[2.3][1,2,三,4,5 }

这里有一个例子说明为什么这是有用的。这就找到了密度接近10 g/cc的5种化学元素:

化学元素

γ

实体[“元素”,“密度”>!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset`查询$$=“10 g/cc”,typeset`box$=templatebox[“10”,行框[“\”G\”,“““\ \”““上标框[“\”cm\”,“3”}“克/厘米立方”,分节框[“\”克\“”,上标框[“\”厘米\“”,“3”] }“数量”,syntaxform->mod],typeset`allassumptions$=,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.777394`6.342186177878503,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->94.,{ 8,19、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\),5]]//实体列表

2015年10.1版我们介绍了一组对列表中的序列进行操作的函数。11.3版还增加了一些这样的功能。一个是测序序列.就像是纵裂对于列表:它在特定序列的位置拆分列表:

测序序列

γ

uEnSeSPLIT[{BXXCDXEXXAB}{x,X}

在“序列族”中也是新的是函数顺序放置

顺序放置

γ

序列替换[a,BXXCDXEXXAB}{x,n} -> {n,nn}

可视化更新

就像我们一直在打磨沃尔夫拉姆语,我们也一直在打磨视觉效果之类的东西。

在11.0版中,我们补充说地质直方图,这里显示“火山密度”在美国:

地质直方图

γ

地理柱状图[地理位置[地理实体[\!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset`query$=“美国”,typeset`box$=templatebox[“\”美国\“”,行框[“实体”,“行框[“”国家/地区“”,“,”“\”美国\“”],“”},“\”实体[\ \”国家/地区\ \\“,\\\“美国\\”]\“,“国家”“},“实体”typeset`allassumptions$=“类型”>“冲突”,“Word”>“美国”,“模板”->“假设\”$字\“是${LeS1}。改为\$desc2使用“,“伯爵”>“2”,“价值”->“名称”>“国家”,“DESC”>“一个国家”,“输入”->“*C.美国-”*国家-“”,“姓名”->“文件格式”,“DESC”->“文件格式”,“输入”->“*c.usa-*fileformat-”,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.373096` 6.02336558644664,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->197.,{ 7,16、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\),“火山”]

在11.3版中,我们增加了地理平滑柱状图

地理平滑柱状图

γ

地理平滑柱状图[地理位置[地理实体[\!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset`query$=“美国”,typeset`box$=templatebox[“\”美国\“”,行框[“实体”,“行框[“”国家/地区“”,“,”“\”美国\“”],“”},“\”实体[\ \”国家/地区\ \\“,\\\“美国\\”]\“,“国家”“},“实体”typeset`allassumptions$=“类型”>“冲突”,“Word”>“美国”,“模板”->“假设\”$字\“是${LeS1}。改为\$desc2使用“,“伯爵”>“2”,“价值”->“名称”>“国家”,“DESC”>“一个国家”,“输入”->“*C.美国-”*国家-“”,“姓名”->“文件格式”,“DESC”->“文件格式”,“输入”->“*c.usa-*fileformat-”,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.373096` 6.02336558644664,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->197.,{ 7,16、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\),“火山”]

11.3版的新增功能包括标注在3D绘图中,在这里随机词标记随机点(但请注意单词的位置如何避免相互影响):

三维情节标注

γ

listpointplot3d[表[callout[randomreal[10,3,随机词[]25 ] ]

我们可以通过使用基于新机器学习的方法,在3D中绘制一个稍微更有意义的单词图。特征空间图3d(注意,例如“发声”“低吟”适当地结束在一起):

特征空间图3d

γ

功能空间图3d[随机词[20]

文本阅读

说到机器学习,版本11.3继续积极发展自动化机器学习,构建两个通用工具,以及利用机器学习的特定功能。

新函数的一个有趣的例子是查找文本答案,它需要一段文字,并试图查找文本问题的答案.这里我们使用维基百科上关于“犀牛”的文章,问犀牛有多重:

查找文本答案

γ

findtextualAnswer[维基百科数据[“犀牛”],“犀牛有多重?”]

这简直像魔术。当然,这并不总是有效的,它可以做我们人类认为非常愚蠢的事情。但它使用了最先进的机器学习方法,加上许多独特的训练数据沃尔夫拉姆阿尔法.如果我们不只是问它关于犀牛体重的最高答案,我们可以看到它做的更多。但对于前五名:

findtextualAnswer前5名

γ

findtextualAnswer[维基百科数据[“犀牛”],“犀牛有多重?”,5

六羟甲基三聚氰胺六甲醚。那么,更确切的答案是什么?好,为此,我们可以使用实际策划知识库

知识库答案

γ

!\(命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset` query$=“犀牛重量”,typeset`box$=rowbox[templatebox[“\”犀牛\“”,行框[“实体”,“行框[“”种\“”,“,”“\”科:犀牛科\”“”,“”},“\”实体[\ \”物种\\ \”,\\\“家族:犀牛科\\”]\“,“物种规格”“实体”“模板框[“\”重量\“”,rowbox[“实体属性”,“行框[“”种\“”,“,”“重量”“},“”},“\”实体属性[\ \ \”物种\\ \”,\\\“重量\\”]\“”,“实体属性”],“”},typeset`allassumptions$=“类型”->“多闪点”,“Word”>““模板”->“假设$word1指的是$desc1。使用\ \“$单词2”作为${LeS2}。使用“$word3”作为${Lex3}。“伯爵”>“3”,“价值”->“名称”>“物种”,“Word”>“犀牛”,“DESC”->“物种规范”,“输入”->“*mc.%7e-ux种-”,“姓名”>“人”,“Word”>“犀牛”,“DESC”>“一个人”,“输入”->“*mc.%7e-x人-”,“姓名”>“公式”,“Word”>““DESC”>“公式”,“输入”->“*mc.%7e-*公式-”,typeset`假设$=,typeset`open$=1,typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.812573`6.361407381082941,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->96.,{ 7,16、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\)

或以吨计:

单位转换

γ

单位转换!\(\*命名空间框[“Linguisticassistant”,dynamicmodulebox[typeset` query$=“吨”,typeset`box$=模板框[解释框[”“1,“嘘”,““短吨”,“短吨”“数量”,syntaxform->mod],typeset`allassumptions$=“类型”>“冲突”,“Word”>“吨”,“模板”->“假设\”$字\“是${LeS1}。改为\$desc2使用“,“伯爵”>“2”,“价值”->“名称”>“单位”,“DESC”>“单位”,“输入”->“*c.tons-x单位-”,“姓名”>“Word”,“DESC”>“一个字”,“输入”->“*c.tons-*word-”,{“类型”>“单位”,“Word”>“吨”,“模板”->“假设$Desc1用于\”$Word \“。使用$desc2 \代替“,“伯爵”>“10”,“价值”->“名称”>“ShortTons”,“DESC”->“短吨”,“输入”->“单位冲突吨。*短吨--”,“姓名”>“LongTons”,“DESC”>“长吨”,“输入”->“单位冲突”*吨。*长龙--“,“姓名”->“公制单位”,“DESC”->“公吨”,“输入”->“单位冲突吨数。*公制吨数--”,“姓名”->“短路”,“DESC”->“短吨力”,“输入”->“UnitClash_*tons.*shorttonsforce--”,“姓名”>“ToStftNT”,“DESC”->“吨TNT”,“输入”->“UnitClash_*tons.*色调柔和--”,“姓名”->“置换吨”,“DESC”->“置换吨”,“输入”->“单元碰撞吨。*置换吨--”,“姓名”->“龙腾部队”,“DESC”->“长吨力”,“输入”->“单位冲突”*吨。*龙腾部队--“,“姓名”->“度量衡”,“DESC”->“公吨力”,“输入”->“单位冲突吨数”*公制分数--“,“姓名”->“制冷色调”,“DESC”->“美国商用吨制冷”,“输入”->“UnitClash_*tons.*tonsof冰箱--”,“姓名”->“TONSOF制冷英国商业”,“DESC”->“英国商用吨制冷(动力)”,“输入”->“UnitClash_*tons.*\tonsofRefriionukCommercial——”,typeset`假设$=,typeset`open$=1,typeset`querystate$=“联机”>真的,“允许”>真的,“MPARSE .jsp”->0.303144`5.933193970346431,“消息”-{{}}},dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],标准窗体,图像尺寸cache->47.,{ 7,16、},trackedSymbols:>typeset`查询$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],动态模块值:>,UndoTrackedVariables:>typeset`打开$$],baseStyle->“部署”,DeleteWithContents->true,可编辑->假,选择WithContents->true]\)]

查找文本答案无法替代我们的整个数据管理和可计算数据策略。但这是一种很有用的方法,可以快速得到第一个答案,即使是完全非结构化的文本。而且,对,它应该在批判性阅读练习中表现良好,可能是为了做得好危险!也是。

人脸计算

我们人类对人脸的反应很强烈,通过现代机器学习,可以进行各种与人脸相关的计算,在11.3版中,我们为此增加了系统功能。在这里发现面拉出面著名物理学家)从照片中:

物理学家的脸

γ

findfaces[cloudget[“https://wolver.am/swodyqbb”],“图像”

面部特征使用机器学习方法估计人脸的各种属性(如表观年龄,明显的性别和情感状态):

γ

设备功能[cloudget[“https://wolver.am/swrqare8”]//dataset

例如,这些功能可以用作发现面,这里挑选出40岁以下的物理学家:

发现面

γ

findfaces[cloudget[“https://wolver.am/swodyqbb”],年龄≤40岁,“图像”

神经网络

现在在Wolfram语言中有各种各样的函数(比如面部特征)内部使用神经网络。但几年来,我们也一直在大力建设整个子系统在Wolfram语言中让人们直接使用神经网络。我们一直在低层图书馆(尤其是MXNET,我们一直是这方面的重要贡献者,所以我们可以利用所有最新的GPU和其他优化。但我们的目标是建立一个高层次的符号层,使其成为尽可能简单实际建立神经网络计算。[直播设计讨论]

这有很多部分。设置自动编码译码标准的文本Wolfram语言结构,图像音频等等。能够自动将各个神经网络操作结合起来,尤其是处理序列之类的事情的。能够尽可能地自动化培训,包括自动进行超参数优化。

但也许还有更重要的事情:拥有一个庞大的现有图书馆,训练(和未训练)的神经网络,两者都可以直接用于计算,可用于转移学习,或作为功能提取程序.为了实现这个目标,我们一直在建造神经网络存储库

神经网络存储库

这里有各种各样的网络,它们可以做各种了不起的事情。我们每周都会增加新的网络。每个网络都有自己的页面,其中包括示例和详细信息。网络存储在云中。但是要将它们放入计算中,你所要做的就是网络模型

网络模型培训

γ

netmodel[“三维人脸对齐网络训练300W大姿态数据”]

这是实际使用的网络查找文本答案

网络模型

γ

网络模型[“wolfram findtextualAnswer net for wl 11.3”]

11.3版的一个新功能是我们用于网络的标志性表示。我们已经对它进行了优化,使您对网络图,然后允许交互式钻取到任何详细级别。当你训练神经网络,出现的交互面板有一些新的特性,并且净利润项目,我们现在使实际的培训过程本身是可计算的。

11.3版有一些新的层类型,比如CTCLSK层(尤其是支持音频)以及对现有层类型的大量更新和增强(速度快10倍)LSTM在GPU上,自动可变长度卷积,扩展多个层以支持任意尺寸输入,等等)。在11.3版中,我们特别关注循环网络和序列生成。为了支持这一点,我们介绍了NETStistObjor对象-这基本上允许一个网络有一个持久的状态,这个状态是由于网络接收到的输入数据而更新的。

在开发我们的符号神经网络框架时,我们实际上是朝两个方向发展的。首先是让一切变得越来越自动化,因此,建立神经网络系统越来越容易。但是第二个问题是能够很容易地处理越来越多的神经网络结构。在11.3版中,我们添加了一个完整的“网络手术”集合功能类似网拍网络连接网平-让你进去,随心所欲地调整和破解神经网络。当然,我们的系统是这样设计的,即使你这样做,我们的整个自动化系统,包括培训等等,仍然工作得很好。

渐近分析

30多年来,我们的任务是尽可能多地进行数学计算。金宝博188投注而在版本11.3我们终于开始破解一个重要的支撑区域:渐近分析。

下面是一个简单的例子:找到附近一个微分方程的近似解。X= 0:

渐近解值

γ

渐近解的值[x^2 y'[x]+(x^2+1)y[x]==0,y[x],{x,0,10 }

起初,这可能看起来像幂级数解.但是仔细看:有一个e(1)X一个系数,它只给出无穷大在每一个阶上的幂级数。X.但是对于11.3版,我们现在得到了处理各种增长和振荡尺度的渐近分析函数,不仅仅是权力。

当我回来以物理学家的身份生活,它似乎总是以微扰方法为中心的一些最强大的黑暗艺术。有规律的扰动和奇异的扰动。有这样的事情WKB法,以及边界层方法。重点总是计算一些小参数的展开式,但在不同的情况下,似乎总是需要不同的技巧来实现它。但是现在,经过几十年的工作,最后,在11.3版中,我们有一个系统的方法来解决这些问题。这里有一个微分方程,我们在这里寻找小ε的解:

渐近解值

γ

渐近分布值[\[epsilon]y''[x]+(x+1)y[x]==0,Y〔0〕=1,y [ 1 ] = 0 },y[x],X{\ε,0,2 }

回到11.2版,我们增加了很多处理更复杂的限制.但有了我们的渐近分析技术,我们现在也可以做些别的事情了,这与数论和计算复杂性理论等领域的各种问题都有很强的相关性,金宝博188投注这是为了比较渐进增长率。

这是在问:是2nK渐近小于(n)!作为n->?结果:是的,在一定条件下:

渐近的

γ

无渐近[2^n^k,(n ^ m)!,n->\[无穷大]]

“小学”代数

的特性之一沃尔夫拉姆阿尔法在学生中流行的是显示步骤“功能,它综合了“飞行教程”展示如何得出它给出的答案。但实际上步骤是什么,在,说,A表示代数的步数结果?好,它们是“基本操作”如“添加两个方程的对应边”。在11.3版中,我们的功能包括直接执行如下操作:

附加边

γ

加边[a==b,C==D]
乘方

γ

多重面[a==b,C==D]

而且,好啊,似乎这些函数都是很小的函数,这基本上就是方程的结构。当我说我们应该实现它们的时候,我就是这么想的。但正如我们的代数研发团队迅速指出的,有各种各样的问题(“如果是否定的吗?”,等)这是学生经常会犯的错误,但是使用Wolfram语言中的所有算法基础设施,我们很容易就能纠正:

负多重性

γ

多重面[x/b>7,B]

校样

Wolfram语言主要是关于计算结果的。但是给出了一个结果,你也可以问为什么它是正确的:你可以要求一些证明它是正确的证据。20多年来,我一直在思考如何找到和代表一般证明在Wolfram语言中以一种有用且可计算的方式。我很兴奋在11.3版中财务季度报表提供了一个示例,我们将在将来的版本中对其进行归纳和构建。[直播设计讨论]

我一直最喜欢的自动定理证明的成功案例是布尔代数的极小的(事实上也是最简单的)公理系统。我在2000找到的.这只是一个公理,使用一个可以认为与与非门操作。11年完全简化实际上能够在内部使用自动定理证明方法,能够计算事物。从我的布尔代数公理开始,然后计算那个与非门可交换的:

完全简化

γ

完全简化[NAND[P,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C]

但这只是告诉我们结果;它没有任何证据。好,在11.3版中,我们现在可以得到一个证据:

财务季度报表

γ

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C]

什么是证明对象?从总结中我们可以看出,证明需要102个步骤。然后我们可以要求一个“证明图”。顶部的绿色箭头代表原始公理;底部的红色方块代表正在被证明的东西。中间的所有节点都是中间引理,根据所示连接相互证明。

校对

γ

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C];证明[“证明图”]

证据里到底有什么?好,这很复杂。但这里有一个数据集提供了所有细节:

校对数据集

γ

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C];证明[“ProofDataSet”]

你也可以得到一个更具叙述性的笔记本形式:

校对笔记本

γ

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C];校样[“校样笔记本”]

然后你还可以得到一个“证明函数”,这是一段代码,可以执行它来验证结果:

证明

γ

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C];证明[证明函数]

毫不奇怪,毫无疑问,它给出如果你运行它:

证明结果

γ

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{BC},南德[南德[南德[A,B]C.NANDNAND〔NAND〕C.a)[]=C];证明[证明函数][]

既然我们可以用Wolfram语言生成符号证明结构,有很多经验元数学要做,我将在以后的文章中讨论。但鉴于财务季度报表对任意“类方程式”的研究象征关系,它实际上可以应用于许多事情,比如验证协议和策略,例如,在区块链等热门领域。

不断增长的知识库

这个Wolfram知识库每天都有一部分时间是通过系统的数据馈送增长的,部分是通过明确添加新的整理数据和域。如果有人问在11.2版和11.3版之间添加了什么,这是个有点奇怪的手提包。大约有150多处新物业上市公司.上有900个新的命名功能冥王星水星.有16000个新的解剖结构,比如神经通路。有近500个新的”值得注意的图“。有成千上万的新的岛屿,著名建筑,以及其他与地理相关的特征。食物有很多新特性,和与疾病的新联系.而且更多。

但是对于Wolfram知识库的典型日常使用来说,11.3版中最重要的新功能是实体预取系统。知识库显然很大,它储存在云中。但是如果你使用的是桌面系统,你需要的数据是“神奇的”为您下载。

好,在11.3版中,魔法变得更强大了。因为现在当你要一件特别的东西时,系统会试图找出你接下来可能会要求什么,它会自动启动异步预取,所以当你要求的时候,它已经在你的电脑上了,你不必等待它从云端下载。(如果您想“手动”进行预取,这是功能实体预取做这件事。注意,如果你在云中使用Wolfram语言,知识库已经“在那里”,所以不需要下载或预取。)

整个预取机制的应用相当普遍。所以,例如,如果你使用解释器解释一些输入(比如,美国国家缩写)有关如何进行解释的信息也将得到预取,因此如果您使用桌面,这些解释可以在本地完成,而不必与云通信。

邮件和邮件

你已经能够从Wolfram语言发送电子邮件(使用)发送邮件十年。但从11.3版开始,它可以使用完整的HTML格式,你可以在里面嵌入很多东西,不仅仅是图形和图像,还有云物体,数据集,音频等。[直播设计讨论]

11.3版还介绍了使用发送消息.出于安全考虑,虽然,您只能发送自己的手机号码,根据移动电话(并且,对,显然,这个数字将得到验证)。

Wolfram语言已经能够导入邮件和邮箱很长时间了,与邮件接收函数它还能够对收到的邮件作出响应。但在11.3版中,增加了一些新功能,即处理实时邮箱。

第一,连接到(IMAP,现在)邮件服务器(我不显示出现的身份验证对话框):

邮件服务器连接

γ

mail=mailserverconnect[]

然后,您基本上可以使用Wolfram语言作为可编程邮件客户机。这将为您提供邮箱中当前未读邮件的数据集:

邮件搜索

γ

邮件搜索[“fahim”>]

现在我们可以从这些信息中挑出一条,我们得到一个象征性的马利姆对象,例如,我们可以删除:

邮件搜索部分

γ

邮件搜索[“fahim”>][[1]]
邮件执行

γ

mailexecute[“删除”,%%[ MaTielm ] ]

系统级操作

11.3版本支持许多新的系统级操作。让我们从一个简单但有用的开始:远程程序执行。函数遥控器基本上类似于UnixRSH:您给它一个主机名(或IP地址),它在那里运行一个命令。这个认证选项允许您指定用户名和密码。如果要远程运行持久程序,你现在可以用远程运行进程,哪个是本地的远程模拟运行过程.

在处理远程计算机系统时,身份验证一直是一个问题,多年来,我们一直在用Wolfram语言构建一个逐步完善的符号身份验证框架。在11.3版中有一个新的身份验证对话框函数,它弹出各种适当配置的身份验证对话框。然后有生成SecuredAuthenticationKey-生成OAuth安全身份验证密钥对象,人们可以使用这些对象从外部对进入Wolfram云的调用进行身份验证。

同样在系统层面,有一些新的导入/导出格式,喜欢BSON(类似于JSON的二进制序列化格式)和(Web存档格式)。也有HTTP协议HTTP预告格式,这(以及其他许多事情)基本上可以用Wolfram语言用几行代码编写Web服务器。

我们介绍二进制数组很多年前,我们一直在稳步增加对Wolfram语言的支持。在11.3版中,有基数编码基础码用于字节数组和base64字符串之间的转换。11.3版也扩展了搞砸(除此之外,作品字节数组)添加用于现代区块链和加密货币目的的各种类型的散列(如double sha-256和ripemd)。

我们总是添加更多的数据,我们可以用Wolfram语言进行计算,在11.3版中,增加了一个系统过程数据,您可以从unix ps命令中获得的类型:

系统进程数据

γ

系统进程数据[]

不用说,您可以对具有特定属性的进程进行非常详细的搜索。您也可以使用系统过程获取进程对象符号对象,你可以审问和操纵它(例如,通过使用杀戮过程

随机过程

γ

随机样本[系统进程],3

当然,因为一切都是可计算的,很容易做一些事情,例如绘制计算机上运行的进程的开始时间(以及,对,我上次重新启动是几天前):

时间序列图

γ

时间线图[系统进程数据][全部,“开始时间”]

如果你想了解你电脑周围的情况,11.3版提供了另一个强大的工具:网络包记录.您可能需要进行一些权限设置,但是这个功能可以记录通过计算机上任何网络接口的网络包。

这里只有0.1秒的数据包进出我的电脑,我静静地坐在这里写这篇文章:

网络包记录

γ

网络包记录[1]

您可以向下钻取查看每个包;这是第一个被记录的:

网络包记录

γ

网络包记录

为什么这么有趣?好,我想用它调试这对学习计算机安全也很有帮助,不仅因为您可以立即将所有内容输入到标准的Wolfram语言可视化中,机器学习和其他功能。

没有提到的

这已经是一篇很长的文章了,但是11.3中还有很多其他的东西我甚至没有提到。例如,导入和导出时有各种更新。像更高效和强大的XLS猪瘟病毒,和猪传染性胃肠炎病毒进口。或导出动画PNGS.或者支持声音格式的元数据,比如MP3.或更复杂的颜色量化GIF口角,等。[直播设计讨论]

我们引入了符号音频11.0中的对象,从那以后,我们一直在大力开发音频功能。11.3版使音频捕获更加健壮(并首次在Linux上支持它)。它还引入了如下功能视听剧听觉顶峰音频停止那个控制打开了音频流物体。

也是新的音频距离,支持各种音频距离测量。与此同时,音程现在可以自动将音频分成由静音分隔的部分。而且,在有些不同的地区,声音造型提供可能的声音列表演讲综合.

这里有一个小新数学函数-在这种情况下,给出一个0和1的序列,其中每个长度4块恰好出现一次:

德布鲁金序列

γ

Debriijn序列[0,1 },4

Wolfram语言现在对数量和单位-明确的数量(如2.5千克)和符号”数量变量“(“有压力单位)。但一旦你在里面,做一些类似于解方程的事情,您通常希望“将单位分解出来”。在11.3中,现在有一个函数系统地做到了这一点:无量纲化变换.11.3中还有一种新的引入新数量的机制,使用独立物理量.

许多内置的Wolfram知识库最终以实体存储的形式表示,在第11版中,我们介绍了实体商店用于定义新实体存储的构造。11.3版介绍了该功能实体寄存器,它允许您注册实体存储,这样您就可以引用它包含的实体类型,就像您引用内置的实体类型(如城市或化学品)。

在11.3版中作为实验引入的另一件事是MongoLink包,它支持与外部MongoDB数据库的连接。我们使用MongoLink自己来管理太字节和数据集以外的数据集,比如机器学习培训。事实上,MongoLink是我们大规模开发工作的一部分,其结果将在未来的版本中看到,以无缝地支持大量外部存储的数据。

在11.2版中,我们介绍了外部评估以外部语言(如python)运行代码。在11.3版中,我们正在尝试通用化外部评估要控制Web浏览器,通过设置WebDriver框架。你可以发出各种命令,这两种方法的效果都与在实际的Web浏览器上单击具有相同的效果,以及提取你在页面上看到的东西的方法。

下面介绍如何使用Chrome(我们同时支持它和火狐)打开网页,然后捕捉它:

网络驱动程序

γ

ExternalEvaluate[“WebDriver Chrome”,{“开放网页””->“https://www.wolfram.com”,“capturewebpage”]//上一页

好,这篇文章越来越长了,但我肯定还有更多的话要说。以下是11.3版中新功能或更新功能的更完整列表:

11.3中的新功能概述

但对我来说,Wolfram语言的.1版本中有多少内容是值得注意的,这在上一个.1版本发布后的几个月内就出现了。这是一个令人满意的迹象,表明我们正在通过构建我们创建的整个Wolfram语言技术堆栈来完成研发的工作量。而且,对,即使在11.3,也有许多新的角落需要探索。我希望很多人会这样做,并将使用我们所创造的最新工具来发现和发明世界上各种新的和重要的事物。


评论,请访问此邮件的副本WOWFLAM博客

网络旗帜

?斯金宝博188正网蒂芬·沃尔夫拉姆,有限责任公司 条款γ RSS