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


Julia LinearAlgebra.diagm用法及代碼示例


用法一

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

從對角線和向量的 Pair s 構造一個矩陣。矢量kv.second 將放置在kv.first 對角線上。默認情況下,矩陣是正方形,其大小是從 kv 推斷出來的,但可以通過傳遞 m,n 作為第一個參數來指定非正方形大小 m × n(根據需要用零填充)。

diagm 構造一個完整的矩陣;如果您想要 storage-efficient 具有快速算術的版本,請參閱 Diagonal Bidiagonal Tridiagonal SymTridiagonal

例子

julia> diagm(1 => [1,2,3])
4×4 Matrix{Int64}:
 0  1  0  0
 0  0  2  0
 0  0  0  3
 0  0  0  0

julia> diagm(1 => [1,2,3], -1 => [4,5])
4×4 Matrix{Int64}:
 0  1  0  0
 4  0  2  0
 0  5  0  3
 0  0  0  0

用法二

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

用向量的元素作為對角元素構造一個矩陣。默認情況下,矩陣是正方形,其大小由 length(v) 給出,但可以通過傳遞 m,n 作為第一個參數來指定非正方形大小 m × n

例子

julia> diagm([1,2,3])
3×3 Matrix{Int64}:
 1  0  0
 0  2  0
 0  0  3

相關用法


注:本文由純淨天空篩選整理自julialang.org 大神的英文原創作品 LinearAlgebra.diagm — Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。