3-3. 삼각 행렬

Shy·2023년 6월 26일
0

자료구조

목록 보기
5/8

1. 삼각행렬의 정의

  • 삼각행렬은 행과 열의 수가 같은 정방행렬 중에서 대각 성분을 중심으로 한쪽이 모두 0인 행렬을 의미한다.
  • 정방행렬의 대각선 위나 아래의 모든 원소들이 0일 때 그 행렬을 삼각행렬(triangular matrix)이라 부른다.
  • n개의 행을 가진 하삼각 행렬A(i,j)에서 A[0,0]이 첫 번째로 저장된다고 할 때, 0이 아닌 i번째 행의 최대 원소의 수는 i+1이 되므로, i번째 행까지의 0이 아닌 항의 최대 원소의 수는 다음과 같다.

삼각행렬의 예

  • 하삼각 행렬(lower triangular Matrix)을 저장함에 있어 기억장소를 절약하기 위해 하삼각 행렬 부분만을 행우선 순서(row major order)로 저장하려고 한다. 즉 하삼각 행렬에서 원소 A[i,j],(i≥j)만을 행우선 순서로 저장한다. 이 때 6개의 행과 열을 가진 하삼각 행렬 A에서 A[0,0]이 첫 번째로 저장된다고 할 때, A[5,3]은 몇 번째로 저장될까?
  • 배열의 시작 위치가 A[0,0]이라는 점이다. A(i,j)의 주소는 다음과 같다.
  • 그러므로 위 식에 A[5,3]을 대입하면 19번째로 저장이 된다는 것을 알 수 있다.

삼각행렬 A[i,j]의 위치를 구하는 공식

A[0,0]기준:

A[1,1]기준:

profile
스벨트 자바스크립트 익히는중...

0개의 댓글