octave-maintainers
[Top][All Lists]
Advanced

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

Re: Chebfun


From: Michael D Godfrey
Subject: Re: Chebfun
Date: Fri, 22 Jan 2010 21:50:13 -0800
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.5) Gecko/20091209 Fedora/3.0-4.fc12 Thunderbird/3.0

On 01/22/2010 09:37 PM, Jaroslav Hajek wrote:
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
The Cebfun license says:
Redistribution of this software, with or without modification, is permitted provided that the following conditions are met:

* Redistributions must retain the above copyright notice, this list of conditions and the following disclaimer.

* Neither the name of Oxford University nor the names of the chebfun authors may be used to endorse or promote products derived from this software without specific prior written permission.

* The software is not used commercially without prior written consent. Commercial use shall be defined as any use for which any financial return is received. This includes, but is not limited to, integration of all or part of the software into a product for sale or license by or on behalf of the licensee to third parties.
============================================

Strange.
Michael



reply via email to

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