Skip to content

build a BlockTensorMap with input sub-Tensors with product space #31

@ZongYongyue

Description

@ZongYongyue

Hi Lukas,

I would like to build a series of block tensors like [1 B], [1 B; 0 1], [B, 1], where B=e*e, and e is the electron creation operator:

pspace = Vect[I]((0,0,0)=>1, (1,1,1//2)=>1, (0,2,0)=>1)
vspace = Vect[I]((1,1,1//2)=>1)
ee = add_single_util_leg(e)add_single_util_leg(e)
ee = permute(ee, ((1,3,2,4),(5,7,6,8)))

i1  = isomorphism(storagetype(ee), oneunit(vspace)*oneunit(vspace)*pspace*pspace, pspace*pspace*oneunit(vspace)*oneunit(vspace))
i2  = isomorphism(storagetype(ee), vspace*vspace*pspace*pspace, pspace*pspace*vspace*vspace)

W1 = [i1, ee]
W2 = [i1 ee; 0 i2]

BlockTensorMap([i1, ee], SumSpace(oneunit(vspace)*oneunit(vspace))*pspace*pspace,  pspace*pspace*SumSpace(oneunit(vspace)*oneunit(vspace), vspace*vspace))

BlockTensorMap([i1 ee; 0 i2], SumSpace(oneunit(vspace)*oneunit(vspace), vspace*vspace)*pspace*pspace,  pspace*pspace*SumSpace(oneunit(vspace)*oneunit(vspace), vspace*vspace))

and did I build them in a right way?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions