QOP
Make quantum operators and algebras native in python
Behold, the power of qop.
- Boson
from qop.boson import *
assert (b0.D*b0)**3 == b0.D*b0+3*b0.D**2*b0**2+b0.D**3*b0**3
- Fermion
from qop.fermion import *
assert (c0.D*c0)**3 == c0.D*c0
- Hardcore Boson
from qop.hardcoreboson import *
assert (hb0.D*hb0)**2 ==hb0.D*hb0
assert hb0*hb1 == hb1*hb0
- Spin
from qop.spin import *
assert s0.x*s0.y == 1j/2*s0.z
assert s0.z*s1.x == -2j*s1.x*s0.x*s0.y
- Grassmann numbers
from qop.grassmann import *
assert (1+g(0)*g(1))**2 == 1+2*g(0)*g(1)
- Quaternion numbers
from qop.quaternion import *
assert (1-qi)/(1-qj) == 0.5*(1-qi+qj-qk)
- Symbols
from qop.symbol import *
a = Symbol("a")
assert np.conj(2+a).evaluate({"a": 1j}) == 2-1j
- Quantum states
from qop.fermion import *
from qop.state import *
assert Sf("1").D | c1.D * c1 | c1.D | Sf() == 1.0
And mix all, we have
U = Symbol("U")
assert Sf("12").D | U * (np.array([c1.D, c2.D]) @ np.array([c1, c2])) ** 2 | Sf("12") == 4 * U
Or einsum with opt_einsum
from opt_einsum import contract
from qop.symbol import *
a,b,c,d = Symbols("abcd")
simplify(contract("ijk,i->jk", d*np.ones([3,3,3]), np.array([a,b,c])))
See more examples in tests.
Metadata
Release files for qop 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qop-0.0.2.tar.gz | 11.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qop-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.5 kB
Release files / qop-0.0.2.tar.gz
| Download URL | qop-0.0.2.tar.gz |
|---|---|
| Size | 11.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fb7eafad7cd90f4a465d6deb19f1ca0c0b8daa9c537d04b5cb03ffd068d41f3e
|
|
BLAKE2b-256 checksum How to use checksums |
7c6a8387d3f77252cf4e9689131953c004985c7b9d32dcca74e9e21f50884df1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.3
|
Release files / qop-0.0.2-py3-none-any.whl
| Download URL | qop-0.0.2-py3-none-any.whl |
|---|---|
| Size | 19.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
130bb8909d08ec4f099cfaec76320f19d9a705d7a9a2feae9ed79e08fd1bee4e
|
|
BLAKE2b-256 checksum How to use checksums |
d3568182fa684d0dc249ced5c3a219f9ae4b34e898dc8dca504ccba3cc848111
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.45.0 CPython/3.6.3
|