Code: Alles auswählen
from __future__ import division
from sympy import *
import numpy as np
import csv
readVektor = csv.DictReader(open("data.csv")) # Einlesen der CVS-Datei
for column in readVektor: # Ausgeben der CSV-Datei-INhalte
print (column)
for column in readVektor: # Parsen der Inhalte der CSV-Datei
id = int(column["id"])
length = int(column["lenght"])
index = [int(x) for x in column["index"].split(' ')]
value = [int(x) for x in column["value"].split(' ')]
class sparse(object): # Klasse, deren Objekte sparse Vektoren sind
def __init__(self, index, value, lenght): # Konstruktor
self.Index = index
self.Value = value
self.Laenge = lenght
def maxNorm(self, value): # Berechnung der Maxmimums-Norm
maxNorm = max(value)
max_idx = value.index(maxNorm)
#return max_idx, maxNorm
print ("maxNorm: ", maxNorm)
def sMult(self, value1, value2): # Skalarmultiplikation
sMult = value1 * value2
#return sMult
print ("sMult: ", sMult)
def Summe(self, index1, index2, value1, value2): # Berechnung der Summe
#for i, j in range(len(index1, index2)):
# if index1(i) < index2(i):
# self.summe(i) = value1(i)
# if index1(i) > index2(i):
# self.summe(i) = value2(i)
# if index1(i) == index2(i):
# self.summe(i) = value1(i) + value2(i)
# return summe
summe = value1 + value2
#return summe
print ("summe: ", summe)
def Differenz(self, index1, index2, value1, value2):
differenz = value1 - value2
#return differenz
print ("differenz: ", differenz)
def __add__(self, other):
def __sub__(self,other):
def iProd(self, value1, value2):
iProd = np.dot (value1, value2)
#return iProd
print ("iProd: ", iProd)
#def Differenz(self, index1, index2, value1, value2): # Berechnung der Differenz
# for i in range(len(index1, index2))
# if index1(i) < index2(i)
# self.differenz(i) = value1(i)
# if index1(i) > index2(i)
# self.differenz(i) = value2(i)
# if index1(i) == index2(i)
# self.differenz(i) = value1(i) - value1(i)
#self.differenz = value1 - value2
#def Skalarprodukt(self, value1, value2): #Skalarprodukt
# for i in range(len(index1, index2))
# if index1(i) < index2(i)
# self.skalarprodukt(i) = 0
# if index1(i) > index2(i)
# self.skalarprodukt(i) = 0
# if index1(i) == index2(i)
# self.skalarprodukt(i) = value1(i) * value1(i)
#self.skalarprodukt = np.dot(value1, value2)
#print ("maxNorm: ", maxNorm)
#print ("summe: ", summe)
#print ("differenz: ", differenz)
#print ("sMult: ", sMult)
#print ("iProd: ", iProd)
sparsevector1 = sparse([2,9,5],[2,9,5],10)
sparsevector2 = sparse([3,5,8],[3,5,8],10)
sparsevector3 = sparse([1],[7],1)
sparsevector1.maxNorm([2,9,5])
sparsevector2.maxNorm([3,5,8])
sparsevector1.sMult(7,[2,9,5])
sparsevector2.sMult(7,[3,5,8])
sparsevector1.Summe([2,9,5],[3,5,8],[2,9,5],[3,5,8])
sparsevector2.Summe([2,9,5],[3,5,8],[2,9,5],[3,5,8])
#sparsevector1.Differenz([2,9,5],[3,5,8],[2,9,5],[3,5,8])
#sparsevector2.Differenz([2,9,5],[3,5,8],[2,9,5],[3,5,8])
sparsevector1.iProd([2,9,5],[3,5,8])
sparsevector2.iProd([2,9,5],[3,5,8])
Die magic methods beginnen mit
Code: Alles auswählen
def __sub__(self,other):
Code: Alles auswählen
def __add__(self,other):