1 | initial version |

I would advise to work with a list of vectors and make loops as you suggested. You can write a function `grid(v1,v2)`

(plus fancy parameters) and apply it to `grid(A*v1,A*v2)`

.

2 | No.2 Revision |

I would advise to work with a list of vectors and make loops as you suggested. You can write a function `grid(v1,v2)`

(plus fancy parameters) and apply it to `grid(A*v1,A*v2)`

.

About Sage, i would start by:

```
sage: V = VectorSpace(QQ,2)
sage: v1, v2 = V.basis()
```

So that my vectors live in a safe place. Then, after defining a `grid()`

function that returns a `Graphics()`

object built as a sum of `lines()`

, i would write:

```
sage: grid(v1, v2, color='blue') + grid(M*v1, M*v2, color='red')
```

3 | No.3 Revision |

I would advise to work with a list of vectors and make loops as you ~~suggested. ~~suggested, this is a smart way. You can write a function

(plus fancy parameters) and apply it to ~~grid(v1,v2)~~grid(v1, v2)

for some matrix ~~grid(A*v1,A*v2)~~grid(M*v1, M*v2)`M`

.

About Sage, i would start by:

```
sage: M = matrix(QQ, [[1,1],[1,0]])
sage: V =
```~~VectorSpace(QQ,2)
~~VectorSpace(QQ, 2)
sage: v1, v2 = V.basis()

So that my vectors live in a safe ~~place. ~~place (you can of course replace `QQ`

with another field if needed). Then, after defining a `grid()`

function that returns a `Graphics()`

object built as a sum of `lines()`

, i would write:

```
sage: grid(v1, v2, color='blue') + grid(M*v1, M*v2, color='red')
```

4 | No.4 Revision |

I would advise to work with a list of vectors and make loops as you suggested, this is a smart way. You can write a function `grid(v1, v2)`

(plus fancy parameters) and apply it to `grid(M*v1, M*v2)`

for some matrix `M`

.

About Sage, i would start by:

```
sage: M = matrix(QQ, [[1,1],[1,0]])
sage: V = VectorSpace(QQ, 2)
sage: v1, v2 = V.basis()
```

So that my vectors live in a safe place (you can of course replace `QQ`

with another field if ~~needed). ~~needed, typically if you want to draw rotations using sinus and cosinus). Then, after defining a `grid()`

function that returns a `Graphics()`

object built as a sum of `lines()`

, i would write:

```
sage: grid(v1, v2, color='blue') + grid(M*v1, M*v2, color='red')
```

Do not hesitate to ask for details about the `grid()`

function if needed.

5 | No.5 Revision |

I would advise to work with a list of vectors and make loops as you suggested, this is a smart way. You can write a function `grid(v1, v2)`

(plus fancy parameters) and apply it to `grid(M*v1, M*v2)`

for some matrix `M`

.

About Sage, i would start by:

```
sage: M = matrix(QQ, [[1,1],[1,0]])
sage: V = VectorSpace(QQ, 2)
sage: v1, v2 = V.basis()
```

So that my vectors live in a safe place (you can of course replace `QQ`

with another field if needed, typically if you want to draw rotations using sinus and cosinus). Then, after defining a `grid()`

function that returns a `Graphics()`

object built as a sum of `lines()`

, i would write:

```
sage: grid(v1, v2, color='blue') + grid(M*v1, M*v2, color='red')
```

To get something like that picture

Do not hesitate to ask for details about the `grid()`

function if needed.

6 | No.6 Revision |

I would advise to work with a list of vectors and make loops as you suggested, this is a smart way. You can write a function `grid(v1, v2)`

(plus fancy parameters) and apply it to `grid(M*v1, M*v2)`

for some matrix `M`

.

About Sage, i would start by:

```
sage: M = matrix(QQ, [[1,1],[1,0]])
sage: V = VectorSpace(QQ, 2)
sage: v1, v2 = V.basis()
```

So that my vectors live in a safe place (you can of course replace `QQ`

with another field if needed, typically if you want to draw rotations using sinus and cosinus). Then, after defining a `grid()`

function that returns a `Graphics()`

object built as a sum of `lines()`

, i would write:

```
sage: grid(v1, v2, color='blue') + grid(M*v1, M*v2, color='red')
```

To get something like that picture

Do not hesitate to ask for details about the `grid()`

function if needed.

7 | No.7 Revision |

`grid(v1, v2)`

(plus fancy parameters) and apply it to `grid(M*v1, M*v2)`

for some matrix `M`

.

About Sage, i would start by:

```
sage: M = matrix(QQ, [[1,1],[1,0]])
sage: V = VectorSpace(QQ, 2)
sage: v1, v2 = V.basis()
```

So that my vectors live in a safe place (you can of course replace `QQ`

with another field if needed, typically if you want to draw rotations using sinus and cosinus). Then, after defining a `grid()`

function that returns a `Graphics()`

object built as a sum of `lines()`

, i would write:

```
sage: grid(v1, v2, color='blue') + grid(M*v1, M*v2, color='red')
```

To get something like that ~~picture~~

picture:

Do not hesitate to ask for details about the `grid()`

function if needed.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.