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.

Reply via email to