Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matrix Julia中的稀疏复数矩阵_Matrix_Julia_Complex Numbers_Sparse Matrix - Fatal编程技术网

Matrix Julia中的稀疏复数矩阵

Matrix Julia中的稀疏复数矩阵,matrix,julia,complex-numbers,sparse-matrix,Matrix,Julia,Complex Numbers,Sparse Matrix,在Julia中,我可以创建一个稀疏的零矩阵: julia> a = spzeros(2,2) 2x2 sparse matrix with 0 Float64 entries: julia> a[1,1] = 1 1 julia> full(a) 2x2 Array{Float64,2}: 1.0 0.0 0.0 0.0 我可以创建一个复杂的矩阵: julia> b = [ 1 ; im ] 2-element Array{Complex{Int64},1}

在Julia中,我可以创建一个稀疏的零矩阵:

julia> a = spzeros(2,2)
2x2 sparse matrix with 0 Float64 entries:

julia> a[1,1] = 1
1

julia> full(a)
2x2 Array{Float64,2}:
 1.0  0.0
 0.0  0.0
我可以创建一个复杂的矩阵:

julia> b = [ 1 ; im ]
2-element Array{Complex{Int64},1}:
 1+0im
 0+1im
如果我尝试将复数值赋给稀疏的零矩阵,我会得到一个错误:

julia> a[1,1] = im
ERROR: InexactError()
 in setindex! at sparse/sparsematrix.jl:1095
这与Float64参数化的
spzeros()
返回类型一致:

julia> typeof(a)
SparseMatrixCSC{Float64,Int64} (constructor with 1 method)

如何在Julia中创建复杂类型零的稀疏矩阵?

查看我们可以传递给
spzero的内容:

julia> methods(spzeros)
# 5 methods for generic function "spzeros":
spzeros(m::Integer,n::Integer) at sparse/sparsematrix.jl:406
spzeros(Tv::Type{T<:Top},m::Integer,n::Integer) at sparse/sparsematrix.jl:407
spzeros(Tv::Type{T<:Top},Ti::Type{T<:Top},m::Integer,n::Integer) at sparse/sparsematrix.jl:409
spzeros(m::Integer) at deprecated.jl:28
spzeros(Tv::Type{T<:Top},m::Integer) at deprecated.jl:28
julia> a = spzeros(Complex{Float64}, 2,2)
2x2 sparse matrix with 0 Complex{Float64} entries:

julia> full(a)
2x2 Array{Complex{Float64},2}:
 0.0+0.0im  0.0+0.0im
 0.0+0.0im  0.0+0.0im

julia> a[1,1] = 2+3.4im
2.0 + 3.4im

julia> a
2x2 sparse matrix with 1 Complex{Float64} entries:
    [1, 1]  =  2.0+3.4im