最新发布公告 γ 其他版本

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

释放管道

Last September we released版本11.2沃尔夫拉姆语数学软件-有了各种新功能,徳赢中国包括100多个全新功能。徳赢中国11.2版是一个大版本。但今天我们有一个更大的版本:版本11.3那除此之外,包括近120个全新功能徳赢中国.

This June 23rd it'll be 30 years since we发布版本1.0, and I'm very proud of the fact that we've now been able to maintain an accelerating rate of innovation and development for no less than three decades.Critical to this,当然,has been the fact that we use the沃尔夫拉姆语开发Wolfram语言,实际上,我们现在可以在11.3版中添加的大部分内容都是可能的,因为我们正在利用我们已经系统地构建了30多年的庞大技术栈。

十一点三我们一直在进行大量的研发,and our strategy for .1 versions is to use them to release everything that's ready at a particular moment in time.有时.1版本中的内容可能无法完全填充新区域,徳赢中国其中一些函数可能被标记为“实验函数”。但是我们.1版本的目标是尽可能及时地提供我们研发工作的最新成果。整数(.0)版本的目标是更加系统化,全面覆盖新地区,徳赢中国在.1版本中逐步舍入已交付的内容。

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

有什么新鲜事吗徳赢中国?

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

一般来说,11.3版不仅增加了一些全新的方向,徳赢中国但也扩展和加强了已经存在的东西。There's lots of strengthening of core functionality: still更自动化的机器学习,更强大的数据导入,knowledgebase predictive prefetching,更多可视化选项,etc.有各种各样的新便利:更容易接触到外部语言,徳赢中国即时输入标识,direct currying,etc.And we've also continued to aggressively push the envelope in all sorts of areas where we've had particularly active development in recent years: machine learning,神经网络,音频,渐近微积分,外部语言计算,etc.

下面是在11.3版中添加的新功能的Word C徳赢中国loud:

词云

块链

There are so many things to say 徳赢彩票游戏about 11.3,很难知道从哪里开始。但让我们从一些热门话题开始:区块链。正如我将在以后的文章中详细解释的那样,沃尔夫拉姆语言以其内在的能力来谈论现实世界,结果是徳赢彩票游戏唯一适合的定义和执行计算智能合约。这些合同的实际Wolfram语言计算(目前)将在区块链之外进行,但语言必须能够连接到区块链—and that's what's being added in Version 11.3.[直播设计讨论]

我们能做的第一件事就是询问世界上存在的区块链。徳赢彩票游戏Like here's the most recent block added to the main Ethereum blockchain:

块链

blockchainblockdata[-1,BlockchainBase -> "Ethereum"]

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

块状碱

区块链交易数据[\“735E1643C33C6A632ADBA18B5F321CE0E13B612C90A3B9372C7C9BEF447C947C”,BlockchainBase -> "Ethereum"]

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

但在11.3版中,我们支持一个私有(比特币核心)Wolfram区块链,它托管在我们的钨云基础设施。We'll be periodically publishing hashes from this blockchain out in the world (probably in things like physical 徳赢中国newspapers).它还可以在私狼云.

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

块状放置

BlockchainPut[Graphics[Circle[]]]

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

区块链事务数据

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

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

BlockchainGet

 
          

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

System Modeling

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

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

What we're adding (experimentally) in Version 11.3 is thebuilt-in capability对于从SystemModeler运行模型的Wolfram语言,或者实际上是Modelica language.

让我们从一个简单的例子开始。This retrieves a particular model from our built-in repository of models:

系统模型

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

If you press the [+] you see more detail:

理想三回路

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

标准操作

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

What actually下面的模型?好,it's a set of equations that describe the dynamics of how the components of the system behave.对于这样一个非常简单的系统,these equations are already pretty complicated:

SystemEquations

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

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

每个模型都有很多特性:

性质

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

其中一个属性给出了表征系统的变量。而且,yes,即使在这样一个非常简单的系统中,there are already lots of those:

