Example: Dictionary (String to polynomial variable)

Profiles: basic v1

A dictionary with one entry mapping the key $\texttt{"x"}$ to the polynomial indeterminate $x \in \mathbb{Q}[x]$.

Systems

Oscar.jl

Generate code (generate.jl) [ edit ]

using Oscar

Qx, x = QQ[:x]
save("data.mrdi", Dict("x" => x))

Data outputs

Profiles: OSCAR v1.0

Data file: data.mrdi

{
  "_ns": {"Oscar": ["https://github.com/oscar-system/Oscar.jl", "1.0.5"]},
  "_type": {
    "name": "Dict",
    "params": {
      "key_type": "String",
      "x": {"name": "PolyRingElem", "params": "d3375b03-6014-454f-82c5-28fd2fadfabb"}
    }
  },
  "data": {"x": [["1", "1"]]},
  "_refs": {
    "d3375b03-6014-454f-82c5-28fd2fadfabb": {"_type": "PolyRing", "data": {"base_ring": {"_type": "QQField"}, "symbols": ["x"]}}
  }
}

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": "Dict",
    "params": {
      "key_type": "String",
      "value_type": "PolyRingElem",
      "value_params": {"name": "PolyRingElem", "params": "35fd1ae9-f4af-4b34-9e00-7066007b39c5"}
    }
  },
  "data": {"x": [["1", "1"]]},
  "_refs": {
    "35fd1ae9-f4af-4b34-9e00-7066007b39c5": {"_type": "PolyRing", "data": {"base_ring": {"_type": "QQField"}, "symbols": ["x"]}}
  }
}

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": "Dict",
    "params": {
      "key_params": "String",
      "value_params": {"name": "PolyRingElem", "params": "a78c482c-7f1a-4290-9be9-a4c6c8f3a0fa"}
    }
  },
  "data": {"x": [["1", "1"]]},
  "_refs": {
    "a78c482c-7f1a-4290-9be9-a4c6c8f3a0fa": {"_type": {"name": "PolyRing", "params": {"_type": "QQField"}}, "data": {"symbols": ["x"]}}
  }
}

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