행렬, 그것들은 무슨 좋은 점이 있습니까?

《매트릭스》(1999)는 공상 과학 영화로 현실의 개념을 탐구했다. 왜냐하면 우리는 그것이 일종의 모의 체험이라는 것을 알고 있기 때문이다.
자, 이제 우리는 크림에 대해 토론을 시작할 수 있다.행렬이 무엇인지, 우리는 왜 그것들을 사용하고, 우리는 그것들을 사용하여 무엇을 합니까?
우리가 프로그래밍에서 행렬에 대한 많은 첫 소개는 알고리즘 연습과 관련이 있는데, 통상적으로 우리가 플러그인 데이터 구조에 대한 이해를 시험하기 위해서이다.그것은 이미 거기에 멈췄을 것이다.따라서 때때로 우리가 개념과 유일하게 상호작용하는 것이 학술적 언어 환경일 때 헛되고 무의미하게 이해하기 어려울 수도 있다.그래서 나는 그들의 목적, 특히 실천에서 더욱 탐색하고 싶다.
가장 간단하게 말하자면, 행렬은 데이터를 나타내는 방식이다.데이터는 일반적으로 어떤 방식으로 숫자이다. 그것은 숫자, 기호, 표현식일 수 있다.다음과 같이 메쉬 또는 2D 패턴으로 표시됩니다.
[ [ -1, -1, -1 ],
  [ -1,  9, -1 ],
  [ -1, -1, -1 ] ]
보시다시피 우리는 세 개의 수조로 구성된 수조가 있습니다. 각 수조는 행렬의 한 줄입니다. 각 수조는 세 개의 원소로 구성되어 있습니다.3x3 격자, 총 9개의 원소.더 잘 평가하기 위해서 우리는 몇 가지 기본 지식을 복습합시다.오른쪽 상단의 요소에 접근하려면 첫 번째 줄(row = 0을 방문하고 0 인덱스를 사용), 세 번째이자 마지막 요소(column = 2 또는 matrix[0][2]를 사용합니다.센터 요소 9 에 액세스하려면 두 번째 행의 두 번째 요소 또는 matrix[1][1] 에 액세스합니다.
본질적으로 몇 줄과 몇 열의 집합이다.이게 뭐가 특별해?응, 어떤 데이터 구조와 마찬가지로 그 힘은 그 이용 방식에서 나온다.특수한 유형을 제외하고 행렬의 비트는 고정되어 있기 때문에 그 중의 데이터가 변화할 수 있지만 크기가 3x3인 행렬(예를 들어 상기 행렬)은 3x3 행렬이 될 것이다.포함된 데이터도 어떤 방식으로 관련된다.물론, 이 행렬을 직접 실행하면, 한 줄이나 열을 삭제하거나, 무작위 데이터를 삽입할 수 있습니다.그러나 이것은 그것을 시대에 뒤떨어지게 할 것이다. 그렇지?추상적일 수도 있지만 행렬이 이런 이유는 특정한 목적을 위해 서비스하기 때문이다. 이것은 일반적인 데이터 구조의 아름다움이다.
매트릭스 구조의 장점 중 하나는 선형 변환을 응용할 수 있다는 것이다.찾은 선형 변환의 정의를 사용합니다here.

"A linear transformation is a function from one vector space
to another that respects the underlying (linear) structure of each vector space"


이 점을 둘러싸고 많은 수학 지식, 특히 선형 대수가 있는데, 다음은 내가 좀 더 읽을 수 있도록 링크를 제공할 것이다.그러나 이것은 본문의 범위 내에 있지 않다.간단하게 말하면 선형 매핑으로 간소화할 수 있는 조작은 처리 행렬의 완벽한 응용이다.이 간단한 예를 고려하다.

복잡성과 실용성으로 이 생각을 확장합시다.픽셀로 표시되는 디지털 이미지 파일이 있습니다.이러한 픽셀은 메쉬 (행렬) 에 표시됩니다.우리는 그림의 모든 픽셀이 어느 정도 변화하기를 바란다. 아마도 우리는 그림이 더욱 밝기를 원할 것이다.픽셀은 일반적으로 빨간색, 파란색, 녹색 채널의 조합을 나타내며 채널당 값은 0-255입니다.숫자 공간에서 색상은 더하기 - 따라서 값이 높을수록 색상이 포화되고 밝아집니다.밝기 필터는 더 복잡할 수 있지만, 우리의 이익을 위해서, 우리는 단지 매 rgb 값을 증가시키려고 한다.우리 어디 가는지 봤어?각 값은 행렬을 고정 단위로 변경해야 합니다 - 30.선형영사-매트릭스 덧셈의 일종!
상술한 상황에 대해 행렬은 도형 처리에서 커다란 지위를 가지고 있다.이미지 회전, 색상 필터, 왜곡, 배율, 볼륨* 등 다른 작업에 사용할 수 있습니다.2D 이미지에만 국한되지 않으며 3D 그래픽 렌더링에서도 유용합니다.비록 도형은 행렬의 주요 응용이지만 이것에만 국한된 것은 아니다. 도형은 일종의 데이터 구조이기 때문에 데이터의 일반적인 전환, 분석과 표시에 매우 유용하다.
그 핵심은 그 구조 때문에 행렬로 표시된 데이터는 다른 복잡한 조작을 매우 효율적으로 할 수 있다는 것이다.Larry Hardesty가 매트릭스 응용 프로그램MIT News article에서 지적한 바와 같이

"...that points to one of the reasons that matrices are so common in computer science: They allow computers to, in effect, do a lot of the computational heavy lifting in advance. Creating a matrix that yields useful computational results may be difficult, but performing matrix multiplication generally isn’t."


이것은 크림을 휘저어 뿌리는 것이다.우리 인류는 필요한 대량의 대뇌 작업을 하고 그것을 컴퓨터에 전달하여 우리를 위해 진정으로 튼튼한 야만인의 일을 할 수 있을 뿐이다.
물론 이것은 모두 정확한 도구를 사용하여 일을 완성하는 것에 관한 것이다.매트릭스를 자주 사용하지 않아도 될 수도 있고, 대량으로 사용할 수도 있습니다.만약 후자라면, 너는 틀림없이 그것들의 존재를 매우 기쁘게 할 것이다.
링크:
  • Matrix Wiki

  • Linear Transformations - 내 정의
  • 와 동일한 링크

  • Basic Matrix Operations + Resources Working with JS - 제가 재킷 사진을 받은 곳이에요!

  • - 재생 목록의 첫 번째 비디오부터

  • - 댄 시프만에게 경의를 표합니다!
  • MIT Article on Matrix Application

  • convolution*-p5에서 이미지 볼륨 예시의 파렴치한 삽입.내가 이식한 js 사용 행렬!
  • <3, 즐거움 인코딩 사용!

    좋은 웹페이지 즐겨찾기