Ralf Hemmecke wrote:
> 
> On 08/20/2014 12:55 AM, Waldek Hebisch wrote:
> > Current use pattern is:
> > 
> >        c_lindep := ConstantLinearDependence(R, F, [(c : F) : F +-> D(c, x)])
> >        sys1 := reducedSystem(m1, vector([dg])$Vector(F))$c_lindep
> > 
> > That is, variable is a parameter and we need to create domain before
> > each call.  Note: it does not matter that typically 'x' will be the
> > same as in previous call.  It _may_ change and we need to dully
> > call constructor.  For me this is more clumsy than passing derivatives
> > as an argument to 'reducedSystem'.
> 
> You may have realized from my first mail that I am not totally against
> such a change, but I still find your arguments rather weak. The above
> two lines are the *only* place where ConstantLinearDependence is
> actually used.

In my developement version I have two other uses like this.

> After your change we would have something like
> 
>   c_lindep := ConstantLinearDependence(R, F)
>   ld ==> [(c : F) : F +-> D(c, x)]
>   sys1 := reducedSystem(m1, vector([dg])$Vector(F), ld)$c_lindep
> 
> That's probably not necessarily much better, except that it would mean
> fewer creations of this domain.
> 
> However, if it is done in this way, I would claim that the whole
> existence of ConstantLinearDependence is questionable. It only exists to
> lift some maps.

Well, when I needed the functionlity my first idea was to use
existing lift functions, but none was up to the task.  Also,
while I obly use one function, it seems better to offer
a "complete" set of operations.

> 
> BTW, inside I discover
> F ==> Expression R
> EF==> Expression F
> 
> Strange that this works. It doesn't in the interpreter.

Well, Expression Expression R is logically fine and fits
quite well to the situation.  Interpeter restriction is
artificial.  I do not know why interpeter forbids such
domains, but I suspect that otherwise it would be too
easy to create them by accident and get unwoanted
resultes.

If you are curious you may change 'badDoubles' variable
in 'src/interp/clammed.boot' and try how things work.

I my private tree I added ability to create arrays by
giving list of list of eleemnts.  One may think that
adding new functionality is harmless.  But I already
noticed some weird errors, when interpreter uses
new oportunity to assign different types to subexpressions
and later gets stuck because type choosen for subexpression
does not fit the rest of expression.

-- 
                              Waldek Hebisch
[email protected] 

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to