분류 전체보기 107

[프로그래머를 위한 선형대수] 3. 컴퓨터에서의 계산(1) - LU분해로 가자

# 3.3 LU 분해# 3.3.1 정의$A = LU$주어진 행렬 $A$에 대해 $A$를 하삼각행렬 $L$와 상삼각행렬 $U$의 곱으로 나타내는 것을 의미한다. # 3.3.2 분해하면 뭐가 좋나요?LU분해를 하면, L이나 U의 형태를 이용해서 행렬식을 구하거나, 일차방정식을 풀거나 하는 것이 간단해진다.즉, 적은 계산량으로도 가능하다는 뜻이다. 처음에 시간을 들여 분해를 해놓으면 나중에 편해지기 때문에 기본 부품으로 널리 사용되는 것이다.# 3.5 행렬식을 LU 분해로 구하다$det(A) = det(LU) = (det(L))(det(U))$하삼각행렬과 상삼각행렬의 행렬식은 대각성분의 곱이고$det(L) = 1$이기 때문에 $det(A) = (U의 대각성분의 곱)$이다.참고로, $U$ 역시 대각성분의 값들이..

[프로그래머를 위한 선형대수] 4. 고윳값, 대각화, 요르단 표준형

# 4.1 문제 설정: 안정성$x(t) = Ax(t-1)$어떤 초기값 $x(0)$에서 시작해도 $x(t)$는 유한의 범위에 머무는가(폭주x)?운이 나쁜 초기값 $x(0)$에서 시작하면 $x(t)$의 성분이 무한대까지 치우쳐 버리는가(폭주)? 즉, 다시 말해서 특정 $x(0)$값에 대해서 $x(t)$의 성분이 폭주하는지 아닌지를 판정하는게 과제이다.# 4.2 1차원의 경우$A$가 1차원인 경우부터 생각해보자 (구체적인 예시) $x(t) = 7x(t-1)$$x(t) = 7x(t-1) = 7*7x(t-2) = 7*7*7x(t-3) = ... = 7^tx(0)$>>> 폭주$x(t) = 0.2x(t-1)$$x(t) = 0.2x(t-1) = 0.2*0.2x(t-2) = 0.2*0.2*0.2x(t-3) = ... =..

[프로그래머를 위한 선형대수] 2. 랭크, 역행렬, 일차방정식 | # 2.1 역문제, # 2.2 성질이 좋은 경우(정칙행렬), # 2.3 성질이 나쁜 경우

# 2.1 역문제물리적인 구조(시스템)를 고찰하거나, 입출력을 관측하여 추정하면 위의 행렬 A를 아는 것은 가능하다.원인 $x$를 알고 결과 $y$를 예측할 수 있다는 뜻이다. (순문제)그러나, 반대로 결과 $y$를 알고 원인 $x$을 추측하고 싶은 경우가 있는데 이를 역문제라고 한다.예를 들어, 지표의 중력 분포(결과)를 통해 지중의 자원분포(원인)을 추측하거나,열화된 영상(결과)을 통해 원래 영상(원인)을 추측하는 경우이다. # 2.2 성질이 좋은 경우 (정칙행렬)# 2.2.1  정칙성과 역행렬정칙행렬: 역행렬이 존재하는 정방행렬 A특이행렬: 정칙이 아닌 행렬 연립일차방정식을 계산하는 방법은 크게 두가지가 존재한다 (1) 변수 소거법 (2) 가우스-요르단 소거법변수 소거법은 '방정식 한 개를 사용해 ..

[프로그래머를 위한 선형대수] 1. 벡터, 행렬, 행렬식 | # 1.3 행렬식과 확대율

# 1.3 행렬식과 확대율# 1.3.1 행렬식 = 부피 확대율일반적으로 n차 정방항행렬 A에 대해 'n차원 판의 부피'의 확대율이 행렬식 det A이다. # 1.3.2 행렬식의 성질'행렬식은 어느 열의 정수배를 다른 열에 더해도 값이 변하지 않는다' 이를 잘 설명한 예시가 아래 트럼프 뭉치이다.트럼프를 한 뭉치 겹쳐서 생긴 평행육면체가 책상 위에 있다고 가정하자.트럼프 뭉치를 책상에 평행하게 밀었을 때, 전과 후에 뭉치 부피는 변하지 않기 때문에 행렬식은 변하지 않는다. # 행렬의 다중선형성n차 정방행렬 A를 숫자 c배하면 행렬식은 $c^n$배가 된다.여기서, 주의할 점은 각 열에 대해 $c$배가 되기 때문에 단순히 $c$배로 끝나지 않는다는 것이다.# 행렬의 교대성'두 열을 바꾸면 부호가 역전한다'아래..

[프로그래머를 위한 선형대수] 1. 벡터, 행렬, 행렬식 | # 1.2 행렬과 사상

