The last phase of this journey has started. I am happy to let you know that I have passed Phase 2 successfully. Phase 3 will include merging of some important code written in Phase 2, and also implementation of some other useful code. I had a meeting with Sartaj in which we discussed about the deliverables to be completed in the last phase.
- The
FormalPowerSeries class
PR has undergone a lot of changes. There has been quite a number of API changes, inorder to make the subclasses more usable by the users. The wrapperFiniteFormalPowerSeries
class now looks somewhat like this :–
class FiniteFormalPowerSeries(FormalPowerSeries):
"""Base Class for Product, Compose and Inverse classes"""
def __init__(self, *args):
pass
@property
def ffps(self):
return self.args[0][0]
@property
def gfps(self):
return self.args[0][1]
@property
def f(self):
return self.ffps.function
@property
def g(self):
return self.gfps.function
@property
def infinite(self):
raise NotImplementedError("No infinite version for an object of"
" FiniteFormalPowerSeries class.")
def _eval_terms(self, n):
raise NotImplementedError("(%s)._eval_terms()" % self)
def _eval_term(self, pt):
raise NotImplementedError("By the current logic, one can get terms"
"upto a certain order, instead of getting term by term.")
def polynomial(self, n):
return self._eval_terms(n)
def _eval_derivative(self, x):
raise NotImplementedError
def integrate(self, x):
raise NotImplementedError
As you can see, there are four properties namely ffps
(the Formal Power Series
of the first function). gfps
(the Formal Power Series
of the second function), and f
and g
, which are the two functions respectively. This was done so that the API of the three subclasses can be changed to, for example FormalPowerSeriesCompose((self, other), self.x, self.x0, self.dir, ((self.bell_coeff_seq,), self.xk, self.ind))
.
We pass formal power series
instead of functions
, since the computation in the _eval_terms()
function in the three subclasses will be quite easy.
- I also started working on the PR which implements
aseries
function for various special functions. I hav e already implemented forerf
variants. The PR should be ready by the next week. Also the suggestions provided by Sartaj on the firstaseries
PR #17167, have been integrated. You can view them in the PR.
That’s it for this week. See you in the next week.