⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpolylst.h

📁 Gambit 是一个游戏库理论软件
💻 H
字号:
//// $Source: /home/gambit/CVS/gambit/sources/poly/gpolylst.h,v $// $Date: 2002/08/27 17:29:46 $// $Revision: 1.2 $//// DESCRIPTION:// Declaration of polynomial list type//// This file is part of Gambit// Copyright (c) 2002, The Gambit Project//// This program is free software; you can redistribute it and/or modify// it under the terms of the GNU General Public License as published by// the Free Software Foundation; either version 2 of the License, or// (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.//// You should have received a copy of the GNU General Public License// along with this program; if not, write to the Free Software// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.//#ifndef GPOLYLST_H#define GPOLYLST_H#include "base/odometer.h"#include "math/gsmatrix.h"#include "gpoly.h"// ***********************//      class gPolyList// ***********************template <class T> class gPolyList//  : private Counted<gPolyList<T> >{  private:   const gSpace*      Space;   const term_order*  Order;   gList< gPoly<T> *> List;      // SubProcedures of ToSortedReducedGrobner      void        Sort(const term_order &);   void        CriterionTwo(      gList<index_pair>&, 			    const gList<index_pair>&, 			    const int&,			    const term_order&) const;                     // See Adams and Loustaunau, p. 130   void        Grobnerize(const term_order &);   void        GrobnerToMinimalGrobner(const term_order &);   void        MinimalGrobnerToReducedGrobner(const term_order &); public:   gPolyList(const gSpace *, const term_order*);     gPolyList(const gSpace *, const term_order*, const gList< gPoly<T> *> &);   gPolyList(const gSpace *, const term_order*, const gList< gPoly<T> > &);   gPolyList(const gPolyList<T> &);   ~gPolyList();                 // Deletes all pointees   // Operators   gPolyList<T>& operator= (const gPolyList<T> &);   bool       operator==(const gPolyList<T> &) const;   bool       operator!=(const gPolyList<T> &) const;   void       operator+=(const gPoly<T> &);    void       operator+=(const gPolyList<T> &);    void       operator+=(      gPoly<T> *); // NB - Doesn't copy pointee                              // This can save a copy when one must create a                              // polynomial, then do something in order to                               // decide whether it should be added to the List   gPoly<T>   operator[](const int)         const;   // Residue of repeated reduction by members of the list   gPoly<T>    ReductionOf(const gPoly<T> &, const term_order &) const;   bool        SelfReduction(const int &, const term_order &);   // Transform to canonical basis for associated ideal   gPolyList<T>&  ToSortedReducedGrobner(const term_order &);  // New Coordinate Systems   gPolyList<T> TranslateOfSystem(const gVector<T>&)            const;   gPolyList<T> SystemInNewCoordinates(const gSquareMatrix<T>&) const;  // Truncations   gPolyList<T> InteriorSegment(int, int)                       const;   // Information   const gSpace*            AmbientSpace()                            const;   const term_order*        TermOrder()                               const;   const int                Length()                                  const;   const int                Dmnsn()                                   const;   const bool               IsMultiaffine()                           const;   gList<gPoly<T> >         UnderlyingList()                          const;   const gVector<T>         Evaluate(const gVector<T>&)               const;   const bool               IsRoot(const gVector<T>&)                 const;   const gRectArray<gPoly<T>*> DerivativeMatrix()                     const;   const gPoly<T>           DetOfDerivativeMatrix()                   const;   const gMatrix<T>         DerivativeMatrix(const gVector<T>&)       const;   const gSquareMatrix<T>   SquareDerivativeMatrix(const gVector<T>&) const;//  inline int static Count() { return Counted<gPolyList<T> >::objCount(); }   // Conversion   gList<gPoly<gDouble> > ListTogDouble()  const;   gList<gPoly<gDouble> > NormalizedList() const;};  template <class T> gOutput &operator<<(gOutput &, const gPolyList<T> &);#endif // GPOLYLST_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -