• Aucun résultat trouvé

ax 2 + bx + c = 0

N/A
N/A
Protected

Academic year: 2021

Partager "ax 2 + bx + c = 0"

Copied!
11
0
0

Texte intégral

(1)

IFT 2425

EXAMEN INTRA

Max Mignotte

DIRO,Départementd'InformatiqueetdeReherheOpérationnelle,loal2377

Http ://www.iro.umontreal.a/

mignotte/ift2425/

E-mail:mignotteiro.umontreal.a

Date :24/02/2009

I ... Mesured'Inertitudeet Ampliationd'Erreur(29pts)

II ... ErreurenArithmétiqueFlottante (29pts)

III ... MéthodeduPointFixeet deNewton(25pts)

IV ... Fatorisation

LU

(17pts)

V ... Interpolation(17pts)

Total ...

117

points.

Tous douments personnels, alulatries et alulateurs autorisés

(2)

Onaimeraitfaireunprogrammeinformatiquequirésoudautomatiquementleséquationsduseonddegré

dustyle

ax 2 + bx + c = 0

. Aetten,leprogramme demanderadonàl'utilisateurde rentrerau lavier lesvaleurs

a

,

b

et

c

et aheraensuitelerésultat,'estàdirelesdeuxraines(

x 1

et

x 2

)deette équation,

enutilisantlaformulelassiquesuivante

x 1 = − b + √

b 2 − 4ac

2a

(1)

x 2 = − b − √

b 2 − 4ac

2a

(2)

Onsuppose que l'on rentre les valeurssuivantes

a = 1.0

,

b = 4.00

et

c = 2.0

. On supposera aussique

lavaleur de

a

est onnue sansapproximation et que lesdeux autres valeurssontonnues ave une erreur relativede

1%

.

Onvousdemande de:

1. Soulignezleshiressigniatifsexat (se)existantdanslavaleurapproximéede

b

et

c

.

<4 pts>

2. Donnerlavaleurapproximéede

x 1

et

x 2

donnéepareprogramme(i.e.,

x 1

et

x 2

).

<2 pts>

3. Donner laborne supérieure de l'erreur absolue ou inertitude totale de

x 1

et

x 2

(i.e.,

∆x 1

et

∆x 2

)

parlaméthodedepropagationd'erreur(utilisantl'approximationdeTaylordelafontionaupremier

ordre).

<10 pts>

4. En déduirel'erreurrelativequefaite programmedansl'estimation numériquede

x 1

et

x 2

.

<3 pts>

5. Montrerqu'uneautrepossibilitéseraitd'exprimer

x 1

sousette forme

x 1 = − 2c b + √

b 2 − 4ac

(3)

<2 pts>

6. Donner l' inertitude totale de

x 1

(i.e.,

∆x 1

) par laméthode de propagation d'erreurutilisant l'ap- proximationdeTaylordelafontionaupremierordrepourl'expression(3).

<5 pts>

7. Desdeux expressionspour

x 1

(Equations(1)et (3))laquelle peutonduireàdesproblèmesd'erreurs

numériqueslorsque

b

seratrèsgrandparrapportà

a

et

c

.Justiervotreréponse.

<3 pts>

Réponse

1.

Onarespetivementpour

b

et

c

uneerreurabsoluede

∆b = 0.04 < 0.5 × 10 1

et

∆c = 0.02 < 0.5 × 10 1

.

Ce quinousdonnerespetivement,

b = 4.00

,

c = 2.0

.

<4 pts>

2.

(3)

x 1 = −4 + √

4 2 − 4 × 1 × 2

2 = − 2 + √

2 ≈ − 0.58578

et

x 2 = −4 − √

4 2 − 4 × 1 × 2

2 = − 2 − √

2 ≈ − 3.41421

<2 pts>

3.

Pour aluler l'inertitude(ou laborne supérieure de l'erreurabsolue) de

x 1

et

x 2

, on doit alulerla

