Example: Finitely presented group

Profiles: OSCAR v1.0, OSCAR v1.1, OSCAR v1.2, OSCAR v1.3, OSCAR v1.4, OSCAR v1.5, OSCAR v1.6, OSCAR v1.7, OSCAR v1.8

A quotient of a free group by involution and commutator relations.

Systems

Oscar.jl

Generate code (generate.jl) [ edit ]

using Oscar

F = free_group(2)
x1 = gen(F, 1)
x2 = gen(F, 2)
obj = quo(F, [x1^2, x2^2, comm(x1, x2)])[1]

save("data.mrdi", obj)

Data outputs

Profiles: OSCAR v1.0

Data file: data.mrdi

{
  "_ns": {"Oscar": ["https://github.com/oscar-system/Oscar.jl", "1.0.5"]},
  "_type": "FPGroup",
  "data": {
    "X": {
      "GapType": "IsSubgroupFpGroup",
      "freeGroup": "9d6b7241-35cf-420b-af0e-ac0d56203e22",
      "relators": [["1", "2"], ["2", "2"], ["1", "-1", "2", "-1", "1", "1", "2", "1"]]
    }
  },
  "id": "27f61704-d63c-4c45-987a-0890a2fde8ce",
  "_refs": {
    "9d6b7241-35cf-420b-af0e-ac0d56203e22": {
      "_type": "GAP.GapObj",
      "data": {"GapType": "IsFreeGroup", "wfilt": "IsLetterWordsFamily", "names": ["f1", "f2"]}
    }
  }
}

Profiles: OSCAR v1.1, OSCAR v1.2, OSCAR v1.3

Data file: data.mrdi

{
  "_ns": {"Oscar": ["https://github.com/oscar-system/Oscar.jl", "1.3.1"]},
  "_type": "FPGroup",
  "data": {"X": "c57e5e90-4c23-451b-88f9-6abb8beed157"},
  "id": "7d1ba779-386a-4ac8-8951-ed10ebe2b62b",
  "_refs": {
    "c57e5e90-4c23-451b-88f9-6abb8beed157": {
      "_type": "GapObj",
      "data": {
        "GapType": "IsSubgroupFpGroup",
        "freeGroup": "ab8c0b55-5202-42c6-add0-acf159a80a0f",
        "relators": [["1", "2"], ["2", "2"], ["1", "-1", "2", "-1", "1", "1", "2", "1"]]
      }
    },
    "ab8c0b55-5202-42c6-add0-acf159a80a0f": {
      "_type": "GapObj",
      "data": {"GapType": "IsFreeGroup", "wfilt": "IsLetterWordsFamily", "names": ["f1", "f2"]}
    }
  }
}

This serialized output is equivalent for these profiles up to UUID renaming and recorded namespace version strings.

Profiles: OSCAR v1.4, OSCAR v1.5, OSCAR v1.6, OSCAR v1.7

Data file: data.mrdi

{
  "_ns": {"Oscar": ["https://github.com/oscar-system/Oscar.jl", "1.7.0"]},
  "_type": {"name": "FPGroup", "params": "bc9f8def-3a9d-47ab-84c6-6f8fc42b45ad"},
  "data": [],
  "id": "8cf85619-399c-4273-abc2-7984ad3520b3",
  "_refs": {
    "bc9f8def-3a9d-47ab-84c6-6f8fc42b45ad": {
      "_type": {"name": "GapObj", "params": "fc92916c-3c6b-4d78-9469-81d79731a385"},
      "data": {
        "GapType": "IsSubgroupFpGroup",
        "relators": [["1", "2"], ["2", "2"], ["1", "-1", "2", "-1", "1", "1", "2", "1"]]
      }
    },
    "fc92916c-3c6b-4d78-9469-81d79731a385": {
      "_type": "GapObj",
      "data": {"GapType": "IsFreeGroup", "wfilt": "IsLetterWordsFamily", "names": ["f1", "f2"]}
    }
  }
}

This serialized output is equivalent for these profiles up to UUID renaming and recorded namespace version strings.