On Fri, Feb 14, 2020 at 04:43:12PM +0100, Ralf Hemmecke wrote:
> Hello,
> 
> FriCAS does not have LaurentPolynomial.

One can view such domain as localization of polynomials.  It
is one of reasons that I would like to have good support
for localizations, a lot of concrete examples could be
covered in that way.

> However, one can easily create
> (a simple approximation of) them as
> 
> (1) -> PolynomialRing(Fraction(Integer),DirectProduct(3,Integer))
> 
>    PolynomialRing(Fraction(Integer),DirectProduct(3,Integer)) is not a
>       valid type.
> 
> Ooops... why doesn't that work?
> 
> The reason is the line
> 
> https://github.com/hemmecke/fricas/blob/master-hemmecke/src/algebra/vector.spad#L295
> 
>          if R has OrderedAbelianMonoidSup then OrderedAbelianMonoidSup
> 
> in DirectProductCategory. Although only OrderedAbelianMonoid would be
> required for the above creation via PolynomialRing, it cannot yet be done.
> 
> Easiest way to solve that problem, is to add
> 
>          if R has OrderedAbelianMonoid then OrderedAbelianMonoid
> 
> to DirectProductCategory.
> 
> Easy patch, but I do not propose it right now, because there is more and
> I want to hear opinions.

For different resons I am looking at similar issue.  Namely, there is
redundancy between free monoid and polynomials.  I would like to
make polynomials available for tensor products, but limit profileration
of spurious signatures.  So I am thinking about introducing some intermediate
categories.  Clearly, it is worth looking if DirectProductCategory
deserves some intermediate category.
 
> DirectProduct(n,R) only exports OrderedAbelianMonoidSup, if R is of type
> OrderedAbelianMonoidSup. Clearly, this sup function
> 
> http://fricas.github.io/api/OrderedAbelianMonoidSup.html#l-ordered-abelian-monoid-sup-sup
> 
> sup: (%, %) -> %
>     sup(x, y) returns the least element from which both x and y can be
>     subtracted.
> 
> is mainly used for reductions. But the specification is a bit vague.
> Why doesn't have Integer such a function? Yes, there would be no "least"
> element. But what does "least" in this specification mean anyway? Is it
> the smallest with respect to the < order of the domain?
> Then clearly, Integer cannot have this.

My impression is that this is essenially 'gcd', but written in additive
terms (think of multiplicative monoid of a commutaive ring with 1 as 
n abelian monoid).  Defining it for integers is probably useless,
I would rather avoid requirng it when not necessary.

> However, the idea of this function is to achieve "positiveness", i.e.,
> if c = sup(a, b) then c-a>=0 and c-b>=0. Right? Wouldn't it make sense
> to add this condition to the "sup" specification. Then also Integer and
> Fraction Integer can be of type OrderedAbelianMonoidSup.
> 
> Furthermore, I don't see a good reason why OrderedDirectProduct,
> HomogeneousDirectProduct and SplitHomogeneousDirectProduct require
> their argument to be of type OrderedAbelianMonoidSup. Without the "Sup"
> would be sufficient.

Yes, probably previously nobody was thinking about more general
applications.


-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/20200214162445.GA28145%40math.uni.wroc.pl.

Reply via email to