@@ -14,17 +14,17 @@ import Base.Broadcast: BroadcastStyle, Broadcasted, broadcasted
14
14
15
15
import ArrayLayouts: AbstractBandedLayout, AbstractQLayout, AdjQRPackedQLayout, CNoPivot, DenseColumnMajor, FillLayout,
16
16
MatLdivVec, MatLmulMat, MatLmulVec, MemoryLayout, QRPackedQLayout, RangeCumsum, TriangularLayout,
17
- TridiagonalLayout, __qr, _bidiag_forwardsub!, _factorize, _qr, check_mul_axes, colsupport,
17
+ TridiagonalLayout, __qr, _factorize, _qr, check_mul_axes, colsupport,
18
18
diagonaldata, ldiv!, lmul!, mul, mulreduce, reflector!, reflectorApply!,
19
19
rowsupport, sub_materialize, subdiagonaldata, sublayout, supdiagonaldata, transposelayout,
20
20
triangulardata, triangularlayout, zero!, materialize!
21
21
22
22
import BandedMatrices: BandedColumns, BandedMatrix, BandedMatrix, _BandedMatrix, AbstractBandedMatrix,
23
- _BandedMatrix, _BandedMatrix, _banded_qr, _banded_qr!, _default_banded_broadcast, banded_chol!,
23
+ _BandedMatrix, _BandedMatrix, _banded_qr, _banded_qr!, banded_chol!,
24
24
banded_similar, bandedcolumns, bandeddata, bandwidths
25
25
26
26
import BlockArrays: AbstractBlockLayout, BlockLayout, BlockSlice, BlockSlice1, BlockedOneTo,
27
- blockcolsupport, sizes_from_blocks, OneToCumsum, AbstractBlockedUnitRange
27
+ blockcolsupport, sizes_from_blocks, AbstractBlockedUnitRange
28
28
29
29
import BlockBandedMatrices: AbstractBlockBandedLayout, BlockBandedMatrix, BlockSkylineMatrix,
30
30
BlockSkylineSizes, BlockTridiagonal, _BlockBandedMatrix, _BlockSkylineMatrix,
@@ -53,35 +53,20 @@ import MatrixFactorizations: AdjQLPackedQLayout, LayoutQ, QL, QLPackedQ, QLPacke
53
53
ul!, ul_layout
54
54
55
55
import SemiseparableMatrices: AbstractAlmostBandedLayout, _almostbanded_qr!
56
-
57
-
58
- LinearAlgebra. _cut_B (x:: AbstractVector , :: InfUnitRange ) = x
59
- LinearAlgebra. _cut_B (X:: AbstractMatrix , :: InfUnitRange ) = X
60
-
61
-
62
- if VERSION ≥ v " 1.11.0-DEV.21"
63
- using LinearAlgebra: UpperOrLowerTriangular
64
- else
65
- const UpperOrLowerTriangular{T,S} = Union{LinearAlgebra. UpperTriangular{T,S},
66
- LinearAlgebra. UnitUpperTriangular{T,S},
67
- LinearAlgebra. LowerTriangular{T,S},
68
- LinearAlgebra. UnitLowerTriangular{T,S}}
69
- end
70
-
56
+ import InfiniteArrays: UpperOrLowerTriangular, TridiagonalToeplitzLayout, TriToeplitz, PertTridiagonalToeplitzLayout, PertConstRows,
57
+ subdiagonalconstant, diagonalconstant, supdiagonalconstant
71
58
72
59
# BroadcastStyle(::Type{<:BandedMatrix{<:Any,<:Any,<:OneToInf}}) = LazyArrayStyle{2}()
73
60
74
- function ArrayLayouts. _power_by_squaring (_, :: NTuple{2,InfiniteCardinal{0}} , A:: AbstractMatrix{T} , p:: Integer ) where T
75
- if p < 0
76
- inv (A)^ (- p)
77
- elseif p == 0
78
- Eye {T} (∞)
79
- elseif p == 1
80
- copy (A)
81
- else
82
- A* A^ (p- 1 )
83
- end
84
- end
61
+ const InfiniteArraysBandedMatricesExt = Base. get_extension (InfiniteArrays, :InfiniteArraysBandedMatricesExt )
62
+ const InfiniteArraysBlockArraysExt = Base. get_extension (InfiniteArrays, :InfiniteArraysBlockArraysExt )
63
+ const InfBandedMatrix = InfiniteArraysBandedMatricesExt. InfBandedMatrix
64
+ const InfToeplitz = InfiniteArraysBandedMatricesExt. InfToeplitz
65
+ const PertToeplitzLayout = InfiniteArraysBandedMatricesExt. PertToeplitzLayout
66
+ const PertToeplitz = InfiniteArraysBandedMatricesExt. PertToeplitz
67
+ const BlockTriPertToeplitz = InfiniteArraysBlockArraysExt. BlockTriPertToeplitz
68
+ const BlockTridiagonalToeplitzLayout = InfiniteArraysBlockArraysExt. BlockTridiagonalToeplitzLayout
69
+
85
70
86
71
function choplength (c:: AbstractVector , tol)
87
72
@inbounds for k = length (c): - 1 : 1
@@ -128,12 +113,10 @@ pad(c::Transpose, ax, bx) = transpose(pad(parent(c), bx, ax))
128
113
pad (c:: Adjoint , ax, bx) = adjoint (pad (parent (c), bx, ax))
129
114
pad (c:: BlockVec , ax:: BlockedOneTo{Int,<:InfStepRange} ) = BlockVec (pad (c. args[1 ], size (c. args[1 ],1 ), ∞))
130
115
131
- export Vcat, Fill, ql, ql!, ∞, ContinuousSpectrumError, BlockTridiagonal
116
+ export ∞, ContinuousSpectrumError, BlockTridiagonal
132
117
133
118
include (" banded/hessenbergq.jl" )
134
119
135
- include (" banded/infbanded.jl" )
136
- include (" blockbanded/blockbanded.jl" )
137
120
include (" banded/infqltoeplitz.jl" )
138
121
include (" banded/infreversecholeskytoeplitz.jl" )
139
122
include (" banded/infreversecholeskytridiagonal.jl" )
0 commit comments