Skip to content

Commit affca3e

Browse files
committed
Add diagtrav function with dims keyword
1 parent 68deb82 commit affca3e

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "LazyBandedMatrices"
22
uuid = "d7e5e226-e90b-4449-9968-0f923699bf6f"
33
authors = ["Sheehan Olver <[email protected]>"]
4-
version = "0.11.6"
4+
version = "0.11.7"
55

66
[deps]
77
ArrayLayouts = "4c555306-a7a7-4459-81d9-ec55ddd5c99a"

src/blockkron.jl

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,22 @@ function getindex(A::InvDiagTrav{T}, k::Int, j::Int) where T
237237
end
238238
end
239239

240-
invdiagtrav(a) = InvDiagTrav(a)
240+
diagtrav(a::AbstractMatrix) = DiagTrav(a)
241+
function diagtrav(a::AbstractArray{T,3}; dims=1:3) where T
242+
if dims == 1:3
243+
DiagTrav(a)
244+
else
245+
@assert dims == 1:2
246+
ret = BlockedMatrix{T}(undef, (_krontrav_axes(axes(a,1), axes(a,2)), axes(a,3)))
247+
forin axes(a,3)
248+
ret[:,ℓ] = DiagTrav(view(a,:,:,ℓ))
249+
end
250+
ret
251+
end
252+
end
253+
254+
diagtrav(a::InvDiagTrav) = a.vector
255+
invdiagtrav(a::AbstractVector) = InvDiagTrav(a)
241256
invdiagtrav(a::DiagTrav) = a.array
242257

243258
-(A::DiagTrav) = DiagTrav(-A.array)

0 commit comments

Comments
 (0)