Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[NDTensors] [ITensors] Implement optional rank reduction for QR/RQ/QL/LQ decompositions #1099

Open
wants to merge 118 commits into
base: main
Choose a base branch
from

Commits on Nov 13, 2022

  1. Refactor: Breakout index fixing in qr() for empty left/right indices

    Try and reduce complexity prior to implementing qr with combiners.
    JanReimers committed Nov 13, 2022
    Configuration menu
    Copy the full SHA
    f10e2d3 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2022

  1. Configuration menu
    Copy the full SHA
    cd88e80 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2022

  1. Handle empty index collections on Q or R.

    Also demonstrate index collection that fails for block sparse QR.
    JanReimers committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    9de2ff6 View commit details
    Browse the repository at this point in the history
  2. Fix known block sparse failing use case

    ...With help from Niklas Tausendpfundt
    JanReimers committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    dfb66e0 View commit details
    Browse the repository at this point in the history
  3. Add attribution for Niklas

    JanReimers committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    9752128 View commit details
    Browse the repository at this point in the history
  4. Add qr test on autoMPO generated block sparse tensors

    Heisenberg Hamiltonian
    JanReimers committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    253b5ec View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    c43814f View commit details
    Browse the repository at this point in the history
  6. Run the formatter

    JanReimers committed Nov 16, 2022
    Configuration menu
    Copy the full SHA
    24c2ff7 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2022

  1. Configuration menu
    Copy the full SHA
    78c556f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    401eef3 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2022

  1. Configuration menu
    Copy the full SHA
    c6486eb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6e84eb6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3424827 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ecd8931 View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2022

  1. Configuration menu
    Copy the full SHA
    b75f40d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    93c391f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fd8546c View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3b4962e View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2022

  1. Configuration menu
    Copy the full SHA
    3464d7f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a2391e View commit details
    Browse the repository at this point in the history
  3. Run the formatter

    JanReimers committed Nov 20, 2022
    Configuration menu
    Copy the full SHA
    b9dbda7 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2022

  1. Configuration menu
    Copy the full SHA
    0f8c092 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    53fc8a0 View commit details
    Browse the repository at this point in the history
  3. Merge from RQQLLQ branch

    JanReimers committed Nov 21, 2022
    Configuration menu
    Copy the full SHA
    d0989cc View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2022

  1. Configuration menu
    Copy the full SHA
    4b6ed1a View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2022

  1. Configuration menu
    Copy the full SHA
    d14fb6d View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2022

  1. Configuration menu
    Copy the full SHA
    990f8ca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    67d3594 View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2022

  1. Configuration menu
    Copy the full SHA
    ba0bfdd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    79adbd0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    46b7571 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ac1e53c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3b49821 View commit details
    Browse the repository at this point in the history

