Both f
and lf
are maps, not matrices. Ther is no ambiguity on the side of the action. The side
option only applies on linear_transformation()
when it is built from a matrix (there is an ambiguity since a matrix creates two linear maps depending on whether one consider the action on the left or on the right). In Sage, the matrix are by default acting on the right (i mean vectors are on the left, see for example the .kernel()
method), which is what you see in the representation of lf
. There is no problem here:
sage: f([0,1])
(3, -1)
sage: lf([0,1])
(3.00000000000000, -1.00000000000000)
sage: f([1,0])
(2, 5)
sage: lf([1,0])
(2.00000000000000, 5.00000000000000)
Now, if you want the matrix associated to the linear map lf
with respect to the canonical basis, you can ask:
sage: lf.matrix(side='right')
[ 2.00000000000000 3.00000000000000]
[ 5.00000000000000 -1.00000000000000]
or
sage: lf.matrix(side='left')
[ 2.00000000000000 5.00000000000000]
[ 3.00000000000000 -1.00000000000000]
depending on whether you want the matrix to act on the left or on the right.