Gabriel Dos Reis <g...@cs.tamu.edu> writes:

[...]

| I am concerned with the operations defined by DirectProduct and their
| semantics.  For the specific case at hand, I don't care about the
| default implementation in Algebra since DirectProduct explicitly
| overwrites it, saying that the scalar value 1 should be regarded the same
| as the vecor [1,1,1,1], for example.
| 
| My contention is that many of the operations in DirectProduct have
| fishy semantics.  
| 
|   coerce: R -> %
| 
| is one of them.  Another one (I hope NOT under discussion at this point) is
| 
|    *: (%,%) -> %
| 
| which multiplies the vector componentwise!

By the way, this category membership assertion in DirectProductCategory

         if R has CancellationAbelianMonoid then CancellationAbelianMonoid

is clearly wrong with the implementation of multiplication in DirectProduct.

In DirectProduct(2,INT), take

  a := [1,0]
  b := [0,1]
  c := [0,2]

you have a * b = a * c = [0,0], but you clearly don't have b = c

Many operations in DirectProduct just have the wrong semantics. 
I will start fixing that in OpenAxiom.  

-- 
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 fricas-de...@googlegroups.com.
To unsubscribe from this group, send email to 
fricas-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/fricas-devel?hl=en.

Reply via email to