Skip to content

Commit ead6af6

Browse files
mtfishmangithub-actions[bot]
authored andcommitted
Format .jl files (Runic)
1 parent 6b12845 commit ead6af6

File tree

21 files changed

+987
-975
lines changed

21 files changed

+987
-975
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "QuantumOperatorDefinitions"
22
uuid = "826dd319-6fd5-459a-a990-3a4f214664bf"
3+
version = "0.2.8"
34
authors = ["ITensor developers <[email protected]> and contributors"]
4-
version = "0.2.7"
55

66
[deps]
77
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
@@ -14,8 +14,8 @@ ITensorBase = "4795dd04-0d67-49bb-8f44-b89c448a1dc7"
1414
NamedDimsArrays = "60cbd0c0-df58-4cb7-918c-6f5607b73fde"
1515

1616
[extensions]
17-
QuantumOperatorDefinitionsITensorBaseExt = ["ITensorBase", "GradedArrays", "NamedDimsArrays"]
1817
QuantumOperatorDefinitionsGradedArraysExt = ["BlockArrays", "GradedArrays"]
18+
QuantumOperatorDefinitionsITensorBaseExt = ["ITensorBase", "GradedArrays", "NamedDimsArrays"]
1919

2020
[compat]
2121
BlockArrays = "1.3.0"

docs/make.jl

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,28 @@ using QuantumOperatorDefinitions: QuantumOperatorDefinitions
22
using Documenter: Documenter, DocMeta, deploydocs, makedocs
33

44
DocMeta.setdocmeta!(
5-
QuantumOperatorDefinitions,
6-
:DocTestSetup,
7-
:(using QuantumOperatorDefinitions);
8-
recursive=true,
5+
QuantumOperatorDefinitions,
6+
:DocTestSetup,
7+
:(using QuantumOperatorDefinitions);
8+
recursive = true,
99
)
1010

1111
include("make_index.jl")
1212

1313
makedocs(;
14-
modules=[QuantumOperatorDefinitions],
15-
authors="ITensor developers <[email protected]> and contributors",
16-
sitename="QuantumOperatorDefinitions.jl",
17-
format=Documenter.HTML(;
18-
canonical="https://itensor.github.io/QuantumOperatorDefinitions.jl",
19-
edit_link="main",
20-
assets=["assets/favicon.ico", "assets/extras.css"],
21-
),
22-
pages=["Home" => "index.md", "Reference" => "reference.md"],
14+
modules = [QuantumOperatorDefinitions],
15+
authors = "ITensor developers <[email protected]> and contributors",
16+
sitename = "QuantumOperatorDefinitions.jl",
17+
format = Documenter.HTML(;
18+
canonical = "https://itensor.github.io/QuantumOperatorDefinitions.jl",
19+
edit_link = "main",
20+
assets = ["assets/favicon.ico", "assets/extras.css"],
21+
),
22+
pages = ["Home" => "index.md", "Reference" => "reference.md"],
2323
)
2424

2525
deploydocs(;
26-
repo="github.com/ITensor/QuantumOperatorDefinitions.jl",
27-
devbranch="main",
28-
push_preview=true,
26+
repo = "github.com/ITensor/QuantumOperatorDefinitions.jl",
27+
devbranch = "main",
28+
push_preview = true,
2929
)

docs/make_index.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ using Literate: Literate
22
using QuantumOperatorDefinitions: QuantumOperatorDefinitions
33