diérentielle

∆x 1

et

∆x 2

(fontiondesdeux variablesapproximées

b

et

c

etdelavaleurpréise

a

),i.e.,(en

posant

∆ = b 2 − 4ac)

∆x 1 (b, c) = 1 2a

− 1 + b

√ ∆

∆b + − 1

√ ∆ ∆c

∆x 2 (b, c) = 1 2a

−1 − b

√ ∆

∆b +

√ 1

∆ ∆c

<8 pts>

Ave

∆b = 0.04

et

∆c = 0.02

,soitpuisque

∆ = √

4 2 − 4 × 2 ≈ 2.828427

∆x 1 = 1 2

− 1 + 4 2.828427

× 0.04 +

− 1 2.828427

× 0.02 ≈ 0.01535

∆x 2 = 1 2

−1 − 4 2.828427

× 0.04 +

1 2.828427

× 0.02 ≈ 0.05535

<2 pts>

4.

Onobtientdonuneerreurrelativede

∆x 1 /x 1 ≈ 0.01535/0.58578 = 2.62 %

et

∆x 2 /x 2 = 0.05535/3.41421 ≈ 1.62 %

<3 pts>

5.

− b + √

b 2 − 4ac

2a = − b + √

b 2 − 4ac

2a · b + √

b 2 − 4ac b + √

b 2 − 4ac = − b 2 + b 2 − 4ac 2a(b + √

b 2 − 4ac) = − 2c b + √

b 2 − 4ac

<2 pts>

6.

∆x 1 (b, c) = − 2c

− 1 + √ b

(b + √

∆) 2

∆b +

− 2(b + √

∆) − 4c (b + √

∆) 2

∆c

≈ 0.03539 + 0.0064644 ≈ 0.0418544

<5 pts>

7.

Lorsque

b

seratrès grandpar rapport à

a

et

c

, l'expressionde

x 1

donnée par l'équation (1) aura une

annulationdesedue àlasoustrationdedeuxnombresquasiégauxapproximées.

<3 pts>

(4)

1. Soitl'expresionnumérique suivante

f (x) = ln(x + p x 2 + 1)

(a) Identiez,pourquellevaleurde

x

,etletypedeproblèmenumériquemajeurauquelseraonfrontée

lealuldeetteexpression.

<3 pts>

(b) Caluler

f (x) + f ( − x)

.

<2 pts>

() En s'aidantde la questionpréédente,trouverdon une façonde aluler

f ( − 10 10 )

(et faîte e

alul)quineferapasintervenirletyped'erreurnumériquemisenévideneàlapremièrequestion.

<3 pts>

2. Soitlaroutinesuivante

ALGO

matpds[...][...] Tableau 2D de flottants

nrj flottant

• nrj= 0.0

• for i = 0 to 500000, i++ do . . .

. . .

for l = 0 to 5000, l++ do . . .

. . .

if COND1 then nrj+=matpds[l][i]

else nrj-=matpds[l][i]

• return nrj

dans laquellelesélémentsdutableau matpds[℄[℄sontdes ottants(simplepréision) inférieurs à

1.0

et laCOND1estremplie9foissur10.

Ce programme marhe, par ontre, on s'aperçoit que l'on a une perte de préision au niveau de la

valeurottantenrj renvoyéeparetteproédure.

On aimeraitrésoudre e problèmede perte depréisiontout en gardantle alul enoat pluttque

d'utiliser des doublequi augmenteraienttnotreoût alulatoirepar unfateur

2

. Identiez lepro-

blème numérique qui est à l'originede ette perte de préisionet proposerune solution, 'est àdire

unnouveaupseudo-ode,permettantderenvoyerunevaleurnrjpluspréise(i.e.,pourlaquelleette

pertedepréisionnumériqueseraatténuée) enonservantdesvaleursottantes(float)simplepréi-

sion.Justiervotreréponse.

<10 pts>

3. Expliquer pourquoilealul numériquedeesexpressions

(a)

cos( x )

√ x 2 +1 − 1

(b)

− 1 + exp x

peuvent onduire à des problèmes d'erreurs numériques (identiez aussi pour quelle valeur de

x

).

Expliquer pourquoi (i.e., identier et iter le problème numérique assoié) et proposer une formule

équivalentequi permettraitd'éviteresproblèmesnumériquesetqui permettraitd'augmenter lapré-

isiondesalulsdeesdeuxexpressions.

<6 pts>

(5)

ennumérotationottante(i.e.,lapluspetite valeurqui ajoutéeà

1.0

donneraunrésultatnumérique-

mentdiérentde

1.0

).

Ilexisteunedeuxièmedénitionpossibledel'Epsilonmahine(etquidonneraunrésultatlégèrement

diérentdeeluidonnéeparlapremièredénition)quionsisteàdireque

