If a list of vectors gets passed as an argument to sage.plot.line.line
(),
the entries' types are changed from 'vector' to 'tuple' by the call to
the
line() function. This results in failing vector operations on the list
entries
in subsequent calculations.

How to reproduce:

---snip---
class Foo:

  def __init__( self ):
    self.bar = map( vector, [ (0,0,0), (1,2,3) ] )
    self.plot = None

  def printtype( self ):
    print "type( bar[ i ] ):", [ type( i ) for i in self.bar ]

  def do( self ):
    # expected types:
    # 'sage.modules.vector_integer_dense.Vector_integer_dense'
    self.printtype( )
    self.plot = line( self.bar )
    # expected types (still):
    # 'sage.modules.vector_integer_dense.Vector_integer_dense'
    # (types now changed)
    self.printtype( )


foo = Foo( )
foo.do( )

---snip---

Load this into a sage session and the type change will show.

Best regards, xtian

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