Vectors with integer mod \(n\) entries, with small \(n\)¶
EXAMPLES:
sage: v = vector(Integers(8), [1,2,3,4,5])
sage: type(v)
<class 'sage.modules.vector_modn_dense.Vector_modn_dense'>
sage: v
(1, 2, 3, 4, 5)
sage: 3*v
(3, 6, 1, 4, 7)
sage: v*7
(7, 6, 5, 4, 3)
sage: -v
(7, 6, 5, 4, 3)
sage: v - v
(0, 0, 0, 0, 0)
sage: v + v
(2, 4, 6, 0, 2)
sage: v * v
7
sage: v = vector(Integers(8), [1,2,3,4,5])
sage: u = vector(Integers(8), [1,2,3,4,4])
sage: v - u
(0, 0, 0, 0, 1)
sage: u - v
(0, 0, 0, 0, 7)
sage: v = vector((Integers(5)(1),2,3,4,4))
sage: u = vector((Integers(5)(1),2,3,4,3))
sage: v - u
(0, 0, 0, 0, 1)
sage: u - v
(0, 0, 0, 0, 4)
>>> from sage.all import *
>>> v = vector(Integers(Integer(8)), [Integer(1),Integer(2),Integer(3),Integer(4),Integer(5)])
>>> type(v)
<class 'sage.modules.vector_modn_dense.Vector_modn_dense'>
>>> v
(1, 2, 3, 4, 5)
>>> Integer(3)*v
(3, 6, 1, 4, 7)
>>> v*Integer(7)
(7, 6, 5, 4, 3)
>>> -v
(7, 6, 5, 4, 3)
>>> v - v
(0, 0, 0, 0, 0)
>>> v + v
(2, 4, 6, 0, 2)
>>> v * v
7
>>> v = vector(Integers(Integer(8)), [Integer(1),Integer(2),Integer(3),Integer(4),Integer(5)])
>>> u = vector(Integers(Integer(8)), [Integer(1),Integer(2),Integer(3),Integer(4),Integer(4)])
>>> v - u
(0, 0, 0, 0, 1)
>>> u - v
(0, 0, 0, 0, 7)
>>> v = vector((Integers(Integer(5))(Integer(1)),Integer(2),Integer(3),Integer(4),Integer(4)))
>>> u = vector((Integers(Integer(5))(Integer(1)),Integer(2),Integer(3),Integer(4),Integer(3)))
>>> v - u
(0, 0, 0, 0, 1)
>>> u - v
(0, 0, 0, 0, 4)
We make a large zero vector:
sage: k = Integers(8)^100000; k
Ambient free module of rank 100000 over Ring of integers modulo 8
sage: v = k(0)
sage: v[:10]
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
>>> from sage.all import *
>>> k = Integers(Integer(8))**Integer(100000); k
Ambient free module of rank 100000 over Ring of integers modulo 8
>>> v = k(Integer(0))
>>> v[:Integer(10)]
(0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
We multiply a vector by a matrix:
sage: a = (GF(97)^5)(range(5))
sage: m = matrix(GF(97), 5, range(25))
sage: a*m
(53, 63, 73, 83, 93)
>>> from sage.all import *
>>> a = (GF(Integer(97))**Integer(5))(range(Integer(5)))
>>> m = matrix(GF(Integer(97)), Integer(5), range(Integer(25)))
>>> a*m
(53, 63, 73, 83, 93)
AUTHOR:
William Stein (2007)
- class sage.modules.vector_modn_dense.Vector_modn_dense[source]¶
Bases:
FreeModuleElement
Create an element.