-
-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
RFC: General 1-norm estimation for some functions of sparse matrices #12609
Conversation
+ Add tests + Remove check for parallel columns in complex matrices + Remove redundant capping of number of blocks + Add more robust default value for number of blocks + Minor change in complex "sign" for type stability
6a96f15
to
cfd759c
Compare
I have changed my approach slightly, and the generalization seems to work (this branch includes some minor changes to @mfasi's implementation of Higham and Tisseur's algorithm for norm estimation, but this first commit with the minor changes has been submited as a separate pull request). I had to change how |
(a-b)/b | ||
end | ||
|
||
test_normestinv_Ac = Float64[begin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
trailing whitespace on these - make sure they pass make check-whitespace
locally
3714a9c
to
6ec4d0a
Compare
6ec4d0a
to
47fd6d8
Compare
@mfasi I have a fully working version now. I am curious to hear what you think. There maybe a slight performance hit with |
Before you complicate the code with |
Any updates here? Did other later PR's cover this functionality? |
No, not yet. I haven't had time to do careful benchmarking of this code vs what @mfasi suggested. |
I have some code elsewhere that does, but I have not delved into detailed On Wed, Oct 14, 2015 at 4:24 PM Tony Kelman notifications@github.com
|
why this pr is not merged yet? |
Would be nice to revive this, but it is also really old and may just need a fresh start. |
I'd be happy to see it revived — I don't think I have the bandwidth to get
back into it.
Indeed my motivation was to use this in sparse expmv, so I'm sure there
will be many users for it.
…On Mon, Dec 17, 2018, 3:11 AM Viral B. Shah ***@***.*** wrote:
Would be nice to revive this, but it is also really old and may just need
a fresh start.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#12609 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAOKcW7CSbndmZYqkj7GmJtkrYzfY3ucks5u51GqgaJpZM4FrKDk>
.
|
Enough has changed since this was created that we'll need to substantially redo this if we want it. |
@mfasi @tkelman
Here is what I had in mind for a more general
normest
routine. At the moment there is something wrong withAc_ldiv_B!
that I don't quite understand (something about the types keeps this from compiling).This attempt of a general
normest
is also not type stable (thepre
routine in particular mucks that up) but that is probably fixable by replacing it with an object instead of a function.I also put
normest
in a separate file just to make it easier to test it while I play with it. This pull request is really just meant to bring attention to the idea and discuss the proper way to do it.EDIT:
This is motivated by the usefulness of such a generic function for the fast and accurate computation of
f(A)*v
without explicitly computingf(A)
, which is especially attractive whenA
is sparse butf(A)
may not be. The one interesting case where this can be applied isexpm
, but potentially others as well, such aslogm
,sqrtm
(see below).Computing the Action of the Matrix Exponential, with an Application to Exponential Integrators, Awad H. Al-Mohy and Nicholas J. Higham, SIAM Journal on Scientific Computing 2011 33:2, 488-511. (preprint)
Computing f(A)b for Matrix Functions f, Philip I. Davies and Nicholas J. Higham. Lecture Notes in Computational Science and Engineering Volume 47, 2005, pp 15-24 (preprint)
Estimating the condition number of f(A)b, Edvin Deadman. Numerical Algorithms December 2014 (article)
An Improved Schur--Padé Algorithm for Fractional Powers of a Matrix and their Fréchet Derivatives, Nicholas J Higham, Lijing Lin, SIAM. J. Matrix Anal. & Appl. 32 1056 2013. (preprint)