Options
All
  • Public
  • Public/Protected
  • All
Menu

A class for abstract groups.

Type parameters

  • T

    The type of the elements of the group.

Hierarchy

Index

Properties

Abstract dimension

dimension: number

The "dimension" of the group, whatever that means for a given group.

Abstract generators

generators: T[]

The generators of the group.

Methods

Abstract compare

  • compare(elem1: T, elem2: T): -1 | 0 | 1
  • Compares two elements in a group. Returns -1 if the first is lesser, 1 if the second is lesser, 0 if both are equal. Comparison must be a total order relation (?).

    Parameters

    • elem1: T

      The first element to compare.

    • elem2: T

      The second element to compare.

    Returns -1 | 0 | 1

    Whehther one of the elements is greater, or if both are equal.

enumerateElements

  • enumerateElements(): T[]
  • Enumerates all of the elements of the group. The base implementation is probably not a good idea for anything with more than a few hundred elements. However, the RewriteGroup has a much faster algorithm.

    Returns T[]

    An array of all of the group elements.

Abstract equal

  • equal(elem1: T, elem2: T): boolean
  • Determines whether two group elements are equal.

    Parameters

    • elem1: T

      The first group element.

    • elem2: T

      The second group element.

    Returns boolean

    Whether the two group elements are equal.

Abstract identity

  • identity(): T

Abstract invert

  • invert(elem: T): T

Abstract multiply

  • multiply(elem1: T, elem2: T): T
  • Multiplies two group elements together.

    Parameters

    • elem1: T

      The left element to multiply.

    • elem2: T

      The right element to multiply.

    Returns T

    The multiplication of both elements.

Generated using TypeDoc, the 1/31/2021 at 6:18:55 AM