44
function ccq_logo(content)
5-
include_ccq_logo = """
5+
include_ccq_logo = """
66
```@raw html
77
<img class="display-light-only" src="assets/CCQ.png" width="20%" alt="Flatiron Center for Computational Quantum Physics logo."/>
88
<img class="display-dark-only" src="assets/CCQ-dark.png" width="20%" alt="Flatiron Center for Computational Quantum Physics logo."/>
99
```
1010
"""
11-
content = replace(content, "{CCQ_LOGO}" => include_ccq_logo)
12-
return content
11+
content = replace(content, "{CCQ_LOGO}" => include_ccq_logo)
12+
return content
1313
end
1414

1515
Literate.markdown(
16-
joinpath(pkgdir(QuantumOperatorDefinitions), "examples", "README.jl"),
17-
joinpath(pkgdir(QuantumOperatorDefinitions), "docs", "src");
18-
flavor=Literate.DocumenterFlavor(),
19-
name="index",
20-
postprocess=ccq_logo,
16+
joinpath(pkgdir(QuantumOperatorDefinitions), "examples", "README.jl"),
17+
joinpath(pkgdir(QuantumOperatorDefinitions), "docs", "src");
18+
flavor = Literate.DocumenterFlavor(),
19+
name = "index",
20+
postprocess = ccq_logo,
2121
)

docs/make_readme.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@ using Literate: Literate
22
using QuantumOperatorDefinitions: QuantumOperatorDefinitions
33

44
function ccq_logo(content)
5-
include_ccq_logo = """
5+
include_ccq_logo = """
66
<picture>
77
<source media="(prefers-color-scheme: dark)" width="20%" srcset="docs/src/assets/CCQ-dark.png">
88
<img alt="Flatiron Center for Computational Quantum Physics logo." width="20%" src="docs/src/assets/CCQ.png">
99
</picture>
1010
"""
11-
content = replace(content, "{CCQ_LOGO}" => include_ccq_logo)
12-
return content
11+
content = replace(content, "{CCQ_LOGO}" => include_ccq_logo)
12+
return content
1313
end
1414

1515
Literate.markdown(
16-
joinpath(pkgdir(QuantumOperatorDefinitions), "examples", "README.jl"),
17-
joinpath(pkgdir(QuantumOperatorDefinitions));
18-
flavor=Literate.CommonMarkFlavor(),
19-
name="README",
20-
postprocess=ccq_logo,
16+
joinpath(pkgdir(QuantumOperatorDefinitions), "examples", "README.jl"),
17+
joinpath(pkgdir(QuantumOperatorDefinitions));
18+
flavor = Literate.CommonMarkFlavor(),
19+
name = "README",
20+
postprocess = ccq_logo,
2121
)

examples/README.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# # QuantumOperatorDefinitions.jl
2-
#
2+
#
33
# [![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://itensor.github.io/QuantumOperatorDefinitions.jl/stable/)
44
# [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://itensor.github.io/QuantumOperatorDefinitions.jl/dev/)
55
# [![Build Status](https://github.com/ITensor/QuantumOperatorDefinitions.jl/actions/workflows/Tests.yml/badge.svg?branch=main)](https://github.com/ITensor/QuantumOperatorDefinitions.jl/actions/workflows/Tests.yml?query=branch%3Amain)
@@ -83,4 +83,4 @@ using Test: @test
8383
@test Matrix(OpName("Y")) == [0 -im; im 0]
8484
@test Matrix(OpName("Z")) == [1 0; 0 -1]
8585

86-
@test Matrix(OpName("Rx"; θ=π / 3)) [sin/ 3) -cos/ 3)*im; -cos/ 3)*im sin/ 3)]
86+
@test Matrix(OpName("Rx"; θ = π / 3)) [sin/ 3) -cos/ 3) * im; -cos/ 3) * im sin/ 3)]

ext/QuantumOperatorDefinitionsGradedArraysExt/QuantumOperatorDefinitionsGradedArraysExt.jl

Lines changed: 55 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -2,97 +2,103 @@ module QuantumOperatorDefinitionsGradedArraysExt
22

33
using BlockArrays: blocklasts, blocklength, blocklengths
44
using GradedArrays:
5-
AbstractGradedUnitRange, GradedOneTo, SectorProduct, U1, Z, ×, dual, gradedrange, sectors
5+
AbstractGradedUnitRange, GradedOneTo, SectorProduct, U1, Z, ×, dual, gradedrange, sectors
66
using QuantumOperatorDefinitions:
7-
QuantumOperatorDefinitions,
8-
@GradingType_str,
9-
@SiteType_str,
10-
GradingType,
11-
OpName,
12-
SiteType,
13-
name
7+
QuantumOperatorDefinitions,
8+
@GradingType_str,
9+
@SiteType_str,
10+
GradingType,
11+
OpName,
12+
SiteType,
13+
name
1414

