introduced permutation group algebra class

This commit is contained in:
2024-01-11 18:04:25 +01:00
parent 387491204c
commit 60fd23b37c
2 changed files with 40 additions and 4 deletions

View File

@@ -95,7 +95,7 @@ return q;
}
template <typename T>
NRPerm<T> NRPerm<T>::operator+(const NRPerm<T> &q) const
NRPerm<T> NRPerm<T>::operator&(const NRPerm<T> &q) const
{
#ifdef DEBUG
if(!this->is_valid() || !q.is_valid()) laerror("concatenation of invalid permutation");
@@ -108,7 +108,7 @@ return r;
}
template <typename T>
NRPerm<T> NRPerm<T>::operator-(const NRPerm<T> &q) const
NRPerm<T> NRPerm<T>::operator|(const NRPerm<T> &q) const
{
#ifdef DEBUG
if(!this->is_valid() || !q.is_valid()) laerror("concatenation of invalid permutation");
@@ -1940,9 +1940,16 @@ template T Sn_character(const Partition<T> &irrep, const Partition<T> &cclass);
template std::ostream & operator<<(std::ostream &s, const Sn_characters<T> &x); \
#define INSTANTIZE2(T,R) \
template class WeightPermutation<T,R>; \
template class PermutationAlgebra<T,R>; \
INSTANTIZE(int)
INSTANTIZE(unsigned int)
INSTANTIZE2(int,double)