atlas  0.6
Classes | Namespaces | Functions | Variables
kl.cpp File Reference

Implementation of the class KLContext. More...

#include "kl.h"
#include <iostream>
#include <fstream>
#include <iomanip>
#include <ctime>
#include <sstream>
#include <string>
#include <sys/time.h>
#include <sys/resource.h>
#include <cassert>
#include <set>
#include <stdexcept>
#include "hashtable.h"
#include "kl_error.h"
#include "wgraph.h"
Include dependency graph for kl.cpp:

Classes

class  atlas::kl::KLPolEntry
 

Namespaces

 atlas
 
 atlas::kl
 

Functions

void atlas::kl::wGraph (wgraph::WGraph &wg, const KLContext &klc)
 Puts in wg the W-graph for this block. More...
 

Variables

const KLPol atlas::kl::Zero
 Polynomial 0, which is stored as a vector of size 0. More...
 
const KLPol atlas::kl::One (0, KLCoeff(1))
 Polynomial 1.q^0. More...
 

Detailed Description

Implementation of the class KLContext.

This module contains code for the computation of the Kazhdan-Lusztig polynomials for a given block of representations. We have taken the radical approach of not using the Bruhat ordering at all, just ordering by length instead, and coping with the ensuing appearance of zero polynomials. It is expected that the simplification thus achieved will more than outweigh the additional polynomials computed.

The general scheme is fairly similar to the one in Coxeter: there is a "KLSupport" structure, that holds the list of primitive pairs that makes it possible to read the d_kl list, plus some additional lists that allow for a fast primitivization algorithm, for instance; there are two main lists, d_kl (filled in for all primitive pairs), and d_mu (filled in only for non-zero mu coefficients.)