00001 /*! 00002 \file 00003 \brief Class definition and function declarations for the class KLComputations. 00004 00005 [This class has barely been started. It is part of Fokko's plan to 00006 define an ownership structure for the Kazhdan-Lusztig 00007 computations. DV 7/23/06.] 00008 */ 00009 /* 00010 This is klcomputations.h 00011 00012 Copyright (C) 2004,2005 Fokko du Cloux 00013 part of the Atlas of Reductive Lie Groups 00014 00015 See file main.cpp for full copyright notice 00016 */ 00017 00018 #ifndef KLCOMPUTATIONS_H /* guard against multiple inclusions */ 00019 #define KLCOMPUTATIONS_H 00020 00021 #include "klcomputations_fwd.h" 00022 00023 #include "blocks_fwd.h" 00024 #include "complexredgp_fwd.h" 00025 #include "kgb_fwd.h" 00026 00027 #include "involutions.h" 00028 00029 namespace atlas { 00030 00031 /******** type declarations *************************************************/ 00032 00033 /******** function declarations *********************************************/ 00034 00035 /******** type definitions **************************************************/ 00036 00037 namespace klcomputations { 00038 00039 /*! 00040 \brief Holding class for computations related to a block of representations. 00041 00042 Most prominent among these is the computation of 00043 Kazhdan-Lusztig-Vogan polynomials. The idea is to mostly apply a 00044 principle of "lazy evaluation": things are computed when they are 00045 requested, but always remembered once they are computed. 00046 00047 We make an exception to the laziness principle for the "involutions" part, 00048 which is computed right away. 00049 00050 [This class has barely been started. It is part of Fokko's plan to 00051 define an ownership structure for the Kazhdan-Lusztig 00052 computations. DV 7/23/06.] 00053 */ 00054 class KLComputations { 00055 00056 private: 00057 00058 involutions::InvolutionSet d_involutionSet; 00059 std::vector<kgb::KGB> d_kgb; 00060 std::vector<kgb::KGB> d_dualkgb; 00061 std::vector<blocks::Block> d_block; 00062 std::vector<blocks::Block> d_dualblock; 00063 00064 complexredgp::ComplexReductiveGroup* d_G; 00065 00066 public: 00067 00068 KLComputations(); 00069 00070 KLComputations(complexredgp::ComplexReductiveGroup&); // un-owned pointer 00071 }; 00072 00073 } 00074 00075 } 00076 00077 #endif
1.3.9.1