[BACK]Return to ts_jaco.adb CVS log [TXT][DIR] Up to [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials

File: [local] / OpenXM_contrib / PHC / Ada / Math_Lib / Polynomials / ts_jaco.adb (download)

Revision 1.1.1.1 (vendor branch), Sun Oct 29 17:45:27 2000 UTC (23 years, 7 months ago) by maekawa
Branch: PHC, MAIN
CVS Tags: v2, maekawa-ipv6, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, RELEASE_1_2_1, HEAD
Changes since 1.1: +0 -0 lines

Import the second public release of PHCpack.

OKed by Jan Verschelde.

with text_io,integer_io;                 use text_io,integer_io;
with Symbol_Table;
with Standard_Complex_Numbers;           use Standard_Complex_Numbers;
with Standard_Complex_Numbers_io;        use Standard_Complex_Numbers_io;
with Standard_Complex_Vectors;           use Standard_Complex_Vectors;
with Standard_Complex_Vectors_io;        use Standard_Complex_Vectors_io;
with Standard_Complex_Polynomials;       use Standard_Complex_Polynomials;
with Standard_Complex_Polynomials_io;    use Standard_Complex_Polynomials_io;
with Standard_Complex_Poly_Systems;      use Standard_Complex_Poly_Systems;
with Standard_Complex_Poly_Systems_io;   use Standard_Complex_Poly_Systems_io;
with Standard_Complex_Poly_SysFun;       use Standard_Complex_Poly_SysFun;
with Standard_Complex_Jaco_Matrices;     use Standard_Complex_Jaco_Matrices;
with Standard_to_Multprec_Convertors;    use Standard_to_Multprec_Convertors;
with Multprec_Complex_Polynomials_io;    use Multprec_Complex_Polynomials_io;
with Multprec_Complex_Poly_Systems;      use Multprec_Complex_Poly_Systems;
with Multprec_Complex_Jaco_Matrices;     use Multprec_Complex_Jaco_Matrices;    

procedure ts_jaco is

-- DESCRIPTION :
--   This routine provides basic testing routines for Jacobian matrices.

  procedure Test_Standard_Creation is

  -- DESCRIPTION :
  --   Tests the creation of a standard Jacobian matrix.

    lp : Standard_Complex_Poly_Systems.Link_to_Poly_Sys;
    n : natural;

  begin
    new_line;
    put_line("Testing the creation of standard Jacobian matrices.");
    new_line;
    get(lp);
    put_line("The system : "); put(lp.all);
    n := lp'last;
    declare
      jm : Standard_Complex_Jaco_Matrices.Jaco_Mat(1..n,1..n) := Create(lp.all);
    begin
      put_line("The Jacobian matrix : ");
      for i in jm'range loop
        for j in jm'range loop
          put(jm(i,j));
        end loop;
        new_line;
      end loop;
    end;
  end Test_Standard_Creation;

  procedure Test_Multprec_Creation is

  -- DESCRIPTION :
  --   Tests the creation of a multi-precision Jacobian matrix.

    lp : Standard_Complex_Poly_Systems.Link_to_Poly_Sys;
    n : natural;

  begin
    new_line;
    put_line("Testing the creation of multi-precision Jacobian matrices.");
    new_line;
    get(lp);
    put_line("The system : "); put(lp.all);
    n := lp'last;
    declare
      mp : Multprec_Complex_Poly_Systems.Poly_Sys(1..n) := Convert(lp.all);
      jm : Multprec_Complex_Jaco_Matrices.Jaco_Mat(1..n,1..n) := Create(mp);
    begin
      put_line("The Jacobian matrix : ");
      for i in jm'range loop
        for j in jm'range loop
          put(jm(i,j));
        end loop;
        new_line;
      end loop;
    end;
  end Test_Multprec_Creation;

  procedure Main is

    ans : character;

  begin
    new_line;
    put_line("Interactive testing of the operations on complex polynomials.");
    loop
      new_line;
      put_line("Choose one of the following :                              ");
      put_line("  0. Exit this program.                                    ");
      put_line("  1. Test creation of standard Jacobian matrices.          ");
      put_line("  2. Test creation of multi-precision Jacobian matrices.   ");
      put("Type 0,1 or 2 to select : "); get(ans);
      exit when (ans = '0');
      case ans is
        when '1' => Test_Standard_Creation;
        when '2' => Test_Multprec_Creation;
        when others => null;
      end case;
    end loop;
  end Main;

begin
  Main;
end ts_jaco;