일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 |
- DynamicProgramming
- 공유라이브러리
- 백준
- solver
- GNN
- Motion Planning
- Hybrid A star
- 소프티어
- Leetcode
- 수치최적화
- OSQP
- Recursion
- MDP
- C++
- 강화학습
- CPP
- GIT
- 동적라이브러리
- 정적라이브러리
- 경로생성
- Dubins Path
- C
- CUDA
- PathPlanning
- autonomous vehicle
- Graph Neural Network
- Frenet Coordinate
- 선형대수
- path planning
- self driving car
- Today
- Total
목록전체 글 (127)
Swimmer
행렬의 계수 (Rank) 행렬의 계수 정의 선형 독립 집합을 구성하는 최대 열 또는 행의 수 열공간의 차원의 수 (= 행공간의 차원의 수) 행렬에서 0이 아닌 특잇값의 수 정방행렬이 아니더라도, 열공간에서 정의된 계수와 행공간에서 정의된 계수는 같다. 즉, 행렬의 열공간과 행공간은 다르지만 차원의 수는 동일하다. 행렬 계수의 특징 계수는 음이 아닌 정수이다. 모든 행렬은 단 하나의 고유한 계수를 가진다. 최대 가능 계수를 갖는 행렬을 '최대계수' (Full Rank)라고 한다. 계수가 min{M, N} (각각 행과 열의 개수) 보다 작을 때, 이를 '축소계수', '계수부족', '특이'등으로 지칭한다. 행렬에 스칼라 곱은 계수에 영향을 미치지 않는다. 덧셈 및 곱셈 행렬의 계수 두 행렬 A, B의 계수를 ..
행렬 및 Norm 1. 행렬 Norm 행렬 Norm은 여러 종류의 정의가 있고 각 정의 별로 계산법과 의미가 다르다. 이에 반해, 벡터 Norm은 한가지 공식으로 정의된다. (벡터 Norm의 정의는 아래와 같다.) $$ Vector\;Norm = \sqrt{\sum_{i=1}^{N}a_i^2} $$ 행렬 Norm의 종류는 원소별 계열과 유도 계열로 구분되는데, 대표적으로 사용되는 것은 원소별 계열의 프로베니우스(Frobenius) Norm이다. 이는 유클리드 Norm이라고도 하며, L2 Norm이라고 한다. (프로베니우스 Norm의 정의는 아래와 같다.) $$ Frobenius\;Norm = \; \left\|A\right\|_F= \sqrt{\sum_{i=1}^{M}\sum_{j=1}^{N}a_{ij}..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cf8TLi/btsCUyLvgGU/kRZmbhCYbVR0XMynORtgdK/img.png)
직교벡터 분해 목표벡터와 기준벡터가 주어졌을 때, 목표벡터를 평행벡터와 수직벡터로 분할하는 것이다. 이때, 평행벡터는 기준벡터에 평행하며 수직벡터는 기준벡터에 수직한다. 직교벡터 분해과정 다음과 같이 목표벡터 b, 기준벡터 a가 주어졌다고 하자. 이때 목표벡터 b의 평행벡터는 a에 스칼라 beta를 곱해준 것으로 표현된다. 목표벡터 b의 수직벡터는 기준벡터와 평행벡터의 차이로 표현된다. 평행벡터와 수직벡터는 내적 시, 0이 된다. 이를 활용해 beta를 계산할 수 있다. beta를 계산하면 평행벡터를 계산할 수 있다. 평행벡터를 계산하면 수직벡터를 계산할 수 있다. 수직 벡터를 구하는 과정을 직교화(Orthogonalize) 라고도 지칭한다. 이는 그람 슈미트 구현 시 사용된다. 간단하지만, 향 후 정리..
OSQP는 Quadratic Programming 최적화 문제를 풀어주는 오픈소스 Solver이다. 오픈소스를 나의 개발 환경에 맞춰 사용하기 위해 소스코드를 직접 빌드하여 라이브러리를 생성했다. 이 과정을 정리하였고, 이는 OSQP 공식 Docs 안내 글을 참고하였다. OSQP : https://osqp.org/docs/release-0.6.3/get_started/sources.html#build-from-sources 준비사항 1. Compiler : TDM-GCC 설치하자 (https://jmeubank.github.io/tdm-gcc/download/) 2. CMake : (https://cmake.org/download/#latest) 3. OSQP 소스코드 : https://github.co..