source: git/kernel/gring.h @ 5e051b

spielwiese
Last change on this file since 5e051b was 5e051b, checked in by Hans Schönemann <hannes@…>, 20 years ago
*hannes: const git-svn-id: file:///usr/local/Singular/svn/trunk@7432 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 3.0 KB
Line 
1#ifndef GRING_H
2#define GRING_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/* $Id: gring.h,v 1.8 2004-08-27 12:20:02 Singular Exp $ */
7/*
8* ABSTRACT additional defines etc for --with-plural
9*/
10
11#ifdef HAVE_PLURAL
12#include "structs.h"
13
14/* MACROS */
15
16#define UPMATELEM(i,j,nVar) ( (nVar * ((i)-1) - ((i) * ((i)-1))/2 + (j)-1)-(i) )
17
18/* the part, related to the interface */ 
19BOOLEAN nc_CallPlural(matrix CC, matrix DD, poly CN, poly DN, ring r);
20BOOLEAN nc_InitMultiplication(ring r);
21
22ring nc_rCreateNCcomm(ring r);
23void ncKill(ring r);
24void ncCleanUp(ring r); /* smaller than kill */
25
26/* poly functions defined in p_Procs : */
27poly nc_pp_Mult_mm(poly p, poly m, const ring r, poly &last);
28poly nc_p_Mult_mm(poly p, poly m, const ring r);
29poly nc_p_Minus_mm_Mult_qq(poly p, const poly m, poly q, const ring r);
30/* other routines we need in addition : */
31poly nc_p_Mult_mm_Common(poly p, const poly m, int side, const ring r);
32poly nc_mm_Mult_p(const poly m, poly p, const ring r);
33poly nc_mm_Mult_nn (int *F, int *G, const ring r); 
34poly nc_mm_Mult_uu (int *F,int jG,int bG, const ring r);
35
36/* #define nc_uu_Mult_ww nc_uu_Mult_ww_vert */
37poly nc_uu_Mult_ww (int i, int a, int j, int b, const ring r);
38/* poly nc_uu_Mult_ww_vert (int i, int a, int j, int b, const ring r); */
39/* poly nc_uu_Mult_ww_horvert (int i, int a, int j, int b, const ring r); */
40/* poly nc_uu_Mult_ww_hvdiag (int i, int a, int j, int b, const ring r); */
41/* not written yet */
42
43poly _nc_p_Mult_q(poly p, poly q, const int copy, const ring r);
44
45/* subst: */
46poly nc_pSubst(poly p, int n, poly e);
47
48/* copy : */
49poly nc_p_CopyGet(poly a, const ring r);
50poly nc_p_CopyPut(poly a, const ring r);
51
52/* syzygies : */
53/* former nc_spGSpolyCreate */
54poly nc_CreateSpoly(poly p1, poly p2, poly spNoether, const ring r);
55/* former nc_spGSpolyRed */
56poly nc_ReduceSpoly(poly p1, poly p2, poly spNoether, const ring r);
57/* former nc_spGSpolyRedNew */
58poly nc_ReduceSpolyNew(poly p1, poly p2, poly spNoether, const ring r);
59/* former nc_spGSpolyRedTail */
60void nc_ReduceSpolyTail(poly p1, poly q, poly q2, poly spNoether, const ring r);
61/* former nc_spShort */
62poly nc_CreateShortSpoly(poly p1, poly p2, const ring r=currRing);
63
64ideal gr_bba (ideal F, ideal Q,kStrategy strat);
65
66/* brackets: */
67poly nc_p_Bracket_qq(poly p, poly q);
68poly nc_mm_Bracket_nn(poly m1, poly m2);
69
70/* twostd: */
71ideal twostd(ideal I);
72/* Ann: */
73ideal Approx_Step(ideal L);
74
75/* complete reduction routines */
76
77/* void nc_kBucketPolyRed(kBucket_pt b, poly p); */
78void nc_kBucketPolyRed(kBucket_pt b, poly p, number *c);
79void nc_PolyPolyRed(poly &b, poly p, number *c);
80
81matrix nc_PrintMat(int a, int b, ring r, int metric);
82
83int nc_CheckSubalgebra(poly PolyVar, ring r);
84
85poly p_CopyEmbed(poly p, ring srcRing, int shift, int par_shift);
86poly p_Oppose(ring Rop, poly p);
87
88#else
89/* dummy definition to make gcc happy */
90#define nc_kBucketPolyRed(A,B,C) 0
91#define nc_PolyPolyRed(A,B,C) 0
92
93#endif /* HAVE_PLURAL */
94#endif
95
Note: See TracBrowser for help on using the repository browser.