Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
325 commits
Select commit Hold shift + click to select a range
d07692e
Refactor grid
shinaoka May 20, 2023
081d366
Update hubbard atom
shinaoka May 20, 2023
966707c
WIP
shinaoka May 20, 2023
a4a0d68
Add global pivot search for hubbard_atom
shinaoka May 20, 2023
c7690e3
Fix AdaptiveQTT
shinaoka May 23, 2023
4f0cfa7
Update notebook for adaptiveqtt
shinaoka May 24, 2023
119d523
Refactor AdaptiveQTT
shinaoka May 27, 2023
57d188c
TCI is mandantory. Parallelization
shinaoka May 27, 2023
8f6593b
Fix construct_adaptiveqtt2
shinaoka May 31, 2023
6973f38
Use TCI2 in adaptive QTT
shinaoka May 31, 2023
53946fd
WIP
shinaoka Jun 2, 2023
66859ad
Add cubature
shinaoka Jun 2, 2023
d4d50ce
Fixed binaryop
shinaoka Jun 11, 2023
b1e0392
Implement shiftaxis
shinaoka Jun 11, 2023
fc76d9b
Add notebook for diffferential_equation
shinaoka Jun 12, 2023
2cce36e
Activate tests for binaryop
shinaoka Jun 12, 2023
c40fdea
Refactored grid
shinaoka Jun 13, 2023
1477387
WIP
shinaoka Jun 13, 2023
7146a1f
Implement affinetransform
shinaoka Jun 14, 2023
34d9828
All tests pass for affinetransform (two variables)
shinaoka Jun 14, 2023
cefd8f5
WIP
shinaoka Jun 14, 2023
434a570
All tests for three-variable cases of affinetransform pass
shinaoka Jun 14, 2023
ed823c1
More test for three-variable cases
shinaoka Jun 14, 2023
34f8d6d
Update document
shinaoka Jun 14, 2023
b9ff9b1
Add more runtime check for affinetransform
shinaoka Jun 14, 2023
e875214
Breaking change in QuanticsInd. Internal structure of a QuanticsInd c…
shinaoka Jun 14, 2023
3999fbb
Breaking change in function names of quantics
shinaoka Jun 15, 2023
916516e
split_siteinds for arbital number of sites
shinaoka Jun 15, 2023
bfdd275
Rename to unfuse_siteinds
shinaoka Jun 15, 2023
a1d49ed
Use JuliaFormatter
shinaoka Jun 15, 2023
5854bff
Update README.md
shinaoka Jun 19, 2023
6448024
Remove dependence on ITensorNetworks.jl because the MPO-MPO contracti…
shinaoka Jun 22, 2023
ff826c0
Remove TCI dependence
shinaoka Jun 22, 2023
285a6e9
Minor update
shinaoka Jun 22, 2023
51da68a
Rename to Quantics.jl
shinaoka Jul 4, 2023
31a8bd6
Add TCI as a dependence
shinaoka Jul 4, 2023
ea749e6
WIP: removing old codes
shinaoka Jul 5, 2023
970a6a5
Removed old codes, formatted
shinaoka Jul 5, 2023
d1bd028
Removed ext/
shinaoka Jul 5, 2023
4117e8a
Make poletomps numerically stable
shinaoka Jul 19, 2023
02ca093
Fix bug in unfuse_siteinds
shinaoka Jul 25, 2023
4ac5075
Update ITensors.jl compat info
shinaoka Jul 28, 2023
b51ce9a
Minor update in to_wn, to_tau
shinaoka Jul 30, 2023
3cb856b
Formatted
shinaoka Aug 1, 2023
33e506e
WIP
shinaoka Aug 5, 2023
204032e
Update URL for gitlab
shinaoka Aug 11, 2023
1340934
Use FastMPOContractions
shinaoka Aug 23, 2023
7844697
test/tag.jl
terasakisatoshi Sep 6, 2023
1ed372f
Merge branch 'add-testset-for-tag' into 'main'
shinaoka Sep 6, 2023
44c7b5f
add .gitlab-ci.yml
terasakisatoshi Sep 6, 2023
7d9ca70
Merge remote-tracking branch 'origin/main' into ci-pipeline-for-quantics
terasakisatoshi Sep 6, 2023
b38c027
Merge branch 'ci-pipeline-for-quantics' into 'main'
shinaoka Sep 6, 2023
509a7bd
run `julia -e 'using JuliaFormatter; format(".")'`
terasakisatoshi Sep 9, 2023
c7dc511
move `before_script` outside `.script`
terasakisatoshi Sep 9, 2023
04d0be6
use link to pipeline status provided by GitLab CI rather than that of…
terasakisatoshi Sep 9, 2023
783690f
copy .gitlab-ci.yml from TCIAlgorithm.jl
terasakisatoshi Sep 9, 2023
a18045a
Merge branch 'fix-pipeline-for-gitlab-pages' into 'main'
shinaoka Sep 9, 2023
b041648
add .gitignore
terasakisatoshi Sep 9, 2023
dfd53e5
add docs/Project.toml
terasakisatoshi Sep 9, 2023
f2d8224
Merge branch 'run-juliaformatter' into 'main'
shinaoka Sep 9, 2023
24070f4
Merge branch 'fix-link-to-pipeline-status' into 'main'
shinaoka Sep 9, 2023
e237f09
Merge branch 'add-docs-project' into 'main'
shinaoka Sep 9, 2023
deaa3c9
Vectorize conversion to QuanticsInd
shinaoka Sep 11, 2023
8008468
Merge branch 'main' of gitlab.com:tensors4fields/Quantics.jl
shinaoka Sep 11, 2023
8c5b83a
update .gitlab-ci.yml
terasakisatoshi Sep 15, 2023
e0387f5
fix
terasakisatoshi Sep 15, 2023
99ac325
remove `.jl`
terasakisatoshi Sep 15, 2023
95098b1
revert changes
terasakisatoshi Sep 15, 2023
db82939
use ReTestItems
terasakisatoshi Sep 15, 2023
2abc3b8
rename 's/.jl/_tests.jl/' *.jl and wrap tests with [at]testitem macro
terasakisatoshi Sep 15, 2023
0171d69
wrap files with @testitem
terasakisatoshi Sep 15, 2023
f6807e4
remove `nothing` to prevent getting errors on running `runtests(Quant…
terasakisatoshi Sep 15, 2023
51eefd9
insert @test macro
terasakisatoshi Sep 15, 2023
40df2b7
remove nothing
terasakisatoshi Sep 15, 2023
3e66263
run `using JuliaFormatter; format("test")`
terasakisatoshi Sep 15, 2023
1eff617
remove `Pkg` from [deps]
terasakisatoshi Sep 15, 2023
d82374e
divide large `@testitems` into small ones
terasakisatoshi Sep 20, 2023
35cacbf
format
terasakisatoshi Sep 20, 2023
7726c99
Merge branch 'use-retestitems-to-run-tests-in-parallel' into 'main'
terasakisatoshi Sep 30, 2023
9decc2c
Merge branch 'update-gitlab-ci-yml' into 'main'
terasakisatoshi Sep 30, 2023
5b8bf0a
implement `grid_max` function
terasakisatoshi Oct 3, 2023
7aacb75
rename name of testset
terasakisatoshi Oct 3, 2023
ee08f82
add tests for grid_min and grid_step
terasakisatoshi Oct 3, 2023
2d0cb95
test to check BoundsError should happen
terasakisatoshi Oct 3, 2023
e2b48a3
test for grid_max
terasakisatoshi Oct 3, 2023
7c3fd84
Merge branch 'resolve-issue-2' into 'main'
terasakisatoshi Oct 3, 2023
75f638a
cache path/to/.julia for running faster CI
terasakisatoshi Oct 7, 2023
081b820
Merge branch 'cache-julia-depot-path' into 'main'
terasakisatoshi Oct 7, 2023
23192c1
add status badges
terasakisatoshi Oct 28, 2023
2823711
update list of packages
terasakisatoshi Oct 28, 2023
c6fd561
fix
terasakisatoshi Oct 28, 2023
cac4499
Merge branch 'terasaki/update-README' into 'main'
terasakisatoshi Oct 28, 2023
5ccadd2
Compatible with ITensors 0.3.42
shinaoka Nov 21, 2023
f00af19
Bump version
shinaoka Dec 15, 2023
43da057
introduce CompatHelper
terasakisatoshi Dec 26, 2023
03c8405
update README.md
terasakisatoshi Dec 26, 2023
dfa9491
Merge branch 'terasaki/update-README.md' into 'main'
terasakisatoshi Dec 26, 2023
5f68a30
set rules
terasakisatoshi Dec 26, 2023
d542c00
Merge branch 'terasaki/introduce-compat-helper' into 'main'
terasakisatoshi Dec 26, 2023
2a983ec
CompatHelper: add new compat entry for TensorCrossInterpolation at ve…
Jan 9, 2024
9b3f26d
CompatHelper: add new compat entry for TensorCrossInterpolation at ve…
Jan 10, 2024
5fc3e31
Merge branch 'compathelper/new_version/2024-01-10-15-04-44-581-024252…
terasakisatoshi Jan 11, 2024
e5c7eda
Merge branch 'compathelper/new_version/2024-01-09-15-07-26-965-015097…
terasakisatoshi Jan 11, 2024
ca550d9
fix: run tests with multiple versions of Julia
terasakisatoshi Jan 11, 2024
e1558b7
do not run julia with 1.6 as ReTestItems.jl does not support 1.6
terasakisatoshi Jan 11, 2024
de8da6a
Merge branch 'terasaki/update-gitlab-ci' into 'main'
terasakisatoshi Jan 11, 2024
9a7d5eb
CompatHelper: add new compat entry for EllipsisNotation at version 1,…
Jan 11, 2024
2741ab8
Merge branch 'compathelper/new_version/2024-01-11-08-34-32-143-034397…
terasakisatoshi Jan 11, 2024
2a31c51
CompatHelper: add new compat entry for FastMPOContractions at version…
Jan 11, 2024
92f913d
Merge branch 'compathelper/new_version/2024-01-11-15-05-18-542-005271…
terasakisatoshi Jan 11, 2024
4ae482d
CompatHelper: bump compat for TensorCrossInterpolation to 0.7, (keep …
Jan 23, 2024
8c64dcb
Merge branch 'compathelper/new_version/2024-01-23-04-30-58-868-001672…
terasakisatoshi Jan 23, 2024
2530c4b
Remove unexpecte side effects in unfuse_siteinds
shinaoka Jan 29, 2024
381b637
Merge branch '3-unfuse_siteinds-has-unexpected-side-effects' into 'main'
shinaoka Jan 29, 2024
1c0a3a9
Bump to version 0.2.1
shinaoka Jan 29, 2024
44db497
Bump to version 0.2.1
shinaoka Jan 29, 2024
eab8f9f
Merge branch 'pkgbump/bump-to-version-0.2.1' into 'main'
shinaoka Jan 29, 2024
11635d7
Remove quantics and grid
shinaoka Feb 3, 2024
659051f
Merge branch '4-remove-quantics-index-and-grid-functionalities' into …
shinaoka Feb 3, 2024
3d6e9d3
Bump to v0.3.0
shinaoka Feb 3, 2024
97e3fb5
Merge branch 'bump-to-v0.3.0' into 'main'
shinaoka Feb 3, 2024
648aae7
CompatHelper: add new compat entry for FastMPOContractions at version…
Feb 3, 2024
c493808
Add Aqua test for Quantics to check there are no stale dependencies i…
terasakisatoshi Feb 4, 2024
7393b25
Add Aqua to extras and test targets in Project.toml
terasakisatoshi Feb 4, 2024
20f92ac
Merge branch 'compathelper/new_version/2024-02-03-15-05-21-081-029078…
terasakisatoshi Feb 4, 2024
f1c9cba
Merge branch 'terasaki/test-stale-deps-with-aqua' into 'main'
terasakisatoshi Feb 4, 2024
9c60232
Avoid a bug in ITensors.jl
shinaoka Feb 8, 2024
8c80d3e
Update util_tests.jl to avoid a bug in ITensors.jl
shinaoka Feb 8, 2024
282b614
Bump to v0.3.1
shinaoka Feb 8, 2024
11aee11
Merge branch 'bump-to-v0.3.1' into 'main'
shinaoka Feb 8, 2024
c3f3e44
Remove direct dependency on ITensorTDVP
shinaoka Feb 21, 2024
1613170
Bump to v0.3.2
shinaoka Feb 21, 2024
d102140
Require FastMPOContractions v0.1.5
shinaoka Feb 21, 2024
1f2f4a6
Merge branch 'bump-to-v0.3.2' into 'main'
shinaoka Feb 21, 2024
5a0d934
Bump to v0.3.0
shinaoka Apr 8, 2024
23287d2
Migration to GitHub
shinaoka May 19, 2024
69e4c1f
Fixing CI
shinaoka May 19, 2024
3aa31b2
Fixing CI
shinaoka May 19, 2024
bef472e
Fixing CI
shinaoka May 19, 2024
af4d18b
Fixing CI
shinaoka May 19, 2024
1c1f912
Merge pull request #1 from tensor4all/ci
shinaoka May 19, 2024
2ca6c5b
Bump version
shinaoka May 19, 2024
6d160f0
Merge pull request #2 from tensor4all/bump-to-v0.3.4
shinaoka Jun 11, 2024
2d48c41
Bump to v0.3.5
shinaoka Jun 11, 2024
c3ddafb
Support ITensors.jl v0.6
shinaoka Jun 11, 2024
52563a3
Merge pull request #4 from tensor4all/bump-to-v0.3.5
shinaoka Jun 11, 2024
e8266ac
Add rearrange_siteinds
shinaoka Jun 20, 2024
7725122
Add more tests on rearrange_siteinds
shinaoka Jun 22, 2024
64ab8cf
Accept AbstractMPS for rearrange_siteinds
shinaoka Jun 22, 2024
d044ea8
Bump to v0.3.6
shinaoka Jun 22, 2024
d296fa2
Fix test
shinaoka Jun 22, 2024
ba8d5de
Merge pull request #5 from tensor4all/bump-to-v0.3.6
shinaoka Jun 22, 2024
c9c107e
Implement makesitediagonal
shinaoka Jun 22, 2024
e978bbb
Implement makesitediagonal and extractdiagonal
shinaoka Jun 22, 2024
bdbc7a0
Merge pull request #8 from tensor4all/7-implement-makesitediagonal
shinaoka Jun 22, 2024
28fb46e
Update README
shinaoka Jul 17, 2024
e2c9477
Merge pull request #9 from tensor4all/update-readme
shinaoka Jul 17, 2024
ee384f2
Bump to v0.3.7
shinaoka Jul 17, 2024
0103130
Merge pull request #10 from tensor4all/bump-to-v0.3.7
shinaoka Jul 17, 2024
9706f1d
WIP
shinaoka Jul 30, 2024
a3e0419
WIP
shinaoka Jul 30, 2024
6eb7cdf
WIP
shinaoka Jul 30, 2024
fd157a8
Implement affinetransformmpo for generating MPO
shinaoka Jul 30, 2024
464ce91
Merge pull request #14 from tensor4all/13-needed-a-function-for-creat…
shinaoka Jul 30, 2024
57ad441
Bump to v0.3.8
shinaoka Aug 7, 2024
ec17ca0
Merge pull request #16 from tensor4all/bump-v0.3.8
shinaoka Aug 7, 2024
831c4ff
First pitiful attempt at affine transforms.
mwallerb Sep 5, 2024
1283f78
Remove prints
mwallerb Sep 5, 2024
e62e997
Now affine transforms seem to work...
mwallerb Sep 9, 2024
16c48e9
Affine transforms are now correct (mostly)
mwallerb Sep 9, 2024
4fff92f
Affine transforms are now ready to be tested.
mwallerb Sep 10, 2024
792fed8
Add test.
mwallerb Sep 10, 2024
d21b833
Conform to the Quantics convention (1 ... most significant bit)
mwallerb Sep 10, 2024
d322c15
Remove print, add comment
mwallerb Sep 10, 2024
02bf35a
Add active and passive transforms.
mwallerb Sep 10, 2024
4c6bba8
Use fit algorithm by default for MPO-MPO contractions
shinaoka Oct 22, 2024
5e44c75
Bump to v0.3.9
shinaoka Oct 22, 2024
1c949a9
Drop support old ITensors <= 0.6
terasakisatoshi Nov 15, 2024
0e87805
Add ITensorMPS
terasakisatoshi Nov 15, 2024
b5f41c3
Fix Jupyter notebooks
terasakisatoshi Nov 15, 2024
46ac824
Resolve identifiers
terasakisatoshi Nov 15, 2024
ab23cc8
Format
terasakisatoshi Nov 15, 2024
50f7c3d
Use lts
terasakisatoshi Nov 15, 2024
e46ff20
Fix aqua
terasakisatoshi Nov 15, 2024
423f1e9
Update julia-actions/cache
terasakisatoshi Nov 15, 2024
4994b27
Set permission for julia-actions/cache@v2
terasakisatoshi Nov 15, 2024
24c4207
Merge pull request #19 from tensor4all/terasaki/update-CI
terasakisatoshi Nov 15, 2024
7ae37c9
Merge pull request #20 from tensor4all/terasaki/fix-permission-in-CI
terasakisatoshi Nov 15, 2024
6e4dd6f
Merge branch 'main' into terasaki/drop-support-old-itensors
terasakisatoshi Nov 15, 2024
4a7c34c
Update minor
terasakisatoshi Nov 15, 2024
98c4ebf
Merge pull request #18 from tensor4all/terasaki/drop-support-old-iten…
terasakisatoshi Nov 15, 2024
550c441
Merge pull request #21 from tensor4all/terasaki/bump-to-v0.4.0
terasakisatoshi Nov 15, 2024
046fcf1
Support ProjMPSs
shinaoka Nov 17, 2024
b12a15f
Merge pull request #23 from tensor4all/22-support-projmps
shinaoka Nov 17, 2024
7c12b0a
Bump to v0.4.1
shinaoka Nov 17, 2024
652b95d
Use QuanticsTCI to generate a QFT MPO
shinaoka Nov 20, 2024
eebb570
Merge pull request #25 from tensor4all/6-use-qft-mpo-from-tensorcross…
shinaoka Nov 20, 2024
1d232b6
Merge pull request #24 from tensor4all/bump-to-v0.4.1
shinaoka Nov 22, 2024
367872e
Weakdep on PartitionedMPSs.jl
shinaoka Nov 26, 2024
89ba7f0
Fixing test failure
shinaoka Nov 26, 2024
3a6b967
Merge pull request #28 from tensor4all/27-weakdep-on-partitionedmpssjl
shinaoka Nov 27, 2024
ebba6c0
Bump to v0.4.2
shinaoka Nov 27, 2024
efc9f13
Merge pull request #29 from tensor4all/v0.4.2
shinaoka Nov 27, 2024
3f2c966
Fix minor bugs
shinaoka Nov 27, 2024
d8c5c65
Merge branch 'v0.4.2'
shinaoka Nov 27, 2024
3c06780
Merged main
shinaoka Jan 8, 2025
2be3d74
Correct docstring.
mwallerb Jan 14, 2025
c059d7c
Prepare affine transforms.
mwallerb Jan 15, 2025
c426819
Add modular inverse.
mwallerb Jan 15, 2025
b85128f
Allow any odd denominator in affine transform.
mwallerb Jan 15, 2025
c71c65e
Allow different boundary conditions.
mwallerb Jan 15, 2025
6b02f08
Rename modular_inverse -> invmod_mod2.
mwallerb Jan 16, 2025
7f71a54
Boundary conditions
mwallerb Jan 16, 2025
8142d73
Do not store R in BC.
mwallerb Jan 16, 2025
a408205
Add boundary condition argument
mwallerb Jan 16, 2025
5a6d121
Support arbitrary affine transformation.
mwallerb Jan 17, 2025
1a19f29
Now we can use arbitrary divisors.
mwallerb Jan 17, 2025
969820f
Some case of even transforms.
mwallerb Jan 17, 2025
4ff56ca
Fix bug for even denominator - now we can do light cone coordinates.
mwallerb Jan 17, 2025
7811104
Generalize affine_transform_mpo for the cases R=0 and R=1.
mwallerb Jan 17, 2025
0fa9a6a
Add more tests on affine_transform_matrix()
shinaoka Jan 21, 2025
b08ba14
Merge pull request #30 from tensor4all/affine
shinaoka Jan 22, 2025
53df2aa
First, refactor cap tensor
shinaoka Jan 22, 2025
73e4a4b
WIP
shinaoka Jan 23, 2025
4fa1b8f
Open boundary condition fixed?
shinaoka Jan 23, 2025
7088423
Fixed open boundary condition
shinaoka Jan 23, 2025
f9be81b
Merge pull request #32 from tensor4all/31-fix-open-boundary-condition…
shinaoka Jan 24, 2025
1e1e9e6
Bump to v0.4.4
shinaoka Jan 28, 2025
fe8b7a1
Fix cutoff bug fourier transform and format
Mar 23, 2025
41583d2
Bug fix: use cutoff when maxdim is given in automul
shinaoka Apr 18, 2025
4d532ff
Merge pull request #37 from tensor4all/36-cutoff-parameter-is-not-pas…
shinaoka Apr 18, 2025
f1cc2e3
Bump to v0.4.5
shinaoka Apr 18, 2025
ae5e43d
Merge pull request #38 from tensor4all/bump-to-v0.4.5
shinaoka Apr 18, 2025
9cf6938
CompatHelper: bump compat for PartitionedMPSs in [weakdeps] to 0.6, (…
Apr 23, 2025
a405825
Fix issue: to_wn() suffers from loss of accuracy if R is large
shinaoka Jun 19, 2025
5e57ac0
Merge pull request #41 from tensor4all/40-to_wn-suffers-from-loss-of-…
shinaoka Jun 19, 2025
838ce85
Merge pull request #39 from tensor4all/compathelper/new_version/2025-…
shinaoka Jun 19, 2025
7db6e93
Bump to v0.4.6
shinaoka Jun 19, 2025
1daff2a
Merge pull request #42 from tensor4all/bump-to-v0.4.6
shinaoka Jun 19, 2025
9cf8d28
Drop TCIITensorConversion.jl dependency
SamuelBadr Oct 17, 2025
b4de017
Add PartitionedMPSs back to testing deps (idk why it got removed)
SamuelBadr Oct 4, 2025
429ae7b
Merge pull request #43 from tensor4all/drop-TCIITensorConversion
shinaoka Nov 3, 2025
78d2d7b
Add T4APartitionedMPSs.jl as submodule and pin to t4a-local-import
shinaoka Nov 11, 2025
a1115f8
Update submodule T4APartitionedMPSs.jl to include removal of legacy e…
shinaoka Nov 11, 2025
7384cb9
Update submodule after removing .git.bak and test/bak
shinaoka Nov 11, 2025
9b3a1a8
Initialize main branch with Quantics.jl history
shinaoka Nov 11, 2025
c070dbf
Add T4AQuantics.jl as submodule pointing to develop branch
shinaoka Nov 11, 2025
7412904
Restore README.md to previous version
shinaoka Nov 11, 2025
b4fa0df
Add T4ATCIAlgorithms.jl as submodule tracking develop
shinaoka Nov 11, 2025
e9413f1
Umbrella: update submodule pointers (incl. T4AITensorCompat v0.7.0) a…
shinaoka Nov 12, 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
14 changes: 14 additions & 0 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
style="sciml"
align_assignment=true
align_struct_field=true
always_for_in=true
whitespace_ops_in_indices=true
remove_extra_newlines=true
always_use_return=false
whitespace_in_kwargs=false
format_docstrings=true
normalize_line_endings="unix"
trailing_comma=false
separate_kwargs_with_semicolon=true
whitespace_typedefs=false
short_to_long_function_def=false
74 changes: 74 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: CI
on:
push:
branches:
- '**'
pull_request:
branches:
- main
concurrency:
# Skip intermediate builds: always.
# Cancel intermediate builds: only if it is a pull request build.
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}

# needed to allow julia-actions/cache to delete old caches that it has created
permissions:
actions: write
contents: read

jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- 'lts'
- '1'
os:
- ubuntu-latest
#- macOS-latest
#- windows-latest
arch:
- x64
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
arch: ${{ matrix.arch }}
- name: Add Julia Registries
run: |
julia -e '
using Pkg
Pkg.Registry.add(
RegistrySpec(url = "https://github.com/tensor4all/T4ARegistry.git")
)'
- uses: julia-actions/cache@v2
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
continue-on-error: ${{ matrix.version == 'nightly' }}
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
docs:
name: Documentation
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- name: Add Julia Registries
run: |
julia -e '
using Pkg
Pkg.Registry.add(
RegistrySpec(url = "https://github.com/tensor4all/T4ARegistry.git")
)'
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-docdeploy@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }}
16 changes: 16 additions & 0 deletions .github/workflows/CompatHelper.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: CompatHelper
on:
schedule:
- cron: 0 0 * * *
workflow_dispatch:
jobs:
CompatHelper:
runs-on: ubuntu-latest
steps:
- name: Pkg.add("CompatHelper")
run: julia -e 'using Pkg; Pkg.add("CompatHelper")'
- name: CompatHelper.main()
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }}
run: julia -e 'using CompatHelper; CompatHelper.main()'
33 changes: 33 additions & 0 deletions .github/workflows/TagBot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: TagBot
on:
issue_comment:
types:
- created
workflow_dispatch:
inputs:
lookback:
default: "3"
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: read
statuses: read
jobs:
TagBot:
if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot'
runs-on: ubuntu-latest
steps:
- uses: JuliaRegistries/TagBot@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Edit the following line to reflect the actual name of the GitHub Secret containing your private key
ssh: ${{ secrets.DOCUMENTER_KEY }}
# ssh: ${{ secrets.NAME_OF_MY_SSH_PRIVATE_KEY_SECRET }}
18 changes: 18 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.*
*~
\#*\#

!.gitignore
!/.github/
!/.gitlab*

*.jl.*.cov
*.jl.cov
*.jl.mem
.DS_Store
/Manifest.toml
/notebook*/
/docs/Manifest.toml
/docs/build/
docs/build
__pycache__/
99 changes: 99 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
before_script:
- which git || (apt-get update -qq && apt-get install --no-install-recommends -qqqy git)
- git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/".insteadOf "[email protected]:"
- git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/".insteadOf "https://gitlab.com/" --add
- |
julia -e '
using Pkg
Pkg.Registry.add(
RegistrySpec(url = "https://github.com/JuliaRegistries/General.git")
)
Pkg.Registry.add(
RegistrySpec(url = "https://gitlab.com/tensors4fields/tensors4fieldsregistry.git")
)'

variables:
CI_JULIA_CACHE_DIR: ${CI_PROJECT_DIR}/julia_pkg
JULIA_DEPOT_PATH: ${CI_JULIA_CACHE_DIR}
cache:
key:
files:
- Project.toml
- docs/Project.toml
prefix: ${CI_JOB_NAME}
paths:
- ${CI_JULIA_CACHE_DIR}

.script:
script:
- |
julia --project=@. -e '
using Pkg
Pkg.build()
Pkg.test(coverage=true)'
.coverage:
coverage: /Test coverage (\d+\.\d+%)/
after_script:
- |
julia -e '
using Pkg
Pkg.add("Coverage")
using Coverage
c, t = get_summary(process_folder())
using Printf
@printf "Test coverage %.2f%%\n" 100c / t'
Julia test:
image: julia:${JULIA_VERSION}
extends:
- .script
- .coverage
parallel:
matrix:
- JULIA_VERSION:
- "1.9"
- "1" # latest stable version
.doctest:
script:
- |
julia --project=docs -e '
using Pkg
Pkg.develop(PackageSpec(path=pwd()))
Pkg.instantiate()
using Documenter: doctest
using Quantics
doctest(Quantics)
include("docs/make.jl")'
doctest:
image: julia:1.6
extends:
- .doctest
pages:
image: julia:1.6
stage: deploy
extends:
- .doctest
after_script:
- mkdir -p public
- mv docs/build public/dev
artifacts:
paths:
- public
only:
- main

CompatHelper:
image: julia:1 # Set to the Julia version you want to use
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
script:
- |
julia --color=yes -e "
import Pkg;
name = \"CompatHelper\";
uuid = \"aa819f21-2bde-4658-8897-bab36330d9b7\";
version = \"3\";
Pkg.add(; name, uuid, version)"
- |
julia --color=yes -e "
import CompatHelper;
CompatHelper.main(;use_existing_registries=true)"
11 changes: 11 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,14 @@
[submodule "PartitionedMPSs.jl"]
path = PartitionedMPSs.jl
url = [email protected]:tensor4all/PartitionedMPSs.jl.git
[submodule "T4APartitionedMPSs.jl"]
path = T4APartitionedMPSs.jl
url = https://github.com/tensor4all/T4APartitionedMPSs.jl
[submodule "T4AQuantics.jl"]
url = [email protected]:tensor4all/T4AQuantics.jl.git
path = T4AQuantics.jl
branch = develop
[submodule "T4ATCIAlgorithms.jl"]
path = T4ATCIAlgorithms.jl
url = https://github.com/tensor4all/T4ATCIAlgorithms.jl
branch = develop
26 changes: 26 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,36 @@

- Run tests for a specific package by navigating to its directory and running `julia --project=. -e 'using Pkg; Pkg.test()'` or `julia --project=. test/runtests.jl`

- **When running tests, always redirect stdout and stderr to files and use tee for real-time output**: **Always save test output to files** - this is critical because test output contains detailed error messages, stack traces, and diagnostic information that you'll need for debugging. Without saving to files, you would need to run tests twice: once to see what happened, and again to capture the details. Using `tee` allows you to see progress in real-time while simultaneously saving everything to files. Example:
```bash
julia --project=. test/runtests.jl 2>&1 | tee test_output.log
```
Or to separate stdout and stderr while still seeing both in real-time:
```bash
julia --project=. test/runtests.jl > >(tee test_stdout.log) 2> >(tee test_stderr.log >&2)
```
**Important**: Always save test output to files. The saved logs are essential for debugging failures, understanding test behavior, and reviewing detailed error messages without re-running tests.

- For debugging specific tests, it's more efficient to run only the relevant test file. For packages using `include()` statements in `runtests.jl` (like TensorCrossInterpolation.jl), comment out unnecessary includes and run only the test file you're debugging

- Some libraries use ReTestItems as their test framework (e.g., Quantics.jl, QuanticsGrids.jl, TreeTCI.jl, SimpleTensorTrains.jl). However, ReTestItems has compatibility issues with libraries that use Distributed for parallel computation, so those libraries use the standard Test.jl framework instead

- **For ReTestItems packages, you can run individual test files**: ReTestItems supports running specific test files by passing file paths to `runtests()`. This is useful for debugging specific tests without running the entire test suite. Examples:
```bash
# Run a specific test file
julia --project=. -e "using ReTestItems; runtests(\"test/binaryop_tests.jl\")"

