LU 분해

 

LU 분해란? 아래의 형태를 갖는 두 행렬의 곱으로 나누는 행렬분해

 

   A     =     L         U

| * * * |    | * 0 0 | | * * * |

| * * * | = | * * 0 | | 0 * * |
| * * * |    | * * * | | 0 0 * |

 

Ax = b 문제를 LU 분해를 이용해 나타내면

 

Ax = b => (LU)x = b => L(Ux) = b => Ly = b (단, Ux= y)

 

1) Forward-substitution(전방대치법) : y 구하기

 

| * 0 0 | | y₁ |    | * |   

| * * 0 | | ... |  = | * |
| * * * | | yn |    | * |

 

* x y₁ + 0 + 0 + 0 + ... + 0 = *

 

2) Back-substitution(후방대치법) : x 구하기

 

| * * * | | x₁ |     | y₁

| 0 * * | | ... |  = | ... |
| 0 0 * | | xn |   | yn |

 

LU 분해는 가우스 소거법의 forward elimination(전방소거법)을 행렬로 코드화 한 것이다.

 

L : 행렬 A를 전방소거하는데 쓰인 replacement와 scaling에 대한 EROs를 기록해 둔 행렬

U : 행렬 A를 전방소거한 후 남은 upper triangular matrix(상삼각행렬)

P : 행렬 A를 전방소거하는데 쓰인 interchange에 대한 EROs를 기록해 둔 행렬 (옵션)

 

LU 분해가 활용되는 이유

 

  • 수치적 안정성 : 선형시스템 Ax = b의 해를 역행렬 A^-1를 이용해 직접 구하는 것보다 PLU 분해를 이용하는 것이 좀 더 수치적으로 안정적이다.
  • b가 자주 업데이트되는 경우 : 선형 시스템 Ax = b에서 행렬 A는 고정되어 있고 b가 자주 변하는 문제가 종종 있다. 이런 경우, 행렬 A를 미리 PLU로 분해해 둔다면, b가 업데이트될 때마다 선형시스템의 해 x를 실시간으로 구할 수 있다.

행렬 표기법과 관련 용어

 

행렬(matrix)은 직사각형 구조에 숫자들을 담아 놓은 구조이다. 각 숫자들은 행렬의 요소(entry)라 부른다.

 

하나의 행 혹은 하나의 열을 가지는 특별한 행렬을 각각 행벡터(row vector), 열벡터(column vector)라 한다.

 

1x1 행렬은 스칼라(scalar)와 같다.

 

행렬의 주요 표기법

 

  • 행렬 A의 각 (i, j) - 요소는 aij로 나타낸다.
  • 행렬 A를 간략히 표기할 때는 A = [aij]로 나타낸다.
  • 행렬 A의 크기가 중요할 경우는 A = [aij]mxn로 나타낸다.

전치행렬

 

m x n 행렬 A에 대한 transpose matrix(정치행렬) A^T는 A의 행을 열로, A의 열을 행으로 가지는 n x m 행렬이다. 즉, (A^T)ij = (A)ji를 만족한다.


벡터 표기법

 

벡터는 볼드체 소문자로 표기한다.

     | x₁ | 

x = | x₂ |

     | ... |

 

  • 벡터는 일반적으로 열벡터(column vector)를 말한다.
  • n-벡터는 n개의 스칼라(scalar)로 구성된 벡터를 말한다.

영행렬 (Zero Matrices)

 

행렬의 모든 요소가 0이면, 해당 행렬을 영행렬(zero matrix)라고 하고 O로 표기한다.

 

A + O = O + A = A


n x n 행렬 : Square Matrix (정방행렬)

 

행과 열의 개수가 모두 n인 정사각형 모양의 행렬을 n차 정방행렬이라고 한다.


Identity Matrices (항등행렬)

 

주대각선(main diagonal)이 1이고 나머지 요소는 모두 0인 n차 정방행렬을 항등행렬이라 한다.

 

| 1 0 0 0 0 |

| 0 1 0 0 0 |

| 0 0 1 0 0 |

| 0 0 0 1 0 |

| 0 0 0 0 1 |


★ 행렬의 곱

 

ex) 

 

| 1 2 |               | 9 12 15 |

| 3 4 | | 1 2 3 | = | 19 26 33 |

| 5 6 | | 4 5 6 |    | 29 40 51 |

    A       B

 

