Code Monkey home page Code Monkey logo

Comments (10)

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

I just checked with @aaustin141 in the chebfun implementation and the CXN versions appear to have 1e-12 error at length 100_000.

Will investigate.

from fasttransforms.jl.

ajt60gaibb avatar ajt60gaibb commented on September 22, 2024

Yes, the MATLAB implementation in Chebfun of CXN seems to far more accurate than presented here.

We were seeing a error growth like this in MATLAB when the ratio of gamma functions was not computed by the recurrence...

from fasttransforms.jl.

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

if somebody could find out why, that would be amazing

from fasttransforms.jl.

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

I have a test for the use of Stirling's series for a ratio of gamma functions compared with BigFloat. It appears to compute with high relative accuracy.

from fasttransforms.jl.

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

It appears that the chebfun code for cheb2leg is more involved than the other cases probably for reasons of numerical stability. From what I understand,

  • the right diagonal scaling is built into the columns of the Hankel matrix
  • the diagonal of the Toeplitz matrix is zeroed and the diagonal of the connection matrix, with its opposite sign, is computed and applied separately

@ajt60gaibb, it would be straightforward to translate the code, but is there a way to use the existing modular, functional approach in this repository?

from fasttransforms.jl.

dlfivefifty avatar dlfivefifty commented on September 22, 2024

I don't remember writing cheb2leg, did someone else do this?

Sent from my iPad

On 21 May 2016, at 7:54 AM, Richard Mikael Slevinsky [email protected] wrote:

It appears that the chebfun code for cheb2leg is more involved than the other cases probably for reasons of numerical stability. From what I understand,

the right diagonal scaling is built into the columns of the Hankel matrix
the diagonal of the Toeplitz matrix is zeroed and the diagonal of the connection matrix, with its opposite sign, is computed and applied separately
@ajt60gaibb, it would be straightforward to translate the code, but is there a way to use the existing modular, functional approach in this repository?


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

from fasttransforms.jl.

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

I did... Kuan wanted a new tag for the package, and your paper says v0.0.4 will have the leg2cheb, cheb2leg, jac2jac methods via the T.*H approach. So i tried adding them as described in the paper (S 5.1 in particular for cheb2leg), and ended up with this issue.

from fasttransforms.jl.

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

I've introduced diagonal scaling into the partial Cholesky decomposition of the Hankel part in cf090e3 (thanks to @marcusdavidwebb for pointing this out!). Running the same gist now results in much better accuracy. To me, the Chebfun code has obfuscated this detail, but I think the methods are now equivalent. Are we satisfied?
asycxn

from fasttransforms.jl.

ajt60gaibb avatar ajt60gaibb commented on September 22, 2024

OK. Great! Is there something we should change to make the diagonal scaling more clear in the Chebfun code?

from fasttransforms.jl.

MikaelSlevinsky avatar MikaelSlevinsky commented on September 22, 2024

Maybe a short description of the incorporation of two-sided diagonal scaling (by num) in the comments in lines 78-82 of https://github.com/chebfun/chebfun/blob/development/cheb2leg.m would suffice.

from fasttransforms.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.