Mutation Matrices
Wild Egg Maths
4.9K subscribers
To understand the Mutation Game on ADE graphs, we now introduce some linear algebra first of all the adjacency matrix of the graph, and then the matrices which encode mutations at the vertices. This gives us a powerful tool - essentially the idea behind "representation theory" - to work with abstract algebraic objects more concretely by representing them as matrices.
0:00
hello everyone i'm norman wahlberger and
00:02
thanks for joining me we are looking at
00:04
dynamics on graphs and today we're going
00:06
to introduce linear algebra into the mix
00:10
linear algebras very powerful
00:12
very modern approach to geometry and
00:15
algebra
00:16
that's all based on
00:18
linear space and transformations of that
00:22
which are linear we're represented by
00:24
matrices so it connects with a powerful
00:27
augmentation of our usual sort of
00:30
arithmetical framework into matrices
00:33
whenever we can do that whenever we we
00:34
can represent
00:36
um a given situation with matrices we
00:39
are happy because there's all kinds of
00:42
things we know about matrices and we
00:43
have great computers
00:45
and programs to to deal with that that's
00:48
what we're going to do today okay so i'm
00:50
going to illustrate everything with a
00:52
couple of examples we'll start with this
00:54
simple example which notably is not an
00:57
ade
00:58
graph okay this is a little thing we've
01:00
seen something like this before so
01:02
there's four vertices and i'm going to
01:04
label these vertices their names are
01:06
going to be one two three and four
01:09
okay
01:10
now it's not a tree because of this uh
01:13
we have this little cycle here triangle
01:16
okay now once we order the vertices of a
01:19
simple graph say like in this case we
01:21
ordering them one two three four in that
01:24
order then a population
01:26
can be identified with a vector
01:31
identified that's not spelled right is
01:34
it
01:34
identify there then populations can be
01:36
identified with vectors for example a
01:39
population p is represented by a vector
01:41
p 1 p 2 p 3 p 4 where of course p i
01:46
represents the population's value at the
01:48
vertex i
01:50
now
01:52
once we have populations represented by
01:54
vectors
01:56
then
01:57
an important
01:59
capturing of the the graph is its
02:02
adjacency matrix
02:04
okay that's going to be a matrix whose
02:07
size is the same as the number of
02:08
vertices in this case four so it's going
02:10
to be a four by four matrix and what
02:12
this does is it records which vertices
02:15
are connected to which other ones
02:18
the edges
02:19
so the vertex one is connected to the
02:21
vertex two so in the one two spot which
02:24
is this one up here there will be a one
02:27
however one is not directly connected to
02:29
three so in the one three spot there is
02:32
a zero
02:34
now this is a simple graph the edges are
02:36
all undirected so this means that this
02:39
adjacency matrix will be
02:41
[Music]
02:42
symmetric matrix
02:44
okay so it's symmetric about this
02:46
diagonal let's just check it so let's
02:49
look at it column by column so this
02:51
first column is really telling us what's
02:55
connected to our first vertex
02:57
1 and the vertex 1 is only connected to
03:00
the vertex 2.
03:01
this next column is telling us what's
03:03
connected to vertex 2. we see that
03:06
vertex 1 vertex 3 and vertex 4 are all
03:08
connected to it
03:10
third column connecting
03:12
or information about the vertex 3 it's
03:14
connected to vertex 2 and vertex 4 and
03:17
finally the last column telling us that
03:19
vertex 4 is connected to vertex 2 and
03:22
vertex 3.
03:24
okay
03:25
so now let's note that we can actually
03:27
do a little bit of
03:28
matrix multiplication here if we take a
03:30
general population like this
03:33
all right and i'm actually going to
03:34
define this thing so let me
03:37
select that and i'm going to define it
03:39
so let's check my definition so i've
03:41
i've defined the matrix a like that
03:44
okay so i'm just going to put the matrix
03:46
a here
03:48
okay and this is then
03:54
doing the matrix multiplication so if
03:56
you take a vector like this multiply it
03:58
by
03:59
four by four matrix you can get another
04:02
vector of the same size this is how it
04:03
illustrates that
04:05
so let's look at what this is doing this
04:07
is replacing each of the entries with
04:12
the sum of the neighbors
04:15
okay so what used to be in the p1 spot
04:18
now there's a p2 there what used to be
04:20
in the p2 spot there's a p1 plus p3 plus
04:23
p4
04:24
here there's p2 plus p4 here there's p2
04:27
plus p3 so as
04:30
a transformation
04:32
this replaces
04:35
each let's say
04:37
each p sub i
04:40
with the sum of the neighboring values
04:44
let's say
04:49
okay so i want to exploit this kind of
04:51
thing to be to try to get at
04:54
the mutations
04:56
so let's
04:57
then
04:58
try to
04:59
find the matrices
05:02
that
05:04
represent
05:06
the
05:07
mutations
05:09
and the mutations are s1 s2 s3
05:14
and s4
05:20
so let me remind you what the mutation
05:22
does if we go back to our previous thing
05:24
so i have this formula up here for
05:28
mutation somewhere this is the the key
05:30
formula here i just grab that all right
05:34
come back down here
05:38
so recall
05:40
it's probably good to remind us recall
05:43
that
05:44
if you have some population p and you're
05:46
mutating at x then this is the formula
05:49
for the
05:50
mutation of p at x at a new vertex y
05:55
and most of the time it leaves the
05:57
values unchanged but it just alters the
06:00
value at x as i've mentioned many times
06:03
okay we want to now incorporate this
06:06
formula into a matrix
06:10
so let's
06:12
let's uh let's look at for example so
06:15
in this example
06:18
suppose we take
06:19
this thing here
06:22
and we
06:24
apply say s sub 1 to it
06:28
what's that going to do
06:32
well it's going to leave p2 p3 and p4
06:35
unchanged and what's it going to do to
06:37
p1 well it's going to negate it first of
06:39
all so that's step one to negate it and
06:42
then step two is to add the values at
06:44
the adjacent
06:46
vertices namely p sub 2.
06:50
okay so that's the effect of s1 on this
06:53
general thing so how can i represent
06:55
that with a matrix i want to write that
06:58
as this thing times some matrix
07:05
okay
07:06
so what matrix should i use well it
07:08
should be more or less the identity
07:09
matrix and to get an identity matrix i'm
07:11
going to go compute matrices fill matrix
07:16
four by four is fine and identity matrix
07:21
okay
07:22
let me just check if i actually make
07:23
that multiplication i'm going to just
07:26
get what
07:27
i started with but i'm not going to use
07:30
this i'm going to modify this because
07:32
what we have to do is we have to arrange
07:34
that the first entry here is negative of
07:37
the original p1 plus p2 i'm going to get
07:40
that by just putting a minus 1 here
07:43
and a plus one here
07:46
let me check that
07:48
it's p2 minus p1 that's the same thing
07:51
comma p2 p3 p4
07:54
so
07:56
how did i get this matrix this matrix
07:57
here is sort of capturing
08:00
um capturing
08:02
the
08:05
the
08:05
the mutation s1
08:08
and
08:08
so more generally
08:11
let's
08:13
let's look at uh
08:16
say s2
08:17
not really more generally but okay
08:21
let's let's look at s2
08:23
and
08:25
so i i want to write this
08:27
as
08:31
this thing here
08:32
times sum matrix so what matrix should i
08:35
use here
08:37
well the first order of business is
08:38
probably to use the identity matrix and
08:40
let me grab the identity matrix by
08:42
taking this thing and
08:45
i'll just
08:46
turn it back into an identity matrix
08:48
there's the identity matrix
08:50
okay
08:51
but that's not what
08:53
all that we do we also need to
08:59
to to modify this identity matrix by
09:01
doing what by changing this entry
09:05
in
09:06
well this case in in the second entry
09:08
because we're going to change the p2 to
09:09
minus p2 and then we're also going to
09:11
have to change
09:13
essentially this column here because
09:14
it's this column here that's affecting
09:17
the second
09:19
the second entry of our vector
09:22
okay so what i'm going to do is i'm
09:24
going to
09:26
add another matrix
09:29
and maybe to do that i might just
09:32
grab a
09:34
zero matrix
09:37
there's a zero matrix let's grab the
09:38
zero matrix okay so what i'm going to do
09:41
with this zero matrix is i'm going to
09:43
modify it first of all by putting a
09:45
minus two there
09:46
the effect of that
09:48
is that instead of having a plus p2 i'll
09:51
have a plus p2 minus 2 p2 which is a
09:53
total of minus p2
09:56
so that has the effect of negating the
09:58
second thing
10:00
and the other thing that i'm going to do
10:02
is i'm going to
10:04
have to add the neighboring populations
10:07
and i can figure out what those are from
10:09
the adjacency matrix by coming up here
10:11
and looking at this second
10:14
column
10:15
okay that second column is responsible
10:18
for
10:19
summing up the neighbors so if i replace
10:22
this thing here with one
10:25
one and one
10:28
and i might just
10:31
evaluate that okay that's that in the
10:33
particular matrix so to be consistent uh
10:36
we'll put an equal sign here
10:42
equals
10:43
there's the vector times this
10:47
so this
10:48
matrix i think is going to have the
10:51
effect of the mutation s sub 2. and i'm
10:54
going to check that by just doing ctrl
10:56
enter and seeing what i get
11:00
oh that didn't work what was i doing
11:02
wrong there um
11:04
maybe there was a space actually okay
11:05
there probably was a space let me try
11:07
this
11:08
ah that's more like it okay
11:11
so is this right
11:12
um if we take this population here and
11:15
we apply s2 then the p2 negates okay and
11:18
then we sum
11:20
the entries of the adjacent neighbors
11:22
which in this case are all of the other
11:24
vertices
11:26
that's
11:26
correct
11:28
so now you see we have the potential of
11:30
replacing these somewhat abstract
11:33
mutations with concrete matrices
11:37
okay so let's introduce
11:40
so now let's
11:42
introduce
11:45
the
11:47
corresponding
11:50
mutation matrices okay
11:52
and the first
11:54
one s sub 1
11:58
is
11:59
what did we get this this one here was
12:01
the matrix that was representing s1
12:04
right
12:06
and
12:07
s2
12:09
was
12:11
this one this was representing
12:15
s2
12:17
and
12:22
what's going to represent s3 i'm going
12:24
to do the same kind of thing i did over
12:25
here i'm going to take the identity
12:27
matrix
12:30
and i'm going to add
12:33
something which is almost zero i should
12:35
get a zero matrix let me get a zero
12:37
matrix once and for all
12:40
uh matrices fill matrix
12:43
zero
12:44
okay this is zero matrix i'm gonna store
12:46
it somewhere temporarily up here maybe
12:52
another line there okay
12:55
all right let's go down here so okay so
12:57
what do i have here so s3 so there's the
12:58
identity matrix and now i'm going to do
13:00
the mutation at
13:02
- so that means i have to put a minus 2
13:05
here but actually first i might take the
13:07
third
13:08
i'm going to take this third column from
13:10
the adjacency matrix all right and i'm
13:13
going to replace
13:14
this third column here with that third
13:16
column in the adjacency matrix and i'm
13:18
also going to put a minus 2 here to make
13:21
sure that the third
13:23
entry actually gets negated
13:26
so what do we get all together out of
13:27
here we get this
13:30
and i'm going to just check
13:33
that that actually is correct so down
13:35
here i would check
13:37
that if i take our general population
13:39
and i take this matrix here and i apply
13:41
it
13:43
uh am i getting the right thing so p3 is
13:46
negated and then we're summing the
13:48
values of p2 and p4 which i think is
13:50
correct
13:51
okay and finally
13:53
what was the other thing we were doing
13:54
we were taking
13:56
s4
13:57
so we're taking the identity matrix
13:59
there it is there
14:04
grab that
14:08
sorry that was that wrong grab this one
14:13
yes and then we're adding
14:16
where's our zero matrix
14:19
there it is there
14:25
and how am i modifying that i am
14:28
modifying it by taking the fourth
14:34
the fourth
14:35
column of my adjacency matrix and
14:38
putting it there
14:42
and also putting
14:44
-2 in that
14:46
column in the diagonal position
14:48
and that evaluates to this
14:51
and i'm going to check that also
14:54
check
14:56
if i take this vector
14:58
and apply
15:00
this thing to it
15:03
that does have the effect of mutating
15:06
at the fourth vertex so p4 goes to minus
15:09
p4 plus the sum of the neighbors
15:12
okay so let me clean this up having done
15:14
all these things so s4 was just
15:17
this thing
15:19
got s1 we've got s2 we got s3 we've got
15:21
s4 we've done some checks but we don't
15:23
need that anymore
15:26
and
15:27
i guess we don't really need our zero
15:29
matrix anymore either
15:33
so in this example yes more generally
15:35
okay
15:37
i'm sorry this is
15:40
this is a
15:42
summary of what we've done
15:44
okay
15:46
what i'm going to do now is i'm going to
15:47
actually define these things so i'm
15:49
going to make this as a definition
15:53
i'm going to make this
15:55
as a definition
15:56
make this
15:57
as a definition i'm going to make this
16:00
as a definition
16:03
just check
16:05
we have a we have s1 we have s2 we have
16:07
s3 and we have s4
16:09
okay now i'm going to check some of the
16:11
relations what are the kinds of
16:13
relations that we would want well we
16:15
want things like s1 squared should be
16:18
the identity so
16:20
scientific workplace is perfectly
16:22
capable of dealing with these matrices
16:24
it knows these are matrices and it knows
16:26
how to do matrix
16:27
arithmetic so yes indeed s1 squared
16:30
equals
16:33
the identity i'm just going to quickly
16:34
check s2 squared also the identity s3
16:38
squared also the identity and s4 squared
16:42
also the identity so those are that
16:45
those properties are valid for all of
16:46
them
16:47
okay what
16:48
um
16:51
what are some other identities that we
16:53
um we are interested in well remember
16:55
the braid relation
17:00
braid relation with something like s
17:02
sub 1 s sub 2 s sub 1.
17:06
let's see what that thing does
17:11
s1 s2 s1
17:14
if we want to know what what is that
17:15
actually doing on
17:19
a
17:21
population
17:22
then we can just take a population and
17:25
apply
17:26
our matrix to it and we see what it's
17:28
doing
17:30
okay in this case it's leaving p3 and p4
17:32
unchanged which is not a surprise and
17:34
it's performing this particular
17:36
combination on
17:38
um on the first two entries in
17:40
particular this is a new matrix that we
17:42
haven't seen before so we we've sort of
17:44
enlarged our list of matrices
17:46
this way
17:48
now the braid relation says that this
17:50
should be the same as s2 s1 s2
17:55
okay we can just evaluate that and see
17:57
if it is the same and we see that it's
17:59
the same
18:02
so these are equal
18:08
you see and now we could
18:10
in principle
18:12
use the underlying matrix
18:16
capability of of my computer to
18:19
calculate rather
18:21
uh complicated
18:23
combinations of mutations okay
18:26
so we can now
18:31
perform
18:33
complicated
18:36
combinations
18:39
of mutations
18:40
algebraically
18:42
using these underlying
18:45
matrices
18:46
so let me just give an example so let me
18:48
just make it an example up so suppose i
18:50
have say say i'm interested in applying
18:51
s1 and then i'm interested in playing s4
18:54
and maybe i'll apply s2
18:56
then maybe s3 and then maybe another s1
19:00
okay
19:02
so i'm applying five different mutations
19:05
and i want to know what is the combined
19:06
effect well here's the combined effect
19:09
it's represented by
19:11
this matrix
19:13
so its effect will be so if i want to
19:15
sort of know what it actually does
19:17
so this has
19:20
so
19:21
this has the effect
19:24
which is what well let's take
19:30
this thing here
19:32
and
19:33
multiply by this matrix and we'll see
19:35
exactly what
19:38
the combined effect of these five
19:40
mutations
19:41
is on the original population p1 p2 p3
19:44
before we get this rather complicated
19:46
thing
19:48
and
19:49
it's certainly suggestive that if we
19:51
just cook up more and more mutations
19:56
we're going to get more and more
19:57
complicated matrices
19:59
and for this
20:01
example that i've been looking at
20:02
starting with this particular matrix
20:04
that is what's going to happen
20:07
that's not a surprise to us because we
20:10
know that
20:11
this particular graph does not have a
20:14
finite
20:15
set
20:16
of roots so if we start with a singleton
20:19
and we perform mutations randomly we're
20:21
going to get bigger and bigger
20:22
populations
20:25
that's
20:27
pretty well telling us that we are not
20:29
going to get a finite number of
20:32
possible
20:33
um transformations
20:35
by starting with these four mutations
20:38
and performing them arbitrarily because
20:40
if we only got a finite number of of
20:42
transformations then we're not going to
20:44
be able to jack the population up as
20:46
much as we want and we know we can't do
20:48
that for this matrix because it's not an
20:50
ade
20:52
so knowing already that this thing has
20:53
an unbounded number of positive roots
20:56
implies that
20:58
the
20:59
the collection of matrices that we can
21:02
generate
21:04
by taking more and more combinations of
21:06
these sis is also going to be unbounded
21:12
okay so since
21:14
the
21:15
positive roots
21:19
for this
21:21
graph
21:22
are unbounded
21:25
it follows that
21:30
there will
21:32
be an unbounded
21:34
number
21:35
of
21:37
such transformations
21:40
that we can obtain
21:43
by taking
21:44
products
21:46
of
21:46
our four basic mutations s sub 1 s sub 2
21:51
s sub 3 and
21:54
and s
21:55
sub 4.
22:00
so we're touching base here now with
22:02
group theory because it turns out that
22:04
we have a group here
22:07
these transformations are all linear
22:09
transformations so
22:10
any combinations of them are going to be
22:13
linear transformations
22:15
and they're all invertible
22:17
okay so it's it's it's a group of
22:19
transformations but in this case it's an
22:21
unbounded group
22:23
and in fact probably trying to describe
22:25
this group is a major uh undertaking
22:28
it's like a you know a master stasis try
22:30
to get your head around what this group
22:32
is like my estimation it's not obvious
22:35
at all
22:36
okay but
22:38
we are
22:40
mostly interested in the aede graphs at
22:42
least initially because they're the
22:43
simplest so now we have a technology
22:46
that allows us to investigate these aede
22:49
graphs
22:50
not just from this
22:52
combinatorial point of view but also
22:53
from a group theoretical point of view
22:56
we can now ask what are the
22:58
associated groups
23:00
generated
23:01
by
23:02
the basic mutations for the ade graphs
23:07
so a key question
23:10
what are the groups
23:13
generated
23:14
by the mutations
23:17
s sub i
23:19
for
23:20
er
23:20
for an ade graph
23:24
okay
23:25
these are called
23:28
bile groups
23:31
named after hermann weil one of the most
23:33
prominent
23:34
20th century mathematicians
23:37
so that's a whole new domain of
23:41
interesting algebraic objects that we're
23:43
going to now make contact with