Skip to content

Interface discussion #2

Description

@Jutho

@lkdvos , maybe we can discuss the interface here.

For the family of methods like qr, eigen and svd (possibly trunced) there needs to be support for:

  • backends (LAPACK, CUSOLVER, KrylovKit, ...)

  • algorithms supported by these backends (QRIteration, DivideAndConquer, RobustRepresentations, Jacobi,...)

  • possible options/keywords to configure those algorithms

  • possible keywords to control truncation? specific to svd?

Then there is something like polar? Do we want a specific method for polar decomposition. That could be computed via SVD (and thus need the previous levels of control), but there are also other packages (=backends?) that can do this without SVD.

If we also define methods like leftorth and friends here (this could also be restricted to TensorKit), they can be computed using e.g. either svd or qr. I don't know if there are other relevant strategies? So the question is how to convey that information? A strategy or kind arg/kwarg?

Something similar exists for matrix functions, like exponential, which can use things like Pade approximations, Schur-Parlett, diagonalisation in the case of hermitian matrices, ….

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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