Example: Subgroup of free 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

Subgroup generated by the first generator in a free group.

Systems

Oscar.jl

Generate code (generate.jl) [ edit ]

using Oscar

F = free_group(2)
obj = sub(F, [gen(F, 1)])[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": "IsFreeGroup",
      "freeGroup": "3d5deda1-ce9d-4f7d-91f5-b428290657b7",
      "gens": [["1", "1"]]
    }
  },
  "id": "0744f7b8-c6cc-489f-bee7-7d83cb873163",
  "_refs": {
    "3d5deda1-ce9d-4f7d-91f5-b428290657b7": {
      "_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": "SubFPGroup",
  "data": {"X": "0e93beb3-689c-4839-9db3-ae535db2d0a6"},
  "id": "bd532ff9-1251-4390-8e94-7a1d67327740",
  "_refs": {
    "0e93beb3-689c-4839-9db3-ae535db2d0a6": {
      "_type": "GapObj",
      "data": {
        "GapType": "IsFreeGroup",
        "freeGroup": "ecceafae-5d77-48ec-9394-ea70aaf47ff9",
        "gens": [["1", "1"]]
      }
    },
    "ecceafae-5d77-48ec-9394-ea70aaf47ff9": {
      "_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": "SubFPGroup", "params": "20676d59-1c09-4230-857f-0dae9cce7ce6"},
  "data": [],
  "id": "4078887a-6780-4be4-b72d-58d54e3481b6",
  "_refs": {
    "20676d59-1c09-4230-857f-0dae9cce7ce6": {
      "_type": {"name": "GapObj", "params": "93b1acf8-8ded-498f-81b6-a8eb3c641b61"},
      "data": {"GapType": "IsFreeGroup", "gens": [["1", "1"]]}
    },
    "93b1acf8-8ded-498f-81b6-a8eb3c641b61": {
      "_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.