I struggle with a problem that I believe is due to a compiler bug.

With the attached program and

)co foo.spad
findIdentity()$QEtaRamanujanKolberg(Fraction Integer)

I get

(1) -> findIdentity()$QEtaRamanujanKolberg(Fraction Integer)
   [:> , foo, 1]
Function:  laurent : (Integer, Stream(Fraction(Integer))) -> % is
missing from domain:
UnivariateLaurentSeries(SimpleAlgebraicExtension(Fraction(Integer),SparseUnivariatePolynomial(Fraction(Integer)),?^2+1),q,0)
   Internal Error
   The function laurent with signature $(Integer)
      (Stream (Fraction (Integer))) is missing from domain
      UnivariateLaurentSeries
      (SimpleAlgebraicExtension (Fraction (Integer))
(SparseUnivariatePolynomial (Fraction (Integer))) ((2 1 . 1) (0 1 . 1)))
      q

When I uncooment the line

--      px()$SiftedEtaQuotientGamma(C, L1 CX)

The result is:

(1) -> findIdentity()$QEtaRamanujanKolberg(Fraction Integer)
   Internal Error
   The function px with signature () -> UnivariateLaurentSeries(
      SimpleAlgebraicExtension(Fraction(Integer),
      SparseUnivariatePolynomial(Fraction(Integer)),?^2+1),q,0) is
      missing from domain SiftedEtaQuotientGamma(Fraction (Integer))
      (UnivariateLaurentSeries (SimpleAlgebraicExtension (Fraction
(Integer)) (SparseUnivariatePolynomial (Fraction (Integer))) ((2 1 . 1)
(0 1 . 1))) (QUOTE q) 0)

I cannot explain the second problem, but the missing "laurent" signature
seems to come from the fact that laurent: (Integer, Stream Coef) -> % is
implemented here

laurent(n: I, st: Stream Coef): % == laurent(n, series(st)$UTS)

https://github.com/fricas/fricas/blob/master/src/algebra/laurent.spad#L71

ad a category default. And seemingly that category default does not apply.

Any idea what is the real problem?

Ralf

-- 
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/2edf1d1e-eedb-1b6e-eb65-088be8dced43%40hemmecke.org.
OF==>OutputForm
dbgPrint(x,y) ==> print(([":> "::Symbol::OF, x::Symbol::OF, y::OF]$List(OF)::OF))
Z ==> Integer
Q ==> Fraction Z
L1 C  ==> UnivariateLaurentSeries(C, 'q, 0);
SUP ==> SparseUnivariatePolynomial

)abbrev package SETAQG SiftedEtaQuotientGamma
SiftedEtaQuotientGamma(C, LX): Exports == Implementation where
  C: Join(Algebra Q, IntegralDomain)
  LX: UnivariateLaurentSeriesCategory C
  Exports ==> with
    px: () -> LX
  Implementation ==> add
    QFT ==> QFunctionTools(C, LX)
    px(): LX == laurent(0, [1,1,1,1]$List(C)::Stream(C))$LX

)abbrev package QETARKA QEtaRamanujanKolbergAux
QEtaRamanujanKolbergAux(C, CX): Exports == Implementation where
  C: Join(Algebra Q, EuclideanDomain)
  CX: Join(Algebra C, EuclideanDomain, RetractableTo C)
  Exports ==> with
    findRelation: () -> Void
  Implementation ==> add
    findRelation(): Void == px()$SiftedEtaQuotientGamma(C, L1 CX)

)abbrev package QETARK QEtaRamanujanKolberg
QEtaRamanujanKolberg(C): Exports == Implementation where
  C: Join(Algebra Q, EuclideanDomain)
  Exports ==> with
    findIdentity: () -> Void
  Implementation ==> add
    findIdentity(): Void ==
      minrootpol: SUP C := monomial(1,2)$SUP(C) + 1
      CX ==> SimpleAlgebraicExtension(C, SUP C, minrootpol)
--      px()$SiftedEtaQuotientGamma(C, L1 CX)
      dbgPrint("foo", 1$Z)
      findRelation()$QEtaRamanujanKolbergAux(C, CX)

Reply via email to