QEtaLinearReduction(C, F, grade, coefficient)ΒΆ
qetalinred.spad line 81 [edit on github]
F: QEtaAlgebra C
grade: F -> Integer
coefficient: (F, Integer) -> C
QEtaLinearReduction
- greaterGrade?: (F, F) -> Boolean
greaterGrade?(x, y)returns grade(x)>grade(y).
- linearTransform: (List F, Matrix C -> Matrix C) -> List F
linearTransform(bas,trf)returns linearTransform(bas,trf,0).
- linearTransform: (List F, Matrix C -> Matrix C, Integer) -> List F
linearTransform(bas,trf,mn)considers the coefficients of the elements (highest grade down tomn) as the rows of a matrix, attaches a unit matrix to the right-hand side and appliestrfto that matrix. The recorded transformations steps on this matrix are then performed onbas. By using linearTransform(bas,rowEchelon) one can achieve a rowEcholon reduction ofbas.
- reduce: (F, List F) -> F
reduce(u, bas)returns an elementvsuch that not(reducible?(u,b)) for anybin bas.
- reducible?: (F, F) -> Boolean
reducible?(u, b)returnstrueiff n=grade(b) and not(zero?(coefficient(u,n))) and there existsfinCsuch that for v=u-f*b, c=coefficient(u,n), and d=coefficient(v,n) zero?dholds or euclideanSize(c)>euclideanSize(d).
- rowEchelon: List F -> List F
rowEchelon(bas)returns linearTransform(bas,rowEchelon$M,0) whereM==>Matrix(C).
- tailReduce: (F, List F) -> F
tailReduce(u,bas)returns an elementvsuch that grade(u)=grade(v) and not(reducible?(u,b)) for anybinbasand n<grade(u).
- topReduce: (F, List F) -> F
topReduce(u,bas)returns an elementvsuch that not(grade(u)=grade(b) and reducible?(u,b)) for anybinbas.