본문 바로가기

2023/122

[선형대수] 직교벡터 분해 직교벡터 분해 목표벡터와 기준벡터가 주어졌을 때, 목표벡터를 평행벡터와 수직벡터로 분할하는 것이다. 이때, 평행벡터는 기준벡터에 평행하며 수직벡터는 기준벡터에 수직한다. 직교벡터 분해과정 다음과 같이 목표벡터 b, 기준벡터 a가 주어졌다고 하자. 이때 목표벡터 b의 평행벡터는 a에 스칼라 beta를 곱해준 것으로 표현된다. 목표벡터 b의 수직벡터는 기준벡터와 평행벡터의 차이로 표현된다. 평행벡터와 수직벡터는 내적 시, 0이 된다. 이를 활용해 beta를 계산할 수 있다. beta를 계산하면 평행벡터를 계산할 수 있다. 평행벡터를 계산하면 수직벡터를 계산할 수 있다. 수직 벡터를 구하는 과정을 직교화(Orthogonalize) 라고도 지칭한다. 이는 그람 슈미트 구현 시 사용된다. 간단하지만, 향 후 정리.. 2023. 12. 31.
OSQP Solver 빌드하기 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.. 2023. 12. 22.