bluescarni / obake

A C++20 library for the symbolic manipulation of sparse polynomials & co.

Home Page:https://bluescarni.github.io/obake

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Operators for quantum mechanics

bingao opened this issue · comments

Hi! I want to develop a new C++ project using obake. The project will compute derivatives of an expression of some operators in quantum mechanics, and afterward evaluate the derivatives numerically by using some external numerical functions. So my questions are:

  1. Operators in quantum mechanics usually do not commute, i.e. A*B is not equal to B*A where A and B are two operators, and * is multiplication. Moreover, an operator A can be a "function" of multi-variables, e.g. x, y, z, etc.. Is there any class in obake that I can use to represent these operators? If not, can I make a derived class for these operators?
  2. Take A*B as an example. When a derivative with respect to a variable x is computed, I want Derivative(A, x)*B + A*Derivative(B, x) to return as a result. Afterwards, I can evaluate this result numerically by replacing Derivative(A, x), B, A and Derivative(B, x) with external numerical function(s). Is it possible and how?

Thank you in advance.