Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: PDLPorters/pdl
base: 1c009bca9afc
Choose a base ref
...
head repository: PDLPorters/pdl
compare: 8fe8cb50602f
Choose a head ref
  • 2 commits
  • 4 files changed
  • 1 contributor

Commits on Feb 27, 2018

  1. Remove 'thresh' option in fitwarp2d.

    Singular-value decomposition of the basis vectors can return
    singular values that differ by 8--10 orders of magnitude. The
    default value of thresh (1e-5) would discard several of these smaller
    values.  That's a problem because the _inverses_ of the singular
    values are actually used to produce the solution in _svd. Discarding
    the largest singular values didn't seem to help either. Since it
    wasn't entirely clear why some of the singular values were being
    discarded, I commented out that line of code, and the associated
    documentation, so now we keep all of the singular values.
    
    I also added a detailed explanation of what fitwarp2d, _svd, and
    _mkbasis actually do.  And of course, some tests.
    
    If somebody with a lot of linear algebra experience is convinced
    of a a good reason to discard some of these singular values, we
    can revisit this (hence why I haven't removed the code, just
    commented it out for now).
    d-lamb committed Feb 27, 2018
    Copy the full SHA
    4ff7c4f View commit details
    Browse the repository at this point in the history
  2. Try out a fix for memory freeing issue in warp2d.

    There seems to be a problem with threads and Windows and freeing
    memory.  Previously the warp2d test would crash on Strawberry Perl
    with a "free to wrong pool" error.
    
    I followed the advice from BrowserUK in this PerlMonks thread:
    http://www.perlmonks.org/?node_id=742205 to create a pass-through
    routine to free the interolation kernel's memory.  Thanks for asking
    the similar question 9 years ago, Rob!
    
    These changes don't cause any tests to fail on my Mac, we shall see
    on the AppVeyor.
    d-lamb committed Feb 27, 2018
    Copy the full SHA
    8fe8cb5 View commit details
    Browse the repository at this point in the history