|
D.15.30.1 locStatus
Procedure from library olga.lib (see olga_lib).
- Usage:
- locStatus(locType, locData), int locType, list/vector/intvec locData
- Purpose:
- determine the status of a set of localization data
- Assume:
- Return:
- list
- Note:
- - the first entry is 0 or 1, depending whether the input represents
a valid localization
- the second entry is a string with a status/error message
Example:
| LIB "olga.lib";
locStatus(42, list(1));
==> [1]:
==> 0
==> [2]:
==> invalid localization: type is 42, valid types are:
==> 0 for a monoidal localization
==> 1 for a geometric localization
==> 2 for a rational localization
def undef;
locStatus(0, undef);
==> [1]:
==> 0
==> [2]:
==> uninitialized or invalid localization: locData has to be defined
string s;
locStatus(0, s);
==> [1]:
==> 0
==> [2]:
==> for a monoidal localization, locData has to be of type list, but is of\
type string
list L;
locStatus(0, L);
==> [1]:
==> 0
==> [2]:
==> for a monoidal localization, locData has to be a non-empty list
L = s;
print(L);
==> [1]:
==>
locStatus(0, L);
==> [1]:
==> 0
==> [2]:
==> for a monoidal localization, locData has to be a list of polys, ints o\
r numbers, but entry 1 is , which is of type string
ring w = 0,(x,Dx,y,Dy),dp;
def W = Weyl(1);
setring W;
W;
==> // coefficients: QQ
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x Dx y Dy
==> // block 2 : ordering C
==> // noncommutative relations:
==> // Dxx=x*Dx+1
==> // Dyy=y*Dy+1
locStatus(0, list(x, Dx));
==> [1]:
==> 0
==> [2]:
==> for a monoidal localization, the variables occurring in the polys in l\
ocData have to induce a commutative polynomial subring of basering
ring R;
setring R;
R;
==> // coefficients: ZZ/32003
==> // number of vars : 3
==> // block 1 : ordering dp
==> // : names x y z
==> // block 2 : ordering C
locStatus(1, s);
==> [1]:
==> 0
==> [2]:
==> for a geometric localization, basering has to have an even number of v\
ariables
setring W;
locStatus(1, s);
==> [1]:
==> 0
==> [2]:
==> for a geometric localization, the first half of the variables of baser\
ing has to induce a commutative polynomial subring of basering
ring t = 0,(x,y,Dx,Dy),dp;
def T = Weyl();
setring T;
T;
==> // coefficients: QQ
==> // number of vars : 4
==> // block 1 : ordering dp
==> // : names x y Dx Dy
==> // block 2 : ordering C
==> // noncommutative relations:
==> // Dxx=x*Dx+1
==> // Dyy=y*Dy+1
locStatus(1, s);
==> [1]:
==> 0
==> [2]:
==> for a geometric localization, locData has to be of type ideal, but is \
of type string
locStatus(1, ideal(Dx));
==> [1]:
==> 0
==> [2]:
==> for a geometric localization, locData has to be an ideal generated by \
polynomials containing only variables from the first half of the variable\
s
locStatus(2, s);
==> [1]:
==> 0
==> [2]:
==> for a rational localization, locData has to be of type intvec, but is \
of type string
intvec v;
locStatus(2, v);
==> [1]:
==> 0
==> [2]:
==> for a rational localization, locData has to be a non-zero intvec
locStatus(2, intvec(1,2));
==> [1]:
==> 1
==> [2]:
==> valid localization
|
|