1 | initial version |
Answer from T. Scrimshaw :
The answer to that question is garbage in, garbage out. B[-1,-2] is not a basis element, but the basis does not check that the input is bad (which is true of nearly all CombinatorialFreeModule bases):
sage: sB = SymmetricFunctions(QQ).s().basis()
sage: sB[1,2] # Yes, that is a tuple
s(1, 2)
sage: sB[1,2] * sB[2,1] # This will crash Sage
This is done for speed reasons I believe, and maybe also for the cases where containment checking is hard to impossible. Anyways, the Virosoro Verma module implementation is not perfect, and there probably should be a better way to construct basis elements to make sure this does not happen. However, that this is not a basis element is spelled out in the documentation (the indices have to be weakly increasing in the basis).