#pragma once #include #include namespace tc { /** * Construct a group from a (simplified) Schlafli Symbol of the form [a, b, ..., c] * @param mults: The sequence of multiplicites between adjacent generators. */ Group schlafli(const std::vector &mults); Group coxeter(const std::string &symbol); Group vcoxeter(const std::string &symbol, std::vector &values); template Group coxeter(const std::string &symbol, const Args &... args) { std::vector values = {{args...}}; return vcoxeter(symbol, values); } }