1 | #ifndef MPR_H |
---|

2 | #define MPR_H |
---|

3 | /**************************************** |
---|

4 | * Computer Algebra System SINGULAR * |
---|

5 | ****************************************/ |
---|

6 | |
---|

7 | /* $Id: mpr_inout.h,v 1.3 1999-06-29 09:03:45 wenk Exp $ */ |
---|

8 | |
---|

9 | /* |
---|

10 | * ABSTRACT - multipolynomial resultants - interface to Singular |
---|

11 | * |
---|

12 | */ |
---|

13 | |
---|

14 | #define DEFAULT_DIGITS 30 |
---|

15 | |
---|

16 | #define MPR_DENSE 1 |
---|

17 | #define MPR_SPARSE 2 |
---|

18 | |
---|

19 | /** solve a multipolynomial system using the u-resultant |
---|

20 | * Input ideal must be 0-dimensional and pVariables == IDELEMS(ideal). |
---|

21 | * Resultant method can be MPR_DENSE, which uses Macaulay Resultant (good for |
---|

22 | * dense homogeneous polynoms) or MPR_SPARSE, which uses Sparse Resultant |
---|

23 | * (Gelfand, Kapranov, Zelevinsky). |
---|

24 | * If interpolate == true then the determinant of the u-resultant will be |
---|

25 | * numerically interpolatet using a Vandermonde System. |
---|

26 | * Otherwise, the Sparse Bareiss will be used (faster!). |
---|

27 | * Returns a list containing the roots of the system. |
---|

28 | */ |
---|

29 | BOOLEAN nuUResSolve( leftv res, leftv arg1, leftv arg2, leftv arg3 ); |
---|

30 | |
---|

31 | /** build resultant matrix from ideal |
---|

32 | * Make sure that IDELEMS(ideal) == pVariables+1. |
---|

33 | */ |
---|

34 | BOOLEAN nuMPResMat( leftv res, leftv arg1, leftv arg2 ); |
---|

35 | |
---|

36 | /** find the (complex) roots an univariate polynomial |
---|

37 | * Determines the roots of an univariate polynomial using Laguerres' |
---|

38 | * root-solver. Good for polynomials with low and middle degree (<40). |
---|

39 | * Returns a list containing the roots of the polynomial. |
---|

40 | */ |
---|

41 | BOOLEAN nuLagSolve( leftv res, leftv arg1, leftv arg2 ); |
---|

42 | |
---|

43 | /** |
---|

44 | */ |
---|

45 | BOOLEAN nuVanderSys( leftv res, leftv arg1, leftv arg2, leftv arg3 ); |
---|

46 | |
---|

47 | #endif |
---|

48 | |
---|

49 | // local Variables: *** |
---|

50 | // folded-file: t *** |
---|

51 | // compile-command-1: "make installg" *** |
---|

52 | // compile-command-2: "make install" *** |
---|

53 | // End: *** |
---|