       Re: tiny negative numbers

• To: mathgroup at smc.vnet.net
• Subject: [mg92867] Re: tiny negative numbers
• From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
• Date: Thu, 16 Oct 2008 05:04:37 -0400 (EDT)
• Organization: The Open University, Milton Keynes, UK
• References: <gd4dsk\$bkv\$1@smc.vnet.net>

```a wrote:

> I am trying to solve a set of differential equations using NDSolve.
> But I'm seeing some really tiny negative numbers like this one:
> -1.28E-12. I'm guessing this is a machine-precision related problem.
> So I was wondering if I can somehow ensure that the variable values
> never go below 0, or alternatively, ensure that these tiny numbers
> equate to 0?

Use the command *Chop*. See

http://reference.wolfram.com/mathematica/ref/Chop.html

. Chop[expr] replaces approximate real numbers in expr
that are close to zero by the exact integer 0.

. Chop[expr,delta] replaces numbers smaller in absolute
magnitude than delta by 0.

. Chop uses a default tolerance of 10^-10.

. Chop works on both Real and Complex numbers.

In:= Exp[N[Range Pi I]]

Out= {-1. + 1.22461*10^-16 I,
1.- 2.44921*10^-16 I, -1. + 3.67382*10^-16 I, 1.- 4.89843*10^-16 I}

In:= Chop[%]

Out= {-1., 1., -1., 1.}

Regards,
-- Jean-Marc

```

• Prev by Date: Re: parameters problem in FindFit
• Next by Date: Re: Newbie question: equations with sums.
• Previous by thread: Re: tiny negative numbers
• Next by thread: Radon and fan beam projection (forward and backward)