Bluebit Software
Bluebit Software Support Forum
 Home          Members     Calendar     Who's On

Welcome Guest ( Login | Register )
        



Cholesky and transpose Expand / Collapse
Message
Posted Friday, November 06, 2009 6:12 PM Post #605
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Generally I really like this tool, especially being on the internet makes it very easy to test ideas quickly.

Two suggestions:

1. The Cholesky decomposition on the site sometimes fails for matrices which are rank deficient but do posses a triangular decomposition. If you go to the wikipedia article on Cholesky decomposition, it describes a form with a diagonal matrix in the center. If you do it that way (which is actually faster since it requires fewer square roots), and then take the square root of the diagonal matrix, you can always form a cholesky triangular matrix for all semi positive definite symmetric matrices.

2. There isn't an obvious way to take the transpose of a matrix that I see. I've been experimenting with a complete orthogonal decomposition algorithm which works by doing:

A = Q1 * R1
R1^T = Q2 * R2
R1 = R2^T * Q2^T

A = Q1 * R2^T * Q2^T

I've been testing various small matrices by hand using the calculator to see how the algorithm works with different ranks, shapes, etc. So I first QR decompose A, then QR decompose the transpose of the first R. But to be able to actually do that I need to transpose the copy+pasted triangular matrix. Right now I have to hand transpose it, which is a pain and error prone.

Also, while I'm on the subject it would be nice to be able to construct a householder transformation algebraically. So some way to add/subtract matrices, scale them, and do outer products on them.
Posted Monday, November 09, 2009 7:57 AM Post #609
 

Bluebit SupportBluebit SupportBluebit SupportBluebit SupportBluebit SupportBluebit SupportBluebit SupportBluebit Support
Thank you for your suggestions.

The second one is easy to implement since the unterlying ".NET Matrix Library" already has a matrix transpose function.

The second needs a litle more work. I am not sure if there is a direct implementation of this method in LAPACK. I think not.

Trifon Triantafillidis

Lead Developer

Bluebit Software

Posted Monday, November 09, 2009 5:43 PM Post #611
 

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie
Yeah, not sure what LAPACK is using. And I know that it gives just a success/fail message without saying what the problem is (because it doesn't know what the problem is). If nothing else, changing the error message from "Not a symmetric positive definite matrix." to something like "Not a symmetric positive definite matrix and/or was singular" or something like that, might help. Because as it is right now some semi-positive definite matrices will decompose just fine, and others won't, so to those that aren't well versed in what the algorithm is actually doing it might be confusing what's going on.

But not a huge problem. It does just fine with positive definite symmetric matrices, which is all it's advertised to do.

The transpose would be nice to have on the site in the next few days/weeks, if that's possible.
« Prev Topic | Next Topic »


Reading This Topic Expand / Collapse
Active Users: 0 (0 guests, 0 members, 0 anonymous members)
No members currently viewing this topic.
Forum Moderators: Trifon

Permissions Expand / Collapse

All times are GMT -5:00, Time now is 7:31pm

Powered by InstantForum.NET v4.1.4 © 2013
Execution: 0.422. 18 queries. Compression Disabled.
.NET Matrix Library