Skip to content

Commit

Permalink
repo name change
Browse files Browse the repository at this point in the history
  • Loading branch information
titaschanda committed Dec 27, 2023
1 parent 26830f9 commit 561f68b
Show file tree
Hide file tree
Showing 30 changed files with 66 additions and 65 deletions.
8 changes: 5 additions & 3 deletions Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name = "TeNLib"
name = "TenNetLib"
uuid = "1ce00845-9e1b-4798-bd63-033d15ad4ca9"
authors = ["Titas Chanda"]
version = "0.1.0"
Expand All @@ -11,8 +11,10 @@ Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"

[compat]
DataStructures = "0.18"
ITensors = "0.3"
julia = "1"
ITensors = "0.3.43"
LinearAlgebra = "1.7"
Printf = "1.7"
julia = "1.7"

[extras]
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
Expand Down
5 changes: 2 additions & 3 deletions docs/Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ DataStructures = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
DocumenterTools = "35a29f4d-8980-5a13-9543-d66fff28ecb8"
ITensors = "9136182c-28ba-11e9-034c-db9fb085ebd5"
TeNLib = "1ce00845-9e1b-4798-bd63-033d15ad4ca9"
TenNetLib = "1ce00845-9e1b-4798-bd63-033d15ad4ca9"

[compat]
Documenter = "1.2"
julia = "1.7"
Documenter = "1.2"
8 changes: 4 additions & 4 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
push!(LOAD_PATH,"../src/")

using ITensors, DataStructures
using Documenter, TeNLib
using Documenter, TenNetLib

############################################################################

sitename = "TeNLib.jl"
sitename = "TenNetLib.jl"

