@@ -78,9 +78,9 @@ dim(t::TensorMap) = length(t.data)
7878# ==============================
7979
8080# INTERNAL: utility type alias that makes constructors also work for type aliases that specify
81- # different storage types. (i.e. CuTensorMap = _TensorMap {T, CuVector{T}, ...})
82- const _TensorMap {T, A <: DenseVector{T} , S, N₁, N₂} = TensorMap{T, S, N₁, N₂, A}
83- const _Tensor {T, A <: DenseVector{T} , S, N} = Tensor{T, S, N, A}
81+ # different storage types. (i.e. CuTensorMap = TensorMapWithStorage {T, CuVector{T}, ...})
82+ const TensorMapWithStorage {T, A <: DenseVector{T} , S, N₁, N₂} = TensorMap{T, S, N₁, N₂, A}
83+ const TensorWithStorage {T, A <: DenseVector{T} , S, N} = Tensor{T, S, N, A}
8484
8585# undef constructors
8686# ------------------
@@ -95,23 +95,23 @@ const _Tensor{T, A <: DenseVector{T}, S, N} = Tensor{T, S, N, A}
9595Construct a `TensorMap` with uninitialized data with elements of type `T`.
9696"""
9797TensorMap {T} (:: UndefInitializer , V:: TensorMapSpace ) where {T} =
98- _TensorMap {T, _tensormap_storagetype(T)} (undef, V)
98+ TensorMapWithStorage {T, _tensormap_storagetype(T)} (undef, V)
9999TensorMap {T} (:: UndefInitializer , codomain:: TensorSpace , domain:: TensorSpace ) where {T} =
100100 TensorMap {T} (undef, codomain ← domain)
101101Tensor {T} (:: UndefInitializer , V:: TensorSpace ) where {T} = TensorMap {T} (undef, V ← one (V))
102102
103103"""
104- (TensorMap {T, S, N₁, N₂, A} where {S, N₁, N₂}) (undef, codomain, domain) where {T, A}
105- (TensorMap {T, S, N₁, N₂, A} where {S, N₁, N₂}) (undef, codomain ← domain) where {T, A}
106- (TensorMap {T, S, N₁, N₂, A} where {S, N₁, N₂}) (undef, domain → codomain) where {T, A}
104+ TensorMapWithStorage {T, A} (undef, codomain, domain) where {T, A}
105+ TensorMapWithStorage {T, A} (undef, codomain ← domain) where {T, A}
106+ TensorMapWithStorage {T, A} (undef, domain → codomain) where {T, A}
107107
108108Construct a `TensorMap` with uninitialized data stored as `A <: DenseVector{T}`.
109109"""
110- _TensorMap {T, A} (:: UndefInitializer , V:: TensorMapSpace ) where {T, A} =
110+ TensorMapWithStorage {T, A} (:: UndefInitializer , V:: TensorMapSpace ) where {T, A} =
111111 TensorMap {T, spacetype(V), numout(V), numin(V), A} (undef, V)
112- _TensorMap {T, A} (:: UndefInitializer , codomain:: TensorSpace , domain:: TensorSpace ) where {T, A} =
113- _TensorMap {T, A} (undef, codomain ← domain)
114- _Tensor {T, A} (:: UndefInitializer , V:: TensorSpace ) where {T, A} = _TensorMap {T, A} (undef, V ← one (V))
112+ TensorMapWithStorage {T, A} (:: UndefInitializer , codomain:: TensorSpace , domain:: TensorSpace ) where {T, A} =
113+ TensorMapWithStorage {T, A} (undef, codomain ← domain)
114+ TensorWithStorage {T, A} (:: UndefInitializer , V:: TensorSpace ) where {T, A} = TensorMapWithStorage {T, A} (undef, V ← one (V))
115115
116116# raw data constructors
117117# ---------------------
@@ -127,23 +127,23 @@ _Tensor{T, A}(::UndefInitializer, V::TensorSpace) where {T, A} = _TensorMap{T, A
127127Construct a `TensorMap` from the given raw data.
128128"""
129129TensorMap {T} (data:: DenseVector{T} , V:: TensorMapSpace ) where {T} =
130- _TensorMap {T, typeof(data)} (data, V)
130+ TensorMapWithStorage {T, typeof(data)} (data, V)
131131TensorMap {T} (data:: DenseVector{T} , codomain:: TensorSpace , domain:: TensorSpace ) where {T} =
132132 TensorMap {T} (data, codomain ← domain)
133133
134134"""
135- (TensorMap {T, S, N₁, N₂, A} where {S, N₁, N₂}) (data::DenseVector{T}, codomain, domain) where {T, A}
136- (TensorMap {T, S, N₁, N₂, A} where {S, N₁, N₂}) (data::DenseVector{T}, codomain ← domain) where {T, A}
137- (TensorMap {T, S, N₁, N₂, A} where {S, N₁, N₂}) (data::DenseVector{T}, domain → codomain) where {T, A}
135+ TensorMapWithStorage {T, A} (data::DenseVector{T}, codomain, domain) where {T, A}
136+ TensorMapWithStorage {T, A} (data::DenseVector{T}, codomain ← domain) where {T, A}
137+ TensorMapWithStorage {T, A} (data::DenseVector{T}, domain → codomain) where {T, A}
138138
139139Construct a `TensorMap` from the given raw data.
140140"""
141- function _TensorMap {T, A} (data:: DenseVector{T} , V:: TensorMapSpace ) where {T, A}
141+ function TensorMapWithStorage {T, A} (data:: DenseVector{T} , V:: TensorMapSpace ) where {T, A}
142142 length (data) == dim (V) || throw (DimensionMismatch (" invalid length of data" ))
143143 return TensorMap {T, spacetype(V), numout(V), numin(V), A} (data, V)
144144end
145- _TensorMap {T, A} (data:: DenseVector{T} , codomain:: TensorSpace , domain:: TensorSpace ) where {T, A} =
146- _TensorMap {T, A} (data, codomain ← domain)
145+ TensorMapWithStorage {T, A} (data:: DenseVector{T} , codomain:: TensorSpace , domain:: TensorSpace ) where {T, A} =
146+ TensorMapWithStorage {T, A} (data, codomain ← domain)
147147
148148# AbstractArray constructors
149149# --------------------------
@@ -199,14 +199,14 @@ cases.
199199function TensorMap (data:: AbstractArray , V:: TensorMapSpace ; tol = sqrt (eps (real (float (eltype (data))))))
200200 T = eltype (data)
201201 A = _tensormap_storagetype (typeof (data))
202- return _TensorMap {T, A} (data, V; tol)
202+ return TensorMapWithStorage {T, A} (data, V; tol)
203203end
204204TensorMap (data:: AbstractArray , codom:: TensorSpace , dom:: TensorSpace ; kwargs... ) =
205205 TensorMap (data, codom ← dom; kwargs... )
206206Tensor (data:: AbstractArray , codom:: TensorSpace ; kwargs... ) =
207207 TensorMap (data, codom ← one (codom); kwargs... )
208208
209- function _TensorMap {T, A} (
209+ function TensorMapWithStorage {T, A} (
210210 data:: AbstractArray , V:: TensorMapSpace ; tol = sqrt (eps (real (float (eltype (data)))))
211211 ) where {T, A}
212212 # refer to specific raw data constructors if input is a vector of the correct length
@@ -218,7 +218,7 @@ function _TensorMap{T, A}(
218218 return TensorMap {T, spacetype(V), numout(V), numin(V), A} (reshape (data, length (data)), V)
219219
220220 # do projection
221- t = _TensorMap {T, A} (undef, V)
221+ t = TensorMapWithStorage {T, A} (undef, V)
222222 t = project_symmetric! (t, data)
223223
224224 # verify result
@@ -227,10 +227,10 @@ function _TensorMap{T, A}(
227227
228228 return t
229229end
230- _TensorMap {T, A} (data:: AbstractArray , codom:: TensorSpace , dom:: TensorSpace ; kwargs... ) where {T, A} =
231- _TensorMap (data, codom ← dom; kwargs... )
232- _Tensor {T, A} (data:: AbstractArray , codom:: TensorSpace ; kwargs... ) where {T, A} =
233- _TensorMap {T, A} (data, codom ← one (codom); kwargs... )
230+ TensorMapWithStorage {T, A} (data:: AbstractArray , codom:: TensorSpace , dom:: TensorSpace ; kwargs... ) where {T, A} =
231+ TensorMapWithStorage (data, codom ← dom; kwargs... )
232+ TensorWithStorage {T, A} (data:: AbstractArray , codom:: TensorSpace ; kwargs... ) where {T, A} =
233+ TensorMapWithStorage {T, A} (data, codom ← one (codom); kwargs... )
234234
235235# block data constructors
236236# -----------------------
@@ -256,13 +256,13 @@ Construct a `TensorMap` by explicitly specifying its block data.
256256"""
257257function TensorMap (data:: _BlockData , V:: TensorMapSpace )
258258 A = _tensormap_storagetype (valtype (data))
259- return _TensorMap {scalartype(A), A} (data, V)
259+ return TensorMapWithStorage {scalartype(A), A} (data, V)
260260end
261261TensorMap (data:: _BlockData , codom:: TensorSpace , dom:: TensorSpace ) =
262262 TensorMap (data, codom ← dom)
263263
264- function _TensorMap {T, A} (data:: _BlockData , V:: TensorMapSpace ) where {T, A}
265- t = _TensorMap {T, A} (undef, V)
264+ function TensorMapWithStorage {T, A} (data:: _BlockData , V:: TensorMapSpace ) where {T, A}
265+ t = TensorMapWithStorage {T, A} (undef, V)
266266
267267 # check that there aren't too many blocks
268268 for (c, b) in data
@@ -279,8 +279,8 @@ function _TensorMap{T, A}(data::_BlockData, V::TensorMapSpace) where {T, A}
279279
280280 return t
281281end
282- _TensorMap {T, A} (data:: _BlockData , codom:: TensorSpace , dom:: TensorSpace ) where {T, A} =
283- _TensorMap {T, A} (data, codom ← dom)
282+ TensorMapWithStorage {T, A} (data:: _BlockData , codom:: TensorSpace , dom:: TensorSpace ) where {T, A} =
283+ TensorMapWithStorage {T, A} (data, codom ← dom)
284284
285285# Higher-level constructors
286286# =========================
0 commit comments