小编cha*_*hau的帖子

函数中 julia 中的抽象类型数组

我试图理解在 Julia 中的输入并遇到以下问题Array。我写了一个函数bloch_vector_2d(Array{Complex,2});详细的实施是无关紧要的。打电话时,这里是投诉:

julia> bloch_vector_2d(rhoA)
ERROR: MethodError: no method matching bloch_vector_2d(::Array{Complex{Float64},2})
Closest candidates are:
  bloch_vector_2d(::Array{Complex,2}) at REPL[56]:2
  bloch_vector_2d(::StateAB) at REPL[54]:1
Stacktrace:
 [1] top-level scope at REPL[64]:1
Run Code Online (Sandbox Code Playgroud)

问题是父类型的数组不会自动成为子类型数组的父级。

julia> Complex{Float64} <: Complex
true

julia> Array{Complex{Float64},2} <: Array{Complex,2}
false
Run Code Online (Sandbox Code Playgroud)

我认为将这一点强加给 julia 是有道理的Array{Complex{Float64},2} <: Array{Complex,2}。或者在 Julia 中实现这一点的正确方法是什么?任何帮助或意见表示赞赏!

julia

4
推荐指数
2
解决办法
175
查看次数

标签 统计

julia ×1