Currently (in maple 10.04 and presumably earlier), Maple refuses to expand the natural log of an abstract product, so:
v1 := ln( product(x[i], i=1..n) ):
expand(v1) assuming positive;
ln( product(x[i], i=1..n) )
(Note the use of "assuming positive" so this makes sense mathematically.) The funny thing is that, if you
print(`expand/ln`), it looks like they're trying to handle this situation:
elif type(x, 'product'(anything, anything)) then
s := signum(op(1, x));
if s = 1 then sum(ln(op(1, x)), op(2, x))
Here's a frustrating problem I've been having with "assume".
You'll see below that I assume that v'(m) >0 and v''(m) <>
Maple clearly remembers that v'(m) > 0 (as seen in the assumptions list and by looking at the first "is" in (4)), however, it now can't figure out that v'(m) > 0 implies !(v'(m) <>
Strangely, this worked perfectly fine before the additional assumption was added, and looking up the property (6) reveals the correct answer.
Moreover, maple seems to have two sets of assumptions on v'(m) (for six total assumptions, when I would expect four).
Any maple geniuses have an idea as to why Maple's "is" function is confused?