Commits on Dec 2, 2022

  1. Configuration menu
    Copy the full SHA
    ce7512c View commit details
    Browse the repository at this point in the history
  2. Remove direction tests

    JanReimers committed Dec 2, 2022
    Configuration menu
    Copy the full SHA
    ad726dc View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2022

  1. Configuration menu
    Copy the full SHA
    35690ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    82cef17 View commit details
    Browse the repository at this point in the history
  3. Improvements based on Matt's code review

    Clean up LinearAlgebra overloads
    Clean usage of permute()
    Remove julia<=v1.5 specifc code
    JanReimers committed Dec 7, 2022
    Configuration menu
    Copy the full SHA
    d05220d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    06bf618 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2022

  1. Configuration menu
    Copy the full SHA
    48c5164 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2023

  1. Configuration menu
    Copy the full SHA
    ce72646 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5d7efd3 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2023

  1. Configuration menu
    Copy the full SHA
    7059446 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    405014e View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2023

  1. Configuration menu
    Copy the full SHA
    cf7ef37 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2fe0fa3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e937732 View commit details
    Browse the repository at this point in the history
  4. Add QR/RQ code to ensure all flux is moved onto R

    When QR/RQ decomposing a zero flux tensor, this effectively ensures that there is zero flux between Q and R.  One can think of this a reduction in the gauge freedom between Q and R, making the results a little more deterministic.
    Unit tests are also updated to check the zero flux was achieved.
    JanReimers committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    01d86f4 View commit details
    Browse the repository at this point in the history
  5. Implement all but one of Matts code review recommendations

    Remove NDTensor. and LinearAlgebra. qualifiers
    Remove special code the version <1.5
    clean up code for empty Lis/Ris
    Remove usage of IndexSet
    Use allow_alias when calling permute (less if statements)
    Use out of place versions of settags
    JanReimers committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    3ac4267 View commit details
    Browse the repository at this point in the history
  6. Run the formatter

    JanReimers committed Mar 2, 2023
    Configuration menu
    Copy the full SHA
    0d0d120 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    2a93b6e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1e8830d View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2023

  1. Fix flux requirements at the NDTensors level.

    FOllows the internal index creation of the SVD routine.
    JanReimers committed Mar 3, 2023
    Configuration menu
    Copy the full SHA
    84a6f20 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2023

  1. Format

    JanReimers committed Mar 4, 2023
    Configuration menu
    Copy the full SHA
    cf722ef View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7e39a55 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2023

  1. Configuration menu
    Copy the full SHA
    eb955be View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2023

  1. Implement core qx functions accepting both Linds and Rinds

    wrappers provided for Linds only interface
    JanReimers committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    df6c07f View commit details
    Browse the repository at this point in the history
  2. Format

    JanReimers committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    9223523 View commit details
    Browse the repository at this point in the history
  3. Stri[ out extra indices in Linds, not in A.

    Need this to pass som eunit tests in  test/base/test_itensor.jl
    JanReimers committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    462ffbf View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9f80aa2 View commit details
    Browse the repository at this point in the history
  5. Format

    JanReimers committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    f931cbe View commit details
    Browse the repository at this point in the history
  6. Strip out extra indices in Linds, not in A.

    Need this to pass som eunit tests in  test/base/test_itensor.jl
    JanReimers committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    a31fb5c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    492443c View commit details
    Browse the repository at this point in the history
  8. Format

    JanReimers committed Mar 7, 2023
    Configuration menu
    Copy the full SHA
    35e560f View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2023

  1. Configuration menu
    Copy the full SHA
    9128de9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    82c18f1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9e86676 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cb1f0d1 View commit details
    Browse the repository at this point in the history
  5. Use more likely to pass a String rather than a tagset

    Take away TagSet restiction on arguments for xq() function
    Add some test to confirm the users tags are getting used.
    JanReimers committed Mar 8, 2023
    Configuration menu
    Copy the full SHA
    32972cc View commit details
    Browse the repository at this point in the history
  6. Format

    JanReimers committed Mar 8, 2023
    Configuration menu
    Copy the full SHA
    aa29914 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    ca39f9c View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    d4709c4 View commit details
    Browse the repository at this point in the history
  9. Fix bug in ql_positive routine

    Locating the diagonal in a lower tri matrix requires a little extra work.
    Add unit tests accordingly
    JanReimers committed Mar 8, 2023
    Configuration menu
    Copy the full SHA
    858e070 View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2023

  1. Remove some debug code.

    JanReimers committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    885dfe9 View commit details
    Browse the repository at this point in the history
  2. Fix: UndefVarError: tensor not defined

    Have to remember run unit test in a fresh REPL.
    JanReimers committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    5ee47bf View commit details
    Browse the repository at this point in the history
  3. Qualify tensor()

    JanReimers committed Mar 9, 2023
    Configuration menu
    Copy the full SHA
    420241d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8596e72 View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2023

  1. Configuration menu
    Copy the full SHA
    5e72caa View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2023

  1. Enhance unit tests for qr/ql decomp

    Test for 32/64 bit float and complex types
    Test for positive/real diagonals on L/R
    Enhance unit tests for qr/ql decomp
    JanReimers committed Mar 11, 2023
    Configuration menu
    Copy the full SHA
    2b10908 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2023

  1. Format

    JanReimers committed Mar 12, 2023
    Configuration menu
    Copy the full SHA
    3b5072d View commit details
    Browse the repository at this point in the history
  2. Don't assume lapack qr/ql returns reals on the R/L diagonals

    Use a more general complex phase change, instead of the sign change.
    JanReimers committed Mar 12, 2023
    Configuration menu
    Copy the full SHA
    59542df View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2023

  1. Configuration menu
    Copy the full SHA
    042578b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e6ff0e6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    af73844 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e191c1d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6d3f6b3 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4a16f3d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    11d43a4 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2023

  1. Configuration menu
    Copy the full SHA
    49df0be View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e53c85b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    04cccd7 View commit details
    Browse the repository at this point in the history
  4. Format

    JanReimers committed Mar 16, 2023
    Configuration menu
    Copy the full SHA
    b22f8a3 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    43d914f View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2023

  1. Configuration menu
    Copy the full SHA
    3a8159c View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Clean up and comment code.

    JanReimers committed Mar 20, 2023
    Configuration menu
    Copy the full SHA
    0492071 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    62ed9cc View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2023

  1. Remove the old test/decomp/jl file

    Somehow it crept back in after merging the reorg.
    JanReimers committed Mar 21, 2023
    Configuration menu
    Copy the full SHA
    0ec04b7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1961520 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    491b830 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2023

  1. Configuration menu
    Copy the full SHA
    9aff488 View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2023

  1. Configuration menu
    Copy the full SHA
    f8976f9 View commit details
    Browse the repository at this point in the history
  2. Fix names cutoff and verbose

    Take out rr prefixes
    JanReimers committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    fdce8fe View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    543d355 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4d22400 View commit details
    Browse the repository at this point in the history
  5. Format

    JanReimers committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    1540aac View commit details
    Browse the repository at this point in the history
  6. Fix some unit test fails.

    Factorize likes to pass cutoff=nothing down in the qr ?
    JanReimers committed Apr 13, 2023
    Configuration menu
    Copy the full SHA
    0cdc115 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2023

  1. Configuration menu
    Copy the full SHA
    9da7b54 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a954c54 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2023

  1. Configuration menu
    Copy the full SHA
    be0074d View commit details
    Browse the repository at this point in the history
  2. Support the new NoPivot, ColumnNorm types

    Also add RowNorm for lq
    JanReimers committed Apr 24, 2023
    Configuration menu
    Copy the full SHA
    a86f4cf View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2023

  1. Support Matts proposed interface

    RowNorm() for lq
    atol/rtol instead of cutoff
    block_rtol for future block sparse relative cutoff support
    JanReimers committed Apr 25, 2023
    Configuration menu
    Copy the full SHA
    cde6dad View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c790493 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2023

  1. Configuration menu
    Copy the full SHA
    9fa3dd3 View commit details
    Browse the repository at this point in the history
  2. Format

    JanReimers committed Apr 26, 2023
    Configuration menu
    Copy the full SHA
    afe67fd View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    99abd4d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6091157 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2023

  1. Configuration menu
    Copy the full SHA
    e33dd47 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. Configuration menu
    Copy the full SHA
    6b747dd View commit details
    Browse the repository at this point in the history