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

WIP: Efficient eigenvalue/vector and singular value/vector computations for special LAPACK matrices #4593

Closed
wants to merge 14 commits into from

Conversation

jiahao
Copy link
Member

@jiahao jiahao commented Oct 20, 2013

Provides new LAPACK wrappers where necessary to provide specialized eigenvalue/vector and singular value/vector routines for Triangular, Tridiagonal, SymTridiagonal, Bidiagonal and Diagonal matrices.

Related issue: #3688

@andreasnoack
Copy link
Member

I know that we already have eigvecs for some types, but I wonder if eig, eigfact and eigvecs are too many functions for the same functionality and the same for the singular vectors. We have to have eigvals because we don't have dispatch on output arguments, but when the vectors are requested I personally prefer to use the Eigen type for the result.

The rest looks good to me.

@jiahao
Copy link
Member Author

jiahao commented Oct 20, 2013

@andreasnoackjensen are you suggesting that we should have just eigvecs and eigfact? I did wonder why eig and eigfact are separate functions.

@andreasnoack
Copy link
Member

The presence of both eig and eigfact is kind of a compromise. Personally, I would prefer only to return the Eigen type instead of the tuple, but the MATLAB compatible version was requested by some users. As I remember it, the eigvecs was introduced for the special case where you want to calculate the vector for a specific eigenvalue of a tridiagonal matrix (by xstein, I think).

- Generic inverse replaced with generic solve on identity matrix
- Specialized transpose, ctranspose, istril, istriu
- wraps LAPACK wrapper trcon!, reciprocal of condition number estimate for triangular matrices
- type stability bugfixes to generic cond()
- Triangular-specific tests for linear solver and cond()
…riangular matrices

Addresses #3688
- Also provides simple wrappers around the full routines for svd, svdfact, svdfact!, svdvals, svdvecs for Triangular
- Adds convert routine from Triangular to dense Matrix
- Clean up bidiagonal Matrix tests
@jiahao jiahao closed this Dec 29, 2013
@jiahao jiahao deleted the cjh/special_eig branch December 29, 2013 23:08
@jiahao
Copy link
Member Author

jiahao commented Dec 30, 2013

This is a lot of code, so I'm going to break it up into several pieces.

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.

None yet

2 participants