julia主对角线下的和

julia主对角线下的和,julia,Julia,在julia中,如何在主对角线下求和而不使用矩阵中的主对角线 我使用的是sum=tril(a)-1,但它在julia中不起作用 我知道我需要一个面具,但我不知道如何使用它。您正在寻找,它是标准库的一部分,包含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

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

我使用的是
sum=tril(a)-1
,但它在
julia
中不起作用

我知道我需要一个面具,但我不知道如何使用它。

您正在寻找,它是标准库的一部分,包含
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
函数位于线性代数标准库中。要使用它,您需要导入
linearagebra
模块
tril
接受第二个可选参数,以指定要从何处开始下三角部分。您可以将其设置为-1,以便不采用主对角线

using LinearAlgebra

A = rand(5, 5)
lowerA = tril(A, -1)
println(sum(lowerA)) 
您可能还想看看懒惰的下三角视图构造函数,例如
LowerTriangular
OneUnitLowerTriangular