Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/matricesforhomalg/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 7.8.2025 mit Größe 6 kB image not shown  

Quellcode-Bibliothek intro.xml   Sprache: XML

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

<!-- 

  intro.xml            MatricesForHomalg package documentation            Mohamed Barakat

         Copyright (C) 2007-2009, Mohamed Barakat, RWTH-Aachen

This chapter gives a short introduction and explains the philosophy
behind the package.

-->


<Chapter Label="intro">
<Heading>Introduction</Heading>

<Section Label="MatricesForHomalg_role">
<Heading>What is the role of the &MatricesForHomalg; package in the &homalg; project?</Heading>

<Subsection Label="MatricesForHomalg-provides">
<Heading>&MatricesForHomalg; provides ...</Heading>

The package &MatricesForHomalg; provides:
<List>
  <Item>rings</Item>
  <Item>ring elements</Item>
  <Item>ring maps</Item>
  <Item>matrices</Item>
</List>

</Subsection>

<Subsection Label="homalg-delegates">
<Heading>&homalg; delegates ...</Heading>

The package &homalg; <E>delegates</E> <E>all</E> matrix operations as
it treats matrices and their rings as <E>black boxes</E>. &homalg;
comes with a single predefined class of rings and a single predefined
class of matrices over these rings -- the so-called internal matrices
(&see; <Ref Label="IsHomalgInternalMatrixRep"/>) over so-called
internal rings (&see; <Ref Label="IsHomalgInternalRingRep"/>). An
internal matrix (resp. ring) is simply a wrapper containing a
&GAP;-builtin matrix (resp. ring). &homalg; allows other packages to
define further classes or extend existing classes of rings and
matrices <E>together</E> with their operations. For example:
<List>
  <Item>The &homalg; subpackage &ResidueClassRingForHomalg; (&see;
  Appendix <Ref Chap="ResidueClassRingForHomalg"/>) defines the
  classes of residue class rings, residue class ring elements, and
  matrices over residue class rings. Such a matrix is defined by a
  matrix over the ambient ring which is nevertheless interpreted
  modulo the ring relations, i.e. modulo the generators of the
  defining ideal. </Item>
  <Item>The package &GaussForHomalg; extends the class of internal
  matrices enabling it to wrap sparse matrices provided by the
  package &Gauss;. &GaussForHomalg; delegates the essential part of
  the matrix creation and all matrix operations to &Gauss;.</Item>
  <Item>The package &HomalgToCAS; defines the classes of so-called
  external rings and matrices and the package &RingsForHomalg;
  delegates the essential part of the matrix creation and all matrix
  operations to external computer algebra systems like &Singular;,
  &Macaulay2;, &Sage;, &Macaulay2;, &MAGMA;, &Maple;, ... . The
  package &homalg; accesses external matrices via pointers. The
  pointer of an external matrix is simply its name in the external
  system. &HomalgToCAS; chooses these names.</Item>
  <Item>The package &LocalizeRingForHomalg; defines the classes of
  local(ized) rings, local ring elements, and local matrices. A
  &homalg; local matrix contains a &homalg; matrix as a numerator and
  an element of the global ring as a denominator.</Item>
</List>

<P/>

The matrix operations are divided into two classes called <Q>Tools</Q>
and <Q>Basic</Q>. The <Q>Tools</Q> operations include addition,
subtraction, multiplication, extracting certain rows or columns,
stacking, and augmenting matrices (&see; Appendix
<Ref Chap="Tool_Operations"/>).  The <Q>Basic</Q> operations include
the two basic operations in linear algebra needed to solve an
inhomogeneous linear system <M>XA=B</M> with coefficients in a not
necessarily commutative ring <M>R</M> (&see; Appendix
<Ref Chap="Basic_Operations"/>):
<List>
  <Item>Effectively reducing <M>B</M> modulo <M>A</M>,
    i.e. effectively deciding if a row (or a set of rows) <M>B</M>
    lies in the <M>R</M>-span of the rows of the
    matrix <M>A</M>.</Item>
  <Item>Computing an <M>R</M>-generating set of row syzygies
    (=<M>R</M>-relations among the rows) of <M>A</M>, i.e. computing
    an <M>R</M>-generating set of the left kernel of <M>A</M>. This
    generating set is then given as the rows of a matrix <M>Y</M>
    and <M>YA=0</M>.</Item>
</List>
The first operation is nothing but deciding the solvability of the
inhomogeneous system <M>XA=B</M> and if solvable to compute a
particular solution <M>X</M>, while the second is to compute an
<M>R</M>-generating set for the homogeneous solution space, i.e. the
solution space of the homogeneous system <M>YA=0</M>. The above is of
course also valid for the column convention.

<!--
(&see; <Ref Label="SufficientSupport" Text="Rings supported in a
sufficient way"/>)
-->


</Subsection>

<Subsection Label="black box">
<Heading>The black box concept</Heading>

<P/>

Now we address the following concerns: Wouldn't the idea of using
algorithms like the Gröbnerbasis algorithm(s) as a black box (&see;
<Ref Sect="homalg-delegates" Text="homalg delegates ..."/>) contradict
the following facts?
<List>
  <Item> It is known that an efficient Gröbnerbasis algorithm depends
    on the ring <M>R</M> under consideration. For example the
    implementation of the algorithm depends on the ground ring (or
    field) <M>k</M>.</Item>
  <Item> Often enough highly specialized implementations are used to
    address specific types of linear systems of equations (occuring in
    specific homological problems) in order to increase the speed or
    reduce the space needed for the computations.</Item>
</List>

The following should clarify the above concerns.
<List>
  <Item> Since each ring comes with its own black box, the first point
    is automatically resolved.</Item>
  <Item> Allow the black box coming with each ring to contain the
    different available implementations and make them accessible to
    &homalg; via standarized names, independent of the computer
    algebra system used to perform computations.</Item>
</List>

<!--
See also <Ref Sect="Why ZZ"/>.
-->


</Subsection>

</Section>

<Section Label="overview">
<Heading>This manual</Heading>

Chapter <Ref Chap="install"/> describes the installation of this
package. The remaining chapters are each devoted to one of
the &MatricesForHomalg; objects (&see; <Ref Label="MatricesForHomalg-provides"/>) with its
constructors, properties, attributes, and operations.

<!--
Finally, Chapter <Ref Chap="examples"/> shows some instructive
examples for the usage of this package.
-->


</Section>

<!-- ############################################################ -->

</Chapter>

<!--  LocalWords:  ExamplesForHomalg
 -->

100%


¤ 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.0.17Bemerkung:  (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.