Differences
This shows you the differences between two versions of the page.
documentation:language_reference:functions:ytokmatrix [2018/09/25 13:42] Simon Heinze created |
documentation:language_reference:functions:ytokmatrix [2018/09/25 16:28] (current) Simon Heinze Filled with content |
||
---|---|---|---|
Line 2: | Line 2: | ||
### | ### | ||
- | alligned paragraph text | + | YtoKMatrix($orb$) takes the angular momentum $l$ or the name of a non-relativistic atomic orbital and returns the corresponding matrix to rotate from a basis of spherical harmonics to cubic harmonics. It is also possible to give a list of $l$ numbers or orbital names, in which case the output is a block diagonal matrix with the rotation matrices as entries. |
### | ### | ||
===== Input ===== | ===== Input ===== | ||
- | * bla : Integer | + | * $orb$ : An integer number, or a list of integer numbers, or a string that can be interpreted as a non-relativistic atomic orbital, or a list or strings. |
- | * bla2 : Real | + | * Options: |
+ | * "addSpin" : bool determining if spin-space is considered in the matrix (resulting in matrices double in size). (Default true) | ||
===== Output ===== | ===== Output ===== | ||
- | * bla : real | + | * $R$ : Rotation Matrix from a basis of spherical to cubic harmonics. |
===== Example ===== | ===== Example ===== | ||
- | ### | ||
- | description text | ||
- | ### | ||
==== Input ==== | ==== Input ==== | ||
<code Quanty Example.Quanty> | <code Quanty Example.Quanty> | ||
- | -- some example code | + | print("") |
+ | print("YtoKMatrix(0)") | ||
+ | print(YtoKMatrix(0)) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix(\"s\", {{\"addSpin\",false}})") | ||
+ | print(YtoKMatrix("s", {{"addSpin",false}})) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix(1)") | ||
+ | print(YtoKMatrix(1)) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix(\"p\")") | ||
+ | print(YtoKMatrix("p")) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix(2)") | ||
+ | print(YtoKMatrix(2)) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix(\"d\")") | ||
+ | print(YtoKMatrix("d")) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix({0,1,2}, {{\"addSpin\",false}})") | ||
+ | print(YtoKMatrix({0,1,2}, {{"addSpin",false}})) | ||
+ | |||
+ | print("") | ||
+ | print("YtoKMatrix({\"s\",\"p\",\"d\"}, {{\"addSpin\",false}})") | ||
+ | print(YtoKMatrix({"s","p","d"}, {{"addSpin",false}})) | ||
+ | |||
+ | print("\n\n") | ||
+ | print("A more realistic example") | ||
+ | Orbitals = {"1s","2s","2p"} | ||
+ | Indices, NF = CreateAtomicIndicesDict(Orbitals) | ||
+ | |||
+ | --Some Operator definition on spherical harmonics | ||
+ | op = NewOperator("U", NF, Indices["2p_Up"], Indices["2p_Dn"],{0,1}) | ||
+ | print("Operator on a basis of spherical harmonics") | ||
+ | print(op) | ||
+ | |||
+ | opK = Rotate(op, YtoKMatrix(Orbitals)) | ||
+ | print("Operator on a basis of cubic harmonics") | ||
+ | print(opK) | ||
</code> | </code> | ||
==== Result ==== | ==== Result ==== | ||
<file Quanty_Output> | <file Quanty_Output> | ||
- | text produced as output | + | YtoKMatrix(0) |
+ | { { 1 , 0 } , | ||
+ | { 0 , 1 } } | ||
+ | |||
+ | YtoKMatrix("s", {{"addSpin",false}}) | ||
+ | { { 1 } } | ||
+ | |||
+ | YtoKMatrix(1) | ||
+ | { { 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 , 0 } , | ||
+ | { 0 , 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 } , | ||
+ | { (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 } , | ||
+ | { 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) } , | ||
+ | { 0 , 0 , 1 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 1 , 0 , 0 } } | ||
+ | |||
+ | YtoKMatrix("p") | ||
+ | { { 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 , 0 } , | ||
+ | { 0 , 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 } , | ||
+ | { (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 } , | ||
+ | { 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) } , | ||
+ | { 0 , 0 , 1 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 1 , 0 , 0 } } | ||
+ | |||
+ | YtoKMatrix(2) | ||
+ | { { 0.70710678118655 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.70710678118655 , 0 } , | ||
+ | { 0 , 0.70710678118655 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.70710678118655 } , | ||
+ | { 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 } , | ||
+ | { 0 , 0 , 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 , 0 , 0 } , | ||
+ | { (0 + 0.70710678118655 I) , 0 , 0 , 0 , 0 , 0 , 0 , 0 , (0 - 0.70710678118655 I) , 0 } , | ||
+ | { 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , 0 , 0 , 0 , 0 , (0 - 0.70710678118655 I) } } | ||
+ | |||
+ | YtoKMatrix("d") | ||
+ | { { 0.70710678118655 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.70710678118655 , 0 } , | ||
+ | { 0 , 0.70710678118655 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0.70710678118655 } , | ||
+ | { 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 } , | ||
+ | { 0 , 0 , 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0.70710678118655 , 0 , 0 , 0 , -0.70710678118655 , 0 , 0 } , | ||
+ | { (0 + 0.70710678118655 I) , 0 , 0 , 0 , 0 , 0 , 0 , 0 , (0 - 0.70710678118655 I) , 0 } , | ||
+ | { 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , 0 , 0 , 0 , 0 , (0 - 0.70710678118655 I) } } | ||
+ | |||
+ | YtoKMatrix({0,1,2}, {{"addSpin",false}}) | ||
+ | { { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0.70710678118655 , 0 , -0.70710678118655 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , (0 + 0.70710678118655 I) , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0.70710678118655 , 0 , 0 , 0 , 0.70710678118655 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , (0 + 0.70710678118655 I) , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , 0.70710678118655 , 0 , -0.70710678118655 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 - 0.70710678118655 I) } } | ||
+ | |||
+ | YtoKMatrix({"s","p","d"}, {{"addSpin",false}}) | ||
+ | { { 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0.70710678118655 , 0 , -0.70710678118655 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , (0 + 0.70710678118655 I) , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0.70710678118655 , 0 , 0 , 0 , 0.70710678118655 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , (0 + 0.70710678118655 I) , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , 0 , 0.70710678118655 , 0 , -0.70710678118655 , 0 } , | ||
+ | { 0 , 0 , 0 , 0 , (0 + 0.70710678118655 I) , 0 , 0 , 0 , (0 - 0.70710678118655 I) } } | ||
+ | |||
+ | |||
+ | |||
+ | A more realistic example | ||
+ | Operator on a basis of spherical harmonics | ||
+ | |||
+ | Operator: Coulomb Operator | ||
+ | QComplex = 0 (Real==0 or Complex==1 or Mixed==2) | ||
+ | MaxLength = 4 (largest number of product of lader operators) | ||
+ | NFermionic modes = 10 (Number of fermionic modes (site, spin, orbital, ...) in the one particle basis) | ||
+ | NBosonic modes = 0 (Number of bosonic modes (phonon modes, ...) in the one particle basis) | ||
+ | |||
+ | Operator of Length 4 | ||
+ | QComplex = 0 (Real==0 or Complex==1) | ||
+ | N = 25 (number of operators of length 4) | ||
+ | C 5 C 4 A 5 A 4 | -3.999999999999999E-02 | ||
+ | C 7 C 5 A 7 A 5 | 2.000000000000000E-01 | ||
+ | C 6 C 5 A 6 A 5 | 7.999999999999999E-02 | ||
+ | C 7 C 4 A 7 A 4 | 7.999999999999999E-02 | ||
+ | C 6 C 4 A 6 A 4 | 2.000000000000000E-01 | ||
+ | C 9 C 5 A 9 A 5 | 2.000000000000000E-01 | ||
+ | C 8 C 5 A 8 A 5 | -3.999999999999999E-02 | ||
+ | C 9 C 4 A 9 A 4 | -3.999999999999999E-02 | ||
+ | C 8 C 4 A 8 A 4 | 2.000000000000000E-01 | ||
+ | C 7 C 6 A 7 A 6 | -1.600000000000000E-01 | ||
+ | C 9 C 7 A 9 A 7 | 2.000000000000000E-01 | ||
+ | C 8 C 7 A 8 A 7 | 7.999999999999999E-02 | ||
+ | C 9 C 6 A 9 A 6 | 7.999999999999999E-02 | ||
+ | C 8 C 6 A 8 A 6 | 2.000000000000000E-01 | ||
+ | C 9 C 8 A 9 A 8 | -3.999999999999999E-02 | ||
+ | C 6 C 5 A 7 A 4 | 1.200000000000000E-01 | ||
+ | C 7 C 4 A 6 A 5 | 1.200000000000000E-01 | ||
+ | C 8 C 5 A 7 A 6 | -1.200000000000000E-01 | ||
+ | C 9 C 4 A 7 A 6 | 1.200000000000000E-01 | ||
+ | C 8 C 5 A 9 A 4 | 2.400000000000000E-01 | ||
+ | C 9 C 4 A 8 A 5 | 2.400000000000000E-01 | ||
+ | C 7 C 6 A 8 A 5 | -1.200000000000000E-01 | ||
+ | C 7 C 6 A 9 A 4 | 1.200000000000000E-01 | ||
+ | C 8 C 7 A 9 A 6 | 1.200000000000000E-01 | ||
+ | C 9 C 6 A 8 A 7 | 1.200000000000000E-01 | ||
+ | |||
+ | |||
+ | Operator on a basis of cubic harmonics | ||
+ | |||
+ | Operator: Coulomb Operator | ||
+ | QComplex = 0 (Real==0 or Complex==1 or Mixed==2) | ||
+ | MaxLength = 4 (largest number of product of lader operators) | ||
+ | NFermionic modes = 10 (Number of fermionic modes (site, spin, orbital, ...) in the one particle basis) | ||
+ | NBosonic modes = 0 (Number of bosonic modes (phonon modes, ...) in the one particle basis) | ||
+ | |||
+ | Operator of Length 4 | ||
+ | QComplex = 0 (Real==0 or Complex==1) | ||
+ | N = 27 (number of operators of length 4) | ||
+ | C 5 C 4 A 5 A 4 | -1.599999999999999E-01 | ||
+ | C 7 C 6 A 5 A 4 | -1.200000000000000E-01 | ||
+ | C 7 C 4 A 7 A 4 | 7.999999999999997E-02 | ||
+ | C 6 C 5 A 7 A 4 | 1.200000000000000E-01 | ||
+ | C 7 C 4 A 6 A 5 | 1.200000000000000E-01 | ||
+ | C 6 C 5 A 6 A 5 | 7.999999999999997E-02 | ||
+ | C 5 C 4 A 7 A 6 | -1.200000000000000E-01 | ||
+ | C 7 C 6 A 7 A 6 | -1.599999999999999E-01 | ||
+ | C 9 C 5 A 9 A 5 | 1.999999999999999E-01 | ||
+ | C 9 C 7 A 9 A 7 | 1.999999999999999E-01 | ||
+ | C 8 C 5 A 8 A 5 | 7.999999999999997E-02 | ||
+ | C 8 C 7 A 8 A 7 | 7.999999999999997E-02 | ||
+ | C 9 C 4 A 9 A 4 | 7.999999999999997E-02 | ||
+ | C 9 C 6 A 9 A 6 | 7.999999999999997E-02 | ||
+ | C 8 C 4 A 8 A 4 | 1.999999999999999E-01 | ||
+ | C 8 C 6 A 8 A 6 | 1.999999999999999E-01 | ||
+ | C 7 C 5 A 7 A 5 | 1.999999999999999E-01 | ||
+ | C 6 C 4 A 6 A 4 | 1.999999999999999E-01 | ||
+ | C 9 C 8 A 9 A 8 | -1.600000000000000E-01 | ||
+ | C 8 C 5 A 9 A 4 | 1.200000000000000E-01 | ||
+ | C 8 C 7 A 9 A 6 | 1.200000000000000E-01 | ||
+ | C 9 C 4 A 8 A 5 | 1.200000000000000E-01 | ||
+ | C 9 C 6 A 8 A 7 | 1.200000000000000E-01 | ||
+ | C 5 C 4 A 9 A 8 | -1.200000000000000E-01 | ||
+ | C 7 C 6 A 9 A 8 | -1.200000000000000E-01 | ||
+ | C 9 C 8 A 5 A 4 | -1.200000000000000E-01 | ||
+ | C 9 C 8 A 7 A 6 | -1.200000000000000E-01 | ||
</file> | </file> | ||