Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/magnus/back_end/SMApps/include/IsNilpotentProblem.h

Go to the documentation of this file.
00001 /*
00002  *   $Id: IsNilpotentProblem.h,v 1.4 1997/04/15 22:45:47 alex Exp $
00003  */
00004  
00005 // Copyright (C) 1996 The New York Group Theory Cooperative
00006 // See magnus/doc/COPYRIGHT for the full notice.
00007 //
00008 // Contents: Declaration of class IsNilpotentProblem
00009 //
00010 // Principal Author: Dmitry Bormotov
00011 //
00012 // Status: in progress
00013 //
00014 // Revision History:
00015 //
00016 
00017 
00018 #ifndef _IsNilpotentProblem_h_
00019 #define _IsNilpotentProblem_h_
00020 
00021 
00022 #include "Supervisor.h"
00023 #include "SMFPGroup.h"
00024 #include "CommutatorsChecker.h"
00025 #include "NilpotentQuotients.h"
00026 
00027 
00028 
00029 // -------------------------- IsNilpotentProblem --------------------------- //
00030 
00031 
00032 class IsNilpotentProblem : public Supervisor
00033 {
00034 
00035 public:
00036 
00037   /////////////////////////////////////////////////////////////////////////
00038   //                                                                     //
00039   // Constructors:                                                       //
00040   //                                                                     //
00041   /////////////////////////////////////////////////////////////////////////
00042 
00043   IsNilpotentProblem( class SMFPGroup& G, int nilpClass = 2 );
00044 
00045 
00046   /////////////////////////////////////////////////////////////////////////
00047   //                                                                     //
00048   // Accessors:                                                          //
00049   //                                                                     //
00050   /////////////////////////////////////////////////////////////////////////
00051 
00052   /////////////////////////////////////////////////////////////////////////
00053   //                                                                     //
00054   // Front End Interfacing:                                              //
00055   //                                                                     //
00056   /////////////////////////////////////////////////////////////////////////
00057 
00058   void viewStructure(ostream& ostr) const;  // overrides SMObject
00059 
00060   /////////////////////////////////////////////////////////////////////////
00061   //                                                                     //
00062   // Control:                                                            //
00063   //                                                                     //
00064   /////////////////////////////////////////////////////////////////////////
00065 
00066   void takeControl( );         // overrides ComputationManager
00067 
00068   /////////////////////////////////////////////////////////////////////////
00069   //                                                                     //
00070   // State Transitions:                                                  //
00071   //                                                                     //
00072   /////////////////////////////////////////////////////////////////////////
00073 
00074   void start( ) { }           // overrides ComputationManager
00075 
00076   void terminate( ) { }       // overrides ComputationManager
00077 
00078 
00079 private:
00080 
00081   /////////////////////////////////////////////////////////////////////////
00082   //                                                                     //
00083   // Data Members:                                                       //
00084   //                                                                     //
00085   /////////////////////////////////////////////////////////////////////////
00086 
00087   SMFPGroup& theGroup;
00088 
00089   int theClass;
00090 
00091   CommutatorsChecker theChecker;
00092 
00093   CommutatorsCheckerARCer theArcer;
00094 
00095 
00096   // GCM components this uses; only for automatic ARC passing:
00097 
00098   MirrorSubordinate normalClosure;
00099 
00100 // @am It seems that we can`t use Abelianization here
00101 // MirrorSubordinate abelianInvariants;
00102 
00103   MirrorSubordinate kbSupervisor;
00104 
00105   MirrorSubordinate agSupervisor;
00106 
00107   MirrorSubordinate nilpotentQuotients;
00108 
00109   Subordinate<IsNilpotentProblem,NilpotentWPInQuotients> nilpotentWPInQuotients;
00110 
00111 };
00112 
00113 #endif

Generated at Tue Jun 19 09:49:41 2001 for Magnus Classes by doxygen1.2.6 written by Dimitri van Heesch, © 1997-2001