热门问题
时间线
聊天
视角
Julia語言
来自维基百科,自由的百科全书
Remove ads
Julia是一種進階通用[13]動態程式語言,它最初是為了滿足高效能數值分析和計算科學的需要而設計的,不需要直譯器,速度快[14][15][16][17],也可用於客戶端和伺服器的Web用途[18][19]、低階系統程式設計或用作規約語言[20]。
此條目翻譯品質不佳。 |
Remove ads
Julia設計的獨特之處包括,參數多型的型別系統,完全動態語言中的類型,以及它多分派的核心程式設計範式。它允許並行、並列和分散式計算,並直接呼叫C和Fortran庫而不使用粘合代碼。
Julia擁有垃圾回收機制[21],使用及早求值,包含了用於浮點計算、線性代數、亂數生成和正規表示式匹配的高效庫。有許多庫可以使用,其中一些(如用於快速傅立葉變換的庫)已經預先捆綁在Julia裡[22]。
Remove ads
歷史
一群擁有各種語言豐富編程經驗的Matlab進階使用者,對現有的科學計算編程工具感到不滿——這些軟體對自己專長的領域表現得非常棒,但在其它領域卻非常糟糕。他們想要的是一個開源的軟體,它要像C語言一般快速而又擁有如同Ruby的動態性;要具有Lisp般真正的同像性而又有Matlab般熟悉的數學記號;要像Python般通用、像R般在統計分析上得心應手、像Perl般自然地處理字串、像Matlab般具有強大的線性代數運算能力、像shell般膠水語言的能力,易於學習而又不讓真正的駭客感到無聊;還有,它應該是互動式的,同時又是編譯型的。[23]
該專案大約於2009年中開始。
功能
主要用於數值計算。
特點
範例
function mandel(z)
c = z
max = 80
for n = 1:max
if abs(z) > 2
return n-1
end
z = z^2 + c
end
return max
end
using LinearAlgebra: tr
using Statistics #导入std, mean等函数
function randmatstat(t)
n = 5
v = zeros(t)
w = zeros(t)
for i = 1:t
a = randn(n,n)
b = randn(n,n)
c = randn(n,n)
d = randn(n,n)
P = [a b c d]
Q = [a b; c d]
v[i] = tr((P'*P)^4)
w[i] = tr((Q'*Q)^4)
end
std(v)/mean(v), std(w)/mean(w)
end
參考資料
參閱
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads