The question is how you would append a row using the insert method if you 
disallowed indices that are out of range. I agree that the negative indice 
behavior is wrong for deletion: it should have deleted the first row as you 
indicate.

On Sunday, May 31, 2015 at 7:13:14 AM UTC-5, Gaurav Dhingra wrote:
>
> Hi all
>
> >>> from sympy import *
> >>> M = Matrix( [ [1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6] ] )
> >>> M.row_del ( 8 )                                            # any index 
> >= M.rows to be used
> >>> print( M )
> Matrix( [ [ 1, 2, 3], [2, 3, 4], [3, 4, 5] ] )               # deletes the 
> last row of Matrix for Index >= M.rows
>
> >>> N = Matrix( [ [ 1, 2, 3], [2, 3, 4], [3, 4, 5], [4, 5, 6] ] )
> >>> N.row_del( -10 )
> >>> print( N )                                                     # 
> deletes the last row of Matrix with any `Negative Index`
> Matrix( [ [ 1, 2, 3], [2, 3, 4], [3, 4, 5] ] )
>
> But the output for .row_insert() shows different behavior
>
> >>> M = Matrix( [ [1, 2, 3], [2, 3, 4], [3, 4, 5] ] )
> >>> M.row_insert ( 10, Matrix( [ [ 5, 5, 5 ] ] ) )
> Matrix( [ [1, 2, 3], [2, 3, 4], [3, 4, 5], [5, 5, 5] ] )   # inserts the 
> row at the very end for Index >= M.rows
>
> >>> N = Matrix( [ [ 1, 2, 3], [2, 3, 4], [3, 4, 5] ] )
> >>> N.row_insert( -10, Matrix( [ [5, 5, 5 ] ] ) )
> Matrix( [ [5, 5, 5], [1, 2, 3], [2, 3, 4], [3, 4, 5] ] )     # inserts the 
> row at the very beginning for `Negative Index`
>
>
> First of all i  expected that an IndexError be raised in all cases. 
> Because i think it should follow something like  a = [1, 2, 3] and del a[ 
> 10 ] which raises an error. 
> But even if not error then it should be more consistent with the indices. 
> Is it the way the things are expected to work ?
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/3640d951-2928-49c0-9adf-e5553b0ff2b2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to