2015-07-20 104 views
2

我在尋找一個函數或運算符 ,計算Julia 中的第n個矩陣指數,其中n是一個非負整數。例如,在MATLAB中,我會寫expm(A, 3)A * A * A。 我可以使用*多次調用該產品, ,但有沒有辦法計算矩陣指數 而不這樣做?Julia中的矩陣指數函數或運算符

julia> A = [1 -1; 0 2] 
2x2 Array{Int64,2}: 
1 -1 
0 2 

julia> A * A 
2x2 Array{Int64,2}: 
1 -3 
0 4 

julia> A * A * A 
2x2 Array{Int64,2}: 
1 -7 
0 8 

回答

5

只需使用指數運算符即可。

julia> A = [1 -1; 0 2] 
2x2 Array{Int64,2}: 
1 -1 
0 2 

julia> A^2 
2x2 Array{Int64,2}: 
1 -3 
0 4 

julia> A^3 
2x2 Array{Int64,2}: 
1 -7 
0 8 

要找出它的實現,你可以使用函數方法

julia> methods(^) 
# 45 methods for generic function "^": 
... 

^(A::Array{T,2}, p::Integer) at linalg/dense.jl:170 
^(x, p::Integer) at intfuncs.jl:108 
^(A::Array{T,2}, p::Number) at linalg/dense.jl:173 

鑑於信息,你可以在the Julia repository找到它。