> Furthermore, the exposed APIs give the Julia programmer significantly fewer capabilities than the sparse matrix suite of Matlab.
Like what? There is a SuiteSparse.jl package under the JuliaSparse organization that currently has a handful of routines (Julia ports) but will be the home as more of the bindings gradually get migrated there, and out of base Julia. The long-term plan is to be less reliant on SuiteSparse as the only option, and instead to come up with a more general interface that multiple different solver packages could plug into. Outside of base Julia, a SuiteSparse.jl package would be more flexible to wrap as much of the SuiteSparse API as its contributors and maintainers choose. On Friday, August 5, 2016 at 2:17:09 PM UTC-7, [email protected] wrote: > > Sparse matrix computation is a key aspect of scientific computing. The > creators of Julia made the smart decision to rely on SuiteSparse, > high-quality free C++ software that carries out most of the common sparse > matrix factorizations and related operations very efficiently. > > The issue that concerns me is that the wrappers in Julia, namely, > cholmod.jl, spqr.jl and umfpack.jl, expose only a small fraction of > SuiteSparse's capabilities. Furthermore, the exposed APIs give the Julia > programmer significantly fewer capabilities than the sparse matrix suite of > Matlab. > > And the reason for this limitation has become clear to me over the past > few days as I tried to develop a routine to find a right null vector of a > sparse matrix using SuiteSparse: it is difficult and tedious to write Julia > wrappers for the routines in SuiteSparse. Even figuring out whether a > particular variable is an Int32 or Int64 requires poring over SuiteSparse's > nested header files full of conditional platform-dependent compilation > directives. And my resulting wrapper works only on one platform for one > version of Julia and one version of SuiteSparse. It is clear that whoever > wrote cholmod.jl, spqr.jl and umfpack.jl put a lot of time and painstaking > effort into getting these interfaces correct. > > And this raises a question: will Julia ever fully incorporate SuiteSparse? > Will its sparse matrix capabilities ever approach Matlab's? Who will take > the time to write, test and maintain cross-platform Julia wrappers for > SuiteSparse? This is a tedious job that carries little glory - I certainly > would not want to do it! And yet sparse matrix computation is so important. > >
