diff --git a/include/tc/group.hpp b/include/tc/group.hpp index f37d10e..092858f 100644 --- a/include/tc/group.hpp +++ b/include/tc/group.hpp @@ -15,7 +15,7 @@ namespace { } namespace tc { - /// A Schlafli Matrix + /// A Coxeter Matrix template class Group : public Eigen::Matrix { public: @@ -29,18 +29,25 @@ namespace tc { template using Symbol = Eigen::Vector; + /** + * Create a named coxeter matrix from a simplified schlafli symbol + */ template Group schlafli(const Symbol &mults, const std::string &name) { Group res; res.name = name; res.fill(2); + res.diagonal().fill(1); res.topRightCorner(Rank - 1, Rank - 1).diagonal() << mults; res.bottomLeftCorner(Rank - 1, Rank - 1).diagonal() << mults; return res; } + /** + * Create a coxeter matrix from a simplified schlafli symbol. + */ template Group schlafli(const Symbol &mults) { return schlafli(mults, stringify(mults));