What is the precedence of the convolution ?

As far as I can tell, all the tools I have seen around that handle mathematical notations, both at input and output, do save brackets around binary operators by the use of the precedence of an operator: it basically says that an operator has a given precedence x and, if a term must be presented as an operand, a bracket is output if the child-binary operator has a lower precedence. (think a*(b+c))

I have just found that the precedence of convolution should not be a (linearly ordered) number…

This precedencee notion works fine for most of the content but I just realized that there are operators whose precedence simply cannot be compared. An example of this is the convolution of functions whose precedence should, intuitively, be bigger than the one of the addition but which should always be bracketted aside of a function-product. That is, using “•” as the multiplication (of real functions) and “*” as the convolution, the brackets below cannot be removed:

f*(g•h) != (f*g)•h

However, the following brackets can be removed:

(f*g)+(f*h)

So there should be some precedence (that is higher than the addition) but a precedence that is not comparable (neither bigger than nor smaller than) the multiplication of functions.

This seems to say we should not use numbers for precedence but a partial order. Not sure it is correct but it would shake things!

Trackback URL for this post:

http://eds.activemath.org/en/trackback/28