Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2014

[Date Index] [Thread Index] [Author Index]

Search the Archive

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
>
>
>
>
>
>
>
>




  • Prev by Date: SequenceForm for graphics
  • Next by Date: Re: Using FindRoot with free parameters
  • Previous by thread: Re: checking the sign of all terms in a long expression
  • Next by thread: Variable section and hollow Tubes for economic 3D printing