Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] symbolic algebra functionality #14

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Conversation

lkdvos
Copy link

@lkdvos lkdvos commented Mar 26, 2025

This is a very much WIP PR that starts showing some of the work on symbolic operator algebras.

Here, the main focus is on laying some ground work for two specific algebra types:

  • a local algebra: this is supposed to be a symbolic version of local operators: operators that act on a local hilbert space (or a number of copies thereof), ie without knowledge of the geometry of the sites it is acting on.
  • a global algebra: this is supposed to be a symbolic version of operators acting on the full hilbert space, ie with knowledge of the lattice etc. Here, operators are assumed to be acting non-trivially on a subset of the sites, and the identities can be left implicit.

To do

Build local operator types

  • operators, sums, products, kron, functions, ...
  • linear algebra
  • Base.show
  • Compatibility with SymbolicUtils.rewrite
  • Define simplification rewriting rules

Global operator types

  • Build global operator types
  • Minimize code duplication between the two
  • Testing
  • Benchmarking

@lkdvos lkdvos marked this pull request as draft March 26, 2025 14:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants