コード例 #1
0
def test_Pauli():
    sigma1 = Pauli(1)
    sigma2 = Pauli(2)
    sigma3 = Pauli(3)

    assert sigma1 == sigma1
    assert sigma1 != sigma2

    assert sigma1 * sigma2 == I * sigma3
    assert sigma3 * sigma1 == I * sigma2
    assert sigma2 * sigma3 == I * sigma1

    assert sigma1 * sigma1 == 1
    assert sigma2 * sigma2 == 1
    assert sigma3 * sigma3 == 1

    assert sigma1**0 == 1
    assert sigma1**1 == sigma1
    assert sigma1**2 == 1
    assert sigma1**3 == sigma1
    assert sigma1**4 == 1

    assert sigma3**2 == 1

    assert sigma1 * 2 * sigma1 == 2
コード例 #2
0
def symbolic_pauli_product(*args, as_tensor_product=False):
    """
    Return symbolic sympy object represing product of Pauli matrices.
    """
    if as_tensor_product:
        tensor_product_elems = []
        for arg in args:
            if arg == 0:
                tensor_product_elems.append(1)
            else:
                tensor_product_elems.append(Pauli(arg))
        return TensorProduct(*tensor_product_elems)

    out_expr = sympy.Integer(1)
    for pos, arg in enumerate(args):
        if arg != 0:
            out_expr *= sympy.Symbol(['X', 'Y', 'Z'][arg - 1] + '_' +
                                     str(pos + 1),
                                     commutative=False)
    return out_expr
コード例 #3
0
from sympy import I, symbols
from sympy.physics.paulialgebra import Pauli
from sympy.testing.pytest import XFAIL
from sympy.physics.quantum import TensorProduct

sigma1 = Pauli(1)
sigma2 = Pauli(2)
sigma3 = Pauli(3)

tau1 = symbols("tau1", commutative=False)


def test_Pauli():

    assert sigma1 == sigma1
    assert sigma1 != sigma2

    assert sigma1 * sigma2 == I * sigma3
    assert sigma3 * sigma1 == I * sigma2
    assert sigma2 * sigma3 == I * sigma1

    assert sigma1 * sigma1 == 1
    assert sigma2 * sigma2 == 1
    assert sigma3 * sigma3 == 1

    assert sigma1**0 == 1
    assert sigma1**1 == sigma1
    assert sigma1**2 == 1
    assert sigma1**3 == sigma1
    assert sigma1**4 == 1
コード例 #4
0
def test_physics():
    for c in (Unit, meter, Pauli, Pauli(1)):
        check(c)
コード例 #5
0
ファイル: test_args.py プロジェクト: Visheshk/sympy
def test_sympy__physics__paulialgebra__Pauli():
    from sympy.physics.paulialgebra import Pauli
    assert _test_args(Pauli(1))
コード例 #6
0
def test_physics():
    for c in (Unit, Unit("meter", "m"), Pauli, Pauli(1)):
        check(c)
コード例 #7
0
from sympy.physics.paulialgebra import Pauli, evaluate_pauli_product
from sympy.physics.matrices import mdft, mgamma, msigma, pat_matrix

mdft(4)  # expression of discrete Fourier transform as a matrix multiplication
mgamma(2)  # Dirac gamma matrix in the Dirac representation
msigma(2)  #  Pauli matrix with (1,2,3)
pat_matrix(
    3, 1, 0, 0
)  #  computer Parallel Axis Theorem matrix to translate the inertia matrix a distance of dx, dy, dz for a body of mass m.

evaluate_pauli_product(4 * x * Pauli(3) * Pauli(2))
コード例 #8
0
from sympy.physics.paulialgebra import Pauli
import sympy as sym
import numpy as np

#np.array(Pauli(1)).astype(np.complex)
p1 = sym.N(Pauli(1))
print(p1)