系统变量

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

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

可变行为

SystemModelPlot[[SystemModel["Modelica.Electrical.Analog.Examples.IdealTriacCircuit"],“idealtriac.电容器.p.i”]]

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

SystemModelSimulate

SystemModelSimulate[[SystemModel[“Modelica.Electrical.Analog.Examples.Idealtriaccircuit”],“V.freqhz”->2.5>]
SystemModelPlot

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

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

在11.3中已经有1000多个包括准备运行的模型-电气方面,机械的,热的,hydraulic,生物和其他系统。下面是一个稍微复杂一点的例子core part of a car

系统模型

SystemModel["IndustryExamples.AutomotiveTransportation.Driveline.\DrivelineModel"]

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

驱动模型

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

总结

SystemModel["IndustryExamples.AutomotiveTransportation.Driveline.\DrivelineModel"]["Summary"]

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

组件

components=“r”\[元素]“modelica.electrical.anaalog.basic.retrier”,“L”\[元素]“Modelica.Electrical.Analog.Basic.Inductor”,"AC" \[Element] "Modelica.Electrical.Analog.Sources.SineVoltage","G" \[Element] "Modelica.Electrical.Analog.Basic.Ground"};
连接

连接=“G.P”->“AC.N”,“AC.P”->“L.N”,“Lp”->“R.N”,“R.P”->“AC.N”;
连接系统模型组件

