algo — C++23 日本語リファレンス GitHub

multiplicative_group

コンセプト · ポテンシャル付き素集合データ構造(可換・非可換どちらの群でも可)

template <class T>
concept multiplicative_group = !additive_group<T> && requires(const T &a) {
    T();
    { a * a } -> std::convertible_to<T>;
    { a.inv() } -> std::convertible_to<T>;
};

概要

乗法的に書かれた群か(合成 *・逆元 .inv()・単位元 T())

非可換群(行列など)もこちらで扱う。+/- を持つ加法群は additive_group を 優先するため除外する(環型を誤って乗法群と判定しないため)。

計算量

関連項目