12 #include "tntMpsInternal.h"
41 tntErrorPrint(
"Cannot connect the MPS to the MPO as there are not the same number of nodes in the two networks|"
42 "MPS contains %d nodes, MPO contains %d nodes",L,
tntMpsLength(mpo));
99 double err_tot=0.0, err;
116 for (j = 0; j < L-1; j++) {
122 Cc =
tntNodeSVD(Cc,
"LD",
"R",
"L",
"R",
"L", -1, &err);
182 C = tntNodeListContract(
"LRDS",Udag,C,A,O);
void tntNodeFuse(tntNode A, tntLegLabel fuseLegs, tntLegLabel newLabelA, tntLegLabel newLabelB)
tntNode tntNodeCopy(tntNode A)
void tntNodeGroupFree(tntNode *A)
void tntNodeJoin(tntNode A, tntLegLabel legA, tntNode B, tntLegLabel legB)
tntNode tntNodeFindLast(tntNetwork nw)
double tntMpsTruncate(tntNetwork mps, unsigned orth_centre, int chi)
void tntNodeMapLegs(tntNode A, tntLegLabel legmap)
tntNode tntNodeSVD(tntNode A, tntLegLabel Ulegs, tntLegLabel legUS, tntLegLabel legSU, tntLegLabel legSV, tntLegLabel legVS, int chi, double *err, tntLegLabel legmap)
unsigned tntMpsLength(tntNetwork wf)
double tntMpsMpoProduct(tntNetwork mps, tntNetwork mpo, int chi)
void tntMpsMpoConnect(tntNetwork mps, tntNetwork mpo)
tntNode tntNodeFindConn(tntNode A, tntLegLabel legA)
tntNode tntNodeContract(tntNode A, tntNode B, tntLegLabel legMapAC, tntLegLabel legMapBC)
tntNode tntNodeFindFirst(tntNetwork nw)
void tntNodeInsertAtStart(tntNode I, tntLegLabel legInwstart, tntLegLabel legIfirst, tntNetwork nw)
tntNetwork tntNetworkCopy(tntNetwork nw)
void tntNetworkToNodeGroup(tntNetwork *nwp, int strip_connections)
double tntMpsMpoContract(tntNetwork mpsmpo, int chi)
void tntNodeSplit(tntNode A, tntNode B)