2015-07-20 101 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找到它。