Re: checking the sign of all terms in a long expression
- To: mathgroup at smc.vnet.net
- Subject: [mg132571] Re: checking the sign of all terms in a long expression
- From: Bob Hanlon <hanlonr357 at gmail.com>
- Date: Sun, 13 Apr 2014 05:25:37 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-outx@smc.vnet.net
- Delivered-to: mathgroup-newsendx@smc.vnet.net
- References: <20140411061009.8DE2B6A30@smc.vnet.net>
Position works with general expressions not just lists. Replacing the head Plus with the head List (List@@) is unnecessary. toCheck = a + a b + a b c + a c - b + bc + d - e f; Head[toCheck] Plus Flatten@Position[List @@ toCheck, Times[-1, __]] {2, 8} Flatten@Position[toCheck, Times[-1, __]] {2, 8} Bob Hanlon On Sat, Apr 12, 2014 at 5:16 AM, Murray Eisenberg <murray at math.umass.edu>wrote: > Are the symbols a, b, etc., just symbolic, as you seem to indicate, or > might they be actual numeric values, too? > > If indeed the symbols a, b, etc. are just symbols and NOT numbers, then > the following should help -- but note that Mathematica will automatically > rearrange the terms of toCheck into its usual canonical form. > > toCheck = a + a b + a b c + a c - b + bc + d - e f > (* a - b + a b + bc + a c + a b c + d - e f *) > > Flatten@Position[List@@toCheck, Times[-1,__]] > (* {2, 8} *) > > If you insist on identifying the "negative" terms by their positions in > the original expression, before it is evaluated, then you may want to treat > it as a string, and the treatment will be trickier. > > > On Apr 11, 2014, at 2:10 AM, dantimatter <google at dantimatter.com> wrote: > > > > > hello all > > is there to check the signs of all terms in a symbolic expression, like > > > > toCheck = a + a b + a b c + a c - b + bc + d .... > > > > in this case, with the assumption that the a, b, c etc are all positive, > only one term is negative (b by itself) and the rest are positive. I have > expressions like this that have a hundred or more terms and i'm worried i > might not be catching all those that are of a different sign. > > > > thanks > > > > Murray Eisenberg murray at math.umass.edu > Mathematics & Statistics Dept. > Lederle Graduate Research Tower phone 240 246-7240 (H) > University of Massachusetts > 710 North Pleasant Street > Amherst, MA 01003-9305 > > > > > > > >
- References:
- checking the sign of all terms in a long expression
- From: dantimatter <google@dantimatter.com>
- checking the sign of all terms in a long expression