Re: Semidefinite programming in Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg45026] Re: Semidefinite programming in Mathematica
- From: Ronald Bruck <bruck at math.usc.edu>
- Date: Sat, 13 Dec 2003 06:06:20 -0500 (EST)
- References: <brci7r$2qe$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
In article <brci7r$2qe$1 at smc.vnet.net>, Dirk <dirk.scevenels at skynet.be> wrote: > I've seen some implementations of algorithms related to semidefinite > programming. > > Does anybody know of existing Mathematica implementations? Do you mean, in machine precision, or in arbitrary precision? Well, it's a trick question: no to both. Part of the problem here for multiple precision is the need to implement LAPACK (or parts of it, anyway), especially the Cholesky decomposition. Unfortunately the LAPACK codebase is replete with assumptions about double-precision arithmetic, and I don't know of any implementations which are safe with respect to arbitrary precision. Brian Borchers has written a program called CSDP, currently at version 4.6. I modified Brian's code to do multiprecision arithmetic using the Gnu Multi-Precision Library, including modifying parts of LAPACK, but it's based on Brian's version 3.2, and I have no plans to improve to version 4.6--it's too much of a chore. I've successfully used my code to do optimizations using real numbers up to 16384 bits in length, but this isn't of much interest to numerical analysts, because it is SLOW. (No sense in optimizing the BLAS using ATLAS when a single number takes up the whole cache!) It would be interesting to write a Mathematica interface to my code. It's somewhere in my list of priorities, but pretty far down. If you would like, I can e-mail you my variation of CSDP. Hmmm... I thought I had put it up on my website, but I don't see it there. Or much of anything I **thought** was there. Perhaps I can fix this over the Xmas break. --Ron Bruck