Hi Douglas,
The routine dgesdd uses a divide and conquer algorithm for the bidiagonal SVD, whereas dgesvd uses a QR algorithm. The former is faster in cases where there is significant deflation and should be generally preferred for large matrices.
Best regards,
Jack Poulson
I haven't looked into the guts of Julia's build system, but how easy would it be to perform the cmake equivalent of "check_function_exists" on dgesdd/dsyevd/dsyevr to see if they're available?
> Right now it's just raw GNU Make, though Keno Fischer has done some work onDo not, if you value your life and your soul, go there. Autotools and
> CMake for the Windows port, and that may eventually be where the whole build
> ends up. This would certainly argue for that approach.
CMake alike are inventions of the Devil, but CMake is worse.
On Sun, May 20, 2012 at 4:58 PM, Patrick O'Leary
<patrick...@gmail.com> wrote:
> Right now it's just raw GNU Make, though Keno Fischer has done some work on
> CMake for the Windows port, and that may eventually be where the whole build
> ends up. This would certainly argue for that approach.
Do not, if you value your life and your soul, go there. Autotools and
CMake alike are inventions of the Devil, but CMake is worse.
As I may have said before, the only environments that matter any more
are Linux, BSD, Mac OS X, Solaris, Haiku, Cygwin, MinGW, MinGW+Msys.
Create an appopriate .h file containing the correct settings of HAVE_*
for whatever names you actually require, and leave it at that.
On Monday, May 21, 2012 1:16:50 AM UTC-5, John Cowan wrote:On Sun, May 20, 2012 at 4:58 PM, Patrick O'Leary
<patrick...@gmail.com> wrote:
> Right now it's just raw GNU Make, though Keno Fischer has done some work on
> CMake for the Windows port, and that may eventually be where the whole build
> ends up. This would certainly argue for that approach.
Do not, if you value your life and your soul, go there. Autotools and
CMake alike are inventions of the Devil, but CMake is worse.
And plain Makefiles are also inherently broken, particularly with the build-the-world approach taken by julia. All build systems suck; find the one that sucks least for your application and run with it. (Disclaimer: I don't know what the least-bad build system for julia is.)
--