Examen final Flashcards
(u, v, w) vector u, v vector w pentru i = 1, n wi = ui + vi retur
adunarea vectorilor w=u+v
(a, v, w) real a vector v vector w pentru i = 1, n wi = avi retur
inmulteste vectorul v cu scalarul a
tip vector euclidian funct¸ie produs(u, v) euclidian u, v real p p = 0 pentru i = 1, n p = p + uivi ˆıntoarce p
funct¸ia norma (u) euclidian u, v real norma norma = pprodus(u, u) ˆıntoarce norma
definirea unui spatiu euclidian
tip vector polinom procedur˘a xxxx(n, r, q, p); intreg n polinom r, q polinom p ˆıntreg i, j, k pentru i = 0, 2n pi = 0 pentru i = 0, n pentru j = 0, n k = i + j pk = pk + riqj retur
inmultirea polinoamelor p=rq
funct¸ie yyyy(n, p, x) intreg n polinom p real x real v v = pn pentru i = n − 1, 0, −1 v = pi + vx ˆıntoarce v
evaluarea polinomului p(x)
tip tablou real matrice (n, n) procedur˘a xxxx(a, b, c) matrice a, b matrice c pentru i = 1, n pentru j = 1, n cij = aij + bij retur
adunarea matricelor
procedur˘a yyyy(α, b, c) real α matrice b matrice c pentru i = 1, n pentru j = 1, n cij = αbij retur
inmultirea matricei b cu scalarul α
procedur˘a xxxx(a, b, c) matrice a, b matrice c pentru i = 1, n pentru j = 1, n cij = 0 pentru k = 1, n cij = aikbkj + cij retur
inmultirea matricelor
procedur˘a yyyy(u, v, w) complex u, v complex w w.re = u.re + v.re w.im = u.im + v.im retur
suma numerelor complexe
procedur˘a xxxx(u, v, w) complex u, v complex w w.re = u.re · v.re − u.im · v.im w.im = u.re · v.im + u.im · v.re retur
produsul numerelor complexe
procedur˘a yyyy(u, v, w) complex u, v complex w w.re = u.re − v.re w.im = u.im − v.im retur
diferenta numerelor complexe
procedur˘a xxxx(u, v, w) complex u, v complex w real v2 v2 = v.re · v.re + v.im · v.im w.re = (u.re · v.re + u.im · v.im)/v2 w.im = (u.im · v.re − u.re · v.im)/v2 retur
raportul numerelor complexe
funct¸ia yyyy(u) complex u real m m = p (u.re · u.re + u.im · u.im) ˆıntoarce m
modulul numarului complex
funct¸ie xxxx (n, p, x) ˆıntreg n polinom p real x real v real xk v = p0 pentru i = 1, n xk = pi pentru k = 1, i xk = xk · x v = v + xk ˆıntoarce v
evaluarea polinomului
real err err=1 repet˘a err=err/2 pˆan˘a cˆand (1 + err = 1) scrie err
calcularea erorii relative de rotunjire
real tip inregistrare interval
real val
real er
procedura xxxx (x,y,s) interval x, y, s s.val = x.val + y.val s.er = err + (|x.val · x.er| + |y.val · y.er|)/|s.val| retur
suma erorii relative
procedura yyyy(x,y,d) interval x, y, d d.val = x.val − y.val d.er = err + (|x.val · x.er| + |y.val · y.er|)/|d.val| retur
diferenta erorii relative
procedura xxxx(x,y,p) interval x, y, p p.val = x.val · y.val p.er = err + |x.er| + |y.er| retur
produsul erorii relative
procedura yyyy(x,y,c) interval x, y, c c.val = x.val/y.val c.er = err + |x.er| + |y.er| retur
diferenta erorii relative
funct¸ia xxxx(x) real x, t, s ˆıntreg k t = x s = t k = 1 repet˘a k = k + 2 t = −tx2/k/(k − 1) s = s + t pˆan˘a cˆand |t|
functia sinus
procedura yyyy(n, a, b, x) tablou real a(n, n), b(n), x(n) pentru k = 1, n − 1 pentru i = k + 1, n p = aik/akk pentru j = k + 1, n aij = aij − akjp bi = bi − bkp xn = bn/ann pentru i = n − 1, 1, −1 s = bi pentru j = n, i + 1, −1 s = s − aijxj xi = s/aii retur
Gauss fara pivotare
funct¸ia xxxx (n, a, b, x) tablou real a(n, n), b(n), x(n) pentru k = 1, n − 1 max = k pentru m = k + 1, n dac˘a |amx| > |amax,k| atunci max = m dac˘a amax,k = 0 atunci ˆıntoarce 1 dac˘a max 6= k atunci pentru m = k, n temp = akm akm = amax,m amax,m = temp temp = bk bk = bmax bmax = temp pentru i = k + 1, n dac˘a aik 6= 0 atunci p = aik/akk pentru j = k + 1, n aij = aij − akj · p bi = bi − bk · p ; retrosubstitut¸ie dac˘a an,n = 0 atunci ˆıntoarce 1 xn = bn/an,n pentru i = n − 1, 1, −1 s = bi pentru j = n, i + 1, −1 s = s − aij · xj xi = s/aii ˆıntoarce 0
metoda Gauss cu pivotare partiala
procedur˘a yyyy(n, m, a, B, X) întreg n întreg m tablou real a[n][n] tablou real B[n][m] tablou real X[n][m] întreg i, j, k real p, s pentru k = 1, n − 1 pentru i = k + 1, n p = −aik /akk pentru j = k + 1, n aij = aij + pakj • pentru j = 1, m bij = bij + pbkj • • • pentru k = 1, m xnk = bnk /ann pentru i = n − 1, 1, −1 s = 0 pentru j = i + 1, n s = s + aij xjk • xik = (bik − s)/aii • • retur
Gauss simultan
procedur˘a xxxx(n, p, q, r, b, x) întreg n tablou real p[n], q[n], r[n] tablou real b[n] tablou real x[n] întreg i, k pentru k = 1, n − 1 m = −pk+1/qk qk+1 = qk+1 + mrk bk+1 = bk+1 + mbk • xn = bn/qn pentru i = n − 1, 1, −1 xi = (bi − ri xi+1 )/qi • retur
Gauss pentru matrice rara
pentru k = 1, n − 1 pentru i = k + 1, n p = −aik /akk pentru j = k + 1, n aij = aij + pakj • aik = −p • • procedur˘a factorizare_LU(n, a)
; varianta xxxx ; declara¸tii · · · pentru k = 1, n − 1 pentru i = k + 1, n aik = aik /akk pentru j = k + 1, n aij = aij − aik akj ; Factorizare "pe loc" : "A = L + U − I" • • • retur
varianta doolittle
procedur˘a rezolva_LU( ˘ n, a, b, x) ; rezolva sistemul de ecua¸tii ˘ ax = b prin factorizare LU ; matricea este presupusa a fi deja factorizat ˘ a în loc ˘ ; varianta Doolittle ; declara¸tii · · · ; substitu¸tie progresiva˘ y1 = b1 ; formula (55), unde l11 = 1 pentru i = 2, n s = 0 pentru j = 1, i − 1 s = s + aij yj ; formula (56), unde L este memorat în a • yi = bi − s ; deoarce l ii = 1 • ; substitu¸tie regresiva˘ xn = yn/ann ; formula (57), unde U este memorat în a pentru i = n − 1, 1, −1 s = 0 pentru j = i + 1, n s = s + aij xj • xi = (yi − s)/aii • retur
doolittle dupa factorizare
procedura yyyy (n,a,b,x,nrit,eps) tablou real a(n,n),b(n),x(n) ˆınteg nrit real eps tablou real xn(N) k = 0 pentru i=1,n xi = 0 repet˘a err= 0; pentru i= 1,n s = b(i) pentru j=1,n s = s − a(i, j)x(j) s = s + a(i, i)x(i) xn(i) = s/a(i, i) s = |xn(i) − x(i)| dac˘a err < s atunci err = s pentru i= 1,n x(i) = xn(i) k = k + 1 pˆan˘a cˆand (err < eps) sau (k > nrit) retur
metode iterative - Jacobi
procedura Gauss-Seidel(n,a,b,x,nrit,eps) tablou real a(n,n), b(n), x(n) ˆıntreg nrit real eps init¸ializ˘ari k = 0 pentru i=1,n x(i) = 0 repet˘a err = 0 pentru i=1,n s = b(i) pentru j=1,n s = s − a(i, j)x(j) s = (s + a(i, i)x(i))/a(i, i) err = err + (s − x(i)) x(i) = s k = k + 1 err = sqrt(err) pˆan˘a cˆand (err < eps) sau (k > nrit) retur
metode iterative - Gauss - Seidel