前回の特異値分解に続いて,今回はQR分解を実装してみます. 特異値分解はあっけないほど単純に実装できたのですが,QR分解はそれよりも少し長くなります. なぜなら,特異値分解は lapack.dgesvd(lapack.dgesdd) を呼び出すだけで良かったのですが,QR分解は lapack.dgeqrf と lapack.dorgqr を呼び出さなければいけないからです. 以下に私の実装例を示します. math.hpp #ifndef MATH_HPP_20080923 #define MATH_HPP_20080923 #if defined(_MSC_VER) && (_MSC_VER >= 1020) # pragma once #endif #include <boost/numeric/ublas/fwd.hpp> namespace math { void qr_factor