@@ -11,6 +11,14 @@ struct JordanMPO_AC_Hamiltonian{O1, O2, O3} <: DerivativeOperator
1111 C::Union{O2, Missing} # starting
1212 B::Union{O2, Missing} # ending
1313 A::Union{O3, Missing} # continuing
14+
15+ # need inner constructor to prohibit no-type-param constructor with unbound vars
16+ function JordanMPO_AC_Hamiltonian{O1, O2, O3}(
17+ D::Union{O1, Missing}, I::Union{O1, Missing}, E::Union{O1, Missing},
18+ C::Union{O2, Missing}, B::Union{O2, Missing}, A::Union{O3, Missing},
19+ ) where {O1, O2, O3}
20+ return new{O1, O2, O3}(D, I, E, C, B, A)
21+ end
1422end
1523
1624"""
@@ -30,6 +38,16 @@ struct JordanMPO_AC2_Hamiltonian{O1, O2, O3, O4} <: DerivativeOperator
3038 BE::Union{O2, Missing} # ending left
3139 DE::Union{O1, Missing} # onsite left
3240 EE::Union{O1, Missing} # finished
41+
42+ # need inner constructor to prohibit no-type-param constructor with unbound vars
43+ function JordanMPO_AC2_Hamiltonian{O1, O2, O3, O4}(
44+ II::Union{O1, Missing}, IC::Union{O2, Missing}, ID::Union{O1, Missing},
45+ CB::Union{O2, Missing}, CA::Union{O3, Missing}, AB::Union{O3, Missing},
46+ AA::Union{O4, Missing}, BE::Union{O2, Missing}, DE::Union{O1, Missing},
47+ EE::Union{O1, Missing}
48+ ) where {O1, O2, O3, O4}
49+ return new{O1, O2, O3, O4}(II, IC, ID, CB, CA, AB, AA, BE, DE, EE)
50+ end
3351end
3452
3553# Constructors
0 commit comments