model=connectSystemModelComponents[组件,连接关系

您还可以直接从其基础方程式创建模型,以及纯粹根据数据或经验函数建立“黑箱模型”(例如机器学习

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

徳赢中国笔记本新功能

我们首先1988年推出的1.0版笔记本-所以现在我们已经改进他们的工作方式for no less than 30 years.Version 11.3 introduces a number of 徳赢中国new features.一个简单的是关闭细胞群现在默认有一个“开启按钮“以及可以使用其单元格括号打开:

截面

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

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

在外面

11.3版的另一徳赢中国个新功能是图标化.Here's the basic problem it solves.Let's say you've got some big piece of data or other input that you want to store in the notebook,但你不希望它在视觉上填满笔记本。好,你能做的一件事就是把它放在封闭的牢房里。但是要使用这些数据,你必须做一些事情,比如创建一个变量等等。图标化提供了一个简单的,以内联方式将数据保存到笔记本中。

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

图标化

iconize[范围[10]]

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

反向

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

Another convenient use of图标化是为了让代码更容易阅读,在完成的同时。For example,考虑这样的事情:

情节

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

You can select the options here,then go to the right-click menu and say to图标化它们:

图标菜单

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

更好的情节

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

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

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

Python code

ExternalEvaluate["Python",“进口平台;platform.platform()"]

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

纵裂

StringSplit[%,“-”

工作流文档

我们非常重视记录Wolfram语言—and traditionally we've had basically three kinds of components to our documentation: "reference pages" that cover a single function,"guide pages" that give a summary with links to many functions,以及为功能领域提供叙述性介绍的“教程”。好,从11.3版开始,有第四种组件:工作流-这就是“根指南页”底部的灰色瓷砖所指向的。

文档页

当你所做的一切都由明确的Wolfram语言代码表示时,笔记本的输入/输出模式是一个很好的方式来显示正在发生的事情。But if you're clicking around,或者,worse,使用外部程序,这还不够。这就是工作流出现的地方,因为它们使用各种图形设备来呈现不只是进入Wolfram语言输入的动作序列。

隐藏输入

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

演示者工具

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

人们一直在使用我们以前的SlideShow format用…作陈述Wolfram笔记本大约20徳赢彩票游戏年。但这从来不是一个完整的解决方案。对,它提供了不错的笔记本功能,如幻灯片放映环境中的实时计算,但它并没有像PowerPoint那样自动将内容缩放到屏幕分辨率。说句公道话,我们希望操作系统本质上能够解决内容伸缩等问题。但是已经20年了,他们还没有。So now we've built the 徳赢中国new Presenter Tools that both solves such problems,并添加了一系列功能,以尽可能轻松地使用笔记本创建出色的演示文稿。

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

演示者笔记本

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

演示者演示

当你准备好呈现的时候,只需按开始演示。所有东西都会全屏显示,并自动缩放到您使用的屏幕分辨率。但这与PowerPoint类系统有很大区别:一切都是实时的,互动的,可编辑的,可滚动。For example,你可以拥有操纵就在一张幻灯片里,你可以立即与之互动。(哦,一切都是动态的,say recreating graphics based on data that's being imported in real time.)  You can also use things like cell groups to organize content in slides.你可以编辑幻灯片上的内容,例如,做生活,running your code as you go.

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

演示者详细信息

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

Wolfram Chat

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

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

聊天邀请

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

笔记本聊天会话

最有趣的是你可以发送任何能出现在笔记本上的东西,包括图像,code,动态对象,etc.(though it's sandboxed so people can't send "code bombs" to each other).

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

有人可能认为聊天很简单。但事实上,这非常棘手,有大量不同的情况和案例需要涵盖。在引擎盖下,Wolfram Chat正在使用钨云以及我们在11.徳赢中国0版中引入的新pub子通道框架。In Version 11.3,Wolfram Chat仅支持桌面Wolfram笔记本,but it'll be coming soon to notebooks on the web and on mobile.

语言便利

我们一直在打磨Wolfram语言,以使其更方便、更高效地使用。我们做到这一点的一个方法是在每一个版本的语言中添加新的“便利功能”。徳赢中国通常,这些函数的作用非常简单;the challenge (which has often taken years) is to come up with really clean designs for them.(您可以在中看到很多关于11.3版新的便利功能的讨论徳赢中国徳赢彩票游戏我们最近做的LiveStreams

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

构建

构造[f,XY]

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

折叠

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

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

Curry

Curry[f,3][a][b][c][d][e]

一个论点的形式Curry本身是:

One-argument Curry

咖喱[F] [X] [Y]

为什么这个有用?好,一些功能(比如选择,说)有内置的“操作表单”,in which you give one argument,然后你“加入”其他人:

选择咖喱

Select[# > 5 &][Range[10]]

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

咖喱运算符窗体

咖喱[D]

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

区别

%[f[x] ]

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

Talking of operator forms,顺便说一句,尼亚雷斯托是模拟的运算符形式最近的(the one-argument form of最近的自身生成一个新功能):

最近的

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

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

化学元素

实体[“元素”,“密度”->接近[\!\(\*namespacebox[“linguisticassistant”,dynamicmodulebox[typeset` query$=“10 g/cc”,typeset`box$=templatebox[“10”,行框[“\”G\”," ",“\ \”" ",上标框[“\”cm\”,“3”}“克/厘米立方”,FractionBox["\"Grams\"",上标框[“\”厘米\“”,“3”] }“数量”,syntaxform->mod],Typeset`allassumptions$$ = {},typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“online”->true,“允许”->真,"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.,跟踪符号:>typeset`查询$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],dynamicmodulevalues:>,undtrackedvariables:>typeset` open$],basestyle->“deploy”,deleteWithContents->true,editable->false,selectWithContents->true]),5]]//实体列表

In2015年10.1版we introduced a bunch of  functions that operate on sequences in lists.11.3版还增加了一些这样的功能。One is测序序列.就像是纵裂对于列表:它在特定序列的位置拆分列表:

测序序列

uEnSeSPLIT[{BXXc,d,XEXXa,B}{x,X}

“序列族”徳赢中国中的新功能还有SequenceReplace

SequenceReplace

序列替换[a,BXXc,d,XEXXa,B}{x,n} -> {n,nn}

Visualization Updates

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

在11.0版中,我们补充说地质直方图,here showing "volcano density" in the US:

地质直方图

地理柱状图[地理位置[地理实体[\!\(\*namespacebox[“linguisticassistant”,dynamicmodulebox[typeset` query$=“美国”,typeset`box$=templatebox[“\”美国\“”,行框[“实体”,“行框[“”国家/地区“”,“,”“\”美国\“”],“”},“\”实体[\ \”国家/地区\\”,\\\“美国\\”]\“,“国家”“},“实体”typeset`allassumptions$=“type”->“clash”,“word”->“美国”,“template”->“假设”$word \“是$desc1。改为\$desc2使用“,“计数”>“2”,“值”->“名称”->“国家”,"desc" -> "a country","input" -> "*C.USA-_*Country-"},“name”->“文件格式”,“desc”->“A文件格式”,“输入”->“*c.usa-*fileformat-”,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“online”->true,“允许”->真,“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$],dynamicmodulevalues:>,undtrackedvariables:>typeset` open$],basestyle->“deploy”,deleteWithContents->true,editable->false,selectWithContents->true]),“火山”]

In Version 11.3,我们增加了地理平滑柱状图

地理平滑柱状图

GeoSmoothHistogram[GeoPosition[GeoEntities[\!\(\*NamespaceBox["LinguisticAssistant",DynamicModuleBox[{Typeset`query$$ = "USA",typeset`box$=templatebox[“\”美国\“”,行框[“实体”,“行框[“”国家/地区“”,“,”“\”美国\“”],“”},“\”实体[\ \”国家/地区\\”,\\\“美国\\”]\“,“国家”“},“实体”typeset`allassumptions$=“type”->“clash”,“word”->“美国”,“template”->“假设”$word \“是$desc1。改为\$desc2使用“,“计数”>“2”,“值”->“名称”->“国家”,"desc" -> "a country","input" -> "*C.USA-_*Country-"},“name”->“文件格式”,“desc”->“A文件格式”,“输入”->“*c.usa-*fileformat-”,typeset`假设$=,typeset`open$=1,2 },typeset`querystate$=“online”->true,“允许”->真,“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$],dynamicmodulevalues:>,undtrackedvariables:>typeset` open$],basestyle->“deploy”,deleteWithContents->true,editable->false,selectWithContents->true]),“火山”]

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

三维情节标注

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

我们可以通过使用基于新机器学习的方法,在3D中绘制一个稍微更有意义的单词图。徳赢中国特征空间图3d(notice for example that "vocalizing" and "crooning" appropriately end up close together):

特征空间图3d

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

Text Reading

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

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

查找文本答案

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

这简直像魔术。当然,这并不总是有效的,and it can do things that we humans would consider pretty stupid.But it's using very state-of-the-art machine learning methodology,加上许多独特的训练数据沃尔夫拉姆阿尔法.We can see a little more of what it does if we ask not just for its top answer 徳赢彩票游戏about rhino weights,but for its top 5:

FindTextualAnswer top 5

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

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

知识库答案

!\(namespacebox[“linguisticassistant”,dynamicmodulebox[typeset` query$$=“犀牛重量”,typeset`box$=rowbox[templatebox[“\”犀牛\“”,行框[“实体”,“行框[“”种\“”,“,”"\"Family:Rhinocerotidae\""}],“”},“\”实体[\ \”物种\\ \”,\\\“家族:犀牛科\\”]\“,“物种规格”“实体”“模板框[“\”重量\“”,rowbox[“实体属性”,“行框[“”种\“”,“,”“重量”“},“”},“\”实体属性[\ \ \”物种\\ \”,\\\"Weight\\\"]\""},“实体属性”],“”},typeset`allassumptions$=“type”->“multilash”,“单词”->“”“template”->“假设$word1指的是$desc1。使用\\“$word2 \”作为$desc2。Use \"${word3}\" as ${desc3}.","count" -> "3",“值”->“名称”->“物种”,“word”->“犀牛”,“desc”->“A物种规范”,“输入”->“*mc.%7e-x物种-”,{        "name" -> "Person",“word”->“犀牛”,“desc”->“一个人”,"input" -> "*MC.%7E-_*Person-"},“name”->“formula”,“单词”->“”“desc”->“公式”,“输入”->“*mc.%7e-x公式-”,typeset`假设$=,typeset`open$=1,typeset`querystate$=“online”->true,“允许”->真,“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$],dynamicmodulevalues:>,undtrackedvariables:>typeset` open$],basestyle->“deploy”,deleteWithContents->true,editable->false,selectWithContents->true]\)

Or in tons:

单位转换

单位转换!\(\*namespacebox[“linguisticassistant”,dynamicmodulebox[typeset` query$=“吨”,Typeset`boxes$$ =      TemplateBox[{InterpretationBox[" ",1,“嘘”,““短吨”,“短吨”“数量”,syntaxform->mod],typeset`allassumptions$=“type”->“clash”,“字”->“吨”,“template”->“假设”$word \“是$desc1。改为\$desc2使用“,“计数”>“2”,“值”->“名称”->“单位”,“desc”->“A单元”,"input" -> "*C.tons-_*Unit-"},{         "name" -> "Word",“desc”->“一个词”,"input" -> "*C.tons-_*Word-"}}},“type”->“Unit”,“字”->“吨”,"template" -> "Assuming ${desc1} for \"${word}\".使用$desc2 \代替“,“计数”->“10”,“值”->“名称”->“短吨”,“desc”->“短吨”,“input”->“UnitClash吨。*短吨--”,“name”->“longtons”,“desc”->“长吨”,“input”->“UnitClash_*tons.*Longtons--”,“name”->“metricton”,“desc”->“公吨”,“input”->“UnitClash_*tons.*metrictons--”,“name”->“shorttonsforce”,“desc”->“短吨力”,“input”->“UnitClash_*tons.*shortonsForce--”,“name”->“TonSoftnt”,“DESC”->“吨TNT”,“input”->“UnitClash_*tons.*色调柔和--”,{         "name" -> "DisplacementTons",“DESC”->“置换吨”,“input”->“UnitClash_*tons.*置换tons--”,“name”->“龙腾部队”,“desc”->“长吨力”,“input”->“UnitClash_*tons.*Longtonsforce--”,“name”->“metrictonsforce”,“desc”->“公吨力”,“input”->“UnitClash_*tons.*metricTonsForce--”,“name”->“tonsof冰箱”,“DESC”->“美国商用吨制冷”,“input”->“UnitClash_*tons.*吨制冷量--”,{         "name" -> "TonsOfRefrigerationUKCommercial","desc" -> "UK commercial tons of refrigeration (power)",“input”->“UnitClash_*tons.*\tonsofCooriionukCommercial”-“,typeset`假设$=,typeset`open$=1,排版'querystate $ $ ={“在线”- >真的,“允许”->真,“mparse.jsp”->0.303144`5.933193970346431,“消息”->,dynamicbox[toboxes[alphaintegration'语言识别stantbox[“”,4,自动的,动态[typeset`query$],动态[typeset`box$],动态[typeset`allassumptions$],动态[typeset`assumptions$],动态[typeset`open$],动态[typeset`querystate$],StandardForm],ImageSizeCache->{47.,{ 7,16.}},TrackedSymbols:>{       Typeset`query$$,排版`方框$$,typeset`allassumptions美元,typeset`assumptions美元,开放式$typeset`querystate$],dynamicmodulevalues:>,undtrackedvariables:>typeset` open$],basestyle->“deploy”,deleteWithContents->true,editable->false,selectWithContents->true])]

查找文本答案is no substitute for our whole data curation and computable data strategy.但这是一种很有用的方法,可以快速得到第一个答案,即使是完全非结构化的文本。而且,yes,它应该在批判性阅读练习中表现良好,and could probably be made to做得好危险!too.

人脸计算

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

物理学家的脸

findfaces[cloudget[“https://wolver.am/swodyqbb”],"Image"]

面部特征uses machine learning methods to estimate various attributes of faces (such as the apparent age,明显的性别和情感状态):

FacialFeatures[CloudGet["https://wolfr.am/sWRQARe8"]]//Dataset

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

发现面

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

神经网络

现在在Wolfram语言中有各种各样的函数(比如面部特征)内部使用神经网络。但几年来,我们也一直在大力建设整个子系统在Wolfram语言中让人们直接使用神经网络。我们一直在低层图书馆(尤其是MXNET,to which we've been big contributors),所以我们可以利用所有最新的GPU和其他优化。但我们的目标是建立一个高层次的符号层,使其成为easy as possibleto actually set up neural net computations.[直播设计讨论3]

这有很多部分。设置自动encoding译码标准的文本Wolfram语言结构,图像音频等等。能够自动将各个神经网络操作结合起来,尤其是处理序列之类的事情的。能够尽可能地自动化培训,including automatically doing hyperparameter optimization.

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

神经网络存储库

There are networks here that do all sorts of remarkable things.我们每周都在增加新的网络。徳赢中国每个网络都有自己的页面,其中包括示例和详细信息。网络存储在云中。但是要将它们放入计算中,你所要做的就是网络模型

网络模型培训

网络模型[“三维人脸对准网,训练300W大姿态数据”]

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

网络模型

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

11.3版的一个新功能是我们用于网徳赢中国络的标志性表示。我们已经对它进行了优化,使您对net graphs,but then to allow interactive drilldown to any level of detail.当你train a neural network,出现的交互面板有一些新的特性,并且徳赢中国NetTrainResultsObject,我们现在使实际的培训过程本身是可计算的。

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

在开发我们的符号神经网络框架时,我们实际上是朝两个方向发展的。首先是让一切变得越来越自动化,因此,建立神经网络系统越来越容易。但是第二个问题是能够很容易地处理越来越多的神经网络结构。And in Version 11.3 we're adding a whole collection of "network surgery" functions—like网拍网络连接网平-让你进去,随心所欲地调整和破解神经网络。当然,我们的系统是这样设计的,即使你这样做,我们的整个自动化系统,包括培训等等,仍然工作得很好。

渐近分析

For more than 30 years,we've been on a mission to make as much mathematics as possible computational.而在版本11.3我们终于开始破解一个重要的支撑区域:渐近分析。

Here's a simple example: find an approximate solution to a differential equation nearx= 0:

渐近解值

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

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

当我回来以物理学家的身份生活,它似乎总是以微扰方法为中心的一些最强大的黑暗艺术。There were regular perturbations and singular perturbations.有这样的事情WKB法,以及边界层method.The point was always to compute an expansion in some small parameter,但在不同的情况下,似乎总是需要不同的技巧来实现它。但是现在,after a few decades of work,最后,在11.3版中,我们有一个系统的方法来解决这些问题。这里有一个微分方程,我们在这里寻找小ε的解:

渐近解值

AsymptoticDSolveValue[{\[Epsilon] y''[x] + (x + 1) y[x] == 0,Y〔0〕=1,y〔1〕==0 },y[x],X{\ε,0,2 }

在Version 11.2中,we added a lot of capabilities for dealing with更复杂的限制.但有了我们的渐近分析技术,我们现在也可以做些别的事情了,这与数论和计算复杂性理论等领域的各种问题都有很强的相关性,这是为了比较渐进增长率。

This is asking: is 2nK渐近小于(n)!作为n->?结果:是的,subject to certain conditions:

渐近的

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

“初等”代数

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

附加边

加边[a==b,C==D]
MultiplySides

MultiplySides[a == b,C==D]

而且,好啊,it seems like these are really trivial functions,这基本上就是方程的结构。当我说我们应该实现它们的时候,我就是这么想的。但正如我们的代数研发团队迅速指出的那样,there are all sorts of gotchas ("what ifb是否定的吗?”,etc.),这是学生经常会犯的错误,但是使用Wolfram语言中的所有算法基础设施,我们很容易就能纠正:

负多重性

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

校样

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

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

完全简化

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

但这只是告诉我们结果;it doesn't give any kind of proof.好,in Version 11.3,我们现在可以得到一个证据:

财务季度报表

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{Bc},南德[南德[南德[A,B]C.NANDnand[nand[a,C.a)[]=C]

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

校对

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{Bc},南德[南德[南德[A,B]C.NANDnand[nand[a,C.A]]==C]];证明[“证明图”]

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

校对数据集

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{Bc},南德[南德[南德[A,B]C.NANDnand[nand[a,C.a]]] == c]];proof["ProofDataset"]

You can get a somewhat more narrative form as a notebook too:

校对笔记本

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{Bc},南德[南德[南德[A,B]C.NANDnand[nand[a,C.A]]==C]];校样[“校样笔记本”]

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

证明

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{Bc},南德[南德[南德[A,B]C.NANDnand[nand[a,C.a]]==c]];证明[“证明函数”]

Unsurprisingly,毫无疑问,它给出Trueif you run it:

结果证明

证明=findequantialproof[nand[p,q==nand [q,P.福尔[{Bc},南德[南德[南德[A,B]C.NANDnand[nand[a,C.a]]==c]];证明[“证明函数”][]

既然我们可以用Wolfram语言生成符号证明结构,有很多经验元数学要做,我将在以后的文章中讨论。但鉴于财务季度报表研究任意的“方程式”符号关系,it can actually be applied to lots of things—like verifying protocols and policies,for example in popular areas like blockchain.

不断增长的知识库

这个Wolfram知识库每天都有一部分时间是通过系统的数据馈送增长的,部分是通过明确添加新的整理数据和域。徳赢中国如果有人问在11.2版和11.3版之间添加了什么,这是个有点奇怪的手提包。大约有150多处新物业徳赢中国徳赢彩票游戏上市公司.上有900个新的命名功能徳赢中国冥王星Mercury.有16000个新的徳赢中国解剖结构,such as nerve pathways.有近500个新的”徳赢中国值得注意的图“。有成千上万的新的徳赢中国岛屿,著名建筑,and other geo-related features.食物有很多新特性,徳赢中国和徳赢中国与疾病的新联系.And much more.

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

好,in Version 11.3,the magic got considerably stronger.因为现在当你要一件特别的东西时,the system will try to figure out what you're likely to ask for next,它会自动启动异步预取,所以当你要求的时候,它已经在你的电脑上了,你不必等待它从云端下载。(如果您想“手动”进行预取,这是功能实体预取做这件事。注意,如果你在云中使用Wolfram语言,知识库已经“在那里”,so there's no downloading or prefetching to do.)

The whole prefetching mechanism is applied quite generally.So,for example,if you use解释器解释一些输入(比如,US state abbreviations),information 徳赢彩票游戏about how to do the interpretations will also get prefetched—so if you're using the desktop,这些解释可以在本地完成,而不必与云通信。

邮件和邮件

You've been able tosend email from the Wolfram Language(using发送邮件十年。但从11.3版开始,它可以使用完整的HTML格式,你可以在里面嵌入很多东西,不仅仅是图形和图像,还有云物体,数据集,音频等。[直播设计讨论]

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

Wolfram语言已经能够导入邮件和邮箱很长时间了,与邮件接收函数它还能够对收到的邮件作出响应。But in Version 11.3 something 徳赢中国new that's been added is the capability to deal with live mailboxes.

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

邮件服务器连接

mail=mailserverconnect[]

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

邮件搜索

邮件搜索[“fahim”>]

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

邮件搜索部分

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

mailexecute[“删除”,%%["MailItem"]]

系统级操作

Version 11.3 supports a lot of 徳赢中国new systems-level operations.让我们从一个简单但有用的方法开始:远程程序执行。函数遥控器is basically like Unix rsh: you give it a host name (or IP address) and it runs a command there.这个认证选项允许您指定用户名和密码。如果要远程运行持久程序,你现在可以用远程运行进程,哪个是本地的远程模拟RunProcess.

在处理远程计算机系统时,身份验证一直是一个问题,多年来,我们一直在用Wolfram语言构建一个逐步完善的符号身份验证框架。在11.3版中有一个新的徳赢中国AuthenticationDialog函数,which pops up a whole variety of appropriately configured authentication dialogs.然后有生成SecuredAuthenticationKey-生成OAuth安全身份验证密钥对象,人们可以使用这些对象从外部对进入Wolfram云的调用进行身份验证。

Also at a systems level,有一些新的导入/导出格式,徳赢中国喜欢BSON(类似于JSON的二进制序列化格式)和(web archive format).There are alsoHTTP协议HTTP预告格式,这(以及其他许多事情)基本上可以用Wolfram语言用几行代码编写Web服务器。

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

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

SystemProcessData

系统进程数据[]

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

随机过程

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

当然,because everything is computable,很容易做一些事情,如绘制计算机上运行的进程的开始时间(以及,yes,我上次重新启动是几天前):

时间序列图

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

If you want to understand what's going on around your computer,Version 11.3 provides another powerful tool:网络包记录.您可能需要进行一些权限设置,但是这个功能可以记录通过计算机上任何网络接口的网络包。

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

网络包记录

网络包记录[1]

You can drill down to look at each packet;这是第一个被记录的:

网络包记录

网络包记录

为什么这么有趣?好,我想用它debugging这对学习计算机安全也很有帮助,not least because you can immediately feed everything into standard Wolfram Language visualization,机器学习和其他功能。

没有提到的

This is already a long post—but there are lots of other things in 11.3 that I haven't even mentioned.For example,there've been all sorts of updates for importing and exporting.像更高效和强大的XLS猪瘟病毒,和猪传染性胃肠炎病毒import.或导出动画PNGS.Or support for metadata in sound formats likeMP3.Or more sophisticated color quantization inGIF口角,etc.[直播设计讨论]

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

也是新的徳赢中国音频距离,支持各种音频距离测量。与此同时,音程can now automatically break audio into sections that are separated by silence.而且,在有些不同的地区,声音造型提供可能的声音列表演讲综合.

这里有一个小新数学函数徳赢中国—that in this case gives a sequence of 0s and 1s in which every length-4 block appears exactly once:

德布鲁金序列

DeBruijnSequence[{0,1 },4

The Wolfram Language now has sophisticated support for数量和单位-明确的数量(如2.5千克)和符号”数量变量“()有压力单位)。但一旦你在里面,做一些类似于解方程的事情,您通常希望“将单位分解出来”。And in 11.3 there's now a function that systematically does this:无量纲化变换.11.3中还有一种新的引入新数徳赢中国量的机制,usingIndependentPhysicalQuantity.

许多内置的Wolfram知识库最终以实体存储的形式表示,在第11版中,我们介绍了实体商店construct for defining 徳赢中国new entity stores.Version 11.3 introduces the function实体寄存器,which lets you register an entity store,这样,您就可以引用它包含的实体类型,就像引用内置的实体类型(如城市或化学品)。

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

在11.2版中,我们介绍了外部评估以外部语言(如python)运行代码。在11.3版中,我们正在尝试通用化外部评估to control web browsers,通过设置WebDriver框架。You can give all sorts of commands,both ones that have the same effect as clicking around an actual web browser,以及提取你在页面上看到的东西的方法。

下面介绍如何使用Chrome(我们同时支持它和火狐)打开网页,then capture it:

WebDriver

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

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

11.3中的新功能概述徳赢中国

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


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

网络旗帜

?斯vwin中国蒂芬·沃尔夫拉姆,LLC | 条款γ RSS