當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。