Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/semigroups/gap/elements/   (GAP Algebra Version 4.15.1©)  Datei vom 29.7.2025 mit Größe 3 kB image not shown  

Quelle  ffmat.gd   Sprache: Shell

 

############################################################################
##
##  elements/ffmat.gd
##  Copyright (C) 2016-2022                              James D. Mitchell
##                                                         Markus Pfeiffer
##
##  Licensing information can be found in the README file of this package.
##
############################################################################
##

# This file contains some minimal declarations that allow us to use the
# features of IsActingSemigroup with MatrixObj's of finite fields from the GAP
# library.

# We often need to detect whether or not a given mult. elt. is a MatrixObj with
# entries in a finite field, so we have the following property that answers
# this question.
DeclareProperty("IsMatrixObjOverFiniteField", IsMultiplicativeElement);

#############################################################################
# Declarations specifically for finite field vectors
#############################################################################

# The following relate to LambdaOrb and RhoOrb of a semigroup or monoid of
# matrices over IsMatrixObjOverFiniteField. We do not use GAP library vectors
# here (if they even exist) because these are essentially internal and are not
# expected to be created or manipulated directly by the user.

# Note that because matrices of dimension 0 are not permitted in the GAP
# library (possibly for good reasons, such as Is8BitMatrixRep not storing their
# base domain but using their entries to compute the base domain, which
# obviously doesn't work for 0-dim matrices which have no entries), everything
# inside the "acting" data structures (SemigroupData, LambdaOrb, RhoOrb etc)
# for a semigroup of matrices over a finite field use matrices and row bases
# etc of dimension 1 greater than the dimension of the matrices that are user
# facing.

DeclareCategory("IsRowBasisOverFiniteField", IsCollection);
DeclareCategoryCollections("IsRowBasisOverFiniteField");
DeclareConstructor("NewRowBasisOverFiniteField",
                   [IsRowBasisOverFiniteField, IsRing, IsList]);

DeclareRepresentation("IsPlistRowBasisOverFiniteFieldRep",
                      IsRowBasisOverFiniteField and IsComponentObjectRep and
                      IsAttributeStoringRep, ["rows"]);

DeclareAttribute("BaseDomain", IsRowBasisOverFiniteField);

#############################################################################
# Declarations specifically for finite field matrices
#############################################################################

# We require a number of operations for IsMatrixObjOverFiniteField that are not
# provided by the GAP library AFAIK at time of writing in June 2022.

# These bases are in normal form
DeclareAttribute("RowSpaceBasis", IsMatrixObj);
DeclareAttribute("RowSpaceTransformation", IsMatrixObj);
DeclareAttribute("RowSpaceTransformationInv", IsMatrixObj);

DeclareAttribute("RightInverse", IsMatrixObj);
DeclareAttribute("LeftInverse", IsMatrixObj);

DeclareOperation("OneMutable", [IsFFECollCollColl]);

#############################################################################
# Helper functions
#############################################################################

DeclareGlobalFunction("ComputeRowSpaceAndTransformation");

Messung
CHZG
899910096

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet am  2026-11-04) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover


Cephes Mathematical Library

Vienna Development Method

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 und die Messung sind noch experimentell.