Keijo Ruotsalainen Division of Mathematicss-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot4B.pdf ·...
Transcript of Keijo Ruotsalainen Division of Mathematicss-mat-pcs.oulu.fi/~keba/NumMen/numer_kalvot4B.pdf ·...
Epälineaaristen yhtälöidenratkaisumenetelmät
Keijo Ruotsalainen
Division of Mathematics
Perusoletus
Lause 3.1
Olkoon f : [a, b] → R jatkuva funktio siten, että f (a)f (b) < 0.Tällöin funktiolla on ainakin yksi nolla kohta välillä [a, b], ts. onolemassa α ∈ [a, b] siten, että
f (α) = 0.
Keijo Ruotsalainen Matematiikan jaos 2 / 41
Puolitusmenetelmä
Algoritmi 3.1
1. Laske xmid = a+b2
.
2. Jos f (xmid )f (a) < 0, niin
a = a
b = xmid ,
muutoin
a = xmid
b = b.
3. Jos |b − a| < ǫ, niin STOP; muutoin palaa kohtaan (1).
Keijo Ruotsalainen Matematiikan jaos 3 / 41
Konvergenssinopeus
Puolitusmenetelmässä
k:n iteraation jälkeen nollakohta on välillä, jonka pituus on
b − a
2k.
Approksimaatio k:n iteraation jälkeen on :
Virhe: |x(k)mid
− α| ≤ b−a2k+1 → 0
Puolitusmenetelmä on siten globaalisti konvergoiva
Kuinka monta askelta tarvitaan tarkkuuteen |x(k)mid
− α| ≤ ǫ?
Vastaus:
k ≥ log2(b − a
ǫ)− 1 =
log(b−aǫ)
log(2)− 1.
Keijo Ruotsalainen Matematiikan jaos 4 / 41
Kiintopisteiteraatio
Määritelmä
Luku α on funktion Φ(x) kiintopiste, jos α = Φ(α).
Olkoon g(x) 6= 0 kaikilla x ∈ [a, b]. Tällöin x ∈ [a, b] onfunktion f (·) nollakohta täsmälleen silloin, kun se on funktion
Φ(x) = x − g(x)f (x)
kiintopiste.
Algoritmi 3.2 (Kiintopisteiteraatio)
Määritellään lukujono (xn) seuraavasti:
1. x (0) ∈ [a, b]
2. Kun x (k) on annettu, niin x (k+1) = Φ(x (k))
3. STOP, jos |x (k+1) − x (k)| < ǫ.
Keijo Ruotsalainen Matematiikan jaos 5 / 41
Kiintopisteiteraation geometria
Esim. 1 Tutki kiintopisteiteraation suppenemista funktiolleφ(x) = 2.8x − x2.
x =
0.10000.2700.68311.44611.95791.64881.89811.71191.86271.7459
0 0.5 1 1.5 2 2.50
0.5
1
1.5
2
2.5
Keijo Ruotsalainen Matematiikan jaos 6 / 41
Kiintopistelause
Lause 3.2
Olkoon funktio Φ(x) jatkuva ja
oletetaan, että Φ toteuttaa Lipschitz-ehdon:
|Φ(x)− Φ(y)| ≤ L |x − y |, 0 < L < 1,
suljetussa ja rajoitetussa joukossa [a, b].
Lisäksi oletetaan, että
Φ([a, b]) ⊂ [a, b].
Tällöin on olemassa yksikäsitteisesti määrätty kiintopistex ∈ [a, b], ja kiintopisteiteraatiot suppenevat kohti kiintopistettäjokaisella alkuarvauksella x0 ∈ [a, b].
Keijo Ruotsalainen Matematiikan jaos 7 / 41
Huomioita
Reaalilukujono xn| n = 0, 1, 2, 3, . . . on Cauchy-jono, jos
limm,k→∞
|xm − xk | = 0.
Lause 3.3
Jokaisella reaalilukujen Cauchy-jonolla xn| n = 0, 1, 2, 3, . . . onraja-arvo, ts on x siten, että
limn→∞
xn = x .
Keijo Ruotsalainen Matematiikan jaos 8 / 41
Kiintopistelauseen todistusOlkoon xn| n = 0, 1, 2, 3, . . . : xn+1 = φ(xn).
(1) Oletuksen (2) nojalla
|xn+j+1 − xn+j | = |φ(xn+j )− φ(xn+j−1)| ≤ L|xn+j − xn+j−1|≤ L2|xn+j−1 − xn+j−2| ≤ · · · ≤ Ln+j |x1 − x0|
(2) Kolmioepäyhtälö ⇒
|xn+m − xn| = |m−1∑
j=0
[xn+j+1 − xn+j ]| ≤m−1∑
j=0
|xn+j+1 − xn+j |.
1. askel ja geometrisen sarjan summa ⇒
limm,n→∞
m−1∑
j=0
|xn+j+1 − xn+j | ≤ limm,n→∞
m−1∑
j=0
Ln+j |x1 − x0|
= limm,n→∞
m−1∑
j=0
Ln+j |x1 − x0| = limm,n→∞
Ln Lm − 1
L − 1|x1 − x0| = 0.
Keijo Ruotsalainen Matematiikan jaos 9 / 41
Tod. jatkuu
(3) Siten kiintopisteiteraatiojono on Cauchy-jono, ja siksi jonollaon raja-arvo α. Jatkuvuuden ja kiintopisteiteraation nojalla
α = limn→∞
xn+1 = limn→∞
φ(xn) = φ( limn→∞
xn) = φ(α).
(4) Olkoon α1 ja α2 kaksi kiintopistettä. Tällöin
|α1 − α2| = |φ(α1)− φ(α2)| ≤ L|α1 − α2|.
Induktiivisesti jatkamalla saadaan, että kaikille n
|α1 − α2| ≤ Ln|α1 − α2| → 0, kun n → ∞.
Keijo Ruotsalainen Matematiikan jaos 10 / 41
Virhe-arviot
Lause 3.4
Olkoon (xn) suppeneva kiintopisteiteraatiojono. Tällöin jononalkioille on voimassa seuraavat virhe-arviot:
A priori-arvio
|x(k) − x | ≤ Lk
1 − L|x(1) − x(0)|
A posteriori-arvio
|x(k) − x | ≤ L
1 − L|x(k) − x(k−1)|
Lipschitz-ehto on voimassa, jos
|Φ′(x)| ≤ L < 1, x ∈ [a, b].
Keijo Ruotsalainen Matematiikan jaos 11 / 41
Konvergenssiaste
Määritellään aluksi kiintopisteiteraation konvergenssiaste:
Määr. 3.2
Iteraatiojonon (xn) konvergenssiaste on vähintäin p, jos
lim supk→∞
|xn+1 − x ||xn − x |p = K ,
missä
0 < K < ∞, p > 1
K < 1, p = 1.
Keijo Ruotsalainen Matematiikan jaos 12 / 41
Konvergenssiaste
Lause 3.5
Kiintopisteiteraation konvergenssiaste on vähintäin k , joskiintopisteessä on voimassa
φ(j)(α) = 0, j = 1, . . . , k − 1, φ(k)(α) 6= 0.
Merkitään en = xn −α ⇒ xn+1 = α+ en+1 = φ(xn) = φ(α+ en).Taylorin kehitelmä ⇒
α+ en+1 = φ(α) + φ′(α)en + · · ·+ 1
(k − 1)!φ(k−1)(α)ek−1
n
+1
k!φ(k)(ζ)ek
n .
Virheen asymptoottinen kehitelmä
en+1 =1
k!φ(k)(ζ)ek
n .
Keijo Ruotsalainen Matematiikan jaos 13 / 41
Newtonin menetelmä
Oletukset f (x) on ainakin kaksi kertaa jatkuvasti differentioituva.
Nollakohdan likiarvot xk , k = 0, 1, . . . , n laskettu;
Taylorin kehitelmä pisteen xn ympäristössä:
f (x) = f (xn) + f ′(xn)(x − xn) +1
2f ′′(ζ)(x − xn)
2;
Jos |x − xn|2 << 1, niin funktion approksimaation nollakohta
f (xn+1) = f (xn) + f ′(xn)(xn+1 − xn) = 0
on uusi "tarkempi"likiarvo.
⇒ xn+1 = xn −f (xn)
f ′(xn).
Keijo Ruotsalainen Matematiikan jaos 14 / 41
Newtonin menetelmä
Algoritmi 3.3
1. Alkuarvaus x0 ∈ [a, b];
2. n = 0, 1, 2, · · · : xn+1 = xn − f (xn)f ′(xn)
;
3. |xn − xn+1| < ǫ → Lopeta;
Newtonin menetelmä on kiintopisteiteraatio, jonka iteraatiofunktio
F (ξ) = ξ − f (ξ)
f ′(ξ).
Keijo Ruotsalainen Matematiikan jaos 15 / 41
Neliöjuuren lasku Luvun a > 0 neliöjuuri on toisen asteen polynomin
f (x) = x2 − a positiivinen nollakohta; Newtonin iteraatio
xk+1 = xk − f (xk)
f ′(xk)= xk − x2
k − a
2xk
=xk
2+
a
2xk
Esimerkiksi√
2:n iteraatiot, kun x0 = 1: xk+1 =xk+
2xk
2
x1 =3
2
x2 =17
12≈ 1.416
x3 =577
408≈ 1.414215686
x4 =665857
470832≈ 1.41421356
Keijo Ruotsalainen Matematiikan jaos 16 / 41
Esihistoriallinen laskentatapa
√2:n approksimaatio viiden desimaalin tarkkuudella vain
kolmen askeleen jälkeen.
Menetelmä yksi matematiikan historian vanhimpia.
Nuolenpääkirjoitustaulu YBC7289 (n. 1750 eaa.) löydettiinläheltä Baghdadia v. 1962 .
Neliöjuuren approksimaatio seksagesimaalijärjestelmässä(kantaluku 60) (1)(24)(51)(10)
Muunnos desimaalijärjestelmään:
1 +24
60+
51
602+
10
603= 1.41421296
Babylonialaisten menetelmää ei varmuudella tiedetä; muttauskottavasti he käyttivät “Newtonin menetelmää”.
Heron Alexandrialainen; Metrica, 1. kirja (1. vuosisata).
Keijo Ruotsalainen Matematiikan jaos 17 / 41
√2 nuolenpääkirjoituksella
∇ = 1, <= 10
Keijo Ruotsalainen Matematiikan jaos 18 / 41
Newton-Ostrowskin lause
Lause 3.6
Olkoon f : [a, b] → R kolme kertaa jatkuvasti differentioituvavälillä, ja s ∈ [a, b] funktion nollakohta siten, että f ′(s) 6= 0.Silloin on olemassa väli Iδ = [s − δ, s + δ], δ > 0, jossa Newtoninmenetelmän iteraatiofunktio F : Iδ → Iδ on kontraktio, ja sitenNewtonin menetelmä suppenee jokaisella alkuarvauksella x0 ∈ Iδ.Lisäksi konvergenssiaste on ainakin kaksi.
Todistus sivuutetaan tällä kurssilla.
Keijo Ruotsalainen Matematiikan jaos 19 / 41
Biasointipiirin toimintapiste
Kuvion 1 biasointipiiri koostuu vastuksesta R, jännitelähteestä E jatunnelidiodista D. Tunnelidiodin läpi kulkee virta j ja jännite-erokomponentin yli on v . Tunnelidiodin jännite-virta-ominaiskäyrä on
g(v) = a(ebv − 1)− µv(v − γ).
Sovelluksissa tavallisesti parametrit R ja E valitaan siten, ettäjännite v on ominaiskäyrän vähenevällä osalla so. g ′(v) < 0.Tehtävänä on määrittää biasointipiirin toimintapiste v , kun E ja R
on annettu. Kirchhoffin jännitelain nojalla päädytään yhtälöön
g(v)− E − v
R= 0.
Määrää toimintapiste v , kun a = 10−12 [A], b = 40 [V−1], µ =10−3 [AV−2], γ = 0.4 [V ], E = 0.4 [V ], R = 1/3 ∗ 104 [Ω].
Keijo Ruotsalainen Matematiikan jaos 20 / 41
Ominaiskäyrän kuvaaja
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1
0
1
2
3
4
5x 10
−4
Keijo Ruotsalainen Matematiikan jaos 21 / 41
Aitkenin δ2-prosessiFunktion φ(x) kiintopisteiteraatiot xn| n ∈ Nja α kiintopiste.Tällöin
limn→∞
xn+2 − α
xn+1 − α= lim
n→∞
φ(xn+1)− φ(α)
xn+1 − α= φ′(α).
Riittävän suurilla n:n arvoilla
xn+2 − α
xn+1 − α≈ φ′(α) ≈ xn+1 − α
xn − α
Likiarvon korjaus:
xn+2 − x∗
xn+1 − x∗=
xn+1 − x∗
xn − x∗
x∗ = xn −(xn+1 − xn)
2
xn+2 − 2xn+1 + xn
.
Keijo Ruotsalainen Matematiikan jaos 22 / 41
Aitkenin δ2-prosessi
Algoritmi 3.4
1. x0 alkuarvaus;
2. Lasketaan kiintopisteiteraatiolla lukujono (xn)n≥0;
3. Korjataan Aitkenin δ2-prosessilla uudet likiarvot
zn = xn −(xn+1 − xn)
2
xn+2 − 2xn+1 + xn.
Lause 3.7
Oletetaan, että jono (xn)n≥0 suppenee lineaarisesti, ts. virheelleen = xn − x on voimassa: en+1 ≈ qen, q < 1. Tällöin Aitkeninδ2-prosessilla konstruoidulle jonolle on voimassa
limn→∞
zn − x
xn − x= 0.
Keijo Ruotsalainen Matematiikan jaos 23 / 41
Esimerkki
Esim. 1
Ratkaise Aitkenin δ2-prosessilla funktion φ(x) = 1
2sin(x) + 1
4
kiintopisteen approksimaatio.
Ratk.:
Kiintopisteiteraatio: xk+1 = 1
2sin(xk) +
1
4, x0 = 0;
Aitkenin δ2-prosessi: zk = xk − (xk+1−xk)2
xk+2−2xk+1+xk
Keijo Ruotsalainen Matematiikan jaos 24 / 41
IteraatiotKiintopisteiteraatio Aitken
x0 = 0x1 = 0.25
x2 = 0.3737... z0 = x0 − (x1−x0)2
x2−2x1+x0= 0.49486
x0 = z0
x1 = 0.48475
x2 = 0.48419 z1 = x0 − (x1−x0)2
x2−2x1+x0= 0.49161
x0 = z1
x1 = 0.48160522
x2 = 0.4816012 z2 = x0 − (x1−x0)2
x2−2x1+x0= 0.481598...
Yhtälön “tarkka” ratkaisu: α = 0.481598...
Kiintopisteiteraation virhe e = 0.0019358
Aitkenin δ2-prosessin virhe eδ = 2.445 × 10−11
Keijo Ruotsalainen Matematiikan jaos 25 / 41
Kiintopisteiteraatio
Vektoriarvoisen kuvauksen kiintopiste
x =
x1
x2
...xn
=
Φ1(x1, x2, · · · , xn)Φ2(x1, x2, · · · , xn)
...Φn(x1, x2, . . . , xn)
= Φ(x)
Algoritmi 3.5
1. Alkuarvaus x(0) ∈ Rn;
2. Kaikille k ≥ 0 : x(k+1) = Φ(x(k)) ∈ Rn;
3. If ‖x(k+1) − x(k)‖ < ǫ, then STOP.
Keijo Ruotsalainen Matematiikan jaos 26 / 41
Suppenemisehto
Lause 3.8
Oletetaan, että seuraavat ehdot ovat voimassa
1. Suljettu ja rajoitettu joukko A ⊂ Rn s.e.
Φ(A) ⊂ A;
2. Lipschitz-ehto:
‖Φ(x) − Φ(y)‖ ≤ L ‖x − y‖ < ‖x − y‖
kaikilla x , y ∈ A
Tällöin joukossa A on olemassa yksikäsitteisesti määrättykiintopiste x ∈ A, ja kiintopisteiteraatiot suppenevat.
Keijo Ruotsalainen Matematiikan jaos 27 / 41
Huomioita
Lipschitz-ehto on tosi, jos Φ:n funktionaalimatriisille l. derivaatalle
Φ′(x) =
∇Φ1(x)∇Φ2(x)
...∇Φn(x)
on voimassa‖Φ′(x)‖ ≤ L < 1, x ∈ A,
jonkin matriisinormin suhteen (kts. liite A). Tämä on yhtäpitäväsen ehdon kanssa, että funktionaalimatriisin spektraalisäde
ρ(Φ′(x)) < 1.
Keijo Ruotsalainen Matematiikan jaos 28 / 41
Esim. kiintopisteiteraatiosta
Esim. 2
Tutki, onko funktiolle
F (x) =
[
0.1x21+ sin(x2)
cos(x1) + 0.1x22
]
kiintopistelauseen ehdot voimassa suorakaiteessa
D = (x1, x2)| 0.75 ≤ x1 ≤ 0.78, 0.77 ≤ x2 ≤ 0.8,
ja määrää funktion kiintopisteen approksimaatio.
Keijo Ruotsalainen Matematiikan jaos 29 / 41
Yhtälöryhmä
Yhtälöryhmä:
F (x) =
F1(x1, . . . , xn)...
Fn(x1, . . . , xn)
=
0...0
Funktion F (x) derivaatta:
F ′(x) =
∇F1(x)...
∇Fi (x)...
∇Fn(x)
=
∂F1∂x1
∂F1∂x2
. . . ∂F1∂xn
∂F2∂x1
∂F2∂x2
. . . ∂F2∂xn
......
. . ....
∂Fn
∂x1
∂Fn
∂x2. . . ∂Fn
∂xn
Keijo Ruotsalainen Matematiikan jaos 30 / 41
Oletukset ja algoritmi
Yhtälöryhmän ratkaisulle ζ ∈ Rn:
det(F ′(ζ)) 6= 0.
Algoritmi 3.6
1. Alkuarvaus x(0) ∈ Rn;
2. Ratkaise δx ∈ Rn:
F ′(x(k))δx = −F (x(k));
3. Uusi approksimaatio
x(k+1) = x(k) + δx ;
4. Lopetuskriteerio: ‖δx‖ < ǫ ja ‖F (x(k+1))‖ < ρ.
Keijo Ruotsalainen Matematiikan jaos 31 / 41
EsimerkkiEsim. 3
Etsi yhtälöryhmän
x2 + y2 + 0.6y − 0.16 = 0
x2 − y2 + x − 1.6y − 0.14 = 0
likiratkaisu pisteen (x0, y0) = (0.6, 0.25) ympäristöstä.
Ratkaisu: Funktion
F (x , y) =
(
x2 + y2 + 0.6 · y − 0.16x2 − y2 + x − 1.6y − 0.14
)
derivaatta pisteessä (x , y) on
F ′(x , y) =
(
2x 2y + 0.62x + 1 −2y − 1.6
)
Keijo Ruotsalainen Matematiikan jaos 32 / 41
1. iteraatio
1. iteraatio:
Ratkaistaan yhtälöryhmä
F ′(x0, y0)δx =
(
1.2 1.12.2 −2.1
)(
ξ0η0
)
= −(
0.41250.3575
)
= −F (x0, y0)
⇒(
ξ0η0
)
=
(
−0.254960−0.096862
)
.
Uusi approksimaatio on siten
(
x1
y1
)
=
(
x0
y0
)
+
(
ξ0η0
)
=
(
0.3450400.153138
)
Keijo Ruotsalainen Matematiikan jaos 33 / 41
2. iteraatio
2. iteraatio
F ′(x1, y1)δx = −F (x1, y1)(
0.690081 0.906271.690081 −1.90627
)(
ξ1η1
)
= −(
0.07438670.0556220
)
⇒(
ξ1η1
)
=
(
−6.75094 · 10−2
−3.06747 · 10−2
)
.
Uusi approksimaatio on siten
(
x2
y2
)
=
(
x1
y1
)
+
(
ξ1η1
)
=
(
0.27753105550.1224629827
)
Keijo Ruotsalainen Matematiikan jaos 34 / 41
Loput iteraatiot
k xk yk ξk ηk
0 0.6 0.25 -2.54960·10−1 -9.68623·10−2
1 0.3450404858 0.1531376518 -6.75094·10−2 -3.06747·10−2
2 0.2775310555 0.1224629827 -5.64594·10−3 -2.79860·10−3
3 0.2718851108 0.1196643843 -4.06023·10−5 -2.10056·10−5
4 0.27188445085 0.1196433787 -2.1579·10−9 -1.1043·10−9
5 0.2718845063 0.1196433776
Keijo Ruotsalainen Matematiikan jaos 35 / 41
Ostrowski’n lause
Lause 3.9
Olkoon funktion F (x) koordinaattifunktiot kolmesti jatkuvastidifferentioituvia suorakaiteessa
A = x ∈ Rn| ai ≤ xi ≤ bi,
joka sisältää F :n nollakohdan, ja funktionaalimatriisi F ′(x) onsäännöllinen matriisi nollakohdassa. Silloin Newtonin menetelmäsuppenee kvadraattisesti kohti nollakohtaa, jos alkuarvaus onriittävän hyvä:
limk→∞
‖x(k+1) − ζ‖‖x(k) − ζ‖2
= α < ∞.
Keijo Ruotsalainen Matematiikan jaos 36 / 41
Yksinkertaistettu Newtonin menetelmä Newtonin menetelmässä ratkaistaan lineaarinen yhtälöryhmä
jokaisella iteraatiokierroksella.
Jos jono (x(k); k = 0, 1, 2, . . . ) suppenee ja funktio F (x) onriittävän sileä, niin limk→∞ F ′(x(k)) = F ′(x)
Riittävän suurilla k:n arvoilla
F ′(x(m)) ≈ F ′(x(k)), m = k + 1, k + 2, . . . .
Näin ollen seuraavan algoritmin käyttö on perusteltua
Algoritmi 3.7
1. Alkuarvaus x(0) ∈ Rn;
2. Ratkaise δx ∈ Rn: F ′(x(0))δx = −F (x(k));
3. Uusi approksimaatio x(k+1) = x(k) + δx ;
4. Lopetuskriteerio: ‖δx‖ < ǫ ja ‖F (x(k+1))‖ < ρ.
Keijo Ruotsalainen Matematiikan jaos 37 / 41
Esimerkki
Esim. 4
Etsi yhtälöryhmän
x2 + y2 + 0.6y − 0.16 = 0
x2 − y2 + x − 1.6y − 0.14 = 0
likiratkaisu yksinkertaistetulla Newtonin menetelmällä pisteen(x0, y0) = (0.3, 0.1) ympäristöstä.
Ratkaisu: Funktio ja sen derivaattamatriisi ovat kuin edellisessäesimerkissä. Jokaisella iteraatiolla ratkaistavan yhtälöryhmänkerroinmatriisi on
F ′(x0, y0)δx =
(
0.6 0.81.6 −1.8
)
.
Keijo Ruotsalainen Matematiikan jaos 38 / 41
1. iteraatio
Ratkaistaan yhtälöryhmä
F ′(x0, y0)δx = −F (x0, y0)(
0.6 0.81.6 −1.8
)(
ξ0η0
)
= −(
00.08
)
⇒(
ξ0η0
)
=
(
−2.71186 · 10−2
2.03390 · 10−2
)
.
Uusi approksimaatio on siten
(
x1
y1
)
=
(
x0
y0
)
+
(
ξ0η0
)
=
(
0.27288135590.1203389831
)
Keijo Ruotsalainen Matematiikan jaos 39 / 41
2. iteraatio
F ′(x0, y0)δx = −F (x1, y1)(
0.6 0.81.6 −1.8
)(
ξ1η1
)
= −(
0.0011490950.000321746
)
⇒(
ξ1η1
)
=
(
−9.85495 · 10−4
−6.97248 · 10−4
)
.
Uusi approksimaatio on siten
(
x2
y2
)
=
(
x1
y1
)
+
(
ξ1η1
)
=
(
0.27189586080.1196417355
)
.
Keijo Ruotsalainen Matematiikan jaos 40 / 41
Loput iteraatiot
k xk yk ξk ηk
0 0.3 0.1 -2.71186·10−2 2.03390·10−2
1 0.2728813559 0.1203389831 -9.85495·10−4 -6.97248·10−4
2 0.2718958608 0.1196417355 -4.81441·10−5 2.92648·10−6
3 0.2718477167 0.1196446620 -3.03256·10−6 -1.25483·10−6
4 0.2718446841 0.1196434072 -1.67246·10−7 -2.64407·10−8
5 0.2718845169 0.1196433808 -9.9322·10−9 -3.0508·10−9
6 0.27188445070 0.1196433777
Keijo Ruotsalainen Matematiikan jaos 41 / 41