JoeyT1994 / ITensorNumericalAnalysis.jl

MIT License
4 stars 1 forks source link

BitMap Changes #19

Closed JoeyT1994 closed 7 months ago

JoeyT1994 commented 7 months ago
  1. We should remove base from the BitMap structure and solely have BitMap tell us which vertex a given digit corresponds to.

The base should instead be inferred from the dimension of the physical index on a given site instead.

Siteinds(g, bit_map; base = 2) will construct dimension base physical indices and then a physical index s can be mapped to its corresponding scalars for the range of values it can take via

[i / (dim(s)^digit(bm, s)) for i in 1:dim(s)]

  1. Currently the BitMap is injective and each vertex corresponds to a unique digit. We should make it so that, actually, each physical Index corresponds to a unique digit instead and not base it around vertices. Each physical Index obviously lives on a vertex so one can also inquire about the digits which live on a vertex via digits(bm, vertex) = [digit(bm, ind) for ind in vertex(bm, ind)] if the BitMap was to contain information about the vertices too.

But.. that is information contained in siteinds so it probably makes sense to tie them together into a structure containing the IndsNetwork and the BitMap which is passed around.

JoeyT1994 commented 7 months ago

Closed and addressed by #20