【问题标题】:Function or operator for matrix exponential in JuliaJulia中矩阵指数的函数或运算符
【发布时间】:2015-07-20 18:11:49
【问题描述】:

我正在寻找一个函数或运算符 计算 Julia 中的第 n 个矩阵指数 其中 n 是一个非负整数。 例如,在 MATLAB 中,我会为 A * A * A 编写 expm(A, 3)。 我可以多次使用* 调用产品, 但是有没有办法计算矩阵指数 不这样做?

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

【问题讨论】:

    标签: matrix julia


    【解决方案1】:

    只需使用求幂运算符。

    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
    

    要找出它的实现位置,可以使用函数methods

    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 中找到它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多