id	summary	reporter	owner	description	type	status	priority	milestone	component	resolution	keywords	cc	work_issues	upstream	reviewer	author	merged	dependencies	stopgaps
11549	Arithmetic with symbolic vectors always creates a new FreeModuleElement_generic_dense	jvkersch	burcin	"Arithmetic with symbolic vectors (addition, scalar multiplication) produces an instance of `FreeModuleElement_generic_dense` instead of a new symbolic vector:

{{{
sage: v = vector(SR, [1])
sage: w = vector(SR, [x])
sage: type(v)
<class 'sage.modules.vector_symbolic_dense.Vector_symbolic_dense'> 
sage: type(w) 
<class 'sage.modules.vector_symbolic_dense.Vector_symbolic_dense'> 
sage: type(v + w)
<type 'sage.modules.free_module_element.FreeModuleElement_generic_dense'>
}}}

As David Roe pointed out, the problem is due to the constructor in `FreeModuleElement_generic_dense` hard-coding the class, so that arithmetic operations with symbolic vectors ends up being a `FreeModuleElement_generic_dense` rather than an instance of `Vector_symbolic_dense`.

See the discussion at https://groups.google.com/group/sage-devel/browse_thread/thread/b20559a111041c3b

Apply [attachment:trac_11549_symbolic_vector_arithmetic.patch] and [attachment:11549_doc.patch]"	defect	closed	major	sage-4.7.2	symbolics	fixed	vector, symbolic, arithmetic	roed robertwb jason		N/A	David Roe	Joris Vankerschaver, Jeroen Demeyer	sage-4.7.2.alpha0		
