Python 3, an Illustrated Tour Transcripts
Chapter: Classes and inheritance
Lecture: Walk-through: Matrix Multiplication
0:00 In this video, we're going to look at the mul test assignment
0:03 and there's a function test mul that says
0:06 implement a class vector that accepts a list of numbers
0:08 implement the matrix multiplication operator
0:12 to return the dot product multiplying each corresponding value, then sum the results.
0:18 Okay, let's do that.
0:20 Let's make a class, it's going to be called vector
0:23 and let's implement a constructor here
0:30 and it's going to take data, vector has input
0:33 and we'll just attach that as a member and let's implement matmul guy.
0:38 Okay, it's going to take another vector presumably
0:41 so what we can do is we can loop over the pairs of data together
0:46 how we do that is we can use the zip function.
0:49 So the zip function takes two sequences
0:52 and it will loop over both of them until one exhausts.
0:57 So we're going to have self.data and other.data
0:59 we're going to need something probably result is equal to 0.
1:03 And we're going to zip those together so I can say this and that in zip
1:12 res plus equals this, times that, return res.
1:21 Let's see if this works.
1:29 Okay, that looks like it did work.
1:31 We can do a little bit of refactoring if we want to here,
1:38 we can put this into a list comprehension
1:43 and so we could do something like this
1:46 we could say well we're going to accumulate this, this is a sum operation,
1:50 so we're going to say sum of the iterable
1:59 what we're going to sum is what we're accumulating which is this
2:05 and we'll take this for loop and we'll plop it into here
2:09 we'll take off the colon at the end
2:14 and we should be able to say res is equal to that.
2:16 Let's run this and see if it works.
2:22 Okay, it looks like we're good.