This is the mail archive of the
gsl-discuss@sourceware.cygnus.com
mailing list for the GSL project.
Cholesky decomposition
- To: gsl-discuss at sourceware dot cygnus dot com
- Subject: Cholesky decomposition
- From: Thomas Walter <walter at pctc dot chemie dot uni-erlangen dot de>
- Date: Wed, 3 May 2000 11:12:15 +0200
Hello,
After checking out GSL I read the TODO of linalg. Based on this I
submit a cholesky decomposition. At least it passed my few tests I
did.
And it shows why I suggested some time ago a speedup in the functions
copying vectors and matrices. If source and target are the same then
return at once.
The uuencoded gzip'ed file is at the end. It is short, therefor I
hope it is correct to post it thru the list. Maybe there are some
comments from others.
Bye
Thomas
========= cholesky start =============
begin 640 Cholesky.c.gz
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
K;FB:>1&$A8E+Y^FJR:"K9SQUC5L>#`K<(G=YCDIT>>70\#^'1?401R0`````
`
end
========= cholesky end =============
--
Warum hat eine Leiterbahn keine 90 Grad Winkel sondern 2 mal 45 Grad?
Weil die Elektronen sonst immer gegen die Wand laufen 8-)))
----------------------------------------------
Dipl. Phys. Thomas Walter
Inst. f. Physiklische Chemie II
Egerlandstr. 3 Tel.: ++9131-85 27326 / 27330
91058 Erlangen, Germany email: walter@pctc.chemie.uni-erlangen.de