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

Feature wishlist for new API #55

Open
1 of 15 tasks
dcerkoney opened this issue Nov 25, 2022 · 0 comments
Open
1 of 15 tasks

Feature wishlist for new API #55

dcerkoney opened this issue Nov 25, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@dcerkoney
Copy link
Collaborator

dcerkoney commented Nov 25, 2022

Frontend

A user-extensible interface to the IR.

  • Inline parser (deserializer)
  • Serializer (tostring method)
  • Batch parser for TOML config file(s)
  • Generic support for n-particle reducibility

Intermediate Representation (IR)

A computational tree representation for generic Feynman diagram(s).

Tree operations

  • Auto-differentiation (e.g., RG flows)
  • Auto-integration (e.g., Matsubara summation for Feynman diagrams and/or general IR trees)

Tree transformations

  • Leaf replacement (subdiagram expansion)
  • Flattening transformation: reduce tree to n layers
  • (Un)distribute transformation: move addition (multiplication) to subdiagram root
  • Filtering transformation: diagram removal based on reducibility rules / custom filter
  • IR to Feynman diagram representation (special case of flatten + distribute transformation)

Backend

Optimization of IR trees and compilation to expression trees. For optimizations, we can either follow or interface with aesara.

Tree optimizations

  • Remove duplicate nodes
  • Merge (combine redundant operations)
  • GEMM optimization for matrix addition/multiplication
  • Support for matrix product states for higher-order vertex functions
@dcerkoney dcerkoney added the enhancement New feature or request label Nov 25, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants