Re: [ojAlgo-user] Complex SVD slow
Mathematics, linear algebra and optimisation
Brought to you by:
apete
From: Anders P. <an...@op...> - 2013-04-13 11:56:48
|
I wouldn't expect SVD with ComplexNumber or BigDecimal to very fast. The ComplexNumber code did seem to be unnecessarily abstract so I made some changes. See if it's faster now. You'll have to get the source from CVS. ComplexNumber is now an abstract class. Whenever possible use the makeReal() factory method rather than makeRectangular() or makePolar(); /Anders On 12 apr 2013, at 23:34, Bayard Fetler <bf...@gm...> wrote: > I find that doing Singular Value Decomposition with ComplexNumber is much slower than with Double. For 256 rows by 64 columns, Double takes 17 ms while ComplexNumber takes 2.95 s, over a factor of 150.. At lower dimensions it's only 10 to 20 times slower. The timing comparison is just for the method SingularValue.compute(). > > I used NetBeans profiling and found that much of the time is spent in ComplexNumber.multiply(). I can understand a factor of 4 to 6 from the number of operations, but it also does a number of other checks such as isReal() and isPolar(). The initial matrix is created with makeRectangular(). > > I am using v33.0, and would be happy to share my source code.. > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |