CoCoALib-0.9905 date: 23 May 2007


RingWeyl.H

Go to the documentation of this file.
00001 #ifndef CoCoA_RingWeyl_H
00002 #define CoCoA_RingWeyl_H
00003 
00004 //   Copyright (c)  2005  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 "CoCoA/SparsePolyRing.H"
00024 
00025 #include <vector>
00026 //using std::vector;
00027 #include <cstddef>
00028 //using std::size_t;
00029 
00030 
00031 namespace CoCoA
00032 {
00033 
00034   /*-----------------------------------------------------------------*/
00035   /** \include RingWeyl.txt  */
00036   /*-----------------------------------------------------------------*/
00037 
00038   // Pseudo-ctors for (sparse) polynomial rings.
00039 
00040   std::vector<symbol> WANAMES(const std::vector<symbol>& names); ///< {x,y,z,..} --> {x,y,z,..,dx,dy,dz,..}
00041 
00042   SparsePolyRing NewWeylAlgebra(const ring& CoeffRing, std::size_t NumTrueIndets, const std::vector<std::size_t>& ElimIndets);
00043   SparsePolyRing NewWeylAlgebra(const ring& CoeffRing, const std::vector<symbol>& names, const std::vector<std::size_t>& ElimIndets);
00044 //   const RingElem& indet(const RingWeyl& RW, std::size_t var);
00045 //   const RingElem& derivation(const RingWeyl& RW, std::size_t var);
00046 
00047 
00048 
00049 } // end of namespace CoCoA
00050 
00051 
00052 
00053 // RCS header/log in the next few lines
00054 // $Header: /Volumes/Home/cocoa/cvs-repository/CoCoALib-0.99/include/CoCoA/RingWeyl.H,v 1.1.1.1 2007/03/09 15:16:11 abbott Exp $
00055 // $Log: RingWeyl.H,v $
00056 // Revision 1.1.1.1  2007/03/09 15:16:11  abbott
00057 // Imported files
00058 //
00059 // Revision 1.8  2006/12/06 17:21:55  cocoa
00060 // -- removed #include "config.H"
00061 //
00062 // Revision 1.7  2006/11/24 17:25:00  cocoa
00063 // -- reorganized includes of header files
00064 //
00065 // Revision 1.6  2006/10/06 14:04:15  cocoa
00066 // Corrected position of #ifndef in header files.
00067 // Separated CoCoA_ASSERT into assert.H from config.H;
00068 // many minor consequential changes (have to #include assert.H).
00069 // A little tidying of #include directives (esp. in Max's code).
00070 //
00071 // Revision 1.5  2006/08/17 09:41:33  cocoa
00072 // -- changed:  I think it works again
00073 //
00074 // Revision 1.4  2006/08/07 21:23:25  cocoa
00075 // Removed almost all publicly visible references to SmallExponent_t;
00076 // changed to long in all PPMonoid functions and SparsePolyRing functions.
00077 // DivMask remains to sorted out.
00078 //
00079 // Revision 1.3  2006/07/20 14:11:27  cocoa
00080 // -- more stable version (more similar to RingDistrMPoly)
00081 //
00082 // Revision 1.1.1.1  2006/05/30 11:39:37  cocoa
00083 // Imported files
00084 //
00085 // Revision 1.6  2006/04/27 13:45:30  cocoa
00086 // Changed name of NewIdentityRingHom to NewIdentityHom.
00087 // Changed name of member functions which print out their own object
00088 // into myOutputSelf (to distinguish from "transitive" myOutput fns).
00089 //
00090 // Revision 1.5  2006/03/21 09:43:14  cocoa
00091 // Changed names of some member fns of ideals (dealing with setting and testing
00092 // the flags for primeness and maximality).  Hope icc will complain less now.
00093 //
00094 // Revision 1.4  2006/03/14 15:01:49  cocoa
00095 // Improved the implementation of ring member fns for computing powers.
00096 // Should keep Intel C++ compiler quieter too.
00097 //
00098 // Revision 1.3  2006/03/12 21:28:34  cocoa
00099 // Major check in after many changes
00100 //
00101 // Revision 1.2  2006/02/13 14:46:45  cocoa
00102 // -- changes by Max
00103 //
00104 // Revision 1.1.1.1  2005/10/17 10:46:54  cocoa
00105 // Imported files
00106 //
00107 // Revision 1.2  2005/05/04 16:47:45  cocoa
00108 // -- updated with new function/class names
00109 //
00110 // Revision 1.1.1.1  2005/05/03 15:47:31  cocoa
00111 // Imported files
00112 //
00113 // Revision 1.2  2005/04/19 14:06:04  cocoa
00114 // Added GPL and GFDL licence stuff.
00115 //
00116 // Revision 1.1.1.1  2005/01/27 15:12:13  cocoa
00117 // Imported files
00118 //
00119 // Revision 1.13  2004/11/18 18:33:41  cocoa
00120 // Now every ring know its own "one" element (as well as "zero").
00121 // Several consequential changes.
00122 //
00123 // Revision 1.12  2004/11/11 14:27:17  cocoa
00124 // -- added \include *.txt for doxygen
00125 //
00126 // Revision 1.11  2004/11/04 18:47:43  cocoa
00127 // (1) Ring member functions which previously expected mpz_t args
00128 //     now expect ZZ args.  Numerous minor consequential changes.
00129 // (2) Renamed function which gives access to the mpz_t value inside
00130 //     a ZZ object: previously was raw(...), now is mpzref(...).
00131 //     Plenty of calls had to be altered.
00132 //
00133 // Revision 1.10  2004/10/21 17:16:37  cocoa
00134 // Fairly major change: new OrdvArith namspace with various members,
00135 //   new global typedef  SmallExponent_t (defined in config.H).
00136 //
00137 // Revision 1.9  2004/07/27 16:03:39  cocoa
00138 // Added IsCommutative test and IamCommutative member function
00139 // to all rings.  Tidied geobuckets a little.
00140 //
00141 // Revision 1.8  2004/07/20 15:04:06  cocoa
00142 // The next step in the new "ring element" conversion process:
00143 // handling the case of creating a "const RefRingElem" object
00144 // (since C++ refuses to do this properly itself).
00145 //
00146 // Revision 1.7  2004/06/17 12:44:58  cocoa
00147 // -- applied new coding conventions: compiles and seems to work
00148 //
00149 // Revision 1.6  2004/05/24 15:52:13  cocoa
00150 // Major update:
00151 //   new error mechanism
00152 //   many fixes
00153 //   RingHoms almost work now
00154 //   RingFloat much improved
00155 //
00156 // Revision 1.5  2004/02/03 16:16:20  cocoa
00157 // Removed pointless IamGCDDomain functions from several concrete rings.
00158 // Added IamOrderedDomain functions where appropriate.
00159 // Tidied ctors for the small finite fields.
00160 //
00161 // Revision 1.4  2004/01/30 14:07:10  cocoa
00162 // Tidied RingRawValue union: now it contains just two fields,
00163 // and has no need of forward declarations of types used internally
00164 // by the concrete rings -- it uses explicitly a void* instead.
00165 //
00166 // I have tidied the "import" functions used by most concrete rings.
00167 //
00168 // I have moved the choice of representation type for RingFp and RingFpLog
00169 // into a typedef in config.H -- this is to recognise that different
00170 // choices may work best on different platforms.
00171 //
00172 // Revision 1.3  2003/10/17 10:51:06  cocoa
00173 // Major cleaning, and new naming convention.
00174 //
00175 // Revision 1.2  2003/10/09 12:16:38  cocoa
00176 // New coding convention for rings.
00177 //
00178 // Revision 1.3  2003/06/23 16:58:25  abbott
00179 // Minor cleaning prior to public release.
00180 // Just consequential changes.
00181 //
00182 // Revision 1.2  2003/05/30 15:23:28  abbott
00183 // Changed beyond all recognition -- completely new version.
00184 //
00185 // Revision 1.1  2003/05/02 13:07:48  abbott
00186 // Initial revision
00187 //
00188 
00189 #endif

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