Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
669f49e
implement `foreachblock`
lkdvos Mar 16, 2025
6534489
Implement `eig_full!`
lkdvos Mar 16, 2025
d90b210
Use `eig_full` in `eig`
lkdvos Mar 16, 2025
49b41e2
Fix factorisation scalartype
lkdvos Mar 19, 2025
3f9c871
Add scheduler support
lkdvos Mar 19, 2025
900200a
Add BlockAlgorithm
lkdvos Mar 19, 2025
b455203
Add more matrixalgebra methods
lkdvos Mar 19, 2025
45075b0
Start switching more factorizations over
lkdvos Mar 20, 2025
d2a0071
Improve `svd` error messages
lkdvos Mar 20, 2025
eafe7ea
more error msg improvements
lkdvos Mar 20, 2025
dc594ac
Properly escape macro hygiene
lkdvos Mar 20, 2025
ae10930
Fix SVD spaces
lkdvos Mar 20, 2025
91a6540
Also return `truncerr`
lkdvos Mar 20, 2025
63d3083
Add `setdiff` for ElementarySpace
lkdvos Apr 2, 2025
cf9a34d
Add `qr_` implementations
lkdvos Apr 2, 2025
1df86d1
start adding truncated svd
lkdvos Apr 2, 2025
f11533f
patch through leftorth
lkdvos Apr 2, 2025
bc0abab
Add `isisometry`
lkdvos May 8, 2025
75898d7
Revert isposdef changes
lkdvos May 8, 2025
6c1e126
preinitialize polar output
lkdvos May 8, 2025
394c9a3
Bump to MatrixAlgebraKit v0.2
lkdvos May 9, 2025
c2b0921
Rework left_orth
lkdvos May 9, 2025
940d044
Rework left_null
lkdvos May 9, 2025
694a0a7
include temporary tests
lkdvos May 9, 2025
7f2f6a2
Change `Base.setdiff` for `ominus`
lkdvos May 27, 2025
374f65a
change blockscheduler to type domain
lkdvos Jun 11, 2025
ec2df6c
make block iterator loop over union of sectors
lkdvos Jun 11, 2025
f856106
refactor `left_orth` for new matrixalgebrakit version
lkdvos Jun 11, 2025
ed3c825
Bunch of simplifications for new matrixalgebrakit versions
lkdvos Jun 11, 2025
6a18d85
Major overhaul
lkdvos Jun 12, 2025
25d03be
Clean up truncation
lkdvos Jun 12, 2025
7aeba6c
Update tuple formatting
lkdvos Jun 12, 2025
d297ea3
Fix scheduler selection
lkdvos Jun 12, 2025
545d7f6
Retain `dual` in `ominus`
lkdvos Jun 12, 2025
8537fec
Update blockiterator
lkdvos Jun 12, 2025
74758bc
Update svd rrule
lkdvos Jun 12, 2025
a1297f6
Update eig(h) rrule
lkdvos Jun 12, 2025
5ed31b6
Implement `isposdef`
lkdvos Jun 12, 2025
e538bc1
Fix imports
lkdvos Jun 12, 2025
ee4fb1c
Update tests and fixes
lkdvos Jun 12, 2025
3073b90
Clean up tests
lkdvos Jun 13, 2025
2a6a7d3
Bump minimal MatrixAlgebraKit version
lkdvos Jun 15, 2025
54fef81
Fix uninitialized cotangents
lkdvos Jun 15, 2025
4cdcb11
Update and use `MatrixAlgebraKit.isisometry`
lkdvos Jun 15, 2025
816c807
Fix missing export
lkdvos Jun 16, 2025
f0a7e79
Implement remaining factorization rrules
lkdvos Jun 17, 2025
4618584
Implement truncated eigenvalues
lkdvos Jun 17, 2025
f7eeaab
Implement `TruncationKeepSorted`
lkdvos Jun 17, 2025
86408a5
correctly restrict type
lkdvos Jul 30, 2025
fab7170
canonical use of codomain as first arg
lkdvos Jul 30, 2025
517c4d8
import Diagonal
lkdvos Jul 30, 2025
008c822
Merge branch 'master' into matrixalgebra
lkdvos Aug 6, 2025
1351eaf
rework algorithm selection using updated matrixalgebrakit
lkdvos Aug 6, 2025
538fd4e
Implement singular- and eigenvalues
lkdvos Aug 6, 2025
c43dff3
small fixes
lkdvos Aug 6, 2025
87f55d4
remove wrongly added modules
lkdvos Aug 6, 2025
cad4fbe
fix docstring
lkdvos Aug 6, 2025
0ee4229
remove leftpolar and rightpolar
lkdvos Aug 6, 2025
ef17718
format
lkdvos Aug 6, 2025
cc18e95
Bump actions/checkout from 4 to 5 (#267)
dependabot[bot] Aug 12, 2025
ca2c67a
Add citation file (#268)
lkdvos Aug 16, 2025
b9f874d
Fix citation.cff
lkdvos Aug 18, 2025
58dafef
Tests passing
Aug 18, 2025
2c1da06
Merge pull request #269 from kshyatt/matrixalgebra
lkdvos Aug 18, 2025
dd820ff
Merge branches 'master' and 'matrixalgebra' of https://github.com/Jut…
lkdvos Aug 19, 2025
6813a77
Added a few more eig/eigh/svd tests
Aug 21, 2025
8549b2a
Merge pull request #271 from kshyatt/matrixalgebra
lkdvos Aug 21, 2025
e15ccf8
Excise MatrixAlgebra module entirely to use MatrixAlgebraKit
Aug 21, 2025
08b8321
Restore argmax and fix AD test
Aug 21, 2025
18b7421
Respond to comments
Aug 21, 2025
59bdfd8
Remove unneeded default_algorithm
Aug 21, 2025
113f9a1
Merge pull request #272 from kshyatt/ksh/surgery
lkdvos Aug 21, 2025
7838bc8
clean up handling AdjointTensorMap
lkdvos Aug 31, 2025
2257dca
more adjoint specializations
lkdvos Aug 31, 2025
1bc5d79
remove previous adjoint specializations
lkdvos Aug 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- macOS-latest
- windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
Expand Down Expand Up @@ -57,7 +57,7 @@ jobs:
- windows-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
os:
- ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: julia-actions/setup-julia@latest
with:
version: ${{ matrix.version }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/DocumentationCleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
contents: write
steps:
- name: Checkout gh-pages branch
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: gh-pages
- name: Delete preview and history + push changes
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/FormatCheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
with:
version: ${{ matrix.version }}

- uses: actions/checkout@v4
- uses: actions/checkout@v5
- name: Install JuliaFormatter and format
# This will use the latest version by default but you can set the version like so:
#
Expand Down
27 changes: 27 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Devos"
given-names: "Lukas"
orcid: "https://orcid.org/0000-0002-0256-4200"
- family-names: "Haegeman"
given-names: "Jutho"
orcid: "https://orcid.org/0000-0002-0858-291X"
title: "TensorKit.jl"
version: "0.14.9"
doi: "10.5281/zenodo.8421339"
date-released: "2025-07-18"
url: "https://github.com/Jutho/TensorKit.jl"
preferred-citation:
type: article
authors:
- family-names: "Devos"
given-names: "Lukas"
orcid: "https://orcid.org/0000-0002-0256-4200"
- family-names: "Haegeman"
given-names: "Jutho"
orcid: "https://orcid.org/0000-0002-0858-291X"
doi: "10.48550/arXiv.2508.10076"
journal: "arXiv"
title: "TensorKit.jl: A Julia package for large-scale tensor computations, with a hint of category theory"
year: 2025
6 changes: 6 additions & 0 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,11 @@ version = "0.14.9"
[deps]
LRUCache = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
MatrixAlgebraKit = "6c742aac-3347-4629-af66-fc926824e5e4"
OhMyThreads = "67456a42-1dca-4109-a031-0a68de7e3ad5"
PackageExtensionCompat = "65ce6f38-6b18-4e1d-a461-8949797d7930"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
ScopedValues = "7e506255-f358-4e82-b7e4-beb19740aa63"
Strided = "5e0ebb24-38b0-5f93-81fe-25c709ecae67"
TensorKitSectors = "13a9c161-d5da-41f0-bcbd-e1a08ae0647f"
TensorOperations = "6aa20fa7-93e2-5fca-9bc0-fbd0db3c71a2"
Expand All @@ -30,8 +33,11 @@ Combinatorics = "1"
FiniteDifferences = "0.12"
LRUCache = "1.0.2"
LinearAlgebra = "1"
MatrixAlgebraKit = "0.3"
OhMyThreads = "0.8.0"
PackageExtensionCompat = "1"
Random = "1"
ScopedValues = "1.3.0"
Strided = "2"
TensorKitSectors = "0.1"
TensorOperations = "5.1"
Expand Down
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ Check out the [tutorial](https://jutho.github.io/TensorKit.jl/stable/man/tutoria
full [documentation](https://jutho.github.io/TensorKit.jl/stable).

## Installation

`TensorKit.jl` can be installed with the Julia package manager.
From the Julia REPL, type `]` to enter the Pkg REPL mode and run:
```
Expand Down Expand Up @@ -180,3 +181,9 @@ platforms with a 64-bit architecture.
Contributions are very welcome, as are feature requests and suggestions. Please open an [issue][issues-url] if you encounter any problems.

[issues-url]: https://github.com/Jutho/TensorKit.jl/issues

## Acknowledgements

The design and development of the TensorKit.jl package have benefited from countless discussions with many people, including most current and former members of the Quantum Group at Ghent University.
Being an open-source software project developed over the course of many years, we also thank all past, current and future contributors, including the bug reports and feature requests that have shaped this package.
In particular, we like to thank [Maarten Van Damme](@maartenvd), who initiated the MPSKit.jl package on top of TensorKit.jl early-on, and has as such had a strong influence on the development and design decisions of the TensorKit.jl package.
1 change: 1 addition & 0 deletions docs/src/lib/spaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,7 @@ dual
conj
flip
zero(::ElementarySpace)
oneunit
supremum
Expand Down
6 changes: 6 additions & 0 deletions ext/TensorKitChainRulesCoreExt/TensorKitChainRulesCoreExt.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ module TensorKitChainRulesCoreExt
using TensorOperations
using VectorInterface
using TensorKit
using TensorKit: foreachblock
using ChainRulesCore
using LinearAlgebra
using TupleTools
Expand All @@ -11,6 +12,11 @@ import TensorOperations as TO
using TensorOperations: promote_contract, tensoralloc_add, tensoralloc_contract
using VectorInterface: promote_scale, promote_add

using MatrixAlgebraKit
using MatrixAlgebraKit: TruncationStrategy,
svd_compact_pullback!, eig_full_pullback!, eigh_full_pullback!,
qr_compact_pullback!, lq_compact_pullback!

include("utility.jl")
include("constructors.jl")
include("linalg.jl")
Expand Down
Loading