줄리아에서 고차원 배열 직접 정의하는 방법

줄리아에서 고차원 배열 직접 정의하는 방법

How to Directly Define a High Dimensional Array in Julia

설명

1차원 배열(벡터)은 다음과 같이 정의한다.

julia> A = [1; 2; 3]
3-element Vector{Int64}:
 1
 2
 3

여기서 ;는 첫번째 차원을 기준으로 다음 성분으로 넘어간다는 의미를 갖는다. 이의 일반화로 ;;는 두번째 차원을 기준으로 다음 성분으로 넘어가는 의미를 갖는다.

julia> A = [1; 2; 3;; 4; 5; 6]
3×2 Matrix{Int64}:
 1  4
 2  5
 3  6

같은 방법으로 3차원 이상의 배열을 정의할 수 있다. 참고로 이 코드는 줄리아 버전 1.7이상부터 가능하다.

julia> A = [1 2; 3 4;;; 5 6; 7 8]
2×2×2 Array{Int64, 3}:
[:, :, 1] =
 1  2
 3  4

[:, :, 2] =
 5  6
 7  8

julia> A = [1 2; 3 4;;; 5 6; 7 8 ;;;; 9 10; 11 12;;; 13 14; 15 16]
2×2×2×2 Array{Int64, 4}:
[:, :, 1, 1] =
 1  2
 3  4

[:, :, 2, 1] =
 5  6
 7  8

[:, :, 1, 2] =
  9  10
 11  12

[:, :, 2, 2] =
 13  14

환경

  • OS: Windows10
  • Version: Julia 1.7.1
댓글