Changeset 47fed0 in git for Singular/matpol.cc


Ignore:
Timestamp:
Dec 16, 1999, 2:35:20 PM (24 years ago)
Author:
Wilfred Pohl <pohl@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '38dfc5131670d387a89455159ed1e071997eec94')
Children:
9a9127abd147a78f19e64ecaef1dc0cb27890f97
Parents:
41427b203c97a89990d3f996aa35d8ae9f9cf162
Message:
minor with "kNF"


git-svn-id: file:///usr/local/Singular/svn/trunk@4038 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/matpol.cc

    r41427b2 r47fed0  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: matpol.cc,v 1.29 1999-11-15 17:20:22 obachman Exp $ */
     4/* $Id: matpol.cc,v 1.30 1999-12-16 13:35:19 pohl Exp $ */
    55
    66/*
     
    1616#include "tok.h"
    1717#include "lists.h"
     18#include "ipid.h"
     19#include "kstd1.h"
    1820#include "polys.h"
    1921#include "mmemory.h"
     
    349351
    350352/*2
    351 * entries of a are minors and go to result
    352 */
    353 void mpMinorToResult(ideal result, int &elems, matrix a, int r, int c)
     353* entries of a are minors and go to result (only if not in R)
     354*/
     355void mpMinorToResult(ideal result, int &elems, matrix a, int r, int c,
     356                     ideal &R)
    354357{
    355358  poly *q1;
     
    357360  int i,j;
    358361
     362  if (R != NULL)
     363  {
     364    for (i=r-1;i>=0;i--)
     365    {
     366      q1 = &(a->m)[i*a->ncols];
     367      for (j=c-1;j>=0;j--)
     368      {
     369        if (q1[j]!=NULL) q1[j] = kNF(R,currQuotient,q1[j]);
     370      }
     371    }
     372  }
    359373  for (i=r-1;i>=0;i--)
    360374  {
     
    389403* produces recursively the ideal of all arxar-minors of a
    390404*/
    391 void mpRecMin(int ar,ideal result,int &elems,matrix a,int lr,int lc,poly barDiv)
     405void mpRecMin(int ar,ideal result,int &elems,matrix a,int lr,int lc,
     406              poly barDiv, ideal &R)
    392407{
    393408  int k;
     
    408423      if (ar>1)
    409424      {
    410         mpRecMin(ar-1,result,elems,nextLevel,kr,k,a->m[kr*a->ncols+k]);
     425        mpRecMin(ar-1,result,elems,nextLevel,kr,k,a->m[kr*a->ncols+k],R);
    411426        mpPartClean(nextLevel,kr,k);
    412427      }
    413       else mpMinorToResult(result,elems,nextLevel,kr,k);
     428      else mpMinorToResult(result,elems,nextLevel,kr,k,R);
    414429      if (ar>k-1) break;
    415430    }
Note: See TracChangeset for help on using the changeset viewer.