QN Index
An Index object can be given additional quantum number (QN) block structure when it is constructed. This structure cannot be changed afterward.
In addition to the QN structure, a set of tags and an Arrow direction (In,Out) can be specified when constructing an Index.
Synopsis
// Construct an Index with QN information
// 3 blocks, total size 4+8+4=16
auto I = Index(QN({"Sz", 2}),4,
QN({"Sz", 0}),8,
QN({"Sz",-2}),4);
// Provide Arrow direction and tags
auto J = Index(QN({"T", 1}),3,
QN({"T",-1}),3,
In,"J,Link");
// Make an Index with five blocks
// and total size 4+8+10+8+4=34
auto I = Index(QN(+2),4,
QN(+1),8,
QN( 0),10,
QN(-1),8,
QN(-2),4,
"I");
Print(dim(I)); //prints: dim(I) = 16
//Get number of blocks of I
Print(nblock(I)); //prints: nblock(I) = 3
//Get information about block 2
Print(blocksize(I,2)); //prints: blocksize(I,2) = 8
Print(qn(I,2)); //prints: QN({"Sz",0})
//Get direction of I
Print(dir(I)); //prints: dir(I) = Out
Index properties
.dag()
dag(Index I) -> Index
Change the arrow direction of the Index.
dir(Index I) -> Arrow
Return the
Arrow
direction of this Index.nblock(Index I) -> int
Return the number of QN blocks of this Index.
qn(Index I, int j) -> QN
Return the QN of block
j
.blocksize(Index I, int j) -> int
Return the block size of block
j
.
Back to Classes
Back to Main