Home Online Manual
Top
Back: olga_lib
Forward: testLocData
FastBack:
FastForward:
Up: olga_lib
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document
7.5.21.0. 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