# Run multiple specific test files
julia --project=. -e "using ReTestItems; runtests(\"test/binaryop_tests.jl\", \"test/mul_tests.jl\")"

# Run with specific options (e.g., single worker for debugging)
julia --project=. -e "using ReTestItems; runtests(\"test/binaryop_tests.jl\"; nworkers=1)"
```
Note: The file paths should be relative to the package root directory. Always redirect output to files when debugging:
```bash
julia --project=. -e "using ReTestItems; runtests(\"test/binaryop_tests.jl\")" 2>&1 | tee test_binaryop.log
```

- If a package has a `.JuliaFormatter.toml` file, follow its formatting rules. Otherwise, follow standard Julia style guidelines

- When making changes that affect multiple packages, consider the dependency graph and test affected packages accordingly
Expand Down
1 change: 1 addition & 0 deletions ITensorMPS.jl
Submodule ITensorMPS.jl added at 56f0cb
1 change: 1 addition & 0 deletions T4APartitionedMPSs.jl
Submodule T4APartitionedMPSs.jl added at 714bcf
1 change: 1 addition & 0 deletions T4AQuantics.jl
Submodule T4AQuantics.jl added at f4c78f
2 changes: 1 addition & 1 deletion T4ARegistrator.jl
1 change: 1 addition & 0 deletions T4ATCIAlgorithms.jl
Submodule T4ATCIAlgorithms.jl added at 08e529
2 changes: 1 addition & 1 deletion TensorCrossInterpolation.jl
Loading