I’m in the process of retooling ApproxFun to support general “FunctionSpace”s, so that one needs to only override a few routines (points,transform,itransform,diff,…) to get most the features of ApproxFun for free for othert function spaces (e.g., JacobiSpace for Jacobi polynomials, CosSpace for cosine expansion, etc.). A PiecewiseSpace would be really easy to implement in this framework.
There are some examples in ApproxFun/examples/ but no where near as extensive as chebfun. A gallery sounds like a good idea, though maybe once the basic framework settles down a bit. On 15 Sep 2014, at 8:11 pm, Gabriel Mitchell <gajomi271...@gmail.com> wrote: > >Here’s a partial list of features in Chebfun not in ApproxFun: > > 1) Automatic edge detection and domain splitting > > The automatic splitting capability of chebfun is definitely really cool, but > it always seemed to me to be a bit more then one would need for most use > cases. That is, if I am defining some function like > > f = Fun(g::Function,[-1,1]) > > where g is composed of things like absolute values and step functions I might > need to do something sophisticated to figure out how to break up the domain, > but if I instead pass something like > > f = Fun(g::PiecewiseFunction,[-1,1]) > > which has some g that has been annotated by the user in some obvious way (or > semiautomatically, given some basic rules for composing PiecewiseFunction > types under standard operations) I might have a much easier time. In > practice, when setting up problems in the first place one is often paying > attention to where discontinuities are anyway, so providing such a mechanism > might even be a natural way to help someone set up their problem. > > Maybe this kind of thing is incompatible with ApproxFun (sorry, I didn't look > in detail yet). But at any rate, super cool work! If there are any plans to > start a gallery of examples ala chebfun I would be happy to contribute some > from population dynamics. > > On Friday, September 12, 2014 1:43:27 AM UTC+2, Sheehan Olver wrote: > > Chebfun is a lot more full featured, and ApproxFun is _very_ rough > around the edges. ApproxFun will probably end up a very different animal > than chebfun: right now the goal is to tackle PDEs on a broader class of > domains, something I think is beyond the scope of Chebfun due to issues with > Matlab's speed, memory management, etc. > > Here’s a partial list of features in Chebfun not in ApproxFun: > > 1) Automatic edge detection and domain splitting > 2) Support for delta functions > 3) Built-in time stepping (pde15s) > 4) Eigenvalue problems > 5) Automatic nonlinear ODE solver > 6) Operator exponential > 7) Smarter constructor for determining convergence > 8) Automatic differentiation > > I have no concrete plans at the moment of adding these features, though > eigenvalue problems and operator exponentials will likely find their way in > at some point. > > > Sheehan > > > On 12 Sep 2014, at 12:14 am, Steven G. Johnson <steve...@gmail.com> wrote: > > > This is great! > > > > At this point, what are the major differences in functionality between > > ApproxFun and Chebfun? >