행렬 표현
Matrix representation매트릭스 표현은 컴퓨터 언어가 둘 이상의 차원을 메모리에 저장하기 위해 사용하는 방법이다.Fortran과 C는 기본 어레이에 서로 다른 체계를 사용한다.Fortran은 "Column Major"를 사용하며, 여기서 주어진 열에 대한 모든 요소가 메모리에 연속적으로 저장된다.C는 주어진 행의 모든 요소를 연속적으로 메모리에 저장하는 "Row Major"를 사용한다.LAPACK은 기억 속의 다양한 매트릭스 표현을 정의한다.스파스 매트릭스 표현과 모튼 순서 매트릭스 표현도 있다.문서에 따르면, LAPACK에서는 단일 매트릭스 표현이 최적화된다.[1][2]일리프 벡터를 사용하는 자바 스토어 매트릭스와 같은 일부 언어.이것들은 특히 불규칙한 행렬을 저장하는 데 유용하다.행렬은 선형대수에서 가장 중요하다.
기초수학연산
m × n (m by n으로 읽음) 순서 행렬은 m 행과 n 열로 배열된 숫자의 집합이다.같은 순서의 행렬은 해당 요소를 추가하여 추가할 수 있다.첫 번째 행렬의 열 수가 두 번째 행렬의 행 수와 같다는 조건인 두 행렬을 곱할 수 있다.따라서 m × n 행렬에 n × r 행렬을 곱하면 결과 행렬은 m × r 순서가 된다.[3]
행 연산이나 열 연산과 같은 연산은 행렬에서 수행될 수 있으며, 이를 통해 행렬의 역행성을 얻을 수 있다.역은 또한 부호를 결정함으로써 얻을 수 있다.[3]행과 열은 행렬의 다른 클래스다.
2D 어레이의 기본 사항
매트릭스의 수학적 정의는 배열의 개념이 되는 기본 출발점인 컴퓨팅과 데이터베이스 관리에서 응용프로그램을 찾는다.2차원 배열은 매트릭스처럼 정확히 기능할 수 있다.2차원 배열을 행과 열로 구성된 표로 시각화할 수 있다.
int a[3][4]
는 3행과 4열의 정수 배열을 선언한다.행의 지수는 0에서 시작하여 2까지 올라갈 것이다.- 마찬가지로 컬럼 인덱스는 0부터 시작하여 3까지 올라간다.[4]
0열 | 1열 | 2열 | 3열 | |
---|---|---|---|---|
0번 노를 젓다 | a[0][0] | a[0][1] | a[0][2] | a[0][3] |
1열로 | a[1][0] | a[1][1] | a[1][2] | a[1][3] |
2열로 | a[2][0] | a[2][1] | a[2][2] | a[2][3] |
이 표는 요소와 그 지수의 배열을 보여준다.
2차원 배열 초기화 중:초기 값 목록을 제공하여 2차원 배열을 초기화할 수 있다.
인트로 a[2][3] = {1,2,3,4,5,6};
또는
인트로 a[2][3] = {{2,3,4},{4,4,5}};
주소 계산
m×n 행렬(m×n 행렬)a[1...m][1...n]
) 여기서 행 인덱스는 1에서 m까지, 열 인덱스는 1에서 n까지 다양하며,a는ij i 행과th j 열의th 숫자를 나타낸다.컴퓨터 메모리에서, 모든 요소들은 연속적인 주소를 사용하여 선형적으로 저장된다.따라서 2차원 매트릭스 a를 저장하기 위해서는 2차원 주소공간을 1차원 주소공간으로 매핑해야 한다.컴퓨터의 메모리 매트릭스는 행-주요 순서 또는 열-주요 순서 양식에 저장된다.
3D 그래픽으로
3D 그래픽에서 일반적으로 사용되는 4×4 매트릭스의 표현 선택은 포장된 SIMD 지침이 있는 시스템의 매트릭스/벡터 작동 구현에 영향을 미친다.
행장조
행 주 행렬 순서로는 각 성분의 계수가 메모리에 순차적이기 때문에 도트 제품 연산을 사용하여 벡터를 변환하기 쉽다.따라서 프로세서가 기본적으로 도트 제품 작업을 지원하는 경우 이 레이아웃이 바람직할 수 있다.패딩이나 어색한 퍼머 없이 '3×4' 아핀 변환 매트릭스를 효율적으로 사용할 수도 있다.
칼럼 장조
column-major order로, 벡터의 구성요소가 각 SIMD 레인으로 브로드캐스트되는 경우, "매트릭스 × 벡터" 곱셈을 벡터화된 곱셈 연산을 통해 구현할 수 있다.또한 변환 매트릭스로 표현되는 기본 벡터는 메모리에 연속적이므로 개별 열 벡터로 쉽게 접근할 수 있다.
참고 항목
참조
- ^ "Representation of Orthogonal or Unitary Matrices". University of Texas at Austin. Retrieved 14 September 2011.
- ^ Lehoucq, R. (1996). "The Computation of Elementary Unitary Matrices". ACM Transactions on Mathematical Software. 22 (4): 393–400. doi:10.1145/235815.235817. hdl:1911/101830.
- ^ a b Ramana, B.V (2008). Higher Engineering Mathematics. New Delhi: Tata Mcgraw-Hill. ISBN 978-0-07-063419-0.
- ^ Balagurusamy, E (2006). Programming in ANSI C. New Delhi: Tata McGraw-Hill.