@@ -36,19 +36,20 @@ mtl(A::QuantumObject{<:AbstractArray{T}}) where {T<:ComplexF64} =
3636import LinearAlgebra: Transpose, Adjoint
3737import QuantumToolbox: _spre, _spost, _sprepost
3838_spre (A:: MtlArray , Id:: AbstractMatrix ) = kron (Id, A)
39- _spre (A:: Tranpose {T,<:MtlArray} , Id:: AbstractMatrix ) where {T<: Number } = kron (Id, A)
39+ _spre (A:: Transpose {T,<:MtlArray} , Id:: AbstractMatrix ) where {T<: Number } = kron (Id, A)
4040_spre (A:: Adjoint{T,<:MtlArray} , Id:: AbstractMatrix ) where {T<: Number } = kron (Id, A)
4141_spost (B:: MtlArray , Id:: AbstractMatrix ) = kron (transpose (B), Id)
42- _spost (B:: Tranpose {T,<:MtlArray} , Id:: AbstractMatrix ) where {T<: Number } = kron (transpose (B), Id)
42+ _spost (B:: Transpose {T,<:MtlArray} , Id:: AbstractMatrix ) where {T<: Number } = kron (transpose (B), Id)
4343_spost (B:: Adjoint{T,<:MtlArray} , Id:: AbstractMatrix ) where {T<: Number } = kron (transpose (B), Id)
4444_sprepost (A:: MtlArray , B:: MtlArray ) = kron (transpose (B), A)
45- _sprepost (A:: MtlArray , B:: Tranpose {T,<:MtlArray} ) where {T<: Number } = kron (transpose (B), A)
45+ _sprepost (A:: MtlArray , B:: Transpose {T,<:MtlArray} ) where {T<: Number } = kron (transpose (B), A)
4646_sprepost (A:: MtlArray , B:: Adjoint{T,<:MtlArray} ) where {T<: Number } = kron (transpose (B), A)
47- _sprepost (A:: Tranpose{T,<:MtlArray} , B:: MtlArray ) where {T<: Number } = kron (transpose (B), A)
48- _sprepost (A:: Tranpose{T1,<:MtlArray} , B:: Tranpose{T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } = kron (transpose (B), A)
49- _sprepost (A:: Tranpose{T1,<:MtlArray} , B:: Adjoint{T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } = kron (transpose (B), A)
47+ _sprepost (A:: Transpose{T,<:MtlArray} , B:: MtlArray ) where {T<: Number } = kron (transpose (B), A)
48+ _sprepost (A:: Transpose{T1,<:MtlArray} , B:: Transpose{T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } =
49+ kron (transpose (B), A)
50+ _sprepost (A:: Transpose{T1,<:MtlArray} , B:: Adjoint{T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } = kron (transpose (B), A)
5051_sprepost (A:: Adjoint{T,<:MtlArray} , B:: MtlArray ) where {T<: Number } = kron (transpose (B), A)
51- _sprepost (A:: Adjoint{T1,<:MtlArray} , B:: Tranpose {T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } = kron (transpose (B), A)
52+ _sprepost (A:: Adjoint{T1,<:MtlArray} , B:: Transpose {T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } = kron (transpose (B), A)
5253_sprepost (A:: Adjoint{T1,<:MtlArray} , B:: Adjoint{T2,<:MtlArray} ) where {T1<: Number ,T2<: Number } = kron (transpose (B), A)
5354
5455end
0 commit comments