QEtaExtendedReduction(L, F, AB, REDL, REDF)¶
qetasamba.spad line 641 [edit on github]
- L: with - zero?: % -> Boolean 
- F: with - 0: % - first: % -> L 
- AB: QEtaAlgebraBasisCategory F 
- REDL: QEtaComputationReductionCategory(L, QEtaExtendedAlgebraBasis(L, F, AB)) 
- REDF: QEtaComputationReductionCategory(F, AB) 
QEtaExtendedReduction implements the restricted reduction as described in “Dancing Samba with Ramanujan Partition Congruences” (Journal of Symbolic Computation). doi:10.1016/j.jsc.2017.02.001 http://www.risc.jku.at/publications/download/risc_5338/DancingSambaRamanujan.pdf It differs from QEtaReduction in that the reduction is first performed on an element of L and only if non-zero repeated also on the extended part. The reason for this domain is that we experienced a lot of wasted computation time in the second part of an elements of F if the second part is actually irrelevant, because the reduction goes to zero.
- noTrace: F -> Void
- from QEtaComputationReductionCategory(F, AB) 
- noTraceEnter: (F, AB) -> Void
- from QEtaComputationReductionCategory(F, AB) 
- reduce: (F, AB) -> F
- from QEtaComputationReductionCategory(F, AB) 
- topReducible?: (F, F, F) -> Boolean
- from QEtaComputationReductionCategory(F, AB) 
- tracedReduce: ((F, AB) -> Void, F -> Void, F -> Void) -> (F, AB) -> F
- from QEtaComputationReductionCategory(F, AB) 
- traceEnter: NonNegativeInteger -> (F, AB) -> Void
- from QEtaComputationReductionCategory(F, AB) 
- traceLoop: NonNegativeInteger -> F -> Void
- from QEtaComputationReductionCategory(F, AB) 
- traceReturn: NonNegativeInteger -> F -> Void
- from QEtaComputationReductionCategory(F, AB)