Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

#69 Coersion error

1.2.1
open-accepted
algebra (9)
5
2009-06-17
2009-06-17
Arnold Doray
No

I'm trying to create a set of orthogonal polynomials using the
Gram-Schmidt process, but I hit a problem:

dot(f,g) == integrate(f*g*x^2,x=-1..1)
proj(f,g) == dot(f,g)*f/dot(f,f)

p0 := 1
p1 := x - proj(p0,x)
p2 := x^2 - proj(p0,x^2) - proj(p1,x^2)

p0 and p1 evaluate correctly, but p2 hits this error:

; (DEFUN |*2;dot;5;frame1394| ...) is being compiled.
;; The variable |*2;dot;5;frame1394;MV| is undefined.
;; The compiler will assume this variable is a global.
Internal Error
The function coerce with signature OrderedCompletion Integer ->
Expression OrderedCompletion Integer is missing from domain
Expression(OrderedCompletion (Integer))

I'm using 1.2.1.

Discussion

  • Thanks for the reports.
    There definitely is are problem here in OpenAxiom.
    However, 'sum()' is not the right operator to
    use. Use 'reduce()' instead.

     
    • assigned_to: nobody --> dos-reis
    • status: open --> open-accepted
     
  • Arnold Doray
    Arnold Doray
    2009-06-17

    Martin Rubey sent me a workaround - change :

    dot(f,g) == integrate(f*g*x^2,x=-1..1)
    to
    dot(f,g) == integrate(f*g*x^2,x=-1..1)::EXPR INT

    This makes the problem go away. This issue is in "classic" Axiom too.