Open in TheBrain

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

  1. 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

Attachments