Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
0ae0f06
first commit
shinaoka Nov 10, 2025
8dda89f
Add git submodules: TensorCrossInterpolation.jl, QuanticsGrids.jl, Qu…
shinaoka Nov 10, 2025
68c59b4
Add git submodules: TCIAlgorithms.jl, TreeTCI.jl, SimpleTensorTrains.…
shinaoka Nov 10, 2025
a47f631
Add T4ARegistry and T4ARegistrator.jl submodules, update AGENTS.md wi…
shinaoka Nov 10, 2025
341cf6a
Add T4ATemplate.jl and update AGENTS.md
shinaoka Nov 10, 2025
4251332
Add T4ATemplate.jl as submodule
shinaoka Nov 10, 2025
e6ab337
Add Tensor4All.jl as submodule
shinaoka Nov 10, 2025
753acbe
Update README: Add description for AI agent workflow
shinaoka Nov 10, 2025
1fd307d
Add T4AITensorCompat.jl as submodule
shinaoka Nov 10, 2025
811e85c
Update AGENTS.md: Add note about HTTPS URLs for T4ARegistry manual re…
shinaoka Nov 10, 2025
1ec0d09
Document that T4ARegistrator should not be added to package Project.toml
shinaoka Nov 10, 2025
f616707
Add rules: no direct push to main, always use PRs
shinaoka Nov 10, 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
3765019
Merge Quantics.jl history into T4AQuantics.jl
shinaoka Nov 11, 2025
877370d
Fix package names: T4AQuanticsTCI -> QuanticsTCI, Quantics -> T4AQuan…
shinaoka Nov 11, 2025
d7b799d
Remove unused submodules: Quantics.jl T4APlutoExamples T4ARegistry T4…
shinaoka Nov 11, 2025
9d75053
Remove unused submodules: TCIAlgorithms.jl TreeTCI.jl SimpleTensorTra…
shinaoka Nov 11, 2025
2407343
Remove submodules and update dependencies
shinaoka Nov 11, 2025
06b9189
Merge branch 'develop' of github.com:tensor4all/T4AQuantics.jl into d…
shinaoka Nov 11, 2025
75c611d
Use T4APartitionedMPSs v0.7
shinaoka Nov 11, 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
99 changes: 0 additions & 99 deletions .gitlab-ci.yml

This file was deleted.

18 changes: 18 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
[submodule "TensorCrossInterpolation.jl"]
path = TensorCrossInterpolation.jl
url = [email protected]:tensor4all/TensorCrossInterpolation.jl.git
[submodule "QuanticsGrids.jl"]
path = QuanticsGrids.jl
url = [email protected]:tensor4all/QuanticsGrids.jl.git
[submodule "QuanticsTCI.jl"]
path = QuanticsTCI.jl
url = [email protected]:tensor4all/QuanticsTCI.jl.git
[submodule "FastMPOContractions.jl"]
path = FastMPOContractions.jl
url = [email protected]:tensor4all/FastMPOContractions.jl.git
[submodule "T4AITensorCompat.jl"]
path = T4AITensorCompat.jl
url = [email protected]:tensor4all/T4AITensorCompat.jl.git
[submodule "PartitionedMPSs.jl"]
path = PartitionedMPSs.jl
url = [email protected]:tensor4all/PartitionedMPSs.jl.git
33 changes: 33 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
- Use the same language as in past conversations with the user (if it has been Japanese, use Japanese)

- All source code and documentation must be in English

- Each subdirectory is a submodule. If there is an AGENTS.md in each directory, read it when working on the corresponding library

- Each submodule is an independent Julia package with its own Project.toml, src/, test/, and docs/ directories. Understand the package structure before making changes

- When working on a submodule, navigate into its directory and work as if it were a standalone package. Be aware of dependencies between packages

- To update submodules after pulling changes, use `git submodule update --init --recursive`

