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

Implemented sparse QR decomposition #14

Merged
merged 5 commits into from
Oct 9, 2019

Conversation

ZimmerA
Copy link
Contributor

@ZimmerA ZimmerA commented Nov 30, 2018

This is the implementation of a QR decomposition using the givens rotation method.

A sum up of the changes:

  • Added the function QRSparse which calculates the factorization for a given SpraseMatrix
  • Altered the leastSquares function to handle the correct multiplication of the vector with the transpose of Q in case Q is the result of a Sparse factorization. This needs to be done because the Q resulting from QRSParse is a product of givens rotations other than the "regular" dense Q.
  • Added DotNetExtions.fs which, for now, extends the .net generic list with some generally useful functions that I needed in order to keep the QRSparse code clean.
  • The "QR" function now pattern matches the union type of the given matrix and calls the according QR function (QRDense or QRSparse)

Feel free to give me any kind of feedback or suggestions.

@kMutagene
Copy link
Member

Cool stuff! I have a request to you though : could put this pull request on the developer branch? We mainly push changes to these branches first, and then merge them into the master on a semi-regular basis. Sorry if that was not communicated well.

@ZimmerA
Copy link
Contributor Author

ZimmerA commented Nov 30, 2018

Thanks! Of course, my mistake.

@ZimmerA ZimmerA changed the base branch from master to developer November 30, 2018 15:22
@ZimmerD ZimmerD merged commit b098fe2 into fslaborg:developer Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants