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; returnIndeterminateif it does not have a definite rank.
-
-
"Parity"-
parityUnsafe- similar totensorankUnsafe. -
parity- similar totensorank.
-
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