查看所有发布公告

版本12今天发布!(这对Wolfram语言和Mathematica来说是一个巨大的飞跃)

12版之路

Today we're releasing Version 12 of沃尔夫拉姆语(和)数学软件桌面平台,而在钨云.我们发布2016年8月11.0版11.1 2017年3月11.2 in September 201711.3 2018年3月.从11.3版到12.0版是一个巨大的飞跃。Altogether there are278全新功能徳赢中国,在大约103个地区,以及系统中数千种不同的更新:

版本12今天发布

在“整数释放“像12,我们的目标是提供完整的新功能领域。徳赢中国但在每一个版本中,我们也希望提供我们研发工作的最新结果。12,也许我们新功能的一半可以被认为是在以前的徳赢中国“.1”版本中开始的完成区域,而另一半则开始新区域。我将在这篇文章中讨论这两种类型的函数,但我将特别强调从11.3到12.0的新特性。徳赢中国

我必须说,既然12.0完成了,我很惊讶里面有多少钱,从11.3开始我们增加了多少。在我的主题演讲中Wolfram技术会议去年十月,我总结了我们在这一点上所做的,甚至花了近4个小时。现在还有更多。

我们所能做的就是证明我们研发的力量,并以Wolfram语言作为一个有效的开发环境。当然,这两件事建设30年.但是12.0的一个新功能是我们一直让人们观徳赢中国看我们的幕后设计过程-LiveStreaming在我的内部设计会议上持续300多小时.所以除了其他的一切,我怀疑这使得12.0版成为历史上第一个以这种方式打开的主要软件版本。

好啊,那么12.0版有什么徳赢中国新功能呢?有一些重大和令人惊讶的事情,特别是在化学几何学数值不确定性数据库集成.但总的来说,在很多方面都有很多事情,事实上,甚至在文档中心已经有19页长:

徳赢中国版本12中的新功能

第一,一些数学

尽管现在Wolfram语言(和Mathematica)所做的绝大多数工作都不是通常认为的数学,我们仍然在努力推动数学领域的前沿研究。作为我们在12.0中添加的第一个示例,这是相当多姿多彩的融合三维

融合三维
γ

complexPlot3d[伽玛[Z],Z,-4-4i,4+4i]

一直以来,人们都可以编写Wolfram语言代码,在复杂的平面上绘制图形。但直到现在,我们才解决了在复杂平面上自动绘制甚至相当病理功能的过程所需的数学和算法问题。

几年前我记得精心策划这个双对数函数,它的实部和虚部。现在再投入只是这样做:

再投入
γ

