Skip to content

MatrixAlgebraKit support trackerΒ #274

@lkdvos

Description

@lkdvos

Summarizing some of the ideas and discussions around #230

  • Have the MatrixAlgebraKit functions overloaded and working for AbstractTensorMap, more or less the way it is implemented right now.
  • The specializations for DiagonalTensorMap would ideally not be needed, and moved into MatrixAlgebraKit
  • The old functions leftorth, rightorth and tsvd could remain in their current form, but have deprecation warnings and simply pass on to the new ones
  • The old structs SDD, QR, ... might just have to be removed, since I'm not sure what the correct way is to deprecate a struct
  • The old truncation schemes might have to be removed?
  • Separate out the factorization tests from the regular tensor tests, and have a bit more of them. Currently we are testing various cases of 5-leg tensors, which is both expensive because they become quite large, and very inconvenient to write new tests with these exact same spaces. In principle, there are some edge cases (empty tensors, 1 leg tensors, etc) that are relevant, and otherwise none of this really depends on the number of legs, so we can probably make these tests both lighter and cover more grounds
  • At some point we would probably also have to actually investigate some multithreading for all of these things, but I'm not sure if we want to immediately add this, since its a very annoying thing to handle: for many cases BLAS is just very efficient with its threading, so it is very easy to make things slower by adding more multithreading, and the actual good approach depends heavily on the distribution of block sizes
  • Update the docs to reflect all of the changes
  • Test truncated eigenvalue decomposition, and check if this works with autodiff

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions