# Eigen

Rcpp, Eigen 활용해서 R 패키지 만들기
최근 Rcpp와 C++의 Eigen 을 활용해서 개발을 진행하였다. 지난 포스트에서처럼 sourceCpp()를 활용해서 로컬에서 어느 정도 개발을 마치고, 서버에서 이를 실행하려고 했는데.. 에러가 발생하였다.. with Visible -> eval -> eval -> sourceCpp Executi
Eigen의 aliasing 문제
TL;DR: 문제가 생긴 라인 우변에 .eval()을 추가하자 개요 Eigen 라이브러리를 이용하여 프로그래밍을 하다가 A = A.transpose() 꼴의 식을 사용했는데 > /usr/include/eigen3/Eigen/src/Core/Transpose.h:376: static void Eigen::internal::checkTransposeAliasing_impl::run(const Derived&, const OtherDerived&)
Eigen 정리

(App.2) Eigen 설치
Optimization코딩을 위해서는 Linear Algebra용도의 라이브러리가 반드시 필요합니다. 직접 짤 수도 있겠지만, 여기서 설치할 Eigen의 경우는 제공되는 기능이나, 성능적으로 충분히 최적화되고 안정화된 라이브러리이기 때문에 Eigen 사용을 권합니다. 설치 아래 설치 과정은 window 환경에서, visual studio 2019 기반입니다. 1. 다운로드 먼저 아래 홈페이지에서 Eigen을 다운로드합니다. 저는 3.4.0버전을 다운로드했습니다. https://eigen.tuxfamily.org/index.php?title=Main_Page 그리고 추가적으로 CMake 도 아래 홈페이지에서 다운로드합니다. https://cmake.org/download/ 2. Eigen 빌드 다운로드한 Eigen압축파일을 적당한 곳에 풀어줍니다. 저는 아래 위치에 풀었습니다. D:\Source\library\eigen-3.4.0 CMake를 실
Eigen::Map<Eigen::Quaterniond> 와 Eigen::Quaterniond 비교
Eigen::Map 와 Eigen::Quaterniond 를 단순히 사용할때는 별반 차이가 없다. Eigen::Map 은 애당초 Sparse Matrix를 다루기 위한 Storage 역할을 해주기에, 거대한 Sparse Matrix를 다룰때, 효과적인 성능을 보여줄 것이다. 별반 차이 없음을 아래의 소스코드로 확인함.