## 63 Reputation

18 years, 257 days
Silesian University at Opava
Opava, Czech Republic

## MaplePrimes Activity

### These are answers submitted by Hynek Baran

U:=(seq(seq((x^n)*(y^m), n=0..2),m=0..2));

select(p -> degree(p)<=2, [U]);

## evalm...

Try `evalm(JT)`

## GraphTheory[HighlightSubgraph]...

Which version of Maple are you using? In Maple 12, see ?GraphTheory[HighlightSubgraph]

## command line interface...

Yes, you can use Maple command line interface. See `?maple` for the details.

## Indixes are monomials...

Yes, I am using that in some simple situations. Unfortunately, I need 'indexing' by monomials (they represents derivatives). For example, I am dealing with variables as `u, u[t], u[x], u[x*t], u[x^2*t]` etc. After above discussion I see the indexed representation of such variables is a deadlock. Thus, I decided to represent it some other way.

## Thanks...

Aha, I see. So, by my opinion, it is a kind of bug in collect. Anyway, I thing the best trick to avoid it is using an unevaluated function calls instead of an indices ```collect( u*(u(t)+1), [u, u(t)], distributed); u*u(t)+u``` because it is most straightforward - there is no need of any auxiliary code (as subs or alias). The reason why I am trying to avoid the auxiliary code is following: In my real expressions to be collected are not just u and u[t] but a lot of variables of such a kind and, moreover, I have not some fixed list of such variables, they differs from one collected expression to the other. Thank all of you for a help!

## Indexing replaced by funtion calls are f...

Thank you very much, I didn't know that. When I read your comment, I thought that I understood the reason what is happening: `collect` is based on `depends` function which assumes `u[t]` is dependent on `u`. It makes a sense. But it is more complicated: If you change my original example from indexing to unevaluated function calls, `collect( u*(u(t)+1), [u, u(t)], distributed);` you obtain the correct answer `u*u(t)+u` So, I am a one step further but still not understanding what collect is precisely doing :) probably I have to read its source code...

## mixing u and u[t]...

All of my considerations are based on the assumption there is nothing assigned to `u`. Thus, `u` and `u[t] ` are simply two different names and I see no reason I cannot collect them. See `collect` help page, there is written: The indeterminates can be names or unevaluated function calls but not sums or products or fractional powers. Unfortunately, I cannot use `expand`, because there are more names in my collected expressions (I posted the most simplified one so you can easily see where the problem is).
 Page 1 of 1
﻿