함수로써의 대각행렬, 대각성분
정의
대각성분
행렬에 대한 는 다음과 같이 행렬의 대각 성분으로 이루어진 벡터를 의미한다.
대각행렬
벡터에 대한 는 다음과 같이 벡터를 대각성분으로 갖는 행렬을 의미한다.
설명
대각행렬과 관계된 는 함수로써 봤을 때 두가지 정의가 공존한다. 문헌에 따라 정확히 같은 표기를 다른 방식으로 사용할 수 있으나, 차원을 계산해보면 헷갈릴 일이 없으니 걱정하지 않아도 된다.
프로그래밍 언어에서
다음은 매트랩 코드로, 인수가 행렬일 때와 벡터일 때 모두 눈치껏 사용될 수 있도록 두 함수 모두가 오버로딩overloading되어있다. 행렬이 들어가면 대각성분을 반환하고 벡터가 들어가면 대각행렬을 반환한다.
>> X
X =
1 4 7
2 5 8
3 6 9
>> diag(X)
ans =
1
5
9
>> Y
Y =
3
2
1
>> diag(Y)
ans =
3 0 0
0 2 0
0 0 1
julia> A = [
1 0 3
0 5 1
3 1 9
]
3×3 Matrix{Int64}:
1 0 3
0 5 1
3 1 9
julia> diag(A)
3-element Vector{Int64}:
1
5
9
julia> diagm([1,5,9])
3×3 Matrix{Int64}:
1 0 0
0 5 0
0 0 9