@@ -17,6 +17,10 @@ struct opEye <: AbstractLinearOperator{Any} end
1717* (x:: AbstractArray{T, 1} where {T}, :: opEye ) = x
1818* (:: opEye , A:: AbstractArray{T, 2} where {T}) = A
1919* (A:: AbstractArray{T, 2} where {T}, :: opEye ) = A
20+ * (
21+ v:: Union{LinearAlgebra.Adjoint{S, V}, LinearAlgebra.Transpose{S, V}} ,
22+ :: LinearOperators.opEye ,
23+ ) where {S, V <: AbstractVector{S} } = v
2024* (:: opEye , T:: AbstractLinearOperator ) = T
2125* (T:: AbstractLinearOperator , :: opEye ) = T
2226* (:: opEye , T:: opEye ) = T
@@ -212,9 +216,9 @@ opExtension(k::I, ncol::I) where {I <: Integer} = opExtension([k], ncol)
212216import Base. getindex
213217function getindex (
214218 op:: AbstractLinearOperator ,
215- rows:: Union{LinearOperatorIndexType{I }, I , Colon} ,
216- cols:: Union{LinearOperatorIndexType{I }, I , Colon} ,
217- ) where {I <: Integer }
219+ rows:: Union{LinearOperatorIndexType{<:Integer }, <:Integer , Colon} ,
220+ cols:: Union{LinearOperatorIndexType{<:Integer }, <:Integer , Colon} ,
221+ )
218222 R = opRestriction (rows, size (op, 1 ))
219223 E = opExtension (cols, size (op, 2 ))
220224 return R * op * E
0 commit comments