@@ -37,7 +37,7 @@ import InfiniteLinearAlgebra: chop!, chop, pad, choplength, compatible_resize!,
37
37
import ContinuumArrays: Basis, Weight, basis_axes, @simplify , AbstractAffineQuasiVector, ProjectionFactorization,
38
38
grid, plotgrid, plotgrid_layout, plotvalues_layout, grid_layout, transform_ldiv, TransformFactorization, QInfAxes, broadcastbasis, ExpansionLayout, basismap,
39
39
AffineQuasiVector, AffineMap, AbstractWeightLayout, AbstractWeightedBasisLayout, WeightedBasisLayout, WeightedBasisLayouts, demap, AbstractBasisLayout, BasisLayout,
40
- checkpoints, weight, unweighted, MappedBasisLayouts, sum_layout, invmap, plan_ldiv, layout_broadcasted, MappedBasisLayout, SubBasisLayout, broadcastbasis_layout,
40
+ checkpoints, weight, unweighted, MappedBasisLayouts, sum_layout, invmap, plan_ldiv, layout_broadcasted, MappedBasisLayout, MappedWeightLayout, SubBasisLayout, broadcastbasis_layout,
41
41
plan_grid_transform, plan_transform, MAX_PLOT_POINTS, MulPlan, grammatrix, AdjointBasisLayout, grammatrix_layout, plan_transform_layout, _cumsum
42
42
import FastTransforms: Λ, ChebyshevGrid, chebyshevpoints, Plan, ScaledPlan, th_cheb2leg, pochhammer
43
43
import RecurrenceRelationships: forwardrecurrence, forwardrecurrence!, clenshaw, clenshaw!,
@@ -203,8 +203,9 @@ recurrencecoefficients(Q) = recurrencecoefficients_layout(MemoryLayout(Q), Q)
203
203
gives the singularity structure of an expansion, e.g.,
204
204
`JacobiWeight`.
205
205
"""
206
- singularities_layout (lay:: BroadcastLayout , a) = singularitiesbroadcast (call (a), map (singularities, arguments (lay, a))... )
207
- singularities_layout (:: WeightedBasisLayouts , a) = singularities (BroadcastLayout {typeof(*)} (), a)
206
+ singularities_layout (lay:: BroadcastLayout , a) = singularitiesbroadcast (call (lay, a), map (singularities, arguments (lay, a))... )
207
+ singularities_layout (:: WeightedBasisLayouts , a) = singularities_layout (BroadcastLayout {typeof(*)} (), a)
208
+ singularities_layout (:: MappedWeightLayout , a) = view (singularities (demap (a)), basismap (a))
208
209
singularities_layout (:: WeightedOPLayout , a) = singularities (weight (a))
209
210
singularities_layout (:: ExpansionLayout , f) = singularities (basis (f))
210
211
singularities_layout (lay, a) = NoSingularities () # assume no singularities
@@ -216,7 +217,6 @@ singularitiesview(w, ::Inclusion) = w # for now just assume it doesn't change
216
217
singularitiesview (w, ind) = view (w, ind)
217
218
singularitiesview (:: NoSingularities , ind) = NoSingularities ()
218
219
singularitiesview (:: NoSingularities , :: Inclusion ) = NoSingularities ()
219
- singularities (S:: SubQuasiArray ) = singularitiesview (singularities (parent (S)), parentindices (S)[1 ])
220
220
221
221
222
222
basis_axes (ax:: Inclusion{<:Any,<:AbstractInterval} , v) = convert (AbstractQuasiMatrix{eltype (v)}, basis_singularities (ax, singularities (v)))
0 commit comments