ITensor / NDTensors.jl

A Julia package for n-dimensional sparse tensors.
Apache License 2.0
27 stars 7 forks source link

Think about the names of sparse storage types/tensors #10

Open mtfishman opened 4 years ago

mtfishman commented 4 years ago

It may be good to rethink the names of the sparse storage tensors and constructors. Right now there is:

DiagBlockSparse may not be a good name, however. I think it is a bit misleading, because naively one might expect that it has a general block sparse structure (where any blocks may be nonzero), where the blocks are diagonal. However, it is actually a block diagonal tensor (the only nonzero blocks are along the diagonal), where the nonzero blocks themselves are diagonal. Therefore, it may be better to call it DiagBlockDiag. This looks like a strange name, but it is anticipating that we may want to have a BlockDiag storage where the diagonal blocks are dense (many block diagonal matrices already show up in the code, for example as inputs to eigen).

Additionally, we may want to rename these constructors:

to explicitly use UniformDiag instead of Diag, so it is clearer that a uniform Diag storage is being made.

emstoudenmire commented 4 years ago

I agree: good to think about naming conventions that will "scale" to future designs we want to have.