Changeset 24457e in git


Ignore:
Timestamp:
Mar 12, 2021, 11:22:18 AM (3 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
Children:
7b8e28f635afde923bf9ebc01c3821ba6d67ece8
Parents:
f7951d3b3bfea118917f4155803e30bac0dc2b16
Message:
improve algebra_containment
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/LIB/algebra.lib

    rf7951d r24457e  
    11///////////////////////////////////////////////////////////////////////////////
    2 version="version algebra.lib 4.1.2.0 Feb_2019 "; // $Id$
     2version="version algebra.lib 4.2.0.1 Mar_2021 "; // $Id$
    33category="Commutative Algebra";
    44info="
     
    6666    int m = ncols(A);
    6767    int i;
    68     string mp=string(minpoly);
    6968    //-----------------
    7069    // neu CL 10/05:
    7170    int is_qring;
    72     if (size(ideal(br))>0) {
     71    if (size(ideal(br))>0)
     72    {
    7373      is_qring=1;
    7474      ideal IdQ = ideal(br);
     
    8585     l3[size(l3)+1] = "y("+string(yy)+")";
    8686    }
    87     ring R = create_ring(ringlist(br)[1], l3, "(dp("+string(n)+"),dp("+string(m)+"))", "no_minpoly");
    88     if (mp!="0")
    89     { execute ("minpoly=number("+mp+");"); }
    90     ideal vars=x(1..n);
    91     map emb=br,vars;
    92     ideal A=ideal(emb(A));
    93     poly check=emb(p);
     87    list RL=ringlist(br);
     88    RL[2]=l3; //vars
     89    RL[3]=list(list("dp",1:n),list("dp",1:m)); //ord
     90    RL[4]=ideal(0); // reset qring
     91    ring R=ring(RL);
     92    ideal A=fetch(br,A);
     93    poly check=fetch(br,p);
    9494    for (i=1;i<=m;i=i+1)
    95     { A[i]=A[i]-y(i);
     95    {
     96      A[i]=A[i]-y(i);
    9697    }
    9798    //-----------------
    9899    // neu CL 10/05:
    99     if (is_qring) { A = A,emb(IdQ); }
     100    if (is_qring) { A = A,fetch(br,IdQ); }
    100101    //-----------------
    101102    A=std(A);
     
    108109  // use i also to control the display
    109110    i = (sum(leadexp(check),1..n)==0);
    110   degBound = DEGB;
     111    degBound = DEGB;
    111112    if( #[1] == 0 )
    112113    { dbprint(printlevel-voice+3,"// "+string(check));
     
    115116    else
    116117    { list l = i,R;
    117       kill A,vars,emb;
     118      kill A;
    118119      export check;
    119120      dbprint(printlevel-voice+3,"
Note: See TracChangeset for help on using the changeset viewer.