행렬의 곱에서 반드시 숙지해야할 사항

 

  • 행렬 C의 각 요소 cij는 '곱의 왼쪽 행렬 A의 i번째 행벡터'와 '곱의 오른쪽 행렬 B의 j번째 열벡터'의 내적(inner product)이다.
    • 따라서, 두 행렬 곱 AB에 대해 A의 열 개수와 B의 행 개수는 일치해야 한다.
    • 일반적으로 AB ≠ BA이다. 왜냐하면 행과 열을 뽑아오는 방법이 다르기 때문이다.
  • 행렬곱은 병렬처리(parallel processing)로 가속할 수 있다.

스칼라, 벡터, 행렬, 그리고 텐서 : 계층적 구조 이해하기

 

스칼라

 

숫자 하나로 구성되어 있다.

 

7

 

이 스칼라를 벡터로 표현하면 아래와 같이 1개의 구성요소로 이뤄진 1-벡터가 된다.

 

[7]

 

이 스칼라를 행렬로 표현하면 아래와 같이 1개의 구성요소로 이뤄진 1x1 행렬이 된다.

 


벡터

 

벡터는 여러 숫자가 일열로 늘어선 구조이다.

 

 

이 벡터를 행렬로 표현하면 다음과 같이 여러 모양의 행렬로 표현할 수 있다.

 


행렬

 

행렬은 사각형 구조에 여러 숫자가 행과 열로 늘어선 구조이다.

 

 

이 행렬은 다음과 같이 6-벡터로 표현할 수 있다.

 


텐서(Tensor)

 

텐서는 스칼라, 벡터, 행렬을 아우르는 개념이다. 숫자가 늘어설 수 있는 방향이 k개면 k-텐서로 부른다.

 

  • 0-텐서 : 스칼라
  • 1-텐서 : 벡터
  • 2-텐서 : 행렬

만일 아래의 T의 각 요소 P(i,j)가 벡터라면, T는 3-텐서로 볼 수 있다.

 

3-텐서의 대표적인 예 = 컬러영상

 

P(i,j)가 3-벡터면 RGB 영상, 4-벡터면 RGBA 영상을 나타낸다고 볼 수 있음.


분할행렬(Partitioned Matrix)

 

행렬을 조각(partiton) 단위로 분할하여 생각해도 무방하다.

행렬은 부분행렬(submatrix)로 이뤄진 직사각형 구조로 확장해서 생각할 수 있다.

 

이렇게 행렬을 구조적으로 보는 방법을 분할행렬(partitoned matrix) 또는 블록행렬(block matrix)이라 한다.

 

그림 출처 : m.blog.naver.com/PostView.nhn?blogId=martinok1103&logNo=221490622026&proxyReferer=https:%2F%2Fwww.google.com%2F

행렬벡터의 예 (특히 세 번째 경우, 열 벡터를 행 방향으로 늘이는 것이 자주 쓰인다.)

 

분할행렬로 행렬의 곱 이해하기

 

두 행렬 곱 AB = C를 아래와 같이 matrix-column vector products로 볼 수 있다.

 

AB = A [ b₁ b₂ ... bn ] = [ Ab₁ Ab₂ ... Abn ] = C

 

ex)

 

| * * * | | * * |    | * * |

| * * * | | * * | = | * * |

          | * * |    

      A [ b₁ b₂ ] = [ Ab₁ Ab₂ ]

 

두 행렬의 곱 AB = C를 아래와 같이 row vector-matrix products로도 볼 수 있다.

 

       | a₁ |        | a₁B | 

AB = | a₂ | B =  | a₂B | = C

        | ... |        |  ...  |

        | an |       | anB |

 

| * * * | | * * |    | * * |

| * * * | | * * | = | * * |

          | * * |

       | a₁ | B = | a₁B |

       | a₂ |      | a₂B |


선형조합(Linear Combination) : Ax는 A의 열벡터에 대한 선형조합

 

행렬은 열벡터의 리스트이다.

 

 

각 열벡터는 m-벡터이기 때문에, m x n 행렬은 m-벡터가 n개 있다 해석하면 된다.

 

행렬 @ 벡터

 

Ax는 행렬 A가 가지고 있는 열벡터의 선형조합이다.

 

선형대수에서는 이처럼 벡터들에 대한 가중치 합을 선형조합(linear combination)이라 부른다.


Column Space(열공간)

 

행렬 A의 열벡터들에 대한 가능한 모든 선형조합의 결과를 모아 집합으로 구성할 때, 이 집합을 column space(열공간)이라 하고 다음과 같이 표기한다.

 

col(A)

 

