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

Move LowRankMatrix to LowRankApprox (or new package LowRankMatrices.jl) #6

Open
dlfivefifty opened this issue Nov 5, 2017 · 11 comments

Comments

@dlfivefifty
Copy link
Member

LowRankMatrix is not actually a HierarchicalMatrix, so maybe it lives better in LowRankApprox. This would also make it easier to use the LowRankApprox algorithms.

@MikaelSlevinsky
Copy link
Member

BarycentricMatrix2D isn't a hierarchical matrix either, but it would have been unreasonable to ship hierarchical matrices without them.

Probably could use an AbstractLowRankMatrix somewhere to collect all possible structures.

@dlfivefifty
Copy link
Member Author

Why do you need to store the diagonal in LowRankMatrix?

@dlfivefifty
Copy link
Member Author

Wait. your LowRankMatrix is always an SVD.

Why not use Base.LinAlg.SVD?

@MikaelSlevinsky
Copy link
Member

The diagonal doesn't matter for performance (because of https://github.com/JuliaMatrices/HierarchicalMatrices.jl/blob/master/src/blas06.jl#L40). Is it always an SVD? I don't think so, but the fields strongly hint that it should be.

@dlfivefifty
Copy link
Member Author

Your override of norm means U and V have to be orthogonal, i.e. it's an SVD

@MikaelSlevinsky
Copy link
Member

You're right.

@dlfivefifty
Copy link
Member Author

@MikaelSlevinsky
Copy link
Member

Do we have support for the CUR factorization anywhere? http://www.math.vt.edu/people/embree/cur_talk.pdf

@dlfivefifty
Copy link
Member Author

@MikaelSlevinsky
Copy link
Member

I wonder if that leads to a 'two-sided' butterfly algorithm

@MikaelSlevinsky
Copy link
Member

Having its own version of LowRankMatrix allows me to introduce thread-safe temporary storage 95d7c81.

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

No branches or pull requests

2 participants