Giter Site home page Giter Site logo

structmats's People

Contributors

heatherw3521 avatar levent-batakci avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

hsien-ming-ku

structmats's Issues

[rework] Error reporting

I'm not happy with how I've been handling error-reporting so far. I'd like to redesign the way that errors are caught in the overridden operators.

(currently, the implementation is very hackish and doesn't make use of matlab's inbuilt errors)

Toeplitz Structure

Implement the basics for the Toeplitz data structure. This includes:

  1. Main class with good documentation
  • [DONE ] 2. Constructor
  • [DONE ] 3. Elementwise operations (+, -, .*, ./)
  • [ DONE ] 4. Toeplitz-vector product
  • [ DONE ] 5. Toeplitz-matrix product
  1. Fast Toeplitz solve

*Note: These initial implementations should be optimized, but there will be another ticket raised later to verify optimality.

TO DO initial implementation

1) test hm-toolbox functionality in code
2) Make Toeplitz solver work for any dimension size (currently works on powers of 2 only).
3) Make Toeplitz solver work for least squares problems
4) Normal equations for NUDFT problems (use MATLAB nuffts instead of calling finufft)
5) Add in fast matvec pack
6) Hankel matrices
7) automatically deal with multiple RHS in nudft solver
8) Arbitrary fast direct least squares solver

Future Goals

Here are some goals we set at the 4/15 meeting:

  • "Nearby" function to get a close Toeplitz, Hankel, Cauchy, etc. approximation to a given matrix
  • "Norms" fast norm computations for our structured matrices
  • "Rank" fast eps-rank computations using theoretical results
  • "IsLowRank" convenient check of whether a structured matrix is 'low' rank.
  • "Toep2Cauchy" and "Hankel2Cauchy" to transform to cauchy-like matrices. The 'Toeps' code should have the Toeplitz -> Cauchylike transformation.
  • Expand testing suite
  • Gallery
  • Rand functions for our structures
  • Block compatibility

Big goal: write our own hierarchical code and build FMM

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.