On Thu, Feb 18, 2021 at 06:36:57PM +0100, Waldek Hebisch wrote:
> See attached file and Aldor compilation report (I sent it before
> but I include it in case it got lost).

Sorry, sent previous message too fast, without attachements.
-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/20210218173817.GB12410%40math.uni.wroc.pl.
(1) -> )compile RDEEFX3a.spad
 
   The file RDEEFX3a.spad is needed but does not exist.

(1) -> )compile RDEEFX3a.as  
   Compiling FriCAS source code from file 
      /mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as using AXIOM-XL 
      compiler and options 
-O -Fasy -Fao -Flsp -laxiom -Mno-ALDOR_W_WillObsolete -DAxiom -Y $AXIOM/algebra 
-I $AXIOM/algebra
      Use the system command )set compiler args to change these 
      options.
"/mnt/lv3/fricas/axp19/pp1/ax-build486/target/x86_64-linux-gnu/algebra/axiom.as",
 line 16: 
import {
^
[L16 C1] #24 (Warning) Couldn't find identifier for documentation

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 36: 
    ei_int : (Z, F, F, SE) -> PSOL2
......^
[L36 C7] #1 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 41: 
    mk_erf : (F, F) -> F
......^
[L41 C7] #2 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 63: 
    top_kernel(f : F, g : F, x : SE) : K ==
.......^
[L63 C8] #3 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 68: 
        extra_tk : Boolean := not(member?(tk, lkf))
.............^
[L68 C14] #4 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 71: 
            hk > htk =>
............^
[L71 C13] #25 (Error) (After Macro Expansion) Argument 1 of `>' did not match 
any possible parameter type.

    Expected one of:
      -- Symbol
      -- NonNegativeInteger
      -- OutputForm
      -- Kernel(F)
      -- Boolean
Expanded expression was: hk

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 74: 
                extra_tk := not(member?(tk, lkf))
.....................^
[L74 C22] #5 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 75: 
            hk < htk => "iterate"
............^
[L75 C13] #26 (Error) (After Macro Expansion) Argument 1 of `<' did not match 
any possible parameter type.

    Expected one of:
      -- Symbol
      -- NonNegativeInteger
      -- OutputForm
      -- Kernel(F)
      -- Boolean
Expanded expression was: hk

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 76: 
            is?(tk, EXP) and extra_tk => "iterate"
..................................^
[L76 C35] #6 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 77: 
            is?(k, EXP) and not(member?(k, lkf)) =>
................^...............^
[L77 C17] #27 (Error) (After Macro Expansion) Argument 1 of `is?' did not match 
any possible parameter type.

    Expected one of:
      -- F
      -- Kernel(F)
Expanded expression was: k
[L77 C33] #28 (Error) (After Macro Expansion) There are no suitable meanings 
for the operator `member?'.
Expanded expression was: member?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 79: 
                extra_tk := true
.....................^
[L79 C22] #7 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 81: 
            is?(k, EXP) =>
................^
[L81 C17] #29 (Error) (After Macro Expansion) Argument 1 of `is?' did not match 
any possible parameter type.

    Expected one of:
      -- F
      -- Kernel(F)
Expanded expression was: k

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 83: 
                extra_tk := false
.....................^
[L83 C22] #8 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 84: 
            is?(tk, LOG) and extra_tk => "iterate"
..................................^
[L84 C35] #9 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 85: 
            is?(k, LOG) and not(member?(k, lkf)) =>
................^...............^
[L85 C17] #30 (Error) (After Macro Expansion) Argument 1 of `is?' did not match 
any possible parameter type.

    Expected one of:
      -- F
      -- Kernel(F)
Expanded expression was: k
[L85 C33] #31 (Error) (After Macro Expansion) There are no suitable meanings 
for the operator `member?'.
Expanded expression was: member?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 87: 
                extra_tk := true
.....................^
[L87 C22] #10 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 89: 
            is?(k, LOG) =>
................^
[L89 C17] #32 (Error) (After Macro Expansion) Argument 1 of `is?' did not match 
any possible parameter type.

    Expected one of:
      -- F
      -- Kernel(F)
Expanded expression was: k

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 91: 
                extra_tk := false
.....................^
[L91 C22] #11 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 93: 
                has?(operator k, ALGOP)$BasicOperator =>
.....................^........^
[L93 C22] #33 (Error) (After Macro Expansion) Argument 1 of 
`has?$BasicOperator' did not match any possible parameter type.

    Expected type BasicOperator.
Expanded expression was: operator(k)
[L93 C31] #34 (Error) (After Macro Expansion) Argument 1 of `operator' did not 
match any possible parameter type.

    Expected one of:
      -- BasicOperator
      -- Kernel(F)
Expanded expression was: k

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 94: 
                    extra_tk => "iterate"
.........................^
[L94 C26] #12 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 97: 
                        extra_tk := true
.............................^
[L97 C30] #13 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 99: 
                extra_tk := not(member?(k, lkf))
.....................^
[L99 C22] #14 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 107: 
    CV_REC ==> Record(coef1 : RF, coef2 : RF, exponent : N)
......^
[L107 C7] #15 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 108: 
    genus0_if_can(k : K, kx : K) : Union(CV_REC, 'failed') ==
..........^..^.............................^
[L108 C11] #16 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 125: 
    UV_REC ==> Record(u_part : F, v_part : F, exponent : Z, coeff : Z)
......^................^...........^
[L125 C7] #19 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 127: 
    get_uv(tt : F, vlst : List(F), ulst : List(F), k : K, x : SE
.......^
[L127 C8] #22 (Warning) Escape character ignored.  Do you mean '__'?

"/mnt/lv3/fricas/axp19/pp1/algreduc2/RDEEFX3a.as", line 128: 
         ) : Union(UV_REC, 'failed') ==
.....................^
[L128 C22] #23 (Warning) Escape character ignored.  Do you mean '__'?
[L128 C22] #35 (Fatal Error) Too many errors (use `-M emax=n' or `-M no-emax' 
to change the limit).

   The )library system command was not called after compilation.
