Example: Element of 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 generator in a finitely presented quotient of a free group.

Systems

Oscar.jl

Generate code (generate.jl) [ edit ]

using Oscar

F = free_group(2)
x1 = gen(F, 1)
x2 = gen(F, 2)
G = quo(F, [x1^2, x2^2, comm(x1, x2)])[1]
obj = gen(G, 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": {"name": "FPGroupElem", "params": "0aa3ecbb-a6c8-4f4e-851e-1ec3f8112d86"},
  "data": ["1", "1"],
  "_refs": {
    "0aa3ecbb-a6c8-4f4e-851e-1ec3f8112d86": {
      "_type": "FPGroup",
      "data": {
        "X": {
          "GapType": "IsSubgroupFpGroup",
          "freeGroup": "b1aea6ab-9c0c-49f5-8393-bb264bbc8b05",
          "relators": [["1", "2"], ["2", "2"], ["1", "-1", "2", "-1", "1", "1", "2", "1"]]
        }
      }
    },
    "b1aea6ab-9c0c-49f5-8393-bb264bbc8b05": {
      "_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": {"name": "FPGroupElem", "params": "1dc46124-d0ad-4f2d-8801-0ee9a94757bc"},
  "data": ["1", "1"],
  "_refs": {
    "1dc46124-d0ad-4f2d-8801-0ee9a94757bc": {"_type": "FPGroup", "data": {"X": "f6e033ff-9ee7-4432-bbf9-fb4feefc44d2"}},
    "f6e033ff-9ee7-4432-bbf9-fb4feefc44d2": {
      "_type": "GapObj",
      "data": {
        "GapType": "IsSubgroupFpGroup",
        "freeGroup": "12cd4025-2b7d-4768-9178-8b44c4e47276",
        "relators": [["1", "2"], ["2", "2"], ["1", "-1", "2", "-1", "1", "1", "2", "1"]]
      }
    },
    "12cd4025-2b7d-4768-9178-8b44c4e47276": {
      "_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": "FPGroupElem", "params": "94e2dba1-75a4-44de-ad6e-561f17757433"},
  "data": ["1", "1"],
  "_refs": {
    "94e2dba1-75a4-44de-ad6e-561f17757433": {"_type": {"name": "FPGroup", "params": "925cf6e0-915d-478d-b842-c92e53d598d2"}, "data": []},
    "925cf6e0-915d-478d-b842-c92e53d598d2": {
      "_type": {"name": "GapObj", "params": "ff663917-4d75-447b-9c9d-0754a3e28e4f"},
      "data": {
        "GapType": "IsSubgroupFpGroup",
        "relators": [["1", "2"], ["2", "2"], ["1", "-1", "2", "-1", "1", "1", "2", "1"]]
      }
    },
    "ff663917-4d75-447b-9c9d-0754a3e28e4f": {
      "_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.