XEtaReductionCategory(C, F, AB)

qetapowersamba.spad line 545 [edit on github]

undocumented

greaterGrade?: PositiveInteger -> (F, F) -> Boolean

greaterGrade?(k)(x, y) returns qetaGrade(x, k)>qetaGrade(y,k).

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 an element v such that v is not reducible modulo ab and “u reduces modulo ab to v".

reducer: (F, XHashTable(Integer, List F), Integer, PositiveInteger) -> Union(F, failed)

reducer(u, basis, grdt, k) returns an element b from the basis or b=1 such that qetaGrade(u, k) - qetaGrade(b, k) is divisible by grdt or returns “failed” if no such b exists.

topReducible?: (F, F, PositiveInteger) -> Boolean

topReducible?(u, b, k) returns true iff there exists f in F such that for v = u - f*b, lc = qetaLeadingCoefficient, and grade = qetaGrade: (grade(u, k) > grade(v, k) or (grade(u, k) = grade(v, k) and euclideanSize lc(u, k) > euclideanSize lc(v, k)

tracedReduce: ((F, AB) -> Void, F -> Void, F -> Void) -> (F, AB) -> F

tracedReduce(traceEnter, traceLoop, traceReturn)(u, ab) behaves identical to reduce(u, ab) except that at enter and exit time the functions traceEnter(u, ab) and traceExit(w) are called where w is the value that will be returned. Inside the internal while loop the function traceLoop(v) is called with v being the intermediately reduced u. 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 of n returns more and more information. Where a higer version of n 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 of n returns more and more information. Where a higer version of n 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 of n returns more and more information. Where a higer version of n means more information. trace(0) is equivalent with noTraceElement.