#include "axiom.as"
#pile

-- )abbrev package RDEEFX ElementaryRischDEX
-- )boot $tryRecompileArguments := nil
++ Risch differential equation, extended version.
++ Description:
++   This package generates exponential integrals corresponding
++   to polynomial part of the integral.
++
ElementaryRischDEXY(R : RT, F : FT) : Exports == Implementation where
  RT ==> Join(PolynomialFactorizationExplicit, Comparable, CharacteristicZero,
           RetractableTo Integer, LinearlyExplicitOver Integer)
  FT ==> Join(TranscendentalFunctionCategory, AlgebraicallyClosedField,
           LiouvillianFunctionCategory, SpecialFunctionCategory,
           FunctionSpace R)

  N   ==> NonNegativeInteger
  Z   ==> Integer
  Q   ==> Fraction(Z)
  SE  ==> Symbol
  LF  ==> List F
  K   ==> Kernel F
  LK  ==> List K
  P   ==> SparseMultivariatePolynomial(R, K)
  UP  ==> SparseUnivariatePolynomial F
  RF  ==> Fraction UP
  RRF ==> Record(mainpart : F, limitedlogs : List NL)
  NL  ==> Record(coeff : F, logand : F)
  U   ==> Union(RRF, "failed")
  UEX ==> Union(Record(ratpart:F,  coeff:F), "failed")
  PSOL2 ==> Record(ans : F, right : F, primpart : F, sol? : Boolean)

  Exports ==> with

    ei_int : (Z, F, F, SE) -> PSOL2
      ++ ei_int(n, f, g, x) returns \spad{[h, u, t, s]} such that
      ++ \spad{u*exp(n*f) = (h*exp(n*f))' + t'} where t involves
      ++ special functions.  When s is true then \spad{f = u}, otherwise
      ++ ei_int returns partial answer,
    mk_erf : (F, F) -> F
      ++ mk_erf(u, f) should be local but conditional

  Implementation ==> add
    import from IntegrationTools(R, F)
    import from TranscendentalIntegration(F, UP)

    FF ==> Field with
       coerce : P -> %
       numer : % -> P
       denom : % -> P

    import from PolynomialCategoryQuotientFunctions(IndexedExponents K,
                                           K, R, P, F pretend FF)

    ALGOP := "%alg"::Symbol
    PRIM := "prim"::Symbol
    LOG := "log"::Symbol
    EXP := "exp"::Symbol

    import from NonNegativeInteger

    top_kernel(f : F, g : F, x : SE) : K ==
        lkf := varselect(kernels(f), x)
        lk := union(varselect(kernels(g), x), lkf)
        tk : K := first lk
        htk := height(tk)
        extra_tk : Boolean := not(member?(tk, lkf))
        for k in rest(lk) repeat
            hk := height(k)
            hk > htk =>
                tk := k
                htk := hk
                extra_tk := not(member?(tk, lkf))
            hk < htk => "iterate"
            is?(tk, EXP) and extra_tk => "iterate"
            is?(k, EXP) and not(member?(k, lkf)) =>
                tk := k
                extra_tk := true
            is?(tk, EXP) => "iterate"
            is?(k, EXP) =>
                tk := k
                extra_tk := false
            is?(tk, LOG) and extra_tk => "iterate"
            is?(k, LOG) and not(member?(k, lkf)) =>
                tk := k
                extra_tk := true
            is?(tk, LOG) => "iterate"
            is?(k, LOG) =>
                tk := k
                extra_tk := false
            if has?(operator tk, ALGOP)$BasicOperator then
                has?(operator k, ALGOP)$BasicOperator =>
                    extra_tk => "iterate"
                    if not(member?(k, lkf)) then
                        tk := k
                        extra_tk := true
                tk := k
                extra_tk := not(member?(k, lkf))
        tk

    import from OutputForm

    UPUP ==> SparseUnivariatePolynomial(UP)


    CV_REC ==> Record(coef1 : RF, coef2 : RF, exponent : N)
    genus0_if_can(k : K, kx : K) : Union(CV_REC, 'failed') ==
        not(is?(k, "nthRoot"::Symbol)) => failed
        args := argument(k)
        n := retract(args(2))@Integer::N
        r1 := args(1)
        r1rf := univariate(r1, kx)
        nrf := numer(r1rf)
        drf := denom(r1rf)
        degree(nrf)$UP >$Z 1 or degree(drf) >$Z 1 => failed
        a := coefficient(nrf, 1)
        b := coefficient(nrf, 0)
        c := coefficient(drf, 1)
        d := coefficient(drf, 0)
        c1 := (monomial(d, n)$UP - b::UP)::RF/
              (monomial(-c, n)$UP + a::UP)::RF
        [c1, r1rf, n]

    UV_REC ==> Record(u_part : F, v_part : F, exponent : Z, coeff : Z)

    get_uv(tt : F, vlst : List(F), ulst : List(F), k : K, x : SE
         ) : Union(UV_REC, 'failed') ==
        error "unimplemented"

Reply via email to