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 <[email protected]> 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 <[email protected]> wrote:
>
> > This is great!
> >
> > At this point, what are the major differences in functionality between
> > ApproxFun and Chebfun?
>