Changeset 31cb04b in git


Ignore:
Timestamp:
Jun 29, 1999, 3:03:31 PM (25 years ago)
Author:
Wilfred Pohl <pohl@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', '648d28f488f6ff08f5607ff229b9ad9e4a5b93c2')
Children:
a97e04ed1d1c861bf4bcd335a5d9baa9fcc17445
Parents:
0d698758164dfebc988cdf6f7290970b1bf8432d
Message:
arithmetic from sparsmat


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

Legend:

Unmodified
Added
Removed
  • Singular/matpol.cc

    r0d69875 r31cb04b  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: matpol.cc,v 1.23 1999-03-11 16:32:55 Singular Exp $ */
     4/* $Id: matpol.cc,v 1.24 1999-06-29 13:03:31 pohl Exp $ */
    55
    66/*
     
    2424#include "intvec.h"
    2525#include "ring.h"
     26#include "sparsmat.h"
    2627#include "matpol.h"
    2728
     
    10481049    if (elim != NULL)
    10491050    {
     1051      elim = pNeg(elim);
    10501052      for (j=s_n-1; j>=0; j--)
    10511053      {
    10521054        q2 = NULL;
    10531055        jj = qcol[j];
    1054         q1 = a[jj];
    10551056        if (ap[jj] != NULL)
    10561057        {
    1057           q2 = pNeg(pCopy(ap[jj]));
    1058           q2 = pMult(q2, pCopy(elim));
    1059           if (q1 != NULL)
     1058          q2 = smMultDiv(ap[jj], elim, div);
     1059          if (a[jj] != NULL)
    10601060          {
    1061             q1 = pMult(q1,pCopy(piv));
     1061            q1 = smMultDiv(a[jj], piv, div);
     1062            pDelete(&a[jj]);
    10621063            q2 = pAdd(q2, q1);
    10631064          }
    10641065        }
    1065         else if (q1 != NULL)
     1066        else if (a[jj] != NULL)
    10661067        {
    1067           q2 = pMult(q1, pCopy(piv));
     1068          q2 = smMultDiv(a[jj], piv, div);
    10681069        }
    10691070        if ((q2!=NULL) && div)
    1070           q2 = mpDivide(q2, div);
     1071          smSpecialPolyDiv(q2, div);
    10711072        a[jj] = q2;
    10721073      }
     
    10781079      {
    10791080        jj = qcol[j];
    1080         q1 = a[jj];
    1081         if (q1 != NULL)
     1081        if (a[jj] != NULL)
    10821082        {
    1083           q1 = pMult(q1, pCopy(piv));
     1083          q2 = smMultDiv(a[jj], piv, div);
     1084          pDelete(&a[jj]);
    10841085          if (div)
    1085             q1 = mpDivide(q1, div);
    1086           a[jj] = q1;
     1086            smSpecialPolyDiv(q2, div);
     1087          a[jj] = q2;
    10871088        }
    10881089      }
Note: See TracChangeset for help on using the changeset viewer.