Difference between revisions of "Pauli.m"
(→Notes) |
(Update function See also links and function index membership) |
||
| (5 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:pauli.m}} __NOTOC__ | {{DISPLAYTITLE:pauli.m}} __NOTOC__ | ||
| − | Pauli matrices (sparse) for a spin of a user-specified multiplicity. | + | Pauli matrices (sparse, see below for normalisation conventions) for a spin of a user-specified energy level multiplicity. |
==Syntax== | ==Syntax== | ||
| − | + | S=pauli(mult) | |
| − | == | + | ==Parameters== |
mult - an integer specifying the | mult - an integer specifying the | ||
| Line 13: | Line 13: | ||
==Outputs== | ==Outputs== | ||
| − | + | S.u - unit operator | |
| − | + | S.p - raising operator | |
| − | + | S.m - lowering operator | |
| − | + | S.x - Sx observable operator | |
| − | + | S.y - Sy observable operator | |
| − | + | S.z - Sz observable operator | |
==Notes== | ==Notes== | ||
1. The matrices are normalized so as to obey the following commutation relations: | 1. The matrices are normalized so as to obey the following commutation relations: | ||
| − | [ | + | [S.x,S.y]=1i*S.z |
| − | [ | + | [S.y,S.z]=1i*S.x |
| − | [ | + | [S.z,S.x]=1i*S.y |
2. Raising and lowering operators are defined as: | 2. Raising and lowering operators are defined as: | ||
| − | + | S.p=S.x+1i*S.y | |
| − | + | S.m=S.x-1i*S.y | |
3. It is never a good idea to normalise spin operators using matrix norms because commutation relations would break. | 3. It is never a good idea to normalise spin operators using matrix norms because commutation relations would break. | ||
| + | |||
| + | 4. The arrays are declared complex at creation to avoid expensive reallocations later on. | ||
==See also== | ==See also== | ||
| − | [[stevens.m]], [[irr_sph_ten.m]], [[wigner.m]], [[operator.m]], [[state.m]], [[hamiltonian.m]] | + | [[stevens.m]], [[irr_sph_ten.m]], [[wigner.m]], [[operator.m]], [[state.m]], [[hamiltonian.m]], [[add_spins.m]], [[cg_fast.m]], [[clebsch_gordan.m]], [[comm.m]], [[hilb2liouv.m]], [[ist_product_table.m]], [[lorentz.m]], [[mat2sphten.m]], [[multipack.m]], [[perm_group.m]], [[rocomm.m]], [[rwalk.m]], [[sle_operators.m]], [[sorensen.m]], [[spher_harmon.m]], [[sphten2mat.m]], [[stev2sph.m]], [[superop.m]], [[twospinist.m]], [[wigner_3j.m]], [[wigner_6j.m]], [[Kernel_utilities]] |
| − | |||
| − | ''Version 2. | + | ''Version 2.8, authors: [[Ilya Kuprov]]'' |
Latest revision as of 19:39, 6 June 2026
Pauli matrices (sparse, see below for normalisation conventions) for a spin of a user-specified energy level multiplicity.
Syntax
S=pauli(mult)
Parameters
mult - an integer specifying the
multiplicity of the spin
Outputs
S.u - unit operator
S.p - raising operator
S.m - lowering operator
S.x - Sx observable operator
S.y - Sy observable operator
S.z - Sz observable operator
Notes
1. The matrices are normalized so as to obey the following commutation relations:
[S.x,S.y]=1i*S.z
[S.y,S.z]=1i*S.x
[S.z,S.x]=1i*S.y
2. Raising and lowering operators are defined as:
S.p=S.x+1i*S.y
S.m=S.x-1i*S.y
3. It is never a good idea to normalise spin operators using matrix norms because commutation relations would break.
4. The arrays are declared complex at creation to avoid expensive reallocations later on.
See also
stevens.m, irr_sph_ten.m, wigner.m, operator.m, state.m, hamiltonian.m, add_spins.m, cg_fast.m, clebsch_gordan.m, comm.m, hilb2liouv.m, ist_product_table.m, lorentz.m, mat2sphten.m, multipack.m, perm_group.m, rocomm.m, rwalk.m, sle_operators.m, sorensen.m, spher_harmon.m, sphten2mat.m, stev2sph.m, superop.m, twospinist.m, wigner_3j.m, wigner_6j.m, Kernel_utilities
Version 2.8, authors: Ilya Kuprov