In http://trac.sagemath.org/sage_trac/ticket/3704, the diagonal matrix 
constructor is modified (and simplified/enhanced) to let someone do:

sage: diagonal_matrix(1,2,3)
[1 0 0]
[0 2 0]
[0 0 3]


to get a diagonal matrix with diagonal entries 1, 2, 3.

However, this conflicts with the previous syntax of:

diagonal_matrix(<optional ring>, <optional size>, <list of entries>)

which gives the 1x1 matrix [2], since 1 is picked up as the optional 
size.  To specify the number of rows with the new syntax, a person would 
use the nrows keyword argument (which is then just passed on to the 
matrix() constructor).

The problem is in deprecating the old functionality and introducing the 
new.  Since there is a direct conflict in how the first numeric argument 
is treated, I can't have both behaviors coexisting.  Is it all right to 
abandon the old behavior without officially deprecating it first?

I suppose that a way around the issue is to, for now, interpret the 
first numeric argument as a size, just put an nrows option into the 
code, and put in a deprecation warning if a size is passed as the first 
numeric argument.  Later we can switch over to the new code.  Is that 
the way to do the deprecation?

Thanks,

Jason


--~--~---------~--~----~------------~-------~--~----~
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://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to