5. Sequences and Series

5.1. Sequences

Definition

A sequence is a set of terms where order matters, written as follows:

(5.1)\[ u_1, u_2, \dots, u_n\]

Here, the size of the sequence (the number of terms) is \(n\). The \(i\)-th term in the sequence may be denoted by \(u_i\) where \(i = 1, 2, \dots, n\).

The labels \(u\), and \(i\) are arbitrary, and we could just as well use other letters to represent them. Sequences can have finite \(n<\infty\) (e.g. telephone numbers) or infinite sizes \(n \to \infty\) (e.g. the prime numbers).

The sequences that we will examine in this course are numerical patterns. Much of mathematics is concerned with patterns in both mathematical constructs and nature, and the study of sequences provides a firm grounding for this endeavour.

Mathematical patterns can generally be expressed as formula for the \(i\)th term. For instance, the formula below generates the sequence \(-1, 2, 5, 8, 11, 14, 17, 20\) by taking \(i=1,\dots 8\) :

\[u_i = 2 + 3 (i-2)\]

Notice that the size of the terms in this sequence grows without bound as the number of terms is increased.

5.1.1. Recurrence relationships

It is sometimes possible to express a sequence as a formula that relates the \(n\)th term of the sequence as some combination of the previous terms. This is known as a recurrence relation.

Definition

A well-know example that arises in many natural systems is the Fibonacci sequence:

\[1, 1, 2, 3, 5, 8, 13, 21, 34, \dots\]

This sequence is generated by starting with the sequence \(1,1\) and finding the next number in the sequence by adding the two previous numbers together, e.g. \(0+1=\mathbf{1}\), \(1+1=\mathbf{2}\), \(1+2=\mathbf{3}\), \(2+3=\mathbf{5}\), \(3+5=\mathbf{8}\), etc.

The sequence can be expressed with the recurrence relation

(5.2)\[u_i=u_{i-1}+u_{i-2}\]

The recurrence relation (5.2) specifies the \(i\)-th term provided we have the term for \(i-1\) and \(i-2\). It is because of this formula that it is necessary to provide the first two terms of the sequence, \(u_1=0\) and \(u_2=1\), to find the rest of the sequence.

Python code for Fibonacci sequence

Note that the Fibonnaci recurrence relation will generate a different sequence to the Fibonacci sequence when the starting terms are different (e.g. \(u_1=10\) and \(u_2=11\)).

nterms = 10 # number of terms
u1, u2 = 1, 1 # first two values
count = 0 # counter
while count < nterms: # while loop
       print(u1) # print values     
       nth = u1 + u2 # recurrence relation             
       u1 = u2 # update values       
       u2 = nth # update values       
       count += 1 # update counter
1
1
2
3
5
8
13
21
34
55

Recurrence relations, although simple, can produce surprisingly complicated behaviours. For further reading you may like to study the logistic map:

(5.3)\[u_{i+1} = r u_{i} (1 - u_i) \ ,\]

where \(r\) is a constant. This equation (which models amongst other things animal population growth) opened up the field of chaos theory.

5.2. Series

Series play a central role in calculus and are the main reason why we introduce sequences in the section above.

Definition

A series is the sum of a sequence of terms, written as follows:

(5.4)\[\sum_{i=m}^n u_i = u_1 + u_2 + \ldots + u_n \,\]

where \(m \le n\), and usually \(m=1\).