1515
function Base.axes(::OpName, domain::Tuple{Vararg{AbstractGradedUnitRange}})
16-
return (domain..., dual.(domain)...)
16+
return (domain..., dual.(domain)...)
1717
end
1818

1919
sortedunion(a, b) = sort(union(a, b))
2020
function QuantumOperatorDefinitions.combine_axes(a1::GradedOneTo, a2::GradedOneTo)
21-
blocklength(a1) == blocklength(a2) ||
22-
throw(ArgumentError("Axes must have the same number of blocks."))
23-
nblocks = blocklength(a1)
24-
return gradedrange(
25-
map(Base.OneTo(nblocks)) do i
26-
l1 = blocklengths(a1)[i]
27-
l2 = blocklengths(a2)[i]
28-
l1 == l2 || throw(ArgumentError("Blocks must have the same length."))
29-
return sectors(a1)[i] × sectors(a2)[i] => l1
30-
end,
31-
)
21+
blocklength(a1) == blocklength(a2) ||
22+
throw(ArgumentError("Axes must have the same number of blocks."))
23+
nblocks = blocklength(a1)
24+
return gradedrange(
25+
map(Base.OneTo(nblocks)) do i
26+
l1 = blocklengths(a1)[i]
27+
l2 = blocklengths(a2)[i]
28+
l1 == l2 || throw(ArgumentError("Blocks must have the same length."))
29+
return sectors(a1)[i] × sectors(a2)[i] => l1
30+
end,
31+
)
3232
end
3333
QuantumOperatorDefinitions.combine_axes(a::GradedOneTo, b::Base.OneTo) = a
3434
QuantumOperatorDefinitions.combine_axes(a::Base.OneTo, b::GradedOneTo) = b
3535

3636
function Base.AbstractUnitRange(::GradingType"N", t::SiteType)
37-
return gradedrange(map(i -> SectorProduct((; N=U1(i - 1))) => 1, 1:length(t)))
37+
return gradedrange(map(i -> SectorProduct((; N = U1(i - 1))) => 1, 1:length(t)))
3838
end
3939
function Base.AbstractUnitRange(::GradingType"Sz", t::SiteType)
40-
return gradedrange(map(i -> SectorProduct((; Sz=U1(i - 1))) => 1, 1:length(t)))
40+
return gradedrange(map(i -> SectorProduct((; Sz = U1(i - 1))) => 1, 1:length(t)))
4141
end
4242
function Base.AbstractUnitRange(::GradingType"Sz↑", t::SiteType)
43-
return AbstractUnitRange(GradingType"Sz"(), t)
43+
return AbstractUnitRange(GradingType"Sz"(), t)
4444
end
4545
function Base.AbstractUnitRange(::GradingType"Sz↓", t::SiteType)
46-
return gradedrange(map(i -> SectorProduct((; Sz=U1(-(i - 1)))) => 1, 1:length(t)))
46+
return gradedrange(map(i -> SectorProduct((; Sz = U1(-(i - 1)))) => 1, 1:length(t)))
4747
end
4848

4949
function sector(gradingtype::GradingType, sec)
50-
sectorname = Symbol(get(gradingtype, :name, name(gradingtype)))
51-
return SectorProduct(NamedTuple{(sectorname,)}((sec,)))
50+
sectorname = Symbol(get(gradingtype, :name, name(gradingtype)))
51+
return SectorProduct(NamedTuple{(sectorname,)}((sec,)))
5252
end
5353

