Posted Wednesday, November 21, 2007 6:04 AM
|
|
|
|
| I have run the following code fragment twice ( variables declaration has been omitted from the code fragment): first time with a matrix size of 1950,20 ( exactly as in the code fragment). second time with matrix dimensions of 20, 1950 the execution time recorded: 3.121094 for the first run 0.03125 for the second run ( 100 times faster !!! ) =========code=========== A.Size 1950, 20 ' A.Size 20, 1950 A.FillRandom Dim t As Single t = Timer A.SVD U, S, V Debug.Print Timer() - t ==========end of code=====
|
|
Posted Wednesday, November 21, 2007 7:18 AM
|
|
|
|
hmmm sorry but forgot to post the question  Any idea why the execution time is varying between the runs? I have not checked the correctness of the rusults in the two runs and thus not sure that both runs deliver a correct decomposition... --hoop says: palying with number might be dangerous----
|
|
Posted Wednesday, November 21, 2007 7:44 AM
|
|
|
|
| The same phenomena when decomposing a matrix and the transpose of the matrix... ---hoop says: playing with number might be dangerous---
|
|
Posted Wednesday, November 21, 2007 12:48 PM
|
|
|
|
| Strange ... I do not get similar results in my machine, execution times differ but in a ratio 3:1 which I believe is normal. Let me check about it and I will let you know.
Trifon Triantafillidis | Lead Developer |
|
|
|
Posted Wednesday, November 21, 2007 12:53 PM
|
|
|
|
| What is your machine configuration? (processor and RAM) I find the execution times unreasonably high! In my machine with A = 5000x200 I get 6.90625 seconds and for A=200x5000 I get 4.71875 seconds
Trifon Triantafillidis | Lead Developer |
|
|
|
Posted Thursday, November 22, 2007 3:18 AM
|
|
|
|
| hello, I have tried it once more (with matrix 5000 x 200) and the results are: run #1 : 41.96 seconds run #2 : 1213 (!) seconds (ratio of about 1:30) machine configuration: Pentium D 2.86 GHz, 1 G of RAM, XP Pro (SP2)
|
|
Posted Thursday, November 22, 2007 4:12 AM
|
|
|
|
I really cannot understand the reason for such long execution times. Here is the exact code I run: Dim A As Matrix Dim U As Matrix, S As Matrix, V As Matrix Set A = New Matrix A.Size 5000, 200 'A.Size 200, 5000 A.FillRandom Dim t As Single t = Timer A.SVD U, S, V Debug.Print Timer() - t Execution time is 6.828125 seconds. My machine is a Pentium 4 at 3.2Ghz which is not much faster than yours. Have you tried to run the code on another machine? Can another forum member test the above code and report results together with machine configuration? Thanks
Trifon Triantafillidis | Lead Developer |
|
|
|
|
|