Julia是一款好用的編程語言,是動態(tài)鍵入的,更像是一款腳本語言,可重現(xiàn)的環(huán)境使用戶可以跨平臺使用預(yù)先構(gòu)建的二進(jìn)制文件,每次重新創(chuàng)建相同的Julia環(huán)境。
軟件特色
豐富的科學(xué)計(jì)算生態(tài)系統(tǒng)
Julia從頭開始設(shè)計(jì),非常擅長數(shù)值和科學(xué)計(jì)算。
可以在應(yīng)用程序中編寫的大量科學(xué)工具中看到這一點(diǎn)
例如最新的微分方程生態(tài)系統(tǒng)(DifferentialEquations.jl),優(yōu)化工具(JuMP.jl和Optim.jl)
迭代線性求解器( IterativeSolvers.jl),用于傅立葉變換的強(qiáng)大框架(AbstractFFTs.jl)
通用量子模擬框架(Yao.jl)等,可以推動所有模擬。
并行和異構(gòu)計(jì)算
該語言專為并行性而設(shè)計(jì),并為每個(gè)級別的并行計(jì)算提供內(nèi)置基元:
指令級并行性,多線程和分布式計(jì)算。
Celeste.jl項(xiàng)目在NERSC的Cori超級計(jì)算機(jī)上使用650,000個(gè)內(nèi)核,達(dá)到1.5 PetaFLOP / s。
編譯器還可以為各種硬件加速(例如GPU和Xeon Phis)生成本機(jī)代碼。
諸如DistributedArrays.jl和Dagger.jl之類的包為并行提供了更高級別的抽象。
功能介紹
數(shù)據(jù)可視化和繪圖
數(shù)據(jù)可視化具有復(fù)雜的歷史。
繪圖軟件在功能與簡單性,速度與美感以及靜態(tài)和動態(tài)界面之間進(jìn)行權(quán)衡。
有些軟件包可以顯示,并且永遠(yuǎn)不會更改,而其他軟件包則可以實(shí)時(shí)更新。
構(gòu)建,部署或嵌入代碼
該應(yīng)用程序使您可以編寫UI,靜態(tài)編譯代碼,甚至將其部署在Web服務(wù)器上。
它還具有強(qiáng)大的類似于Shell的功能,用于管理其他進(jìn)程。
它提供類似Lisp的宏和其他元編程功能。
與數(shù)據(jù)交互
數(shù)據(jù)生態(tài)系統(tǒng)使您可以快速加載多維數(shù)據(jù)集,并行執(zhí)行聚合,聯(lián)接和預(yù)處理操作
并以有效格式將其保存到磁盤。
您也可以使用OnlineStats.jl對流數(shù)據(jù)執(zhí)行在線計(jì)算。
無論您是尋找方便,熟悉的DataFrame,還是使用JuliaDB的新方法,它為您提供了豐富的工具。
Queryverse提供查詢,文件IO和可視化功能。
除了處理表格數(shù)據(jù)之外,JuliaGraphs包還使處理組合數(shù)據(jù)變得更加容易。
可擴(kuò)展的機(jī)器學(xué)習(xí)
它提供了用于深度學(xué)習(xí)(Flux.jl和Knet.jl),機(jī)器學(xué)習(xí)和AI的強(qiáng)大工具。
Julia的數(shù)學(xué)語法使其成為表達(dá)算法的理想方式,就像它們寫在論文中一樣
構(gòu)建具有自動微分,GPU加速以及可通過JuliaDB支持TB級數(shù)據(jù)的可訓(xùn)練模型。