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

◆ SM()

void SchurRing2::SM ( )
private

Definition at line 795 of file schur2.cpp.

796{
797 int lo, hi;
798
799 if (SMcurrent == SMfinalwt)
800 {
801 // partition is to be output
804 return;
805 }
806
807 SMcurrent++;
808 SMbounds(lo, hi);
809 int this_one = LARGE_NUMBER; // larger than any entry of SMtab: SMfinalwt+1
810 // should work...
811 int last_one;
812 for (int i = lo; i <= hi; i++)
813 {
814 last_one = this_one;
815 this_one = SMtab.p[i];
816 if (last_one > this_one)
817 {
818 SMtab.p[i]++;
819 SMtab.xloc[SMcurrent] = i;
820 SMtab.yloc[SMcurrent] = SMtab.p[i];
821 SM();
822 SMtab.p[i]--;
823 }
824 }
825 SMcurrent--;
826}
int SMfinalwt
Definition schur2.hpp:254
void SMsetPartitionLength(schur_word *p, int SMmaxrows)
Definition schur2.cpp:787
int SMmaxrows
Definition schur2.hpp:250
void SM()
Definition schur2.cpp:795
void SMbounds(int &lo, int &hi)
Definition schur2.cpp:748
int SMcurrent
Definition schur2.hpp:253
void SMappendTerm(const_schur_partition f)
Definition schur2.cpp:828
tableau2 SMtab
Definition schur2.hpp:251
const int LARGE_NUMBER
Definition schur.hpp:41

References LARGE_NUMBER, SM(), SMappendTerm(), SMbounds(), SMcurrent, SMfinalwt, SMmaxrows, SMsetPartitionLength(), and SMtab.

Referenced by skew_schur(), and SM().