File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -14,6 +14,32 @@ an [`IncompatibleBases`](@ref) error is thrown.
1414"""
1515function basis end
1616
17+ """
18+ fullbasis(a)
19+
20+ Return the full basis of an object.
21+
22+ Returns subtype of `Basis` when a is a subtype of `StateVector`.
23+ Returns a subtype of `OperatorBasis` a is a subtype of `AbstractOperator`.
24+ Returns a subtype of `SuperOperatorBasis` when a is a subtype of `AbstractSuperOperator`.
25+ """
26+ function fullbasis end
27+
28+ """
29+ length(b::Basis)
30+
31+ Total dimension of the Hilbert space.
32+ """
33+ function length end
34+
35+ function bases end
36+
37+ function spinnumber end
38+
39+ function cutoff end
40+
41+ function offset end
42+
1743# #
1844# Standard methods
1945# #
Original file line number Diff line number Diff line change 3939CompositeBasis (bases) = CompositeBasis ([length (b) for b ∈ bases], bases)
4040CompositeBasis (bases:: Basis... ) = CompositeBasis ((bases... ,))
4141CompositeBasis (bases:: Vector ) = CompositeBasis ((bases... ,))
42+ bases (b:: CompositeBasis ) = b. bases
4243
4344Base.:(== )(b1:: T , b2:: T ) where T<: CompositeBasis = equal_shape (b1. shape, b2. shape)
4445
@@ -258,6 +259,8 @@ struct FockBasis{T} <: Basis
258259 new {T} ([N- offset+ 1 ], N, offset)
259260 end
260261end
262+ cutoff (b:: FockBasis ) = b. N
263+ offset (b:: FockBasis ) = b. offset
261264
262265Base.:(== )(b1:: FockBasis , b2:: FockBasis ) = (b1. N== b2. N && b1. offset== b2. offset)
263266
@@ -323,6 +326,7 @@ struct SpinBasis{S,T} <: Basis
323326end
324327SpinBasis (spinnumber:: Rational ) = SpinBasis {spinnumber} (spinnumber)
325328SpinBasis (spinnumber) = SpinBasis (convert (Rational{Int}, spinnumber))
329+ spinnumber (b:: SpinBasis ) = b. spinnumber
326330
327331Base.:(== )(b1:: SpinBasis , b2:: SpinBasis ) = b1. spinnumber== b2. spinnumber
328332
You can’t perform that action at this time.
0 commit comments