5454
function Base.AbstractUnitRange(s::GradingType"Nf", t::SiteType"Fermion")
55-
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(1)) => 1])
55+
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(1)) => 1])
5656
end
5757
# TODO: Write in terms of `GradingType"Nf"` definition.
5858
function Base.AbstractUnitRange(s::GradingType"NfParity", t::SiteType"Fermion")
59-
return gradedrange([sector(s, Z{2}(0)) => 1, sector(s, Z{2}(1)) => 1])
59+
return gradedrange([sector(s, Z{2}(0)) => 1, sector(s, Z{2}(1)) => 1])
6060
end
6161
function Base.AbstractUnitRange(s::GradingType"Sz", t::SiteType"Fermion")
62-
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(1)) => 1])
62+
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(1)) => 1])
6363
end
6464
function Base.AbstractUnitRange(s::GradingType"Sz↑", t::SiteType"Fermion")
65-
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(1)) => 1])
65+
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(1)) => 1])
6666
end
6767
function Base.AbstractUnitRange(s::GradingType"Sz↓", t::SiteType"Fermion")
68-
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(-1)) => 1])
68+
return gradedrange([sector(s, U1(0)) => 1, sector(s, U1(-1)) => 1])
6969
end
7070

7171
# TODO: Write in terms of `SiteType"Fermion"` definitions.
7272
function Base.AbstractUnitRange(s::GradingType"Nf", t::SiteType"Electron")
73-
return gradedrange([
74-
sector(s, U1(0)) => 1,
75-
sector(s, U1(1)) => 1,
76-
sector(s, U1(1)) => 1,
77-
sector(s, U1(2)) => 1,
78-
])
73+
return gradedrange(
74+
[
75+
sector(s, U1(0)) => 1,
76+
sector(s, U1(1)) => 1,
77+
sector(s, U1(1)) => 1,
78+
sector(s, U1(2)) => 1,
79+
]
80+
)
7981
end
8082
# TODO: Write in terms of `GradingType"Nf"` definition.
8183
function Base.AbstractUnitRange(s::GradingType"NfParity", t::SiteType"Electron")
82-
return gradedrange([
83-
sector(s, Z{2}(0)) => 1,
84-
sector(s, Z{2}(1)) => 1,
85-
sector(s, Z{2}(1)) => 1,
86-
sector(s, Z{2}(0)) => 1,
87-
])
84+
return gradedrange(
85+
[
86+
sector(s, Z{2}(0)) => 1,
87+
sector(s, Z{2}(1)) => 1,
88+
sector(s, Z{2}(1)) => 1,
89+
sector(s, Z{2}(0)) => 1,
90+
]
91+
)
8892
end
8993
function Base.AbstractUnitRange(s::GradingType"Sz", t::SiteType"Electron")
90-
return gradedrange([
91-
sector(s, U1(0)) => 1,
92-
sector(s, U1(1)) => 1,
93-
sector(s, U1(-1)) => 1,
94-
sector(s, U1(0)) => 1,
95-
])
94+
return gradedrange(
95+
[
96+
sector(s, U1(0)) => 1,
97+
sector(s, U1(1)) => 1,
98+
sector(s, U1(-1)) => 1,
99+
sector(s, U1(0)) => 1,
100+
]
101+
)
96102
end
97103

98104
end

ext/QuantumOperatorDefinitionsITensorBaseExt/QuantumOperatorDefinitionsITensorBaseExt.jl

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,61 +4,61 @@ using ITensorBase: ITensorBase, ITensor, Index, gettag, prime, settag
44
using GradedArrays: dual
55
using NamedDimsArrays: dename
66
using QuantumOperatorDefinitions:
7-
QuantumOperatorDefinitions,
8-
@OpName_str,
9-
OpName,
10-
SiteType,
11-
StateName,
12-
has_fermion_string,
13-
name
7+
QuantumOperatorDefinitions,
8+
@OpName_str,
9+
OpName,
10+
SiteType,
11+
StateName,
12+
has_fermion_string,
13+
name
1414