선형시스템 Ax = b가 해를 가지면(consistent), 다음을 만족한다.

 

b∈col(A)

 

선형시스템 Ax = b가 해가 없으면(inconsistent), 다음을 만족한다.

 


좌표계 변환 (Change of Basis)

 

벡터의 표현

 

벡터의 물리적 표현 (좌표계 없는 표현)

 

벡터 v를 화살표로 표현

  • v의 크기 : 화살표의 길이
  • v의 방향 : 화살표의 방향

 

벡터의 수학적 표현 (좌표계 있는 표현)

 

좌표계를 도입한 후, 벡터의 시작점을 원점맞추고 끝점의 위치를 벡터 v의 수학적 표현으로 정의한다.

  • v의 크기 : 화살표의 길이를 계산
  • v의 방향 : 화살표의 방향을 벡터로 표현

 

다음과 같이 2-벡터 v가 주어졌다고 하자.

이 벡터는 xy 평면 상 원점 (0,0)에서 시작하여 (a,b)에서 끝나는 벡터를 의미한다.

 

v = | a | = | 1 0 | | a | = a | 1 | + b | 0 |

     | b |    | 0 1 | | b |      | 0 |       | 1 |

                              x축으로   y축으로

                               내린         내린

                             수선의 발  수선의 발 

 

두 벡터 v₁과 v₂를 이용해 새롭게 좌표계를 만들면 v의 좌표값은?

그림출처 : 프로그래머스 스쿨

 

새롭게 좌표계를 만든다는 말은 어떤 v에 도착하기 까지의 과정을 오롯이 v₁과 v₂를 몇 번 사용해 도착했는지 표현한다는 의미이다.

즉, v의 좌표값은 (4,3)이라고 한다.

 

4v₁ + 3v₂ = v 

 

이 과정을 행렬로 표현하면 다음과 같다.

 

| v₁ v₂ | | 4 | = | 1 0 | | v | = | a |

          | 3 |    | 0 1 |          | b |

 

v₁을 4번 써서 전진하고,

v₂를 3번 써서 전진했을 때

v라는 지점에 도착했다.

 

| v₁ v₂ | | 4 | = | e₁ e₂ | | a |

          | 3 |               | b |

 

우항 : e₁과 e₂를 기저(basis)로 가지는 표준좌표계(standard coordinate system)(x축과 y축)에서 벡터 v의 좌표값은 (a, b)이다.

좌항 : v₁과 v₂를 기저로 가지는 좌표계(coordinate system)에서 동리한 벡터 v의 좌표값은 (4, 3)이다.


선형시스템 문제를 좌표계 변환으로 바라보기

 

Ax = b

 

좌항 : A의 열벡터들을 기저로 가지는 좌표계에서는 동일 벡터의 좌표값은 x이다.

우항 : 표준좌표계에서 어떤 벡터의 좌표값은 b이다.

 

역행렬을 이용해 선형 시스템의 해를 구하는 문제를 좌표계 변환으로 바라보기

 

x = (A^-1)b

 

좌항 : 표준 좌표계에서 어떤 벡터의 좌표값은 x이다.

우항 : A^-1의 열벡터들을 기저로 갖는 좌표계에서는 동일 벡터의 좌표값은 b이다.

 

즉, 임의의 벡터(좌표값)는 다양한 좌표계에서 표현될 수 있다. (좌표계에 따라 다르게 표현될 수 있다.)


선형변환 (Linear Transformation)

 

함수(Functions)란?

 

초등 교과과정에서의 개념

 

상자(함)에 입력(input)이 들어가면 어떤 기능을 수행한 후 출력을 뱉어내는 블랙박스(black box)이다.

그림출처 : ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98

함수

 

중등 교과과정에서의 개념

 

함수는 두 집합 간의 맵핑룰(mapping rule)이다.

그림출처 : ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98

함수

 

왼쪽에 입력이 정의되는 집합을 D, domain(정의역)이라 한다. 출력이 정의되는 집합을 C, codomain(공역)이라 하며, codomain 중 실제 함수의 출력이 나오는 부분 집합은 range(치역)이라 한다.

함수 f는 아래 그림과 같이 D의 각 원소 x가 C의 한 원소 y(=f(x))에 대응되는 매핑룰이다. ( f : D -> C )

 


선형함수(linear function)

 

만일 함수 f가 아래 두 가지 조건을 만족하면 함수 f를 선형함수라 한다. (굳이 그리지 않아도 알 수 있다)

 

