axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] Polynomials, abstract objects, provisos

 From: root Subject: Re: [Axiom-developer] Polynomials, abstract objects, provisos Date: Sat, 29 Jul 2006 12:17:57 -0400

```Martin,

> > [recursive vs. distributed polynomials]
>
> > > I don't know how we should model "abstract polynomials", but I'm not even
> > > sure
> > > whether we should have such a thing.
> >
> > That would be possible, but suppose you want to do a GrÃ¶bner basis
> > computation. Who is going to choose the most efficient data representation?
>
> [...]
>
> I have no idea what you are talking about, sorry. I was referring to Tim's (?)
> idea that we could say something like:
>
> p: Abstract POLY INT
>
> i.e., not assign p a value,
>
> and still do interesting things with it. And I doubt that this is something
> within reach, as it is, in my opinion, rather orthogonal to the philosophy of
> the current Axiom Algebra.
>
> Something easier to grasp is probably:
>
> z: Abstract Complex INT
>
> and then be able to say
>
> w := conjugate z.
>
> In other words: there would be no data representation as we are used to
> currently.
>
> Again, note that although I find this an interesting subject, I believe that
> it
> is currently out of reach.

One possible thought is to create

IndefiniteInteger

which exports the operations of integer but does so in an
"abstract" way. That is, the result of multiplying two
IndefinteIntegers is an IndefiniteInteger but there is
no data representation.

One could then create an IndefinitePolynomial over the
IndefiniteIntegers which exports operations that remain
in IndefinitePolynomial.

Unfortunately this method has two problems.

First, it implies either copies of domains such as
IndefiniteInteger or it implies that you figure out
how to build an "Indefinite" domain that lives in the
type tower such as:

Polynomial (Indefinite (Integer))
Indefinite (Polynomial (Integer))
Indefinite (Polynomial (Indefinite (Integer)))

My thinking at the moment leads me to carry the information
in the proviso as in

x provided (..... (x is Integer) ....)
x provided (..... (x is Polynomial(Integer)) ....)

etc.

t

```