Martin Rubey <[email protected]> writes: | A while ago we had a discussion about restoring one? and zero? without | conclusion.
I believe they are restored in OpenAxiom. There may be a few place where I forgot to restore them, but the intent is to fully restore them. | I just ran into an example, which was at first surprising | to me, but may shed light on some issues: > | Just for fun, I tried to compute a determinant of arithmetic function. | Here is what happened: > | (22) -> m: DIRRING INT := (n:PI):INT +-> moebiusMu(n) > | (22) [1,- 1,- 1,0,- 1,1,- 1,0,0,1,...] | Type: DirichletRing(Integer) | (23) -> c := recip m > | (23) [1,1,1,1,1,1,1,1,1,1,...] | Type: Union(DirichletRing(Integer),...) | (24) -> ma := matrix [[c^(i*j) for i in 1..5] for j in 1..5]; > | Type: Matrix(DirichletRing(Integer)) | (25) -> determinant ma | Function: ?=? : (%,%) -> Boolean is missing from domain: | DirichletRing(Integer) | Internal Error | The function = with signature (Boolean)$$ is missing from domain | DirichletRing(Integer) > | Well, of course I didn't implement equality - it's not possible. But | why would determinant need equality? > | Well, it turns out it want's to check whether something is *possibly* | nonzero. Thus, it would be quite possible to compute the determinant if | we had a function zero? that is guaranteed to answer true only for 0, | and false otherwise. > | I think it would be good to define and implement such a scheme. I'd | think that for quite a few domains we can answer some questions in a | useful way. > | Of course, it is very important to fix the semantics and attach good | names to the operations. So perhaps possiblyNonZero? or guaranteedZero? | would be better. (Same thing for = and one?) Isn't the real problem that you made a promise in the exports of DirichletRing that it satisfies BasicType (which means one can test for equality) and then you proceed right to ignore that promise? -- Gaby -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en.
