茱莉亚主要对角线下的总和

Bil*_*vic 4 julia

在不使用矩阵in中的主对角线的情况下,如何在主对角线下求和julia

我正在使用,sum=tril(a)-1但无法使用julia

我知道我需要口罩,但我不知道该如何使用。

pfi*_*seb 6

您正在寻找LinearAlgebramodule,它是标准库的一部分,并且包含一个tril函数:

julia> using LinearAlgebra

julia> A = ones(5, 5)
5×5 Array{Float64,2}:
 1.0  1.0  1.0  1.0  1.0
 1.0  1.0  1.0  1.0  1.0
 1.0  1.0  1.0  1.0  1.0
 1.0  1.0  1.0  1.0  1.0
 1.0  1.0  1.0  1.0  1.0

julia> tril(A, -1)
5×5 Array{Float64,2}:
 0.0  0.0  0.0  0.0  0.0
 1.0  0.0  0.0  0.0  0.0
 1.0  1.0  0.0  0.0  0.0
 1.0  1.0  1.0  0.0  0.0
 1.0  1.0  1.0  1.0  0.0

julia> sum(tril(A, -1))
10.0
Run Code Online (Sandbox Code Playgroud)


hck*_*ckr 5

tril函数在Linear Algebra标准库中。要使用它,您需要导入LinearAlgebra模块。tril使用第二个可选参数来指定您要在哪里开始下部三角形部分。您可以将其设置为-1,以便不采用主对角线。

using LinearAlgebra

A = rand(5, 5)
lowerA = tril(A, -1)
println(sum(lowerA)) 
Run Code Online (Sandbox Code Playgroud)

您可能还想看一下懒惰的下三角视图构造函数,例如LowerTriangularOneUnitLowerTriangular