diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 2e51095..9596810 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -28221,22 +28221,20 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports == Implementation where V: FiniteAbelianMonoidRing(D, NonNegativeInteger) VF: FiniteAbelianMonoidRing(Fraction D, NonNegativeInteger) - F ==> Fraction D - - SUP ==> SparseUnivariatePolynomial - - FFFG ==> FractionFreeFastGaussian - + F ==> Fraction D + NNI ==> NonNegativeInteger + SUP ==> SparseUnivariatePolynomial + FFFG ==> FractionFreeFastGaussian FAMR2 ==> FiniteAbelianMonoidRingFunctions2 - cFunction ==> (NonNegativeInteger, Vector SUP D) -> D + cFunction ==> (NNI, Vector SUP D) -> D - CoeffAction ==> (NonNegativeInteger, NonNegativeInteger, V) -> D + CoeffAction ==> (NNI, NNI, V) -> D -- coeffAction(k, l, f) is the coefficient of x^k in z^l f(x) Exports == with - generalInterpolation: (List D, CoeffAction, Vector VF, List NonNegativeInteger) + generalInterpolation: (List D, CoeffAction, Vector VF, List NNI) -> Matrix SUP D ++ \spad{generalInterpolation(l, CA, f, eta)} performs Hermite-Pade ++ approximation using the given action CA of polynomials on the elements @@ -28245,8 +28243,7 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports == Implementation where ++ diagonal are given by eta. The degrees of column i are in this case ++ eta + e.i - [1,1,...,1], where the degree of zero is -1. - generalInterpolation: (List D, CoeffAction, - Vector VF, NonNegativeInteger, NonNegativeInteger) + generalInterpolation: (List D, CoeffAction, Vector VF, NNI, NNI) -> Stream Matrix SUP D ++ \spad{generalInterpolation(l, CA, f, sumEta, maxEta)} applies ++ generalInterpolation(l, CA, f, eta) for all possible eta with maximal @@ -28263,7 +28260,7 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports == Implementation where M generalInterpolation(C: List D, coeffAction: CoeffAction, - f: Vector VF, eta: List NonNegativeInteger): Matrix SUP D == + f: Vector VF, eta: List NNI): Matrix SUP D == n := #f g: Vector V := new(n, 0) den: Vector D := new(n, 0) @@ -28271,8 +28268,8 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports == Implementation where for i in 1..n repeat c := coefficients(f.i) den.i := commonDenominator(c)$CommonDenominator(D, F, List F) - g.i := map(x +-> retract(x*den.i)@D, f.i) - $FAMR2(NonNegativeInteger, Fraction D, VF, D, V) + g.i := + map(x +-> retract(x*den.i)@D, f.i)$FAMR2(NNI, Fraction D, VF, D, V) M := generalInterpolation(C, coeffAction, g, eta)$FFFG(D, V) @@ -28283,10 +28280,8 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports == Implementation where multiplyRows!(den, M) generalInterpolation(C: List D, coeffAction: CoeffAction, - f: Vector VF, - sumEta: NonNegativeInteger, - maxEta: NonNegativeInteger) - : Stream Matrix SUP D == + f: Vector VF, sumEta: NNI, maxEta: NNI) + : Stream Matrix SUP D == n := #f g: Vector V := new(n, 0) @@ -28295,11 +28290,11 @@ FractionFreeFastGaussianFractions(D, V, VF): Exports == Implementation where for i in 1..n repeat c := coefficients(f.i) den.i := commonDenominator(c)$CommonDenominator(D, F, List F) - g.i := map(x +-> retract(x*den.i)@D, f.i) - $FAMR2(NonNegativeInteger, Fraction D, VF, D, V) + g.i := + map(x +-> retract(x*den.i)@D, f.i)$FAMR2(NNI, Fraction D, VF, D, V) - c: cFunction := (x,y) +-> generalCoefficient(coeffAction, g, - (x-1)::NonNegativeInteger, y)$FFFG(D, V) + c: cFunction := + (x,y) +-> generalCoefficient(coeffAction, g, (x-1)::NNI, y)$FFFG(D, V) MS: Stream Matrix SUP D @@ -28825,10 +28820,10 @@ component of the gradient failed, it resulted in an infinite loop for [[integrate(D(besselJ(a,x),a),a)]]. <>= - derivative(opabs, abs(#1) * inv(#1)) - derivative(opGamma, digamma #1 * Gamma #1) + derivative(opabs, (x:F):F +-> abs(x) * inv(x)) + derivative(opGamma, (x:F):F +-> digamma x * Gamma x) derivative(opBeta, [iBetaGrad1, iBetaGrad2]) - derivative(opdigamma, polygamma(1, #1)) + derivative(opdigamma, (x:F):F +-> polygamma(1, x)) setProperty(oppolygamma, SPECIALDIFF, ipolygamma@((List F, SE)->F) pretend None) setProperty(opBesselJ, SPECIALDIFF, iBesselJ@((List F, SE)->F) diff --git a/changelog b/changelog index 80cc5a4..6b81289 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,5 @@ +20090519 tpd src/axiom-website/patches.html 20090519.07.tpd.patch +20090519 tpd books/bookvol10.4 FSPECF +-> conversion 20090519 tpd src/axiom-website/patches.html 20090519.06.tpd.patch 20090519 tpd books/bookvol10.3 UNISEG +-> conversion 20090519 tpd src/axiom-website/patches.html 20090519.05.tpd.patch diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index d0aa142..d7addf8 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -1376,5 +1376,7 @@ bookvol10.3 UTS +-> conversion
bookvol10.4 FFFGF +-> conversion
20090519.06.tpd.patch bookvol10.3 UNISEG +-> conversion
+20090519.07.tpd.patch +bookvol10.4 FSPECF +-> conversion