pyblock.symmetry¶
pyblock.symmetry.symmetry¶
Symmetry related data structures.
-
class
pyblock.symmetry.symmetry.
DirectProdGroup
(*args)¶ Bases:
object
Irreducible representation for symmetry formed by direct product of sub-symmetries.
- Attributes:
- irs : list(Group)
- A list of irreducible representations for sub-symmetries.
- ng : int
- Number of sub-symmetries.
-
sub_group
(idx)¶ Return a subgroup of this object, given a list of indices.
-
class
pyblock.symmetry.symmetry.
HashIrrep
(ir)¶ Bases:
object
Base class for irreducible representation, supporting hashing.
-
class
pyblock.symmetry.symmetry.
PGC1
(ir)¶ Bases:
pyblock.symmetry.symmetry.PointGroup
\(C_1\) point group.
-
Cached
= [None]¶
-
InverseElem
= array([0])¶
-
IrrepNames
= ['A']¶
-
Table
= array([[0]])¶
-
-
class
pyblock.symmetry.symmetry.
PGC2
(ir)¶ Bases:
pyblock.symmetry.symmetry.PGCI
\(C_2\) point group.
-
IrrepNames
= ['A', 'B']¶
-
-
class
pyblock.symmetry.symmetry.
PGC2H
(ir)¶ Bases:
pyblock.symmetry.symmetry.PGC2V
\(C_{2h}\) point group.
-
IrrepNames
= ['Ag', 'Au', 'Bu', 'Bg']¶
-
-
class
pyblock.symmetry.symmetry.
PGC2V
(ir)¶ Bases:
pyblock.symmetry.symmetry.PointGroup
\(D_{c2v}\) point group.
-
Cached
= [None, None, None, None]¶
-
InverseElem
= array([0, 1, 2, 3])¶
-
IrrepNames
= ['A1', 'B1', 'B2', 'A2']¶
-
Table
= array([[0, 1, 2, 3], [1, 0, 3, 2], [2, 3, 0, 1], [3, 2, 1, 0]])¶
-
-
class
pyblock.symmetry.symmetry.
PGCI
(ir)¶ Bases:
pyblock.symmetry.symmetry.PointGroup
\(C_i\) point group.
-
Cached
= [None, None]¶
-
InverseElem
= array([0, 1])¶
-
IrrepNames
= ['Ag', 'Au']¶
-
Table
= array([[0, 1], [1, 0]])¶
-
-
class
pyblock.symmetry.symmetry.
PGCS
(ir)¶ Bases:
pyblock.symmetry.symmetry.PGCI
\(C_s\) point group.
-
IrrepNames
= ["A'", "A''"]¶
-
-
class
pyblock.symmetry.symmetry.
PGD2
(ir)¶ Bases:
pyblock.symmetry.symmetry.PGC2V
\(D_2\) point group.
-
IrrepNames
= ['A1', 'B3', 'B2', 'B1']¶
-
-
class
pyblock.symmetry.symmetry.
PGD2H
(ir)¶ Bases:
pyblock.symmetry.symmetry.PointGroup
\(D_{2h}\) point group.
-
Cached
= [None, None, None, None, None, None, None, None]¶
-
InverseElem
= array([0, 1, 2, 3, 4, 5, 6, 7])¶
-
IrrepNames
= ['Ag', 'B3u', 'B2u', 'B1g', 'B1u', 'B2g', 'B3g', 'Au']¶
-
Table
= array([[0, 1, 2, 3, 4, 5, 6, 7], [1, 0, 3, 2, 5, 4, 7, 6], [2, 3, 0, 1, 6, 7, 4, 5], [3, 2, 1, 0, 7, 6, 5, 4], [4, 5, 6, 7, 0, 1, 2, 3], [5, 4, 7, 6, 1, 0, 3, 2], [6, 7, 4, 5, 2, 3, 0, 1], [7, 6, 5, 4, 3, 2, 1, 0]])¶
-
-
class
pyblock.symmetry.symmetry.
ParticleN
(ir)¶ Bases:
pyblock.symmetry.symmetry.HashIrrep
Irreducible representation for particle number symmetry.
-
CachedM
= []¶
-
CachedP
= []¶
-
static
clebsch_gordan
(a, b, c)¶
-
multiplicity
¶
-
-
class
pyblock.symmetry.symmetry.
PointGroup
(ir)¶ Bases:
pyblock.symmetry.symmetry.HashIrrep
Base class for irreducible representation for point group symmetry.
- Attributes:
- Table : rank-2 numpy.ndarray
- Mutiplication table of the group.
- InverseElem : rank-1 numpy.ndarray
- Inverse Element of each element in the group.
- IrrepNames : list(str)
- Name of each irreducible representation in the group.
-
InverseElem
= array([], dtype=int64)¶
-
IrrepNames
= []¶
-
Table
= array([], shape=(0, 0), dtype=int64)¶
-
static
clebsch_gordan
(a, b, c)¶
-
multiplicity
¶
-
class
pyblock.symmetry.symmetry.
SU2
(s)¶ Bases:
pyblock.symmetry.symmetry.HashIrrep
Irreducible representation for SU(2) spin symmetry.
-
Cached
= []¶
-
static
clebsch_gordan
(a, b, c)¶ Return rank-3 numpy.ndarray for CG coefficients with all possible projected quantum numbers.
-
j
¶ SU(2) spin quantum number.
-
multiplicity
¶
-
to_multi
()¶
-
-
class
pyblock.symmetry.symmetry.
SU2Proj
(s, sz)¶ Bases:
pyblock.symmetry.symmetry.SU2
Irreducible representation for SU(2) spin symmetry with extra projected spin label.
-
Cached
= []¶
-
copy
()¶
-
jz
¶ SU(2) projected spin quantum number.
-
multiplicity
¶
-
static
random_from_multi
(multi)¶
-
to_multi
()¶
-
-
class
pyblock.symmetry.symmetry.
SZ
(sz)¶ Bases:
pyblock.symmetry.symmetry.HashIrrep
Irreducible representation for projected spin symmetry.
-
CachedM
= []¶
-
CachedP
= []¶
-
static
clebsch_gordan
(a, b, c)¶
-
multiplicity
¶
-
-
pyblock.symmetry.symmetry.
point_group
(pg_name)¶ Return point group class corresponding to the point group name.
pyblock.symmetry.cg¶
Clebsch-Gordan coefficients.
-
class
pyblock.symmetry.cg.
CG
¶ Bases:
object
Precomputed numerical constants.
- Attributes:
- NSqrtFact : int
- Number of constants to generate.
- SqrtFact : [float]
- A list of size
NSqrtFact
, with element at index \(i\) being \(\sqrt{i!}\).
-
NSqrtFact
= 200¶
-
SqrtFact
= [1.0, 1.0, 1.4142135623730951, 2.4494897427831783, 4.898979485566357, 10.954451150103324, 26.832815729997478, 70.9929573971954, 200.79840636817815, 602.3952191045345, 1904.9409439665055, 6317.974358922329, 21886.105181141756, 78911.47445080469, 295259.7012800765, 1143535.9058639132, 4574143.623455653, 18859677.306253154, 80014834.28544986, 348776576.6344295, 1559776268.6284986, 7147792818.185868, 33526120082.371723, 160785623545.4059, 787685471322.9384, 3938427356614.692, 20082117944245.96, 104349745809073.98, 552166953567228.56, 2973510046012911.0, 1.6286585271694958e+16, 9.067986906793549e+16, 5.129628026803635e+17, 2.9467469553410734e+18, 1.7182339742875652e+19, 1.016520927791757e+20, 6.099125566750542e+20, 3.709953246501409e+21, 2.28696877430935e+22, 1.4282115417961528e+23, 9.032802905233224e+23, 5.78381592144527e+24, 3.748341123420972e+25, 2.4579516484946122e+26, 1.6304206741784305e+27, 1.0937194378152021e+28, 7.417966136220958e+28, 5.085501366740237e+29, 3.523338699662022e+30, 2.4663370897634156e+31, 1.743963680863606e+32, 1.2454391808865588e+33, 8.980989654316716e+33, 6.538259159791714e+34, 4.804619624270389e+35, 3.5632012788584193e+36, 2.666455677120592e+37, 2.013129889124823e+38, 1.5331540468207618e+39, 1.1776379687564844e+40, 9.12194448171079e+40, 7.124466393192019e+41, 5.609810447812648e+42, 4.452649004137246e+43, 3.5621192033097967e+44, 2.8718723147247465e+45, 2.333120097803461e+46, 1.9097411059666882e+47, 1.574812859496909e+48, 1.3081378078327272e+49, 1.094466613011557e+50, 9.222139602976429e+50, 7.825244940376377e+51, 6.685892207860282e+52, 5.751421947239992e+53, 4.9808775141931966e+54, 4.3422283469044446e+55, 3.810289910601107e+56, 3.365156932181069e+57, 2.9910169058002633e+58, 2.6752468492881897e+59, 2.4077221643593707e+60, 2.18028515039039e+61, 1.9863343046226287e+62, 1.8205054612841334e+63, 1.6784231035053562e+64, 1.5565055535934573e+65, 1.4518117296604024e+66, 1.3619201234191327e+67, 1.28483287477043e+68, 1.2188994890809342e+69, 1.1627560052213894e+70, 1.1152763807523816e+71, 1.0755335917960174e+72, 1.042768505784838e+73, 1.0163650175128552e+74, 9.958302741285535e+74, 9.807790764615758e+75, 9.709217501366035e+76, 9.66054943799493e+77, 9.660549437994932e+78, 9.708732028353838e+79, 9.805338706559366e+80, 9.95133192918726e+81, 1.0148407138632953e+83, 1.039902283024848e+84, 1.0706449288791818e+85, 1.1074837259283488e+86, 1.1509308491181515e+87, 1.2016070835354184e+88, 1.2602561412358772e+89, 1.327762234396748e+90, 1.4051714689748987e+91, 1.4937177607097716e+92, 1.5948541417547213e+93, 1.710290528972495e+94, 1.842039273319627e+95, 1.9924701154117024e+96, 2.1643765498993683e+97, 2.3610560690520687e+98, 2.586407337108586e+99, 2.845048070819445e+100, 3.142458305345292e+101, 3.4851548555301434e+102, 3.880904200712949e+103, 4.338982803479321e+104, 4.870496117317052e+105, 5.488770370909736e+106, 6.209834799433722e+107, 7.053016533709026e+108, 8.041676124552938e+109, 9.204119018612712e+110, 1.0574727661722569e+112, 1.2195370868041227e+113, 1.411716241374845e+114, 1.6402660477245914e+115, 1.9128624838060237e+116, 2.2389481343423286e+117, 2.630168525516852e+118, 3.100922958885159e+119, 3.6690615252019864e+120, 4.356769168863748e+121, 5.191689645855348e+122, 6.208357848239801e+123, 7.450029417887761e+124, 8.971023385028039e+125, 1.083972879914858e+127, 1.3142472714275038e+128, 1.598850811637179e+129, 1.9516461353510194e+130, 2.390268595042376e+131, 2.937211223973046e+132, 3.621237199747418e+133, 4.479223040992357e+134, 5.5585696126317876e+135, 6.920363358569688e+136, 8.643531064491464e+137, 1.083031338155279e+139, 1.3613492826948325e+140, 1.716596129698258e+141, 2.1713414369905214e+142, 2.7551234190045317e+143, 3.5066996146511464e+144, 4.477054362575133e+145, 5.733427060261861e+146, 7.364720406187589e+147, 9.488778480804807e+148, 1.2262204185483942e+150, 1.58936331434106e+151, 2.066172308643378e+152, 2.693959096814204e+153, 3.522808638313566e+154, 4.62012021572425e+155, 6.076819373438455e+156, 8.015875288043762e+157, 1.0604006276336018e+159, 1.4067804037272116e+160, 1.871599597838781e+161, 2.4970253096918963e+162, 3.340792175676754e+163, 4.482143042107585e+164, 6.030106741372272e+165, 8.135058752612967e+166, 1.1004903500825924e+168, 1.4927777395010379e+169, 2.0303972399920127e+170, 2.7690926476069663e+171, 3.7866772440000606e+172, 5.192030253612592e+173, 7.1378614943041415e+174, 9.838863082315585e+175, 1.3597579310207216e+177, 1.884135858018101e+178, 2.6175251876030417e+179, 3.645790713824437e+180, 5.0910696677188154e+181, 7.127497534806342e+182, 1.0003919511075688e+184, 1.4076762520426352e+185, 1.9857717232411065e+186]¶