Построение вектора из последовательности в MacAulay2

Я нахожусь в следующей ситуации:

S = QQ [x_0..x_n];

для i от 0 до n сделать для j от i до n сделать d_{i,j} = x_i*x_j;

Теперь я хотел бы построить вектор, элементы которого

D_{0,0}=x_0^2, D_ {0,1} = x_0 * x_1,..., D_ {0, п} = x_0 * x_n, D_{1,1}=x_1^2, D_ { 1,2} = x_1 * x_2,..., D_ {п, п}=x_n^2

Как я могу сделать это в MacAulay2? Большое спасибо.

1 ответ

В Macaulay2 вектор ссылается на вектор столбца, и если у нас есть векторные элементы, мы можем построить следующий вектор:

SQ= for i from 0 to n list d_{i}
vector(SQ)

Но так как вектор, который вы хотите, не является вектором столбца, лучше всего сделать матрицу:

d=mutableMatrix genericMatrix(S,n,n)
for i from 0 to n do for j from 0 to n do d_(i,j)=x_i*x_j

Это может быть то, что вы ищете.

m=ideal(S_*)
m^2_*

В _*оператор получает генераторы идеала. Так,m - максимальный идеал, и вы ищете генераторы m^2.

Альтернативно

flatten entries basis(2,S)

который просто дает вам векторный базис кольца S в степени 2.

Другие вопросы по тегам