Changeset 90de12 in git
- Timestamp:
- Oct 7, 2016, 6:35:09 PM (8 years ago)
- Branches:
- (u'spielwiese', '17f1d200f27c5bd38f5dfc6e8a0879242279d1d8')
- Children:
- 7c23b8eef565a6d62140bf5996d37e6be1c37d6d
- Parents:
- 107bdc5cb617a8af58b0d4c34b1fd7e42f7a2fa4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/grobcov.lib
r107bdc5 r90de12 1457 1457 // Assumed to be called in the ring @R or the ring @P or a ring ring Q[a] 1458 1458 proc Crep(ideal N, ideal M) 1459 1459 "USAGE: Crep(N,M); 1460 1460 ideal N (null ideal) (not necessarily radical nor maximal) 1461 1461 ideal M (hole ideal) (not necessarily containing N) 1462 1462 RETURN: The canonical C-representation of the locally closed set. 1463 1463 [ P,Q ], a pair of radical ideals with P included in Q, 1464 1464 representing the set V(P) \ V(Q) = V(N) \ V(M) 1465 1465 NOTE: Operates in a ring R=Q[a] (a=parameters) 1466 1466 If the user want to call the routine Crep on a parametric 1467 1467 ideal Q[a][x] for locally closed sets on Q[a], setglobalrings() 1468 1468 must be called previously. 1469 1469 1470 1471 EXAMPLE:Crep; shows an example"1470 KEYWORDS: locally closed set; canoncial form 1471 EXAMPLE: example Crep; shows an example" 1472 1472 { 1473 1473 int te; … … 1549 1549 // Assumed to be called in the ring @R or the ring @P or a ring ring Q[a] 1550 1550 proc Prep(ideal N, ideal M) 1551 1551 "USAGE: Prep(N,M); 1552 1552 ideal N (null ideal) (not necessarily radical nor maximal) 1553 1553 ideal M (hole ideal) (not necessarily containing N) 1554 1554 RETURN: The canonical P-representation of the locally closed set V(N) \ V(M) 1555 1555 Output: [ Comp_1, .. , Comp_s ] where 1556 1556 Comp_i=[p_i,[p_i1,..,p_is_i]] 1557 1557 NOTE: To be called from the ring @R or @P or a ring Q[a] 1558 1558 If the user want to call the routine Prep on a parametric 1559 1559 ideal Q[a][x] for locally closed sets on Q[a], setglobalrings() 1560 1560 must be called previously. 1561 1562 EXAMPLE:Prep; shows an example"1561 KEYWORDS: Locally closed set; Canoncial form 1562 EXAMPLE: example Prep; shows an example" 1563 1563 { 1564 1564 int te; … … 1642 1642 Comp_i=[p_i,[p_i1,..,p_is_i] ], is 1643 1643 the P-representation of a locally closed set V(N) \ V(M) 1644 1644 RETURN: The canonical C-representation of the locally closed set 1645 1645 [ P,Q ], a pair of radical ideals with P included in Q, 1646 1646 representing the set V(P) \ V(Q) 1647 1648 1649 EXAMPLE:PtoCrep; shows an example"1647 NOTE: To be called from the ring @R or @P or a ring Q[a] 1648 KEYWORDS: locally closed set; canoncial form 1649 EXAMPLE: example PtoCrep; shows an example" 1650 1650 { 1651 1651 int te; … … 1711 1711 // can compute the homogenization before (('can',0) or ( 'can',1)) 1712 1712 // and dehomogenize the result. 1713 1713 1714 proc cgsdr(ideal F, list #) 1714 1715 "USAGE: cgsdr(F,options]); 1715 F: ideal in Q[a][x] (a=parameters, x=variables) to be discussed. 1716 To compute a disjoint, reduced Comprehensive Groebner System (CGS). 1717 cgsdr is the starting point of the fundamental routine grobcov. 1718 Inside grobcov it is used with options 'can' set to 0,1 and 1719 not with options ('can',2). 1720 It is to be used if only a disjoint reduced CGS is required. 1721 1722 Options: To modify the default options, pairs of arguments 1723 -option name, value- of valid options must be added to the call. 1724 1725 OPTIONS: 1726 \"can\",0-1-2: The default value is \"can\",2. In this case no 1727 homogenization is done. With option (\"can\",0) the given 1728 basis is homogenized, and with option (\"can\",1) the 1729 whole given ideal is homogenized before computing the 1730 cgs and dehomogenized after. 1731 with option (\"can\",0) the homogenized basis is used 1732 with option (\"can\",1) the homogenized ideal is used 1733 with option (\"can\",2) the given basis is used 1734 \"null\",ideal E: The default is (\"null\",ideal(0)). 1735 \"nonnull\",ideal N: The default (\"nonnull\",ideal(1)). 1736 When options \"null\" and/or \"nonnull\" are given, then 1737 the parameter space is restricted to V(E) \ V(N). 1738 \"comment\",0-1: The default is (\"comment\",0). Setting (\"comment\",1) 1739 will provide information about the development of the 1740 computation. 1741 \"out\",0-1: 1 (default) the output segments are given as 1742 as difference of varieties. 1743 0: the output segments are given in P-representation 1744 and the segments grouped by lpp 1745 With options (\"can\",0) and (\"can\",1) the option (\"out\",1) 1746 is set to (\"out\",0) because it is not compatible. 1747 One can give none or whatever of these options. 1748 With the default options (\"can\",2,\"out\",1), only the 1749 Kapur-Sun-Wang algorithm is computed. This is very efficient 1750 but is only the starting point for the computation of grobcov. 1751 When grobcov is computed, the call to cgsdr inside uses 1752 specific options that are more expensive ("can",0-1,"out",0). 1716 F: ideal in Q[a][x] (a=parameters, x=variables) to be discussed. 1717 To compute a disjoint, reduced Comprehensive Groebner System (CGS). 1718 cgsdr is the starting point of the fundamental routine grobcov. 1719 Inside grobcov it is used with options \"can\" set to 0,1 and 1720 not with options (\"can\",2). 1721 It is to be used if only a disjoint reduced CGS is required. 1722 OPTIONS: To modify the default options, pairs of arguments 1723 -option name, value- of valid options must be added to the call. 1724 Options: 1725 \"can\",0-1-2: The default value is \"can\",2. In this case no 1726 homogenization is done. With option (\"can\",0) the given 1727 basis is homogenized, and with option (\"can\",1) the 1728 whole given ideal is homogenized before computing the 1729 cgs and dehomogenized after. 1730 with option (\"can\",0) the homogenized basis is used 1731 with option (\"can\",1) the homogenized ideal is used 1732 with option (\"can\",2) the given basis is used 1733 \"null\",ideal E: The default is (\"null\",ideal(0)). 1734 \"nonnull\",ideal N: The default (\"nonnull\",ideal(1)). 1735 When options \"null\" and/or \"nonnull\" are given, then 1736 the parameter space is restricted to V(E) \ V(N). 1737 \"comment\",0-1: The default is (\"comment\",0). Setting (\"comment\",1) 1738 will provide information about the development of the 1739 computation. 1740 \"out\",0-1: 1 (default) the output segments are given as 1741 as difference of varieties. 1742 0: the output segments are given in P-representation 1743 and the segments grouped by lpp 1744 With options (\"can\",0) and (\"can\",1) the option (\"out\",1) 1745 is set to (\"out\",0) because it is not compatible. 1746 One can give none or whatever of these options. 1747 With the default options (\"can\",2,\"out\",1), only the 1748 Kapur-Sun-Wang algorithm is computed. This is very efficient 1749 but is only the starting point for the computation of grobcov. 1750 When grobcov is computed, the call to cgsdr inside uses 1751 specific options that are more expensive (\"can\",0-1,\"out\",0). 1753 1752 RETURN: Returns a list T describing a reduced and disjoint 1754 1753 Comprehensive Groebner System (CGS), … … 1765 1764 The bases are the reduced Groebner bases (after normalization) 1766 1765 for each point of the corresponding segment. 1767 1768 1766 The third element of each lpp segment is the lpp of the 1769 1767 used ideal in the CGS as a string: … … 1771 1769 with option (\"can\",1) the homogenized ideal is used 1772 1770 with option (\"can\",2) the given basis is used 1773 1774 1771 With option (\"out\",1) (default) 1775 1772 only KSW is applied and segments are given as … … 1783 1780 segment = V(E) \ V(N) 1784 1781 B is the reduced Groebner basis 1785 1786 1782 NOTE: The basering R, must be of the form Q[a][x], (a=parameters, 1787 1783 x=variables), and should be defined previously, and the ideal 1788 1784 defined on R. 1789 1785 KEYWORDS: CGS; disjoint; reduced; Comprehensive Groebner System 1790 EXAMPLE: cgsdr; shows an example"1786 EXAMPLE: example cgsdr; shows an example" 1791 1787 { 1792 1788 int te; … … 2486 2482 segments of the parameter space, and the B_i are the reduced 2487 2483 Groebner bases of the ideal on every point of S_i. 2488 2489 2484 The ideal F must be defined on a parametric ring Q[a][x]. 2490 2485 (a=parameters, x=variables) 2491 2486 Options: To modify the default options, pair of arguments 2492 2487 -option name, value- of valid options must be added to the call. 2493 2494 2488 OPTIONS: 2495 2489 \"null\",ideal E: The default is (\"null\",ideal(0)). … … 2731 2725 // Option ("comment",1) shows the time. 2732 2726 // Can be called from the top 2733 proc extend(list GC, list #) ;2727 proc extend(list GC, list #) 2734 2728 "USAGE: extend(GC[,options]); 2735 The default option of grobcov provides 2736 the bases in generic representation (the I-regular functions 2737 of the bases are given by a single polynomial. It can specialize 2738 to zero for some points of the segments, but in general, it 2739 is sufficient for many pouposes. Nevertheless the I-regular 2740 functions allow a full representation given by a set of 2741 polynomials specializing to the value of the function (after normalization) 2742 or to zero, but at least one of the polynomials specializes to non-zero. 2743 The full representation can be obtained by computing the 2744 grobcov with option \"ext\",1. The default option is \"ext\",0. 2745 With option \"ext\",1 the computation can be much more 2746 time consuming, even if the result can be simpler. 2747 Alternatively, one can compute the full representation of the 2748 bases after computing grobcov with the defaoult option \"ext\",0 2749 and the option \"rep\",2, that outputs both the Prep and the Crep 2750 of the segments and then call \"extend\" to the output. 2751 2729 The default option of grobcov provides 2730 the bases in generic representation (the I-regular functions 2731 of the bases are given by a single polynomial. It can specialize 2732 to zero for some points of the segments, but in general, it 2733 is sufficient for many pouposes. Nevertheless the I-regular 2734 functions allow a full representation given by a set of 2735 polynomials specializing to the value of the function (after normalization) 2736 or to zero, but at least one of the polynomials specializes to non-zero. 2737 The full representation can be obtained by computing the 2738 grobcov with option \"ext\",1. The default option is \"ext\",0. 2739 With option \"ext\",1 the computation can be much more 2740 time consuming, even if the result can be simpler. 2741 Alternatively, one can compute the full representation of the 2742 bases after computing grobcov with the defaoult option \"ext\",0 2743 and the option \"rep\",2, that outputs both the Prep and the Crep 2744 of the segments and then call \"extend\" to the output. 2752 2745 RETURN: When calling extend(grobcov(S,\"rep\",2)) the result is of the form 2753 ( 2754 (lpp_1,basis_1,segment_1,lpph_1), 2755 ... 2756 (lpp_s,basis_s,segment_s,lpph_s) 2757 ) 2758 where each function of the basis can be given by an ideal 2759 of representants. 2760 2746 ( 2747 (lpp_1,basis_1,segment_1,lpph_1), 2748 ... 2749 (lpp_s,basis_s,segment_s,lpph_s) 2750 ) 2751 where each function of the basis can be given by an ideal 2752 of representants. 2761 2753 NOTE: The basering R, must be of the form Q[a][x], (a=parameters, 2762 x=variables), and should be defined previously. The ideal must 2763 be defined on R. 2764 KEYWORDS: Groebner cover; parametric ideal; canonical, discussion of 2765 parametric ideal; full representation 2766 EXAMPLE: extend; shows an example" 2754 x=variables), and should be defined previously. The ideal must 2755 be defined on R. 2756 KEYWORDS: Groebner cover; parametric ideal; canonical; discussion of parametric ideal; full representation 2757 EXAMPLE: example extend; shows an example" 2767 2758 { 2768 2759 list L=#; … … 4759 4750 // If all levels of a class of locus are 1, then the set is locally closed. Otherwise the level 4760 4751 // gives the depth of the component of the constructible set. 4752 4761 4753 proc locus(list GG, list #) 4762 4754 "USAGE: locus(G[,options]); 4763 4764 4765 4766 4767 4768 For a parametric locus computation 'a'can contain some extra parameters.4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4755 Calling sequence: 4756 locus(grobcov(S)); 4757 The input must be the grobcov of a parametrical ideal in Q[a][x], 4758 (a=parameters, x=variables). In practice a must be the tracer coordinates 4759 and x the mover coordinates and remaining auxiliary variables. 4760 For a parametric locus computation \"a\" can contain some extra parameters. 4761 Special routine for determining the locus of points 4762 of geometrical constructions. Given a parametric ideal J 4763 representing the system determining the locus of points (a) 4764 who verify certain properties, the call to locus on the output of grobcov(J) 4765 determines the different classes of locus components, following 4766 the taxonomy defined in 4767 Abanades, Botana, Montes, Recio: 4768 \"An Algebraic Taxonomy for Locus Computation in Dynamic Geometry\". 4769 Computer-Aided Design 56 (2014) 22-33. 4770 The components can be Normal, Special, Accumulation or Degenerate. 4779 4771 OPTIONS: The algorithm allows the following options as pair of arguments: 4780 4781 4782 4783 4784 4785 4786 4787 a full algorithm that always distinguishes correctly between 'Normal'4788 and 'Special' components, whereas \("version\",0) can declare a component4789 to be 'Normal' being in fact 'Special', but it is more effective. By default,4790 4791 4792 4793 4794 4795 >locus(S,\"version\",1,\"vmov\",ideal(x1,y1))4772 \"vmov\", ideal(mover variables) : by default vmov are the last n variables, 4773 where n is the number of parameters of the ring (tracer variables plus extra 4774 parameters). Thus, if the mover coordinates are not indicated, locus 4775 algorithm will assume that they are the last n ring variables. 4776 When locus is called internallt by envelop, by default, the mover variables 4777 are assumed to be all the ring variables. 4778 \"version\", v : There are two versions of the algorithm. (\"version\",1) is 4779 a full algorithm that always distinguishes correctly between NORMAL 4780 and SPECIAL components, whereas (\"version\",0) can declare a component 4781 to be NORMAL being in fact SPECIAL, but it is more effective. By default, 4782 (version,1) is used when the number of variables is less than 4 and 0 if not. 4783 The user can force to use one or other version, but it is not recommended. 4784 \"comments\", c: by default it is 0, but it can be set to 1. 4785 Usually locus problems have mover coordinates, variables and tracer coordinates. 4786 Example of option call: 4787 locus(S,\"version\",1,\"vmov\",ideal(x1,y1)) 4796 4788 RETURN: The output is a list of the components (C_1, .. , C_n ) of the locus. 4797 The locus is divided into two class of subsets: the normal and the non-normal 4798 locus. 4799 The Normal locus has two kind of components: Normal and Special. 4800 The Non-normal locus has two kind of components: Accumulation and Degenerate. 4801 Each component is given by 4802 Ci=((pi,(pi1,..pis_i),type_i,level_i) 4803 where 4804 the first element is the canonical P-representation of the subset. 4805 The type can be : \"Normal\", \"Special\", \"Accumulation\", \"Degenerate\". 4806 Normal component: 4807 - the component has non-zero antiimage 4808 - each point in the component has 0-dimensional antiimage. 4809 Special component: 4810 - Non-zero dimensional component whose antiimage is 0-dimensional. 4811 The Special components return more information, namely the antiimage of 4812 the component, that is 0-dimensional for these kind of components. 4813 Accumulation points: 4814 - Zero-dimensional component whose anti-image is non-zero-dimensional. 4815 Degenerate components: 4816 - Non-zero-dimensional component 4817 - each point in the component has non-zero-dimensional anti-image. 4818 The level is the depth of the segment of the constructible locus subset 4819 (normal and non-normal subsets). 4820 If all levels of a locus are 1, then both subsets are locally closed. 4789 The locus is divided into two class of subsets: the normal and the non-normal 4790 locus. 4791 The Normal locus has two kind of components: Normal and Special. 4792 The Non-normal locus has two kind of components: Accumulation and Degenerate. 4793 Each component is given by 4794 Ci=((pi,(pi1,..pis_i),type_i,level_i) 4795 where the first element is the canonical P-representation of the subset. 4796 The type can be : \"Normal\", \"Special\", \"Accumulation\", \"Degenerate\". 4797 Normal component: 4798 - the component has non-zero antiimage 4799 - each point in the component has 0-dimensional antiimage. 4800 Special component: 4801 - Non-zero dimensional component whose antiimage is 0-dimensional. 4802 The Special components return more information, namely the antiimage of 4803 the component, that is 0-dimensional for these kind of components. 4804 Accumulation points: 4805 - Zero-dimensional component whose anti-image is non-zero-dimensional. 4806 Degenerate components: 4807 - Non-zero-dimensional component 4808 - each point in the component has non-zero-dimensional anti-image. 4809 The level is the depth of the segment of the constructible locus subset 4810 (normal and non-normal subsets). 4811 If all levels of a locus are 1, then both subsets are locally closed. 4821 4812 NOTE: The input must be the grobcov of the locus system in generic 4822 representation ('ext',0), which is the default.4813 representation (\"ext\",0), which is the default. 4823 4814 KEYWORDS: geometrical locus; locus; loci. 4824 EXAMPLE: locus; shows an example"4815 EXAMPLE: example locus; shows an example" 4825 4816 { 4826 4817 int tes=0; int i; … … 4885 4876 { 4886 4877 " ";string("Warning! Problem with more than one mover."); 4887 string("Try option 'vmov',ideal(of mover variables) to avoid some point of the mover");4878 string("Try option \"vmov\",ideal(of mover variables) to avoid some point of the mover"); 4888 4879 " ";"Elements of the basis of the generic segment in mover variables="; N;" "; 4889 4880 list L; return(L); … … 4920 4911 // If all levels of a class of locus are 1, then the set is locally closed. Otherwise the level 4921 4912 // gives the depth of the component of the constructible set. 4913 4922 4914 proc locusdg(list L) 4923 4915 "USAGE: locusdg(L); 4924 4916 Calling sequence: 4925 4917 locusdg(locus(grobcov(S))). 4926 RETURN: The output is the list of the 'Relevant'components of the locus4918 RETURN: The output is the list of the RELEVANT components of the locus 4927 4919 in Dynamic Geometry:(C1,..,C:m), where 4928 C_i= ( p_i,(p_i1,..p_is_i), 'Relevant', level_i )4929 The 'Relevant' components are the 'Normal' and 'Accumulation'components4920 C_i= ( p_i,(p_i1,..p_is_i), RELEVANT, level_i ) 4921 The RELEVANT components are the NORMAL and ACCUMULATION components 4930 4922 of the locus. (See help for locus). 4931 4923 KEYWORDS: geometrical locus; locus; loci; dynamic geometry … … 5046 5038 // options. 5047 5039 // Output: the components of the envolvent; 5040 5048 5041 proc envelop(poly F, ideal C, list #) 5049 "USAGE: envelop(F,C );5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5042 "USAGE: envelop(F,C,[,options]); 5043 The first argument poly F must be the family of hypersurfaces for which 5044 on want to compute its envelop. 5045 The second argument C must be the ideal of restrictions on 5046 the variables, and should contain less polynomials 5047 than the number of variables 5048 (x_1,..,x_n) are the variables of the hypersurfaces of F, that are considered 5049 as parameters of the parametric ring. 5050 (u_1,..,u_m) are the parameteres of the hypersurfaces, that are considered 5051 as variables of the parametric ring. 5052 Calling sequence: 5053 ring R=(0,x_1,..,x_n),(u_1,..,u_m),lp; 5054 poly F=F(x_1,..,x_n,u_1,..,u_m); 5055 ideal C=g_1(u_1,..u_m),..,g_s(u_1,..u_m); 5056 envelop(F,C,#options); 5057 where s<m. 5065 5058 OPTIONS: The algorithm allows the following options as pair of arguments: 5066 5067 5068 5069 a full algorithm that always distinguishes correctly between 'Normal'5070 and 'Special' components, whereas \("version\",0) can decalre a component5071 as 'Normal' being really 'Special', but is more effective. By default (\"version\",1)5072 5073 5074 5059 \"vmov\", ideal(mover variables) : by default vmov are u_1,..,u_m. 5060 But it can be restricted by the user to the more convenient ones. 5061 \"version\", v : There are two versions of the algorithm. (\"version\",1) is 5062 a full algorithm that always distinguishes correctly between NORMAL 5063 and SPECIAL components, whereas (\"version\",0) can declare a component 5064 as NORMAL being really SPECIAL, but is more effective. By default (\"version\",1) 5065 is used when the number of variables is less than 4 and 0 if not. 5066 The user can force to use one or other version, but it is not recommended. 5067 \"comments\", c: by default it is 0, but it can be set to 1. 5075 5068 RETURN: The components of the envelop with its taxonomy: 5076 5077 5078 5079 5080 5069 (see locus help). envelop uses locus. 5070 The taxonomy distinguishes \"Normal\", 5071 \"Special\", \"Accumulation\", \"Degenerate\" components. 5072 In the case of \"Special\" components, it also 5073 outputs the anti-image of the component 5081 5074 NOTE: grobcov is called internally. 5082 5075 The basering R, must be of the form Q[a][x] (a=parameters, x=variables). 5083 5076 KEYWORDS: geometrical locus; locus; loci; envelop 5084 5077 EXAMPLE: example envelop; shows an example" … … 5277 5270 } 5278 5271 5279 proc AssocTanToEnv(poly F,ideal C, poly E, list #) 5280 "USAGE: AssocTanToEnv(F,C,E); 5281 The first argument poly F must be the family of hypersurfaces for which 5282 on want to compute its envelop. 5283 The second argument C must be the ideal of restrictions on 5284 the variables, and should contain s polynomials 5285 being s<n, 5286 (x_1,..,x_n) are the variables of the hypersurfaces of F, that are considered 5287 as parameters of the parametric ring. 5288 (u_1,..,u_m) are the parameteres of the hypersurfaces, that are considered 5289 as variables of the parametric ring. 5290 The third parameter poly E must be the equation of a component of the 5291 envelop of (F,C) previously determined by envelop. 5292 Calling sequence: 5293 ring R=(0,x_1,..,x_n),(u_1,..,u_m),lp; 5294 poly F=F(x_1,..,x_n,u_1,..,u_m); 5295 ideal C=g_1(u_1,..u_m),..,g_s(u_1,..u_m); 5296 poly E(x_1,..,x_n); 5297 AssocTanToEnv(F,C,E,#options); 5298 5272 proc AssocTanToEnv(poly F,ideal C,poly E,list #) 5273 "USAGE: AssocTanToEnv(F,C,E,[options]); 5274 The first argument poly F must be the family of hypersurfaces for which 5275 on want to compute its envelop. 5276 The second argument C must be the ideal of restrictions on 5277 the variables, and should contain s polynomials 5278 being s<n, 5279 (x_1,..,x_n) are the variables of the hypersurfaces of F, that are considered 5280 as parameters of the parametric ring. 5281 (u_1,..,u_m) are the parameteres of the hypersurfaces, that are considered 5282 as variables of the parametric ring. 5283 The third parameter poly E must be the equation of a component of the 5284 envelop of (F,C) previously determined by envelop. 5285 Calling sequence: 5286 ring R=(0,x_1,..,x_n),(u_1,..,u_m),lp; 5287 poly F=F(x_1,..,x_n,u_1,..,u_m); 5288 ideal C=g_1(u_1,..u_m),..,g_s(u_1,..u_m); 5289 poly E(x_1,..,x_n); 5290 AssocTanToEnv(F,C,E,#options); 5299 5291 OPTIONS: The algorithm allows the following options as pair of arguments: 5300 5301 5302 5303 a full algorithm that always distinguishes correctly between 'Normal'5304 and 'Special' components, whereas \("version\",0) can decalre a component5305 as 'Normal' being really 'Special', but is more effective. By default (\"version\",1)5306 5307 5308 5292 \"vmov\", ideal(mover variables) : by default vmov are u_1,..,u_m. 5293 But it can be restricted by the user to the more convenient ones. 5294 \"version\", v : There are two versions of the algorithm. (\"version\",1) is 5295 a full algorithm that always distinguishes correctly between NORMAL 5296 and SPECIAL components, whereas (\"version\",0) can decalre a component 5297 as NORMAL being really SPECIAL, but is more effective. By default (\"version\",1) 5298 is used when the number of variables is less than 4 and 0 if not. 5299 The user can force to use one or other version, but it is not recommended. 5300 \"comments\", c: by default it is 0, but it can be set to 1. 5309 5301 RETURN: The interesting segments of the grobcov each one with (lpp,basis,segment). 5310 5311 5302 Fixing the values of (x_1,..,x_n) inside E, the basis allows to detemine the values of the parameters 5303 u_1,..u_m. 5312 5304 NOTE: grobcov is called internally. 5313 5305 The basering R, must be of the form Q[a][x] (a=parameters, x=variables). 5314 5306 KEYWORDS: geometrical locus; locus; loci; envelop, associated tangent 5315 5307 EXAMPLE: example AssocTanToEnv; shows an example" … … 5425 5417 } 5426 5418 5427 proc FamElemsAtEnvCompPoints(poly F,ideal C, poly E,list #)5419 proc FamElemsAtEnvCompPoints(poly F,ideal C,poly E,list #) 5428 5420 "USAGE: FamElemsAtEnvCompPoints(F,C,E[,options]); 5429 5421 The first argument poly F must be the family of hypersurfaces for which … … 5505 5497 5506 5498 // discrim 5507 proc discrim(poly F0, 5499 proc discrim(poly F0,poly x0) 5508 5500 "USAGE: discrim(f,x); 5509 5501 poly f: the polynomial in Q[a][x] or Q[x] of degree 2 in x … … 5645 5637 // output: ideal b in @R but depending only on parameters 5646 5638 // ideal G=GBasis(F) in V(a) \ V(b) 5647 proc WLemma(ideal F,ideal a, list #) 5639 5640 proc WLemma(ideal F,ideal a,list #) 5648 5641 "USAGE: WLemma(F,A,#); 5649 5642 The first argument ideal F in K[a][x]; … … 5664 5657 segment S given in P- or C-representation 5665 5658 NOTE: The basering R, must be of the form Q[a][x] (a=parameters, x=variables). 5666 KEYWORDS: Wibmer 's Lemma5659 KEYWORDS: Wibmers Lemma 5667 5660 EXAMPLE: WLemma; shows an example" 5668 5661 {
Note: See TracChangeset
for help on using the changeset viewer.