D4M Session 2 Demo

Flash and JavaScript are required for this feature.

Download the video from iTunes U or the Internet Archive.

Description

D4M.mit.edu software demo example/1Intro/3GroupTheory. Associativity, commutativity, distributivity properties.

Instructor: Jeremy Kepner

The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources for free. To make a donation or to view additional materials from hundreds of MIT courses, visit MIT OpenCourseWare at ocw.mit.edu.

PROFESSOR: So again, we go here back up to the Examples, Intro, Group Theory, start it up. And then our first example is group theory 1, and it just goes through. And basically, I came up with a way in a spreadsheet to define the functions I was looking at, and then start creating combinations of them, and then do very simple tests on associativity and [? distribution ?] and all that stuff. If you actually look at the tests I do, you might blanch and be like, really? You said that? You declared that it was fully associative?

It's not like I went in and did formal proofs for everything. I just did some very quick numerical tests. The semi-ring test actually takes a while here, as you can see. And this will take a minute here. It appears to be hanging. Oh, no, it's not. Good. We'll let it go through that.

In fact, while it does that, we can look at-- basically, these are inputs. So basically, I have my different-- what I call the key function. I have union and intersection, and then I have the three possible conditions-- v1 less than v2, v1 equal to v2, v1 greater than v2, and then essentially, the different types of operators, the results that can occur from those.

And so this is a CSV file, and we read it in as [? associative ?] [INAUDIBLE]. And so it looks like a spreadsheet, and I can actually have columns named v1 less than v1. Very powerful. And in fact, I'm even able to pass that column into the Matlab Eval function and have it actually execute it, which is nice. So I can actually have code in my column or row names, and then have operations performed based on that, which is, I think, a nice thing that you can do when you allow strings to be in your set. Likewise, Matlab will formally parse nan as nan and plus minus inf as minus inf, and so I can get all that functionality out of there, which is very nice.

And then it goes through-- let's see here. And these are just different tests that we do on those.

STUDENT: Is nan a special character?

PROFESSOR: Not a number. Yeah, I kind of-- I use that as-- it has a lot of the properties of null when you add it to different functions. So I'm using that for that, and it works out pretty well. So it's IEEE failure state modes or whatever it's-- it appears like that. I can't remember if there is a plus nan and negative nan as well. No. It's just nan, yeah.

And then actually, it goes through here, and I think-- these are just various ways of inputting-- these are different values, different little spreadsheets that you can make for exploring these different types of things. And you can just write them as little CSV files. Very useful. On Instruct here. I do apologize for the length of time it's taking. I think having the QuickTime video recording going at the same time is causing the poor computer to sweat a little bit more than it does normally. It usually doesn't take this long.

Outputs that it comes up with-- it basically writes all these out. Look here. This shows-- I ask it to basically generate all those 200 pairs. So for each key and whatever, it can go and generate those for me. So I create this little thing, and it goes through and creates this whole function, and then writes that out as a CSV itself, which is very convenient. Again, these are things you can do. I think this is the one where we came up with all the [? fields. ?] Oh, yeah. It doesn't really fit there. But you can see these are the pairs that it found, and it shows this is the zero operator. And again, this is all done with D4M kinds of values that it can store different types of things. This is how we made all the tables that are in there.

Oh, it's writing out results. That means it's done. There we go. And so the main one I want to show you is that we [? read in ?] that function, func range, and we permuted it. And if we do display full afunc, you can see there is the full combination of values as we saw there. So there's really nothing here for you. It's not I expect you to go using D4M to do group theory things. That's not really the point of these examples. I did. It's more just showing that you can-- when you go into this larger space, problems that you might not solve linear algebraically, all the sudden, it's like, oh yeah, if I have strings and other types of things, it really opens up the flexibility. I thought that was very neat that you could do this. It just handled the data very nicely and without any real difficulty.

So with that, that's the end of this lecture. I don't know if there's any final questions before we proceed. All right. Very good. And please, if you haven't signed up on the sheet, please do so. Thank you very much.