CoCoALib-0.9905 date: 23 May 2007


PPMonoidEv.H

Go to the documentation of this file.
00001 #ifndef CoCoA_PPMonoidEv_H
00002 #define CoCoA_PPMonoidEv_H
00003 
00004 //   Copyright (c)  2005,2007  John Abbott
00005 
00006 //   This file is part of the source of CoCoALib, the CoCoA Library.
00007 
00008 //   CoCoALib is free software; you can redistribute it and/or modify
00009 //   it under the terms of the GNU General Public License (version 2)
00010 //   as published by the Free Software Foundation.  A copy of the full
00011 //   licence may be found in the file COPYING in this directory.
00012 
00013 //   CoCoALib is distributed in the hope that it will be useful,
00014 //   but WITHOUT ANY WARRANTY; without even the implied warranty of
00015 //   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016 //   GNU General Public License for more details.
00017 
00018 //   You should have received a copy of the GNU General Public License
00019 //   along with CoCoA; if not, write to the Free Software
00020 //   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021 
00022 
00023 #include <vector>
00024 // using vector;
00025 
00026 namespace CoCoA
00027 {
00028 
00029   class symbol;     // forward declaration -- defined in symbol.H
00030   class PPMonoid;   // forward declaration -- defined in PPMonoid.H
00031   class PPOrdering; // forward declaration -- defined in PPOrdering.H
00032 
00033   // Pseudo-ctor
00034   PPMonoid NewPPMonoidEv(const std::vector<symbol>& IndetNames, const PPOrdering& ord);
00035 
00036 } // end of namespace CoCoA
00037 
00038 //----------------------------------------------------------------------
00039 // RCS header/log in the next few lines
00040 // $Header: /Volumes/Home/cocoa/cvs-repository/CoCoALib-0.99/include/CoCoA/PPMonoidEv.H,v 1.1.1.1 2007/03/09 15:16:11 abbott Exp $
00041 // $Log: PPMonoidEv.H,v $
00042 // Revision 1.1.1.1  2007/03/09 15:16:11  abbott
00043 // Imported files
00044 //
00045 // Revision 1.7  2007/03/08 17:43:11  cocoa
00046 // Swapped order of args to the NewPPMonoid pseudo ctors.
00047 //
00048 // Revision 1.6  2007/03/08 14:38:51  cocoa
00049 // Removed pointless out-of-date comment.
00050 //
00051 // Revision 1.5  2006/12/06 17:28:08  cocoa
00052 // -- cleaned log
00053 //
00054 // Revision 1.4  2006/11/27 13:41:32  cocoa
00055 // -- added #include <cstddef> //using std::size_t
00056 // -- removed #include "config.H"
00057 //
00058 // Revision 1.3  2006/11/24 17:31:33  cocoa
00059 // -- reorganized includes of header files
00060 //
00061 // Revision 1.2  2006/10/06 14:04:15  cocoa
00062 // Corrected position of #ifndef in header files.
00063 // Separated CoCoA_ASSERT into assert.H from config.H;
00064 // many minor consequential changes (have to #include assert.H).
00065 // A little tidying of #include directives (esp. in Max's code).
00066 //
00067 // Revision 1.1.1.1  2006/05/30 11:39:37  cocoa
00068 // Imported files
00069 //
00070 // Revision 1.5  2006/03/14 17:21:18  cocoa
00071 // Moved concrete PPMonoid impls entirely into their respective .C files.
00072 // Now the corresponding .H files are very compact.
00073 //
00074 // Revision 1.3  2006/02/20 22:41:20  cocoa
00075 // All forms of the log function for power products now return SmallExponent_t
00076 // (instead of int).  exponents now resizes the vector rather than requiring
00077 // the user to pass in the correct size.
00078 //
00079 // Revision 1.2  2006/01/17 10:23:08  cocoa
00080 // Updated DivMask; many consequential changes.
00081 // A few other minor fixes.
00082 //
00083 // Revision 1.1.1.1  2005/10/17 10:46:54  cocoa
00084 // Imported files
00085 //
00086 // Revision 1.9  2005/08/08 16:36:33  cocoa
00087 // Just checking in before going on holiday.
00088 // Don't really recall what changes have been made.
00089 // Added IsIndet function for RingElem, PPMonoidElem,
00090 // and a member function of OrdvArith.
00091 // Improved the way failed assertions are handled.
00092 //
00093 // Revision 1.7  2005/07/19 15:30:20  cocoa
00094 // A first attempt at iterators over sparse polynomials.
00095 // Main additions are to SparsePolyRing, DistrMPoly*.
00096 // Some consequential changes to PPMonoid*.
00097 //
00098 // Revision 1.6  2005/07/08 15:09:29  cocoa
00099 // Added new symbol class (to represent names of indets).
00100 // Integrated the new class into concrete polynomial rings
00101 // and PPMonoid -- many consequential changes.
00102 // Change ctors for the "inline" sparse poly rings: they no
00103 // longer expect a PPMonoid, but build their own instead
00104 // (has to be a PPMonoidOv).
00105 //
00106 // Revision 1.5  2005/07/01 16:08:16  cocoa
00107 // Friday check-in.  Major change to structure under PolyRing:
00108 // now SparsePolyRing and DUPolyRing are separated (in preparation
00109 // for implementing iterators).
00110 //
00111 // A number of other relatively minor changes had to be chased through
00112 // (e.g. IndetPower).
00113 //
00114 // Revision 1.4  2005/06/23 15:42:41  cocoa
00115 // Fixed typo in GNU fdl -- all doc/*.txt files affected.
00116 // Minor corrections to PPMonoid (discovered while writing doc).
00117 //
00118 // Revision 1.3  2005/06/22 14:47:56  cocoa
00119 // PPMonoids and PPMonoidElems updated to mirror the structure
00120 // used for rings and RingElems.  Many consequential changes.
00121 //
00122 // Revision 1.2  2005/05/04 16:48:55  cocoa
00123 // -- new code for MatrixOrderingImpl
00124 //
00125 // Revision 1.1.1.1  2005/05/03 15:47:30  cocoa
00126 // Imported files
00127 //
00128 // Revision 1.3  2005/04/29 15:42:02  cocoa
00129 // Improved documentation for GMPAllocator.
00130 // Added example program for GMPAllocator.
00131 // Added example program for simple ops on polynomials.
00132 // Added two new ctors for (principal) ideals (from long, and from ZZ).
00133 // Added (crude) printing for PPMonoids.
00134 // Updated library.H (#included GMPAllocator.H).
00135 //
00136 // Revision 1.2  2005/04/19 14:06:04  cocoa
00137 // Added GPL and GFDL licence stuff.
00138 //
00139 // Revision 1.1.1.1  2005/01/27 15:12:13  cocoa
00140 // Imported files
00141 //
00142 // Revision 1.2  2004/11/25 16:14:21  cocoa
00143 // (1) Fixed definition of specialization of std::swap template function
00144 //     so that it compiles with gcc 3.4.3
00145 // (2) Implemented monomial function for polynomial rings.
00146 // (3) Added one(PPM) and PPM->myOne() functions.
00147 //
00148 // Revision 1.1  2004/11/11 13:44:25  cocoa
00149 // -- renamed: was PPMonoidSafe
00150 //
00151 // Revision 1.2  2004/11/02 14:56:33  cocoa
00152 // -- changed *Print* into *Output* (myPrint --> myOutput)
00153 // -- changed *Var* into *Indet* (myPrintVarName --> myOutputIndetName)
00154 // -- removed suffix "IgnoreDivMask"
00155 // -- added myComputeDivMask
00156 // -- improved storing of IndetNames
00157 // -- changed ExpvElem into SmallExponent_t
00158 //
00159 // Revision 1.1  2004/10/29 15:31:25  cocoa
00160 // -- new PPMonoid for compatibility with OrdvArith (without DivMask)
00161 //
00162 
00163 #endif

Generated on Wed May 23 13:45:23 2007 for CoCoALib by  doxygen 1.4.6