<html><head><title>[SONATA] 3 The nearring library</title></head> <body text="#000000" bgcolor="#ffffff"> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <h1>3 The nearring library</h1><p> <P> <H3>Sections</H3> <oL> <li> <A HREF="CHAP003.htm#SECT001">Extracting nearrings from the library</a> <li> <A HREF="CHAP003.htm#SECT002">Identifying nearrings</a> <li> <A HREF="CHAP003.htm#SECT003">IsLibraryNearRing</a> <li> <A HREF="CHAP003.htm#SECT004">Accessing the information about a nearring stored in the library</a> </ol><p> <p> The nearring library contains all nearrings up to order 15 and all nearrings with identity up to order 31. All nearrings in the library are nearrings constructed via <code>ExplicitMultiplicationNearRingNC</code>, so all functions for these nearrings are applicable to <code>LibraryNearRing</code>s. <p> <p> <h2><a name="SECT001">3.1 Extracting nearrings from the library</a></h2> <p><p> <a name = "SECT001"></a> <li><code>LibraryNearRing( </code><var>G</var><code>, </code><var>num</var><code> )</code> <p> <code>LibraryNearRing</code> retrieves a nearring from the nearrings library files. <var>G</var> must be a group of order <var>le15</var>. <var>num</var> must be an integer which indicates the number of the class of nearrings on the specified group. <p> (<var>Remark:</var> due to the large number of nearrings on <var>D<sub>12</sub></var>, make sure that you have enough main memory - say at least 32 MB - available if you want to get a library nearring on <var>D<sub>12</sub></var>). <p> If <var>G</var> is given as a <code>TWGroup</code>, then a nearring is returned whose group reduct is <strong>equal to</strong> <var>G</var>. Otherwise the result is a nearring whose group reduct is <strong>isomorphic to</strong> <var>G</var>, and a warning is issued. <p> The number of nearrings definable on a certain group <var>G</var> can be accessed via <p> <a name = "SECT001"></a> <li><code>NumberLibraryNearRings( </code><var>G</var><code> )</code> <p> <a name = "SECT001"></a> <li><code>AllLibraryNearRings( </code><var>G</var><code> )</code> <p> returns a list of all nearrings (in the library) that have the group <var>G</var> as group reduct. <p> <pre> gap> l := AllLibraryNearRings( GTW3_1 ); [ LibraryNearRing(3/1, 1), LibraryNearRing(3/1, 2), LibraryNearRing(3/1, 3), LibraryNearRing(3/1, 4), LibraryNearRing(3/1, 5) ] gap> Filtered( l, IsNearField ); [ LibraryNearRing(3/1, 3) ] gap> NumberLibraryNearRings( GTW14_2 ); 1821 gap> LN14_2_1234 := LibraryNearRing( GTW14_2, 1234 ); LibraryNearRing(14/2, 1234) </pre> <p> <a name = "SECT001"></a> <li><code>LibraryNearRingWithOne( </code><var>G</var><code>, </code><var>num</var><code> )</code> <p> <code>LibraryNearRingWithOne</code> retrieves a nearring from the nearrings library files. <var>G</var> must be one of the predefined groups of order <var>le31</var>. <var>num</var> must be an integer which indicates the number of the class of nearrings with identity on the specified group. <p> The number of nearrings with identity definable on a certain group <var>G</var> can be accessed via <p> <a name = "SECT001"></a> <li><code>NumberLibraryNearRingsWithOne( </code><var>G</var><code> )</code> <p> <a name = "SECT001"></a> <li><code>AllLibraryNearRingsWithOne( </code><var>G</var><code> )</code> <p> returns a list of all nearrings with identity (in the library) that have the group <var>G</var> as group reduct. <p> <pre> gap> NumberLibraryNearRingsWithOne( GTW24_6 ); 0 gap> NumberLibraryNearRingsWithOne( GTW24_4 ); 10 gap> LNwI24_4_8 := LibraryNearRingWithOne( GTW24_4, 8 ); LibraryNearRingWithOne(24/4, 8) gap> AllLibraryNearRingsWithOne( GTW24_6 ); [ ] </pre> <p> <p> <h2><a name="SECT002">3.2 Identifying nearrings</a></h2> <p><p> <a name = "SECT002"></a> <li><code>IdLibraryNearRing( </code><var>nr</var><code> )</code> <p> The function <code>IdLibraryNearRing</code> returns a pair [<var>G</var>, <var>n</var>] such that the nearring <var>nr</var> is isomorphic to the <var>n</var>th library nearring on the group <var>G</var>. <p> <pre> gap> p := PolynomialNearRing( GTW4_2 ); PolynomialNearRing( 4/2 ) gap> IdLibraryNearRing( p ); [ 8/3, 833 ] gap> n := LibraryNearRing( GTW3_1, 4 ); LibraryNearRing(3/1, 4) gap> d := DirectProductNearRing( n, n ); DirectProductNearRing( LibraryNearRing(3/1, 4), LibraryNearRing(3/1, 4)\ ) gap> IdLibraryNearRing( d ); [ 9/2, 220 ] </pre> <p> <a name = "SECT002"></a> <li><code>IdLibraryNearRingWithOne( </code><var>nr</var><code> )</code> <p> The function <code>IdLibraryNearRingWithOne</code> returns a pair [<var>G</var>, <var>n</var>] such that the nearring <var>nr</var> is isomorphic to the <var>n</var>th library nearring with identity on the group <var>G</var>. This function can only be applied to nearrings which have an identity. <p> <pre> gap> l := LibraryNearRingWithOne( GTW12_3, 1 ); LibraryNearRingWithOne(12/3, 1) gap> IdLibraryNearRing( l ); #this command requires time and memory!!! [ 12/3, 37984 ] gap> IdLibraryNearRingWithOne( l ); [ 12/3, 1 ] </pre> <p> <p> <h2><a name="SECT003">3.3 IsLibraryNearRing</a></h2> <p><p> <a name = "SECT003"></a> <li><code>IsLibraryNearRing( </code><var>nr</var><code> )</code> <p> The function <code>IsLibraryNearRing</code> returns <code>true</code> if the nearring <var>nr</var> has been read from the nearring library and <code>false</code> otherwise. <p> <pre> gap> IsLibraryNearRing( LNwI24_4_8 ); true </pre> <p> <p> <h2><a name="SECT004">3.4 Accessing the information about a nearring stored in the library</a></h2> <p><p> <a name = "SECT004"></a> <li><code>LibraryNearRingInfo( </code><var>group</var><code>, </code><var>list</var><code>, </code><var>string</var><code> )</code> <p> This function provides information about the specified library nearrings in a way similar to how nearrings are presented in the appendix of [Pil??]. The parameter <var>group</var> specifies a predefined group; valid names are exactly those which are also valid for the function <code>LibraryNearrings</code> (cf. Section <a href="CHAP003.htm#SECT001">LibraryNearRing</a>). <p> The parameter <var>list</var> must be a non-empty list of integers defining the classes of nearrings to be printed. Naturally, these integers must all fit into the ranges described in Section <a href="CHAP003.htm#SECT001">LibraryNearRing</a> for the according groups. <p> The third parameter <var>string</var> is optional. <var>string</var> must be a string consisting of one or more (or all) of the following characters: <code>l</code>, <code>m</code>, <code>i</code>, <code>v</code>, <code>s</code>, <code>e</code>, <code>a</code>. Per default, (i.e. if this parameter is not specified), the output is minimal. According to each specified character, the following is added: <p> <dl compact> <dt> <code>a</code> <dd> list the nearring automorphisms. <p> <dt> <code>c</code> <dd> print the meaning of the letters used in the output. <p> <dt> <code>e</code> <dd> list the nearring endomorphisms. <p> <dt> <code>g</code> <dd> list the endomorphisms of the group reduct. <p> <dt> <code>i</code> <dd> list the ideals. <p> <dt> <code>l</code> <dd> list the left ideals. <p> <dt> <code>m</code> <dd> print the multiplication tables. <p> <dt> <code>r</code> <dd> list the right ideals. <p> <dt> <code>s</code> <dd> list the subnearrings. <p> <dt> <code>v</code> <dd> list the invariant subnearrings. <p> </dl> <p> <strong>Examples:</strong> <p> <code>LibraryNearRingInfo( GTW3_1, [ 3 ], "lmivsea" )</code> will print all available information about the third class of nearrings on the group <var>Z<sub>3</sub></var>. <p> <code>LibraryNearRingInfo( GTW4_1, [ 1..12 ] )</code> will provide a minimal output for all classes of nearrings on <var>Z<sub>4</sub></var>. <p> <code>LibraryNearRingInfo( GTW6_2, [ 5, 18, 21 ], "mi" )</code> will print the minimal information plus the multiplication tables plus the ideals for the classes 5, 18, and 21 of nearrings on the group <var>S<sub>3</sub></var>. <p> <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Previous</a>] [<a href ="CHAP004.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> <address>SONATA manual<br>November 2008 </address></body></html>