9 Formal Power Series
ToDo ⊲ 35 ⊳ rhx ⊲ 24 ⊳ 02-Feb-2007: We should implement the multiplication
algorithm of
formal power series as given in [vdH02]. Currently we use the standard
convolution algorithm in
FormalPowerSeries to compute the
n-th coefficient of a
product.
This file implements formal power series. It could certainly be extended to encode
Laurant series and Puiseux series. However, we currently very much rely on the fact
that a formal power series is a function from ℕ to R and not from ℤ or ℚ. The code
is tested in the file test/series.as.nw.
Basically, a formal power series (implemented through the domain
FormalPowerSeries is given through a DataStream. However, we add a few more
fields to the data structure since we want to allow recursive definitions of formal
power series. Full laziness, also says that neither the arithmetic operations on power
series nor their creation using new is allowed to do any real computation. They are
O(1) operations.
More details can be found at the documentation of FormalPowerSeries.
ToDo ⊲ 36 ⊳ rhx ⊲ 25 ⊳ 20-Jan-2007: In the following we introduce a macro
for
ArithmeticType since this type in the
Aldor library has a few more
operation that we do not yet want to implement and since it would require
another workaround for making
FormalPowerSeries available in
Axiom.
196⟨* 13⟩+
≡ ⊲55 307 ⊳
-------------------------------------------------------------------
----
---- Combinat
---- Copyright (C) Ralf Hemmecke <ralf@hemmecke.de>
---- svn co svn://svn.risc.uni-linz.ac.at/hemmecke/combinat/
----
-------------------------------------------------------------------
#include "combinat"
macro {
ArithmeticType == with {
0: %;
1: %;
zero?: % -> Boolean;
+: (%, %) -> %;
*: (%, %) -> %;
}
}
⟨cat: FormalPowerSeriesCategory 199⟩
⟨dom: SeriesOrder 289⟩
⟨dom: FormalPowerSeries 242⟩