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)