2014-09-23 1 views
0

Поскольку я новичок в программировании с SAGE, я задаюсь вопросом, может ли кто-нибудь помочь мне в этой теме, которая, я думаю, заключается в том, чтобы сначала записать результаты в файл, а затем взять их оттуда.Запись и чтение шалфея из файлов; spesific example

В частности, У меня есть такая команда;

n = 11 
 
K = GF(4,'a') 
 
R = PolynomialRing(GF(4,'a'),"x") 
 
x = R.gen() 
 
a = K.gen() 
 

 
v = [1,0,0,0,1,1,1,0,0,0,1] 
 
R(v) 
 
f = x^n-R(v) 
 
S = R.quotient(f, 'y') 
 
y = S.gen()

В последующих шагах я использую это V в виде списка коэффициентов полинома. И я делаю на них какую-то алгебру. Но я хочу, чтобы это v пробежало все возможные 11-длинные векторы над конечным полем K, как я определил. И я хочу получить результаты для каждого v отдельно.

Как я могу написать программу, которая сделает это для меня?

Заранее спасибо.

ответ

0

Вы можете сделать это:

n = 11 
K = GF(4,'a') 
for v in VectorSpace(K, n): 
    do stuff with v 

На моем компьютере, потребовалось 14,1 секунд, чтобы построить список всех векторов в VectorSpace(K, 10), 55 секунд для VectorSpace(K, 11). Когда вы запускаете цикл, он не создает список сразу, поэтому в начале нет длительной паузы, и он не должен заполнять много памяти, итерации через элементы векторного пространства довольно быстро.

Если вы действительно хотите записать файл, вам следует изучить ввод и вывод файлов в Python, например in the Python docs.