using Eigen::Matrix everywhere -- using boost::math::constant::pi

... instead of custom defined PP variable
How about `matrix`? :)