       Re: getting ride of 0.i

• To: mathgroup at smc.vnet.net
• Subject: [mg120567] Re: getting ride of 0.i
• From: Joseph Gwinn <joegwinn at comcast.net>
• Date: Fri, 29 Jul 2011 04:43:24 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• References: <j0oomv\$krj\$1@smc.vnet.net> <j0rips\$41r\$1@smc.vnet.net>

```In article <j0rips\$41r\$1 at smc.vnet.net>,
Armand Tamzarian <mike.honeychurch at gmail.com> wrote:

> On Jul 27, 8:19 pm, Eli Fenichel <Eli.Fenic... at asu.edu> wrote:
> > I am trying to use FindMinimum to minimize the square of a function over
> many variables (i.e., parameters).  The function itself has the potential
>  to generate imaginary numbers and involves numerical integration (the
>  parameter values that minimize the function are real).  For clarification
>  the function in evaluated at multiple points so it can be written as vector.
>  By squaring the vector the numerical values of the elements are always real
>  with no imaginary parts.  However, Mathematica often writes x + 0.i, where x
>  is a some numerical value, for some of the elements.
> >
> > Typically, this can be ignored, the Chop command can be used, or it simply
> > does not cause problems.  However, I keep getting an error:
> > [cid:image003.... at 01CC4BBC.E87A0F30]
> >
> > NIntegrate::nlim: "t = Y[1.] is not a valid limit of integration."
> >
> > Y is an array with the parameters to be minimized.
> >
> > However, if evaluate the objective function to be minimized using
> > replacement rules I get
> > x + 0.i.
> >
> > Is there a way for me tell Mathematica to always treat 0.i as 0 and drop
> > it?  It seems to be causing problems in the FindMinimum call.
> >
> > Thanks,
> > Eli
>
> Re[3 + 2 I]

It sounds like the "0 I" is in fact a roundoff error times I, such as
10^-18 I.  This problem is what Chop[] used for.

Chop[x+0 I] will yield x, if roundoff error is in fact the problem.  One
can tell Chop[] what threshold to use.

Joe Gwinn

```

• Prev by Date: Re: Timing progress bar
• Next by Date: Indeterminate result (numerical problem)
• Previous by thread: Re: getting ride of 0.i
• Next by thread: How Can I Make Plot Options Conditional?