Skip to content

Commit e35ea65

Browse files
committed
Specialize for adjoint/transpose
1 parent 7811cbf commit e35ea65

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/adjtrans.jl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -572,3 +572,8 @@ _vecadjoint(A::Base.ReshapedArray{<:Any,1,<:AdjointAbsVec}) = adjoint(parent(A))
572572

573573
diagview(A::Transpose, k::Integer = 0) = _vectranspose(diagview(parent(A), -k))
574574
diagview(A::Adjoint, k::Integer = 0) = _vecadjoint(diagview(parent(A), -k))
575+
576+
function fillband!(A::AdjOrTrans, v, k1, k2)
577+
fillband!(parent(A), wrapperop(A)(v), -k2, -k1)
578+
return A
579+
end

test/adjtrans.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -798,4 +798,16 @@ end
798798
end
799799
end
800800

801+
@testset "fillband!" begin
802+
for A in (rand(4, 4), rand(ComplexF64,4,4))
803+
B = similar(A)
804+
for op in (adjoint, transpose), k in -3:3
805+
B .= op(A)
806+
LinearAlgebra.fillband!(op(A), 1, k, k)
807+
LinearAlgebra.fillband!(B, 1, k, k)
808+
@test op(A) == B
809+
end
810+
end
811+
end
812+
801813
end # module TestAdjointTranspose

0 commit comments

Comments
 (0)