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)