On Jan 10, 2008 9:16 AM, Robert Bradshaw <[EMAIL PROTECTED]> wrote: > > These sound like good suggestions, I'll re-implement the richer > functionality. >
Quick question -- why does this even have to be another function? Couldn't we just expand the functionality of the matrix command, at least in some cases? That's how some other systems work. E.g., if A, B, C, D are all matrices of the same size, we could make matrix([[A,B], [C, D]]) (1) determine a ring that the base rings of A,B,C,D all map to, then (2) make the block matrix as mentioned above. We would know to do this because A,B,C,D are all of type MatrixElement and MatrixElements are not ring elements. (Issue: Square matrices could someday be ring elements but they aren't now.) For clarity we could have a disambuiguation, e.g., matrix([..], block=True) Anyway, to implement this would mean implementing exactly what you plan to do already with a block_matrix command, then just adding a quick hook to matrix(...) when one would otherwise get an error. William --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---