l'Epsilon mahine estla diereneentrela pluspetite valeur ottantesupérieurà

1.0

et

1.0

.

Trouverdonettevaleurorrespondantàettedeuxièmedénition.Utiliseràettenunereprésen-

tation ottante binaireave unformatdutype

± 0.xxxx . . .

(ave 24

x

,i.e,

24

bitspourlamantisse)

dontunbitahépermettantderéerlebitdesigne(0 pourlesigne+)etunexposantsur

8

bits

permettantd'exprimer lesvaleursdel'exposantde-126à127.

<5 pts>

Réponse

1.(a)

On aura un problèmed'annulationde se (perte de préision) due à la soustration de deux nombres

approximésquasiégauxlorsque

x

vatendreversmoinsl'innie

x → −∞

.

<3 pts>

1.(b)

f (x) + f ( − x) = ln(x + p

x 2 + 1) + ln( − x + p

x 2 + 1) = ln(x 2 + 1 − x 2 ) = ln(1) = 0

<2 pts>

1.()

La question préédente nous montre que

f (x) = − f ( − x)

et don le alul de

f ( − 10 10 )

[qui pose le

problèmenumérique expliquéeen1.(a)℄pourraêtre remplaéeparlealul de

−f (10 10 )

qui nepose,ette

foisi,moinsdeproblèmed'erreurnumérique.

Lealulde

f (−10 10 )

surmaalulatriemedonnelerésultatnumériquementfaux

f (−10 10 ) =

MaERROR

et le alul (mathématiquement équivalent) de

− f (10 10 )

me donne le résultat très préis

− f (10 10 ) =

− 23, 71899811

.

<3 pts>

2

Le problème qui engendre ette perte de préision provient de l'erreur de déalage nééssaire lorsque

l'ordinateurdoitsommer(ousoustraire)deuxnombresottantsd'ordredegrandeurtrèsdiérente.Eneet,

verslande ette proédure (pour

i

grand),onadditionne (ouon soustrait)un nombreinférieurà

1.0

à

unesommepartiellequivraisemblablementseradel'ordredeplusieursmillions.Certainsmatpds[℄[℄seront

dontrèsapproximésetlapréisiondelasommerésultante(i.e.,nrj)enseraaetée.

<4 pts>

Unefaçonderenvoyerunevaleurnrj pluspréise(i.e.,pourlaquelleette pertedepréisionnumérique

seraatténuée)seraitdefaireunesommepartiellepourles

5000

élémentsdeladeuxièmeboule(Forl).De

e fait, lasomme nrj+=tmp àlan dela deuxième boule onernera desnombres d'ordrede grandeur

moinsgrandetlapréisiondenrjseraplusgrande.

<6 pts>

(6)

ALGO

matpds[...][...] Tableau 2D de flottants

nrj flottant

• nrj= 0.0

• for i = 0 to 500000, i++ do . . .

tmp=0.0

for l = 0 to 5000, l++ do . . .

if COND1 then tmp+=matpds[l][i]

else tmp-=matpds[l][i]

nrj+=tmp

• return nrj

Nota:Lorsquejeprogrammesurmonordinateurlaroutinenonorrigée,avedesmatpds[℄[℄=0.1etla

COND1,remplie9fois sur10;lavraievaleurde

nrj = 200 × 10 6

.J'obtient

2097152

enutilisantlaroutine

nonorrigéeenoattant,soituneerreursurlavaleurnrjde

98.9%

ensimplepréision(etde

3.65 × 10 6 %

en double préision). Pour la routine orrigée, j'obtient une valeur de

nrj = 200.000016 × 10 6

, soit une

erreursurlavaleurnrjde

8 × 10 6 %

ensimplepréisionsoituneerreuridentiquequeellefaîteendouble

préision.

3.

Dans les deux as, on aura un problème d'annulation de se due à la soustration de deux nombres

approximésquasiégauxlorsque

x

tendra verszéro.

<1 pt>

Pour éviter e problème, on doit érire es relations de telle façon que plus auune soustration de

deux nombres inertains (i.e., impréis) quasi égaux apparaissent. On utilise le onjugué de l'expression

√ x 2 + 1 −1

quel'onmultiplieaunumérateuretaudénominateurdanslapremièreexpressionetonutilisera undéveloppementlimitéede

exp(x)

auvoisinagede

0

pourladeuxième expression.

(a) cos(x)

√ x 2 + 1 − 1 = cos(x) √

x 2 + 1 + 1

x 2 (x → 0)

<2.5 pts>

(b) − 1 + exp x = x 2 2! + x 3

3! + x 4

4! + . . . x n

n! (x → 0)

<2.5 pts>

4.

Lapluspetitevaleurottanteplusgrandeque

1.0

soustraiteà

1.0

estdansettenumérotationottante permetdealulerl'Epsilonmahineselonette dénition

0. 1000000000000000000001

| {z }

24

bits

× 2 1

-

0. 10..

|{z}

24

bits

× 2 1 = 2 23

<5 pts>

Nota:l'unedesdeuxdénitionsdel'EpsilonmahinevientdeGNUlibmanualetdeladoumentation

deMirosoftVisual C++,l'autreprovientdustandartISOC(f.Wikipedia).

(7)

Onseproposedetrouvernumériquementdans

R +

unevaleurapprohéed'unedesrainesdelafontion,

f (x) = x − ln(1 + x) − 0.2

(4)

1. Méthode du point xe

(a) Montrer qu'il existe une raine unique

r

pour ette Eq. (4) dans l'intervalle

J =]0, 1]

. En re-

marquantque l'équation

f (x) = 0

est équivalente à

g 1 (x) = x

ave

g 1 (x) = ln(1 + x) + 0.2

,

montrerquel'intervalle

J

estunintervallesurlequellaonvergeneversunesolutionuniquepar

laméthodedupointxeest assurée.

<5 pts>

(b) Utiliserlerésultatde laquestionpréédente pouralulerles

5

premièresestimées

r 1 , . . . , r 5 ,

en

partantde

r 0 = 0.5

.

<4 pts>

() Trouverdeux fontions

g 2 (x)

et

g 3 (x)

avelesquelles

• g 2 (x) = x

et

g 3 (x) = x

sontéquivalentesàl'équation

f (x) = 0

.

Pourlesquellesvousdemontrerezqu'ellesnesontpasontratantessur

J

(i.e.,pourlaquellela

onvergeneversunesolutionuniqueparlaméthodedupointxen'estpasassurée).

<6 pts>

2. Méthode de Newton

(a) Soit

Υ(x)

, lafontionintervenantdanslaméthode itérativede Newtonpourlarésolution dela raine

r

del'équation (4)dans

J

. Donner

Υ(x)

ainsiquelarelationitérative

r n +1 = Υ(r n )

.

<3 pts>

(b) Établissezsilaméthodeitérativepréédenteseraonvergente(sionprend

x 0

dans

J

).

<4 pts>

() En déduire une valeur approhée de

r

après

3

itérations (i.e., donner

r 1 , r 2 , r 3

) (ave toujours

r 0 = 0.5

).

<3 pts>

Réponse

1.(a)

L'étude desvariationsdelafontion

f

sur

J =]0, 1]

montre quelafontionest ontinueetdéroissante sur

J

(donmonotone)(

f (x) = 1+x x < 0

sur

J

.<1pt>

Deplus, ona

f (0) = 0.2

et

f (1) = ln(2) − 0.8 < 0

don

f (0)f (1) < 0

et il existedonune raine

r

unique

dansetintervalle.<1 pt>

Deplus

g 1 (x) = 1

1 + x < 1 ∀ x ∈ J =]0, 1]

Lafontion

g 1 (x)

estdonontratantesur

J

etlaonvergeneestassurée.

<3 pts>

1.(b)

(8)

En partantde

r 0 = 0.50

,ona,

r n = g 1 (r n − 1 )

et,

r 1 = 0.6054651081 r 2 = 0.6734135016 r 3 = 0.7148655532 r 4 = 0.7393346829 r 5 = 0.753502674

<4 pts>

Nota:Cela sembleonvergertrèslentementvers

r = 0.7722498296

.

1.()

f (x) = 0

est équivalentà

x = g 2 (x) = exp( − 0.2) exp(x) − 1

. Sur

J

,

g 2 (x)

n'est pas ontratante ar

g 2 (x) = exp( − 0.2) exp(x)

et

g 2 (1) ≈ 2.2255 > 1

.

<3 pts>

f (x) = 0

est équivalent à

x = g 3 (x) = 2x − ln(1 + x) − 0.2

. Sur

J

,

g 3 (x)

n'est pas ontratante ar

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

et

g (1) = 1.5 > 1

.

<3 pts>

2.(a)

Lafontion

f (x)

estdérivablesur

J

et ona

g(x) = x − f (x)

f (x) = x − x − ln(x + 1) − 0.2

1 − 1+x 1 = x − x − ln(x + 1) − 0.2

x 1+x

Onadonlaformuleitérativesuivante,

r n+1 = r n − r n − ln(r n + 1) − 0.2

r n

1+ r n

<3 pts>

2.(b)

Pourdémontrerlaonvergenedeettesuiteitérative,leplussimpleestdedémontrer(danseas)que

x 0

et laraine quel'on herhene sontpas séparéparunextrema delafontion

f (x)

(i.e., unendroitou

f (x)

s'annule).

f (x) = 1+ x x

et

f ′′ (x) = (1+ 1 x ) 2 < 0 ∀ x ∈ J

don

f

est déroissante sur

J

. De plus

f (0) = 0

et

f (1) = − 0.5

.Donmisaparten

x = 0

(quiest exludel'intervalle

J

),

x 0

et laraine quel'onherhene

sontpasséparéparunextremadelafontion

f (x)

etlaméthodedeNewtondevraitonverger.

<4 pts>

2.()

En partantde

r 0 = 0.5

,ona,

r n = Υ(r n − 1 )

et,

r 1 = 0.6054651081 r 2 = 0.6615776673 r 3 = 0.6964865586 r 4 = 0.7195112841

<3 pts>

(9)

IV. Fatorisation

LU

(17 pts)

1. Déomposerlamatrie

A

enproduit

LU

(sanspermutation)parlaméthodedelafatorisationdirete.

<8 pts>

A =

1 4 5

2 12 18 3 15 22

2. Calulerledéterminantde

A

.

<3 pts>

3. Onaimeraitalulerl'inversedelamatrieU.Donnerl'inversedeettematrieenfaisantlesopérations

qui numériquementpermettraienttde lefairele plusrapidementpossible.Préiser dansle asd'une

matrie

U

dedimension

n

,laomplexité algorithmiquedeettetehnique.

<6 pts>

Réponse

1.

Parfatorisationdirete, ontrouve,

A =

1 4 5

2 12 18 3 15 22

 =

1 0 0 2 4 0 3 3 1

| {z }

L< 4 pts >

1 4 5 0 1 2 0 0 1

| {z }

U < 4 pts >

.

2.

det(A)

=

det(L)

×

det(U)

= 1 × (4 × 1)

= 4

<3 pts>

3.

Numériquement,larésolutionparsubstitutionarrièredestroissystèmes

U x = (1 0 0) t

,

U x = (0 1 0) t

et

U x = (0 0 1) t

permettraitd'obtenirlestroisolonnesdelamatrie

U 1

.

<2pts>

Ontrouvefailement,pourlapremièreolonne,

x = (1 0 0)

.Pourladeuxième olonne,

x = ( − 4 1 0)

et

enn pourlatroisièmeolonne,

x = (3 − 2 1)

,'estàdirelamatrie

U 1

suivante

U 1 =

1 − 4 3 0 1 − 2

0 0 1

<2 pts>

Soituneomplexitéde

n × O( n 2 2 ) = O( n 2 3 )

.

<2pts>

(10)

1. Trouver,enutilisantlaformuledeLagrange,uneinterpolationde

exp(0.5)

enutilisantlaonnaissane

despointssuivantsettrouverensuiteunebornesupérieuredel'erreurd'interpolationassoiéeàette

estimation.

x k

0 1 -2

y k = exp(x k )

1

2.72

0.135

<10 pts>

2. Trouver,enutilisantlaformuledeNewton-Gregory,uneinterpolationde

exp(0.5)

enutilisantlaonnais-

sanedespointssuivants

x k

-1 0 1

y k = exp(x k ) ≈

0.37 1

2.72

<7 pts>

Réponse

1.

En utilisantdonlepolynmedeolloationd'ordredeuxquipasseparestroispoints,ona

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

− 2 + x(x + 2)

3 × 2.72 + 2(x − 1)

6 × 0.135

<4 pts>

Unevaleurinterpoléepour

exp(0.5)

estdonestiméepar

exp(0.5) ≈ P 2 (x = 0.5) ≈ 0.625 + 1.13 − 0.0056 ≈ 1.7527

<2 pt>

Uneborne supérieuredel'erreurd'interpolationestdonnéepar

exp(0.5) − P 2 (0.5)

<

f n+1 (ξ)

(n + 1) ! (x − x 0 ) (x − x 1 ) (x − x 2 )

ξ ∈ [−2, 1]

<

exp(1)

3 ! (0.5 − 0) (0.5 − 1) (0.5 + 2)

< ≈ 0.283

<4 pts>

2.

En prenantdonestroispoints(équidistantsetordonnés), letableau desdiéreness'érit

x y ∆y ∆ 2 y

-1 0.37

0.63

0 2 1.09

1.71

1 2.72

(11)

Onobtientlepolynmesuivant

P 3 (s) = 0.37 + 0.63s + 1.09 s (s − 1) 2

<3 pts>

Pourl'interpolationontrouve,puisque

s = h 1 (x − x 0 ) = 1 1 (0.5 + 1) = 1.5 P (x = 0.5) = P (s = 1.5) ≈ 1.7275

<1 pt>

Références

Documents relatifs

[r]

Connais-tu cette fillette Qui doit porter la galette Qui cueille des pâquerettes Et ramasse des noisettes.. Mais le loup dans

Forme générique de la Solution Générale de l’Equation Sans Second Membre correspondant à un régime pseudo-périodique (on donnera le nom de chacun des paramètres

[r]

UN CONSIGLIO : INIZIA CON LE GRIGLIE LE PIÙ

[r]

[r]

The Centers for Disease Control and Prevention (CDC) defines Comprehensive Cancer Control as “a collaborative process through which a community pools resources to reduce the burden