#2556 taylor: illegal kernel error in improper integral

None
open
nobody
5
7 days ago
2013-03-02
kcrisman
No

I'm sorry I don't have a more succinct example of this. See http://ask.sagemath.org/question/2314/illegal-kernel-in-adjoin-pvar for the original report.

(%i3) integrate(((%pi)^(-1/2))*(A)*(((delta)^(-2))^(-1/2))
*(exp((((xi)+(-1/1))*(dx)*((k)^(2))*(t)*(v)*(1/2))
+(((delta)^(2))*((k)^(2))*(-1/4))+((k)*(t)*(v)*(0+%i*-1))
+((k)*(x)*(0+%i*1))))*(1/2),k,0,inf);

Condition of type: SIMPLE-CONDITION
Illegal kernel in `adjoin-pvar'

Available restarts:

1. (CONTINUE) Return from BREAK.
2. (MACSYMA-QUIT) Maxima top-level

Top level.

Discussion

  • kcrisman
    kcrisman
    2013-03-02

    I don't know why this didn't format correctly.

    integrate(((%pi)^(-1/2))*(A)*(((delta)^(-2))^(-1/2))*(exp((((xi)+(-1/1))*(dx)*((k)^(2))*(t)*(v)*(1/2))+(((delta)^(2))*((k)^(2))*(-1/4))+((k)*(t)*(v)*(0+%i*-1))+((k)*(x)*(0+%i*1))))*(1/2),k,0,inf);
    
     
  • kcrisman
    kcrisman
    2013-03-02

    This is the same in 5.29.1 and 5.26.0 in ECL. I get a slightly different error in 5.20.1.

    Illegal kernel in `adjoin-pvar'

    Available restarts:

    1. (CONTINUE) Return from BREAK.
    2. (MACSYMA-QUIT) Maxima top-level

    Broken at ADJOIN-PVAR.

    This is all in hayat.lisp

     
  • Robert Dodier
    Robert Dodier
    2013-05-24

    Observed in current development version.

    Maxima version: "branch_5_30_base_90_g122d48e_dirty"
    Maxima build date: "2013-05-22 18:42:44"
    Host type: "i686-pc-linux-gnu"
    Lisp implementation type: "SBCL"
    Lisp implementation version: "1.0.49"

     
  • Robert Dodier
    Robert Dodier
    2013-05-24

    • labels: --> Lisp Core - Integration
     
  • Robert Dodier
    Robert Dodier
    2013-06-17

    • labels: Lisp Core - Integration --> Lisp Core - Taylor
    • summary: illegal kernel error in improper integral --> taylor: illegal kernel error in improper integral
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -1,13 +1,16 @@
     I'm sorry I don't have a more succinct example of this.  See http://ask.sagemath.org/question/2314/illegal-kernel-in-adjoin-pvar for the original report.
    
    -(%i3) integrate(((%pi)^(-1/2))*(A)*(((delta)^(-2))^(-1/2))*(exp((((xi)+(-1/1))*(dx)*((k)^(2))*(t)*(v)*(1/2))+(((delta)^(2))*((k)^(2))*(-1/4))+((k)*(t)*(v)*(0+%i*-1))+((k)*(x)*(0+%i*1))))*(1/2),k,0,inf);
    +    (%i3) integrate(((%pi)^(-1/2))*(A)*(((delta)^(-2))^(-1/2))
    +    *(exp((((xi)+(-1/1))*(dx)*((k)^(2))*(t)*(v)*(1/2))
    +    +(((delta)^(2))*((k)^(2))*(-1/4))+((k)*(t)*(v)*(0+%i*-1))
    +    +((k)*(x)*(0+%i*1))))*(1/2),k,0,inf);
    
    -Condition of type: SIMPLE-CONDITION
    -Illegal kernel in `adjoin-pvar'
    +    Condition of type: SIMPLE-CONDITION
    +    Illegal kernel in `adjoin-pvar'
    
    -Available restarts:
    +    Available restarts:
    
    -1. (CONTINUE) Return from BREAK.
    -2. (MACSYMA-QUIT) Maxima top-level
    +    1. (CONTINUE) Return from BREAK.
    +    2. (MACSYMA-QUIT) Maxima top-level
    
    -Top level.
    +    Top level.
    
     
  • Robert Dodier
    Robert Dodier
    2013-06-17

    A stack trace shows that the error is in 'taylor'. Here is the simplest version which shows the problem:

    taylor (%e^(a*k^2*x/2-k^2), k, inf, 0);
     => Illegal kernel in `adjoin-pvar'
    

    It appears to be sensitive to ordering terms: replacing 'k' with 'z' allows the call to succeed (after a sign question).

    In fact, replacing 'k' with 'z' in the original integral allows 'integrate' to run to completion (after some sign questions). It returns a noun expression (unsolved integral) which seems odd -- isn't it a relatively easy integral? I didn't look too closely, I guess -- but at least it is not an error.