Previous: Введение в пакет affine, Up: Пакет affine   [Contents][Index]

24.2 Функции и переменные пакета affine

Функция: fast_linsolve ([expr_1, ..., expr_m], [x_1, ..., x_n])

Решает систему линейных уравнений expr_1, ..., expr_m относительно переменных x_1, ..., x_n. Каждый аргумент expr_i может быть уравнением или произвольным выражением. В последнем случае выражение трактуется как уравнение вида expr_i = 0.

Возвращаемое значение является списком вида [x_1 = a_1, ..., x_n = a_n], где a_1, ..., a_n не зависят от переменных x_1, ..., x_n.

fast_linsolve более быстрый чем linsolve для разреженных систем.

Команда load("affine") загружает эту функцию.

Функция: grobner_basis ([expr_1, ..., expr_m])

Возвращает базис Гребнера для уравнений expr_1, ..., expr_m. После этого функция polysimp может быть использована для упрощения других выражений по функций относительно данной системы уравнений.

grobner_basis ([3*x^2+1, y*x])$

polysimp (y^2*x + x^3*9 + 2) ==> -3*x + 2

polysimp(f) возвращает 0 тогда и только тогда, когда f принадлежит идеалу уравнений expr_1, ..., expr_m. Иными словами, тогда и только тогда, когда f является полиномиальной комбинацией элементов expr_1, ..., expr_m.

Команда load("affine") загружает эту функцию.

Функция: set_up_dot_simplifications (eqns, check_through_degree)
Функция: set_up_dot_simplifications (eqns)

Уравнения eqns являются полиномиальными уравнениями относительно некоммутативных переменных. Значение current_variables есть список переменных, используемых для вычисления степеней. Уравнения должны быть однородными по степеням, для того, чтобы процедура сходилась.

Если перекрывающиеся упрощения в dot_simplifications проверены до степени выше степени f, тогда верно следующее: dotsimp(f) дает 0 тогда и только тогда, когда f принадлежит идеалу уравнений, т.е., тогда и только тогда, когда f является полиномиальной комбинацией уравнений.

Здесь степень определяется с помощью nc_degree и зависит от весов отдельных переменных.

Команда load("affine") загружает эту функцию.

Функция: declare_weights (x_1, w_1, ..., x_n, w_n)

Присваивает веса w_1, ..., w_n переменным x_1, ..., x_n. Эти веса используются при вычислении nc_degree.

Команда load("affine") загружает эту функцию.

Функция: nc_degree (p)

Возвращает степень некоммутативного полинома p. См. также declare_weights.

Команда load("affine") загружает эту функцию.

Функция: dotsimp (f)

Возвращает 0 тогда и только тогда, когда f принадлежит идеалу уравнений, т.е., тогда и только тогда, когда f является полиномиальной комбинацией элементов уравнений.

Команда load("affine") загружает эту функцию.

Функция: fast_central_elements ([x_1, ..., x_n], n)

Если set_up_dot_simplifications было уже выполнено, тогда данная функция возвращает центральные полиномы степени n по переменным x_1, ..., x_n.

Например:

set_up_dot_simplifications ([y.x + x.y], 3);
fast_central_elements ([x, y], 2);
[y.y, x.x];

Команда load("affine") загружает эту функцию.

Функция: check_overlaps (n, add_to_simps)

Проверяет перекрытия до степени n, чтобы убедиться, что имеется достаточно правил упрощения для каждой степени чтобы dotsimp работало правильно. Этот процесс может быть ускорен если заранее известна размерность пространства мономов. Если размерность конечная и глобальная, тогда следует использовать hilbert. Если мономиальная размерность неизвестна, то не следут задавать rank_function. Необязательный третий аргумент reset, false означает – не следует спрашивать о переопределении объектов.

Команда load("affine") загружает эту функцию.

Функция: mono ([x_1, ..., x_n], n)

Возвращает список независимых мономов по отношению к текущим упрощениям степени n по переменным x_1, ..., x_n.

Команда load("affine") загружает эту функцию.

Функция: monomial_dimensions (n)

Вычисляет ряд Гильберта до степени n для текущей алгебры.

Команда load("affine") загружает эту функцию.

Функция: extract_linear_equations ([p_1, ..., p_n], [m_1, ..., m_n])

Возвращает список коэффициентов некоммутативных полиномов p_1, ..., p_n некоммутативных мономов m_1, ..., m_n. Коэффициенты должны быть скалярными. Для получения списка мономов используется list_nc_monomials.

Команда load("affine") загружает эту функцию.

Функция: list_nc_monomials ([p_1, ..., p_n])
Функция: list_nc_monomials (p)

Возвращает список некоммутативных мономов полинома p или списка полиномов p_1, ..., p_n.

Команда load("affine") загружает эту функцию.

Управляющая переменная: all_dotsimp_denoms

Значение по умолчанию: false

Когда all_dotsimp_denoms является списком,то знаменатели, встречающиеся при работе dotsimp, добавляются к этому списку. all_dotsimp_denoms может быть инициализировано пустым списком [] перед вызовом dotsimp.

По умолчанию dotsimp не собирает числители.


Previous: Введение в пакет affine, Up: Пакет affine   [Contents][Index]