1.1에서 벡터라는 '대상'을 알았으니, 이제 '관계'에 대해 배울 차례 # 1.2 행렬과 사상# 1.2.3 행렬은 사상이다행렬 A를 지정하면 벡터를 다른 벡터로 옮기는 사상이 결정된다.다시 말하면, m x n 행렬 A는 n차원 공간을 m차원 공간으로 옮기는 사상을 나타낸다.💡 행렬의 각 열을 벡터의 목적지로 표현한 덕분에 공간적으로 이해하기 쉬웠다. 추가로 행렬의 곱은 사상의 합성이라고 생각할 수 있다.예를 들어, BA가 있다면 A라는 사상을 따른 후에 B 사상을 적용하는 것이다. 그리고 사상을 적용하는 순서에 따라서 그 결과는 달라진다.행렬 A가 '공간을 돌리는 사상', 행렬 B가 '가로로 넓히는 사상'이라고 할 때 -> 위 그림과 같이 BA와 AB는 다르다 # 1.2.7 영행렬, 단위행렬, 대각행..

선형공간의 확장 개념인, 내적공간에 대하여

⚠이 세계에서는 '길이'나 '각도'가 정의되어 있지 않다.즉, 다른 방향의 벡터끼리 대소를 비교하는 일은 없고, 회전이라는 작업도 정의할 수 없다.'본래의' 선형공간에서는 이런 기능이 없다.이 부분을 읽고.... 어? 우리가 배운 벡터의 길이 구하는 공식이나 회전행렬은 뭔가? 의문점이 들었다.주석에서 설명을 해주고 있다.'길이'나 '각도'가 정의되어 있는 것은 내적 공간이라는 '확장판의' 선형 공간이다.공부를 하다가, 내적공간과 선형공간이 혼동되어 이를 정리할 예정이다. 선형공간은 앞서 공부한 것처럼(1) 덧셈: 벡터끼리 더할 수 있음(2) 정수배: 스칼라와 백터 곱셈이 가능이 두 가지 성질을 만족하는 벡터의 집합을 의미한다. 그렇다면 내적공간이란 무엇일까?내적공간은 쉽게 말해서 선형공간 위에 내적(in..

[프로그래머를 위한 선형대수] 1. 벡터, 행렬, 행렬식 | # 1.1 벡터와 공간

❤들어가기에 앞서 책에서 나온 모든 내용을 다루지는 않을 것이다.선형대수를 처음 공부하는 상황은 아니다보니(1) 잊고 있었던 부분 (2) 새롭게 알게 된 사실중심으로 정리할 예정할 예정이고, 따라서 글이 매끄럽지 못할 수 있다.1장을 들어가기 전 0장에서는, '선형대수를 배워야 하는 이유' 2가지에 대해 언급하고 있다. # 0장. 선형대수를 배워야 하는 이유1. 공간이라고 생각하면 직관이 먹힌다.선형대수의 벡터공간은 현실 공간의 특징을 추상화한 ver임으로,이러한 공간을 설명하는데 편리한 용어나 개념을 제공한다.또, 현실공간이 아니더라도 다수의 수치로 조합한 데이터를 공간의 관점에서 바라보면 이해할 수 있는 경우도 많다.2. 근사 수단으로 사용하기 편리하다.선형대수가 다루는 대상은 선형적, 즉 직선이나 ..

[Silver I] 회의실 배정 - 1931

문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다.입력첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 231-1보다 작거나 같..

📚 Study/Baekjoon 2024.11.27

[Silver II] 잃어버린 괄호 - 1541

문제세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.입력첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다.출력첫째 줄에 정답을 출력한다.예제 입력 1 복사55-50+40예제 출력 1 복사-35예제 입력 2 복사10+20+30+40예제 출력 2 복사10..

📚 Study/Baekjoon 2024.11.27

[Silver IV] 당근 키우기 - 20363

https://www.acmicpc.net/problem/20363문제꽉꽉나라의 농부 오리는 당근을 키우려고 한다. 꽉꽉나라에서는 씨앗이 X만큼의 온기와 Y만큼의 수분을 가지면 당근으로 자란다고 한다.씨앗은 햇빛을 1번 받을 때마다 1만큼의 온기가 증가하고, 햇빛을 10번 받을 때마다 1만큼의 수분이 감소한다.씨앗은 물을 1번 받을 때마다 1만큼의 수분이 증가하고, 물을 10번 받을 때마다 1만큼의 온기가 감소한다.만약, 감소되어야 하는 온기 혹은 수분이 이미 0이라면 감소되지 않는다. 즉, 온기와 수분은 음수가 되지 않는다. 맨 처음 씨앗의 온기와 수분은 0이다.오리는 당근을 효율적으로 키우기 위해, 당근이 자랄 때까지 햇빛과 물을 주는 횟수의 합을 최소화하려고 한다. 예를 들어, X = 10, Y =..

📚 Study/Baekjoon 2024.11.27