f(x+y) = f(x) + f(y)

f(cx) = cf(x) (단, c는 임의의 스칼라)

 

  • 임의의 두 입력에 대해 ' + 연산을 먼저 수행한 결과를 함수 입력으로 넣고 함수를 수행한 결과'와 '각 입력에 대해 함수를 수행한 후 나온 결과에 대해 + 연산을 수행한 결과'는 같다.
  • 임의의 입력에 대해, '스칼라 곱셈 연산을 먼저 수행한 다음 함수를 수행한 결과'와 '입력에 대해 함수를 수행한 후 나온 결과에 대해 스칼라 곱셈 연산을 수행한 결과'는 같다.

선형변환(linear transformation)

 

함수의 입력이 n벡터이고 출력이 m벡터인 함수 T가 있다고 하자. 

이처럼 함수의 입출력이 벡터인 함수를 변환(transformation)이라 한다.

 

T : R^n -> R^m

 

n=m인 경우, 해당 변환을 연산자(operator)라 한다.

 

ex) MNIST 손글씨 인식

 

28x28 해상도의 손글씨 숫자영상을 그레이스케일로 받아, 0부터 9까지 어떤 숫자가 적혀있는지 알아내는 MNIST 손글씨 인식 문제는 다음과 같은 (비선형) 변환이다.

 

T : R^28 -> R^10

 

m x n 행렬 A에 대해 Ax는 n벡터를 입력으로 받아 m벡터를 출력으로 내는 변환 

로 볼 수 있다. 이 변환은 행렬이 정의하기 때문에 행렬변환(matrix transformation)이라고 한다.

그런데 행렬변환은 선형함수 성질을 모두 만족하기 때문에 선형변환(linear transformation)이다.

단, x, y ∈ R^n이고 c는 임의의 스칼라다.

 

정리하자면, 임의의 선형변환은 행렬로 표현 가능하다. 즉, 행렬은 선형변환의 구현체이다.


행렬변환 코딩하기

 

  1. 구현하고자 하는 기능(function)의 입력과 출력이 벡터로 정의되는지 확인한다.
  2. 구현하고자 하는 기능이 선형인지 확인한다.
  3. 입력이 n벡터이고 출력이 m벡터이면 m x n 표준행렬(standard matrix)을 구성한다.

 

표준행렬(standard matrices) 구하기

 

  • n차원 표준기저벡터 { e₁, e₂, ..., en }를 생각한다.
  • 각 n차원 표준기저벡터 ei에 대해 우리가 원하는 기능을 동작시켜 얻은 결과인 m차원 벡터 T(ei)를 표준행렬의 각 열에 적는다. 

 

ex) 2차원 벡터를 입력으로 받아, 해당 벡터를 x축에 프로젝션하는 기능을 구현하기 (가령, (3,2)를 지나는 벡터를 x축에 프로젝션한다고 하면 결과값으로 (3, 0)이 나오게 하도록 한다.)

 

첫 번째, 입력과 출력이 벡터로 정의되는가? ( O )

두 번째, 구현하고자 하는 기능이 선형인가? ( O ) 

세 번째, 입력이 2벡터이고 출력이 2벡터이다. 따라서 2x2 표준행렬이 구성 가능하다.

 

 

즉, | 1 0 | 이 선형변환 코딩의 함수 코드라는 것이다. 

    | 0 0 |

 

ex) 2차원 벡터를 입력으로 받아, 해당 벡터를 반시계방향으로 Θ만큼 회전하는 기능을 구현해 보자.

 

이처럼 내가 원하는 행렬을 표준행렬로 구할 수 있다.

아주 간단한 형태의 선형시스템의 독특한 경우

 

ex 1) 해가 없는 경우 (no solution)

 

0x = 6

 

ex 2) 해가 여러 개인 경우 (infinitely many solutions)

 

0x = 0

 

  • a = 0이면 특이하다.
    • ax = b의 해가 곧장 나오지 않는다.
    • a의 역수(inverse)가 존재하지 않는 경우, a가 특이(singular)하다고 한다.
  • 해가 있으면 선형시스템이 consistent하다고 한다.
  • 해가 없으면 선형시스템이 inconsistent하다고 한다.

 

선형 시스템 Ax = b의 경우

 

ex 1) 해가 하나인 경우 (unique solution)

 

x + 3y = 2

-2x + y = 3

 

=> x = -1, y = 1

 

ex 2) 해가 없는 경우 (no solution)

 

x + 3y = 2

