Skip to content

Commit

Permalink
Merge branch 'master' into compathelper/new_version/2024-10-26-00-25-…
Browse files Browse the repository at this point in the history
…27-762-03500753785
  • Loading branch information
mofeing authored Jan 31, 2025
2 parents 6933d25 + ce6bd30 commit 0639a46
Show file tree
Hide file tree
Showing 121 changed files with 6,726 additions and 2,803 deletions.
3 changes: 3 additions & 0 deletions .JuliaFormatter.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,6 @@ always_for_in = true
format_docstrings = true
trailing_comma = true
margin = 120
import_to_using = true
pipe_to_function_call = false
always_use_return = false
10 changes: 7 additions & 3 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,17 @@ concurrency:
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
name: ${{ matrix.test_group }} / Julia ${{ matrix.version }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
version:
- '1.9'
- '1.10'
- '1.11'
test_group:
- unit
- integration
os:
- ubuntu-latest
arch:
Expand All @@ -46,7 +48,7 @@ jobs:
include-all-prereleases: true
- uses: julia-actions/cache@v1
with:
cache-name: CI - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
cache-name: Unit Tests CI - Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
- name: Add Julia registries
run: |
using Pkg
Expand All @@ -55,6 +57,8 @@ jobs:
shell: julia --color=yes {0}
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
TENET_TEST_GROUP: ${{matrix.test_group}}
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v3
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/format-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
version:
- '1.9'
- '1.10'
os:
- ubuntu-latest
arch:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/format-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
steps:
- uses: julia-actions/setup-julia@v1
with:
version: '1.9'
version: '1.10'

- uses: actions/checkout@v4
with:
Expand Down
149 changes: 140 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -120,15 +120,6 @@ $RECYCLE.BIN/
# Windows shortcuts
*.lnk

# End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,linux,julia,macos,windows

# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
.vscode/settings.json
.julia
*.excalidraw
archive/
test/.CondaPkg/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -291,3 +282,143 @@ cython_debug/
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# Bower dependency directory (https://bower.io/)
bower_components

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# Snowpack dependency directory (https://snowpack.dev/)
web_modules/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional stylelint cache
.stylelintcache

# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local

# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache

# Next.js build output
.next
out

# Nuxt.js build / generate output
.nuxt
dist

# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public

# vuepress build output
.vuepress/dist

# vuepress v2.x temp and cache directory
.temp
.cache

# Docusaurus cache and generated files
.docusaurus

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# TernJS port file
.tern-port

# Stores VSCode versions used for testing VSCode extensions
.vscode-test

# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

# Custom rules (everything added below won't be overriden by 'Generate .gitignore File' if you use 'Update' option)
.vscode/settings.json
.julia
*.excalidraw
archive/
test/.CondaPkg/
.CondaPkg/
CondaPkg.toml
6 changes: 0 additions & 6 deletions CondaPkg.toml

This file was deleted.

35 changes: 21 additions & 14 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
name = "Tenet"
uuid = "85d41934-b9cd-44e1-8730-56d86f15f3ec"
authors = ["Sergio Sánchez Ramírez <sergio.sanchez.ramirez@bsc.es>"]
version = "0.8.0-DEV"
version = "0.8.0"

[deps]
AbstractTrees = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
BijectiveDicts = "d089a002-103b-496c-a4e3-58f90cf955b0"
Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
Compat = "34da2185-b29b-5c13-b0c7-acf172513d20"
DeltaArrays = "10b0fc19-5ccc-4427-889b-d75dd6306188"
EinExprs = "b1794770-133b-4de1-afb4-526377e9f4c5"
KeywordDispatch = "5888135b-5456-5c80-a1b6-c91ef8180460"
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
OMEinsum = "ebe7aa44-baf0-506c-a96f-8464559b3922"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Expand All @@ -23,13 +25,15 @@ ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2"
ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
ChainRulesTestUtils = "cdddcdb0-9152-4a09-a978-84456f9df70a"
Dagger = "d58978e5-989f-55fb-8d15-ea34adc7bf54"
DataGraphs = "b5a273c3-7e6c-41f6-98bd-8d7f1525a36a"
FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000"
GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2"
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
ITensorMPS = "0d1a4710-d33b-49a5-8f18-73bdf49b47e2"
ITensorNetworks = "2919e153-833c-4bdc-8836-1ea460a35fc7"
ITensors = "9136182c-28ba-11e9-034c-db9fb085ebd5"
KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
NamedGraphs = "678767b0-92e7-4007-89e4-4527a8725b19"
PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d"
Quac = "b9105292-1415-45cf-bff1-d6ccf71e6143"
Reactant = "3c362404-f566-11ee-1572-e11a4b42c853"
Expand All @@ -43,7 +47,8 @@ TenetChainRulesTestUtilsExt = ["ChainRulesCore", "ChainRulesTestUtils"]
TenetDaggerExt = "Dagger"
TenetFiniteDifferencesExt = "FiniteDifferences"
TenetGraphMakieExt = ["GraphMakie", "Makie"]
TenetITensorNetworksExt = "ITensorNetworks"
TenetITensorMPSExt = ["ITensors", "ITensorMPS"]
TenetITensorNetworksExt = ["ITensorNetworks", "ITensors", "NamedGraphs", "DataGraphs"]
TenetITensorsExt = "ITensors"
TenetKrylovKitExt = ["KrylovKit"]
TenetPythonCallExt = "PythonCall"
Expand All @@ -54,30 +59,32 @@ TenetYaoBlocksExt = "YaoBlocks"
[compat]
AbstractTrees = "0.4"
Adapt = "4"
BijectiveDicts = "0.2.1"
ChainRules = "1.0"
ChainRulesCore = "1.0"
ChainRulesTestUtils = "1"
Combinatorics = "1.0"
Compat = "4.10"
Dagger = "0.18"
DeltaArrays = "0.1.1"
EinExprs = "0.5, 0.6"
FiniteDifferences = "0.12"
GraphMakie = "0.4,0.5"
Graphs = "1.7"
ITensorMPS = "0.2, 0.3"
ITensorNetworks = "0.11"
ITensors = "0.6, 0.7"
KeywordDispatch = "0.3"
KrylovKit = "0.7, 0.8"
LinearAlgebra = "1.9"
Makie = "0.18,0.19,0.20, 0.21"
KrylovKit = "0.7, 0.8, 0.9"
LinearAlgebra = "1.10"
Makie = "0.18,0.19,0.20, 0.21, 0.22"
OMEinsum = "0.7, 0.8"
PythonCall = "0.9"
Quac = "0.3"
Random = "1.9"
Reactant = "0.2"
Random = "1.10"
Reactant = "0.2.18"
ScopedValues = "1"
Serialization = "1.9"
SparseArrays = "1.9"
UUIDs = "1.9"
Serialization = "1.10"
SparseArrays = "1.10"
UUIDs = "1.10"
YaoBlocks = "0.13"
julia = "1.9"
julia = "1.10"
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[![Registry](https://badgen.net/badge/registry/bsc-quantic/purple)](https://github.com/bsc-quantic/Registry)
[![Documentation: stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://bsc-quantic.github.io/Tenet.jl/)
[![Documentation: dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://bsc-quantic.github.io/Tenet.jl/dev/)
[![DOI](https://zenodo.org/badge/569902394.svg)](https://doi.org/10.5281/zenodo.14757117)

A Julia library for **Ten**sor **Net**works. `Tenet` can be executed both at local environments and on large supercomputers. Its goals are,

Expand All @@ -21,8 +22,9 @@ A Julia library for **Ten**sor **Net**works. `Tenet` can be executed both at loc
- Distributed contraction
- Local Tensor Network transformations/simplifications
- 2D & 3D visualization of large networks, powered by [Makie.jl](https://github.com/MakieOrg/Makie.jl)
- Quantum Tensor Networks
- Conversion from/to [ITensors.jl](https://github.com/ITensor/ITensors.jl) and [ITensorNetworks.jl](https://github.com/ITensor/ITensorNetworks.jl)
- Quantum Tensor Networks: Product, MPS, MPO, ...
- Conversion from/to [ITensors.jl](https://github.com/ITensor/ITensors.jl), [ITensorNetworks.jl](https://github.com/ITensor/ITensorNetworks.jl), [Qiskit](https://github.com/Qiskit/qiskit), [Qibo](https://github.com/qiboteam/qibo) and [quimb](https://github.com/jcmgray/quimb)
- YES! It works with Python thanks to [PythonCall.jl](https://github.com/JuliaPy/PythonCall.jl)

## Preview

Expand Down
4 changes: 4 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
build/
node_modules/
package-lock.json
Manifest.toml
6 changes: 6 additions & 0 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@
CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterCitations = "daee34ce-89f3-4625-b898-19384cb65244"
DocumenterMermaid = "a078cd44-4d9c-4618-b545-3ab9d77f9177"
DocumenterVitepress = "4710194d-e776-4893-9690-8d956a29c365"
EinExprs = "b1794770-133b-4de1-afb4-526377e9f4c5"
GraphMakie = "1ecd5474-83a3-4783-bb4f-06765db800d2"
Graphs = "86223c79-3864-5bf0-83f7-82e725a168b6"
Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a"
NetworkLayout = "46757867-2c16-5918-afeb-47bfcb05e46a"
Tenet = "85d41934-b9cd-44e1-8730-56d86f15f3ec"

[sources]
Tenet = {path = ".."}

[compat]
Documenter = "1"
DocumenterCitations = "1.2"
Loading

0 comments on commit 0639a46

Please sign in to comment.