Rascal

Preview onto version 0.3.4

SourceForge Logo Here you can do some experiments with Rascal. The computation time is restricted to about 10 secs to prevent high load on server. Have a look at the documentation or at the examples. If you see wrong plots reload may help. You job is cancelled as soon someone else accesses this page, so consider a local installation.
Rascal-toolbox-0.3.4 (C) 2001,2002 Sebastian Ritterbusch

Enter 'help' for help or 'licence' for information about licence and warranty.

 "rascal.rc loaded, predefined e, i, pi"
>help toolbox
                C++ Toolbox for Verified Computing I
                       Basic Numerical Problems

    Copyright (c) 1995 Rolf Hammer, Matthias Hocks, Dietmar Ratz

    Wissenschaftliches Rechnen/Softwaretechnologie, 
    Universitaet GH Wuppertal, Germany

    This program/module is free software for non-commercial use. For 
    details on theory, algorithms, and programs, see the book

    R. Hammer, M. Hocks, U. Kulisch, D. Ratz:  C++ Toolbox for
    Verified Computing I - Basic Numerical Problems. Springer-Verlag,
    Heidelberg, New York, 1995.

    http://www.xsc.de/

Included toolbox modules: rpeval, cpzero, linsys, linopt

See help  for further information on usage.
>help rpeval
                C++ Toolbox for Verified Computing I
                       Basic Numerical Problems

    Copyright (c) 1995 Rolf Hammer, Matthias Hocks, Dietmar Ratz

The function RPolyeval(p,t) evaluates the real polynomial p at t at maximum
accuracy, even in the neighborhood of a root where cancellation dooms an
ordinary floating-point evaluation. 

The function returns a vector with the entries [y;iy;it;err] where y is the
result of a Horner scheme evaluation, iy represents a maximum accuracy
enclosure, it the number of iterations needed and err an eventual error
message. The function rpeval(p,t) just returns the resulting interval.

  >X=poly("X");
  >p=(X-2)^4
   X^4-8*X^3+24*X^2-32*X+16
  >p(2.0001)
   -3.5527136788E-015
  >RPolyEval(p,2.0001)
   [-3.5527136788E-015;[1.0000000000E-016,1.0000000001E-016];2;""]
  >rpeval(p,2.0001)
   [1.0000000000E-016,1.0000000001E-016]
>help cpzero
                C++ Toolbox for Verified Computing I
                       Basic Numerical Problems

    Copyright (c) 1995 Rolf Hammer, Matthias Hocks, Dietmar Ratz

The function CPolyZero(p,t) computes verified enclosures of the roots of a
complex polynomial p starting from t  by enclosing the zeros in narrow
bounds. The coefficients of the deflated polynomial are also enclosed.

The function returns a vector with entries [y;p;err] where y is a complex
enclosure of the root close to t, p the complex enclosure of the reduced
polynomial and err represents an eventual error messages. The functions
cpzero(p,t) and cpreduce(p,t) just return the enclosure of the root or
of the reduced polynomial.

   >X=poly("X");p=X^4-(5+3*i)*X^3+(6+7*i)*X*X-(54-22*i)*X+120+90*i;
   >CPolyZero(p,1+i)
    [([   1.4142135623,   1.4142135624]+[   2.8284271247, 2.8284271248]*i);
     X^3+([-3.5857864377, -3.5857864376]+[-0.1715728753,-0.1715728752]*i)*X^2
     +([  1.4142135623,  1.4142135624]+[ -3.3847763109,-3.3847763108]*i)*X
     +([-42.4264068712,-42.4264068711]+[ 21.2132034355,21.2132034356]*i);""]
   >cpzero(p,4)
     ([4.9999999999,5.0000000001]+[-2.2569491536E-036,2.2569491536E-036]*i)
>help linsys
                C++ Toolbox for Verified Computing I
                       Basic Numerical Problems

    Copyright (c) 1995 Rolf Hammer, Matthias Hocks, Dietmar Ratz

The function LinSolve(A,b) computes a verified solution to the square linear
system A*x=b for a real square matrix A and real vector b based on a
Newton-like method for an equivalent fixed-point problem.

The function returns a vector with entries [x;cond;err] where x represents
the verified enclosure or exact solution to the system, cond a condition
number estimate and err an eventual error message. The function linsys(A,b)
just returns the resulting vector enclosure.

   >A=1.*BoothroydDecker(6);b=[1;2;3;4;5;6];Precision(-10);
   >(1/A)*b
    [0;1;-2;3.0000000001;-4.0000000002;5.0000000005]
   >LinSolve(A,b)
    [[0;1;-2;3;-4;5];112890625.00085557;""]
   >A*linsys(A,b)-b
    [0;0;0;0;0;0]
>help linopt
                C++ Toolbox for Verified Computing I
                       Basic Numerical Problems

    Copyright (c) 1995 Rolf Hammer, Matthias Hocks, Dietmar Ratz

The functions RevSimplex(A,b,c) and LinOpt(A,b,c,BStart) determine the
optimal solution of the linear optimization problem: Maximize z=c'*x where
A*x=b and x>=0. LinOpt validates the solution and determines enclosures of
the true optimal solution set.

RevSimplex returns a vector with entries [x;v;z;err] where x denotes the
optimal solution vector, v the optimal basic index set, which can be used as
bstart for LinOpt, z the optimal value and err might contain an error
message. LinOpt returns a vector [z;V;X;no;err] where z is the enclose of
the optimal value, V is a matrix which no lines represent the different
index vectors, X a matrix which lines represent the different solution
vectors and err again is the eventual error message.

   >Precision(-10);A=[1 0 1 0 0;0 1 0 1 0;100 18 0 0 1];
   >b=[50;200;5000];c=[50;9;0;0;0];
   >S=RevSimplex(A,b,c)
    [[14;200;36;0;0];[1;3;2];2500;""]
   >LinOpt(A,b,c,S(2))
    [2500;[1 2 3;1 2 4;1 3 4];[14 200 36 0 0;50 0 0 200 0;50 0 0 200 0];3;""] 
>
>
>


Questions, Problems, Bugs? Please use this form.