2x + 6y = 5

 

=> 미지수 계수 행렬의 역행렬이 존재하지 않는 singular 행렬이다.

 

ex 3) 해가 여러 개인 경우 (infinitely solutions)

 

x + 3y = 2

2x + 6y = 4

 

=> 위의 케이스처럼 역행렬이 존재하지 않는 singular 행렬이다.

 

  • A의 역행렬(inverse matrix)이 존재하지 않는 경우, A가 특이(singualr)하다고 하다.
  • 해가 있으면 선형시스템이 consistent하다고 한다.
  • 해가 없으면 선형시스템이 inconsistent하다고 한다.

가우스 소거법

 

Gauss elimination이란? 임의의 m x n 선형시스템의 해를 구하는 가장 대표적 방법

 

가우스 소거법의 두 단계

 

  1.  Forward elimination(전방소거법) : 주어진 선형시스템을 아래로 갈수록 더 단순한 형태의 선형방정식을 가지도록 변형한다.
  2. back-substitution(후방대입법) : 아래에서부터 위로 미지술르 실제값으로 대체한다.

 

ex )

 

주어진 선형시스템

 

| 1 2  1 | | x |    |  1 |

| 1 2  3 | | y | = |  3 |

| 2 3 -1 | | z |    | -3 |

 

x + 2y + z = 1 ---- E₁

x + 2y + 3z = 3 ---- E₂

2x + 3y -z = -3 ---- E₃

 

Forward Elimination(전방소거법) 수행 후

 

| 1 2 1 | | x |    | 1 |

| 0 1 3 | | y | = | 5 |

| 0 0 1 | | z |    | 1 |

 

E₂ <- E₂ - E₁

 

  x + 2y + z = 1

- x + 2y + 3z = 3

=> 2z = 2

 

E₃ <- E₃ - 2E₁

 

  2x + 3y - z = -3

- 2x + 4y + 2z = 6

=> - y - 3z = -5

 

E₂ <-> E₃

 

x + 2y + z = 1 ---- E₁

    - y - 3z = -5 ---- E₂

            2z = 2 ---- E₃

 

E₂ <- -E₂

 

y + 3z = 5 

 

E₃ <- 1/2 E₃

 

z = 1

 

Forward elimination 정리하면...

 

  • 1행 1열을 기준(pivot)으로 잡기
  • r₂ <- r₂ - r₁
  • r₃ <- r₃ - 2r₁
  • 2행 2열을 기준(pivot)으로 잡기
  • r₂ <-> r₃
  • r₂ <-  - r₂
  • 3행 3열 기준(pivot)으로 잡기
  • r₃ <- 1/2 r₃

 

 

Back-substitution(후방대치법) 수행 후

 

1)

z = 1

 

2)

y + 3z = 5

y + 3 = 5

∴ y = 2

 

3) 

x + 2y + z = 1

x + 4 + 1 = 1

x = -4

 

말그대로 뒤에서부터 대치해가며 미지수의 값을 풀어가는 굉장히 쉬운 방법


소거법에 쓰이는 Elementary Row Operations (EROs, 기본행연산)

 

  • Replacement(치환)
    • ex) r₂ <- r₂ - mr₁
    • 1번째 행을 기준행인 1번째 행을 m배해서 빼서 업데이트한다.
  • Interchange(교환)
    • ex) r₂ <-> r₃
    • 2번째 행과 3번째 행의 위치를 서로 바꾼다.
  • Scaling(스케일링)
    • ex) r₂ <- sr₂
    • 2번째 행을 s배 스케일링한다. 

★ 전방소거법의 가치

 

  • 주어진 선형시스템을 가장 풀기 쉬운 꼴로 변행해준다.
    • Upper triangular form(상삼각형태)
    • | * * * | | x |    | * |
      | 0 * * | | y | = | * |
      | 0 0 * | | z |   | * |
  • 주어진 선형시스템의 rank(랭크)를 알려준다.
    • 의미 있는 식의 갯수를 rank라고 생각하면 된다.
  • 선형시스템이 해가 있는지(consistent) 아니면 해가 없는지(inconsistent) 알려준다.

numpy의 Container, array

 

행렬 선언 

 

arr = np.array([1,2,3]) 

 

Array의 차원 알아보기

 

arr.shape


선형 시스템 (Linear System) 

= 연립일차방정식

 

아주 간단한 예시..

 

1)

 

3x = 6

=> 1/3*(3x) =1/3*62

=> x=2 

 

2)

 

