It's actually delightful to be here
So thanks to for inviting me.
I am a mathematician. And you may not
associate mathematicians with people that
love art.
But I happen to think that mathematics is
the most beautiful thing on earth.
And I want to convince you today that
that's the case.
Now we're going to use a few tricks.
So we're not just going to stare at
equations. I get really a wonderful
feeling inside of me when I stare at a
system of equations. But I'm not expecting
you to have that same sort of feeling.
So what I'd like to do is provide some
color and some illustrations of the
systems of equations.
Now, matrices what are matrices, you know?
Why, as a mathematician, do I love them so
much? Well, let me just give you a little
bit of a feel of the sort of problems I
work on. I'm a computational mathematician
And I really like things to do with fluid
flow. So you give me a fluid, I like to
simulate it. So I've done work on
coastal ocean flows
I've done work on oil and gas flows
I've designed sails for the American cup
For those of you who know about America's
cup Right now. Not for this particular
race but in 2000 and 2003
but in all of these things are eminent
flow I'd like to simulate it.
and to simulate this
we set up a really large system of
equations relating pressures at all
sort of different points in the flow
fields and velocities
and we need to solve it
and ultimately the system of equations
leads to something called a matrix.
I'll show you an example.
But also, because I like matrices so much
In these matrix equations
I can use that same
knowledge to help with example
of the design of a search engine.
Or a recommender system.
And that may sound really funny to you,
but it's exactly the same math
behind it.
And the math behind it,
is this matrix stuff.
Now for some of you,
matrices may actually have to do
with something like this.
Do you recognize that made with
the movie the matrix
which I happen to love.
But has nothing to do with my field.
But if you type in matrices
or you type in matrices for
engineering applications
in Google, you get millions and millions
and millions of hits.
And you can see lots of different
applications, which some how use this
This is just a snap shot
of the images
the first place of images you see
when you type in matrices.
And when you go look at this,
you see matrices come up in
flow mechanics
but also in structural mechanics
you see it come up in social networks
you see it come up in neurology,
biology, so many different application areas
use this matrices.
And so, officialization of them is nice
also because sometimes, when we stare
at a big matrix
which is just a table with numbers,
it's very hard to discern patterns
But sometimes when you start visualizing
them,
you can get a deeper understanding,
also of the underlying math
and the underlying physics.
So, let's start with a little bit of
algebra.
So say, I have four unknowns, that I want
to compute. So this brings
you back to, maybe, high school algebra
If I have four unknowns I want to
compute,
in this case they're called
W, X, Y and Z
We always use these sort of variables
because mathematicians aren't
that creative
alright, so we use things like
X1, X2, X3
and so on, right?
And so if I want to solve for
four unknowns,
I need four constraints.
Four equations
that tell me how they relate to
each other
and here I just made up
four of those
K?
Now one of the things that you see,
is that there is
some empty spots here.
And you also see that there is
this pattern; W, X, Y Z
They are always written in the
same pattern.
Sometime there is a one in front
of it.
1 times W, 1 times X
and sometimes there is nothing.
Which really means there was a zero
in front of it, right?
But as a mathematician,
I look at these, I'm a very organized
person
So I write all of these things in
this particular order.
And I see there are four equations, and
each equation has a bunch of
coefficient corresponding to W.
Bunch corresponding to X,
to Y, and to Z.
And all I really need to remember
for the system, is these coefficients.
Right? As soon as I fix the order,
all I need to remember are these
coefficients.
So what I'm going to do,
is I'm going to re-write this
a little bit.
And I'm going to create,
this table here, which has these
coefficients, now I left out
the zeros.
Now we are also very lazy,
mathematicians.
Zeros, we never write down.
Also, because with these
large systems of equations
that we have to deal with,
say for recommender system
or page rank, or search algorithm
there are many, many many zeros.
So we leave them out.
K?
But, arguably, all that's really
important to me, for this particular
system, whatever that represents;
maybe it's pressure of velocity
relationships in fluid flow,
maybe it's a friend networking
algorithm. I don't really care.
All that's really important
is this table with the numbers
this table, that we call a matrix
K? So that's the matrix.
Now
sometimes we use very simple
visualizations.
Mine is called, Spy Plot.
And all I do
is, you know, I had all these ones
and everywhere a one appears
I simply put a little dot.
K?
So in this case I'm not so interested in
what size these coefficients are,
whether they're one or two or ten
or minus two-hundred.
I don't really care.
I just want to know where there are
non-zeros
because these non-zeros
give me exactly, how these things relate.
If i have a non-zero right here, and a non
zero there, I know that W and Y are an
equation together.
And so, the patterns, of these non zeros
give me information about the system.
Does that make sense?
And so the simplest way,
because again you know the start
is very simple, and not super creative.
In the beginning, we just put a little
dot. And therefore very large systems
of equations we may get things like this.
So this is called, "Spy plot."
So this is just a matrix, with dots
where ever there is a non zero
and you see there are patterns,
now that I can see.
And actually these come from a network
a matrix can also represent a network,
which we'll see in a little bit.
They're Stanford Networks.
This is, I think, uh Standford as a whole
And this was the Internet.
And all the pages in Ero Astro
that we crolled in 2004 to create those
"Spy plots."
And looking at this, I can see
because I know a little bit about how
these were created,
That here are clusters of websites
that are correlated very strongly
so they keep on referring to each other
and internally. And they're not very
much connected to this
so that's central administration.
They only talk to each other.
Not so much to others.
And they can look at this, and they
can discern
organizational structures.
And it's amazing how you can
use these things.
Right?
And of course, some other equations
lead to more interesting patterns.
This is a "spy plot"
Of a particular
equation, or system of equation
that looked at an oil resovoir modeling.
And when look at these particular
patterns, I can say something about
the behavior, not that much
But it's still, you know, resonably
pretty.
And then what I could do,
if the actual non zeros change in size
so some if they're bigger than others
I could give them a color,
depending on the size.
Now we're getting very artsy,
for a mathmatician.
Which is pretty amazing.
And I get things like this.
Now there are many more interesting ways
to do this though, and this is really
what I'd like to show you today.
Is to use graphs.
So we're going to go back
I hope
Yep.
To this matrix.
OK?
Now I want you to focus on, ehm, this
equation here, this equation had W
Plus zero times X
X doesn't play a role
Plus Y times nothing, times Z
Is equal to one.
That's really where that came from
And from this, I know that there is
a connection between W and X.
They're in the same equation.
Right?
W and Y, sorry. W and Y.
I thought you said "Why," so I tried to
explain it again. (Laughter).
Because there is an equation connected.
But W and Y.
So all I'm going to remember now is
that there is that connection.
Now W is here in this location and Y
is in this location. And this non zero
I can see is really connecting
those two together.
So if I say I have a non zero in the
first row and the third column,
I know that W and Y are connected.
If there is a non zero, say, in the
second row and the fourth column
I know that X and Z are connected.
And that's what I am going to do.
So I am just looking at these non zeros
You know, these ones off of the diagonal
The one that's saying W is connected
To itself, but this one
signifies a connection between W and Y
This one between X and Y
And so when I look at those non zeros
I could also write it like this like a
little graph.
Now I see one and three are connected.
The first element, and the third element,
That is the W and the Y.
Now I measure W, X, Y and Z.
One, two, three, four.
And so one and three are connected,
there is another equation that connects
Two with three, and there is an equation
that connects two and four.
And there is an equation that connects
three and four.
These are the connections that I have
between these unknowns.
Now I made it very abstract, right?
Because I had this system of equations
that told me exactly what these equations
were. And I'm just removing that
and say, I'm just interested now in
connections.
What is influenced by what?
If W and Y are in an equation together,
then the size of one influences
the size of the other.
That's all I am interested in now.
Now vice-versa, if I had a network like
this, a connected graph, maybe
friends. Friend one is connected to
friend three and three is friends with
four but four is not friends with one,
then I could replace that network
with this graph with a matrix.
Right? I could go from one to the
other. But now I'm going to take these
matrices, maybe they come from
fluid mechanics. And I have ten million
columns this way, and I have 10 million
rows this way. This is what we call small
simulation.
So I have a lot, and I'm going to create
a graph out of that. Right?
Now when I look at that graph I can see
these connections, but of course
you immediately say, well I control this
in all sorts of different ways.
You see the same graphs, just drawn
a little differently.
And then the question is, well
which drawing do you prefer?
Which makes it clearest, what the
connections are.
To you.
Just by looking at it, what do you think?
This one?
(Audience) "That one"
Yeah I like this one a lot too.
So then, of course, this is just
with four, right? I just had four
One, two, three and four in connections
Now suppose I have 10 million
With maybe 50 million in connection total
and, and I ask my student, make me
a nice looking graph.
So they can look at it and maybe
discern a little bit of information about
fluid flow.
Right?
So that would be very hard to do, by hand.
So if I had something like this.
And I say, now give me something
that looks very good because now there
are all these overlapping connections.
So then, it's an interesting thing
How do I pull a part this complicated
looking graph and make something
where structures and connections
are much more easy to see.
And that's what I want to show you,
because we can do this. Now you may say
this is a made up example.
What has a messy network like this?
Well let me just show you.
Just one example.
Don't just thought off the web.
I just looked at work by Allera Hall.
And I looked at Saga's from Iceland,
and he published this.
So these are the connections between
various sagas.
Obviously this is very messy.
And I think he should be using
our software.
(Audience Laughter)
Maybe I should send it to him.
So these things happen.
So now the question is,
if I have a bunch of nodes
and I would just place the nodes,
one, two, three, four, all the way
to 10 million
and I have connections between them,
how do I figure out how to pull them
apart and put them on a two
dimensional piece of paper.
So that I have a nice view.
Okay? So how would you do it?
(Audience "grab one and pull?")
Somehow you need - no first of all you
need two nodes that are really
strongly connected to come close
Right? So if node one and two are strongly
connected, maybe because there was
a big non-zero in this matrix then
I want them to be close.
Right? And if one is connected to two
and two to four and four to 17 and
17 to 300, I don't want 1 and 300
to be too close because there is
four degrees of separation.
Right? So the question is, how do I do
that?
So we have these nodes, and
we have these lines connecting them.
K? Now what we're going to do is
two things. Each of these lines will
imagine it's a spring.
So when we pull things apart,
they pull back.
Right? And the size of the spring -
the strength of the spring, Guess what?
That's determined by what?
By the strength of that Non-zero.
Right? OK, that's nice. But what would
happen if I did this?
If I had all of these nodes and I
put springs on them, and let them go.
What would happen if I didn't do anything
else?
Would they (shooo)? All get together?
I don't want that either.
I don't want them all to cluster,
so they're not allowed to get too close.
So how can I make things - I need some
kind of repelling force. So when they get
too close, they're not allowed to.
So what do I do?
I give every node an electric charge.
So that they repel each other.
K? So now I have a whole network of
balls attached to springs,
the springs have stiffness, the balls
have an electric charge.
And I let the whole thing drop on the
floor.
Because I want it two dimensional, right?
And I let this thing organize itself.
So it comes to an equilibrium shape.
That's always minimizing some sort of
energy.
Right?
It's beautiful, these systems do this
automatically.
And I just let them organize themselves.
So it would look something like this.
We start with this,
we let it drop,
and now it becomes this.
So it's exactly that same configuration.
Now here we've cheated a little,
how big you make that electric charge
and how big you make the strength of
the springs.
That determines what stuff you get out.
So afterward, we need a lot of changing
to make it look beautiful.
K so this looks really easy.
But some of the pictures I'm going to
show you took a long, long time to create.
Because there was a lot of
twiggling. Put a little
bit more spring strength here.
And more repulsive charge there.
But when you look at this it's beautiful
structure. And it shows you very naturally
these clusters and when you stare at
these structures
you can really get some information
about the underlying system.
No matter where this comes from.
Now let me show you some
really beautiful examples.
In much larger systems than this.
This is a financial portfolio
optimization.
So this is one of the matrices you
would have come up in one of the
simulations or computer programs you
would have in financial portfolio
optimizations. This looks much better
than what you would imagine. From the
2008 problems.
Right?
How did we know that this was behind it.
This one, is another type of program
that we often have in optimization.
Called "prodredic(sp?)" programming.
It's the matrix from one of those
simulations, here is the close up.
So they're very intricate things.
These are just two dimensional
patterns. But of course, it looks a little
bit three dimensional.
You can also do these things in 3D
but it is much harder to vision.
This one, is from electrical engineering
It's a circuit simulation.
So we also call this the porcupine.
And this is a close up
It's not a super high resolution image,
but it gives you an idea.
This is another linear programming problem
That comes from some sort of optimization
problem. And I forgot which one this is.
And this color is often the strength of
connection. You can also use it in also
different ways.
And my friend, Tim, who created this,
uses colors so the pictures look really
nice. (audience laughter).
So we can play with these colors because
there is lots of different ways to color
this.
I have to admit, this is pretty nice.
I'll show you some others.
This one, is part of my field, it's
a matrix of an ocean, of shallow water.
So where the depth of the water is much
less than the width of the area.
Now, this doesn't nearly look as nice.
But the matrix that comes out
is very unstructured, but still,
it almost has the same feel to it as
water. That's of course why we made it
green and blue.
Now this is a close-up.
This one is another linear programming
problem. It's my favorite. It has quite
beautiful structures.
And this one is actually a social network
Which we have labeled, the poppy.
And here, where you see poppies
of flowers, they're really clusters
of friends.
They are strongly connected friend
networks, within this large social
network. So you can have a lot of fun
with this. Right?
We played with something else as well.
And I brought a poster.
Because Allison was going to show her
beautiful work, so I wanted to show
that we also do nice things.
Here is my artwork.
Sometimes I ask people, what are they
looking at, and they say I'm looking at
some sort of network or graph. But
this is the LCSH.
Library of Congress Subject headers.
So this is the library system that we use
in almost all libraries of the world
And what you are looking at are
library main categories, and their sub
categories, and how everything
is linked together.
Now the LCSH asked us in 2005, me
and a group of my students, to help
them understand the structure.
So here are cataloggers who have
worked on this categorizing
for decades. But they have never seen it,
they just put it the data. So we
used exactly the same kind of program
that you just saw. We call it the galaxy.
I will make sure they get the link
so they can play with it. You
can go in and zoom in and click on
the node and it will jump up
and show connected notes, and this
is a way to browse. What is also really
funny here, is you see this whole mess
in the middle, because it is very strongly
interconnected stuff, we but in words
where the connections were strongest
But the library also used it to find
lazy cataloggers. Because look at this,
we call this a Supernova. This is
Japanese Antiquites. And it has one main
category, and a whole bunch of sub
categories. But the catalogger did
not interconnect the sub-catagories.
So we have Japanese Antiquities,
and 140 things attached to it,
but how they related, he or she did
not relate it. So the library can look
at it and say, we really should do
something about this. Because the more
messy it looks, the better it is for
browsing purposes. But we just
thought it was a beautiful picture.
This took a long, long time to create,
we had to think about the colors,
and how the nodes.
And now we are looking at ways
to put this in 3D, so you can
truly fly through the galaxy.
And you can do the same with
Wikipedia, and other networks that you
have. You can say let's go on a flight
through my social network.
And you can see who is stronger connected
than you are. Anyway it is a lot of fun
to play with. So I'll make sure you have
this link, and I'll take any questions you
may have.