Functia SST- consta in rezolvarea unui sistem superior triunghiular Ax=b, pentru care matricea A a fost scrisa sub forma A=QR. Aflarea solutiilor se realizeaza incepand cu ultimul element al vectorului coloana al rezultatului. Functia PR_Inv- foloseste algoritmul Gram-Schmidt optimizat pentru obtinerea unei matrice ortogonale Q si a unei matrice superior triunghiulara R astfel incat A=QR. Folosind aceasta forma si functia SST, functia calculeaza fiecare coloana a matricei inverse a matricei A data ca parametru, returnand in final chiar inversa. Functia Iterative- preia algoritmul descris in pseudocod din tema, initializand vectorul rezultat cu 1/N, dupa care calculeaza matricea de adiacenta A a grafului, eliminand cazurile cand o pagina web are o legatura catre ea insasi. Pentru calcularea lui K, se ia al doilea numar de pe fiecare linie a listei de adiacenta si se scad situatiile cand pagina are legatura catre sine. Se calculeaza matricea M folosind functia PR_Inv de calculare a inversei, dupa care se recalculeaza R pana cand diferenta ultimelor 2 valori obtinute se incadreaza in eroarea acceptata. Se returneaza penultima valoare R. Functia Algebraic- repeta algoritmul de la functia Iterative pentru calcularea valorilor auxiliare (A, K, M), insa valoarea R se calculeaza prin trecerea la limita a formulei din functia Iterative si rescrierea acesteia intr-o forma convenabila. Se obtine astfel o aproximare a vectorului coloana cautat. Functia Apartenenta- calculeaza valoarea in punctul x a functiei membru. Calcularea parametrilor a si b se realizeaza prin punerea conditiei de continuitate functiei in punctele val1 si val2 si rezolvarea unui sistem de 2 ecuatii cu 2 necunoscute. Cei doi parametri depind astfel direct de val1 si val2. Dupa apartenenta la una dintre cele 3 ramuri, se inlocuieste x si se obtine valoarea functiei in punctul dat ca parametru. Functia PageRank- obtin in R1 si R2 vectorii coloana rezultat ai functiilor Iterative si Algebraic, dupa care citesc tot fisierul de intrare intr-o variabila si selectez din acesta N, val1 si val2. Afisez conform cerintei N, R1 si R2, dupa care folosesc functia buit-in sort pentru sortarea descrescatoare a R2. La final, pe fiecare linie scriu indicele i din vectorul sortat, alaturi de nodul j din R2 al carui PageRank corespunde pozitiei i din vectorul sortat si valoarea functiei u in punctul i din vectorul sortat.