Hello! Second beta of ALGLIB.spkg is ready. It can be downloaded from http://www.alglib.net/share/2010-07-26-alglib-for-sage/
Following issues were solved in this release: * compilation on SPARC/Solaris * missing support for SAGE64 * trashing of SAGE_LOCAL with additional dirs Issues that were NOT solved in this release: * OS X compilation (will be done in the next version) What's new in this release: * it was tested under SPARC/Solaris (and it works) * it was tested with both 2.7 and 3.1 branches of Python * Python-ALGLIB communication tests were added. They test ability to pass data between computational core and Python environment. They can also be used to generate doctests (will be implemented in one of the next releases). Only two units are tested now: matdet and matinv (41 test in total), but one day we will see 100% coverage by communication tests. * ALGLIB interface gradually becomes more user-friendly (see below). Plans for the future: * OS X testing * better integration with Sage (see below) -- NEW 'FRIENDLY' INTERFACE -- Two units (matdet and matinv) now support two forms of calling their functions: 'long' form, where matrix size and storage is explicitly specified by function parameters, and 'friendly' form, where this information is automatically determined from arguments. EXAMPLE: you want calculate inverse of SPD matrix a=[[3,2],[2,3]]. In the 'long' mode it can be done by $ matinv.spdmatrixinverse([[3,2],[2,3]],2,False) call. Here second argument is matrix size, third argument is storare format (False = only lower triangle of symmetric matrix is stored). This is LAPACK style of calling linear algebra functions. In the 'friendly' mode you can just call $ matinv.spdmatrixinverse([[3,2],[2,3]]) Function will automatically determine matrix size and will check that its argument is symmetric matrix given by both upper and lower triangles. In case of non-symmetric argument an exception will be generated. This mode is designed to be easy to use from interactive Python (or Sage) prompt. Currently only two units (determinants and inverses) support 'friendly' mode, but I want to make whole ALGLIB 'friendly' after several months from now. -- SAGE INTEGRATION -- Well, ALGLIB can be called from Python and Sage by now. But I think that more can be done to integrate it with Sage. For example, we can't write sage: A = Matrix([[3,2],[2,3]]) sage: matdet.rmatrixdet(A) because ALGLIB uses Python's list-of-lists to store matrices, and Sage uses its own matrix class. But only several functions from _alglib.py have to be fixed to work with Sage matrices/vectors: * safe_len/safe_cols/safe_rows * is_bool_vector/is_int_vector/is_real_vector/is_complex_vector * is_bool_matrix/is_int_matrix/is_real_matrix/is_complex_matrix * x_from_list/x_from_listlist I think that it is very easy to do for someone familiar with Sage internals. Anyone interested in helping me with this issue? -- With best regards, Sergey mailto:sergey.bochka...@alglib.net -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org