如何在julia中改变矩阵下三角的值并转换为上三角?
如何在julia中改变矩阵下三角的值并转换为上三角?我需要家庭作业方面的帮助从你在上面评论中的讨论中仍然无法100%清楚你在寻找什么,但下面是一个尝试回答:如何在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> 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