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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。