Symmetric Polynomials  V3.1
A C++ library for generating symmetric polynomials with relations
TwistedChernBasis< xy_poly_t, chern_poly_t > Class Template Reference

Class for half-idempotent symmetric polynomials. More...

#include <Half_Idempotent.hpp>

Inheritance diagram for TwistedChernBasis< xy_poly_t, chern_poly_t >:
[legend]
Collaboration diagram for TwistedChernBasis< xy_poly_t, chern_poly_t >:
[legend]

Public Member Functions

 TwistedChernBasis (int n)
 Constructs the generators and the relation set given \(n\) in \(x_1,...,x_n,y_1,...,y_n\). More...
 
const std::vector< chern_poly_t > & relations () const
 The relations are \(\gamma_{s,i}\gamma_{t,j}\) for \(0<s<=t<=s+i\) and \(i,j>0\). More...
 
const xy_poly_t & generator (int s, int j) const
 The generator \(\gamma_{s,j}\). More...
 
- Public Member Functions inherited from PolynomialBasis< TwistedChernBasis< xy_poly_t, chern_poly_t >, xy_poly_t, chern_poly_t >
chern_poly_t operator() (xy_poly_t a) const
 Transform a polynomial on the original variables to one on the generating basis. More...
 
xy_poly_t operator() (const chern_poly_t &a) const
 Transform a polynomial on the generating basis into a polynomial on the original variables. More...
 
 PolynomialBasis (int num)
 Constructor given number of variables. More...
 
const std::vector< xy_poly_t > & generators () const
 Returns vector containing the generating basis. More...
 
const std::vector< typename new_poly_t::deg_t > & dimensions () const
 Returns vector containing the dimensions of the generating basis (can be empty!) More...
 
const std::vector< std::string > & names () const
 Returns vector containing the names of the generating basis (can be empty!) More...
 

Friends

class PolynomialBasis< TwistedChernBasis< xy_poly_t, chern_poly_t >, xy_poly_t, chern_poly_t >
 Befriending parent for CRTP. More...
 

Additional Inherited Members

- Public Attributes inherited from PolynomialBasis< TwistedChernBasis< xy_poly_t, chern_poly_t >, xy_poly_t, chern_poly_t >
const int number_of_variables
 The number of (the original) variables of the polynomial ring. More...
 
- Protected Attributes inherited from PolynomialBasis< TwistedChernBasis< xy_poly_t, chern_poly_t >, xy_poly_t, chern_poly_t >
std::vector< xy_poly_t > _generators
 The generators of the polynomial basis, constructed in the inheriting class. More...
 
std::vector< typename new_poly_t::deg_t > generator_dimensions
 The dimensions of the generators, optionally constructed in the inheriting class. More...
 
std::vector< std::string > generator_names
 The names of the generators, optionally constructed in the inheriting class. More...
 

Detailed Description

template<class xy_poly_t, class chern_poly_t>
class symmp::TwistedChernBasis< xy_poly_t, chern_poly_t >

Class for half-idempotent symmetric polynomials.

Facilitates transformation from \(x_i,y_i\) variables to \(\gamma_{s,i}\) variables and vice-versa.

Template Parameters
xy_poly_tThe container type on the HalfIdempotentVariables \(x_i,y_i\)
chern_poly_tThe container type on the TwistedChernVariables \(\gamma_{s,j}\)

Constructor & Destructor Documentation

◆ TwistedChernBasis()

TwistedChernBasis ( int  n)

Constructs the generators and the relation set given \(n\) in \(x_1,...,x_n,y_1,...,y_n\).

Parameters
nHalf(!) the number of variables
Attention
The parameter n is half(!) the number of variables (the \(n\) in \(BU(n)\))

Member Function Documentation

◆ relations()

const std::vector<chern_poly_t>& relations ( ) const

The relations are \(\gamma_{s,i}\gamma_{t,j}\) for \(0<s<=t<=s+i\) and \(i,j>0\).

Returns
const& to vector containing the relation Polynomials \(\gamma_{s,i}\gamma_{t,j}\)

◆ generator()

const xy_poly_t& generator ( int  s,
int  j 
) const

The generator \(\gamma_{s,j}\).

Parameters
sThe index of \(s\) of \(\gamma_{s,j}\).
jThe index of \(j\) of \(\gamma_{s,j}\).
Returns
const& to the polynomial \(\gamma_{s,j}\) on the \(x_i,y_i\) variables
Here is the caller graph for this function:

Friends And Related Function Documentation

◆ PolynomialBasis< TwistedChernBasis< xy_poly_t, chern_poly_t >, xy_poly_t, chern_poly_t >

friend class PolynomialBasis< TwistedChernBasis< xy_poly_t, chern_poly_t >, xy_poly_t, chern_poly_t >
friend

Befriending parent for CRTP.


The documentation for this class was generated from the following file: