8 #include "tntMpsInternal.h"
45 tntIntArray qnums_phys, qnums_int;
46 unsigned config_length;
51 tntErrorPrint(
"Cannot create wave function using configuration as the basis operator for the system has not yet been set");
69 config_length = _tnt_strlen(config);
72 for (loop = 0; loop < L; loop++) {
76 if (loop < config_length) {
77 bs = (unsigned) config[loop] -
'0';
80 if (bs > d-1) tntErrorPrint(
"Invalid configuration %s|The character %d is larger than the physical dimension (%d) allows.",config,bs,d);
87 Aarr.vals[bs].re = 1.0;
96 Aarr.vals[bs].re = 0.0;
void tntNodeSetQN(tntNode A, tntLegLabel legA, tntIntArray *qvals, int legdir)
tntNetwork tntNetworkCreate(void)
void tntNodeMakeCovariantQN(tntNode A)
unsigned tntSymmNumGet(void)
void tntNodeInsertAtEnd(tntNode I, tntLegLabel legIlast, tntLegLabel legInwend, tntNetwork nw)
tntComplexArray tntComplexArrayAlloc(unsigned numrows, unsigned numcols)
tntNetwork tntMpsCreateConfig(unsigned L, const char *config)
tntIntArray tntNodeGetQN(tntNode A, tntLegLabel legA)
void tntIntArrayFree(tntIntArray *arr)
tntIntArray tntIntArrayAlloc(unsigned numrows, unsigned numcols)
tntNode tntSysBasisOpGet(void)
tntNode tntNodeCreate(tntComplexArray *nodeVals, tntLegLabel leglabels, unsigned dimleg1, unsigned dim...)
void tntComplexArrayFree(tntComplexArray *arr)
unsigned tntNodeGetLegDim(tntNode A, tntLegLabel legA)