In short, a series is simply the sum of a sequence. We can replace the upper value \(n\) with \(\infty\) for an [infinite series. To give an example, the series of the infinite sequence \((u_1,u_2,u_3,\dots)\) is written as \(\displaystyle\sum_{i=1}^\infty u_i\).

We say that \(\displaystyle\sum_{i=m}^n u_i\) for \(n < \infty\) is a partial sum because the series is partially added up to just the \(n\)-th term.

Python Code

Here is some Python code for a sequence defined by the recurrence relation \(u_k = u_{k-1}+\frac{1}{2}\) with \(u_1=0\). It calculates the first ten terms of the sequence and the resulting series.

n = 10 # number of terms
seq = 0 # first value of sequence
ser = 0 # first value of series
count = 0 # counter
while count < n: # while loop
       print(seq, ser) # print series value    
       seq = seq + 0.5 # update sequence
       ser = ser + seq # update series                   
       count += 1 # update counter
0 0
0.5 0.5
1.0 1.5
1.5 3.0
2.0 5.0
2.5 7.5
3.0 10.5
3.5 14.0
4.0 18.0
4.5 22.5

5.2.1. Summations

Character \(\Sigma\) is the Greek letter sigma, written in upper case, and denotes a summation.

We would read \(\sum_{i=1}^n u_i\) as “the sum of \(u_i\) from \(i=1\) to \(i=n\)”.

For example

\[\sum_{i=1}^4 i = 1 + 2 + 3 + 4 = 10\]

is the sum of \(i\) from \(i=1\) to \(i=4\)

\[\sum_{i=1}^4 2 i = 2 + 4 + 6 + 8 = 20.\]

is the sum of \(2 i\) from \(i=1\) to \(i=4\)

From this example it should be clear that, in general:

(5.5)\[\sum_{i=1}^n a u_i = a \sum_{i=1}^n u_i\]

where \(a\) is a constant.

Warning!

Take note that

\[\sum_{i=1}^n (a + u_i) \neq a + \sum_{i=1}^n u_i\]

For example, \(\displaystyle \sum_{i=1}^4 (1+i) = 2 + 3 + 4 + 5 = 14\).

The correct way to read this is:

\[\sum_{i=1}^n (a + u_i) = na + \sum_{i=1}^n u_i\]

5.3. Arithmetic and geometric progressions

We now introduce the arithmetic progression (or the arithmetic sequence) and the geometric progression (or geometric sequence). These sequences have the nice property that their series can be found straightforwardly.

5.3.1. Arithmetic progression

Definition

An arithmetic progression (otherwise known as an arithmetic sequence) is a sequence of \(n\) terms which all have a “common difference” \(d\), written as follows:

(5.6)\[a, a + d, a + 2d, a + 3d, \dots, a + (n-1) d\]

where \(a\) is an arbitrary number.

An example of an arithmetic progression is the sequence \(3,5,7,9,11,13\) in which the first term is \(a=3\), the common difference is \(d=2\) and the number of terms is \(n=6\). An infinite arithmetic progression is given by the case where \(n \to \infty\).

The \(i\)-th term of the arithmetic progression can be expressed as the following recurrence relation:

(5.7)\[u_i=a+(i-1)d\]

Python code for arithmetic progression

You can play around with the behaviour of different arithmetic progressions by changing the values of \(a\) and \(d\):

n = 10 # number of terms
a = 30 # first value
d = -4 # commmon difference
seq = a # first value of sequence
count = 0 # counter
while count < n: # while loop
       print(seq) # print series value    
       seq = seq + d # update sequence                 
       count += 1 # update counter
30
26
22
18
14
10
6
2
-2
-6

5.3.1.1. Solving the series of arithmetic progressions

Series of arithmetic progressions can be solved (i.e. reduced to a number). The series (or the sum) \(S_n\) of an arithmetic progression with recurrence relation \(u_i=a+(i-1)d\) is:

(5.8)\[ S_n = \sum_{i=1}^n u_i = \sum_{i=1}^n a + (i -1 ) d = \frac{n}{2} \big( 2 a + (n - 1) d \big) = \frac{n}{2} (a + L)\]

where \(L = a + (n-1) d\) is the last term in the series.

As \(n\) approaches \(\infty\), the arithmetic progession approaches \(\infty\) if \(d>0\) and approaches \(-\infty\) if \(d<0\). In these cases we say that the series diverges (more on this later!). Infinite arithmetic progressions always diverge, the proof of which can be found via this link (although further reading is required!).

Python code for the series of the arithmetic progression

You can use this code to convince yourself that the series of arithmetic progressions grow without bound for large \(n\). In this ecxample we pick \(a = 30\), \(d=-4\).

nterms = 10 # number of terms
a = 30 # first value
d = -4 # commmon difference
seq = a # first value of sequence
ser = a # first value of series
count = 0 # counter
while count < nterms: # while loop
       print(ser) # print series value    
       seq = seq + d # update sequence
       ser = ser + seq # update series                   
       count += 1 # update counter
30
56
78
96
110
120
126
128
126
120

Proof of the solution of the series of arithmetic progressions

\[\begin{split}S_n = a + (a+d) + (a+2d) + \dots + \Big( a + (n-3) d \Big) + \Big( a + (n-2) d \Big) + \Big( a + (n-1) d \Big) \\ \\ S_n = \Big( a + (n-1) d \Big) + \Big( a + (n-2) d \Big) + \Big( a + (n-3) d \Big) + \dots + (a+2d) + (a+d) + a \ .\end{split}\]

Adding these two expressions gives:

\[2 S_n = \Big( 2 a + (n-1) d \Big) + \Big( 2 a + (n-1) d \Big) + \dots + \Big( 2 a + (n-1) d \Big) \ .\]

Since there are \(n\) terms, this equations simplifies to the final result:

\[S_n = \frac{n}{2} \Big( 2 a + (n-1) d \Big) \ .\]

There is a legend, that Gauss (a famous mathematician) used a similar approach as a schoolboy back in the 1780s to find the answer to \(1+2+\dots+99+100\).

5.3.2. Geometric progression

Definition

A geometric progression (otherwise known as an geometric sequence) is a sequence of \(n\) terms which have “common ratio” \(r\), written as follows:

(5.9)\[a, a r, a r^2, a r^3, \dots , a r^{n-1}\]

where \(a\) is an arbitrary number.

Using the notation for sequences in the previous section, the \(i\)-th term of the geometric progression is \(u_i=a r^{i-1}\) for \(i=1,2,\dots,n\). In other words, the next term in the geometric progression can be found by multiplying the previous term by the common ratio \(r\), given by the recurrence relation \(u_i = r u_{i-1}\) where \(u_1=a\). An example is the sequence \(24,−12,6,−3,1.5\) in which the first term is \(a=2\), the common ratio is \(r=−\frac{1}{2}\) and the number of terms is \(n=5\).

Python code for a geometric progression

We can use some python code to examine this geometric progression, start at \(a=24\) and \(r = -0.5\):

nterms = 10 # number of terms
a = 24 # first value
r = -0.5 # commmon difference
seq = a # first value of sequence
count = 0 # counter
while count < nterms: # while loop
       print(seq) # print series value    
       seq = seq * r # update sequence                  
       count += 1 # update counter
24
-12.0
6.0
-3.0
1.5
-0.75
0.375
-0.1875
0.09375
-0.046875

5.3.3. Solving the series of geometric progessions

Like arithmetic progessions, the series of geometric progressions can be solved (i.e. reduced to a number). The series (or the sum) \(S_n\) of a geometric progression \(u_i=a r^{i-1}\) is:

(5.10)\[ S_n = \sum_{i=1}^n u_i = \sum_{i=1}^n a r^{i -1} = a \frac{1 - r^n}{1-r}\]

Python code for the series of the geometric progression

We can use some python code to examine the series of a geometric progression, start at \(a=24\) and \(r = -0.5\):

nterms = 10 # number of terms
a = 24 # first value
r = -0.5 # commmon difference
seq = a # first value of sequence
ser = seq # first value of series
count = 0 # counter
while count < nterms: # while loop
       print(seq) # print series value    
       seq = seq * r # update sequence   
       ser = ser + seq # update sequence               
       count += 1 # update counter
24
-12.0
6.0
-3.0
1.5
-0.75
0.375
-0.1875
0.09375
-0.046875

Proof for the definition of a geometric series

\[\begin{split}S_n = a + a r + a r^2 + \dots + a r^{n-3} + a r^{n-2} + a r^{n-1} \\ = a \Big(1 + r + r^2 + \dots + r^{n-3} + r^{n-2} + r^{n-1} \Big) \ ,\end{split}\]

we multiply by \(r\):

\[r S_n = a \big(r + r^2 + r^3 + \dots + r^{n-2} + r^{n-1} + r^{n} \big) \ .\]

Subtracting \(r S_n\) from \(S_n\) and cancelling the terms provides:

\[ S_n - r S_n = a \big(1 - r^{n} \big) \ \]

And then dividing both sides by \(1-r\):

\[S_n = a \Big(\frac{1 - r^n}{1-r}\Big)\]

QED

If we have to deal with infinite geometric series, we argue that as \(n \rightarrow \infty\), \(S_n\) can either blow up or approach a finite value, this will depending whether \(r\) is large or small, but how to we define these more mathematically here?

One way to see this is to think about the proof for a geometric series:

\[\begin{split}S_n = a \Big(1 + r + r^2 + \dots + \Big) \\ r S_n = a \Big(r + r^2 + r^3 + \dots \Big)\end{split}\]

Subtracting \(r S_n\) from \(S_n\) and cancelling the terms here means that almost all the terms cancel (this is only really true if the terms being cancelled add up to something finite):

\[ S_n - r S_n = a \]

And then dividing both sides by \(1-r\):

\[S_n = a \Big(\frac{1}{1-r}\Big) \]

Another perspective is to think about the real number line, any numbers that are in the range \(0 < x < 1\), which are raised to an integer power, will definitely stay within this range. The same is also true if we extend this range out to positive and negative 1, i.e. formally:

\[\forall \, r \in \big[ -1, \, 1 \big],\, \forall \,n \in \mathbb{Z}, \,r^n \in \big[ -1,\, 1 \big]\]

(if we take any positive real power, then at least the real part will remain within this range).

This means that small and large here are determined by:

  • if \(\lvert r \rvert < 1\) then \(S_n\) converges as \(n\to \infty\),

  • if \(\lvert r \rvert > 1\) then \(S_n\) diverges as \(n\to \infty\).

If \(|r|<1\) then \(|r^n|<1\) and in the limit of \(n \rightarrow \infty\), \(|r|^n \rightarrow 0\), this makes the sum of an infinite geometric series:

\[S_\infty = a \Big(\frac{1}{1-r}\Big), \, |r|< 1\]

We will make this more explicit when we discuss limits and convergence.

5.4. Partial fractions

Consider the problem of adding different fractions, for example:

\[\frac{1}{2} + \frac{1}{3} = \frac{?}{??}\]

the easiest way to write this as one single fraction is to rewrite each fraction in terms of a common denominator and then just add the numerators. To find the common denominator, we need to find the lowest common multiple (LCM) of the denominators, here LCM\((2,3) = 6\) and hence:

\[\frac{1}{2} = \frac{3}{6}, \quad\frac{1}{3} = \frac{2}{6} \Rightarrow \frac{1}{2} + \frac{1}{3} = \frac{2 + 3}{6} = \frac{5}{6}\]

If we have two algebraic fractions, we can follow a similar process:

\[\frac{A}{x+a} + \frac{B}{x+b} = \frac{(A+B)x + (Ab+Ba)}{(x+a)(x+b)}\]

An algorithm for finding partial fractions

1. If the degree of the numerator \(m\) is greater than (or equal to) the degree of the denominator \(n\), split off the leading terms in the form of a polynomial of degree \(m-n\).

2. Split up the remaining fraction so that the degree of each numerator is one less than the degree of the denominator.

3. To find the unknown constants, combine the fractions on the right hand side and equate the coefficients in the numerators on the left and right.

5.5. Method of differences

The method of differences provides a way to find a finite series (sum of a sequence) by using the difference of similar sums to compute the desired result. This is a handy trick to find the value of partial (finite) sums .

5.5.1. Writing out the series method

Lets start with a simple example:

\[S_1 = \sum_{n=1}^5 \left( \frac{1}{n} - \frac{1}{n+1}\right)\]

we can expand out this series term by term and see some cancellation occurs:

\[\begin{split}\begin{array}{rcccrccl} S_1 = \frac{1}{1} - \frac{1}{2} &&&& S_1 = \frac{1}{1} \,- \not{\frac{1}{2}}&&\\ + \frac{1}{2} - \frac{1}{3} &&&& + \not{\frac{1}{2}} \,- \not{\frac{1}{3}}&& \\ + \frac{1}{3} - \frac{1}{4} &&\Rightarrow&& + \not{\frac{1}{3}}\, - \not{\frac{1}{4}} && \Rightarrow S_1 = 1 - \frac{1}{6} = \frac{5}{6} \\ + \frac{1}{4} - \frac{1}{5} &&&& + \not{\frac{1}{4}} \,- \not{\frac{1}{5}}&& \\ + \frac{1}{5} - \frac{1}{6} &&&& + \not{\frac{1}{5}} \,- \frac{1}{6}&& \\ \end{array}\end{split}\]

A question may appear not to have an obvious difference set out, such as:

\[S_2 = \sum_{n=1}^{5}\frac{2}{n(n+2)}\]

For a fraction of this form however, we can make use of partial fractions:

\[\frac{2}{n(n+2)} = \frac{A}{n} + \frac{B}{n+2} = \frac{A(n+2)+Bn}{n(n+2)} \]

Equating numerators gives:

\[(A+B)n + 2A = 2 \Rightarrow A = 1, B = -1\]

and so looking again at the series:

\[S_2 = \sum_{n=1}^{5} \left( \frac{1}{n} - \frac{1}{n+2} \right)\]

which is now in the form of method of differences.
Expanding out the first few and last few terms allows us to spot the pattern:

\[\begin{split} \begin{array}{rcccrccl} S_2 = \frac{1}{1} - \frac{1}{3} &&&& S_2 = \frac{1}{1} \,- \not{\frac{1}{3}}&&\\ + \frac{1}{2} - \frac{1}{4} &&&& + \frac{1}{2} \,- \not{\frac{1}{4}}&& \\ + \frac{1}{3} - \frac{1}{5} &&\Rightarrow&& + \not{\frac{1}{3}} \,- \not{\frac{1}{5}}&& \Rightarrow S_2 = 1 + \frac{1}{2} - \frac{1}{6} - \frac{1}{7} = \frac{25}{21} \\ + \frac{1}{4} - \frac{1}{6} &&&& + \not{\frac{1}{4}} \,- \frac{1}{6}&& \\ + \frac{1}{5} - \frac{1}{7} &&&& + \not{\frac{1}{5}} \,- \frac{1}{7}&& \end{array}\end{split}\]

If we have a series which is composed of an infinite number of terms, it is possible to apply the method of differences to see if it converges. An example:

\[S_3 = \sum_{n=1}^\infty \left( \frac{1}{n} - \frac{1}{n+1}\right)\]

which we can rewrite as:

\[S_4 = \sum_{n=1}^N \left( \frac{1}{n} - \frac{1}{n+1}\right)\]

and after solving by method of differences, take the limit \(N \rightarrow \infty\):

\[S_4 = 1 - \frac{1}{N+1} \Rightarrow S_3 = \lim_{N \rightarrow \infty} \left(1 - \frac{1}{N+1}\right) = 1\]

5.5.2. Rewriting the summation index method

It is possible to demonstrate the cancellation of terms without writing out the terms in the series.

In general, rewriting the summation index provides:

\[\sum_{r=1}^N f(r+c) = \sum_{r=1+c}^{N+c} f(r) \ ,\]

where \(f(r)\) is an arbitrary function of summation index \(r\) and \(c\) is a positive integer number.

This can be also used for negative integer values:

\[\sum_{r=1}^N f(r-c) = \sum_{r=1-c}^{N-c} f(r) \ .\]

You will find that this technique can drastically simplify summations we wish to solve.

For example:

\[\sum_{r=1}^N \frac{2^{r+5}}{ \sqrt{r+5}} = \sum_{r=6}^{N+5} \frac{2^{r}}{ \sqrt{r}} \ .\]

5.6. Taylor and Maclaurin series

Lets consider more complicated functions like \(\sin(x)\) or \(\ln(x)\), a question that we could ask is can we find simpler representation of these, albeit one that might not be valid in all intervals of \(x\) - an expansion around a point for instance. We call such Polynomial series Taylor series in general.

Definition of a Taylor series

We can write a formula for sum of polynomials about \(x=a\), in which we seek to express \(f(x)\) in the form:

\[p(x;\,a)=\sum_{n=0}^{\infty}c_n(x-a)^n = c_0 +c_1(x-a)+c_2(x-a)^2+\dots +c_n(c-a)^n+\dots\]

We choose the coefficients \(c_n\) to ensure that the \(n^{\text{th}}\) derivative of the polynomial is equal to the \(n^{\text{th}}\) derivative of the function at the point \(x=a\). In this sense, the Taylor series gives the best possible local polynomial approximation to \(f(x)\) of specified degree.

By repeatedly differentiating and evaluating the polynomial, we obtain

\[c_n=\frac{f^{(n)}(a)}{n!}\]

Therefore our definition looks like:

\[p(x;\,a) = \sum_{n=0}^{\infty}\frac{f^{(n)}(a)}{n!}(x-a)^n\]

The special case when \(a=0\) is known as the Maclaurin series for historical reasons.

We can see how the Taylor series can be seen as a polynomial approximation of a function by looking at higher and higher order series for \(\sin(x)\):

../_images/macplot.png

Fig. 5.1 A plot of the curve \(\sin(x)\) together with Maclaurin series expansion retaining successively greater numbers of terms, \(p_1,p_3,p_5,p_7,p_{13},p_{21}\).

As we can see. the degree 21 Maclaurin expansion represents \(\sin(x)\) rather faithfully in the range \([-2\pi,2\pi]\), but it is less accurate further away from the expansion point.

Worked example

Lets find the Taylor expansion of \(f(x)=e^x\) about \(x=0\) i.e. the Maclaurin series. We first need to find the derivatives, which here is easy:

\[\begin{split}f'(x) &= e^x \\ f''(x) &= e^x \\ f^{(3)} &= e^x \dots\end{split}\]

Therefore the series looks like:

\[p(x;\,a)=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+...\]

Notice that this series satisfies \(\displaystyle \frac{\mathrm{d}p}{\mathrm{d}x}=p\), which we would expect for \(p = e^x\).

The Maclaurin expansions of \(\sin\), \(\cos\), \(e^x\), and \(\ln(1+x)\) are particularly important:

\[\begin{split}\sin(x) &= x-\frac{x^3}{3!}+\frac{x^5}{5!}-\dots = \sum_{n=0}^{\infty}\frac{(-1)^n x^{2n+1}}{(2n)!} \\ \cos(x) &= 1-\frac{x^2}{2!}+\frac{x^4}{4!}-\dots = \sum_{n=0}^{\infty}\frac{(-1)^n x^{2n}}{(2n)!} \\ e^x &= 1+x+\frac{x^2}{2!}+\dots = \sum_{n=0}^{\infty}\frac{x^n}{n!} \\ \ln(1+x) &= x-\frac{x^2}{2}+\frac{x^3}{3}-\dots = \sum_{n=0}^{\infty}\frac{(-1)^n x^{n+1}}{n+1}\end{split}\]

You should also be able to calculate the first few terms in the expansion of an arbitrary function \(f(x)\).

A disclaimer!

Not all functions are faithfully represented by their Taylor Series. We have only guaranteed that the polynomial has the “correct” behaviour in the immediate vicinity of the point \(x=a\). Two things should be checked:

1. Does the series converge to a finite value for all \(x\)? - If not then it is important to find the radius of convergence. This can be achieved by using the ratio test

2. Does it converge to \(f(x)\)? - Even if the series converges, there is no guarantee that it converges to \(f(x)\). We would need to show that \(\displaystyle \lim_{k\rightarrow \infty}|f(x)-p_k(x;a)|=0\), which may only be true for some values of \(x\). (This can be done by making use of the Lagrange remainder theorem.)

Functions which converge to their Taylor series for a range of values are called analytic, and functions which converge to their Taylor series everywhere are called entire. The Taylor series for functions like sine, cosine exponential are entire, but the Maclaurin series for \(\ln(1+x)\) is analytic for \(|x|<1\).

The Taylor series nearly always contains an infinite number of terms. To be of practical use in applications, we typically need to “truncate” the expansion, meaning that we retain only the terms up to a specified \(n^{\text{th}}\) power of \(x\).

Example: The two-term expansion

Let us examine what happens if we retain just the first two terms in the Taylor series:

\[p(x;a)=f(a)+f'(a)(x-a)\]

This defines a straight line - \(y = f'(a)x + (f(a) - af'(a))\). Since the line passes through the point \((a, \,f(a))\) it touches the curve f(x) at the point \(x = a\). The line has slope \(f^{\prime}(a)\), which is the gradient of the curve at \(x = a\), therefore, the two-term Taylor series is just the tangent to the curve at \(x = a\). The tangent is the best possible approximation that we can obtain for the curve near the point \(x = a\) using only two terms.

As well as considering the validity of the infinite series, it is important to be able to determine how many terms in the series are needed for practical use. If the series converges very slowly, then it may not be much good!

5.6.1. Composite function expansion

Let \(P(x)\), \(Q(x)\), be two power series that converge to \(f(x)\) and \(g(x)\) respectively

Then:

  • \(aP(x) + bQ(x)\) converges to \(af(x)+ bg(x)\)

  • \( P(x)Q(x)\) converges to \(f(x)g(x)\)

  • \( P(Q(x))\) converges to \(f(g(x))\)

It means that we can construct the Taylor series for a composite function by using known results for elementary functions (although we need to take care to check the region of validity)