Changeset d2b2a7 in git for Singular/LIB/finvar.lib
- Timestamp:
- May 5, 1998, 1:55:40 PM (26 years ago)
- Branches:
- (u'spielwiese', 'a719bcf0b8dbc648b128303a49777a094b57592c')
- Children:
- 97f92aa6d280f6022eaae47195ccc02503ccb984
- Parents:
- 4996f5286c7671191ad22e654499fd8b752fe4f0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/finvar.lib
r4996f52 rd2b2a7 1 // $Id: finvar.lib,v 1. 9 1998-05-03 11:57:37 obachmanExp $1 // $Id: finvar.lib,v 1.10 1998-05-05 11:55:25 krueger Exp $ 2 2 // author: Agnes Eileen Heydtmann, email:agnes@math.uni-sb.de 3 3 // last change: 3.5.98 4 4 ////////////////////////////////////////////////////////////////////////////// 5 version="$Id: finvar.lib,v 1. 9 1998-05-03 11:57:37 obachmanExp $"5 version="$Id: finvar.lib,v 1.10 1998-05-05 11:55:25 krueger Exp $" 6 6 info=" 7 7 LIBRARY: finvar.lib LIBRARY TO CALCULATE INVARIANT RINGS & MORE … … 65 65 66 66 proc cyclotomic (int i) 67 USAGE: cyclotomic(i);67 "USAGE: cyclotomic(i); 68 68 i: an <int> > 0 69 69 RETURNS: the i-th cyclotomic polynomial (type <poly>) as one in the first ring … … 72 72 THEORY: x^i-1 is divided by the j-th cyclotomic polynomial where j takes on the 73 73 value of proper divisors of i 74 " 74 75 { if (i<=0) 75 76 { "ERROR: the input should be > 0."; … … 114 115 115 116 proc group_reynolds (list #) 116 USAGE: group_reynolds(G1,G2,...[,v]);117 "USAGE: group_reynolds(G1,G2,...[,v]); 117 118 G1,G2,...: nxn <matrices> generating a finite matrix group, v: an 118 119 optional <int> … … 135 136 the Reynolds operator is made up is generated. They are stored in the 136 137 rows of the first return value. 138 " 137 139 { int ch=char(basering); // the existance of the Reynolds operator 138 140 // is dependent on the characteristic of … … 320 322 321 323 proc molien (list #) 322 USAGE: molien(G1,G2,...[,ringname,lcm,flags]);324 "USAGE: molien(G1,G2,...[,ringname,lcm,flags]); 323 325 G1,G2,...: nxn <matrices> generating a finite matrix group, ringname: 324 326 a <string> giving a name for a new ring of characteristic 0 for the … … 350 352 enumerator and denominator of the expanded version where common factors 351 353 have been canceled. 354 " 352 355 { def br=basering; // the Molien series depends on the 353 356 int ch=char(br); // characteristic of the coefficient … … 858 861 859 862 proc reynolds_molien (list #) 860 USAGE: reynolds_molien(G1,G2,...[,ringname,flags]);863 "USAGE: reynolds_molien(G1,G2,...[,ringname,flags]); 861 864 G1,G2,...: nxn <matrices> generating a finite matrix group, ringname: 862 865 a <string> giving a name for a new ring of characteristic 0 for the … … 894 897 modular case). The returned matrix gives enumerator and denominator of 895 898 the expanded version where common factors have been canceled. 899 " 896 900 { def br=basering; // the Molien series depends on the 897 901 int ch=char(br); // characteristic of the coefficient … … 1403 1407 1404 1408 proc partial_molien (matrix M, int n, list #) 1405 USAGE: partial_molien(M,n[,p]);1409 "USAGE: partial_molien(M,n[,p]); 1406 1410 M: a 1x2 <matrix>, n: an <int> indicating number of terms in the 1407 1411 expansion, p: an optional <poly> … … 1421 1425 (a1-b1)x+b1(a1-b1)x^2+... 1422 1426 EXAMPLE: example partial_molien; shows an example 1427 " 1423 1428 { poly A(2); // A(2) will contain the return value of 1424 1429 // the intermediate result … … 1489 1494 1490 1495 proc evaluate_reynolds (matrix REY, ideal I) 1491 USAGE: evaluate_reynolds(REY,I);1496 "USAGE: evaluate_reynolds(REY,I); 1492 1497 REY: a <matrix> representing the Reynolds operator, I: an arbitrary 1493 1498 <ideal> … … 1500 1505 THEORY: REY has been constructed in such a way that each row serves as a ring 1501 1506 mapping of which the Reynolds operator is made up. 1507 " 1502 1508 { def br=basering; 1503 1509 int n=nvars(br); … … 1537 1543 1538 1544 proc invariant_basis (int g,list #) 1539 USAGE: invariant_basis(g,G1,G2,...);1545 "USAGE: invariant_basis(g,G1,G2,...); 1540 1546 g: an <int> indicating of which degree (>0) the homogeneous basis 1541 1547 shoud be, G1,G2,...: <matrices> generating a finite matrix group … … 1546 1552 system of linear equations is created. It is solved by computing 1547 1553 syzygies. 1554 " 1548 1555 { if (g<=0) 1549 1556 { "ERROR: the first parameter should be > 0"; … … 1626 1633 1627 1634 proc invariant_basis_reynolds (matrix REY,int d,list #) 1628 USAGE: invariant_basis_reynolds(REY,d[,flags]);1635 "USAGE: invariant_basis_reynolds(REY,d[,flags]); 1629 1636 REY: a <matrix> representing the Reynolds operator, d: an <int> 1630 1637 indicating of which degree (>0) the homogeneous basis shoud be, flags: … … 1643 1650 operator. A linearly independent set is generated with the help of 1644 1651 minbase. 1652 " 1645 1653 { 1646 1654 //---------------------- checking that the input is ok ----------------------- … … 2025 2033 2026 2034 proc primary_char0 (matrix REY,matrix M,list #) 2027 USAGE: primary_char0(REY,M[,v]);2035 "USAGE: primary_char0(REY,M[,v]); 2028 2036 REY: a <matrix> representing the Reynolds operator, M: a 1x2 <matrix> 2029 2037 representing the Molien series, v: an optional <int> … … 2036 2044 THEORY: Bases of homogeneous invariants are generated successively and those 2037 2045 are chosen as primary invariants that lower the dimension of the ideal 2038 generated by the previously found invariants (see paper "Generating a2039 Noetherian Normalization of the Invariant Ring of a Finite Group " by2046 generated by the previously found invariants (see paper \"Generating a 2047 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 2040 2048 Decker, Heydtmann, Schreyer (1997) to appear in JSC). 2049 " 2041 2050 { degBound=0; 2042 2051 if (char(basering)<>0) … … 2165 2174 2166 2175 proc primary_charp (matrix REY,string ring_name,list #) 2167 USAGE: primary_charp(REY,ringname[,v]);2176 "USAGE: primary_charp(REY,ringname[,v]); 2168 2177 REY: a <matrix> representing the Reynolds operator, ringname: a 2169 2178 <string> giving the name of a ring where the Molien series is stored, … … 2178 2187 THEORY: Bases of homogeneous invariants are generated successively and those 2179 2188 are chosen as primary invariants that lower the dimension of the ideal 2180 generated by the previously found invariants (see paper "Generating a2181 Noetherian Normalization of the Invariant Ring of a Finite Group " by2189 generated by the previously found invariants (see paper \"Generating a 2190 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 2182 2191 Decker, Heydtmann, Schreyer (1997) to appear in JSC). 2192 " 2183 2193 { degBound=0; 2184 2194 // ---------------- checking input and setting verbose mode ------------------- … … 2317 2327 2318 2328 proc primary_char0_no_molien (matrix REY, list #) 2319 USAGE: primary_char0_no_molien(REY[,v]);2329 "USAGE: primary_char0_no_molien(REY[,v]); 2320 2330 REY: a <matrix> representing the Reynolds operator, v: an optional 2321 2331 <int> … … 2329 2339 THEORY: Bases of homogeneous invariants are generated successively and those 2330 2340 are chosen as primary invariants that lower the dimension of the ideal 2331 generated by the previously found invariants (see paper "Generating a2332 Noetherian Normalization of the Invariant Ring of a Finite Group " by2341 generated by the previously found invariants (see paper \"Generating a 2342 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 2333 2343 Decker, Heydtmann, Schreyer (1997) to appear in JSC). 2344 " 2334 2345 { degBound=0; 2335 2346 //-------------- checking input and setting verbose mode --------------------- … … 2459 2470 2460 2471 proc primary_charp_no_molien (matrix REY, list #) 2461 USAGE: primary_charp_no_molien(REY[,v]);2472 "USAGE: primary_charp_no_molien(REY[,v]); 2462 2473 REY: a <matrix> representing the Reynolds operator, v: an optional 2463 2474 <int> … … 2471 2482 THEORY: Bases of homogeneous invariants are generated successively and those 2472 2483 are chosen as primary invariants that lower the dimension of the ideal 2473 generated by the previously found invariants (see paper "Generating a2474 Noetherian Normalization of the Invariant Ring of a Finite Group " by2484 generated by the previously found invariants (see paper \"Generating a 2485 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 2475 2486 Decker, Heydtmann, Schreyer (1997) to appear in JSC). 2487 " 2476 2488 { degBound=0; 2477 2489 //----------------- checking input and setting verbose mode ------------------ … … 2603 2615 2604 2616 proc primary_charp_without (list #) 2605 USAGE: primary_charp_without(G1,G2,...[,v]);2617 "USAGE: primary_charp_without(G1,G2,...[,v]); 2606 2618 G1,G2,...: <matrices> generating a finite matrix group, v: an optional 2607 2619 <int> … … 2612 2624 THEORY: Bases of homogeneous invariants are generated successively and those 2613 2625 are chosen as primary invariants that lower the dimension of the ideal 2614 generated by the previously found invariants (see paper "Generating a2615 Noetherian Normalization of the Invariant Ring of a Finite Group " by2626 generated by the previously found invariants (see paper \"Generating a 2627 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 2616 2628 Decker, Heydtmann, Schreyer (1997) to appear in JSC). No Reynolds 2617 2629 operator or Molien series is used. 2630 " 2618 2631 { degBound=0; 2619 2632 //--------------------- checking input and setting verbose mode -------------- … … 2741 2754 2742 2755 proc primary_invariants (list #) 2743 USAGE: primary_invariants(G1,G2,...[,flags]);2756 "USAGE: primary_invariants(G1,G2,...[,flags]); 2744 2757 G1,G2,...: <matrices> generating a finite matrix group, flags: an 2745 2758 optional <intvec> with three entries, if the first one equals 0 (also … … 2767 2780 THEORY: Bases of homogeneous invariants are generated successively and those 2768 2781 are chosen as primary invariants that lower the dimension of the ideal 2769 generated by the previously found invariants (see paper "Generating a2770 Noetherian Normalization of the Invariant Ring of a Finite Group " by2782 generated by the previously found invariants (see paper \"Generating a 2783 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 2771 2784 Decker, Heydtmann, Schreyer (1997) to appear in JSC). 2785 " 2772 2786 { 2773 2787 // ----------------- checking input and setting flags ------------------------ … … 3149 3163 3150 3164 proc primary_char0_random (matrix REY,matrix M,int max,list #) 3151 USAGE: primary_char0_random(REY,M,r[,v]);3165 "USAGE: primary_char0_random(REY,M,r[,v]); 3152 3166 REY: a <matrix> representing the Reynolds operator, M: a 1x2 <matrix> 3153 3167 representing the Molien series, r: an <int> where -|r| to |r| is the … … 3163 3177 linear combinations are chosen as primary invariants that lower the 3164 3178 dimension of the ideal generated by the previously found invariants 3165 (see paper "Generating a Noetherian Normalization of the Invariant Ring3166 of a Finite Group " by Decker, Heydtmann, Schreyer (1997) to appear in3179 (see paper \"Generating a Noetherian Normalization of the Invariant Ring 3180 of a Finite Group\" by Decker, Heydtmann, Schreyer (1997) to appear in 3167 3181 JSC). 3182 " 3168 3183 { degBound=0; 3169 3184 if (char(basering)<>0) … … 3295 3310 3296 3311 proc primary_charp_random (matrix REY,string ring_name,int max,list #) 3297 USAGE: primary_charp_random(REY,ringname,r[,v]);3312 "USAGE: primary_charp_random(REY,ringname,r[,v]); 3298 3313 REY: a <matrix> representing the Reynolds operator, ringname: a 3299 3314 <string> giving the name of a ring where the Molien series is stored, … … 3310 3325 linear combinations are chosen as primary invariants that lower the 3311 3326 dimension of the ideal generated by the previously found invariants 3312 (see paper "Generating a Noetherian Normalization of the Invariant Ring3313 of a Finite Group " by Decker, Heydtmann, Schreyer (1997) to appear in3327 (see paper \"Generating a Noetherian Normalization of the Invariant Ring 3328 of a Finite Group\" by Decker, Heydtmann, Schreyer (1997) to appear in 3314 3329 JSC). 3330 " 3315 3331 { degBound=0; 3316 3332 // ---------------- checking input and setting verbose mode ------------------ … … 3452 3468 3453 3469 proc primary_char0_no_molien_random (matrix REY, int max, list #) 3454 USAGE: primary_char0_no_molien_random(REY,r[,v]);3470 "USAGE: primary_char0_no_molien_random(REY,r[,v]); 3455 3471 REY: a <matrix> representing the Reynolds operator, r: an <int> where 3456 3472 -|r| to |r| is the range of coefficients of the random combinations of … … 3466 3482 linear combinations are chosen as primary invariants that lower the 3467 3483 dimension of the ideal generated by the previously found invariants 3468 (see paper "Generating a Noetherian Normalization of the Invariant Ring3469 of a Finite Group " by Decker, Heydtmann, Schreyer (1997) to appear in3484 (see paper \"Generating a Noetherian Normalization of the Invariant Ring 3485 of a Finite Group\" by Decker, Heydtmann, Schreyer (1997) to appear in 3470 3486 JSC). 3487 " 3471 3488 { degBound=0; 3472 3489 //-------------- checking input and setting verbose mode --------------------- … … 3599 3616 3600 3617 proc primary_charp_no_molien_random (matrix REY, int max, list #) 3601 USAGE: primary_charp_no_molien_random(REY,r[,v]);3618 "USAGE: primary_charp_no_molien_random(REY,r[,v]); 3602 3619 REY: a <matrix> representing the Reynolds operator, r: an <int> where 3603 3620 -|r| to |r| is the range of coefficients of the random combinations of … … 3613 3630 linear combinations are chosen as primary invariants that lower the 3614 3631 dimension of the ideal generated by the previously found invariants 3615 (see paper "Generating a Noetherian Normalization of the Invariant Ring3616 of a Finite Group " by Decker, Heydtmann, Schreyer (1997) to appear in3632 (see paper \"Generating a Noetherian Normalization of the Invariant Ring 3633 of a Finite Group\" by Decker, Heydtmann, Schreyer (1997) to appear in 3617 3634 JSC). 3635 " 3618 3636 { degBound=0; 3619 3637 //----------------- checking input and setting verbose mode ------------------ … … 3747 3765 3748 3766 proc primary_charp_without_random (list #) 3749 USAGE: primary_charp_without_random(G1,G2,...,r[,v]);3767 "USAGE: primary_charp_without_random(G1,G2,...,r[,v]); 3750 3768 G1,G2,...: <matrices> generating a finite matrix group, r: an <int> 3751 3769 where -|r| to |r| is the range of coefficients of the random … … 3758 3776 linear combinations are chosen as primary invariants that lower the 3759 3777 dimension of the ideal generated by the previously found invariants 3760 (see paper "Generating a Noetherian Normalization of the Invariant Ring3761 of a Finite Group " by Decker, Heydtmann, Schreyer (1997) to appear in3778 (see paper \"Generating a Noetherian Normalization of the Invariant Ring 3779 of a Finite Group\" by Decker, Heydtmann, Schreyer (1997) to appear in 3762 3780 JSC). No Reynolds operator or Molien series is used. 3781 " 3763 3782 { degBound=0; 3764 3783 //--------------------- checking input and setting verbose mode -------------- … … 3896 3915 3897 3916 proc primary_invariants_random (list #) 3898 USAGE: primary_invariants_random(G1,G2,...,r[,flags]);3917 "USAGE: primary_invariants_random(G1,G2,...,r[,flags]); 3899 3918 G1,G2,...: <matrices> generating a finite matrix group, r: an <int> 3900 3919 where -|r| to |r| is the range of coefficients of the random … … 3925 3944 linear combinations are chosen as primary invariants that lower the 3926 3945 dimension of the ideal generated by the previously found invariants 3927 (see paper "Generating a Noetherian Normalization of the Invariant Ring3928 of a Finite Group " by Decker, Heydtmann, Schreyer (1997) to appear in3946 (see paper \"Generating a Noetherian Normalization of the Invariant Ring 3947 of a Finite Group\" by Decker, Heydtmann, Schreyer (1997) to appear in 3929 3948 JSC). 3949 " 3930 3950 { 3931 3951 // ----------------- checking input and setting flags ------------------------ … … 4110 4130 4111 4131 proc power_products(intvec deg_vec,int d) 4112 USAGE: power_products(dv,d);4132 "USAGE: power_products(dv,d); 4113 4133 dv: an <intvec> giving the degrees of homogeneous polynomials, d: the 4114 4134 degree of the desired power products … … 4117 4137 of the powers is then homogeneous of degree d. 4118 4138 EXAMPLE: example power_products; gives an example 4139 " 4119 4140 { ring R=0,x,dp; 4120 4141 if (d<=0) … … 4166 4187 4167 4188 proc secondary_char0 (matrix P, matrix REY, matrix M, list #) 4168 USAGE: secondary_char0(P,REY,M[,v]);4189 "USAGE: secondary_char0(P,REY,M[,v]); 4169 4190 P: a 1xn <matrix> with primary invariants, REY: a gxn <matrix> 4170 4191 representing the Reynolds operator, M: a 1x2 <matrix> giving enumerator … … 4183 4204 to invariants with the Reynolds operator and using these images or 4184 4205 their power products such that they are linearly independent modulo the 4185 primary invariants (see paper "Some Algorithms in Invariant Theory of 4186 Finite Groups" by Kemper and Steel (1997)). 4206 primary invariants (see paper \"Some Algorithms in Invariant Theory of 4207 Finite Groups\" by Kemper and Steel (1997)). 4208 " 4187 4209 { def br=basering; 4188 4210 degBound=0; … … 4373 4395 4374 4396 proc secondary_charp (matrix P, matrix REY, string ring_name, list #) 4375 USAGE: secondary_charp(P,REY,ringname[,v]);4397 "USAGE: secondary_charp(P,REY,ringname[,v]); 4376 4398 P: a 1xn <matrix> with primary invariants, REY: a gxn <matrix> 4377 4399 representing the Reynolds operator, ringname: a <string> giving the … … 4391 4413 to invariants with the Reynolds operator and using these images or 4392 4414 their power products such that they are linearly independent modulo the 4393 primary invariants (see paper "Some Algorithms in Invariant Theory of 4394 Finite Groups" by Kemper and Steel (1997)). 4415 primary invariants (see paper \"Some Algorithms in Invariant Theory of 4416 Finite Groups\" by Kemper and Steel (1997)). 4417 " 4395 4418 { def br=basering; 4396 4419 degBound=0; … … 4596 4619 4597 4620 proc secondary_no_molien (matrix P, matrix REY, list #) 4598 USAGE: secondary_no_molien(P,REY[,deg_vec,v]);4621 "USAGE: secondary_no_molien(P,REY[,deg_vec,v]); 4599 4622 P: a 1xn <matrix> with primary invariants, REY: a gxn <matrix> 4600 4623 representing the Reynolds operator, deg_vec: an optional <intvec> … … 4613 4636 to invariants with the Reynolds operator and using these images as 4614 4637 candidates for secondary invariants. 4638 " 4615 4639 { int i; 4616 4640 degBound=0; … … 4754 4778 4755 4779 proc secondary_with_irreducible_ones_no_molien (matrix P, matrix REY, list #) 4756 USAGE: secondary_with_irreducible_ones_no_molien(P,REY[,v]);4780 "USAGE: secondary_with_irreducible_ones_no_molien(P,REY[,v]); 4757 4781 P: a 1xn <matrix> with primary invariants, REY: a gxn <matrix> 4758 4782 representing the Reynolds operator, v: an optional <int> … … 4768 4792 to invariants with the Reynolds operator and using these images or 4769 4793 their power products such that they are linearly independent modulo the 4770 primary invariants (see paper "Some Algorithms in Invariant Theory of 4771 Finite Groups" by Kemper and Steel (1997)). 4794 primary invariants (see paper \"Some Algorithms in Invariant Theory of 4795 Finite Groups\" by Kemper and Steel (1997)). 4796 " 4772 4797 { int i; 4773 4798 degBound=0; … … 4950 4975 4951 4976 proc secondary_not_cohen_macaulay (matrix P, list #) 4952 USAGE: secondary_not_cohen_macaulay(P,G1,G2,...[,v]);4977 "USAGE: secondary_not_cohen_macaulay(P,G1,G2,...[,v]); 4953 4978 P: a 1xn <matrix> with primary invariants, G1,G2,...: nxn <matrices> 4954 4979 generating a finite matrix group, v: an optional <int> … … 4957 4982 DISPLAY: information if v does not equal 0 4958 4983 EXAMPLE: example secondary_not_cohen_macaulay; shows an example 4959 THEORY: The secondary invariants are generated following "Generating Invariant4960 Rings of Finite Groups over Arbitrary Fields " by Kemper (1996, to4984 THEORY: The secondary invariants are generated following \"Generating Invariant 4985 Rings of Finite Groups over Arbitrary Fields\" by Kemper (1996, to 4961 4986 appear in JSC). 4987 " 4962 4988 { int i, j; 4963 4989 degBound=0; … … 5117 5143 5118 5144 proc invariant_ring (list #) 5119 USAGE: invariant_ring(G1,G2,...[,flags]);5145 "USAGE: invariant_ring(G1,G2,...[,flags]); 5120 5146 G1,G2,...: <matrices> generating a finite matrix group, flags: an 5121 5147 optional <intvec> with three entries: if the first one equals 0, the … … 5143 5169 THEORY: Bases of homogeneous invariants are generated successively and those 5144 5170 are chosen as primary invariants that lower the dimension of the ideal 5145 generated by the previously found invariants (see paper "Generating a5146 Noetherian Normalization of the Invariant Ring of a Finite Group " by5171 generated by the previously found invariants (see paper \"Generating a 5172 Noetherian Normalization of the Invariant Ring of a Finite Group\" by 5147 5173 Decker, Heydtmann, Schreyer (1997) to appear in JSC). In the 5148 5174 non-modular case secondary invariants are calculated by finding a … … 5150 5176 invariants, mapping to invariants with the Reynolds operator and using 5151 5177 those or their power products such that they are linearly independent 5152 modulo the primary invariants (see paper "Some Algorithms in Invariant5153 Theory of Finite Groups " by Kemper and Steel (1997)). In the modular5154 case they are generated according to "Generating Invariant Rings of5155 Finite Groups over Arbitrary Fields " by Kemper (1996, to appear in5178 modulo the primary invariants (see paper \"Some Algorithms in Invariant 5179 Theory of Finite Groups\" by Kemper and Steel (1997)). In the modular 5180 case they are generated according to \"Generating Invariant Rings of 5181 Finite Groups over Arbitrary Fields\" by Kemper (1996, to appear in 5156 5182 JSC). 5183 " 5157 5184 { if (size(#)==0) 5158 5185 { "ERROR: There are no generators given."; … … 5322 5349 5323 5350 proc invariant_ring_random (list #) 5324 USAGE: invariant_ring_random(G1,G2,...,r[,flags]);5351 "USAGE: invariant_ring_random(G1,G2,...,r[,flags]); 5325 5352 G1,G2,...: <matrices> generating a finite matrix group, r: an <int> 5326 5353 where -|r| to |r| is the range of coefficients of random … … 5352 5379 hopefully they lower the dimension of the previously found primary 5353 5380 invariants by the right amount. 5381 " 5354 5382 { if (size(#)<2) 5355 5383 { "ERROR: There are too few parameters."; … … 5545 5573 5546 5574 proc algebra_containment (poly p, matrix A) 5547 USAGE: algebra_containment(p,A);5575 "USAGE: algebra_containment(p,A); 5548 5576 p: arbitrary <poly>, A: a 1xm <matrix> giving generators of a 5549 5577 subalgebra of the basering … … 5558 5586 to a polynomial only in the y(i) <=> p is contained in the subring 5559 5587 generated by the polynomials in A. 5588 " 5560 5589 { degBound=0; 5561 5590 if (nrows(A)==1) … … 5601 5630 5602 5631 proc module_containment(poly p, matrix P, matrix S) 5603 USAGE: module_containment(p,P,S);5632 "USAGE: module_containment(p,P,S); 5604 5633 p: arbitrary <poly>, P: a 1xn <matrix> giving generators of an algebra, 5605 5634 S: a 1xt <matrix> giving generators of a module over the algebra … … 5619 5648 again. p reduces to a polynomial only in the y(j) and z(i) linear in 5620 5649 the z(i)) <=> p is contained in the module. 5650 " 5621 5651 { def br=basering; 5622 5652 degBound=0; … … 5669 5699 5670 5700 proc orbit_variety (matrix F,string newring) 5671 USAGE: orbit_variety(F,s);5701 "USAGE: orbit_variety(F,s); 5672 5702 F: a 1xm <matrix> defing an invariant ring, s: a <string> giving the 5673 5703 name for a new ring … … 5678 5708 calculated, then the variables of the original ring are eliminated and 5679 5709 the polynomials that are left over define the orbit variety 5710 " 5680 5711 { if (newring=="") 5681 5712 { "ERROR: the second parameter may not be an empty <string>"; … … 5725 5756 5726 5757 proc relative_orbit_variety(ideal I,matrix F,string newring) 5727 USAGE: relative_orbit_variety(I,F,s);5758 "USAGE: relative_orbit_variety(I,F,s); 5728 5759 I: an <ideal> invariant under the action of a group, F: a 1xm 5729 5760 <matrix> defining the invariant ring of this group, s: a <string> … … 5737 5768 the polynomials that are left over define thecrelative orbit variety 5738 5769 with respect to I. 5770 " 5739 5771 { if (newring=="") 5740 5772 { "ERROR: the third parameter may not be empty a <string>"; … … 5805 5837 5806 5838 proc image_of_variety(ideal I,matrix F) 5807 USAGE: image_of_variety(I,F);5839 "USAGE: image_of_variety(I,F); 5808 5840 I: an arbitray <ideal>, F: a 1xm <matrix> defining an invariant ring 5809 5841 of a some matrix group … … 5815 5847 invariant ring. This ideal in the original variables defines the image 5816 5848 of the variety defined by I 5849 " 5817 5850 { if (nrows(F)==1) 5818 5851 { def br=basering;
Note: See TracChangeset
for help on using the changeset viewer.