3x + y = 2 --- E₁

x - 2y = 3 --- E₂

 

     6x + 2y = 4 --- 2*E₁

+    x  - 2y = 3

--------------------

     7x        = 7

 

∴ x = 1, y = -1


선형대수의 목표

 

어떠한 선형시스템의 문제라도 정형적인 방법으로 표현하고 해결하는 방법을 배우는 것

 

3x + y + z = 4

x - 2y - z = 1

x + y + z =2

 

위 방정식들 각각은 Linear equation(선형 방정식)이라고 한다.

 

Linear의 의미는 선의 형태라는 것이다.

x, y, z를 그래프상 그려봤을 때 직선으로 그어진다 OR 올곧게 그려진다면 선형 방정식이라고 할 수 있다.

 

풀기 전까지는 모르는 x, y, z는 미지수(unknown 혹은 variable(변수))라고 한다.

 

위의 식과 같이 3개의 linear equation과 3개의 unknowns로 구성된 연립일차방정식을 3x3 linear system이라고 한다.

 

(식의 개수x미지수의 개수) linear system

 

예시를 보면서 NxM 선형 시스템의 개념에 대해 더 잘 이해해 보도록 하자.

 

ex 1)

 

3x + y + z = 4

x - 2y - z = 1

 

=> 식의 개수는 2개, 미지수는 x, y, z 3개로 2x3 선형 시스템이다.

 

ex 2)

 

2x + y =3

 

=> 식의 개수는 1개, 미지수는 x, y 2개로 1x2 선형 시스템이다.

 

ex 3)

 

3x + y = 2

x - 2y = 3

2x - 4y = 6

 

=> 식의 개수는 3개, 미지수는 x, y 2개로 3x2 선형 시스템이다.

 

ex 4)

 

sin x + y = 2

 

=> 그래프의 형태가 이미 곡선으로 그려지기 때문에 비선형 방정식(non-linear equation)이다.

 

ex 5)

 

3x + y³ = 2

 

=> 미지수의 차수가 1 이상이므로 곡선의 형태를 띄게 되기 때문에 비선형 방정식(non-linear equation)이다.

 

ex 6)

 

xy + z = 3

 

=> x와 y가 곱해지는 형태가 이뤄지면서 unknown 자체의 차수가 2가 되므로 비선형 방정식(non-linear equation)이다.

 


선형 시스템의 표현 : Ax = b (연립일차방정식의 대수적 표현)

 

Ax = b로 표현하기

 

  1. 선형 시스템의 unknowns(미지수)를 모아 column vector(열벡터) x로 표현한다.
  2. 선형 시스템의 linear equation(선형방정식)에 대해 다음을 수행한다.
    • coefficients(계수)를 모아 A의 row vector(행벡터)로 표현한다.
    • constant(상수)를 모아 b에 표현한다.

ex)

 

3x + y = 2

x - 2y = 3

2x - 4y = 6

 

        A                 x      =        b

  

 

m x n 선형 시스템의 Ax = b 표현을 정리하면...

 

  • 식은 행이고, 행은 식이다. (linear equation <-> row)
  • m은 linear equation(선형방정식)의 개수이다.
  • n은 unknown(미지수)의 개수이다.
  • A는 m x n 행렬이다.
  • x는 n-벡터이다.
  • b는 m-벡터이다.

 

 

Jupyter Notebook

두 가지 셀 모드

 

초록색 테두리 : 입력 모드 (Enter)

파란색 테두리 : 명령 모드 (Esc)

 

두 가지 셀

 

Code Cell : Python3를 실행할 수 있는 Cell

Markdown Cell : Markdown을 작성할 수 있는 Cell

 

자주 쓰이는 단축키

 

M : Markdown 셀로 바꾸는 것

Y : Code 셀로 바꾸는 것

Above를 통해 현재 Cell 위 새로운 Cell 추가

Below를 통해 Cell 아래 새로운 Cell 추가

dd : Cell 삭제

ctrl/cmd + Enter를 통해 현재 Cell 실행

 


Markdown

 

마크다운이란? 일반 텍스트로 서식이 있는 문서를 작성하는 방법

 

  1.  Header (#, ##, ###, ... ) H6까지 있다. 
  2.  Italic (* ... *, _ ... _) 
  3. Bold (** ... **, __ ... __)
  4. Strikethrough (~ ... ~)
  5. Unordered List (- ... / * ...)
  6. Ordered List (1. ... 2. ... 3. ...)

+ Recent posts