settings = Dict(
:pages =>
Expand Down Expand Up @@ -44,7 +44,7 @@ settings = Dict(
],
:format => Documenter.HTML(
prettyurls = get(ENV, "CI", nothing) == "true",
description = "A Tensor Network Library (TeNLib.jl) built on top of ITensors.jl for quantum many-body problems.",
description = "A Tensor Network Library (TenNetLib.jl) built on top of ITensors.jl for quantum many-body problems.",
assets=["assets/favicon.ico"]),
:doctest => true,
:checkdocs => :none,
Expand All @@ -64,7 +64,7 @@ if get(ENV, "GITHUB_EVENT_NAME", nothing) == "workflow_dispatch"
end

deploydocs(;
repo="github.com/titaschanda/TeNLib.jl.git",
repo="github.com/titaschanda/TenNetLib.jl.git",
devbranch="main",
push_preview=true,
deploy_config=Documenter.GitHubActions(),
Expand Down
2 changes: 1 addition & 1 deletion docs/src/base/couplingmodel.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `CouplingModel`

TeNLib.jl degines as struct, called the `CouplingModel`, to store the Hamiltonian terms.
TenNetLib.jl degines as struct, called the `CouplingModel`, to store the Hamiltonian terms.
In case of MPS based algorithms, `CouplingModel` can replace `MPO` without modifying
rest of the code. For Tree Tensor Network (TTN) codes, only `CouplingModel` can be used.
Different elements of `CouplingModel` are contracted in parallel.
Expand Down
2 changes: 1 addition & 1 deletion docs/src/base/fermions.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Dealing with Fermions

TeNLib.jl uses the following function to teat fermionic operators.
TenNetLib.jl uses the following function to teat fermionic operators.

```@docs
bosonize(oppair::Vector{Pair{String, Int}},sites::Vector{Index{T}}) where T
Expand Down
2 changes: 1 addition & 1 deletion docs/src/base/global.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Controlling global behaviors

TeNLib.jl provides following functions to control global behaviors for Tensor Network simulations.
TenNetLib.jl provides following functions to control global behaviors for Tensor Network simulations.

```@docs
Float64_threshold
Expand Down
2 changes: 1 addition & 1 deletion docs/src/base/graph.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# The `Graph` object

TeNLib.jl defines its own undirected graph object, the `Graph`. Currently only used for the Tree
TenNetLib.jl defines its own undirected graph object, the `Graph`. Currently only used for the Tree
Tensor Network (TTN) codes.

```@docs
Expand Down
6 changes: 3 additions & 3 deletions docs/src/base/opstrings.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# `OpStrings`

TeNLib.jl provides an alternative, called `OpStrings`, to ITensors.jl's `OpSum` to automatically
construct Hamiltonains / operators. TeNLib.jl's own `CouplingModel` is built from `OpStrings` and
TenNetLib.jl provides an alternative, called `OpStrings`, to ITensors.jl's `OpSum` to automatically
construct Hamiltonains / operators. TenNetLib.jl's own `CouplingModel` is built from `OpStrings` and
is not compatible with `OpSum`.

## `OpString`
Expand All @@ -10,7 +10,7 @@ is not compatible with `OpSum`.

```@docs
OpString
TeNLib.coefficient(opstr::OpString)
TenNetLib.coefficient(opstr::OpString)
operators(opstr::OpString)
minsite(opstr::OpString)
maxsite(opstr::OpString)
Expand Down
30 changes: 15 additions & 15 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
# TeNLib.jl
# TenNetLib.jl

A Tensor Network Library (TeNLib.jl) built on top of [ITensors.jl](https://github.com/ITensor/ITensors.jl) for quantum many-body problems.
A Tensor Network Library (TenNetLib.jl) built on top of [ITensors.jl](https://github.com/ITensor/ITensors.jl) for quantum many-body problems.

| **Build Status** | **Documentation** |
|:----------------:|:-----------------:|
| [![Build Status](https://github.com/titaschanda/TeNLib.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/titaschanda/TeNLib.jl/actions/workflows/CI.yml?query=branch%3Amain) | [![Build Status](https://github.com/titaschanda/TeNLib.jl/actions/workflows/documentation.yml/badge.svg?branch=main)](https://github.com/titaschanda/TeNLib.jl/actions/workflows/documentation.yml?query=branch%3Amain) |
| [![Build Status](https://github.com/titaschanda/TenNetLib.jl/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/titaschanda/TenNetLib.jl/actions/workflows/CI.yml?query=branch%3Amain) | [![Build Status](https://github.com/titaschanda/TenNetLib.jl/actions/workflows/documentation.yml/badge.svg?branch=main)](https://github.com/titaschanda/TenNetLib.jl/actions/workflows/documentation.yml?query=branch%3Amain) |

The source code for TeNLib.jl can be found on [GitHub](https://github.com/titaschanda/TeNLib.jl)
The source code for TenNetLib.jl can be found on [GitHub](https://github.com/titaschanda/TenNetLib.jl)

The documentation for TeNLib.jl can be found [**here**](https://titaschanda.github.io/TeNLib.jl/dev/).
The documentation for TenNetLib.jl can be found [**here**](https://titaschanda.github.io/TenNetLib.jl/dev/).

This library requires Julia 1.7+.

## Overview

TeNLib.jl features widely-used Tensor Network (TN) codes, designed with a **multi-layered abstraction**
TenNetLib.jl features widely-used Tensor Network (TN) codes, designed with a **multi-layered abstraction**
to cater to diverse user needs. The library provides users with varying levels of control over their computations.
Currently, TeNLib.jl presents an array of functionalities for:
Currently, TenNetLib.jl presents an array of functionalities for:
* *(a)* **Finite-size Matrix-Product States (MPS)**: Different variants of Density Matrix Renormalization Group (DMRG) and Time Dependent Variational Principle (TDVP) (including subspace expansion) methods.
* *(b)* **Tree Tensor Network (TTN)**: Variational search for the ground state and first few excited states.


## Installation

Currently, TeNLib.jl is not registered on Julia General Registry. To install the library (along with ITensors.jl), you can use the following steps:
Currently, TenNetLib.jl is not registered on Julia General Registry. To install the library (along with ITensors.jl), you can use the following steps:

```
$ julia
Expand All @@ -32,7 +32,7 @@ julia> ]
pkg> add ITensors
pkg> add https://github.com/titaschanda/TeNLib.jl
pkg> add https://github.com/titaschanda/TenNetLib.jl
```

## Found an issue or bug?
Expand All @@ -42,8 +42,8 @@ pkg> add https://github.com/titaschanda/TeNLib.jl

If you find bugs or a mistakes of any kind, please let us know by adding an issue to the
[GitHub issue tracker](https://github.com/titaschanda/TeNLib.jl/issues).
You are also welcome to submit a [pull request](https://github.com/titaschanda/TeNLib.jl/pulls).
[GitHub issue tracker](https://github.com/titaschanda/TenNetLib.jl/issues).
You are also welcome to submit a [pull request](https://github.com/titaschanda/TenNetLib.jl/pulls).


## Future functionality?
Expand All @@ -55,7 +55,7 @@ Here is a list for future additions in the decreasing order of priority. Any hel
* Real-time evolution method using PEPS and TTN.

Also, please feel free to ask about a new feature by adding a new request to the
[GitHub issue tracker](https://github.com/titaschanda/TeNLib.jl/issues) labelled
[GitHub issue tracker](https://github.com/titaschanda/TenNetLib.jl/issues) labelled
`feature request`. Note that submitting a pull request, providing the needed changes to
introduced your requested feature, will speed up the process.

Expand All @@ -67,7 +67,7 @@ The following code is for a simple DMRG run at **the highest level of abstractio

```
using ITensors
using TeNLib
using TenNetLib
let
N = 32
Expand Down Expand Up @@ -99,7 +99,7 @@ The following code is for a simple TDVP run at **the highest level of abstractio

```
using ITensors
using TeNLib
using TenNetLib
let
N = 32
Expand Down Expand Up @@ -141,7 +141,7 @@ Here we use `OpStrings` and `CouplingModel` instead of `OpSum` and `MPO`.

```
using ITensors
using TeNLib
using TenNetLib
let
N = 32
Expand Down
2 changes: 1 addition & 1 deletion docs/src/mps/dmrg.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Functions to perfom (and control) DMRG runs.

## `DMRGParams`

TeNLib.jl defines a struct, called `DMRGParams`, to control DMRG simulations.
TenNetLib.jl defines a struct, called `DMRGParams`, to control DMRG simulations.

```@docs
DMRGParams
Expand Down
2 changes: 1 addition & 1 deletion docs/src/mps/example_dmrg.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ A straight-forward DMRG can be performed as follows.

```
using ITensors
using TeNLib
using TenNetLib
let
N = 32
Expand Down
4 changes: 2 additions & 2 deletions docs/src/mps/example_tdvp.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ with step `dt`, `time_step` should be `-im * dt`.

```
using ITensors
using TeNLib
using TenNetLib
let
N = 32
Expand Down Expand Up @@ -83,7 +83,7 @@ For time-dependent Hamiltonian, [`updateH!`](@ref updateH!(engine::TDVPEngine, H

```
using ITensors
using TeNLib
using TenNetLib
function makeHt(sites, t)
Expand Down
4 changes: 2 additions & 2 deletions docs/src/mps/measure.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Measuring the MPS

```@docs
TeNLib.entropy(psi::MPS, bond::Int)
TeNLib.entropy(psi::MPS; kwargs...)
TenNetLib.entropy(psi::MPS, bond::Int)
TenNetLib.entropy(psi::MPS; kwargs...)
measure(::Type{T}, psi::MPS, opten::ITensor) where T <: Union{ComplexF64, Float64}
measure(::Type{T}, psi::MPS, opstr::String, pos::Int) where T <: Union{ComplexF64, Float64}
measure(::Type{T}, psi::MPS, opstr::String; kwargs...) where T <: Union{ComplexF64, Float64}
Expand Down
4 changes: 2 additions & 2 deletions docs/src/mps/state_envs.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `StateEnvs`: A container to store the MPS and its environments

At the lowest-level of abstraction, TeNLib.jl defines `StateEnvs` to hold an MPS and its
At the lowest-level of abstraction, TenNetLib.jl defines `StateEnvs` to hold an MPS and its
environments to be modified in place.

Skip this part if you want to avoid lower-level abstraction.
Expand All @@ -23,7 +23,7 @@ updateH!(sysenv::StateEnvs{ProjCouplingModel_MPS}, H::CouplingModel, Ms::Vector{
nsite(sysenv::StateEnvs)
set_nsite!(sysenv::StateEnvs, nsite::Int)
position!(sysenv::StateEnvs, pos::Int)
TeNLib.product(sysenv::StateEnvs, v::ITensor)
TenNetLib.product(sysenv::StateEnvs, v::ITensor)
Base.copy(sysenv::StateEnvs)
Base.length(sysenv::StateEnvs)
```
6 changes: 3 additions & 3 deletions docs/src/mps/sweep.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Sweeping through the MPS

At a lower level of abstraction, TeNLib.jl allows to control each fullsweep
At a lower level of abstraction, TenNetLib.jl allows to control each fullsweep
(left-to-right and right-to-left) manually to update `StateEnvs`.

Skip this part if you want to avoid lower-level abstraction.

## `SweepData`

TeNLib.jl defines a struct, called `SweepData`, to store essential data after each fullsweep.
TenNetLib.jl defines a struct, called `SweepData`, to store essential data after each fullsweep.

```@docs
SweepData
Expand All @@ -22,7 +22,7 @@ fullsweep!(sysenv::StateEnvs, solver, nsite::Int, swdata::SweepData; kwargs...)

## Perform a dynamical fullsweep

TeNLib.jl defines the following function to dynamically decide whether to perform single- or
TenNetLib.jl defines the following function to dynamically decide whether to perform single- or
two-site update at each bond, depending on the entropy growth at the previous halfsweep.

```@docs
Expand Down
2 changes: 1 addition & 1 deletion docs/src/mps/tdvp.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## `TDVPEngine`

TeNLib.jl defines a struct, called `TDVPEngine`, to store essential data during TDVP sweeps.
TenNetLib.jl defines a struct, called `TDVPEngine`, to store essential data during TDVP sweeps.

```@docs
TDVPEngine
Expand Down
2 changes: 1 addition & 1 deletion docs/src/mps/update_site.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Perform local updates

At the lowest-level of abstraction, TeNLib.jl allows for updating the `StateEnvs` for each sites/bonds manually.
At the lowest-level of abstraction, TenNetLib.jl allows for updating the `StateEnvs` for each sites/bonds manually.

Skip this part if you want to avoid lower-level abstraction.

Expand Down
2 changes: 1 addition & 1 deletion docs/src/ttn/example_optimize.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ A straight-forward TTN optimization can be performed as follows.

```
using ITensors
using TeNLib
using TenNetLib
let
N = 32
Expand Down
2 changes: 1 addition & 1 deletion docs/src/ttn/optimize_ttn.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Functions to optimize TTN.

## `OptimizeParamsTTN`

TeNLib.jl defines a struct, called `OptimizeParamsTTN`, to control TTN optimizations.
TenNetLib.jl defines a struct, called `OptimizeParamsTTN`, to control TTN optimizations.

```@docs
OptimizeParamsTTN
Expand Down
4 changes: 2 additions & 2 deletions docs/src/ttn/state_envs_ttn.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# `StateEnvsTTN`: A container to store the TTN and its environments

Similar to the setup for MPS, tt the lowest-level of abstraction, TeNLib.jl defines
Similar to the setup for MPS, tt the lowest-level of abstraction, TenNetLib.jl defines
`StateEnvs` to hold a TTN and its environments to be modified in place.

Skip this part if you want to avoid lower-level abstraction.
Expand All @@ -12,6 +12,6 @@ StateEnvsTTN(psi::TTN,M::CouplingModel,psis::Vector{TTN}; weight::Float64)
getpsi(sysenv::StateEnvsTTN)
getenv(sysenv::StateEnvsTTN)
position!(sysenv::StateEnvsTTN, node::Int2; maxdim::Int = typemax(Int), mindim::Int = 1, cutoff::Float64 = Float64_threshold(), svd_alg::String = "divide_and_conquer", normalize::Bool = false, node_to_skip::Union{Int2, Nothing} = nothing)
TeNLib.product(sysenv::StateEnvsTTN, v::ITensor)
TenNetLib.product(sysenv::StateEnvsTTN, v::ITensor)
Base.copy(sysenv::StateEnvsTTN)
```
4 changes: 2 additions & 2 deletions docs/src/ttn/sweep_ttn.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Sweeping through the TTN

At a lower level of abstraction, TeNLib.jl allows to control each fullsweep
At a lower level of abstraction, TenNetLib.jl allows to control each fullsweep
manually to update `StateEnvsTTN`.

Skip this part if you want to avoid lower-level abstraction.

## `SweepDataTTN`

TeNLib.jl defines a struct, called `SweepDataTTN`, to store essential data after each fullsweep.
TenNetLib.jl defines a struct, called `SweepDataTTN`, to store essential data after each fullsweep.

```@docs
SweepDataTTN
Expand Down
6 changes: 3 additions & 3 deletions docs/src/ttn/ttn.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ quantum correlations comapred to MPS. Moreover, simulations for systems with per
TTNs have found their place for simulating 2D or pseudo-2D ladder/cylinder systems with PBC
where the performance of MPS is not adequate.

TeNLib.jl implements the unconstrained optimization for obtaining
TenNetLib.jl implements the unconstrained optimization for obtaining
ground as well as excited states as
described in [Phys. Rev. B **90**, 125154 (2014)](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.90.125154) and [SciPost Phys. Lect. Notes 8 (2019)] (https://scipost.org/10.21468/SciPostPhysLectNotes.8).

Expand All @@ -37,7 +37,7 @@ LinkTypeTTN
---

!!! info
TeNLib.jl can automatically handle system-sizes that are not powers of 2. No special care is
TenNetLib.jl can automatically handle system-sizes that are not powers of 2. No special care is
needed for such system-sizes.

| TTN for system-size 12 | TTN for system-size 14|
Expand All @@ -48,7 +48,7 @@ LinkTypeTTN


!!! info
The TTN codes defined in TeNLib.jl can readily work, without any changes,
The TTN codes defined in TenNetLib.jl can readily work, without any changes,
**for any loop-free tensor networks**, e.g., Fork Tensor Networks.

!!! tip
Expand Down
Loading

0 comments on commit 561f68b

Please sign in to comment.