重新植入[Polylog[2,x],{x,-4,4 }

复杂函数的可视化是一个复杂的故事。细节使得人们对函数的注意有很大的不同。徳赢彩票游戏因此,我们在12.0中所做的一件事就是引入精心选择的标准化方法(例如颜色函数)要突出显示不同的功能:

悔悟
γ

complexPlot[(z^2+1)/(z^2-1),z,-2-2i,2+2i,colorFunction->“cycleClogabsarg”]

不确定性微积分

Measurements in the real world often have uncertainty that gets represented as values with ± errors.我们已经有了一些附加包来处理“有错误的数字”很久了。但是在12.0版中,我们在不确定性的计算中构建,我们做得很好。

关键是符号对象周围[Xδ],它代表一个值“大约X“不确定性δ

周围
γ

大约[7.1,25 ]左右

你可以用做算术周围,对于不确定性如何结合,有一个完整的演算:

平方正交函数
γ

sqrt[约[7.1,.25]]+约[1,.1]

如果你阴谋周围numbers,它们将显示为误差条:

列表图
γ

listprot[表[大约[N,randomreal[sqrt[N]]],n,20]]

有很多选择,比如这里有一种方法可以显示两者的不确定性XY

列表图
γ

列表图[表[关于[RandomReal[10]、RandomReal[1]、20,2]、IntervalMarkers->“Ellipses”]

你可以拥有周围量:

1 /周围[ 3m,3.5cm
γ

1/左右[数量[3,“米”数量[ 3.5,“厘米”

你也可以有象征性的周围objects:

周围
γ

约[x,下标[δ,x]]+左右[y,下标[δ,Y]

但真正的周围对象?It's something where there are certain rules for combining uncertainties,这是基于不相关正态分布的。但是没有人说周围[Xδ]表示除此之外实际详细遵循正态分布的任何内容周围[Xδ]表示特定于由定义的间隔中的数字间隔[{X-δX+δ}.只是这样周围对象根据一致的一般规则传播它们的错误或不确定性,这些规则成功地捕获了实验科学中通常所做的工作。

好啊,所以假设你做了一些有价值的测量。您可以使用以下方法获得该值及其不确定性的估计值:平均数(并且,对,如果测量本身存在不确定性,在对其贡献进行加权时,将考虑这些因素:

平均数
γ

平均值[1.4,1.7,1.8,1.2,1.5,1.9,1.7,1.3,1.7,1.9,1.0,1.7]

整个系统的功能,尤其是机器学习-开始有了选择计算不确定性γ,让他们付出周围对象而不是纯数字。

周围似乎是个简单的概念,但它充满了微妙之处,这也是它直到现在才进入系统的主要原因。许多微妙之处在于不确定性之间的相关性。The basic idea is that the uncertainty of every周围假设对象是独立的。但有时一个人的价值与相关的不确定性,因此除了周围,还有矢量环绕,它表示具有特定协方差矩阵的潜在相关值的向量。

在处理代数公式之类的事情时,还有更微妙的地方。如果替换X这里有一个周围,然后,遵循的规则周围,假设每个实例都不相关:

(Exp[x]+Exp[x/2])
γ

(exp[x]+exp[x/2])/.x->大约[0.3]

但这里可能有人想假设,即使X可能不确定,每种情况都是一样的,我们可以用这个函数环绕替换(注意结果不同):

环绕替换
γ

aroundreplace[exp[x]+exp[x/2],x->around[0,.3]]

如何显示不确定的数字有很多微妙之处。比如有多少尾随如果你加入:

大约10006
γ

大约[1,0006 ]左右

或者不确定度的精度应该包括多少(当尾随数字为35时,有一个传统的断点):

{左右1.2345000312。Around[1.2345,00037)}
γ

约[1.2345,.000312],约[1.2345,.00037]

在少数情况下,很多数字是已知的(想想,例如,一些物理常数)人们想用另一种方式来说明不确定性:

约[1.23456789,00000000 1
γ

约[1.23456789,.00000000 1]

它一直在持续。但渐渐地周围将开始在整个系统中显示。顺便说一句,有很多其他的方法可以指定周围数字。这是一个相对误差为10%的数字:

大约2按比例[ 1 ] ]
γ

约[2,按比例缩放[.1]]

这是最好的周围可以表示一个间隔:

约[间隔2,3 } ]
γ

约[间隔[2,3]]

对于一个分布周围计算方差:

大约[NormalDistribution[2,1 ] ]
γ

大约[normalDistribution[2,1]]

它还可以通过给出不对称不确定性来考虑不对称性:

大约[lognormalDistribution[2,1 ] ]
γ

大约[logNormalDistribution[2,1]]

经典数学,初级和高级

在数学计算方面,这总是一个挑战,双方都能“把一切都做好”,不要混淆或恐吓初级用户。12.0版介绍了一些需要帮助的内容。第一,try solving an irreducible五次方程

解决
γ

求解[x^5+6 x+1==0,X]

过去,这会显示出一堆明确的物体。但是现在对象被格式化为显示其近似数值的框。计算工作完全相同,但这种显示并没有立即让人们面对必须知道代数数的问题。徳赢彩票游戏

当我们说整合,我们的意思是“求积分”,in the sense of an antiderivative.但是在初等微积分中,人们希望看到明确的集成常量(就像他们在沃尔夫拉姆阿尔法)所以我们增加了选择权为此(和C[n]还有一个不错的,徳赢中国新输出窗体):

整合
γ

集成[X^3,X,GeneratedParameters->C]

当我们对符号集成能力进行基准测试时,我们做得非常好。但总有更多的事情可以做,尤其是在寻找最简单的积分形式方面(在理论层面上,这是符号表达式等价不可判定性的必然结果)。在12.0版中,我们继续在边境地区挑选,添加案例,如:

平方正交函数
γ

\[积分]sqrt[sqrt[x]+sqrt[2 x+2 sqrt[x]+1]+1]\[微分]x

完整的
γ

\[积分]x^2/(productlog[a/x]+1)\[微分]x

在11.3版中,我们引入了渐近分析,能够求积分的渐近值等。版本12.0增加了渐近和,方程的渐近递推和渐近解:

渐近和
γ

渐近和[1/sqrt[k],{1,n},{n,[无穷大],5 }

渐近解
γ

渐近解[x y^4-(x+1)y^2+x==1,Y{x,0,3 },雷尔斯

数学计算的一大优点是它给了我们解释数学本身的新方徳赢彩票游戏法。徳赢中国我们一直在做的一件事就是增强我们的文档,以便它能够解释数学和函数。For example,以下是关于徳赢彩票游戏极限-通过核心数学思想的图表和示例:

极限

更多多边形

多边形自版本1以来一直是Wolfram语言的一部分。但在12.0版中,它们得到了推广:现在有了一种系统化的方法来指定其中的漏洞。A classic geographic use case is the polygon for南非-有洞的国家莱索托.

In Version 12.0,很像多边形gets a convenient 徳赢中国new display form:

兰多普利贡[20]
γ

兰多普利贡[20]

您可以像以前一样使用它进行计算:

地区
γ

区域[%]

RandomPolygon也是新徳赢中国的。你可以问,说,对于5个随机凸多边形,每个有10个顶点,在3D中:

图形三维
γ

graphics3d[randopolygon[3->“凸面”,10,5]]

在多边形上有很多新的操作。徳赢中国喜欢多边形分解,哪能,例如,将多边形分解为凸面部分:

兰多普利贡[8]
γ

兰多普利贡[8]

多边形分解
γ

多边形分解[%,“凸”

带孔的多边形也需要其他类型的操作,喜欢外多边形简单多边形,和CanonicalizePolygon.

多面体计算

多边形很容易指定:只需按顺序给出顶点(如果它们有孔,还可以为孔提供顶点)。多面体有点复杂:除了给顶点,您必须说明这些顶点如何形成面。但在12.0版中,多面体让我们用相当普遍的方法来做这件事,including voids (the 3D analog of holes),等。

但首先,认识到他们2000多年的历史,12.0版引入了五种功能柏拉图立体

图形3d[十二面体[]
γ

图形3d[十二面体[]

考虑到柏拉图固体,可以立即开始使用它们进行计算:

卷[十二面体[]
γ

卷[十二面体[]

这是顶点1处的立体角(因为它是柏拉图的,所有顶点的角度相同):

多面体角
γ

多面体角[十二面体[],1]

下面是对多面体的一个操作:

斜角多面体
γ

graphics3d[斜角多面体[十二面体[],1]]

Volume
γ

卷[双多面体[斜角多面体[十二面体[],1]]]

在柏拉图固体之外,版本12也内置于所有多面体n边缘和面在每个顶点相交),你也可以得到符号多面体命名多面体的版本多面体数据

增广多面体
γ

graphics3d[增广多面体[多面体数据[“尖峰”,“多面体”],2]]

你可以做任何多面体(包括一个“随机”的,具有随机多面体)然后做你想做的任何计算:

区域联盟
γ

区域阴离子[十二面体[0,0,0],十二面体[1,1,1]

表面面积
γ

表面面积[%]

可计算的欧几里得式几何

Mathematica和Wolfram语言在两方面都非常强大计算几何用代数表示的几何.但是几何学的原理呢徳赢彩票游戏Euclid元素-其中一个提出几何断言,然后看到它们的结果是什么?

好,在版本12中,用我们所建造的技术之塔,我们终于能够提供一种新的数学计算方式,这种方式实际上可以自动执行徳赢中国欧几里得2000多年前所做的工作。一个关键的想法是引入象征性的“几何场景”,这些场景中的符号表示诸如点之类的结构,and then to define geometric objects and relations in terms of them.

For example,这是一个代表三角形的几何场景c,一个圆圈穿过c,带中心o,约束条件是o位于线条的中点toc

几何场景
γ

几何场景[a,b,c,o,三角形[a,b,c],圆形粗糙[a,b,c,o],o==中点[a,c]]

独自一人,这只是一个象征性的东西。但我们可以对它进行操作。For example,we can ask for a random instance of it,在哪儿co具体如下:

随机实例
γ

随机状态[几何场景[a,b,c,o,三角形[a,b,c],圆形粗糙[a,b,c,o],o==中点[a,c]]

You can generate as many random instances as you want.我们试图使实例尽可能通用,没有不受约束的巧合:

随机实例
γ

随机状态[几何场景[a,b,c,o,三角形[a,b,c],环绕[a,b,c,o],o==中点[a,c],3]

好啊,but now let's "play Euclid",找到符合我们设置的几何推测:

查找计量推测
γ

查找计量推测[几何场景[A,B,C,O,三角形[A,B,C],环绕[A,B,C,O],O==中点[A,C]]

对于给定的几何场景,可能有许多推测。我们试着挑一些有趣的。在这种情况下,我们提出了两个,图中所示的是第一个:这条线文学士is perpendicular to the line炭黑.碰巧,这个结果实际上出现在欧几里得中第3册,作为提案31的一部分)-尽管它通常被称为泰勒斯定理.

12,现在我们有了一个完整的符号语言来表示出现在欧几里得风格几何中的典型事物。这是一个更复杂的情况,对应于所谓的拿破仑定理

随机实例
γ

随机状态[几何场景[“C”,“B”,“A”,“C”,“B”,“A”,“OC”“OB”,“OA”},{三角形[{ c’,“B”,“A”},tc==三角形[“a”,“B”,“C”},tb==三角形[“c”,“A”,“B”},ta==三角形[“b”,“C”,“A”},几何断言结核病TA},“常规”“oc”=三角中心[tc,"Centroid"],“ob”==三角中心[tb,"Centroid"],“OA”==三角中心[TA,"Centroid"],三角形[ {“OC”)“OB”,“OA”}[]

在12.0中,有许多新的和有用的几何函数可以处理显式徳赢中国坐标:

循环通过
γ

圈粗[0,0,2,0,0,3]

三角测量
γ

三角测量[三角形[0,0,1,2,3,4],“Inradius”]

对于三角形,支持12种类型的“中心”。而且,对,可以有符号坐标:

三角讲师
γ

三角中心[三角形[0,0,1,2,3,Y],“九点中心”]

为了支持建立几何语句,我们还需要”几何断言“。12.0中有29种不同的类型,如“平行”“全等”“切线”“凸”,等。这里有三个被断言为成对相切的圆:

随机实例
γ

随机状态[GeometricScene[A,B,C,GeometricAssertion[Circle[A],Circle[B],Circle[C],PairwiseTangent“]]

用公理理论进行超符号化

11.3版介绍财务季度报表用于生成证明的符号表示。但是这些证明应该使用什么公理呢?12.0版介绍公理论,它给出了各种常见的公理公理化理论.

这是我的个人最喜欢的AXIOM系统

钨矿
γ

公理化理论[“Wolframaxioms”]

这是什么意思?从某种意义上说,这是一个比我们过去更具象征意义的符号表达。比如说1+X我们不说什么价值X是,但我们认为它可以有价值。在上面的表达式中,c是纯粹的“形式符号”,在本质上起着结构作用,and can't ever be thought of as having concrete values.

那·(圆点徳赢彩票游戏)呢?在1 +X我们知道+的意思。但是····是一个纯粹抽象的运算符。公理的意义在于定义约束关于·能代表什么。在这种特殊情况下,事实证明,公理是布尔代数公理,这样·就可以代表与非门也不.但是我们可以完全正式地推导出公理的结果,例如,财务季度报表

财务季度报表
γ

findequantialproof[p·q==q·p,公理化理论[“Wolframaxioms”]

这一切都很微妙。In the example above,作为操作员,这很有用,尤其是因为它显示得很好。但它没有内在的意义,和公理论让你给点别的(这里f)作为操作员:

Wolframaxioms南部
γ

公理化理论

What's the "与非门“在那儿干什么?它是运算符的名称(但不应将其解释为与运算符的值有关)。在群论公理,例如,出现了几个运算符:

群组
γ

公理理论[群公理]

这里给出了各种运算符的默认表示形式:

公理论
γ

公理理论[“群公理”,“运算符”]

公理论了解特定公理徳赢彩票游戏系统的显著定理:

不动点定理
γ

公理理论[“群公理”,“显著定理”]

形式符号的基本概念在第7版中介绍,用于在生成的构造中表示虚拟变量,如:

pdf[正态分布,0,1]]
γ

pdf[正态分布[0,1]]

差速器
γ

求和(2 ^ n n)!,n]

环面
γ

实体[“表面”,“圆环”【实体属性】【表面”,“代数方程”]]

您可以使用[福尔马拉]ESCAESC,等。但回到第7版,
[福尔马拉]呈现为.这意味着上面的表达看起来像:

γ

函数[\[形式],[Falalc] },函数[\[formlx],[形式]\[FalAlZ] },\[福尔马拉]^4-2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2-2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^4-2 \[福尔马拉]^2 \[福尔马拉]^2-2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[福尔马拉]^2 \[^2\[formlz]^2+2\[formlx]^2\[formlz]^2+2\[正式]^2\[正式]^2+\[正式]^4]]

我一直认为这看起来非常复杂。对于版本12,我们希望简化它。我们尝试了很多可能性,但最终还是选择了单一的灰色内裤,我觉得看起来好多了。

公理论,变量和运算符都是“纯粹的符号”。但有一点是肯定的,就是每个算符的实数,哪一个可以问公理论

布尔逻辑公理
γ

公理化理论

操作性
γ

公理化理论

方便地,运算符和算术的表示可以立即输入分组,要获得涉及特定变量的可能表达式,请执行以下操作:

分组[a,b,%]
γ

分组[A,B,%]

N体问题

公理化理论代表了数学的一个经典历史领域。另一个更为实用的经典历史领域是n身体问题.12.0版介绍非线性仿真,它给出了n身体问题。这里有一个三体问题(想想地球月亮太阳)在一定的初始条件(和平方反力定律)下:

非线性仿真
γ

nBodySimulation[“倒平方”,质量“->1”,位置“->0,0”,速度“->0,5”,质量“->1”,位置“->1,1”,速度“->0,-5”,质量“->1”,位置“->0,1”,速度“->0,-5”,质量“->1”,位置“->0,1”,速度“->0,0”,

您可以询问解决方案的各个徳赢彩票游戏方面;这将位置绘制为时间的函数:

参数图
γ

参数图[评估[%[全部,“位置”T]{t,0,4 }

下面,这只是解微分方程,但有点像系统模型-非线性仿真提供一种方便的方法来建立方程并处理它们的解。而且,对,标准力定律是内置的,但你可以定义你自己。

语言扩展和便利

30多年来我们一直在打磨Wolfram语言的核心,在每一个连续的版本中,我们都引入了一些新的扩展和便利。徳赢中国

我们有这个功能问询处从1.0版开始,但是在12.0版本中,我们已经大大扩展了它。它只提供有关符号的信息(尽管也进行了现代化改造):徳赢彩票游戏

信息
γ

信息

但现在它也提供了很多种类物体的信息。徳赢彩票游戏下面是关于分类器的信息:

信息[分类[“公证人”]
γ

信息[分类[“公证人”]

以下是有关云对象的信息:徳赢彩票游戏

信息[CloudPut[100!] ]
γ

信息[CloudPut[100!] ]

将鼠标悬停在“信息框”中的标签上,可以找到相应属性的名称:

FLIEHASHMD5
γ

信息[CloudPut[100!],“filehashmd5”]

对于实体而言,问询处给出已知属性值的摘要:

信息[钨]
γ

信息[实体[“元素”,“钨”]

在过去的几个版本中,我们介绍了许多新的摘要显示表单。徳赢中国在11.3版中,我们介绍了图标化,它本质上是为任何东西创建摘要显示窗体的一种方法。图标化已经证明比我们原先预期的更有用。它非常适合在笔记本和Wolfram语言代码中隐藏不必要的复杂性。在12.0版本中,我们重新设计了图标化显示器,尤其是为了让它在表达式和代码中“很好地阅读”。

您可以显式地将某些内容图标化:

{a,b,iconize[范围[10]]
γ

A、B、ICONize[范围[10]]

+你会看到一些细节:

ICONize扩展

出版社不连体化你会再次得到最初的表达方式:

不连体化

如果你有很多数据要在计算中引用,你可以把它存储在一个文件中,或者在(或甚至在数据存储库)通常更方便,虽然,把它放在你的笔记本里,所以你的一切都在同一个地方。避免“接管笔记本”数据的一种方法是放入封闭的单元格.但是图标化提供了一种更灵活、更优雅的方法来实现这一点。

当你写代码的时候,“就地形象化”通常很方便。现在右键单击菜单允许您执行以下操作:

将工作流图标化
γ

阴谋[罪],{x,0,10 },PlotStyle -> Red,填充->轴,填充样式->浅黄色]

说到展示,下面是我们在12.0中添加的一些小而方便的内容:

百分率
γ

百分位数[0.3]

下面是我们添加的其他一些“数字便利设施”:

分子分母
γ

NumeratorDenominator[11/4]

混合压裂零件
γ

混合压裂零件[11/4]

函数式编程一直是Wolfram语言的核心部分。但我们一直在寻求扩展,为了介绍新的,徳赢中国generally useful primitives.版本12.0中的一个示例是子集图

subsetmap[反转,{a,Bc,xxx,YYYZZZ,{ 2,5 }
γ

subsetmap[反转,{a,Bc,xxx,YYYZZZ,{ 2,5 }

subsetmap[反转@*映射[f],{a,Bc,xxx,YYYZZZ,{ 2,5 }
γ

subsetmap[反转@*映射[f],{a,Bc,xxx,YYYZZZ,{ 2,5 }

函数通常可以接受多个输入,但总是给出一个单独的输出。在像量子计算,然而,一个人对输入和outputs.子集图有效实施γ功能,从中提取输入列表中的指定位置,对他们进行一些操作,then putting back the results at the same位置。

我开始制定现在的计划子集图徳赢彩票游戏about a year ago.我很快意识到,事实上,多年来我可以在各种地方使用这个功能。但是这个特殊的“计算工作块”应该称为什么呢?我的初始工作名称是数组替换函数(我简称为ARF在我的笔记里。在一个(直播)会议顺序我们来回走动。有这样的想法应用程序(但事实并非如此应用突变株(但它不做左值意义上的突变)以及RewriteAt替代品多应用施工现场.有一些关于课程“功能装饰”形式的想徳赢彩票游戏法,喜欢部件应用功能部分功能应用于应用跨多部门咖喱.

但不知怎的,当我们解释这个函数时,我们继续谈论它是如何在列表的一个子集上运行的,徳赢彩票游戏当时的情况地图,只是它一次在多个元素上运行。所以我们最终确定了这个名字子集图.在另一个强化语言设计重要性的过程中,一旦有了这样的名字,一个人立刻发现自己能够对此进行推理,徳赢彩票游戏看看它在哪里可以使用。

更多机器学习功能

多年来,我们一直在努力使Wolfram语言成为最高级和最自动化的系统。最先进的机器学习.早些时候,我们介绍了“超功能”分类预测那样做分类以及完全自动化的预测任务,自动为给定的特定输入选择最佳方法。沿途,我们引入了其他的超功能,比如SequencePredict激活分类特征提取.

在12.0版中,我们有几个重要的新机器学习功能。徳赢中国有发现异常,在数据中发现“异常元素:

发现异常
γ

findanomalis[1.2,2.5,3.2,107.6,4.6,5,5.1,204.2 }

除了这个,有删除异常,删除它认为异常的元素:

删除异常
γ

删除异常现象[1.2,2.5,3.2,107.6,4.6,5,5.1,204.2 }

还有合成MissingValues,它试图为丢失的数据生成合理的值:

合成MissingValues
γ

合成丢失值[1.1,1.4,2.3,3.1,3,4,缺失[],5.4,8.7,7.5]

How do these functions work?它们都是基于一个新的函数徳赢中国学习分布,它试图学习数据的底层分布,给出了一组特定的例子。如果例子只是数字,这基本上是一个标准的统计问题,for which we could use something like估计分配.但关键是徳赢彩票游戏学习分布它能处理任何类型的数据,不仅仅是数字。Here it is learning an underlying distribution for a collection of colors:

dist=学习分布
γ

dist=学习分布[rgbcolor[0.5172966964096541,0.4435322033449375,1、颜色[0.3984626930847484,0.5592892024442906,1、颜色[0.6149389612362844,0.5648721294502163,1、颜色[0.4129156497559272,0.9146065592632544,1、颜色[0.7907065846445507,0.41054133291260947`,1、颜色[0.4878854162550912,0.9281119680196579,1、颜色[0.9884362181280959,0.49025178842859785`,1、颜色[0.63324503827218,0.9880985331612835,1、颜色[0.9215182482568276,0.8103084921468551,1、颜色[0.667469513641223,0.46420827644204676`,1、[}]

一旦我们有了这个“学习分布”,我们可以用它做各种事情。For example,这将从中生成20个随机样本:

随机变量[dist,20]
γ

随机变量[dist,20]

但是现在想想徳赢彩票游戏发现异常.它要做的是找出哪些数据点相对于预期值是异常的。或者,换言之,考虑到数据的底层分布,它发现哪些数据点是异常值,从这个意义上说,根据分布,它们只以非常低的概率出现。

就像普通的数值分布一样,我们可以计算PDF对于特定的数据块。紫色很可能是我们从示例中学习到的颜色分布:

PDF紫色]
γ

PDF颜色[0.6323870562875563,0.3525878878987,1.0002083564175581`]

But red is really really unlikely:

PDF红色
γ

PDFRGBBROSE [ 1,0,0 ] ]

对于普通的数值分布,有这样的概念彩色多普勒血流告诉我们累积概率,假设我们得到的结果比一个特定值“更进一步”。对于任意事物的空间,there isn't really a notion of "further out".但我们想出了一个我们称之为稀有可能性,这告诉我们生成一个PDF比我们给出的小的示例的总概率是多少:

更高的可靠性[距离,紫色]
γ

更高的可靠性[距离,颜色[0.6323870562875563,0.3525878878987,1.0002083564175581`]

更高的可靠性[距离,红色
γ

更高的可靠性[距离,RGBBROSE [ 1,0,0 ] ]

现在我们有了一种描述异常的方法:它们只是概率非常小的数据点。事实上发现异常有选择权接受阈值(默认值为0.001),指定应计为“非常小”的值。

好啊,但让我们看看这项工作对比颜色更复杂的东西的影响。让我们通过查看1000个手写数字示例来训练异常检测器:

异常检测
γ

异常检测[randomsample[resourcedata[“mnist”][[all,1]],1000]]

现在发现异常可以告诉我们哪些例子是异常的:

发现异常
γ

findanomalis[异常检测[RandomSample[资源数据[“mnist”][全部,1]],1000]],{!\(\*图形框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrrjimqwu/x+84o9ursb6p1ilpk1jaolzwuyj ijm80kcabhc9z1/8wjm9suh0swf+/2ditxyj5c9f8tjqbdwwwwmg8-ymvn+xcl3k4ijei7tdicagt2-jiyfokt+5zgj38yhityirt6+5zgj38yh6h6h6h1cturl6h6h1cturl6h6h6cturtkncjlozma/bivyimkah9qjayatf9gkrqo2gjdpmeq6rzq0zrpsbv4ni4p+acun1itabxtmfa“],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图形框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrjimqwu/x/kgjjjjcttuoq4mfqy12kwmbi9jlwpqyse9cikgynrgrsuk6au68e4ddw4dbfvipdfyne7d77neqc6mxhlt+N8mt79c5xggyhuf4balt7+oyemkw////lyh+wi7z//9jayywxhuxhuxlubgcb+chs+chs+hh+wi7z//9jaywxhuxhuxhuxlub“”,{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图形框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbababaf5xzpeopnxklqrrjimqwu/x/m4i7mi1sbf2vmoyxsuocqgmd2dmleyzoy9mkytulwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwjjjqqqjjjjrqwwwvvvvvlvvvvvvvvvvvvvvvlvvvvvvvvvvvu76qd76w765hyyncmr1iqiwayqy+q/elsd7fbfcbnxmir/dkucvaadomc0b“],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*GraphicsBox[TagBox[RasterBox[CompressedData["1:eJxTTMoPSmNiYGAo5gASQYnljkVFiZXBAkBOaF5xZnpeaopnXklqemqRRRJImQwUDwZwxxCnVOZfnHJ8T75rYAiKC4Cp2n+rMKRcXm8E099+GaNLsW/7OQ9E2/9ZhqFtwT8HEMV07J8RulT7v1WMINru3xsBNKmw339cQDTroX/FaFLSD/9NBzOU/n1gR5Mz+vdeBESz7P2XwsAujSIn+/zfxZychqO9//7dOHoRzX8xf/5BwN9fi/250ExVCwWC4n8//TE8BwW6/97ikmJI+HcLl5Tc43+TcUhxrP33uxmhno+/p6w4jdz4bxnol9faaaypls0“],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*graphicsbox[tagbox[rasterbox[compresseddata[“1:ejxtmopsmniygao5gasqynljkvfizxbakboaf5xznpeaeopnxklqemqrrjimqwu/x8ugkeep5qdbrn9daz7sdc2vx6udytygo2akqu1to2/baaxlshtqy05faktbwlrtpwmswhqhg0m9rdu6brazcapd/fx1clpsgzjaenydr9uotwpr88cvuxubjjdqd19aaamwi/nq=”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图形框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrrjimqwu/x+m4fklv9+vk1fmz2czqn5vk1ffmzz2czzqn5vk2fmzz2czz2czww1ozjjjjjj9hypx6dqskzzzm instroawtk/Aybdlh6oh2wpr9emypccz1fjdwyjdwyzyz9/tvwu6uJ9/bu3qobbizz9/bu3qobbizz3a ij9jsy3sl4t48cbvydm1im5lcogj8ignakuwcxhfdbeyq3cfy9srsuxmtjhcvbyxn51kb+cmksmchgygpwnf/wzhpwbsits8grmiao6guktp+05drdteqaa1cvcq=“”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrrjimqwu/x/s4pcnhbkvnqzcnx8wrd/8nmfpx8jeajfo0udtvcainuwpp5APlwtiSouvivnpq0ihpj2b1xgpvr7zsowwffffffffffftmopsmniygao5gasqyqynljkvvvvyqtqtojoo+xmfd0yfd0yjyyyyyyyyyy6p1hluuuuwwK52YC+BRG6UTNPOSOLMDKKN4K93MDPUA1V7M0QMBA5TUR0TRGZ1DAT/L/SGOIUBQU3MA79SN9KHRozc+0hrd4c3aaah4+4uq=“”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图框[TagBox[RasterBox[CompressedData[“1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzPeopnx klqrrjimqwu/x+uocekkkzggx4hmmhdstfbg/wi3h1i0h186hbwkerexm2piBNSPJ7YYU9VZUAWPCQK3Nb9U3mqhxqlkq/6fdmffqy/qvvfu4fz1focloymtsnjayyyyyx27ei/或//或//3+wcah3+wcahj/uzi8wcahj/uzi8qqhkkkknbdt6tcezcx4tk+xvmouzj1dkfsmy/3v5gzlx/v/fpukekcv7asuzu4fchywpcbhstehong/esxvznpn0n3/ygeijbciw2v//7/v7nyukoq+hkwkugaabif8xw=“”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*graphicsbox[tagbox[rasterbox[compresseddata[“1:ejxtmopsmniygao5gasqynljkvfizxbakboaf5xznpeaopnxklqerqimqwu/x9gwahim/376+sxprgyhoozwabdjgejyjord6iv378fs1dtr6jc7sg8cv45erxgel1owzei8ip+lu5kgk0jx7ybhogtwj0qeapkns3g=”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*graphicsbox[tagbox[rasterbox[compresseddata[“1:ejxtmopsmniygao5gasqynljkvfizxbakboaf5xznpeaeopnxklqerqirjimqwud16qeep9ybfw045vb924htbtm/yjxyh/964zy7j1mq4f8/trl6phkbyjbwwinngetk6cDuozf/n7hwy53dazxy/1bgkcvhyyzuo5drjjlquah0iyqg=”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图形框[TagBox[RasterBox[CompressedData[“1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrjimqwu/x+s4fjkpnv7fl斑gggdpyjpazz83ikcgiv6q8ro+zln6u5nbu/Ymiidy2rf2mjloqpf67miydal/kdlypwt62oufqbmtjkbectc2pmh9qlxxqlovstyjzdi/jors5hszkofs6cs6cssrfgvfffffffffffffdgfdgvvvvvvvv6qqqqqVZ6PU41W0Y25C7Hexbokzxkotvc8tgvduhmn97gzmqpnbcuyunbhxcpcg0tu6yzwsdp/0oSemxad3x1jg1hi/h8mumgo1mukyqq+hlpq/3jmylzyvmcraylzvtbp7flormaaeuuro=“”,{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } })!\(\*图框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbababaf5xzpeopnxklqrrjimqdrjimqwu/x9gcj9hdy6px9gmc3fi/bAypgwh9wrzubeh7hsy2 qmwwmxxxxj0c8cuqzvxazvvyijf/dgku+4tkstr7btezypzyp9y9h0pdnu2czyj/gifvl9evl9evl9evl9y9y9y9y9y9y9y9ygwzcccntL5wzx+jeuotgaacjpmmq=“”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 }}[] }

最新的神经网络

我们首先介绍了我们的符号框架,早在2016年就开始探索和使用神经网络,作为版本11的一部分。从那时起,在每一个版本中,我们都添加了各种最先进的特性。2018年6月,我们推出了神经网络存储库为了方便从Wolfram语言访问最新的神经网络模型,存储库中已经有近100个不同类型的精选模型,一直在添加徳赢中国新的。

所以如果你需要最新的伯特“变压器”神经网络(今天添加的!),你可以从网络模型

网络模型
γ

netmodel[“伯特接受过书籍语料库和英语维基百科数据的培训”]

你可以打开它,看到相关的网络(和,对,我们已经更新了12.0版的网络图显示:

网络链

And you can immediately use the network,这里要生成某种“含义特征”数组:

矩阵图
γ

网络模型[伯特接受过书籍语料库和英语维基百科数据方面的培训][多棒的网络啊!/ MatrixPlot

在版本12.0中,我们引入了几种新的层类型,特别是徳赢中国注意层,它让我们建立了最新的“变压器”架构,并增强了我们的“神经网络功能编程”能力,像这样的事情NetMapThreadOperator(NetMapThreadOperator),和多重序列NETFLUD算子.除了这些“内部网络”增强功能外,版本12.0添加了各种新的徳赢中国网络编码器网络解码器病例,如BPE标记化技术对于数百种语言的文本,以及包含用于将数据输入和输出神经网络的自定义函数的能力。

但是在12.0版本中,一些最重要的增强是基础设施方面的。网络列车现在支持多GPU培训,在处理混合精度算法的同时,以及灵活的早期停车标准。我们继续使用大众MXNET低级神经网络框架主要贡献者)-所以我们可以利用最新的硬件优化。有徳赢中国新选项看看训练过程中发生了什么,还有网络测量这允许您对网络性能进行33种不同类型的测量:

网络测量
γ

netmeasurements[netmodel[“在mnist数据上训练的lenet”],{!\(\*graphicsbox[tagbox[rasterbox[compresseddata[“1:ejxtmopsmniygao5gasqynljkvfizxbakboaf5xznpeaopnxklqerqimqwu/x9yui/haq4m+3hkmtdu4zyst5wda24z8qughjmgdq54tobysj0eix3w+icakftxa8nphr4jcxicpxxpo+3g7he4aaarg3zy=”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } } ->1,!\(\*图形框[tagbox[rasterbox[compressedata[”1:ejxttmopsmniygao5gasqynljkvfizxbababaf5xzpeopnxklqrrjimqwu/x964N8ldwzgxtq72OrMVjoa9gllmjkxwrvwtn//8fuhkljqblfzzfqyitzexwl5hk/nn1ahtmxgggggd2/ocopmn4e0z9ngbnt/6bivrmzgg8vmdqvmdjjjjjjjvsepv7tryj7ptvjoa8pvjoa8pcjjwjjwjjkk1 diiiiiijjjjnygd3qh4bu//9nyoyikqv4gdsxpycuefz2nqj3v9scv//wpk9myh9w8mo/wh7fl/rzdynsah9vqaur2h1bdfnxcuoamotik/ocxov3bifvcebrmvaicz7grw=“”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } } ->9,!\(\*图形框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbababaf5xzpeopnxklqrrrjimqwu/x8q88c2节eipz/drapacymkukmjqz7mhj3mzjmulonpqa+xpr7x2fad9sfm43dR86pq6f1d9rpqkkkkk7b2hythcgikxluimtt4wdikm3eu/fblp9vt9vtmna+qjzz9c3fekyvxzxzxytj9c3fekyvxzxzxytj9cho6yczzyxxxxxxx7SUP99vd6gvoyrqflceeav9yr/hkrvnvire1o2bnkfoc+easms3de3ubkeccvww58/v2qnz/a5i2pqfyswtbjawsnza92w6velblburkxsbjh+rv+3nv37r3cikupaaabtrx9“],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } } ->5,!\(\*图框[TagBox[RasterBox[CompressedData[”1:ejxttmopsmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrjimqwu/6cx+ot若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若stxg1uqzvccdkmlymhd9zvhsvnykihhhyvnlkghlqtmyrz08v/9nk0gi8xiamlckucb8j9g5um5c+bmxxowawoazghtzq=“”],{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } } ->2,!\(\*图框[TagBox[RasterBox[CompressedData[“1:ejxtmopmniygao5gasqynljkvfizxbabaf5xzpeopnxklqrrrjimqwu/x8u4fbt01yeb1tjqplriririvyjxxa otorywziymdj+wor+bmnnqggo25fff5f5ff5q4tq4tq4q4tq3z2dgzsqk+qk7szy9luwwfkdyamjjtilvexeb/hlnwkn4n/mhapn15 m/mhap150 m/ctwmbjggxdqdqdqdqdqdqdqdCLVXBL4Kphiejacbgfivdagsfe9np7fihejiyrhbom8bezitdjcs5kbxs/88elbzbjycnaaB0/LWR”,{{ 0,28 },{ 28,0 },{ 0,255,colorfunction->graylevel],boxform`imagetag[“byte”,颜色空间->自动,Interleaving -> None],Selectable->False],DefaultBaseStyle->"ImageGraphics",ImageSizeRaw->{28,28,plotrange->0,28 },{ 0,28 } } ->7 },“困惑”

神经网络并不是机器学习的唯一或最好的方法。但在12.0版中有一个新功能是我们现在可以徳赢中国使用自规范化网络自动进入分类预测,所以他们很容易利用神经网络当它有意义的时候。

用图像计算

我们介绍图像识别,为了识别图像是什么,回到10.1版。在12.0版中,我们已经成功地概括了这一点,不仅要弄清楚图像是什么,还有图像中的内容。所以,例如,意象将向我们展示图像中已知类型对象的情况:

意象
γ

ImageCases[Cloudget[“https://wolver.am/cmouvvth”]

有关详细信息,图像内容物提供有关图像中的内容的数据集:徳赢彩票游戏

图像内容物
γ

ImageContents[云获取[“https://wolver.am/cmouvvth”]

你可以告诉意象寻找一种特殊的东西:

意象
γ

ImageCases[Cloudget[“https://wolver.am/cmouvvth”],“斑马”

您还可以测试图像是否包含特定类型的内容:

图像常量
γ

imagecontainsq[cloudget[“https://wolver.am/cmouvvth”],“斑马”

从某种意义上说,意象就像是发现面,在图像中寻找人脸。12.0版的新功能是徳赢中国发现面面部特征已成为更高效、更强大-用发现面现在基于神经网络而不是传统的图像处理,和网络面部特征now being 10 MB rather than 500 MB:

面部特征
γ

FacialFeatures[Cloudget[“https://wolver.am/co20sk12”]]//数据集

函数类意象代表“新型”图像处理,徳赢中国这是几年前才出现的一种情况。但是,尽管这样的功能可以让人做各种新的事情,徳赢中国在更经典的技术中仍然有很多价值。We've had fairly complete经典图像处理在很长一段时间里,但我们继续进行增量增强。

版本12.0中的一个示例是映像龙框架,对于进行多尺度图像处理:

映像龙
γ

图片金字塔[cloudget[“https://wolver.am/ctwbk9em”][全部]

12.0版中有几个新的函数与颜色计算徳赢中国有关。一个关键的想法是颜色接近,它代表了感知色彩空间中的一个邻域,在这周围的颜色粉红

色度图3d
γ

ChromaticityPlot3D[ColorsNear[Pink,.2]]

可以使用颜色邻里的概念,例如,在新的徳赢中国图像彩色功能:

图像彩色
γ

imagerecocolor[cloudget[“https://wolver.am/ct2rf6e”],颜色NER[RGBColor[Rational[1186,1275,有理〔871〕1275,有理〔1016〕1275)]02!>橙色

语音识别和更多音频

当我坐在电脑前写这个的时候,我要对我的电脑说点什么,和捕捉它

播放音频
听觉捕捉

这是我捕获的音频的频谱图:

谱图
γ

谱图[%]

到目前为止,我们可以在11.3版中实现这一点(尽管谱图在12.0中速度提高了10倍)。但现在有了新的东西:徳赢中国

语音识别
γ

语音识别[%]

我们在做演讲!我们使用最先进的神经网络技术,但我对它的工作效果感到惊讶。它非常流线型,我们甚至可以很好地处理很长的音频,比如说存储在文件中。在一台典型的计算机上,转录将以实际的实时速度运行,徳赢彩票游戏so that an hour of speech will take 徳赢彩票游戏about an hour to transcribe.

现在我们考虑语音识别experimental,我们将继续加强它。但有趣的是,在Wolfram语言中,另一个主要的计算任务仅仅变成了一个函数。

In Version 12.0,还有其他的增强功能。演讲综合支持新语言和新声音徳赢中国(如所列语音数据[]

现在有WebAudioSearch-类似于网络图像搜索-它允许您在网络上搜索音频:

WebAudioSearch
γ

网络音频搜索[公鸡]

您可以检索实际音频objects:

WebAudioSearch示例
γ

webaudiosearch[“rooster”,“samples”,maxitems->3]

然后你可以做光谱图或者其他测量:

谱图
γ

谱图/ @ %

然后是12.0版的徳赢中国新版本—您可以使用听觉识别to try to identify the category of sound (is that a talking rooster?):

听觉识别
γ

音频识别/@%%

我们仍然考虑听觉识别实验性的这是一个有趣的开始,但绝对不是,例如,工作也一样图像识别.

更成功的音频功能是沥青识别,它试图识别音频信号中的主频(它同时使用“经典”和神经网络方法)。它还不能处理“和弦”,但对于“单音符”来说,它的效果非常完美。

当一个人处理音频时,人们常常不只是想识别音频中的内容,但要注释它。12.0版引入了大规模音频框架.马上听觉注解能标记出哪里有寂静,或者有什么响亮的地方。未来,我们将添加说话人身份和单词边界,还有很多其他的东西。为了配合这些,我们也有类似的功能音频注释查找,用于挑选以特定方式注释的音频对象的部分。

在所有这些高级音频功能的下面,有一个低级音频处理的完整基础设施。版本12.0大大增强了音频地图(用于对音频信号应用滤波器)以及引入以下函数短时傅立叶.

谱图可以看作是音乐乐谱的一种连续的模拟。其中音高是作为时间函数绘制的。在版本12.0中,现在逆谱图-从一系列光谱数据到音频。从1991年第2版开始,我们已经拥有游戏从函数中产生声音(如罪恶〔100 t〕)现在用逆谱图我们有一种从“频率-时间位图”到声音的方法。(并且,对,在只有数量级信息的情况下,对于相位的最佳猜测存在徳赢彩票游戏一些棘手的问题。)

自然语言处理

从开始沃尔夫拉姆阿尔法,我们已经非常强大了自然语言理解(NLU)能力很长一段时间。这就意味着,给定一种自然语言,我们很擅长将其理解为Wolfram语言,然后我们可以从中进行计算:

Flags of 5 most populous countries in Europe
γ

EntityValue[实体类[“国家”,实体属性[“国家”,“实体类”]->实体类[“国家”,“欧洲”实体属性[“国家”,“人口”]->TakeMaximum[5]],实体属性[“国家”,“旗帜”]

但是自然语言处理(徳赢彩票游戏NLP)呢——我们可能要学习很长的自然语言段落,不想完全理解他们,但相反,只是找到或处理它们的特定特性?函数类课文句文本结构文本案例词数在这方面给了我们一段时间的基本能力。但在12.0版中,利用最新的机器学习,除了我们长期的NLU和知识库功能外,我们现在已经开始拥有非常强大的NLP功能。

中心部件是文本案例.的基本目标文本案例是在一段文本中查找不同类型内容的事例。例如,“实体识别”的典型NLP任务文本案例在这里查找出现在维基百科关于ocelots的文章徳赢彩票游戏

文本案例
γ

TextCases[WikipediaData["ocelots"],"Country"->"Interpretation"]

我们还可以问一下提到了哪些岛屿,但现在我们不会要求Wolfram语言解释:

文本案例
γ

文本案例[wikipediadata[“ocelots”],“island”]

文本案例不是完美的,但它做得很好:

文本案例
γ

文本案例[维基百科数据[“ocelots”],“日期”]

它还支持大量不同的内容类型:

文本内容类型

你可以让它找到代词,或减少的相关条款,或,或电子邮件地址,或150种实体(如公司植物电影)你也可以要求它挑选出一些特别的文本人类计算机语言,或者那是徳赢彩票游戏关于特定主题(像旅行健康)or that have积极或消极情绪.你可以使用像包含要求这些东西的组合(如包含河流名称的名词短语):

文本案例
γ

文本案例[维基百科数据[“ocelots”],包含[“名词短语”,“河”]

文本内容让你看到,例如,在特定文本中检测到的所有实体的详细信息:

文本内容
γ

textContents[文本句[维基百科数据[“ocelots”],1 ] ]

而且,对,原则上,人们可以通过查找文本答案尝试从文本中回答问题,但在这种情况下,结果可能很奇怪:

查找文本答案
γ

findtextualAnswer[维基百科数据[“ocelots”],“ocelot的权重”,5]

当然,您可以从我们的实际内置管理知识库中获得真正的答案:

实体
γ

实体[“物种”,“物种:豹子”【实体属性】【物种”,"Weight"]]

顺便说一句,在12.0版中,我们添加了各种“自然语言便利功能”,喜欢同义词反义词

同义词
γ

同义词[“华丽”]

计算化学

One of the "surprise" 徳赢中国new areas in Version 12.0 is computational chemistry.我们有关于明确的已知化学品在我们的知识库里呆了很长时间。但是在12.0版中,我们可以用简单指定为纯符号对象的分子进行计算。以下是我们如何指定什么是水分子:

分子
γ

分子[原子[“H”]、原子[“H”]、原子[“O”]、键[1,3]、键[2,3]]

下面是我们如何进行三维渲染:

分子全息图
γ

分子图3d[%]

我们可以处理“已知的化学物质”:

咖啡因
γ

分子[实体[“化学”,“咖啡因”

我们可以任意使用IUPAC姓名:

分子全息图
γ

分子板3d[分子[“2,4,6-三甲氧基苯甲醛”]

或者我们“化妆”化学品,for example specifying them by their微笑串:

分子全息图
γ

分子板3d[分子[“O1CnNONC(N(OOC)OO)CCnonOConNCOC1”]

但我们不只是在这里生成图片。我们也可以根据对称性这样的结构来计算:

分子[“c1=cc=cc=c1”][“点群”]
γ

分子[“c1=cc=cc=c1”][“点群”]

给定一个分子,我们可以做一些突出显示碳氧键的事情:

分子图
γ

分子筛[分子[”c=c1[c@h](O)c2O[c@@]3(c c[c@h](/c=c/[c@@@h](c)[c@@h]4c c(c)=c[\c@@@]5(O[c@h](c[c@@@】(c)(O)c(=O)O)c c[c@h]5O]5O)O3)c c[c@h]2O[c@h]2[c@c@@@@@@]2(cccCO2)c c[c[c[c@@@@@@@@@@@@@@@@@@@@]C(((=O)C((=O)O)C[c[c@@@@@@@@@@]@h]1c“],键[ { C ],“O”}

或者突出结构,说指定的聪明的人字符串(此处为任意5成员环):

分子图
γ

分子筛[分子[”c=c1[c@h](O)c2O[c@@]3(c c[c@h](/c=c/[c@@h](c)[c@@@h]c[c@@h]4c c(c)=c[c@@@]5(O[c@h](c[c@@@】(c)(O)c(=O)O)c c[c@h]5O]5O)O3)c c[c@h]2O[c@h]2[c@h]c c[c@h]c c[c@@@@@@@@@@@@]2(cccCO2)c c[c@h]c[c@h]h]2[c@h]CC[c@h]2[c@h]2[c@h 1c“],分子模式[“[R5]”]

你也可以搜索“分子模式”;结果根据原子数得出:

find分子结构
γ

一种新的分子亚结构[分子[”c=c1[c@h](O)c2o[c@@@]3(c c[c@c@h](/c=c/[c@@@@h](c)[c@@@h]c[c@@h]4c c(c)=c[c@@@@]5(O[c@h](c[c@@@】(c)(O)c(((=O)O)c c[c@h]5o)O3)c c[c@h]H]2O[c@h]1[c@@@@h]1[c@@@@@@@@@@@@@@@]3(C[c@c@@@@@@@@@@@@@@@@@@@@@@]C[]1c“],分子模式[“[R5]”],全部

我们在12.0版中添加的计算化学功能非常通用,功能也非常强大(但需要注意的是,到目前为止,它们只处理有机分子)。在最低的层次上,他们把分子看作标记图,边缘与键对应。但他们也知道物理,徳赢彩票游戏正确解释原子价和键结构。不用说,有很多细节(关于立体化学,徳赢彩票游戏对称性,芳香性,同位素,等等)。但最终的结果是分子结构和分子计算现在已经成功地被添加到Wolfram语言中集成的区域列表中。

地理计算扩展

Wolfram语言已经具有强大的地理计算能力,但是12.0版增加了更多的功能,加强了一些已经存在的东西。

For example,现在有随机地理位置,它会产生一个随机的lat long位置。有人可能认为这是微不足道的,当然,我们必须担心坐标变换,更重要的是,我们可以告诉它只在某个徳赢彩票游戏区域内选取点,这里是法国:

地质图
γ

地理位置图[随机地理位置[实体[国家]“法国”,100

12.0版本中新的地理徳赢中国功能的主题不仅仅是处理地理点和区域,也包括地理矢量。这是当前的风矢量,例如,at the position of the Eiffel Tower,表示为地矢,速度和方向(还有地理空间,给了东方,北部和北部组件,以及GeoGridVectorGEOVECCORE XYZ):

WindVectorData
γ

windVectorData[实体[“建筑”,“埃菲尔铁塔::5H9W8”],现在,“DownwindGeoVector”]

函数类地理学让您可视化离散地理矢量。地流图是的地理模拟流线图(或)列表流图)-并显示由地理矢量形成的流线(此处来自风向数据):

地流图
γ

地理流图[cloudget[“https://wolver.am/ctznxuqi”]

大地测量学是一个数学上复杂的领域,我们为自己在沃尔夫拉姆语中的出色表现感到自豪。In Version 12.0,we've added a few 徳赢中国new functions to fill in some details.For example,我们现在的功能是地理网格单位距离GeoGridUnitArea它产生了扭曲(基本上,与地球(或月球)上每个位置的不同地理投影相关的雅可比特征值,火星,等等)。

很多小的可视化增强

我们一直在稳步发展的可视化的一个方向是所谓的“元图形”:图形事物的标记和注释。我们介绍标注在11.0版中;在12.0版中,它被扩展到了3D图形:

PLOT3D
γ

plot3d[callout[exp[-(x^2+y^2)],“最大值”,

它很善于找出在哪里贴上标签,即使它们变得有点复杂:

极谱图
γ

极谱图[评估[表[标注[sin[nθ],n],n,4],θ,0,π]

有很多细节,使图形真正看起来很好。12.0版本中的一些增强功能是确保图形列在其框架上对齐,不考虑刻度线标签的长度。我们还添加了能见度,它允许您指定不同标签的相对优先级。

12.0版的另一徳赢中国个新功能是多通道绘图布局,在不同的面板中显示不同的数据集,但是面板可以在任何时候共享轴:

列表图
γ

listplot[表[randomreal[10,50],6],plotlayout->“列”,3]

加强知识库集成

我们策划的知识库,例如权力沃尔夫拉姆阿尔法-是巨大的,不断成长。每一个版本的Wolfram语言,我们都在逐步加强它与语言核心的融合。

在版本12.0中,我们要做的一件事是公开数百种类型的实体直接使用语言:

知识库集成

在版本12.0之前,这个Wolfram Alpha示例页用作记录多种实体类型的代理。但是现在有了Wolfram的所有语言文档:

大学实体

还有一些功能人造卫星气象资料财务数据它处理通常需要复杂选择或计算的实体类型。但在12.0版中,可以以相同的方式访问每个实体类型,具有自然语言(control+=“)输入,以及“黄框”实体和属性:

实体
γ

实体[“元素”,“钨”[entityproperty[“element”,“熔点”]]

顺便说一句,也可以隐式地使用实体,像这里要求的5种元素具有已知的最高熔点:

实体
γ

实体[“元素”,“熔化点”->TakeMaximum[5]]//EntityList

并且可以使用过时的要获取值的时间序列,请执行以下操作:

过时的
γ

实体[“大学”,“HarvardUniversity::CMP42”【日期:【实体属性】【大学】“EstTotal本科生”],所有]

从外部数据库集成大数据

我们已经使处理内置在Wolfram知识库.你有实体,而且很容易询问财产等问题:徳赢彩票游戏

实体
γ

实体[城市]{“徳赢中国纽约”)“徳赢中国纽约”“美国”[人口]

但是如果你有自己的数据呢?你能把它设置好让你能像这样容易地使用吗?A11版的主要徳赢中国新功能增加了实体商店,其中一个可以定义自己的实体类型,然后指定实体,属性和值。

这个Wolfram Data Repository包含一个实体商店的一堆例子.这里有一个:

资源资源
γ

资源数据[“斯蒂芬·沃尔夫拉姆图书馆图书实体存储”]vwin中国

It describes a single entity type: an“图书馆书”.为了能够像内置实体一样使用这种类型的实体,我们“注册”实体商店:

实体寄存器
γ

实体寄存器[%]

现在我们可以做一些事情,比如要求10个随机的类型实体“图书馆书”

随机化实体
γ

随机性[“swlibrarybook”,10]

实体存储区中的每个实体都有各种属性。以下是一个特定实体的属性值的数据集:

实体
γ

实体[“swlibrarybook”,“ol4258186m::mudwv”[数据集]

好啊,但是有了这个设置,我们基本上就是将实体存储的全部内容读取到内存中。这使得它非常有效地做任何Wolfram语言的操作。但对于大量数据来说,它不是一个好的可扩展解决方案,例如,数据太大,无法放入内存。

但大数据的典型来源是什么?通常是数据库,通常是一个关系型的,可以使用SQL.我们已经拥有了数据库链接包在过去的十年里,对SQL数据库的低级读写访问。但在12.0版中,我们添加了一些主要的内置功能,允许外部关系数据库像实体存储一样用Wolfram语言处理,或Wolfram知识库的内置部分。

让我们从一个玩具例子开始。下面是一个小型关系数据库的符号表示,它恰好存储在一个文件中:

相对数据库
γ

relationaldatabase[findfile[“exampledata/ecommerce database.sqlite”]

我们马上会得到一个框来总结数据库中的内容,告诉我们这个数据库有8个表。如果我们打开盒子,我们可以开始检查这些表的结构:

相对数据库

然后我们可以用Wolfram语言将这个关系数据库设置为实体存储。它看起来和上面的图书馆实体书店非常相似,但现在实际的数据并没有进入内存;相反,它仍然在外部关系数据库中,and we're just defining a ("ORM-like") mapping to entities in the Wolfram Language:

实体商店
γ

实体存储[%]

现在我们可以注册这个实体存储,它设置了一组实体类型,这些实体类型(至少在默认情况下)以数据库中表的名称命名:

实体寄存器
γ

实体寄存器[%]

现在我们可以对它们进行“实体计算”,就像我们在Wolfram知识库中的内置实体一样。此处的每个实体都对应于“雇员”数据库中的表:

实体列表[“员工”]
γ

实体列表[“员工”]

对于给定的实体类型,我们可以问它有什么属性。这些“属性”对应于基础数据库中表中的列:

实体属性
γ

实体属性[“Employees”]

现在,我们可以要求特定实体的特定属性的值:

实体属性
γ

实体[“员工”,1076][entityproperty[“员工”,“姓氏”]

我们也可以通过给出标准来挑选实体;这是我们要的"payments"具有4个最大值的实体“量”财产:

塔克拉格斯
γ

EntityList[EntityClass["payments","amount"->TakeLargest[4]]]

我们同样可以要求这些最大金额的价值:

塔克拉格斯
γ

EntityValue[实体类[“付款”,“金额”->TakeMaximum[4],“金额”]

好啊,但这里更有趣:到目前为止,我们已经研究了一个小的文件备份数据库。但是我们可以对托管在外部服务器上的大型数据库做同样的事情。

作为一个例子,让我们连接到太字节大小的OpenStreetmap PostgreSQL数据库that contains what is basically the street map of the world:

相对数据库

像以前一样,让我们将此数据库中的表注册为实体类型。像大多数野生数据库一样,在结构上也没有小故障,在周围工作,但生成警告:

实体寄存器
γ

EntityRegister[实体存储[%]

但是现在我们可以问一些关于数据库的问题,比如世界上所有街道徳赢彩票游戏上有多少个地理点或“节点”(以及,对,这个数字很大,这就是为什么数据库很大的原因):

实体值
γ

entityvalue[“行星节点”,“实体计数”

在这里,我们需要的是(101GB)中10个最大(投影)区域的对象的名称。行星多边形表(和)对,不到一秒钟):

实体值
γ

entityValue[实体类[“行星\osm_多边形”,“Way_Area”->TakeMaximum[10],“name”]//计时

那么这一切是如何运作的呢?基本上,正在发生的是,我们的Wolfram语言表示正在被编译成低级别的SQL查询,然后这些查询被发送到数据库服务器上直接执行。

有时你会要求得到的结果只是最终值(比如,说,上述“金额”)。但在其他情况下,您需要一些中间的东西,比如以特定方式选择的实体集合。And of course this collection could have a billion entries.因此,我们在12.0版中介绍的一个非常重要的特性是,我们可以用纯粹的符号来表示和操作这些东西,只在最后才把它们分解成特定的东西。

回到我们的玩具数据库,下面是一个示例,说明我们如何指定通过合计信用限额为了所有客户给定值为国家

聚集性轮回
γ

AggregatedEntityClass[“客户”,“信用额度”->合计,“国家”

起初,这只是象征性的东西。但如果我们要求特定的价值观,然后实际的数据库查询完成,我们得到了具体的结果:

实体值
γ

EntityValue[%,{“国家”)“信用额度”}

有一系列用于设置不同类型查询的新功能。徳赢中国这些函数不仅适用于关系数据库,但对于实体商店,以及内置的Wolfram知识库。所以,例如,我们可以求一段时间内原子的平均质量。元素周期表

聚集性轮回
γ

AggregatedEntityClass[“元素”,“原子质量”->是指,“周期”【原子质量】

一个重要的新结构是徳赢中国实体函数.实体函数就像功能,除了它的变量表示实体(或实体类),它描述了可以直接在外部数据库上执行的操作。下面是一个内置数据的例子,in which we're defining a "filtered" entity class in which the filtering criterion is a function which tests population values.这个过滤器它本身只是象征性的表现,但是实体列表实际执行查询,并解析(此处,未分类)实体:

过滤器
γ

filteredentityclass[“国家”,实体函数[C,c["Population"] > Quantity[10^8"People"]]]

实体列表
γ

EntItList[%]

除了实体函数聚集性轮回排序标题栏,12.0版本包括示例实体类(从一个类中获取一些实体)扩展实体类(添加计算属性)和组合轮回(合并不同类的属性)。有了这些原语,一个人可以建立“的所有标准操作关系代数“。

在标准数据库编程中,一个典型的结局是一个充满“连接”和“外键”等内容的丛林。我们的Wolfram语言表示允许您在一个更高的级别上操作,其中连接基本上成为函数组合,外键只是不同的实体类型。(如果要进行显式联接,虽然,例如,您可以使用组合轮回

在这种情况下,所有的Wolfram语言结构都被编译成SQL,或者,更准确地说,适合您使用的特定数据库的特定SQL方言(我们目前支持数据库MySQL波斯特雷斯尔MS-SQL,支持奥拉克莱斯马上就来。当我们进行编辑时,我们会自动检查类型,以确保获得有意义的查询。即使是相当简单的Wolfram语言规范也可能最终变成许多SQL行。For example,

实体函数
γ

实体函数[C,C[“Employees”][“firstname”]<>“”<>C[“Employees”][“lastname”]<>“is the rep for”<>C[“customername”]<>“.他们的经理是“<>C[”Employees“][”Employees ReportsTo“][”FirstName“]<>”“<>C[”Employees“][”Employees ReportsTo“][”Lastname“]<>”“][Entity[”Customers“,103 ] ]

将生成以下中间SQL(此处用于查询sqlite数据库):

SQL

我们在12.0版中使用的数据库集成系统相当复杂,我们已经在这方面工作了好几年。这是允许Wolfram语言直接处理大数据中新的“大”级别,并让Wolfram语言直接在太字节大小的数据集及更大的数据集上进行数据科学的重要一步。徳赢中国就像发现世界上哪一类街头实体的名字里有“沃尔夫拉姆”一样:

过滤器
γ

filteredenticyclass[“行星\uosm \u线”,实体函数,字符串包含q[s[“name”],“Wolfram”]][名称]

RDF,SPARQL等等

代表世界知识的最佳方式是什么?徳赢彩票游戏这是一个自远古以来哲学家(和其他人)一直争论的问题。有时人们说逻辑是关键。有时是数学。有时是关系数据库。But now we at least know one solid foundation (or at least,我敢肯定我们做到了):一切都可以用计算来表示。这是一个强有力的想法,从某种意义上说,这就是我们用Wolfram语言所做的一切可能的原因。

但是,是否有一些通用计算的子集可以用来表示至少某些类型的知识?我们在Wolfram知识库是实体的概念(“纽约市”),徳赢中国财产(“人口”)及其价值(“860万人”)。当然,这样的三倍并不代表世界上所有的知识(“明天火星的位置是什么?”).但当涉及到某些关于不同事物的“静态”知识时,它们是一个不错的开端。徳赢彩票游戏

那么,如何将这种知识表示形式化呢?一个答案是通过图形数据库。在12.0版中,与许多语义网“我们支持的项目图形数据库使用RDF,并使用SPARQL.在RDF中,中心对象是IRI(“国际化资源标识符”),可以表示实体或属性的。A三支柱“然后由三个集合组成(“主题”,“谓语”,“对象”每三个元素中的每一个元素都是一个IRI(或一个文本,例如数字)。整个对象可以被看作是一个图形数据库或图形存储,或者,数学上,超图(这是一个超图因为谓词“边”也可以是其他地方的顶点。)

你可以建立自己的RDFSt店就像你建造了一个实体商店-事实上,你可以查询任何Wolfram语言实体商店使用SPARQL就像查询RDFSt店.由于Wolfram知识库的实体属性部分可以被视为实体存储,您也可以查询这个。所以在这里,最后,就是一个例子。乡村城市列表实体[国家]实体[城市] }实际上表示RDF存储。然后SPARQLSEACK是这家商店的经营者。它的作用是找到一个与你要求的相匹配的三重音箱,“sparql变量”的特定值X

需要[“graphstore`”]
γ

需要[“graphstore`”]

SPARQLSEACK
γ

sparqlselect[rdftriple[实体[“国家”,“美国”实体属性[“国家”,“首都城市”sparqlvariable[“x”]][实体[“国家”],实体[“城市”]]

当然,在Wolfram语言中,还有一种更简单的方法可以做到这一点:

实体
γ

实体[“国家”,“美国”【实体属性】【国家】“首都城市”]

但是有了SPARQL,你可以做更多的异国情调的事情,比如问美国和墨西哥有什么关系:

SPARQLSEACK
γ

sparqlselect[rdftriple[实体[“国家”,“美国”]、SPARQLvariable[“X”]、实体[“国家”,“墨西哥”]][实体[“国家”]]

或者是否有基于葡萄牙与德国边境关系的道路:

斯帕克莱斯
γ

sparqlsk[sparqlpropertyPath[实体[“国家”,“葡萄牙”实体属性[“国家”,“边境国家”]。,实体[“国家”,“德国”]][实体[“国家”]]]

原则上,您可以将SPARQL查询编写为字符串(有点像您可以编写SQL字符串)。但是我们在12.0版中所做的是引入SPARQL的符号表示,它允许对表示本身进行计算,让它变得容易,例如,自动生成复杂的SPARQL查询。(这一点尤为重要,因为,独自一人,实际的SPARQL查询习惯于变得非常长和冗长。)

好啊,但是在野外有零售店吗?长期以来,人们一直希望网络的大部分最终会被标记为“语义”,实际上是一个巨大的RDF存储。如果这件事发生的话那就太好了,但到目前为止肯定没有。仍然,外面有一些公共的RDF商店,以及组织内的一些RDF商店,在12.0版中,我们有了新徳赢中国的功能,我们可以用它们做一些有趣的事情。

数值优化

在数学的工业应用中,一个令人难以置信的常见问题是:“如果必须满足某些约束条件,什么配置可以使成本最小化(或使收益最大化)?半个多世纪前,所谓单纯形算法是为了解决线性问题而发明的,其中目标函数(成本,收益)和约束是问题中变量的线性函数。到了20世纪80年代,发明了更有效的(“内点”)方法,我们已经有了这些方法。”linear programming“在很长一段时间里都是用Wolfram语言。

但是非线性问题呢?徳赢彩票游戏好,一般情况下,可以使用如下函数最小化.他们做的是最先进的工作。但这是个难题。然而,几年前,很明显,即使在非线性优化问题中,有一类所谓的凸优化问题实际上可以像线性问题一样有效地解决。“凸”是指目标和约束都只涉及凸函数,因此当一个人接近极值时,没有任何东西可以“摆动”。并且不能有任何非全局极小的局部极小。)

In Version 12.0,我们现在已经为所有各种标准的凸优化类提供了强大的实现。这是一个简单的例子,包括用一对线性约束最小化二次型:

正交优化
γ

四次优化[2X^2+20Y^2+6X Y+5X,-X+Y>=2,Y>=0,-X,Y]

最小化在11.3版中可能已经出现了这个特定的问题:

最小化
γ

最小值[2x^2+20y^2+6x y+5x,-x+y>=2,y>=0,x,y]

但是如果一个人有更多的变量,老年人最小化会很快陷入困境。In Version 12.0,然而,正交优化会继续工作的很好,多达100000多个变量,有100000多个约束(只要它们相当稀疏)。

在版本12.0中,我们有“原始凸优化”函数,比如半定量化(处理线性矩阵不等式)和锥形化(处理线性向量不等式)。但是功能就像最小化发现最小值还将自动识别何时通过转换为凸优化形式可以有效地解决问题。

如何建立凸优化问题?较大的变量涉及对整个向量或变量矩阵的约束。在版本12.0中,我们现在有如下功能向量大于等于(输入为±)可以立即表示这些。

非线性有限元分析

偏微分方程很困难,30年来,我们一直在研究越来越复杂和一般的方法来处理它们。我们首先介绍NDIFY(颂歌)版本2,回到1991.到20世纪90年代中期,我们有了第一个(1+1维)数值偏微分方程。2003年,我们推出了我们强大的处理数值微分方程的模块化框架。But in terms of PDEs we were still basically only dealing with simple,矩形区域。超越这一要求,建立我们的整体计算几何系统,我们在第10版中介绍了它。有了这个,我们发布我们的第一个有限元PDE解算器.In Version 11,然后我们推广到本征问题.

Now,在版本12中,我们将介绍另一个主要的概括:非线性有限元分析。Finite element analysis involves decomposing regions into little discrete triangles,四面体,等。——原始的PDE可以用大量的耦合方程来近似。当原始PDE为线性时,这些方程也将是线性的,这是人们在讨论“有限元分析”时考虑的典型情况。徳赢彩票游戏

But there are many PDEs of practical importance that aren't linear—and to tackle these one needs nonlinear finite element analysis,这就是我们现在在12.0版中所拥有的。

作为一个例子,下面是解决描述二维最小曲面高度的鼻非线性偏微分方程所需要的方法(例如,理想化的肥皂膜)在环空上方,在(dirichlet)边界条件下,边缘会出现正弦摆动(就像肥皂膜悬挂在电线上一样):

钕溶剂
γ

ndsolvevalue[inactive[div][(1/sqrt[1+\!\(\*订阅框[\(\[del]\),\({[Y}\)](u[x,[Y])\(\*订阅框[\(\[del]\),\({[Y}\)](u[x,y】\)\))不活动[梯度][u[x,Y.{x,Y},{x,y}=0,Dirichlet条件[u[x,y]==sin[2\[pi](x+y)],真的]U{x,Y \[元素]区域[环空[0,0 },{ 0.3,1 } ] ]

在我的电脑上,解这个方程只需要四分之一秒,得到一个插值函数。Here's a plot of the interpolating function representing the solution:

PLOT3D
γ

PLOT3D[%]Y.{x,Y \[元素]区域[环空[0,0 },{ 0.3,1 } ]网格函数->3&]

徳赢中国新的,复杂的编译器

多年来,我们在优化Wolfram语言程序的执行方面投入了大量的工程。早在1989年,我们就开始自动编译简单的机器精度数值计算,以获得高效虚拟机的指令(以及,碰巧,我写了这个的原始代码)。这些年来,我们已经扩展了这个编译器的功能,但它总是局限于相当简单的程序。

在12.0版中,我们正在向前迈出一大步,我们将发布新版本的第一个版本,徳赢中国更强大的编译器,我们已经研究了好几年了。该编译器能够处理更广泛的程序(包括复杂的函数构造和复杂的控制流)。它也不编译到虚拟机,而是直接编译到优化的本机代码。

在12.0版中,我们仍然认为新的编译器是实验性的。徳赢中国但它正在迅速发展,它将对Wolfram语言中许多事物的效率产生巨大的影响。In Version 12.0,我们只是公开新编译器的“工具包形式”,徳赢中国具有特定的编译函数。但是,我们将逐步使编译器越来越自动地使用机器学习和其他方法来计算出什么程度的编译是值得花时间的。

在技术层面上,新版本1徳赢中国2.0编译器基于LLVM,通过在Wolfram语言内核本身使用的同一个低级运行库中生成llvm代码链接,并调用完整的Wolfram语言内核以获取运行库中没有的功能。

以下是在新编译器的当前版本中编译纯函数的基本方法:徳赢中国

函数编译
γ

函数编译[函数[类型[X,“integer64”],X^2]]

生成的编译代码函数的工作方式与原始函数相同,虽然更快:

编译代码函数
γ

%〔12〕

很大一部分让我们函数编译产生一个更快的函数是你告诉它对它将得到的参数类型做假设。徳赢彩票游戏我们支持许多基本类型(如“整数32”“Real64”)But when you use函数编译,您要提交特定的参数类型,所以可以生成更精简的代码。

新编译器的许多复杂性与推断程序执行过程中将生成哪些类型的数据有关。徳赢中国(涉及很多图论和其他算法,不用说,all the metaprogramming for the compiler is done with the Wolfram Language.)

下面是一个涉及到一点类型推断(类型小谎被推断为“整数64”γ“整数64”: an integer function returning an integer):

函数编译
γ

函数编译[函数[类型化[N,“integer64”],模块[fib,fib=函数[x,如果[X<=1,1,fib[X-1]+fib[X-2]]];fib[N]]]

在我的电脑上囊性纤维变性[25]运行速度大约徳赢彩票游戏是未编译函数的300倍。(当然,当编译版本的输出不再是类型时,该版本将失败“整数64”,但是标准的Wolfram语言版本仍然可以正常工作。)

编译器已经可以处理数百个Wolfram语言编程原语,适当地跟踪生成的类型并生成直接实现这些原语的代码。有时,然而,人们将希望使用Wolfram语言中的复杂函数,对于这些函数,生成自己编译的代码是没有意义的,真正想做的就是调用Wolfram语言内核。在版本12中核函数让我们这样做:

函数编译
γ

函数编译[函数[类型[X,“real64”],类型[KernelFunction[Airyai],“real64”->“real64”][X]]]

好啊,但是假设我们有一个编译的代码函数。What can one do with it?好,首先,可以在Wolfram语言中运行它。One can store it too,and run it later.任何特定的编译都是针对特定的处理器体系结构(例如64位x86)。但是编译代码函数自动保存足够的信息,以便在需要时为不同的体系结构进行额外的编译。

但给出了编译代码函数,一个有趣的新可能性是可以直接生成代码,甚至可以徳赢中国在Wolfram语言环境之外运行。(我们的旧编译器CCO退化软件包在简单的情况下提供了稍微相似的功能,尽管它依赖于C编译器等复杂的工具链。)

以下是导出原始LLVM代码的方法(注意,像尾部递归优化这样的事情会自动完成,并注意末尾的符号函数和编译器选项):

函数CompileExportString
γ

函数compileexportstring[函数[类型化[N,“integer64”],模块[fib,fib=函数[x,如果[X<=1,1,fib[X-1]+fib[X-2]];fib[N]]]

如果使用函数编译器导出库,然后得到一个库文件-戴利布在MAC上,动态链接库on Windows and所以on Linux.在Wolfram语言中,可以通过库功能加载.但也可以在外部程序中使用它。

决定新编译器通用性的主要因素之一是其类型系统的丰富性。徳赢中国现在编译器支持14原子类型(如“布尔”“整数8”“复合64”,等等)。它还支持类型构造函数,比如“帕克达雷”-所以,例如,打字机[“packedarray”][“real64”,2对应于64位实数的2级压缩数组。

在Wolfram语言的内部实现中,顺便说一句,它本身主要是用Wolfram语言)我们已经有了一个优化的方法来存储数组很长时间了。在版本12.0中,我们将其公开为数字阵列.不像普通的Wolfram语言结构,你得告诉我数字阵列详细说明它应该如何存储数据。但它在一个漂亮的,优化方式:

数字阵列
γ

数字数组[范围[10000],“未签名第16条”]

字节计算
γ

BytCeNt[%]

字节计算
γ

字节数[范围[10000]]

调用python和其他语言

在11.2版中,我们介绍了外部评估,它可以让你用诸如蟒蛇JavaScript从Wolfram语言(在蟒蛇,“^“手段”比特X):

外部评估
γ

外部评估[“python”,“23424 ^ 2542”

In Version 11.3,我们引入了外部语言细胞,要方便直接在笔记本中输入外部语言程序或其他输入:

外部评估[“python”,“23424 ^ 2542”
γ

外部评估[“python”,“23424 ^ 2542”

In Version 12.0,我们正在加强整合。For example,在外部语言字符串中,你可以使用<…*>给Wolfram语言代码进行评估:

外部评估
γ

ExternalEvaluate[“python”,“<*prime[1000]*>+10”]

这也适用于外部语言单元格:

外部评估
γ

外部评估[“python”,“<*prime[1000]*>+10”]

当然,python不是wolfram语言,so many things don't work:

外部评估
γ

externalEvaluate[“python”,“2+<*range[10]*>”]

但是外部评估至少可以从python返回多种类型的数据,包括清单(如List)词典(如联想)图像(AS)图像)日期(AS)DateObject麻木的arrays(as数字阵列熊猫数据集(as时间序列数据集,等等)。(外部评估还可以返回外部对象这基本上是一个对象的句柄,您可以将其发送回Python。)

您还可以直接使用外部函数(稍微有点奇怪的名称奥德基本上是类似于特征码):

外部函数
γ

外部函数[“python”,“奥德”[ [ A ] ]

这里有一个python纯函数,在Wolfram语言中象征性地表示:

外部函数
γ

外部函数[“python”,“λx:x+1”

外部函数
γ

%〔100〕

从python和其他地方调用wolfram语言

如何访问Wolfram语言?有很多方法。可以直接在笔记本上使用。一能呼叫API在云中执行。或者可以使用狼蛛in a命令行外壳.WolframScript可以针对本地钨发动机,或反对云中的Wolfram引擎.它允许您直接给代码执行:

狼蛛

它可以让你做一些定义函数的事情,例如,文件中的代码

狼蛛

狼蛛

随着12.0版的发布,我们还发布了我们的第一个新产品徳赢中国Wolfram语言客户端库-用于Python。这个库的基本思想是使Python程序更容易调用Wolfram语言。(值得指出的是,我们已经有效地拥有了一个C语言客户端库至少30年WSTP

语言客户端库的工作方式对于不同的语言是不同的。对于作为一种解释语言的python(这实际上是由早期的wolfram语言提供的历史信息),它特别简单。在你之后设置库,启动一个会话(本地或云端),然后,您只需评估Wolfram语言代码并将结果返回到python中:

python外部函数

您还可以直接访问Wolfram语言函数(作为外部函数):

python外部函数

你可以直接与诸如熊猫结构,麻木的数组,等。事实上,实际上,您可以将整个Wolfram语言视为可以从Python访问的大型库。或者,当然,你只需使用尼斯,直接集成Wolfram语言,如果需要,可以创建外部API。

更多关于Wolfram“超级外壳”

使用Wolfram语言的一个特点是,它可以让您不必考虑计算机系统的细节,徳赢彩票游戏关于文件徳赢彩票游戏和进程之类的事情。但有时人们希望在系统级工作。对于相当简单的操作,一个人只能使用操作系统图形用户界面。但是对于更复杂的事徳赢彩票游戏情呢?过去我经常发现自己用UNIX外壳.但是现在很长一段时间,我不是使用Wolfram语言。

把所有东西都放在笔记本里肯定很方便,能够以编程的方式使用文件名(LS)查找表(GRIP)系统进程数据(PS)远程运行进程(SSH)和文件扫描.但是在版本12.0中,我们添加了一系列额外的函数来支持将Wolfram语言作为“超级shell”。

远程文件用于象征性地表示一个远程文件(如果需要,使用身份验证),您可以立即在以下函数中使用复制文件.有文件转换器用于在不同格式之间直接转换文件。

如果你真的想潜水,下面是如何跟踪端口80和443上用于读取的所有数据包沃尔夫公司

网络包跟踪
γ

networkpackettrace[urlread[“wolfram.com”],{ 80,443 }

玩弄网页浏览器

在Wolfram语言中,很长一段时间内,与Web服务器交互很容易,使用类似的函数URL执行HTTP预告,以及曲奇饼,等。但是在版本12.0中,我们添加了一些新的东西:Wolfram语言的能力徳赢中国控制Web浏览器,以程序的方式让它做我们想要的。我们能做的最直接的事情就是获得一个网站对网络浏览器的形象:

网络图像
γ

网络图像[“https://www.wolfram.com”]

结果是一幅图像,我们可以用它来计算:

边缘探测
γ

EDGE检测[%]

做一些更详细的事情,我们必须启动浏览器会话(我们目前支持火狐和Chrome):

会话=StartWebSession 会话=StartWebSession
γ

session=startWebsession[“chrome”]

屏幕上立即出现一个空白的浏览器窗口。现在我们可以使用网络执行打开网页:

网络执行 网络执行
γ

webexecute[“openpage”->“http://www.wolfram.com”]

既然我们已经打开了页面,我们可以运行很多命令。点击包含文本“编程实验室”的第一个超链接:

网络执行 网络执行
γ

webexecute[“clickelement”->“partialhyperlinktext”->“编程实验室”]

这将返回已到达页面的标题:

网络执行
γ

WebExecute[“页面标题”]

您可以输入字段,运行JavaScript,基本上,你可以用网络浏览器手工做任何你能做的事情。不用说,多年来,我们一直在公司内部使用此技术的一个版本来测试我们所有的各种网站和Web服务。但是现在,在版本12.0中,我们正在制作一个通用的流线型版本。

独立微控制器

对于当今世界上的每一台通用计算机,可能是10倍微控制器-在没有任何通用操作系统的情况下运行特定的计算。一个微控制器可能要花费几美分到几美元,像中档车,可能有30个。

在12.0版中,我们将介绍微控制器套件对于Wolfram语言,它允许您提供符号规范,从中自动生成和部署代码,以便在微控制器中自动运行。在典型设置中,一个微控制器不断地对来自传感器的数据进行计算,并实时向执行机构发出信号。最常见的计算类型是控制理论和信号处理中的有效计算。

我们得到了广泛的支持控制理论信号处理在很长一段时间内直接使用Wolfram语言。但现在微控制器套件的可能之处在于,将语言中指定的内容作为嵌入式代码下载到一个独立的微控制器中,可以部署在任何地方(在设备中,物联网器具,等等)。

作为一个例子,以下是如何生成模拟信号处理滤波器的符号表示:

酪蛋白滤器型号
γ

Butterworthfiltermodel[3,2]

我们可以直接在wolfram语言中使用这个过滤器递归筛选器将其应用于音频信号。We can also do things like plot its frequency response:

波特图
γ

布尔图[ %]

要在微控制器中部署过滤器,我们首先必须从这个连续时间表示中推导出一个离散时间近似值,它可以在一个紧的循环中运行(这里,每0.1秒)在微控制器中:

ToDiscreteTimeModel(ToDiscreteTimeModel)
γ

filter=todiscreteTimeModel[ButterWorthFilterModel[3,2],0.1]//chop

现在我们已经准备好使用微控制器工具包将其实际部署到微控制器。该套件支持100多种不同类型的微控制器。下面是我们如何将过滤器部署到微控制器我们已连接到计算机上的串行端口:

需要[“MicrocontrollerKit`”]
γ

需要[“MicrocontrollerKit`”]

MicrocontrollerEmbedCode
γ

微控制器嵌入代码[filter,<“target”->“arduinouno”,“inputs”->“serial”,“outputs”->“serial”>,/dev/cu.usbmodem141101”]

MicrocontrollerEmbedCode通过生成适当的C类源代码来工作,为你想要的微控制器架构编译它,然后通过所谓的程序员把它部署到微控制器上。以下是在这种特殊情况下生成的实际源代码:

微控制器嵌入代码标题=
γ

%[源代码]

现在我们有了这样的东西巴特沃斯滤波器,我们可以在任何地方使用:

运行巴特沃斯过滤器

如果我们想检查它在做什么,我们可以使用设备打开打开它串口,and read and write from it.

连接到统一宇宙

Wolfram语言和电子游戏有什么关系?这些年来,Wolfram语言已经在游戏开发的许多方面(模拟策略,创建几何图形,分析结果,等等)。但是有一段时间我们一直在研究Wolfram语言和统一游戏环境,在版本12.0中,我们发布了这个链接的第一个版本。

基本方案是让统一与Wolfram语言一起运行,然后建立双向通信,允许交换对象和命令。The under-the-hood plumbing is quite complex,but the result is a nice merger of the strengths of Wolfram Language and Unity.

这就建立了链接,then starts a 徳赢中国new project in Unity:

需要[“UnityLink`”]
γ

需要[“UnityLink`”]

统一开放
γ

Unityopen[“徳赢中国新项目”]

现在创建一些复杂形状:

革命计划3d
γ

革命计划3d[sin[t]+sin[5 t]/10,cos[t]+cos[5 t]/10,{t,0,PI},Sequence[ RegionFunction -> (Sin[5 (#4 + #5)] > 0& ),盒装->假轴->没有,Plottheme->“ThickSurface”]]

Then it takes just one command to put this into the Unity game as an object called“思茅”

细鳞
γ

CreateUnityGameObject[“thingoID”,cloudget[“https://wolver.am/corztvva”],属性->“SharedMaterial”->UnityLink` CreateUnityMaterial[橙色]]

在Wolfram语言中,有对象的符号表示,和统一链路现在提供了数百个操作此类对象的函数,始终在统一和Wolfram语言中维护版本。

从Wolfram语言中获取事物并立即将它们统一起来是非常强大的几何学图像音频地质地形分子结构三维解剖,或者什么。在统一游戏中操纵这些东西也是非常强大的,或者通过游戏物理之类的东西,或者通过用户操作。(最终,人们可以期望操纵-像功能一样,其中的控件不仅仅是滑块和其他东西,但是复杂的游戏。)

自20世纪90年代初以来,我们已经尝试将Wolfram语言生成的内容放入虚拟现实中。但在现代,统一已经成为建立虚拟现实/现实现实环境的一个事实上的标准。统一链路现在可以直接将Wolfram语言中的内容常规地放到任何现代xr环境中。

一个人可以使用Wolfram语言为统一游戏准备材料,但在一场团结的游戏中统一链路基本上,我们只需插入Wolfram语言代码,可以在游戏期间在本地机器上或通过API在钨云.而且,除此之外,这使得把钩子放进游戏中很容易,这样游戏就可以发送“遥测”(比如说Wolfram数据丢弃)用于Wolfram语言的分析。(也可以编写游戏脚本,例如,对游戏测试非常有用。)

写游戏是一件复杂的事情。但是统一链路提供了一种有趣的新方法,可以更容易地制作各种游戏徳赢中国的原型,and to learn the ideas of game development.其中一个原因是,通过使用Wolfram语言中的符号构造,它可以有效地让一个脚本在更高的级别上编写一个游戏。But another reason is that it lets the development process be done incrementally in a notebook,并解释和记录每一步的方式。For example,这是相当于计算性论文描述“的发展钢琴游戏“:

UnityLink钢琴游戏

统一链路这不是一件简单的事情:它包含超过600个函数。但有了这些功能,几乎可以获得联合的所有能力,并建立了几乎所有可以想象的游戏。

机器学习的模拟环境

对于像强化学习这样的事情,当一个人进行机器学习时,在循环中有一个可操作的外部环境是很重要的。好,服务执行允许您调用API(发布tweet的效果是什么,或者做那种交易?),和设备执行允许您启动实际设备(向左转动机器人)并从传感器获取数据(机器人是否坠落?).

但在许多方面,人们希望有一个模拟的外部环境。在某种程度上,只是纯沃尔夫拉姆语在某种程度上已经做到了,例如,提供对丰富的“计算世界”的访问,其中充满了可修改的程序和方程(细胞自动机微分方程,……)而且,对,the things in that computational universe can be informed by the real world—say with the realistic properties of海洋,或化学制品.

但是,那些更像我们徳赢彩票游戏现代人通常学习的,充满了建筑工程结构等的环境呢?很方便,系统模型提供了许多现实的工程系统。通过统一链路我们可以期望获得丰富的基于游戏的世界模拟。

但作为第一步,在版本12.0中,我们正在建立与一些简单游戏的连接,特别是从OpenAI“健身房”.界面就像与现实世界交互一样,当游戏像“设备”一样被访问时(在适当的时候,有时是“开源痛苦”安装之后):

env=设备打开
γ

env = DeviceOpen["OpenAIGym",“Montezumarevenge-v0”]

我们可以看到游戏的状态:

设备代理
γ

DeVeCeRead [Env]

我们可以将其显示为图像:

观察状态
γ

图像[deviceread[env][“observedState”]

再努力一点,我们可以在游戏中随机采取100个动作(总是检查我们没有“死亡”),然后显示游戏观察状态的特征空间图:

特征空间图
γ

功能空间图[表[如果[deviceread[env][结束],返回[]图像[deviceExecute[env,“台阶”,设备执行[env,“RandoAction”][观察日期”]]100 ] ]

区块链(和CryptoKitty)计算

在11.3版中,我们开始我们与区块链的第一次连接.12.0版增加了许多新功能和功能,徳赢中国或许最显著的是能够写入公共区块链,以及从他们那里读。(我们也有自己的Wolfram区块链对于Wolfram云用户。)我们目前正在支持比特币以太方舟链链,它们的主网和测试网(以及,对,我们有自己的节点直接连接到这些区块链)。

在11.3版中,我们允许事务的原始读取来自区块链。在版本12.0中,我们添加了一个分析层,以便,例如,您可以请求“ck”令牌的摘要(aka密码学)在以太坊区块链上:

区块链标记数据[“ck”]
γ

区块链标记数据[“ck”]

很快就能看到历史上所有的代币交易,并对不同的令牌的活跃程度做一个词云:

文字云
γ

wordcloud[sortby[blockchaintokendata[all,“name”,“transfersCount”],last]]

但我们自己做交易怎徳赢彩票游戏么样?Let's say we want to use a比特币自动提款机(就像那个,奇怪的是,存在于我附近的一家百吉饼店)把现金转到比特币地址。好,首先,我们创建加密密钥(我们需要确保记住我们的私钥!):

密钥=生成对称密钥对[“比特币”]
γ

密钥=生成对称密钥对[“比特币”]

下一步,我们必须获取我们的公钥并从中生成比特币地址:

区块链键编码
γ

BlockChainkeyEncode[键[“PublicKey”],“地址”,BlockChainBase->“比特币”]

用它做一个二维码,你就可以进入自动取款机了:

巴科图像
γ

条形码图像[%,“qr”]

但是如果我们想自己写区块链呢?在这里,我们将使用比特币测试网(所以我们不会花真正的钱)。这显示了我们之前进行的交易的输出,其中包括0.0002比特币(即2万Satoshi):

块状碱
γ

$blockchainbase=“比特币”,“TestNET}”;

区块链事务数据
γ

第一个[区块链交易数据[“17a422eebff9cdee19b600740597bafea45cc4c703c67afcc8fb889f4cf7f28”,“输出”]

现在我们可以建立一个接受这个输出的事务,而且,例如,向两个地址中的每一个发送8000个Satoshi(我们定义的地址与ATM事务的地址相同):

区块链事务
γ

blockchainTransaction[<“inputs”-->,<“transactionid”->“17a422eebff9cdee19b600740597bafea45cc4c703c67afcc8fb889f4cf7f28”,“索引”->0>,“输出”->数量[8000,“Satoshi”“地址”->“mundtmq9v9uhi3p21fpky8ufyzvqpmoq”>,<“amount”->数量[8000,“Satoshi”“地址”->“MO9QWLSJ1G1ENRTKK9SSYW7CYJFJLU8QH”>,“区块链库”->“比特币”,“测试网”} >

好啊,所以现在我们有了一个区块链交易对象,它可以向愿意将交易放入区块链的矿工提供所有剩余加密货币(这里是4000 Satoshi)的费用(以红色显示,因为这是您将要花费的“实际资金”)。但在我们提交这笔交易(并“花掉这笔钱”)之前,我们必须用我们的私人密钥签署:

区块链交易信号
γ

区块链交易信号[%,密钥[“privatekey”]

最后,我们只是申请区块链事务提交我们已经提交了要放在区块链上的交易:

区块链事务提交
γ

区块链交易提交[%]

这是它的事务ID:

TXID
γ

txid=%[“事务ID”]

如果我们立即询问这个交易,徳赢彩票游戏我们会收到一条消息,说它不在区块链中:

区块链事务数据 区块链事务数据
γ

区块链交易数据

但是等了几分钟后,在那里,它很快就会传播到比特币测试网区块链的每一个副本:

区块链事务数据 区块链事务数据
γ

区块链交易数据

如果你准备花钱,您可以使用完全相同的函数在主网络上执行事务。你也可以做一些事情,比如买加密猫。函数类区块链合同值可用于任何(目前,只有以太坊)智能合约,并被设置为立即理解ECR-20ECR-721令牌。

以及普通密码

处理区块链涉及很多密码技术,其中一些是12.0版的新版本(特别徳赢中国是,handling elliptic curves).但在12.0版本中,我们也在扩展我们的非区块链加密功能。For example,我们现在有了直接处理的功能数字签名.这将使用上面的私钥创建数字签名:

消息
γ

message=“这是我的真实信息”;

签名
γ

签名=GenerateDigitalSignature[消息,键[“privatekey”]

现在,任何人都可以使用相应的公钥来验证消息:

验证数字签名
γ

验证数字签名[消息,签名,密钥[“PublicKey”]

In Version 12.0,我们为徳赢中国搞砸函数,特别是支持各种加密货币。我们还添加了生成和验证的方法派生密钥.从任何密码开始,和发电机将“吹气”的东西更长(为了更安全,你应该添加)“”:

发电机功率
γ

发电机功率

这是派生密钥的一个版本,适用于各种认证方案:

发电机功率
γ

发电机功率

连接到财务数据源

这个Wolfram知识库包含各种财务数据.通常有一个金融实体(像股票一样)然后是一种财产(比如价格)。以下是苹果股价的完整历史记录(它在对数尺度上看起来最好,令人印象深刻):

数据登录图
γ

DateListLogPlot[实体[“财务”,“NASDAQ:AAPL”[日期:[“价格”,全部]]

但是当沃尔夫拉姆知识库中的财务数据,以Wolfram语言标准提供,不断更新,这不是实时的(主要是延迟了15分钟)。它没有很多金融交易员使用的所有细节。对于严重的财政用途,然而,我们已经开发沃尔夫拉姆金融平台.现在,在版本12.0中,它可以直接访问彭博社和路透社的金融数据源。

我们设计Wolfram语言的方式,Bloomberg和Reuters的连接框架始终可用语言,但只有在您拥有Wolfram财务平台的情况下才会激活。以及相应的彭博社或路透社订阅。但是假设你有这些,下面是连接到彭博终端服务:

服务连接[“BloombergTerminal”]
γ

服务连接[“BloombergTerminal”]

彭博终端处理的所有金融工具现在都以Wolfram语言的实体形式提供:

实体[“BloombergTerminal”,“AAPL US Equity”]
γ

实体[“BloombergTerminal”,“AAPL US Equity”]

现在我们可以询问这个实体的属性:

实体[“BloombergTerminal”,“AAPL US Equity”][“Px_Last”]
γ

%[“PXI最后”)

彭博终端共有60000多处房产可供访问:

长度[实体属性[“BloombergTerminal”]
γ

长度[实体属性[“BloombergTerminal”]

以下是5个随机例子(是,它们很详细;这些是彭博社的名字,不是我们的):

随机抽样
γ

随机样本[实体属性[“BloombergTerminal”],5]

我们支持彭博终端服务,这个彭博数据许可证服务,以及路透社Elektron服务。现在我们可以做的一件复杂的事情是设置一个连续的任务来异步接收数据,并称之为“处理函数“每次新数据出现时:徳赢中国

服务对象
γ

ServiceSubmit[ContinuousTask[ServiceRequest[ServiceConnect[“Reuters”],“MarketData”,“Instrument”->“AAPL.O”,“TriggerFields”->“Bid”,“Ask”]],HandlerFunctions-><“MarketDataEvents”->(action[result]&)>]

软件工程与平台更新

在Wolfram语言中,徳赢彩票游戏我已经讨论了许多新功能和新功徳赢中国能。但是,Wolfra徳赢彩票游戏m语言的基础架构呢?好,我们也在努力。For example,在11.3版和12.0版之间,我们已经设法修复了近8000个报告的错误。We've also made lots of things faster and more robust.总的来说,我们一直在加强系统的软件工程,例如,将初始下载大小减少近10%(尽管添加了所有功能)。(我们还做了一些改进预测的工作预取知识库元素来自云端,因此当您需要类似的数据时,它更可能已经缓存在您的计算机上。)

操作系统不断更新并利用其最新功能是计算机领域的一个长期特征,应用程序也必须更新。我们已经为我们的Mac笔记本电脑界面进行了几年的重大更新,最终在12.0版中准备就绪。As part of the update,我们重写和重组了20多年来开发和改进的大量代码,但结果是在12.0版中,Mac上的所有系统都是徳赢彩票游戏64位的,利用最新的可可芹菜.这意味着笔记本的前端速度明显更快,也可以超过以前的2GB内存限制。

Linux上还有一个平台更新,现在笔记本界面完全支持QT 5,它允许所有渲染操作以“无头”方式进行,没有任何X服务器,大大简化了钨发动机在云端。(Version 12.0 doesn't yet have high-dpi support for Windows,但很快就要到了。)

发展钨云在某种程度上与Wolfram语言的发展不同,和Wolfram Desktop应用程序(尽管为了内部兼容性,我们将在两个环境中同时发布12.0版)。但在11.3版发布后的一年里,Wolfram云已经取得了巨大的进展。

特别值得注意的是,云笔记本支持更多界面元素(包括一些,比如嵌入式网站和视频,这在台式笔记本电脑中还没有出现)。以及极大地提高了鲁棒性和速度。(让我们的整个笔记本电脑界面在网络浏览器中工作并不是软件工程的一个小壮举,在12.0版本中,有一些非常复杂的策略,比如保持一致的快速加载缓存,along with full symbolic DOM representations.)

在版本12.0中,现在只有一个简单的菜单项(文件>发布到云…)将任何笔记本发布到云端。一旦笔记本出版,世界上的任何人都可以与它互动,也可以自己制作副本,这样他们就可以编辑它。

很有趣看到云进入了可以做什么的范围用Wolfram语言。除了云知识库的无缝集成之外,能够接触到像区块链这样的东西,还有一些便利设施,比如发送到通过电子邮件发送任何笔记本,如果没有可用的直接电子邮件服务器连接,则使用云。

还有很多其他的…

尽管这是一个很长的片段,它甚至还不接近讲述12.0版的全部新功能。徳赢中国和我们团队的其他人一起,我在12.0版上工作了很长时间,但是看到它到底有多大的价值还是很令人兴奋的。

但关键是什么(还有很多工作要完成!)我们添加的所有内容都经过精心设计,以与现有的内容一致。从30多年前的第一个版本,现在的Wolfram语言,我们一直遵循着相同的核心原则,这也是我们在保持长期兼容性的同时,大幅增长系统的部分原因。

总是很难准确地决定每个新版本的开发优先级,徳赢中国but I'm very pleased with the choices we made for Version 12.0.在过去的一年里,我进行了很多会谈,我很惊讶我能经常说一些事情:“嗯,徳赢彩票游戏这是12.0版的一部分!”

我个人使用12.0版的内部初步版本已经将近一年了,and I've come to take for granted many of its 徳赢中国new capabilities—and to use and enjoy them a lot.很高兴今天我们有了12.0版的最终版本,其中正式包含了所有这些新功能,徳赢中国准备好被任何人和每个人使用…

评论.显示全部

  1. 终于!^ ^ ^

    去年一直在问V12.0的徳赢彩票游戏问题。;)

    现在我可以开始问“下一次‘升级’什么时候开始销售?”

    准备在V12.0上投一点硬币。应该是V9.0的重大升级…;)迫不及待想试驾一下!

    想知道它是否有将多个图像对齐/组合成一个“超级分辨率”图像的算法,或者更高质量或更好细节/更高动态范围的类似质量的图像?用一些专门的软件可以做的事情,但是我希望能够本地批量处理,或者什么,在Mathematica中。

    同样地,any improvements to ImageStyleTransfer[],或者叫什么?

  2. 看到这个版本完成真是太好了!“周围”功能与我在做实验室报告时为自己开发的功能非常接近,但更好(刚刚了解不对称错误)!徳赢彩票游戏
    从文档来看,它可以很好地处理各种格式选项。我以前一直在“黑”我的方式通过它:https://mathematica.stackexchange.com/questions/87338/tidy-form-of-numbers-with-errors-using-scientificForm

    米歇尔曼德里兹
  3. 它能在Windows10上正常运行4K吗?

    丹雷茨尼克
  4. 期待着在我指导的研究生课程中使用v12.x。

隐藏注释»

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