Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add API functions for standard matrix decompositions #14

Closed
mikera opened this issue Jan 14, 2013 · 3 comments
Closed

Add API functions for standard matrix decompositions #14

mikera opened this issue Jan 14, 2013 · 3 comments

Comments

@mikera
Copy link
Owner

mikera commented Jan 14, 2013

We should have API functions for most standard matrix decompositions.

In particular we should have:

  • LU (lower upper trinagular decomposition)
  • SVD (singular value decomposition)
  • QR
  • Cholesky distribution
  • probably a few others.....

Naming is TDB, we have various proposals:

  • lu
  • decompose-lu
  • lu-decompose
  • decomposition-lu
  • lu-decomposition

Need to decide on a consistent and logical naming scheme before we commit to a public API.

Also need to define return values. Current thinking is a map (or defrecord?) that contains clearly labeller values e.g.

(decompose-lu matrix)
=> {lower: [matrix1]
      :upper: [matrix 2]
      :determinant [double value]

See:

@ejackson
Copy link
Collaborator

I vote for short names: ld, svd, qr etc.

@mikera
Copy link
Owner Author

mikera commented Jan 14, 2013

I'm more in favour of being a bit more explicit:

lu-decomposition

It's a close call I admit. But see my reasoning in the newsgroup:

@mikera
Copy link
Owner Author

mikera commented May 5, 2013

Closing this as now complete.

Opted for the longer names so we can do stuff like:

(let [qr (qr-decomposition m)]
  .... do stuff with qr)

@mikera mikera closed this as completed May 5, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants