Changeset 34b0314 in git
- Timestamp:
- Feb 22, 2005, 11:36:38 AM (19 years ago)
- Branches:
- (u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
- Children:
- 5a790ffea68fa34773ddda40acb84e14bfdee4cb
- Parents:
- b9e6b3a8fbdac60181ba5817714b3bde3734cdff
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/zeroset.lib
rb9e6b3a r34b0314 1 1 // Last change 12.02.2001 (Eric Westenberger) 2 2 /////////////////////////////////////////////////////////////////////////////// 3 version="$Id: zeroset.lib,v 1. 8 2001-08-27 14:48:02Singular Exp $";3 version="$Id: zeroset.lib,v 1.9 2005-02-22 10:36:38 Singular Exp $"; 4 4 category="Symbolic-numerical solving"; 5 5 info=" … … 12 12 Algorithms for finding the zero-set of a zero-dim. ideal in Q(a)[x_1,..,x_n], 13 13 Roots and Factorization of univariate polynomials over Q(a)[t] 14 where a is an algebr ic number. Written in the frame of the14 where a is an algebraic number. Written in the frame of the 15 15 diploma thesis (advisor: Prof. Gert-Martin Greuel) 'Computations of moduli 16 spaces of semiquasihomogen ous singularities and an implementation in Singular'.16 spaces of semiquasihomogeneous singularities and an implementation in Singular'. 17 17 This library is meant as a preliminary extension of the functionality 18 18 of Singular for univariate factorization of polynomials over simple algebraic … … 23 23 24 24 PROCEDURES: 25 EGCD(f, g) gcd over an algebraic extension field of Q26 Factor(f) factorization of f over an algebraic extension field27 25 Quotient(f, g) quotient q of f w.r.t. g (in f = q*g + remainder) 28 26 Remainder(f,g) remainder of the division of f by g … … 32 30 33 31 AUXILIARY PROCEDURES: 34 EGCDMain(f, g) gcd over an algebraic extension field of Q35 FactorMain(f) factorization of f over an algebraic extension field36 32 InvertNumberMain(c) inverts an element of an algebraic extension field 37 33 QuotientMain(f, g) quotient of f w.r.t. g 38 34 RemainderMain(f,g) remainder of the division of f by g 39 RootsMain(f) computes all roots of f, might extend the ground field35 RootsMain(f) computes all roots of f, might extend the ground field 40 36 SQFRNormMain(f) norm of f (f must be squarefree) 41 37 ContainedQ(data, f) f in data ? 42 38 SameQ(a, b) a == b (list a,b) 43 39 "; 40 // Factor(f) factorization of f over an algebraic extension field 41 // EGCD(f, g) gcd over an algebraic extension field of Q 42 // EGCDMain(f, g) gcd over an algebraic extension field of Q 43 // FactorMain(f) factorization of f over an algebraic extension field 44 44 45 45 LIB "primitiv.lib"; … … 85 85 @format 86 86 - 'roots' is the list of roots of the polynomial f (no multiplicities) 87 - if the ground field is Q(a') and the extension field is Q(a), then88 'newA' is the representation of a' in Q(a). 87 - if the ground field is Q(a') and the extension field is Q(a), then 88 'newA' is the representation of a' in Q(a). 89 89 If the basering contains a parameter 'a' and the minpoly remains unchanged 90 90 then 'newA' = 'a'. … … 164 164 @format 165 165 _[1] = roots of f, each entry is a polynomial 166 _[2] = 'newA' - if the ground field is Q(a') and the extension field166 _[2] = 'newA' - if the ground field is Q(a') and the extension field 167 167 is Q(a), then 'newA' is the representation of a' in Q(a) 168 _[3] = minpoly of the algebraic extension of the ground field168 _[3] = minpoly of the algebraic extension of the ground field 169 169 @end format 170 170 ASSUME: basering = Q[x,a] ideal mpoly must be defined, it might be 0! … … 204 204 } 205 205 } 206 if(linFactors == size(factorList[1]) - 1) { // all roots of f are contained in the ground field206 if(linFactors == size(factorList[1]) - 1) { // all roots of f are contained in the ground field 207 207 result[1] = roots; 208 208 result[2] = var(2); … … 211 211 } 212 212 213 // process the nonlinear factors, i.e., extend the ground field213 // process the nonlinear factors, i.e., extend the ground field 214 214 // where a nonlinear factor (irreducible) is a minimal polynomial 215 215 // compute the primitive element of this extension … … 302 302 "USAGE: ZeroSet(I [,opt] ); I=ideal, opt=integer 303 303 PURPOSE: compute the zero-set of the zero-dim. ideal I, in a finite extension 304 of the ground field.304 of the ground field. 305 305 RETURN: ring, a polynomial ring over an extension field of the ground field, 306 306 containing a list 'zeroset', a polynomial 'newA', and an … … 308 308 @format 309 309 - 'zeroset' is the list of the zeros of the ideal I, each zero is an ideal. 310 - if the ground field is Q(a') and the extension field is Q(a), then310 - if the ground field is Q(a') and the extension field is Q(a), then 311 311 'newA' is the representation of a' in Q(a). 312 312 If the basering contains a parameter 'a' and the minpoly remains unchanged 313 313 then 'newA' = 'a'. 314 If the basering does not contain a parameter then 'newA' = 'a' (default). 314 If the basering does not contain a parameter then 'newA' = 'a' (default). 315 315 - 'id' is the ideal I in Q(a)[x_1,...] (a' substituted by 'newA') 316 316 @end format … … 587 587 ASSUME: basering = Q(a)[t] 588 588 EXAMPLE: example EGCD; shows an example 589 NOTE: obsolete: use gcd 589 590 " 590 591 { … … 769 770 is Q or a simple extension of Q given by a minpoly. 770 771 NOTE: if basering = Q[t] then this is the built-in @code{factorize} 772 NOTE: obsolete: use factorize 771 773 EXAMPLE: example Factor; shows an example 772 774 " … … 857 859 "USAGE: ZeroSetMain(ideal I, int opt); ideal I, int opt 858 860 PURPOSE: compute the zero-set of the zero-dim. ideal I, in a simple extension 859 of the ground field.861 of the ground field. 860 862 RETURN: list 861 863 - 'f' is the polynomial f in Q(a) (a' being substituted by newA) 862 864 _[1] = zero-set (list), is the list of the zero-set of the ideal I, 863 865 each entry is an ideal. 864 _[2] = 'newA'; if the ground field is Q(a') and the extension field866 _[2] = 'newA'; if the ground field is Q(a') and the extension field 865 867 is Q(a), then 'newA' is the representation of a' in Q(a). 866 868 If the basering contains a parameter 'a' and the minpoly … … 911 913 912 914 // compute the zero-set of each primary ideal and join them. 913 // If necessary, change the ground field and transform the zero-set915 // If necessary, change the ground field and transform the zero-set 914 916 915 917 dbprint(dbPrt, " … … 946 948 "USAGE: ZeroSetMainWork(I, wt, sVars); 947 949 PURPOSE: compute the zero-set of the zero-dim. ideal I, in a finite extension 948 of the ground field (without multiplicities).950 of the ground field (without multiplicities). 949 951 RETURN: list, all entries are polynomials 950 952 _[1] = zeros, each entry is an ideal 951 _[2] = newA; if the ground field is Q(a') this is the rep. of a' w.r.t. a952 _[3] = minpoly of the algebraic extension of the ground field (ideal)953 _[2] = newA; if the ground field is Q(a') this is the rep. of a' w.r.t. a 954 _[3] = minpoly of the algebraic extension of the ground field (ideal) 953 955 _[4] = name of algebraic number (default = 'a') 954 956 ASSUME: basering = Q[x_1,x_2,...,x_n,a] … … 1110 1112 "USAGE: ZeroSetMainWork(I, wt, sVars); 1111 1113 PURPOSE: solves the (nonlinear) univariate polynomials in I 1112 of the ground field (without multiplicities).1114 of the ground field (without multiplicities). 1113 1115 RETURN: list, all entries are polynomials 1114 1116 _[1] = list of solutions
Note: See TracChangeset
for help on using the changeset viewer.