QEtaComputationReductionCategory(F, AB)ΒΆ
qetasamba.spad line 326 [edit on github]
QEtaComputationReductionCategory lists the functions that are necessary to provide as reduction functions in a QEtaComputation.
- noTrace: F -> Void
A function that does nothing.
- noTraceEnter: (F, AB) -> Void
A functions that does nothing.
- reduce: (F, AB) -> F
reduce(u, ab)
returns tracedReduce(noTraceEnter,noTrace,noTrace).
- topReducible?: (F, F, F) -> Boolean
topReducible?(u, b, t)
returnstrue
iff there existsf
inF
ande>=0
such that v=u-f*b*t^e is (in a certain noetherian sense) smaller thanu
.
- tracedReduce: ((F, AB) -> Void, F -> Void, F -> Void) -> (F, AB) -> F
tracedReduce(traceEnter, traceLoop, traceReturn)
(u
, ab) returns an elementv
such thatv
is not reducible modulo ab. For tracing purposes several functions can be provided that are called at enter and exit time (functionstraceEnter
(u
, ab) and traceReturn(w
) wherew
is the value that will be returned). Inside the internal while loop the functiontraceLoop
(v
) is called withv
being the intermediately reducedu
. These hooks are provided to print a trace of the reduction.
- traceEnter: NonNegativeInteger -> (F, AB) -> Void
traceEnter(n)
(x
, a) returns void() and depending on the value ofn
returns more and more information. Where a higer version ofn
means more information. trace(0) is equivalent with noTraceEnter.
- traceLoop: NonNegativeInteger -> F -> Void
traceLoop(n)
(x
) just returns void() without any side effect and depending on the value ofn
returns more and more information. Where a higer version ofn
means more information. trace(0) is equivalent with noTraceElement.
- traceReturn: NonNegativeInteger -> F -> Void
traceReturn(n)
(x
) just returns void() without any side effect and depending on the value ofn
returns more and more information. Where a higher version ofn
means more information. trace(0) is equivalent with noTraceElement.