Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • N NIFTy
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 17
    • Issues 17
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ift
  • NIFTy
  • Issues
  • #286

Closed
Open
Created Mar 17, 2020 by Martin Reinecke@mtrOwner

NIFTy grand unification: unify MultiFields and Fields

  • all new fields have the internal structure of a MultiField
  • a classic "standard" field is represented by a new field with a single key that is the empty string
  • Many of our operators work on part of a DomainTuple (e.g. FFTOperator). Typically this is specified by passing the domain and additionally a "spaces" argument, which is None, int of tupe of ints. Since in the future every domain is a "multi-domain", this is no longer sufficient: the partial domain must now contain an additional string defining the name of the required field component. This requires an update (and renaming) of "parse_spaces", "infer_space" etc. Maybe it's good to introduce a new "PartialDomain" class which contains
    • a string containing the desired field component, and
    • an integer tuple containing the desired subspaces of that component
  • "MultiField" will be renamed to "Field"; "Field" will probably be renamed to some internal helper class or completely implemented within the new "Field".
  • "MultiDomain" will be renamed to ???; "DomainTuple" will probably become "_DomainTuple", i.e. it should not be directly accessed by external users.
  • "makeField" and "makeDomain" become static "make" members of "Field" and "Domain"
Edited Mar 17, 2020 by Martin Reinecke
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking