• Aucun résultat trouvé

Solution du TD 1Exercices sur papier

N/A
N/A
Protected

Academic year: 2022

Partager "Solution du TD 1Exercices sur papier"

Copied!
5
0
0

Texte intégral

(1)

Solution du TD 1

Exercices sur papier

1. On considère la suite définie par la récurrence a) Calculer pour .

In [1]: # Puisqu'on a la machine sous la main, autant l'utiliser pour vérifier nos calculs ! def u(n):

if n<1: return 0

else: return u(n-1)+2*n-1

print ([u(n) for n in range(7)])

b) Deviner une formule pour . Manifestement,

c) Prouver la formule par récurrence.

Elle est vraie pour . Si on la suppose vraie jusqu'au rang , alors, elle est donc encore vraie au rang , CQFD.

d) Exprimer comme une somme (sans récurrence) et imaginer un dessin rendant la solution évidente.

Puisque s'obtient à partir de en lui ajoutant une fonction de seul, , on a

autrement dit,

est la somme des premiers nombres impairs.

Pourquoi cette somme vaut-elle ? C'est l'aire d'un carré de côté , qu'on peut découper ainsi :

2. Mêmes questions pour les sommes alternées

a) Calculer pour n≤6.

In [2]: def S(n):

return sum([((-1)**(n-k))*k**2 for k in range(1,n+1)]) print ([S(n) for n in range(1,7)])

b) Deviner une formule pour .

Il semble bien que .

On teste sur les cas suivants avant de se lancer : ( )un

= + 2n− 1, = 0.

un un−1 u0 un n≤ 6

un

u(n) =n2.

n= 0 n− 1

= (n− 1 + 2n− 1 = − 2n+ 1 + 2n− 1 = ,

un )2 n2 n2

n

un

un un−1 n f(n) = 2n− 1

= +f(n) = +f(n− 1) +f(n) = … = +f(1) +f(2) + ⋯ +f(n) = (2i− 1)

un un−1 un−2 u0

i=1 n

= 1 + 3 + 5 + ⋯ + (2n− 1) un

n

n2 n

∗ + o x

∗ + o x x

∗ + o o o

∗ + + + +

= 1 + 3 + 5 + 7 + 9 52

= (−1 .

Sn

k=1 n

)n−kk2

Sn

Sn

21 = 3 × 7, 15 = 5 × 3, 10 = 2 × 5, 6 = 2 × 3, ⋯

= Sn

n(n+1) 2

[0, 1, 4, 9, 16, 25, 36]

[1, 3, 6, 10, 15, 21]

(2)

In [3]: print ([S(n) for n in range(7,11)])

Ça a l'air bon, alors on y va. On a bien . Si on suppose la formule vraie jusqu'au rang , on a (attention aux signes !)

elle est donc encore vraie au rang suivant, est c'est démontré.

d) Exprimer comme une somme (sans récurrence) ? C'est comme ça qu'elle est définie, à la question précédente, on a fait l'inverse : transformer la somme en récurrence.

Imaginer un dessin rendant la solution évidente.

3. Soit la suite définie par la récurrence a) Calculer les 6 premiers termes.

In [4]: def v(n):

if n<1: return 1 return 3*v(n-1)-1

print ([v(n) for n in range(7)])

b) Trouver une expression de la série génératrice

On a

Donc,

et

c) En déduire la valeur de . On décompose en éléments simples :

car le degré du numérateur est inférieur à celui du dénominateur, et ce dernier n'a que des racines simples. En multipliant par et en posant , on trouve . En multipliant pas et en posant , on trouve .

On peut vérifier avec sympy :

In [5]: from sympy import * var('x')

= 1 = 1(1 + 1)/2

S1 n− 1

= − + = − + = − + n+ = ,

Sn Sn−1 n2 (n− 1)n

2 n2 1

2n2 1

2 n2 n(n+ 1) 2

Sn

=

∗ ∗

∗ ∗

− + − + = 1 + 2 + 3 + 4 + 5 =

52 42 32 22 12 5(5 + 1)

2

( )vn

= 3 − 1, = 1.

vn vn−1 v0

V(x) =∑ .

n≥0

vnxn

V(x) =v0+∑(3 − 1) = 1 + 3x −

n≥1

vn−1 xn

n≥1

vn−1xn−1

n≥1

xn

= 1 + 3xV(x) − x . 1 −x (1 − 3x)V(x) = 1 − x =

1 −x

1 − 2x 1 −x V(x) = 1 − 2x .

(1 −x)(1 − 3x)

vn

V(x) = 1 − 2x = +

(1 −x)(1 − 3x) a 1 −x

b 1 − 3x

1 −x x= 1

a=12 1 − 3x x= 13 b= 12

[28, 36, 45, 55]

[1, 2, 5, 14, 41, 122, 365]

Out[5]: x

(3)

On a donc finalement

et ainsi,

Vérifions :

In [8]: print([(3**n+1)//2 for n in range(7)])

Exercices sur machine

4. Soit la suite définie par

a) Trouver une expression de la série génératrice de . Il faut tout de même faire ce calcul sur papier :

donc

La factorisation du membre droit de cette égalité était évidente, mais le polynôme en facteur de à gauche se factorise aussi : In [9]: factor(1-2*x-x**2+2*x**3)

Il nous reste donc, après simplification par , soit

On calcule la décomposition avec sympy : In [10]: U = (1-x)/((1+x)*(1-2*x))

apart(U)

On a donc (attention aux signes en recopiant !)

d'où

soit

. Vérifions :

In [11]: series(U,x,0,10)

In [11]: print [(2**n+2*(-1)**n)/3 for n in range(10)]

V(x) = 1 + (3x =

2∑

n≥0

xn 1 2∑

n≥0

)n

n≥0

+ 1 3n

2 xn

= .

vn 3n+ 1 2

( )un

= 2 + − 2 , = 1, = 0, = 2.

un un−1 un−2 un−3 u0 u1 u2 U(x) ( )un

U(x) =u0+u1x+u2x2+∑(2 + − 2 ) = 1 + 2 + 2x(U(x) − 1 − 0x) + (U(x) − 1) − 2 U(x)

n≥3

un−1 un−2 un−3 xn x2 x2 x3

= 1 − 2x+x2+ (2x+x2− 2 )U(x)x3 (1 − 2x−x2+ 2 )Ux3 (x) = (1 −x)2

U(x)

1 −x

(1 +x)(1 − 2x)U(x) = (1 −x) U(x) = 1 −x

(1 +x)(1 − 2x)

U(x) = 1 + = (2x + (−x

3 1 1 − 2x

2 3

1 1 +x

1 3∑

n≥0

)n 2 3∑

n≥0

)n

U(x) =∑

n≥0

+ (−1 2 2n )n

3

= ( + (−1 )

un 2

3 2n−1 )n [1, 2, 5, 14, 41, 122, 365]

Out[9]: (x− 1) (x+ 1) (2x− 1)

Out[10]:

− 1 +

3 (2x− 1) 2 3 (x+ 1)

Out[11]: 1 + 2x2+ 2x3+ 6x4+ 10x5+ 22x6+ 42x7+ 86x8+ 170x9+O(x10)

[1, 0, 2, 2, 6, 10, 22, 42, 86, 170]

(4)

In [12]: def u(n):

if n==0: return 1 elif n==1: return 0 elif n==2: return 2

else: return 2*u(n-1)+u(n-2)-2*u(n-3)

print ([u(n) for n in range(10)])

5. On considère la suite définie par

Il n'existe pas de méthode générale pour résoudre ce genre de récurrence.

a) Programmer la suite avec . In [13]: var('a b')

def q(n):

if n==0: return a if n==1: return b

return simplify((1+q(n-1))/q(n-2)) print ([q(n) for n in range(8)])

On voit que la suite est périodique : . Donc . Il n'y a rien de plus à dire ...

6. Soit la somme alternéee

a) Programmer la fonction avec (utiliser ).

In [14]: def A(n):

return sum([(-1)**k*Rational((2*k+1)**3,(2*k+1)**4+4) for k in range(n+1)]) print ([A(n) for n in range(12)])

On voit que le numérateur doit être . Pour le dénominateur, si on retranche 1, on voit apparaître c'est

de sorte que

et il semble bien que

On teste :

In [15]: def B(n):

return (-1)**n*Rational(n+1, (2*n+2)**2+1) print ([B(n) for n in range(12)])

Pour prouver la formule, il suffit de vérifier que le terme général de la somme

est bien la différence de deux valeurs consécutives de notre expression conjecturale.

( )qn

= , =a, =b.

qn 1 +qn−1

qn−2 q0 q1

sympy

= , =

u6 u0 u7 u1 un=un mod 6

An

= (−1 .

An

k=0 n

)k (2k+ 1)3 (2k+ 1 + 4)4 A(n) sympy Rational

(−1 (n)n + 1)

4, 16, 36, 64, 100, 144, … , , , , , … 22 42 62 102 122

= (−1 , = (−1 , …

A0 )0 0 + 1

(2(0 + 1) + 1)2 A1 )1 1 + 1 (2(1 + 1) + 1)2

= (−1 .

An )n n+ 1 (2n+ 2 + 1)2

An

= (−1

an )n (2n+ 1)3 (2n+ 1 + 4)4

Bn Bn−1

[1, 0, 2, 2, 6, 10, 22, 42, 86, 170]

[a, b, (b + 1)/a, (a + b + 1)/(a*b), (a + 1)/b, a, b, (b + 1)/a]

[1/5, -2/17, 3/37, -4/65, 5/101, -6/145, 7/197, -8/257, 9/325, -10/401, 11/485, -12/577]

[1/5, -2/17, 3/37, -4/65, 5/101, -6/145, 7/197, -8/257, 9/325, -10/401, 11/485, -12/577]

(5)

In [18]: cc = bb.subs(x,x-1); cc

In [20]: dd = cc+bb

In [24]: # Il y a un bug dans simplify, on décompose le calcul dd.as_numer_denom()

In [25]: list(map(expand,_))

In [26]: [factor(_[0]),factor(_[1]-4)]

Out[18]: x 4x2+ 1

Out[24]: (x*((2*x + 2)**2 + 1) + (x + 1)*(4*x**2 + 1), (4*x**2 + 1)*((2*x + 2)**2 + 1))

Out[25]: [8*x**3 + 12*x**2 + 6*x + 1, 16*x**4 + 32*x**3 + 24*x**2 + 8*x + 5]

Out[26]: [(2*x + 1)**3, (2*x + 1)**4]

Références

Documents relatifs

Donc A\B est un minorant de A.. Corrig´ e du devoir maison L2MI Arithm´ etique. 4) La relation ∼ est clairement une relation

De plus le coefficient de x 2 étant positif, cette fonction est décroissante

[r]

[r]

L’initialisation consiste à vérifier la propriété à un rang

Le poème semble reposer sur un affrontement dramatique : à la double nature de la femme dont le dédoublement se charge d’une coloration fantastique s’oppose la nature d’un poète

Par le corollaire du th´ eor` eme des valeurs interm´ ediaires f (θ) a deux solutions (approximativement 0,4 et 0,64).. Le lapin s’en sortira donc si l’angle mesure entre 23 et

La notion d’observabilité est cruciale pour les systèmes où le vecteur d’état complet n’est pas accessible à la mesure mais doit être reconstruit, estimé ou filtré à