当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Julia SparseArrays.spdiagm用法及代码示例


用法一

spdiagm(kv::Pair{<:Integer,<:AbstractVector}...)
spdiagm(m::Integer, n::Integer, kv::Pair{<:Integer,<:AbstractVector}...)

从向量和对角线的Pair s 构造一个稀疏对角矩阵。每个向量kv.second 将被放置在kv.first 对角线上。默认情况下,矩阵是方形的,其大小是从 kv 推断出来的。但是可以通过传递 m,n 作为第一个参数来指定非正方形大小 m × n(根据需要用零填充)。

例子

julia> spdiagm(-1 => [1,2,3,4], 1 => [4,3,2,1])
5×5 SparseMatrixCSC{Int64, Int64} with 8 stored entries:
 ⋅  4  ⋅  ⋅  ⋅
 1  ⋅  3  ⋅  ⋅
 ⋅  2  ⋅  2  ⋅
 ⋅  ⋅  3  ⋅  1
 ⋅  ⋅  ⋅  4  ⋅

用法二

spdiagm(v::AbstractVector)
spdiagm(m::Integer, n::Integer, v::AbstractVector)

构造一个以向量元素为对角元素的稀疏矩阵。默认情况下(没有给定 mn ),矩阵是正方形的,其大小由 length(v) 给出。但是可以通过传递 mn 作为第一个参数来指定非正方形大小 m × n

Julia 1.6

这些函数至少需要 Julia 1.6。

例子

julia> spdiagm([1,2,3])
3×3 SparseMatrixCSC{Int64, Int64} with 3 stored entries:
 1  ⋅  ⋅
 ⋅  2  ⋅
 ⋅  ⋅  3

julia> spdiagm(sparse([1,0,3]))
3×3 SparseMatrixCSC{Int64, Int64} with 2 stored entries:
 1  ⋅  ⋅
 ⋅  ⋅  ⋅
 ⋅  ⋅  3

相关用法


注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 SparseArrays.spdiagm — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。