Macaulay2 Engine
Loading...
Searching...
No Matches

◆ skew_schur()

ring_elem SchurRing2::skew_schur ( const_schur_partition lambda,
const_schur_partition p )
private

Definition at line 836 of file schur2.cpp.

838{
839 SMcurrent = 0;
840
841 SMfinalwt = 0;
842 for (int i = 1; i < p[0]; i++) SMfinalwt += p[i];
843 for (int i = 1; i < lambda[0]; i++) SMfinalwt -= lambda[i];
844 SMmaxrows = p[0] - 1; // this is the number of elements in the partition p
845 if (nvars != -1 && SMmaxrows > nvars) SMmaxrows = nvars;
846
847 delete[] SMtab
848 .p; // FLAG: should use gc for this? or not use it, but not both!
849 SMtab.p = new int[SMmaxrows + 1]; // FLAG: should use gc for this? or not
850 // use it, but not both!
851 for (int i = 0; i <= SMmaxrows; i++) SMtab.p[i] = 0;
852
853 SMtab.wt = SMfinalwt;
854 SMtab.resize(SMfinalwt);
855 SMfilled.resize(SMfinalwt);
856
857 // lambda and p should not be modified in the following call
858 SMfilled.fill(const_cast<schur_partition>(lambda),
859 const_cast<schur_partition>(
860 p)); // FLAG:fill should take const arguments...
861 lambda++; // FLAG: why is this here?
862 p++; // FLAG: why is this here?
863 SM();
864 return SMheap->value(); // resets itself back to new
865}
schur_poly_heap * SMheap
Definition schur2.hpp:255
int SMfinalwt
Definition schur2.hpp:254
tableau2 SMfilled
Definition schur2.hpp:252
int SMmaxrows
Definition schur2.hpp:250
void SM()
Definition schur2.cpp:795
int SMcurrent
Definition schur2.hpp:253
tableau2 SMtab
Definition schur2.hpp:251
int p
schur_word * schur_partition
Definition schur2.hpp:51

References nvars, p, SM(), SMcurrent, SMfilled, SMfinalwt, SMheap, SMmaxrows, and SMtab.

Referenced by mult_terms().