from numpy import * #Matrise og vektorer fra oppgave 160 A = array([[1,0,0],[0,2,0],[0,0,3]]) v = array([1,1,0]) w = array([2,-1,1]) """ Argumentene som er inne i funksjnen er standard verdier slik at vi ikke m? alltids velge ? ha med alle parameterene. """ def MittIndreprodukt(v = array([0,0,0]), w = array([0,0,0]), A = None): #Hvis ingen matrise er gitt, brukes det vanlige indreproduktet if A is None: return inner(v,w) #Hvis en matrise er gitt, brukes det dette indreproduktet else: #Vektorene som sendes inn er p? formen v^T, derfor er #transponeringen motsatt her w_t = transpose(w) return matmul(v, matmul(A,w_t)) #Indreprodukt av v og w med A print(MittIndreprodukt(v,w,A)) #Indreprodukt av v og w uten A (alts? vanlig indreprodukt) print(MittIndreprodukt(v,w)) """ Lager psuedokode for matrise indreprodukt numpy funksjoner for transponert, trase og matrisemultiplikasjon er -transpose(*) (transpose(v) er v^T (vektor)/ transpose(A) er A^T (matrise)) -trace(*) (trace(A) er tr(A)) -matmul(*, *) (matmul(A,B) er A*B) Stjernen indikerer at funksjonen tar inn en parameter. For mer detaljer kan man s?ke opp dokumentasjonen av disse funksjonene, og mer, p? nettet. def MatriseIndreprodukt(A,B): A_t = transponerte av A return trasen av A_t ganget med B """