octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Chebfun


From: Jaroslav Hajek
Subject: Re: Chebfun
Date: Sat, 23 Jan 2010 06:37:34 +0100

On Fri, Jan 22, 2010 at 4:52 PM, Daniel Pfenniger
<address@hidden> wrote:
> Hello,
>
> Chebfun (http://www2.maths.ox.ac.uk/chebfun/) adds very powerful
> capabilities
> to Matlab, making numerical computations feeling like symbolic ones, with
> the
> speed of numerical computations.
> It would be nice if Octave could profit from this major advance.
>
> However Chebfun v 3.0 is not working in Octave due to some missing
> capability
> in Octave.
>
> I am not at all familiar with the internals of Matlab or Octave, but perhaps
> someone on this list can evaluate if the problem is hard or easy to solve.

Indeed few people are familiar with Matlab internals, given they're secret :)

> Making Chebfun working could also suggest where efforts for Octave should
> go.
>
> When I try to define a chebfun on Octave 3.2.4 I get the following :
>
> ----------------------------
> octave:22> x = chebfun('x',[0 10]);
> error: concatenation operator not implemented for `scalar' by `class'
> operations
> error: called from:
> error:   /home/pf/Trefethen/chebfun/@chebfun/private/ctor_adapt.m at line
> 119, column 6
> error:   /home/pf/Trefethen/chebfun/@chebfun/chebfun.m at line 153, column 7
> octave:22>
> -----------------------------
>
> In the file ctor_adapt.m  funs is initialized as
>
> funs = [];
>
> and later updated as
>
> funs = [funs fs];
>
> which produces the error message. fs results from a call to a the function
> fun with the following header:
>
> -------------------------------------------------------
> function [g,ish] = fun(op,ends,varargin)
> % FUN   Constructor
> % FUN(OP,ENDS) constructs a fun object for the function OP.  If OP is a
> string,
> % such as '3*x.^2+1', or a function handle, FUN(OP) automatically determines
> % the number of points for OP. If OP is a vector, FUN(OP) constructs a fun
> % object such that its function values are the numbers in OP.
> %
> % FUN(OP,ENDS,N) where N a positive integer creates a fun for OP with N
> Chebyshev
> % points. This option is not adaptive.
> %
> % FUN(OP,ENDS,PREF,SCL) creates a fun for OP adaptively using the
> preferences
> % provided in the structure PREF (see chbfunpref).  Here SCL is a structure
> % with fields SCL.H (horizontal scale) and SCL.V (vertical scale).
> %
> % Additionally, exponents can be pass within PREF by attaching them in a
> cell
> % array to PREF.EXPS, and a non-adaptive call can be forced by setting
> % PREF.N to be a positive integer.
> %
> % [G,ISH] = FUN(...) returns the constructed fun G and the boolean ISH,
> % which is true if the construction is believed to have converged and false
> % otherwise.
> %
> % FUN creates an empty fun.
> %
> % See http://www.maths.ox.ac.uk/chebfun for chebfun information.
>
> %   Copyright 2002-2009 by The Chebfun Team.
> %   Last commit: $Author: hale $: $Rev: 991 $:
> %   $Date: 2009-12-16 16:06:29 +0000 (Wed, 16 Dec 2009) $:
> ----------------------------------------------------------
>
> I repeat it would be nice if Chebfun would work in Octave!
>
>        Dan
>

Let's add it to the long list of things that would be nice, then :)
The class support is far from complete. Some things simply don't work
at all, in particular inheritance combined with nonscalar classes.
This doesn't seem to be used here, so maybe a simple fix is possible,
something with concatenation of classes.

I agree that chebfun seems quite interesting, but as it apparently is
a non-free software, I'm not much interested in making it work, and
I'm not going to install it or use it. So, if you want to go on, I
suggest:

First try the development version. Only "binary safe" bugfixes are
applied to the stable series, so chances are that the development
sources can do better. If not, please try to reduce the problem to
something simple. It seems something to do with class concatenation.
If you can present a bug report that doesn't start with "install
chebfun...", then I'll try to find the problem.

regards

-- 
RNDr. Jaroslav Hajek, PhD
computing expert & GNU Octave developer
Aeronautical Research and Test Institute (VZLU)
Prague, Czech Republic
url: www.highegg.matfyz.cz



reply via email to

[Prev in Thread] Current Thread [Next in Thread]