Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/deepthought/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 20.5.2025 mit Größe 4 kB image not shown  

Quelle  _Chapter_The_Deep_Thought_algorithm.xml   Sprache: XML

 
<?xml version="1.0" encoding="UTF-8"?>

<!-- This is an automatically generated file. -->
<Chapter Label="Chapter_The_Deep_Thought_algorithm">
<Heading>The Deep Thought algorithm</Heading>

 Polycyclic and, especially, finitely generated nilpotent groups exhibit a rich structure allowing a special approach towards multiplication using polynomials. The so-called Deep Thought algorithm introduced in <Cite Key="LGS"/> computes these polynomials in practice for a suitable presentation of a finitely generated nilpotent group. Such a presentation is of the following form
<P/>
 <Display> \langle a_1, \ldots, a_n \mid a_i^{s_i} = a_{i+1}^{c_{i, i, i+1}} \cdots a_n^{c_{i, i, n}}, 1 \leq i \leq n, a_j a_i = a_i a_j a_{j+1}^{c_{i, j, j+1}} \cdots a_n^{c_{i, j, n}}, 1 \leq i < j \leq n \rangle </Display>
 with <Math>s_i \in \mathbb{N} \cup \{ \infty \}</Math> and <Math>c_{i, j, k} \in \mathbb{Z}</Math>. If <Math>s_i = \infty</Math>, then the power relation <Math>a_i^{s_i}</Math> is skipped.
<P/>
 Let <Math>G</Math> denote the group presented by the above presentation. Then every element in <Math>G</Math> can be written uniquely in a so-called normal form. That is, if <Math>G_i := \langle a_i, \ldots, a_n \rangle</Math> and  <Math>r_i := | G_i : G_{i+1}|</Math>, <Math>1 \leq i \leq n</Math>, are the relative orders, then for certain <Math>e_i \in \mathbb{Z}</Math> each element can be written as
 <Display> a_1^{e_1} \cdots a_n^{e_n} </Display>
 with <Math>0 \leq e_i < r_i</Math> if <Math>r_i < \infty</Math>. A presentation is called confluent if and only if <Math>s_i = r_i</Math> for all <Math>1 \leq i \leq n</Math>. If a presentation is not confluent, not all functions provided in this package are applicable, see function <C>DTP_DTapplicability</C>. For more theoretical background see for example the documentation of the &GAP; package &Polycyclic;.
<P/>
 The Deep Thought algorithm computes rational polynomials <Math>f_1, \ldots, f_n</Math> in <Math>2n</Math> indeterminates such that if <Math> x := a_1^{x_1} \cdots a_n^{x_n} </Math> and <Math>y := a_1^{y_1} \cdots a_n^{y_n} </Math> are two elements (in normal form or not with <Math>x_1, \ldots, x_n, y_1, \ldots, y_n \in \mathbb{Z}</Math>), then their product <Math>xy</Math> is given by
 <Display>a_1^{f_1(x_1, \ldots, x_n, y_1, \ldots, y_n)} \cdots a_n^{f_n(x_1, \ldots, x_n, y_1, \ldots, y_n)}.</Display>
 If the collector is confluent, also the normal form of the product can be computed. Otherwise this is not possible.
 Moreover, there exists a second version of the Deep Thought algorithms which computes <Math>n^2</Math> polynomials <Math>f_{rs}</Math>, <Math>1 \leq r, s \leq n</Math>, suitable for multiplications of the form
 <Display>(a_1^{x_1} \cdots a_n^{x_n}) \cdot a_s^{y_s} = a_1^{f_{1s}(x_1, \ldots, x_n, y_s)} \cdots a_n^{f_{ns}(x_1, \ldots, x_n, y_s)} </Display>
 for <Math>1 \leq s \leq n</Math>. Each general multiplication can be expressed using these special multiplications. Depending on the presentation, polynomials of one version may be more efficient for computations than the polynomials of the other version. For a suggestion on which polynomials to use for a given presentation, see <C>DTP_DTapplicability</C>. In the following, Deep Thought type <Math>f_r</Math> refers to the Deep Thought algorithm which uses <Math>n</Math> polynomials and type <Math>f_{rs}</Math> refers to the Deep Thought algorithm using <Math>n^2</Math> polynomials.
<P/>
 In order to work with the Deep Thought functions, the group presentation is expected to be given as a collector <C>coll</C>, as defined in the &GAP; package &Polycyclic;. Moreover, the &Polycyclic; package introduces the structure of exponent vectors <C>expvec</C>, which will be used also in this package to represent group elements.
 In the following text, a group element <Math>a_1^{x_1} \cdots a_n^{x_n}</Math> is identified with its exponent vector in form of the list <C>[x_1, ..., x_n]</C>. For example, if <C>expvec1, expvec2</C> are exponent vectors of elements in the same group, then <C>expvec1 * expvec2</C> describes the multiplication of the corresponding group elements, and so on. Note that generally exponent vectors are not assumed to represent normal forms.
<P/>
<Section Label="Chapter_The_Deep_Thought_algorithm_Section_Category_DTObj">
<Heading>Category DTObj</Heading>

 This package uses the category <C>DTObj</C>. A <C>DTObj</C> is a <C>IsFromTheLeftCollectorRep</C> with certain further list entries to store the Deep Thought polynomials of a collector together with some additional information. That is, the functions <C>DTP_DTpols_r</C> and <C>DTP_DTpols_rs</C> return a <C>DTObj</C> which has entries as <C>IsFromTheLeftCollectorRep</C> and additionally:
 <List>
 <Item> <C>DTObj![PC_DTPPolynomials]</C>: Deep Thought polynomials in form of (nested) lists</Item>
 <Item> <C>DTObj![PC_DTPOrders]</C>: list containing orders of group generators if the collector is confluent</Item>
 <Item> <C>DTObj![PC_DTPConfluent]</C>: boolean value indicating whether the collector is confluent or not</Item>
 </List>
</Section>


</Chapter>

90%


¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.