距離Mathematica及現(xiàn)在的Wolfram語言的初次發(fā)布已經(jīng)34年了。這些年來,我們一直在積極努力地繼續(xù)建設(shè),增加越來越多的功能,并穩(wěn)步擴(kuò)展計(jì)算范式的領(lǐng)域。
最近幾年,我們已經(jīng)建立起了一種節(jié)奏,大約每年可以交付兩次我們開發(fā)工作的成果。在2021年12月13日,我們發(fā)布了13.0版本。而現(xiàn)在,只在大約6個(gè)月之后,我們就發(fā)布了13.1版本。如往常一樣,盡管這個(gè)版本只是一個(gè)“.1”,但它依然有很多新的(以及升級(jí)的)功能。其中有一些功能,我們已經(jīng)研究了許多年,現(xiàn)在終于可以享用其成果了。
對(duì)我來說,看到每個(gè)新版本都能傳達(dá)出我們想要的內(nèi)容總是讓人激動(dòng)的。在13.1版本中,我們有90個(gè)完整的新功能,同時(shí)有203個(gè)大量更新的現(xiàn)有功能。除了特定功能中出現(xiàn)的內(nèi)容以外,13.1版本還包括用戶界面和編譯器等方面的重要新功能。
現(xiàn)在的Wolfram語言包含了廣泛的功能。但是,它的巨大能量并不僅僅來自于它所包含的內(nèi)容,也來自于其包含的所有內(nèi)容是如何連貫地結(jié)合在一起的。近36年來,我一直將維持這種連貫性作為我自己的個(gè)人責(zé)任。這項(xiàng)工作既需要高度的注意力,也需要大量深層的腦力工作。但是在我日復(fù)一日使用著Wolfram語言時(shí),我驕傲于所取得的成果。
過去四年中,我一直在分享“幕后工作”,展示我們是如何取得這一成果的——通過直播Wolfram語言設(shè)計(jì)評(píng)審會(huì)。這是前所未有的開放程度——同時(shí)與社區(qū)進(jìn)行互動(dòng)。在設(shè)計(jì)13.1版本時(shí),我們進(jìn)行了90場(chǎng)直播,持續(xù)時(shí)間超過96小時(shí)。在開放我們的流程時(shí),我們不僅向公眾展示了為13.1版本所構(gòu)建的內(nèi)容,而且還說明了構(gòu)建它的原因以及是如何做出有關(guān)決策的。
But,OK, so what finally is in Version 13.1? Let’s talk about somehighlights….
那么,在13.1的最終版本中到底有什么新內(nèi)容?接下來我們講講一些重點(diǎn)……
不止可列表功能:Threaded介紹
從Mathematica和Wolfram語言的開始,我們就有了可列表功能的概念:例如,如果添加兩個(gè)列表,它們對(duì)應(yīng)的元素將被添加:
![]() |
這一機(jī)制非常方便,基本上做到了你想要它做的事。而且35年來,我們都沒有想過要擴(kuò)展這個(gè)功能。但如果仔細(xì)看看寫出來的代碼,我們會(huì)發(fā)現(xiàn),有一些部分基本上實(shí)現(xiàn)了類似可列表的功能,但稍微更加通用一些。在13.1版本中,我們有新的符號(hào)結(jié)構(gòu):Threaded,可以讓您輕松、有效地使用可列表功能。
試想:
![]() |
這個(gè)列表使用了普通的可列表功能,有效計(jì)算為:
![]() |
但是,如果你想“降低一個(gè)層級(jí)”并將{x,y}插入第一個(gè)列表的最底部怎么辦?這種情況下可以使用Threaded來執(zhí)行該操作:
![]() |
Threaded本身只是一個(gè)符號(hào)包裝:
![]() |
但是,只要它出現(xiàn)在一個(gè)具有Listable屬性的函數(shù)里——比如Plus,即說明可列表的屬性應(yīng)該應(yīng)用在Threaded函數(shù)內(nèi)指定的內(nèi)容在最低層級(jí)“線程化”之后。
下面是另一個(gè)例子。先創(chuàng)建一個(gè)列表:
![]() |
那么,我們?nèi)绾螌⒚恳粋€(gè)元素乘以{1,–1}?我們可以這樣做:
![]() |
但現(xiàn)在,我們有了Threaded函數(shù),所以可以僅表示為:
![]() |
你可以將Threaded作為任何可列出函數(shù)的參數(shù),而不僅僅用于Plus和Times:
![]() |
你可以將Threaded和普通的可列表屬性一起使用:
![]() |
你也可以同時(shí)使用多個(gè)Threaded:
![]() |
另外,Threaded得名于另一個(gè)函數(shù)Thread,這一函數(shù)明確地執(zhí)行“線程”功能,比如:
![]() |
默認(rèn)情況下,Threaded會(huì)一直插在列表的最低層級(jí):
![]() |
![]() |
下面是用如上所述的方法使用Threaded的“現(xiàn)實(shí)”案例。3D彩色圖像中的數(shù)據(jù)由RGB值三元組的rank-3數(shù)組組成:
![]() |
這將每一個(gè)RGB三元組乘以{0,1,2}:
![]() |
大多數(shù)時(shí)候,你或許想使用普通的可列表屬性,在列表的最高層級(jí)進(jìn)行運(yùn)算;或者你只想使用Threaded的默認(rèn)格式,在列表的最低層級(jí)進(jìn)行運(yùn)算。但Threaded有更加普遍的格式,使用這種格式,你可以明確想要在哪個(gè)層級(jí)運(yùn)算。
下面是默認(rèn)案例:
![]() |
下面是第一層級(jí),就像普通的可列表屬性功能:
![]() |
以下是插入第二層級(jí):
![]() |
Threaded提供了非常便捷的方法,可以進(jìn)行所有種類的數(shù)組組合操作。如果目標(biāo)對(duì)象本身的“插入”有多重層級(jí),那么就會(huì)出現(xiàn)更加復(fù)雜的情況。這種情況下,默認(rèn)的操作就是將插入元素的最低層級(jí)與被插入元素的最低層級(jí)對(duì)齊
![]() |
下面是“普通可列表屬性”的表現(xiàn):
![]() |
對(duì)于我們?cè)诖颂幉榭吹臄?shù)組,默認(rèn)行為等同于:
![]() |
有時(shí),把數(shù)組寫到外面可能更加清晰,比如以下格式:
![]() |
這表明,Threaded中的第一級(jí)數(shù)組,與數(shù)組外的第二級(jí)數(shù)對(duì)齊。通常來講,默認(rèn)情況等同于–1→ –1,即表明在Threaded中,數(shù)組內(nèi)的最低層級(jí)應(yīng)該與數(shù)組外的最低層級(jí)對(duì)齊。
審核編輯:劉清
-
Wolfram
+關(guān)注
關(guān)注
0文章
16瀏覽量
7884 -
編譯器
+關(guān)注
關(guān)注
1文章
1672瀏覽量
51709
原文標(biāo)題:Wolfram語言與Mathematica13.1版本上線(1)
文章出處:【微信號(hào):哲想軟件,微信公眾號(hào):哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用dp123電天下平臺(tái)的獲取電天下列表搜索數(shù)據(jù)API接口
利用施耐德平臺(tái)API獲取設(shè)備列表數(shù)據(jù)
???????使用 DMM Web API 獲取搜索列表數(shù)據(jù)
1688搜索店鋪列表API使用指南
不同類型的電能質(zhì)量在線監(jiān)測(cè)裝置在多維度統(tǒng)計(jì)報(bào)表功能上有哪些差異?
微店商品列表API,輕松采集商品列表數(shù)據(jù)
順企網(wǎng)平臺(tái)根據(jù)關(guān)鍵詞獲取企業(yè)列表API接口詳解與實(shí)現(xiàn)
攜程獲取景點(diǎn)列表的API接口技術(shù)指南
1688平臺(tái)獲取店鋪所有商品列表API接口技術(shù)詳解
調(diào)用拼多多開放平臺(tái) API 獲取店鋪列表
產(chǎn)品列表獲取API接口詳解
《仿盒馬》app開發(fā)技術(shù)分享-- 分類右側(cè)商品列表(18)
創(chuàng)建列表 (List) 介紹,一起來看看是做什么的
C3語音地臺(tái)ZXAIEC43 使用說明手冊(cè) 功能支持列表
不止可列表功能:Threaded介紹























評(píng)論