We continue to compare our toolbox with Maple and Symbolic Math Toolbox (VPA). This time we focus on main operations in dense linear algebra – solvers and factorizations.
Every case/routine is tested on a random 100 x 100
matrix. Average timing over ten tests is used.
Matrix Type | Timing (sec) | Speed-up (times) | |||
---|---|---|---|---|---|
VPA | Maple | Advanpix | Over VPA | Over Maple | |
General Real | 0.99 | 0.58 | 0.02 | 42.22 | 24.67 |
Symmetric Positive Definite | 0.99 | 0.63 | 0.01 | 77.10 | 49.31 |
General Complex | 3.13 | 2.43 | 0.08 | 38.34 | 29.74 |
Hermitian Positive Definite | 3.72 | 2.56 | 0.05 | 70.85 | 48.82 |
In average Advanpix solver is faster by 60 times over VPA and 40 times over Maple.
Factorization | Timing (sec) | Speed-up (times) | |||
---|---|---|---|---|---|
VPA | Maple | Advanpix | Over VPA | Over Maple | |
A is a general real matrix: | |||||
[L,U] = lu(A) | 1.67 | 0.61 | 0.02 | 78.26 | 28.29 |
[Q,R] = qr(A) | 3.46 | 2.60 | 0.08 | 44.44 | 33.46 |
[U,S,V] = svd(A) | 30.85 | 20.99 | 0.30 | 101.66 | 69.17 |
S = svd(A) | 15.88 | 2.51 | 0.07 | 223.54 | 35.35 |
[V,D] = eig(A) | 57.25 | 29.54 | 0.72 | 79.20 | 40.86 |
lambda = eig(A) | 21.21 | 26.90 | 0.34 | 62.31 | 79.01 |
A is a general complex matrix: | |||||
[L,U] = lu(A) | 2.74 | 2.56 | 0.07 | 41.63 | 38.89 |
[Q,R] = qr(A) | 10.99 | 11.39 | 0.25 | 43.38 | 44.99 |
[U,S,V] = svd(A) | 65.56 | 57.53 | 0.81 | 80.96 | 71.04 |
S = svd(A) | 25.28 | 10.22 | 0.26 | 98.24 | 39.71 |
[V,D] = eig(A) | 89.30 | 129.54 | 2.85 | 31.34 | 45.46 |
lambda = eig(A) | 33.14 | 113.99 | 1.29 | 25.67 | 88.32 |
As for factorizations, Advanpix toolbox outperforms VPA by 75 times and Maple by 50 times in average. Worth to note the massive speed gain of singular value decomposition (SVD) in particular.
Our test environment and scripts:
Core i7-3960X Extreme Edition, 3900 MHz, 64GB, Windows 7 64-bit
.MATLAB R2013a, Multiprecision Computing Toolbox 3.6.1
.Maple 17 64-bit
.- Maple test script: maple_test.mw.
- Matlab test script for Advanpix vs. VPA: advanpix-vs-vpa.zip.
Sincere gratitude to André Van Moer for ongoing support, fruitful discussions and for running the tests on his powerful computer.
{ 0 comments… add one now }