home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_objc.idb / usr / freeware / include / cakit / polynom.h.z / polynom.h
Encoding:
C/C++ Source or Header  |  1999-07-16  |  2.7 KB  |  170 lines

  1.  
  2. /*
  3.  * Computer Algebra Kit (c) 1993,98 by Comp.Alg.Objects.  All Rights Reserved.
  4.  * $Id: polynom.h,v 1.1.1.1 1999/03/22 21:48:43 stes Exp $
  5.  */
  6.  
  7. #ifndef __CAPOLYNOMIAL_HEADER__
  8. #define __CAPOLYNOMIAL_HEADER__
  9.  
  10. #include "cobject.h"
  11.  
  12. @interface Polynomial : CAObject
  13. {
  14.   id scalarZero;
  15.   id termZero;
  16.   id monomialZero;
  17.   id carrier;
  18.   id _symbols;
  19.   id _variables;
  20.   id _zero;
  21.   id _one;
  22.   id _leadingTerm;
  23.   id _leadingMonomial;
  24. }
  25.  
  26. + scalar:aScalar;
  27. - copy;
  28. - deepCopy;
  29. - clear;
  30. - empty;
  31.  
  32. - scalarZero;
  33. - termZero;
  34. - monomialZero;
  35. - (unsigned) hash;
  36. - (BOOL) isEqual:b;
  37. - (BOOL) isRecursive;
  38. - (BOOL) isExpanded;
  39. - (BOOL) isVariableSparse;
  40. - (BOOL) isVariableDense;
  41. - (BOOL) isDegreeDense;
  42. - (BOOL) isDegreeSparse;
  43. - (BOOL) isUnivariate;
  44. - (BOOL) inUnivariateDomain;
  45. - (BOOL) isMultivariate;
  46.  
  47. - (int) intValue;
  48. - intValue:(int)aValue;
  49. - (float) floatValue;
  50. - floatValue:(float)aValue;
  51. - asScalar;
  52. - asSymbol;
  53. - asTerm;
  54. - asMonomial;
  55. - asCoefficient;
  56. - asNumerical;
  57. - asModp:(unsigned short)p;
  58.  
  59. - symbols;
  60.  
  61. - (int) degree;
  62. - (int) order;
  63.  
  64. - (int) numTerms;
  65. - (int) numMonomials;
  66.  
  67. - removeTerm;
  68. - insertTerm:aTerm;
  69. - removeMonomial;
  70. - insertMonomial:aMonomial;
  71.  
  72. - eachTerm;
  73. - eachMonomial;
  74. - eachSequence;
  75. - eachScalar;
  76. - eachCoefficient;
  77.  
  78. - makeDegreeDense;
  79. - makeDegreeSparse;
  80. - makeRecursive;
  81. - makeExpanded;
  82. - makeVariableSparse;
  83. - makeVariableDense;
  84. - collect:symbols;
  85.  
  86. - leadingTerm;
  87. - leadingCoefficient;
  88. - (int) leadingSign;
  89. - leadingMonomial;
  90. - leadingScalar;
  91.  
  92. - (BOOL) isMonic;
  93. - (BOOL) notMonic;
  94. - makeMonic;
  95.  
  96. - zero;
  97. - (BOOL) isZero;
  98. - (BOOL) isOpposite:b;
  99. - negate;
  100. - double;
  101. - add:b;
  102. - subtract:b;
  103. - addScalar:s;
  104. - subtractScalar:s;
  105.  
  106. - one;
  107. - (BOOL) isOne;
  108. - (BOOL) isMinusOne;
  109. - multiply:b;
  110. - square;
  111. - inverse;
  112. - multiplyScalar:s;
  113. - divideScalar:s;
  114. - multiplyCoefficient:aCoefficient;
  115. - divideCoefficient:aCoefficient;
  116. - multiplyTerm:aTerm;
  117. - divideTerm:aTerm;
  118. - multiplyMonomial:s;
  119. - divideMonomial:s;
  120.  
  121. - remainder:b quotient:(id *)q;
  122. - divide:b;
  123.  
  124. - pseudoRemainder:b quotient:(id *)q;
  125. - pseudoRemainder:b;
  126.  
  127. - content;
  128. - divideContent;
  129. - coefficientContent;
  130. - divideCoefficientContent;
  131. - termContent;
  132. - monomialContent;
  133.  
  134. - gcd:b;
  135. - resultant:b;
  136. - resultant:b wrt:(STR)aSymbol;
  137. - discriminant;
  138.  
  139. - (int) numRealRoots;
  140. - (int) varRealRoots:g;
  141.  
  142. - (BOOL) isSquareFree;
  143. - factorSquareFree;
  144.  
  145. - truncateAtDegree:(int)d;
  146.  
  147. - frobenius;
  148. - frobeniusInverse;
  149.  
  150. - evaluate:aScalar;
  151. - evaluate:(STR)aSymbol at:aScalar;
  152. - evaluateAll:cltnOfScalars;
  153. - substitute:aPolynomial;
  154. - substitute:(STR)aSymbol by:aPolynomial;
  155. - substituteAll:cltnOfPolynomials;
  156.  
  157. - derive;
  158. - deriveWrt:(STR)aSymbol;
  159. - integrate;
  160. - integrateWrt:(STR)aSymbol;
  161.  
  162. - (BOOL) printsLeadingSign;
  163. - (BOOL) printsSum;
  164. - (BOOL) printsProduct;
  165. - printOn:(IOD)aFile;
  166. @end
  167.  
  168. #endif                /* __CAPOLYNOMIAL_HEADER__ */
  169.  
  170.