如何在julia中改变矩阵下三角的值并转换为上三角?

如何在julia中改变矩阵下三角的值并转换为上三角?,julia,Julia,如何在julia中改变矩阵下三角的值并转换为上三角?我需要家庭作业方面的帮助从你在上面评论中的讨论中仍然无法100%清楚你在寻找什么,但下面是一个尝试回答: julia> using LinearAlgebra julia> A = [1 2 3; 4 5 6; 7 8 9] 3×3 Array{Int64,2}: 1 2 3 4 5 6 7 8 9 我将根据您的第一条评论进行讨论,表明您希望矩阵的“tril成为矩阵的triu,并更改tril的值” 正如Stef

如何在julia中改变矩阵下三角的值并转换为上三角?我需要家庭作业方面的帮助

从你在上面评论中的讨论中仍然无法100%清楚你在寻找什么,但下面是一个尝试回答:

julia> using LinearAlgebra

julia> A = [1 2 3; 4 5 6; 7 8 9]
3×3 Array{Int64,2}:
 1  2  3
 4  5  6
 7  8  9
我将根据您的第一条评论进行讨论,表明您希望矩阵的“
tril
成为矩阵的
triu
,并更改
tril
的值”

正如Stefan在其评论中所建议的,将矩阵的下三角值移动到上三角值可以通过简单地变换矩阵来实现:

julia> tril(A)
3×3 Array{Int64,2}:
 1  0  0
 4  5  0
 7  8  9

julia> triu(A)
3×3 Array{Int64,2}:
 1  2  3
 0  5  6
 0  0  9

julia> A_tr = A'
3×3 Adjoint{Int64,Array{Int64,2}}:
 1  4  7
 2  5  8
 3  6  9
如您所见,
A_tr
在其上三角中包含由
tril(A)
返回的值。然后,您可以使用@crstnbr的建议将所有下三角值替换为-3(添加负号以使结果在视觉上更清晰):


我不清楚你在这里要求什么。你想要矩阵的转置吗?如何将矩阵的tril变成矩阵的triu并更改tril的值。你是在寻找像
LowerTriangular(a)'+a-UpperTriangular(a)
的东西吗?
julia> for k in 1:size(A_tr, 1) A_tr[diagind(A_tr, k)] .= -3 end

julia> A_tr
3×3 Adjoint{Int64,Array{Int64,2}}:
 1  -3  -3
 2   5  -3
 3   6   9