The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Message from discussion testing of sage

From:
To:
Cc:
Followup To:
Subject:
 Validation: For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon.

More options Apr 11 2012, 11:53 am
From: Nils Bruin <bruin.n...@gmail.com>
Date: Wed, 11 Apr 2012 08:53:07 -0700 (PDT)
Local: Wed, Apr 11 2012 11:53 am
Subject: Re: testing of sage
On Apr 10, 9:41 pm, rjf <fate...@gmail.com> wrote:

> somewhere,
> but you are probably missing the point regarding constants of
> integration.

> integrate(sin(x)*cos(x),x)
>   returns -1/2*cos(x)^2.

> but what if it returns 1/2*sin(x)^2 ?

That just means you can have more fun with the randomization bit at
the maxima side.

In actuality, if verifying that the output of your algorithm is valid
is an open problem itself, you obviously haven't proved that your
algorithm is correct (let alone the implementation), so perhaps you
should do that first.

For your integration algorithm, I'm pretty sure you would be able to
tell from the implementation what kind of choices the algorithm should
make so that you can bound the variation to a range within which
equality (up to a constant) can be tested.

Alternatively, you would probably have a guarantee that the system
should be able to evaluate arbitrary order derivatives of the
antiderivative returned, so you'd be able to check its series
expansion is a constant to some high order (assuming you're doing this
with some meromorphic function):

sage: f = some difficult function
sage: F = integrate(f,x); F       # random (underspecified, really)
...
sage: delta = diff(series(F(x),x=0,prec=11)(z),z) -
series(f(x),x=0,prec=10)(z)
sage: order(delta,z=0) >= 10
True

Of course it doesn't prove that the implementation is correct, but no
amount of testing would.

My apologies for leading the discussion off-topic, but I'm sure you
can fix that.