Changeset 06879b7 in git


Ignore:
Timestamp:
May 15, 2008, 7:24:37 PM (15 years ago)
Author:
Motsak Oleksandr <motsak@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
f0aec5f202b35e6e5b438f20d75f4b4259253ecd
Parents:
5eef8d3b7ed576b438d4c0ff4dee494bee712c3f
Message:
*motsak: additional controls for testing/debugging/benchmarking
   gring | Use NC Extensions (SCA)
   sca   | Force Commutative


git-svn-id: file:///usr/local/Singular/svn/trunk@10717 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
kernel
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/gring.cc

    r5eef8d r06879b7  
    77 *  Author:  levandov (Viktor Levandovsky)
    88 *  Created: 8/00 - 11/00
    9  *  Version: $Id: gring.cc,v 1.52 2008-04-18 12:11:40 motsak Exp $
     9 *  Version: $Id: gring.cc,v 1.53 2008-05-15 17:24:36 motsak Exp $
    1010 *******************************************************************/
    1111#include "mod2.h"
     
    3131// dirty tricks:
    3232#include "p_MemAdd.h"
     33
     34bool bUseExtensions = true;
    3335
    3436/* global nc_macros : */
     
    28352837  gnc_p_ProcsSet(rGR, p_Procs);
    28362838
    2837   if(rIsSCA(rGR))
     2839  if(rIsSCA(rGR) && bUseExtensions)
    28382840  {
    28392841    sca_p_ProcsSet(rGR, p_Procs);
     
    32753277{
    32763278  // currently only super-commutative extension deals with factors.
    3277   return sca_SetupQuotient(rGR, rG);
     3279  if( bUseExtensions )
     3280    return sca_SetupQuotient(rGR, rG);
     3281 
     3282  return false;   
    32783283}
    32793284
  • kernel/sca.cc

    r5eef8d r06879b7  
    77 *  Author:  motsak (Oleksandr Motsak)
    88 *  Created: 2006/12/18
    9  *  Version: $Id: sca.cc,v 1.14 2008-05-09 09:27:24 Singular Exp $
     9 *  Version: $Id: sca.cc,v 1.15 2008-05-15 17:24:36 motsak Exp $
    1010 *******************************************************************/
    1111
     
    12531253    return false;
    12541254
    1255   if(ncRingType(rG) != nc_skew)
    1256     return false;
     1255#if MYTEST
     1256   PrintS("sca_SetupQuotient(rGR, rG)");
     1257#endif
     1258
     1259
     1260//  if( (ncRingType(rG) != nc_skew) || (ncRingType(rG) != nc_comm) )
     1261//    return false;
    12571262
    12581263  if(rGR->qideal == NULL) // there will be a factor!
     
    12871292        if( !n_IsOne(c, rBase) )
    12881293        {
    1289 #ifdef PDEBUG
    1290 //           Print("Wrong Coeff at: [%d, %d]\n", i, j);
     1294#if MYTEST
     1295           Print("Wrong Coeff at: [%d, %d]\n", i, j);
    12911296#endif
    12921297          return false;
     
    13101315        if( !n_IsMOne(c, rBase) )
    13111316        {
    1312 #ifdef PDEBUG
    1313 //           Print("Wrong Coeff at: [%d, %d]\n", i, j);
     1317#if MYTEST
     1318           Print("Wrong Coeff at: [%d, %d]\n", i, j);
    13141319#endif
    13151320          return false;
     
    13191324        if( !n_IsOne(c, rBase) )
    13201325        {
    1321 #ifdef PDEBUG
    1322 //           Print("Wrong Coeff at: [%d, %d]\n", i, j);
     1326#if MYTEST
     1327           Print("Wrong Coeff at: [%d, %d]\n", i, j);
    13231328#endif
    13241329          return false;
     
    13811386
    13821387
    1383 #ifdef PDEBUG
    1384 //  Print("AltVars: [%d, %d]\n", iAltVarStart, iAltVarEnd);
     1388#if MYTEST
     1389  Print("AltVars: [%d, %d]\n", iAltVarStart, iAltVarEnd);
    13851390#endif
    13861391
     
    14041409
    14051410
    1406 
    14071411  sca_p_ProcsSet(rGR, rGR->p_Procs);
    14081412
    14091413
    14101414  return true;
     1415}
     1416
     1417
     1418bool sca_ForceCommutative(ring rGR, int b, int e)
     1419{
     1420  assume(rGR != NULL);
     1421  assume(rIsPluralRing(rGR));
     1422  assume(!rIsSCA(rGR));
     1423 
     1424  const int N = rGR->N;
     1425
     1426  ring rSaveRing = currRing;
     1427
     1428  if(rSaveRing != rGR)
     1429    rChangeCurrRing(rGR);
     1430
     1431  const ideal idQuotient = rGR->qideal;
     1432
     1433 
     1434  ideal tempQ = idQuotient;
     1435
     1436  if( b <= N && e >= 1 )
     1437    tempQ = id_KillSquares(idQuotient, b, e, rGR);
     1438
     1439  idSkipZeroes( tempQ );
     1440
     1441  if( idIs0(tempQ) )
     1442    rGR->nc->SCAQuotient() = NULL;
     1443  else
     1444    rGR->nc->SCAQuotient() = tempQ;
     1445 
     1446  ncRingType( rGR, nc_exterior );
     1447
     1448  scaFirstAltVar( rGR, b );
     1449  scaLastAltVar( rGR, e );
     1450
     1451
     1452  sca_p_ProcsSet(rGR, rGR->p_Procs);
     1453
     1454  if(rSaveRing != rGR)
     1455    rChangeCurrRing(rSaveRing);
     1456 
     1457  return true;
     1458 
    14111459}
    14121460
     
    23782426#ifdef PDEBUG
    23792427  p_Test(m, r);
     2428  assume( (iFirstAltVar >= 1) && (iLastAltVar <= r->N) && (iFirstAltVar <= iLastAltVar) );
    23802429
    23812430#if 0
     
    24022451#ifdef PDEBUG
    24032452  p_Test(p, r);
     2453
     2454  assume( (iFirstAltVar >= 1) && (iLastAltVar <= r->N) && (iFirstAltVar <= iLastAltVar) );
    24042455
    24052456#if 0
     
    24552506  if (id == NULL) return id; // zero ideal
    24562507
     2508  assume( (iFirstAltVar >= 1) && (iLastAltVar <= r->N) && (iFirstAltVar <= iLastAltVar) );
     2509 
    24572510  const int iSize = id->idelems();
    24582511
  • kernel/sca.h

    r5eef8d r06879b7  
    55*  Computer Algebra System SINGULAR     *
    66****************************************/
    7 /* $Id: sca.h,v 1.10 2007-07-24 11:15:26 Singular Exp $ */
     7/* $Id: sca.h,v 1.11 2008-05-15 17:24:37 motsak Exp $ */
    88
    99#include <ring.h>
     
    175175  const unsigned int iFirstAltVar, const unsigned int iLastAltVar,
    176176  const ring r);
     177
     178// for benchmarking
     179bool sca_ForceCommutative(ring rGR, int b, int e);
    177180
    178181
Note: See TracChangeset for help on using the changeset viewer.