- 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`

- 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

- 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

- The `gh` (GitHub CLI) command is available locally and can be used for GitHub-related operations

- **Never push directly to main branch**: All changes must be made through pull requests. Create a branch, commit changes, push the branch, and create a PR. Wait for CI workflows to pass before merging.

- **Never use force push to main branch**: Force pushing (including `--force-with-lease`) to main is prohibited. If you need to rewrite history, do it on a feature branch and create a PR.

- All libraries are under the [tensor4all GitHub organization](https://github.com/tensor4all)

- Some libraries are registered in T4ARegistry. Use T4ARegistrator.jl to register them. T4ARegistrator.jl is a development tool that should be installed in the global environment, not added as a dependency in individual package Project.toml files. When manually registering packages in T4ARegistry, use HTTPS URLs (not SSH) in the `repo` field of Package.toml to ensure compatibility in environments without SSH access

- Some libraries are already registered in the official Julia registry. To register a new version, comment `@JuliaRegistrator register` in the library's issue, and the bot will create a PR to the official registry
20 changes: 8 additions & 12 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,34 +1,29 @@
name = "Quantics"
uuid = "87f76fb3-a40a-40c9-a63c-29fcfe7b7547"
name = "T4AQuantics"
uuid = "99202d80-6772-4c79-995b-f2660cf2bd6d"
authors = ["Hiroshi Shinaoka <[email protected]> and contributors"]
version = "0.4.6"

[deps]
EllipsisNotation = "da5c29d0-fa7d-589e-88eb-ea29b0a81949"
FastMPOContractions = "f6e391d2-8ffa-4d7a-98cd-7e70024481ca"
ITensorMPS = "0d1a4710-d33b-49a5-8f18-73bdf49b47e2"
ITensors = "9136182c-28ba-11e9-034c-db9fb085ebd5"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
QuanticsTCI = "b11687fd-3a1c-4c41-97d0-998ab401d50e"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
SparseIR = "4fe2279e-80f0-4adb-8463-ee114ff56b7d"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"

[weakdeps]
PartitionedMPSs = "17ce1de9-5131-45e3-8a48-9723b6e2dc23"
T4AITensorCompat = "864b39ca-388c-4f43-a593-a1076cf4b253"
T4APartitionedMPSs = "f7a3e09c-877e-4116-af24-45397c1413c2"

[extensions]
QuantiscPartitionedMPSsExt = "PartitionedMPSs"
QuantiscPartitionedMPSsExt = "T4APartitionedMPSs"

[compat]
EllipsisNotation = "1"
FastMPOContractions = "^0.2.2"
ITensorMPS = "0.3.1"
ITensors = "0.7, 0.8, 0.9"
PartitionedMPSs = "0.5.2, 0.6"
QuanticsTCI = "0.7"
SparseIR = "^0.96, 0.97, 1"
StaticArrays = "1"
T4APartitionedMPSs = "0.7"
julia = "1"

[extras]
Expand All @@ -38,8 +33,9 @@ QuanticsTCI = "b11687fd-3a1c-4c41-97d0-998ab401d50e"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
ReTestItems = "817f1d60-ba6b-4fd5-9520-3cf149f6a823"
SparseIR = "4fe2279e-80f0-4adb-8463-ee114ff56b7d"
T4APartitionedMPSs = "f7a3e09c-877e-4116-af24-45397c1413c2"
TensorCrossInterpolation = "b261b2ec-6378-4871-b32e-9173bb050604"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

[targets]
test = ["Test", "Random", "ReTestItems", "Aqua", "PartitionedMPSs", "TensorCrossInterpolation", "QuanticsTCI", "QuanticsGrids", "SparseIR"]
test = ["Test", "Random", "ReTestItems", "Aqua", "T4APartitionedMPSs", "TensorCrossInterpolation", "QuanticsTCI", "QuanticsGrids", "SparseIR"]
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
# Quantics
# T4AQuantics

[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://tensor4all.github.io/Quantics.jl/dev)
[![CI](https://github.com/tensor4all/Quantics.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/tensor4all/Quantics.jl/actions/workflows/CI.yml)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://tensor4all.github.io/T4AQuantics.jl/dev)
[![CI](https://github.com/tensor4all/T4AQuantics.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/tensor4all/T4AQuantics.jl/actions/workflows/CI.yml)

This library provides a high-level interface to manipulate quantics tensor train (QTT) format in Julia such as Fourier transform, convolution, and matrix-vector multiplication.
This library is based on `ITensors.jl`.

## Installation

The following will install `Quantics.jl`:
The following will install `T4AQuantics.jl`:

```julia
julia> using Pkg; Pkg.add("Quantics.jl")
julia> using Pkg; Pkg.add("T4AQuantics.jl")
```

## Usage

Please refer to the [documentation](https://tensor4all.github.io/Quantics.jl/) for usage.
Please refer to the [documentation](https://tensor4all.github.io/T4AQuantics.jl/) for usage.
4 changes: 2 additions & 2 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using Quantics
using T4AQuantics
using Documenter

DocMeta.setdocmeta!(Quantics, :DocTestSetup, :(using Quantics); recursive=true)
DocMeta.setdocmeta!(T4AQuantics, :DocTestSetup, :(using T4AQuantics); recursive=true)

makedocs(;
modules=[Quantics],
Expand Down
Loading
Loading