[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Backslash inversion vs inv-function
From: |
Rolf Fabian |
Subject: |
Backslash inversion vs inv-function |
Date: |
Fri, 18 Jan 2008 02:54:29 -0800 (PST) |
Because of its underlying algorithm, I expected that
inversion of a (nonsingular) square matrix should
be faster using backslash operator 'y2 = x\eye(n)'
instead of Octave's builtin 'y1 = inv(x)' function.
Thus I conducted dimension n - depending tests
using random matrices input in order to sched
some light on this issue.
octave-3.0.0.exe:48> n=5; x=randn(n); tic; y1 = inv(x); toc,
tic; y2 = x\eye(n); toc,
max(max(abs(y1-y2)))
Elapsed time is sec.
n inv(x) x\eye(n) Speed Gain Fac max(max(abs(result
difference)))
5 0.05531 0.000258 214 1.1102e-016
10 0.06063 0.000313 194 4.4409e-016
25 0.05705 0.000705 81 6.9944e-015
50 0.05889 0.002197 27 1.2212e-015
100 0.07195 0.01153 6.2 1.8952e-015
150 0.08721 0.03425 2.6 2.2649e-014
200 0.1271 0.06117 2.1 3.9413e-015
300 0.2892 0.1991 1.5 8.5820e-014
400 0.6255 0.609 1.03 8.9484e-014
500 1.176 1.263 0.93 2.2163e-014
600 2.05 2.197 0.93 7.0499e-015
700 3.228 3.458 0.93 2.4092e-014
800 4.855 5.137 0.95 2.2243e-014
900 6.873 7.272 0.95 3.0781e-014
1000 9.506 9.988 0.95 2.8283e-014
I've done this on a relative old laptop
(Windows XP, SP2, Intel III Mobile CPU 933 MHz 512 MB RAM)
so do not wonder about absolute performance times.
>From the the table above it can be seen that the results confirm my
expectations.
Up to about 400x400 sized matrices the speed gain (column 4) can be
enormous.
Consequently replacing 'inv(x)' in existing code by 'x\eye(n)' might be an
option and should be considered.
Unfortunately the maximal absolute difference between the two results
also increases with dimension n. Does anybody know which algorithm
is considered to be the more precise ?
Rolf Fabian
< r dot fabian at jacobs-university dot de>
-----
Rolf Fabian
<r dot fabian at jacobs-university dot de>
--
View this message in context:
http://www.nabble.com/Backslash-inversion-vs-inv-function-tp14948079p14948079.html
Sent from the Octave - Maintainers mailing list archive at Nabble.com.
- Backslash inversion vs inv-function,
Rolf Fabian <=