この記事はBoost Advent Calendar 2011の参加記事です。 Boostの数学ライブラリの一部を紹介したいと思います。 複素関数としての逆三角関数・逆双曲線関数C99の逆三角関数・逆双曲線関数を移植したものです。C++11に追加されたので、そのうち新規には使われなくなるかもしれませんが……。 逆三角関数・逆双曲線関数は多価関数なのでどういった分枝を取るかが問題になります。分枝についてBoostのドキュメントに書かれていないので明記しておきます。 arccos #include <boost/math/complex/acos.hpp> template <typename T> std::complex<T> acos(const std::complex<T>& z); 上で、実関数としてのと一致し、で連続となるように分枝をとります。 arcsin #include <