1515
function QuantumOperatorDefinitions.SiteType(r::Index)
16-
# We pass the axis of the (unnamed) Index because
17-
# the Index may have originated from a slice, in which
18-
# case the start may not be 1 (for NonContiguousIndex,
19-
# which we need to add support for, it may not even
20-
# be a unit range).
21-
return SiteType(
22-
gettag(r, "sitetype", "Qudit"); dim=Int.(length(r)), range=only(axes(dename(r)))
23-
)
16+
# We pass the axis of the (unnamed) Index because
17+
# the Index may have originated from a slice, in which
18+
# case the start may not be 1 (for NonContiguousIndex,
19+
# which we need to add support for, it may not even
20+
# be a unit range).
21+
return SiteType(
22+
gettag(r, "sitetype", "Qudit"); dim = Int.(length(r)), range = only(axes(dename(r)))
23+
)
2424
end
2525

2626
function (rangetype::Type{<:Index})(t::SiteType)
27-
i = rangetype(AbstractUnitRange(t))
28-
i = settag(i, "sitetype", String(name(t)))
29-
if haskey(t, :site)
30-
i = settag(i, "site", string(t.site))
31-
end
32-
return i
27+
i = rangetype(AbstractUnitRange(t))
28+
i = settag(i, "sitetype", String(name(t)))
29+
if haskey(t, :site)
30+
i = settag(i, "site", string(t.site))
31+
end
32+
return i
3333
end
3434

3535
# TODO: Define in terms of `OpName` directly, and define a generic
3636
# forwarding method `has_fermion_string(n::String, t) = has_fermion_string(OpName(n), t)`.
3737
function QuantumOperatorDefinitions.has_fermion_string(n::String, r::Index)
38-
return has_fermion_string(OpName(n), SiteType(r))
38+
return has_fermion_string(OpName(n), SiteType(r))
3939
end
4040

4141
function Base.axes(::OpName, domain::Tuple{Vararg{Index}})
42-
return (prime.(domain)..., dual.(domain)...)
42+
return (prime.(domain)..., dual.(domain)...)
4343
end
4444
## function Base.axes(::OpName"SWAP", domain::Tuple{Vararg{Index}})
4545
## return (prime.(reverse(domain))..., dag.(domain)...)
4646
## end
4747

4848
# Fix ambiguity error with generic `AbstractArray` version.
49-
function ITensorBase.ITensor(n::Union{OpName,StateName}, domain::Index...)
50-
return ITensor(n, domain)
49+
function ITensorBase.ITensor(n::Union{OpName, StateName}, domain::Index...)
50+
return ITensor(n, domain)
5151
end
5252
# Fix ambiguity error with generic `AbstractArray` version.
53-
function ITensorBase.ITensor(n::Union{OpName,StateName}, domain::Tuple{Vararg{Index}})
54-
return ITensor(AbstractArray(n, domain), axes(n, domain))
53+
function ITensorBase.ITensor(n::Union{OpName, StateName}, domain::Tuple{Vararg{Index}})
54+
return ITensor(AbstractArray(n, domain), axes(n, domain))
5555
end
5656
function (arrtype::Type{<:AbstractArray})(
57-
n::Union{OpName,StateName}, domain::Tuple{Vararg{Index}}
58-
)
59-
# Convert to `SiteType` in case the Index specifies a `"sitetype"` tag.
60-
# TODO: Try to build this into the generic codepath.
61-
return ITensor(arrtype(n, SiteType.(domain)), axes(n, domain))
57+
n::Union{OpName, StateName}, domain::Tuple{Vararg{Index}}
58+
)
59+
# Convert to `SiteType` in case the Index specifies a `"sitetype"` tag.
60+
# TODO: Try to build this into the generic codepath.
61+
return ITensor(arrtype(n, SiteType.(domain)), axes(n, domain))
6262
end
6363

6464
end

src/has_fermion_string.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
function has_fermion_string(n::OpName, t::SiteType)
2-
n′ = alias(n)
3-
if n == n′
4-
return false
5-
end
6-
return has_fermion_string(n′, t)
2+
n′ = alias(n)
3+
if n == n′
4+
return false
5+
end
6+
return has_fermion_string(n′, t)
77
end

0 commit comments

Comments
 (0)