Posts by Category

Mathematics

곱이 최대가 되도록 주어진 수를 분할하는 방법

나는 초등학교 때 수학 학원에 다녔다. 이때는 교과과정 선행학습 대신 사고력 문제와 퍼즐 등을 위주로 공부했다. 단골 주제는 정수론과 조합론이었다. 이때는 삼각함수, 로그함수나 미적분 같은 것은 전혀 몰랐지만, 정수론과 조합론 실력은 글을 쓰고 있는 지금의 나보다도 나았을 것으로 ...

왼쪽 역함수와 오른쪽 역함수

어떤 함수의 역함수는, 원래의 함수가 하는 일을 거꾸로 되돌리는 함수이다. 즉 함수 $f$의 역함수를 $g$라고 했을 때, $f(x) = y$라면 $g(y) = x$이며, 이것의 역도 성립한다.

아인슈타인 표기법과 einsum 함수

아인슈타인 표기법(Einstein notation)은 첨자가 있는 값들의 합을 편리하게 나타내는 표기 방법이다. 이 표기법에 따라 계산하는 함수인 einsum은 NumPy, PyTorch 등의 파이썬 라이브러리에서 지원한다. 이 함수를 사용하여 복잡한 연산을 간결하게 나타낼 수 있...

라그랑주 승수법(Method of Lagrange Multipliers)

이 글에서 이계도함수 판정법을 사용하여 극값을 찾는 방법에 대해 설명하였다. 그러나 실제 많은 문제에서는 함수의 정의역 전체가 아니라 특정한 제한 조건을 만족하는 영역 내에서의 극값을 찾는 것을 필요로 한다. 대표적인 예가 제한조건이 있는 최적화(constrained optimiz...

미분가능한 함수의 극값 탐색

함수의 극값 또는 최댓값을 구하는 것은 여러 분야에서 중요한 문제이다. 일반적인 함수에서 극값이나 최댓값, 최솟값을 찾는 것은 어려운 일이나, 충분히 미분가능한 함수의 경우 미분을 활용하여 수월하게 찾을 수 있다. 이 글에서는 미분을 사용하여 함수의 극값을 찾는 방법에 대해 알아볼...

곱의 미분법(Product Rule)

곱의 미분법(product rule)은 두 미분가능한 함수의 곱의 미분가능성과 도함수를 알려주는 정리이다. 여기서 ‘곱’은 실수 간의 곱셈 뿐 아니라 벡터 간의 내적(dot product)와 외적(cross product)까지 포함한다. 연쇄법칙(chain rule)과 함께 복잡한...

연쇄법칙(Chain Rule)

연쇄법칙(chain rule)은 합성함수의 미분가능성과 도함수의 형태를 제시하는 정리이다. 곱의 미분법(product rule)과 함께 복잡한 형태의 함수를 미분하는 데 활용되는 정리이다.

Back to top ↑

Computer Science

아인슈타인 표기법과 einsum 함수

아인슈타인 표기법(Einstein notation)은 첨자가 있는 값들의 합을 편리하게 나타내는 표기 방법이다. 이 표기법에 따라 계산하는 함수인 einsum은 NumPy, PyTorch 등의 파이썬 라이브러리에서 지원한다. 이 함수를 사용하여 복잡한 연산을 간결하게 나타낼 수 있...

Back to top ↑

Diary

SciPy 패키지에서 발견한 황당한 버그

크기가 매우 큰 희소행렬(sparse matrix)에 대해 SciPy 패키지의 scipy.sparse.linalg.svds 함수를 사용하여 특이값 분해(SVD)를 계산하던 중 이상한 버그를 발견했다. 행렬의 크기가 $(65536, 65536)$이었는데, 함수는 입력된 행렬이 비어 ...

Back to top ↑