← Back to team overview

ufl team mailing list archive

Re: [HG UFL] Temporarily give up on implementation of is_multilinear (see comment

 

On Mon, Sep 29, 2008 at 11:49:31PM +0200, Martin Sandve Alnæs wrote:
> 2008/9/29 Anders Logg <logg@xxxxxxxxx>:
> > On Mon, Sep 29, 2008 at 11:03:14PM +0200, Martin Sandve Alnæs wrote:
> >> I was wondering how you intended to use that :)
> >
> > I was planning to count the number of products each basis function
> > appeared in. That worked but then I realized that's not what we need.
> > We need to know how many of each basis function appears in a product.
> 
> And that no basis functions appear as arguments to nonlinear functions like exp.

Yes.

> You commented that is_multilinear is FFC-specific. But a valid form must
> always be multilinear in the basis functions, but not in functions. Right?

Yes.

> >> Lets discuss how to best do this soon, I can show you
> >> how I've been thinking in the other algorithms as well.
> >
> > It can be easily implemented using the monomials() function I just
> > added. It returns a list of tuples, where each tuple is a product of
> > basis functions.
> >
> > The final monomials() function will do some more, like propagating all
> > linear (differential) operators to the basis functions.
> 
> I was considering that propagation a part of the AD implementation.
> If we write algorithms separately we'll probably duplicate several things
> in different but non-orthogonal ways.
> 
> Is this monomials() approach to is_multilinear possible to generalize
> to non-polynomial forms? Otherwise it's very FFC specific.

Yes, maybe. Perhaps I should move that code to FFC?

I can try to implement is_multilinear (in the sense that all forms
must be multilinear, not just FFC forms) based on monomials(), remove
monomials(), and put an extended version of monomials() in FFC if it's
not something that is generally useful to have in UFL.

-- 
Anders

Attachment: signature.asc
Description: Digital signature


Follow ups

References