用法一
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)
构造一个以向量元素为对角元素的稀疏矩阵。默认情况下(没有给定 m
和 n
),矩阵是正方形的,其大小由 length(v)
给出。但是可以通过传递 m
和 n
作为第一个参数来指定非正方形大小 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
相关用法
- Julia SparseArrays.sprand用法及代码示例
- Julia SparseArrays.spzeros用法及代码示例
- Julia SparseArrays.sparsevec用法及代码示例
- Julia SparseArrays.sprandn用法及代码示例
- Julia SparseArrays.sparse用法及代码示例
- Julia SparseArrays.nnz用法及代码示例
- Julia SparseArrays.nonzeros用法及代码示例
- Julia SparseArrays.blockdiag用法及代码示例
- Julia SparseArrays.findnz用法及代码示例
- Julia SparseArrays.permute用法及代码示例
- Julia SparseArrays.dropzeros用法及代码示例
- Julia SparseArrays.rowvals用法及代码示例
- Julia SparseArrays.issparse用法及代码示例
- Julia Sys.BINDIR用法及代码示例
- Julia Sys.KERNEL用法及代码示例
- Julia Statistics.mean!用法及代码示例
- Julia Sockets.getipaddr用法及代码示例
- Julia Sockets.getnameinfo用法及代码示例
- Julia SubString用法及代码示例
- Julia Statistics.quantile!用法及代码示例
- Julia SubString()用法及代码示例
- Julia Statistics.quantile用法及代码示例
- Julia Statistics.median用法及代码示例
- Julia Sys.WORD_SIZE用法及代码示例
- Julia Sort.searchsorted用法及代码示例
注:本文由纯净天空筛选整理自julialang.org 大神的英文原创作品 SparseArrays.spdiagm — Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。