Robert Bradshaw wrote:
On Jan 7, 2010, at 9:56 PM, Dag Sverre Seljebotn wrote:
Since which solver is suitable is in some sense a property of the matrix, there would be a set_algorithms method which would set the default order of algorithms to try and their options. Also all the same options would apply to other methods (log_determinant, inverse, and so on).

sage: A.set_algorithms(['cholesky', 'cholesky', 'qr', 'lu'], rtol=1e-3, cholmod_permutation_finder='metis')

I'm not as sure about this idea (though not completely opposed either). It seems more natural have a way of asserting, or even requesting, a property of a matrix (maybe with a check flag) and having it deduce what algorithms to use based on that. In terms of naming the method could be called set_hints, and could take an algorithms parameter.

Many professionals would want to specify the algorithm to use and turn off iterative refinement and checks. The multiplication operation needed just to get the error estimate would be seen as too expensive.

One might for instance do an experiment with one matrix, then judging from how that matrix behave set the solution method to use for the next ten million matrices. Or would want to use a method proved to work well for the specific problem in the litterature.

The name set_hints seems like bad PR for Sage in that context.

--
Dag Sverre
-- 
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

Reply via email to