yet.
If I write the following function:
julia> function fun(m::Matrix{Complex})
return nothing
end
fun (generic function with 1 method)
And I use
julia> a = [Complex(1.0,0.0) Complex(0.0,0.0) ; complex(0.0,0.0) Complex(1.0,0.0) ]
2×2 Matrix{ComplexF64}:
1.0+0.0im 0.0+0.0im
0.0+0.0im 1.0+0.0im
julia> fun(a)
ERROR: MethodError: no method matching fun(::Matrix{ComplexF64})
Closest candidates are:
fun(::Matrix{Complex}) at REPL[30]:1
Stacktrace:
[1] top-level scope
@ REPL[31]:1
Don’t you think this is confusing?
Of course I don’t mind going ComplexF64 all the way. The problem is that when I see a function I did not create asking for Matrix{Complex} I have to start converting my matrices because it will reject my Matrix{ComplexF64}.