Skip to content

Designing idea

Expression tree

Nodes of expression tree:

  • _Plus

  • _Times

  • _?generatorQ

  • _tensor

  • _NonCommutativeMultiply

Attributes

  • "Generator"

    • generatorQ

    • scalarQ|operatorQ

  • "Relation"

    • relation

    • algebraSimplify

  • "Printing"

    • printing

    • algebraPrint

  • "Rank"

    • tensorankUnsafe - faster; only handling the nodes _?generatorQ|_tensor|_NonCommutativeMultiply|_Times.

    • tensorank - check whether the expression is valid; return Indeterminate if it does not have a definite rank.

  • "Parity"

    • parityUnsafe - similar to tensorankUnsafe.

    • parity - similar to tensorank.

File structure

Core:

  • Init.wl

    • class initialization

    • caching data into states

    • internal algebra initialization

  • Algebra.wl

    • attributes and methods
  • Core.wl

  • Variable.wl

    • states
  • Internal.wl

    • internal algebras

Extension

  • Conjugate.wl

  • Tensor.wl

  • Utility.wl

  • Check.wl

Cache