|
31 | 31 | function BraidingTensor{T}(V1::S, V2::S, adjoint::Bool=false) where {T,S<:IndexSpace} |
32 | 32 | return BraidingTensor{T,S}(V1, V2, adjoint) |
33 | 33 | end |
| 34 | +function BraidingTensor{T}(V1::IndexSpace, V2::IndexSpace, adjoint::Bool=false) where {T} |
| 35 | + return BraidingTensor{T}(promote(V1, V2)..., adjoint) |
| 36 | +end |
| 37 | +function BraidingTensor(V1::IndexSpace, V2::IndexSpace, adjoint::Bool=false) |
| 38 | + return BraidingTensor(promote(V1, V2)..., adjoint) |
| 39 | +end |
34 | 40 | function BraidingTensor(V1::S, V2::S, adjoint::Bool=false) where {S<:IndexSpace} |
35 | | - if BraidingStyle(sectortype(S)) isa SymmetricBraiding |
36 | | - return BraidingTensor{Float64,S}(V1, V2, adjoint) |
37 | | - else |
38 | | - return BraidingTensor{ComplexF64,S}(V1, V2, adjoint) |
39 | | - end |
| 41 | + T = BraidingStyle(sectortype(S)) isa SymmetricBraiding ? Float64 : ComplexF64 |
| 42 | + return BraidingTensor{T,S}(V1, V2, adjoint) |
40 | 43 | end |
41 | 44 | function BraidingTensor(V::HomSpace, adjoint::Bool=false) |
42 | 45 | domain(V) == reverse(codomain(V)) || |
|
0 commit comments