30 lines
1.8 KiB
Plaintext
30 lines
1.8 KiB
Plaintext
TO DO LIST
|
|
|
|
|
|
|
|
(optional optimization) - do all the allocations in the allocate part
|
|
- support static matrices
|
|
- return a error at compilation time when using integer matrices (int, long, std::complex<int>, ...)
|
|
|
|
to finish the algorithm :
|
|
-implement the last part of the algorithm as described on the reference paper.
|
|
You may find more information on that part on this paper
|
|
|
|
-to replace the call to JacobiSVD at the end of the divide algorithm, just after the call to
|
|
deflation.
|
|
|
|
(suggested step by step resolution)
|
|
0) comment the call to Jacobi in the last part of the divide method and everything right after
|
|
until the end of the method. What is commented can be a guideline to steps 3) 4) and 6)
|
|
1) solve the secular equation (Characteristic equation) on the values that are not null (zi!=0 and di!=0), after the deflation
|
|
wich should be uncommented in the divide method
|
|
2) remember the values of the singular values that are already computed (zi=0)
|
|
3) assign the singular values found in m_computed at the right places (with the ones found in step 2) )
|
|
in decreasing order
|
|
4) set the firstcol to zero (except the first element) in m_computed
|
|
5) compute all the singular vectors when CompV is set to true and only the left vectors when
|
|
CompV is set to false
|
|
6) multiply naiveU and naiveV to the right by the matrices found, only naiveU when CompV is set to
|
|
false, /!\ if CompU is false NaiveU has only 2 rows
|
|
7) delete everything commented in step 0)
|