diff --git a/src/operators.jl b/src/operators.jl index ea824445..70513100 100644 --- a/src/operators.jl +++ b/src/operators.jl @@ -102,6 +102,20 @@ function embed(basis_l::CompositeBasis, basis_r::CompositeBasis, return Operator(basis_l, basis_r, data) end +""" + embed(basis::Basis, indices, ops::AbstractOperator) + +Special case of the `embed` to handle embedding an operator `ops` into a single +basis. +""" +function embed(basis::Basis, indices, ops::AbstractOperator) + if indices == 1 || indices == (1,) || indices == [1] + return ops + else + throw(ArgumentError("Invalid indices for single basis.")) + end +end + """ expect(op, state)