@@ -83,6 +83,13 @@ BandedBlockBandedMatrix{T}(::Uninitialized, block_sizes::BandedBlockBandedSizes)
83
83
_BandedBlockBandedMatrix (
84
84
PseudoBlockArray {T} (uninitialized, block_sizes. data_block_sizes), block_sizes)
85
85
86
+ @doc """
87
+ BlockBandedMatrix{T}(uninitialized, (rows, cols), (l, u), (λ, μ))
88
+
89
+ returns an uninitialized `sum(rows)`×`sum(cols)` banded-block-banded matrix `A`
90
+ of type `T` with block-bandwidths `(l,u)` and where `A[Block(K,J)]`
91
+ is a `BandedMatrix{T}` of size `rows[K]`×`cols[J]` with bandwidths `(λ,μ)`.
92
+ """
86
93
BandedBlockBandedMatrix {T} (:: Uninitialized , dims:: NTuple{2, AbstractVector{Int}} ,
87
94
lu:: NTuple{2, Int} , λμ:: NTuple{2, Int} ) where T =
88
95
BandedBlockBandedMatrix {T} (uninitialized, BandedBlockBandedSizes (dims... , lu... , λμ... ))
345
352
# end
346
353
# end
347
354
355
+ @doc """
356
+ subblockbandwidths(A)
348
357
358
+ returns the sub-block bandwidths of `A`, where `A` is a banded-block-banded
359
+ matrix. In other words, `A[Block(K,J)]` will return a `BandedMatrix` with
360
+ bandwidths given by `subblockbandwidths(A)`.
361
+ """
349
362
subblockbandwidths (A:: BandedBlockBandedMatrix ) = A. λ, A. μ
363
+ @doc """
364
+ subblockbandwidth(A, i)
365
+
366
+ returns the sub-block lower (`i == 1`) or upper (`i == 2`) bandwidth of `A`,
367
+ where `A` is a banded-block-banded matrix. In other words, `A[Block(K,J)]` will
368
+ return a `BandedMatrix` with the returned lower/upper bandwidth.
369
+ """
350
370
subblockbandwidth (A:: BandedBlockBandedMatrix , k:: Integer ) = ifelse (k== 1 , A. λ , A. μ)
351
371
352
372
0 commit comments