Revision: 2635
http://sourceforge.net/p/fricas/code/2635
Author: whebisch
Date: 2020-03-06 14:17:18 +0000 (Fri, 06 Mar 2020)
Log Message:
-----------
Fix type conditions, remove unimplemented signatures
Modified Paths:
--------------
trunk/ChangeLog
trunk/src/algebra/genups.spad
trunk/src/input/series3.input
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2020-03-06 13:45:08 UTC (rev 2634)
+++ trunk/ChangeLog 2020-03-06 14:17:18 UTC (rev 2635)
@@ -1,3 +1,8 @@
+2020-03-06 Waldek Hebisch <
heb...@math.uni.wroc.pl>
+
+ * src/algebra/genups.spad: Fix type conditions,
+ remove unimplemented signatures
+
2020-03-06 Neven Sajko <
nsa...@gmail.com>
* src/graph/include/write.h, src/graph/view2D/write2d.c,
Modified: trunk/src/algebra/genups.spad
===================================================================
--- trunk/src/algebra/genups.spad 2020-03-06 13:45:08 UTC (rev 2634)
+++ trunk/src/algebra/genups.spad 2020-03-06 14:17:18 UTC (rev 2635)
@@ -46,20 +46,6 @@
++ \spad{puiseux(n +-> a(n), x = a, r0..r1, r)} returns
++ \spad{sum(n = r0 + k*r while n <= r1, a(n) * (x - a)^n)}.
- series : (I -> R, SY, R) -> Any
- ++ \spad{series(n +-> a(n), x = a)} returns
- ++ \spad{sum(n = 0.., a(n)*(x-a)^n)}.
- series : (I -> R, SY, R, SEG I) -> Any
- ++ \spad{series(n +-> a(n), x, a, n0..)} returns
- ++ \spad{sum(n = n0.., a(n) * (x - a)^n)};
- ++ \spad{series(n +-> a(n), x, a, n0..n1)} returns
- ++ \spad{sum(n = n0..n1, a(n) * (x - a)^n)}.
- series : (RN -> R, SY, R, SEG RN, RN) -> Any
- ++ \spad{series(n +-> a(n), x = a, r0.., r)} returns
- ++ \spad{sum(n = r0, r0 + r, r0 + 2*r..., a(n) * (x - a)^n)};
- ++ \spad{series(n +-> a(n), x = a, r0..r1, r)} returns
- ++ \spad{sum(n = r0 + k*r while n <= r1, a(n) * (x - a)^n)}.
-
Implementation ==> add
genStream : (I -> R, I) -> ST(R)
@@ -140,8 +126,7 @@
++ Description:
++ \spadtype{GenerateUnivariatePowerSeries} provides functions that create
++ power series from explicit formulas for their \spad{n}th coefficient.
-GenerateUnivariatePowerSeries2(R, FE) : Exports == Implementation where
- R : Join(IntegralDomain, RetractableTo Integer)
+GenerateUnivariatePowerSeries2(FE) : Exports == Implementation where
FE : Join(Ring, RetractableTo SY)
ANY1 ==> AnyFunctions1
EQ ==> Equation
@@ -190,7 +175,7 @@
++ \spad{series(n +-> a(n), x = a, r0..r1, r)} returns
++ \spad{sum(n = r0 + k*r while n <= r1, a(n) * (x - a)^n)}.
- if FE has FunctionSpace(R) then
+ if FE has RetractableTo(I) and FE has Evalable(FE) then
taylor : (FE, SY, EQ FE) -> Any
++ \spad{taylor(a(n), n, x = a)} returns
@@ -207,6 +192,8 @@
++ \spad{laurent(a(n), n, x=a, n0..n1)} returns
++ \spad{sum(n = n0..n1, a(n) * (x - a)^n)}.
+ if FE has RetractableTo(RN) and FE has Evalable(FE) then
+
puiseux : (FE, SY, EQ FE, SEG RN, RN) -> Any
++ \spad{puiseux(a(n), n, x = a, r0.., r)} returns
++ \spad{sum(n = r0, r0 + r, r0 + 2*r..., a(n) * (x - a)^n)};
@@ -265,7 +252,7 @@
series(f : RN -> FE, eq : EQ FE, seg : SEG RN, r : RN) ==
puiseux(f, eq, seg, r)
- if FE has FunctionSpace(R) then
+ if FE has RetractableTo(I) and FE has Evalable(FE) then
taylor(an : FE, n : SY, eq : EQ FE) : Any ==
taylor((i : I) : FE +-> eval(an, (n :: FE) = (i :: FE)), eq)
@@ -276,6 +263,8 @@
laurent(an, n, eq, seg) ==
laurent((i : I) : FE +-> eval(an, (n :: FE) = (i :: FE)), eq, seg)
+ if FE has RetractableTo(RN) and FE has Evalable(FE) then
+
puiseux(an, n, eq, r0, m) ==
puiseux((r : RN) : FE +-> eval(an, (n :: FE) = (r :: FE)), eq, r0, m)
@@ -295,7 +284,7 @@
LinearlyExplicitOver Integer),
FE : Join(RetractableTo Symbol, TranscendentalFunctionCategory,
FunctionSpace R)) ==
- GenerateUnivariatePowerSeries2(R, FE)
+ GenerateUnivariatePowerSeries2(FE)
--Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd.
Modified: trunk/src/input/series3.input
===================================================================
--- trunk/src/input/series3.input 2020-03-06 13:45:08 UTC (rev 2634)
+++ trunk/src/input/series3.input 2020-03-06 14:17:18 UTC (rev 2635)
@@ -16,7 +16,7 @@
cf1(n : Integer) : pF == n::pF
cf2(n : Integer) : Polynomial(pF) == n::pF
s1 := taylor(n +-> cf1(n), z, 0)$GENUPS1(pF);
-s2 := series(n +-> cf2(n), z = 0)$GENUPS2(INT, Polynomial(pF));
+s2 := series(n +-> cf2(n), z = 0)$GENUPS2(Polynomial(pF));
p : Polynomial(pF) := (z + z^3 + z^5)*(1 + z^6);
testEquals("polynomial(s1, 12)", "p")
testEquals("polynomial(s2::UTS(Polynomial(pF), z, 0), 12)", "p")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.