# 11-13.02 Final week: GA, project presentations, …

May 1, 2014:  I’m finally getting the projects available as webstarts on the homepage for the course. Please let me know if you encounter problems running them.

Breaking news: Those of you who attended the last few weeks of lectures know that one of my hobby-horses is geometric algebra, projective GA to be exact.  As part of my missionary work I’ve worked up a proposal for a tutorial on the subject at an upcoming international conference.  You can see it here.  Feedback on content and appearance welcome.

This is the last week of classes!  It will be a little different than usual, since two group projects will be presented, one on Tuesday and on on Thursday, both at 10:15.   From 11:00 Mr. Gunn will continue lecturing on geometric algebra and will also make some final remarks on technical details of project completion. The projects being presented are:

• Tuesday: “Packing circles on a cylinder” by Michael Gubik and Nick Bremer
• Thursday: “The Shadow Problem for 2-Surfaces” by Tatiana Grandon

Details of project completion.  Before doing anything else, review the project guidelines given here.  They are from last year’s course, but they continue to apply to this year’s projects. In order to simplify the publication of the projects (via Java webstart technology), I need your help.  First, make sure you have organized your source code correctly  (see point 3 below). Furthermore,  to generate an entry in the course website where the project is pictured and described, I need to get two small files from each team.   I have added some files to the teacher’s git repository in order to streamline this process, see points 4+ below. As you complete your project, but no later than the first week of April, please make sure you have carried out the following directions.  If you finish early, please let me know! Then I can check that everything works and if not, give you a chance to correct things.  It will be much more difficult to effect the grading process if the project is only ready on the day of the presentation! Thanks in advance for your cooperation!

1. Note: In this discussion, when you are asked to create files or packages involving the string “nnmm“, it should be replaced with the two 2-digit student numbers for the team members, for example “1723” or “0208”.
2. Update to the teacher’s git repository.  Your project must run using the latest teacher’s repository code! If you are having problems updating to this repository (as wingthor does), there is now an alternative as follows:
1.  Instead of having you work directly with the source classes for the template package(s), I’ve made a jar file named mv13-template.jar and checked it in with the other jar files in the lib folder of the repository.
2. There are two ways to access this jar file. The first is preferred since it allows you to check for updates more easily.
1. In eclipse: In the git repository browser,  fetch the teacher’s repository (it should be listed under “Remotes“).  Back in package explorer, select the project and look at the history view. You should see near the top of the list an entry for the teacher’s repository you just fetched.  Look for a recent commit for the teacher’s repository with the comment “Add jar file for the template package”, or “Update jar file for the template package.”  Use right mouse (context menu) and select “Cherry pick”, this should just bring over the desired jar file to the lib folder.
2. If you want to get this jar file directly without using eclipse or git, use this link.  Download the file and copy it into the lib folder of your git project.
3. Once the jar file is in the lib folder of your project, add it to your classpath in Eclipse (using Project properties->Java build path->Libraries).
1. Then, either delete the template package (and all subpackages) in the Package Explorer, or configure the build path (in the tab labeled “Order and Export”) so that mv13-template.jar comes before the src folder of the project.
4. If this approach works for you, you can delete the template package completely from your git project, and push the result to your remote repository, so that I only fetch the code you have written and not the template stuff.
5. To view the source code of the classes in the jar remember:
1. In Package Explorer, navigate to “Referenced Libraries”.
2. Find “mv13-template.jar” and open it via the little triangle to its left side.
3. The classes you see can be opened and looked at (though not written) in the same way as .java files can.
1. Make sure that your project application is a subclass of template.Assignment. This is important to guarantee that the webstarts function correctly. Furthermore, if there are problems in the Assignment class, your application will be fixed when I fix this class.
2. Make sure that all the code that you have written that is needed to run your application is contained in a single Java package, named reasonable something like studentnnmm.project. (You are allowed to have subpackages in this package.) This is important, since I’ll create a jar file for your webstart from this  package/folder.
3. Your on-line documentation: should be a html file in the same folder as your project, whose name includes the string “nnmm” — otherwise there may be name collisions when I collect these html files into one place.  Please try to include nnmm in all filenames which are associated to your on-line documentation.
1. If your html file does not load any other local files, it can be left in the same directory as the .java class.
2. If however it refers to other local files (such as a screen shot of your project), then please create a subfolder named html in your project folder and put all the html-related files into this folder.  Then I know which files I have to collect! Remember to change the return value for the getDocumentationFile() to reflect this change.
3. Example, if you have a doc file named doc007.html and it refers to a screenshot ss007.png, put both into a folder named html and change getDocumentationFile() to return “html/doc007.html“.
4. If you use extra jar files in your project, be sure you check them into your repository (you can put them into the lib folder) and that they are included in the .classpath in your repository.  (This will be the case if you have your eclipse build path set up to include this jar.)  I’ll have to identify these jars and copy them to the webstart site.
4. Run your application and create a representative image (256 x 192) of your application.  Use the “File->Export->Image…” menu item to do this.
• In the file dialog you will probably need to unclick the constrained shape icon to allow these two dimensions to be entered separately from each other.  Save the image with the name projectPic-nnmm.png in the project folder you created above.
5. Copy the file projectDesc.txt from template.project to your own project folder (created above) and edit it as follows:
1. Replace the string “nnmm” by your student numbers where it occurs.
2. Replace the string “Twirly objects based on spherical point groups” with the title of your project.
3. Change the descriptive paragraph at the end to be a description of your project with approximately the same number of characters/words.
4. Notice there is also a commented-out text for your presentation slides.  If you want your presentation slides to be available on the course web-site, please email them to me and I will activate this link in the documentation.
6. Presentation slides can also be checked into your git repository.  If I find a file named studentsnnmmSlides.pdf then I will stash it away and link it to the project documentation on the website, so that visitors can also look at the slides of your presentation. (Again “nnmm” should be replaced by your 2-digit student numbers.)
7. Commit the new files you’ve created and then push to your remote git repository.
8. Send me an email to notify me that you’ve completed this phase.
9. When I next fetch from your respository, I’ll receive the small image and the html fragment. I will generate a jar file from your project package and collect these in a single place where I can then invoke them to run the jar files as webstarts. I will use the image and text to construct the list of student projects for the web-site. I’ll construct a jnlp file to start your application as a webstart. There is currently one example on the course web-site here, you can consult it to see what I need all these pieces for.
10. Deadline: Teams presenting in April are expected to have this all done by 24 hours after your presentation.  Please understand that I cannot complete the grading process until the above directions have been satisfactorily completed.  I’m going on vacation on Friday April 11 and I want to leave my desk “clean” when I go!

# 04-06.14 More geometric algebra

Note: the April project presentations have been shifted to run from Monday, April 7 to Wednesday, April 9.  (No one had signed up for Thursday and there was interest in Monday.)

If you’re wondering what I’m expecting in the project, take a look (again) at EvaluationFormMVWS13 based on last year’s projects.

On Tuesday February 4 Mr. Gunn continued to develop the geometric algebra he began the previous week.  In particular he focused on sandwich operators in the geometric algebra of $\mathbb{R}^3$.  He reviewed the sandwiches with a 1-vector as bread, and showed they are rotations of 180 degrees around the vector.  (These are called half-turns in English or Umwendungen in German).  He then looked into the product of two unit 1-vectors $\mathbf{u}$ and $\mathbf{v}$, which gives rise to a sandwich, rotating around the common perpendicular of $\mathbf{u}$ and $\mathbf{v}$, through twice the angle separating the vectors. Such an element is called a rotor, and has the form $\cos{\frac{\alpha}{2}} + \sin{\frac{\alpha}{2}} \mathbf{U}$ where $\mathbf{U} := \dfrac{\mathbf{u} \wedge \mathbf{v}}{\sin{\frac{\alpha}{2}}}$ is the normalized form of the plane spanned by the 1-vectors.  There is again an exponential form for such rotors: $\cos{\frac{\alpha}{2}} + \sin{\frac{\alpha}{2}} \mathbf{U} =e^{\frac{\alpha}{2}\mathbf{U}}$

Mr. Gunn then gave an overview of the steps remaining to obtain the geometric algebra of the Euclidean plane $\mathbf{E}^2$ from the geometric algebra of the euclidean vector space $\mathbb{R}^3$:

1. Replace the standard exterior algebra based on the join operator $\vee$ with the dual exterior algebra based on the meet operator $\wedge$.
2. Projectivize the vector space structure of the exterior algebra to obtain an exterior algebra describing the subspace structure of projective space $P(\mathbb{R}^3)$ instead of the vector space $\mathbb{R}^3$.
3. Replace the standard inner product $+++$ with the “slightly” degenerate inner product $++0$.

Notationally: instead of the Clifford algebra $Cl(\mathbb{R}_{3,0,0})$ we need the Clifford algebra $P(Cl(\mathbb{R}^*_{2,0,1}))$.  Here, the triple $(3,0,0)$ represents an inner product with signature +++ while $(2,1,0)$ represents one with signature $++-$ and $(2,0,1)$ represents signature $++0$.  The latter is important for the euclidean plane.  To motivate this fact Mr. Gunn turned to a  a speedy review of the geometry of lines in the plane.

Review of lines in the plane. A line whose equation is $ax+by+c=0$ is represented by the vector $\mathbf{v} := [a,b,c]$ or any positive multiple.  The oppositely oriented line is obtained by $-\mathbf{v}$ or any negative multiple. The normal vector to the line is the vector $(-b, a)$. I can normalize  line equations so that $a^2+b^2=1$ (except the  triple $(0,0,c)$ which represents the ideal line of the euclidean plane). For two such normalized euclidean lines, it’s then easy to see that $\mathbf{u} \cdot \mathbf{v} := a_u a_v + b_u b_v$ is the cosine of the angle between the two lines. Notice that this inner product does not involve the $c-$ coordinate.  It’s signature is $(2,0,1)$.  The important point is that the angle between two lines is totally determined by this inner product, even though it is “degenerate”.

# 28-30.01.14 Geometric algebra

Here’s a link to a gallery of projects which relate mathematics and art.

On Tuesday January 28 Mr. Gunn continued his discussion of the geometric algebra of $\mathbb{R}^2$.  He showed that reflections and rotations can be written as sandwich operators.  For example, reflection of the vector $\mathbf{u}$ in the vector $\mathbf{v}$ can be written $\mathbf{v}\mathbf{u}\mathbf{v}$. This is a sandwich, whose bread is $\mathbf{v}$ and whose meat is $\mathbf{u}$. By concatenating two reflections one obtains another sandwich operator for a rotation around the origin by an angle $\alpha$.

To obtain this rotation formula, define $\mathbf{R} := \mathbf{v}_2 \mathbf{v}_1$ be the geometric product of two unit vectors which meet at an angle of $\dfrac{\alpha}{2}$, CCW from $\mathbf{v}_1$ to $\mathbf{v}_2$. Then we showed in the previous lecture that $\mathbf{R} = \cos{\dfrac{\alpha}{2}} + \sin{\dfrac{\alpha}{2}}\mathbf{I}$.  (Recall that $\mathbf{I} = \mathbf{e}_1 \mathbf{e}_2$ is the pseudoscalar of the algebra).   Recall  that the concatenation of two reflections is a rotation around the meeting point of the lines, through twice the angle between the lines. Then the desired rotation can be written as the concatenation of reflections in these two vectors: $\mathbf{v}_2(\mathbf{v}_1 \mathbf{u} \mathbf{v}_1)\mathbf{v}_2$.  Since the geometric product is associative we can reparenthesize to obtain $(\mathbf{v}_2 \mathbf{v}_1 ) \mathbf{u} (\mathbf{v}_1\mathbf{v}_2)$.  Finally,  let $\mathbf{\widetilde{R}} = \mathbf{v}_1 \mathbf{v}_2$ denote the reversal of $\mathbf{R}$, the element obtained by reversing the order of all geometric products in $\mathbf{R}$.   Then the formula for the rotation reads \mathbf{R}\mathbf{u}\mathbf{\widetilde{R}}$. The element$\mathbf{R}$is called a rotor. # 21-23.01 Napier’s laws, project progress On Tuesday 21.01 Mr. Gunn continued his discussion of spherical trigonometry with an overview of Napier’s laws (which arise when an angle or side is a right angle). He then showed the mathematical animation Not Knot, which builds on the ideas of the video Shape of Space to delve into the hyperbolic structure on a knot complement. This led to a mention of Scott Kim, who designed the logo for the video. You can find lots more of his nifty calligraphic inversions on his web site. On Thursday 23.01 Mr. Gunn complained about two forms of new technology used by the Deutsche Bahn. He then discussed the evaluation forms he collected on Thursday. This led him to share memories of another evaluation several decades ago when he first taught a college course; the results were convinced him to give up teaching and seek a programming job. These memories led him — through the magic of free association — to recount his encounters with two basketball legends, Michael Jordan and Earl “the Pearl” Monroe. He managed to pull himself out of Memory Lane, however, and spent the rest of the hour presenting an introduction to geometric algebra which he hopes to work up into a short script. # 14-16.01 Spherical trigonometry, the shape of space, … Attention: There is now a Doodle for the project presentations which will be held April 8-10 before lectures start for the summer semester. Please register for a date. Snow math art: Check out this series of photos in the Süddeutsche Zeitung. For example: Coming up next week: The course evaluation forms are available. You can fill them out during the lecture next week either on Tuesday or Thursday, I’ll provide time at the end of the lecture for this purpose. Tuesday 14.01: I continued the derivation of spherical trigonometry begun last week in connection with the presentation on the Schatz linkage. The motivation was to be able to solve for the various angles which appear in the motion of this linkage. The approach I took can also be found in these lecture notes for Geometrie I from Boris Springborn, in particular, pages 5 and 6. Thursday 16.01: We had the pleasure of hearing a lecture from Jeff Weeks, who is visiting the math department this week. Jeff talked about “The Shape of Space” and demonstrated his entertaining and educational topology software, which can be found here. # 17-19.12 Magic Theorems New Math this week: the main results this week involved the so-called Magic Theorems, that establish important results about the orbifold notation we have been learning to use to name symmetry groups. To understand the theorems we need to introduce the basic symbols for the notation. •$\large *$Represents a mirror line • X Represents a glide reflection •$n\in \mathbb{N}$represents a natural number$n > 1$, a rotation center of order$n$. •$O$represents a pattern without any of the above features. To each of these symbols there is a cost associated. By considering all possible valid strings consisting of these symbols, one can then associate to each string a cost by summing over the costs associated to the constituent symbols. One obtains some beautiful theorems. But first we need to introduce some further concepts. The Euler characteristic of a surface. Suppose I have a set of polygons with the property that every edge is shared by exactly two polygons. This set of polygons is called a 2-complex and determines a two-dimensional surface without boundary. Consider 2-complexes which yield the 2-sphere as surface. Let V, E, and F denote the number of vertices, edges, and faces, resp. in the 2-complex. Then we showed by considering the platonic solids that$V-E+F=2$for these surfaces, and gave reasons to believe that this relation is always true. We define the associated function for a 2-complex$c$: the Euler characteristic$\lambda(c) := V-E+F$. For a 2-sphere,$\lambda(c) = 2$. Considering the 1-holed torus we showed that$\lambda(c)=0$and, in general, for n-holed tori,$\lambda(c) = 2-2n$. Euler characteristic of orbifolds. By considering the orbifolds we have been studying, we were able to extend the notion of Euler characteristic to these spaces, too. The key idea is to introduce fractional points and edges at points and edges which are fixed by some group element. One determines the fractional weights so that the resulting weights add up to 1 wherever the stabilizer of the group is non-trivial. That is, make sure that the statement: “The copies of the fundamental domain cover the plane (or sphere) without overlap” remains true. The cost function. The cost function is defined as follows: •$k(*) = k(X) = 1$, •$k(n) = \dfrac{n-1}{n}$if it comes before any$*$in the string, otherwise$k(n) = \dfrac{n-1}{2n}$. •$k(O) = 0.

Example: Let $s = 235$.  Then $k(x) = \dfrac{1}{2}+ \dfrac{2}{3} + \dfrac{4}{5} = \dfrac{118}{60}$.

Magical theorem for spherical groups:  Let $s$ be a valid string consisting of the above symbols.  Then the cost function $k(s) < 2$ exactly when $s$ describes a spherical orbifold $\mathcal{O}$.  In this case, the Euler characteristic of $\mathcal{O}$ is $\lambda({\mathcal{O}}) = 2-k(s)$, and the symmetry group of  $\mathcal{O}$ has order $\dfrac{1}{\lambda({\mathcal{O}})}$.

Example:  Applied to $235$, one obtains that this orbifold has Euler characteristic $\dfrac{1}{60}$ and the symmetry group has order 60.

There is a similar, simpler theorem for wallpaper groups.

Magical theorem for spherical groups:  Let $s$ be a valid string consisting of the above symbols.  Then the cost function $k(s) = 2$ exactly when $s$ describes a spherical orbifold $\mathcal{O}$.

Further research: Note that the theorem makes no claims regarding the order of the group, since they are all infinite groups.One important invariant of a wallpaper group is the order $O_T$ of the translation group within the full group.  Can you find a way to derive this invariant from the Conway-Thurston orbifold notation for the group?

Further reading:  See the book Symmetry of Things by John Conway, et. al., Chs. 3, 4, and 6 for details and proofs of all the above themes and claims.  The book can be found  in the math library “Apparat”.

# 10-12.12 Still more symmetry groups

Important scheduling decision: Today in class we determined that the presentations for the summer semester would be held during the  first two weeks Tuesday, April 1 – Friday, April 11, although lectures begin only on April 14.  This choice was proposed by Mr. Gunn, since Easter school vacations run from April 14-April 28 and he has plans for family vacation during this time.  It’s also likely that getting the presentations over before the semester lectures start will be healthy for everyone involved.

Important calendar dates this year.  Mr. Gunn can’t resist pointing out the following dates from this semester are … well if not significant at least interesting:

• 7.11.13   The last time three consecutive primes will occur in a date until next century.
• 5.12.13   A Pythagorean triple date.  This won’t happen again until 17.8.15 — Mr. Gunn believes.  Can anyone prove or disprove this?
• 11.12.13  Three consecutive whole numbers.  Won’t happen again until next century.

List of Projects.  Here is a list of possible projects from Mr. Gunn’s fantasy land. Also, take a look at last year’s projects to see how such an idea can be implemented.  The projects entitled “Creation of Escher Tilings”, “A 3D Kaleidoscope” and “Dynamical Wallpaper Patterns” could be reworked again this year as there remains quite a lot to do. Of course you’re encouraged to come up with your own project ideas also.  I would like to meet with each team before Christmas to discuss the state of your project! One possibility would be to use the tutorials next week for this purpose.  If there are no objections I’ll prepare a sign-up sheet to pass around on Thursday’s lecture. (12.12.13).

Wallpaper group resource: The following chart  contains a list of all 17 wallpaper groups including the standard fundamental domains and the generators used in the discretegroup WallpaperGroup class.

The 17 wallpaper groups

George Hart videos.  I encourage you to take a look at the mathematical videos from George Hart, an American mathematician who does lots of interesting stuff with symmetry groups.  In particular, check out the videos involving group mathematical sculpture constructions (“Geometric barn-raising”). For example, this one.  I think we should consider doing something like this as a class after we come back from Christmas and hanging the result in the ground floor of the math building (outside of the lecture hall 005, etc).

10.12 Mathematics. Mr. Gunn introduced the remaining spherical groups, the ones that do not preserve 2 antipodal points.  They are the symmetry groups of the platonic solids. To be precise, the groups and the platonic solids are:

• *233    tetrahedron
• *234    cube and octahedron
• *235    pentagon dodecahedron

There are also the rotational subgroups of these groups: 233, 234, and 235.

Mr. Gunn explained how the fundamental region for these groups can be arrived at by splitting an equilateral spherical triangle into 6 smaller right triangles with angles $\dfrac{\pi}{2},\dfrac{\pi}{3},\dfrac{\pi}n$ for $n\in \{3,4,5\}$.  As a result these groups are known as triangle groups.  Check out the triangle group application here, or access it in eclipse via “Referenced Libraries->discretegroupCGG.jar->discreteGroup.demo.TriangleGroupDemo.class” then right-click and “Run as …->Java application”.

3*2. Finally there is the group 3*2 which has three mutually perpendicular mirrors which split the sphere into 8 right-angled triangles; in the center of the triangle is a rotation center of order 3.  Assignment5 doesn’t work quite right with this group, you are encouraged to fix it and send Mr. Gunn the result.

Euler characteristic.  In discussing the platonic solids Mr. Gunn pointed out that the number of vertices V, the number of edges E, and the number of faces F in all the platonic solids obey the law $V-E+F=2$.  He showed that standard operations to insert faces, edges, or vertices also leave the value of $V-E+F$ invariant.  This value is called the Euler characteristic of the surface E(S).  It is a topological invariant of the surface (in this case the sphere).  By considering a torus rolled up out of a single quadrilateral, one was able to calculate that for the torus $E(S) = V-E+F=0$.  For a two-holed torus one can show (by folding it up from 1 octagon) that $E(S) = V-E+F=-2$.

In general, E(S) = 2$(1-g)$ where $g$ is the genus of the surface (the number of holes it has). Mr Gunn claimed but postponed proving that the Thurston-Conway notation for 2-orbifolds and 2-manifolds has a close connection to the Euler characteristic.  He indicated that if one takes the name of an orbifold $\mathcal{O}$ as a sequence of symbols, one can attach a “cost” function K(s) to each symbol $s$ in such a way that the sum $\Sigma$ of the costs of all the  symbols satisfies $E(\mathcal{O}) = 2-\Sigma$.  Of course one also has to define what is meant by the Euler characteristic of $\mathcal{O}$, since up til now we only know what it means for a sphere or other compact orientable surface. So that will happen on Thursday 12.12

Christmas ornament application. To demonstrate these groups, Mr. Gunn hooked up the beamer and fired up template.Assignment5 from the git repository.  There’s a blog post on this application here and an image album here. You’re encouraged to play with this application to get a feel for these spherical groups.

# 3-5.12 Normal Subgroups and More

Note: The tutorials next week will meet in the PORTAL (Second floor, same end of the building as BMS).  We will have a demo of the facilities there, including the 3D printing and scanning area.

Assignments. The continuation of Assignment 4 is described in the previous post.  It’s due this Friday Dec. 6.   Assignment 5 — creation of a Christmas calendar image — is also described there.  It’s due on Dec. 13.  December 9: See this update.

03.12.13:  Mr. Gunn continued the guided tour of the planar symmetry groups by considering symmetry groups of the plane with 2 independent translations: the wallpaper groups.  In contrast to the frieze groups, they can have rotational symmetries of order greater than 2.

Wallpaper group application. You can  run a jReality wallpaper group application from your eclipse project by navigating in the Package Explorer to “Referenced Libraries->discretegroupCGG.jar->discreteGroup.wallpaper.WallpaperPluggedIn.class” and then using right-mouse click to choose “Run as … Java application”.   (Here is a Java webstart of the same application. But be careful — if you run it under Java 7, which is sometimes difficult to avoid with webstarts, make sure the left hand panel is hidden or it runs v e r y slowly.) This application allows you to experiment with all 17 wallpaper groups — see the “Wallpaper” menu and the left inspection panel.  Here’s a picture generated the group 244 with the automatic painting option (choose “Wallpaper->run” option):

Wallpaper group resource: The following chart  contains a list of all 17 wallpaper groups including the standard fundamental domains and the generators used in the discretegroup WallpaperGroup class.

The 17 wallpaper groups

More group theory. To obtain a good answer for Assignment 4 it’s useful to understand a bit more about the internal structure of the frieze groups.  It turns out the the translation subgroup plans an important role.  To understand this, we need to introduce some notation.

Definition: A subgroup $H$ of a group $G$ is normal if $gHg^{-1} = H \forall g \in G$. We write $H \trianglelefteq G$.

Theorem: The translation subgroup $T$ of a euclidean group $G$ is a normal subgroup.

Proof:  A general  isometry $g$ can be written as $g(\mathbf{X}) = A.\mathbf{x} + T$ where $A \in O(n)$ is an orthogonal transformation and $T \in \mathbb{R}^n$ is the vector of the translation. Then $g^{-1} = A^{-1}.\mathbf{x} + A^{-1}.T$ and writing out the composition $gSg^{-1}$ where $S$ is the translation $\mathbf{x} \rightarrow \mathbf{x} + S$ yields the result $gSg^{-1}(\mathbf{x})= \mathbf{x} + A^{-1}.S$, which is clearly a translation. \qed

Cosets.  A  subgroup $H \trianglelefteq G$ determines an equivalence relation on the group $G$ as follows: Define $\mathbf{x} \sim \mathbf{y} \iff x^{-1}y \in H$.  We leave it to the reader to verify that this is an equivalence relation.  Hence, it partitions $G$ into equivalence classes of elements.  Each equivalence class is called a left coset of $G$ with respect to $H$.  A similar definition involving $xy^{-1}$ yields the right cosets. The coset containing $id$ is clearly $H$ itself. [Exercise: when $H$ is normal, the left cosets and the right cosets coincide.] The coset containing $\mathbf{x} \in G$ is written $[\mathbf{x}]$.  [Exercise: Every element of $[\mathbf{x}]$ can be uniquely written as $\mathbf{x}\mathbf{h}_x$ for some $h_x \in H$.] Let us choose a set of representative ${\mathbf{a}_i}$ for the cosets.  Then $\mathbf{x} \in [\mathbf{a}_i]$ can be written as $\mathbf{x} = \mathbf{a}_i \mathbf{h}_x$ for some $\mathbf{h}_x \in H$.

The quotient group. The cosets of a normal subgroup have an induced group structure. Indeed, let $[\mathbf{x}]$ and $[\mathbf{y}]$ be two cosets.  Then define a product on cosets by $[x][y] = [xy]$. Using our canonical representatives we can write  the RHS as $[(\mathbf{a}_i \mathbf{h}_x) (\mathbf{a}_j \mathbf{h}_y)]$.  Now since right and left cosets are the same, there exists $\mathbf{h}^{‘}_x \in H$ such that $\mathbf{h}_x \mathbf{a}_j = \mathbf{a}_j \mathbf{h}^{‘}_x$. Then moving parentheses $[\mathbf{a}_i (\mathbf{h}_x \mathbf{a}_j) \mathbf{h}_y] = [\mathbf{a}_i \mathbf{a}_j \mathbf{h}^{‘}_x \mathbf{h}_y] = [ \mathbf{a}_i \mathbf{a}_j]$ so the result is clearly independent of the choice of $\mathbf{x}$ and $\mathbf{y}$.

We write $G/H$ and call it the quotient group of $G$ by $H$.

Connection to Assignment 4. At the conclusion of thursday’s lecture, Mr. Gunn showed how these ideas could be applied to Assignment 4 to generate the desired list of elements of the freize groups. Here’s what the resulting code for updateCopies() looks like:

Matrix[] cosets = null;
Matrix generatingTranslation = null;
int numCosets = 0;
switch(whichGroup)	{
case 0:
numCosets = 1;
cosets = new Matrix[1];
cosets[0] = new Matrix();
generatingTranslation = MatrixBuilder.euclidean().translate(1, 0, 0).getMatrix();
break;
case 1:
numCosets = 2;
cosets = new Matrix[numCosets];
cosets[0] = new Matrix(); // identity
cosets[1] = MatrixBuilder.euclidean().reflect(new double[]{1,0,0,0}).getMatrix();
generatingTranslation = MatrixBuilder.euclidean().translate(2, 0, 0).getMatrix();
break;
// implement this group (* infinity infinity ) here as above in case 0
// there are two vertical mirrors a distance 1 apart.
case 3:
generatingTranslation = MatrixBuilder.euclidean().reflect(new double[]{0,1,0,0}).translate(1,0,0).getMatrix();
numCosets = 1;
cosets = new Matrix[1];
cosets[0] = new Matrix();
break;
case 6:
// implement this group (* 2 2 infinity) here as above in case 0
// there are two vertical mirrors a distance 1 apart and a horizontal mirror  in the line y = 0.
generatingTranslation = MatrixBuilder.euclidean().translate(2,0,0).getMatrix();
numCosets = 4;
cosets = new Matrix[4];
cosets[0] = new Matrix();
cosets[1] = MatrixBuilder.euclidean().reflect(new double[]{1,0,0,0}).getMatrix();
cosets[2] = MatrixBuilder.euclidean().reflect(new double[]{0,1,0,0}).getMatrix();
cosets[3] = MatrixBuilder.euclidean().rotateZ(Math.PI).getMatrix();
break;
.... // other cases not included here
}
int outerLoopCount = count/numCosets, counter = 0;
// run through the powers of the generating translation ...
for (int j = 0; j &lt;= outerLoopCount; ++j) {
Matrix powerOfTranslation = Matrix.power(generatingTranslation, (j - outerLoopCount/2));
// and multiply it on the right by each of the coset representatives
for (int k = 0; k&lt;numCosets; ++k)	{ 			// skip over non-existing scene graph components at end 			if (counter &gt;= count) continue;
SceneGraphComponent child = translationListSGC.getChildComponent(counter++);
Matrix tmp = new Matrix(cosets[k].getArray().clone());
tmp.multiplyOnLeft(powerOfTranslation);
tmp.assignTo(child);
}
}

}

# 26-28.11 More Symmetries and Groups, Assignment5

Assignment5: For the class’s Christmas calendar, each group is asked to contribute one beautiful, self-made mathematical image.  Please subclass the java class template.Assignment to produce an application named Assignment5 which displays this image when it is run.  I encourage you to use this assignment as a preparation for your project — even if you don’t know what the topic of your project is!  Choose some favorite  domain of mathematics and use what you’ve learned about jReality to create an image appropriate for inclusion in a Christmas calendar.  For example, the image below shows another of my free-lance efforts for Matheon from several Christmases ago …  Assignment5 due on Dec 13 — see the next paragraph for the continuation of Assignment4, due on Dec. 6. Assignment4 continuation. I have, as promised, extended Assignment 4 to include another “assignment”. The problem with the standard painting algorithm is shown in the following image: when the center of the brush approaches the boundary of the fundamental region (always a square for these groups), it can happen that only part of the brush is painted.  See the red and blue “half-paths” which join along a seam: the red was painted with the center of the brush slightly to the left side, the blue with the center of the brush just slightly to the right.  It ain’t right — you gotta fix it.

The problem with painting a freize group.

To complete this assignment:  Please make sure your Assignment4 class subclasses from template.AbstractAssignment4 not from a copy in your student package. Then update to the latest version of my repository. You should only need to make a copy of template.Assignment4PaintTool — see the directions at the top of this file.  The new version of AbstractAssignment4 invokes this class to provide painting support — your task is to edit Assignment4PaintTool so it supports all 7 frieze groups so that no seams are visible during painting.  This assignment is due in a week, on Dec. 6.

Note: Do some of your frieze groups appear wrong (the last three groups on the menu, when there should be two rows there is only one with L’s lying on top of each other)?  If so, make sure that the updateCopies() method in Assignment4 contains the following line of code:


MatrixBuilder.euclidean().
translate(0, (whichGroup &gt;= 4 &amp;&amp; whichGroup &lt;= 6) ? .5 : 0, 0).
assignTo(fundamentalDomain);

It could be that you made a copy of template.Assignment4Example before I included the above line of code.

Mathematical News. This week we continue the exploration of planar (or at least 2-dimensional) symmetry patterns.  The focus turned from frieze groups to spherical groups, that is, groups of isometries of the 2-dimensional sphere $\mathbf{S}^2$.  This is just the familiar orthogonal group $O(3)$, and a point group is a discrete subgroup.  Recall a discrete subgroup is one in which the identity element is isolated, there is no sequence of group elements converging to it.

Fundamental domains and quotient spaces. Before continuing the investigation of particular groups, Mr. Gunn introduced some general language.  First he observed that we are considering symmetries of 2-dimensional spaces of constant curvature, such as the Euclidean plane or the 2-sphere.  In general we call this space $\mathbf{X}$.  And a discrete group of motions will be in general denoted as $\Gamma$.  He then discussed the concept of a fundamental domain for $\Gamma$.  That is a subset $D \subset \mathbf{X}$ such that $\cup_{g\in D}{g(D)} = \mathbf{X}$ and $g_1(D) \cap g_2(d) = \emptyset$ for $g_1, g_2 \in \Gamma$. That is, the copies of $D$ cover $X$ without overlap.  Such a covering is called a tessellation – in German, Pflasterung.  We can arrive at the same concept more abstractly by defining an equivalence relationship on $\mathbf{X}$: $\mathbf{P} \sim \mathbf{Q} \iff \exists g \in \Gamma ~\text{such that}~ g(\mathbf{P}) = \mathbf{Q}$ The set of equivalence classes is called the quotient of $\mathbf{X}$ by $\Gamma$ and is written $\mathbf{X}/\Gamma$.  We want to understand better how such quotient spaces behave.

Simplest example: the circle as quotient of the line. Mr. Gunn explained in detail the construction of the quotient space $\mathbf{E}^1/ \{ t \}$ where $\{ t \}$ is the discrete group generated by the unit translation $t: x \rightarrow x+1$.  He showed that $\mathbf{E}^1/ \{ t \}$ is a circle $S^1$ by twisting the line into an infinite helix so that the orbit of any point under the group lies on the vertical line passing through it.  Then, by looking down on this helix from far away, each vertical line collapses to a point and we are left with a circle.

Connection of quotient space and fundamental region. The quotient space is closely related to a fundamental domain.  A fundamental domain for this group is the half-open interval $[0, 1)$; the quotient space is obtained by taking into account the fact that $0 \sim 1$, hence we have to “glue” the two ends of the segment together to obtain the quotient space.  In short, the quotient space can be obtained from a fundamental region by remembering to glue together parts of the boundary of the FD which are identified under some group element.

Dirichlet domain.  There are many possible choices for a fundamental domain. For the groups we consider, we can always arrange that the fundamental domain is topologically an open disk along with a subset of its boundary.

The problem with overlaps. An n-dimensional euclidean manifold is a space in which every point has a neighborhood homeomorphic to $\mathbf{R}^n$. When is the quotient space a manifold?  Define the stabilizer of a point P to be the set of group elements which fix P: $s(P) := \{g \in \Gamma \mid g(P) = P\}$.  Since $\Gamma$ is discrete, $s(P)$ is finite. It is exactly  points with non-trivial stabilizers that cause overlaps in the tessellation. It’s easy to see that copies of any fundamental region will “overlap” at such points.  For let $D$ be a fundamental domain$g, h \in s(P), P \in D$.  Then $f(D) \cap g(D) = f(P) \neq \emptyset$. On the other hand, if $s(P) = \{id\}$ for all $P\in D$, then the action is called fixed-point free and the resulting quotient is a  manifold. This is equivalent to saying we can find a fundamental region whose copies cover $\mathbf{X}$ without overlap.  This is the case for example for the translation frieze group $\infty \infty$ or the group generated by one glide reflection $\infty X$.

Orbifolds to the rescue.   If $s(P)$ is not the trivial group, the quotient space $\mathbf{X}/\Gamma$ in a neighborhood of $P$ will not look like $\mathbb{R}^n$ but rather like the quotient $\mathbb{R}^n/s(P)$.   An orbifold is defined similarly to a manifold, with the looser requirement that each point $P$ has a neighborhood homeomorphic to $\mathbb{R}^n/G$ for a finite group $G$.  In effect, we “split” the point into $k$ identical “fractional” parts  (where $k = | s(P) |$) so that the $k$ “overlapping” copies of $P$ (each of size “$\dfrac1k$”) together “add up” to a single point.  In this way we can rescue the statement “The copies of D cover $\mathbf{X}$ without overlap.”

Example. Consider a rotation of order-2 in the plane and the associated cyclic group $C_2$.  The rotation center $P$ is fixed by the both the identity and the rotation, so is not trivial. In a neighborhood of $P$, $\mathbf{E}^2/C_2$ looks like a cone formed by rolling a straight angle at $P$.  [need to show a picture to explain this].

Why this is important. This relation between symmetry groups and quotient spaces is important since it turns out that every topological space can be realized in this way as the quotient of some simply-connected space by an appropriate discrete group. More on this on Thursday when I’ll show the video “Shape of Space”.  This wasn’t completely proven until the Poincare Conjecture was proved by Grigori Perelman in 2006.

The spherical groups fixing two points. We began by restricting attention to symmetry groups which fix two antipodal points.  We began by showing that there are a family of cyclic groups generated by a rotation of order $n$, fixing the north and south pole and rotating along the equator, so to speak.  One sees easily that fundamental domain for this group is a two-sided section of the sphere extending from north to south pole, whose one side is mapped to the other side by the rotation.  This region is called a bigon since it has two sides and two vertices.  Since the angle at each vertex is $\dfrac{2 \pi}{n}$, the group is called $nn$.  … to be continued … In the meantime see this Wikipedia article.

# 19-21.11 Symmetries and Groups, Assignment4

Current news and notes:

• Our lectures will be held in MA 313 from now on.  This decision was met by the BMS administration since our class size exceeds the recommended seating for the room. I hope we can reproduce the U-shaped seating from 212 in 313 — with your help I think we shouldn’t have any problem adjusting the new roomier quarters.
• Check out this attractive web-site featuring mathematical visualization and education.  It was recently awarded a gold prize in a European competition for internet and mobile apps.  I found quite a few things to like, particularly the interactive Mandelbrot zoomer.
• Assignment4 is ready for download — although I may add something else over the weekend, the first part is ready to work on. The assignment will be due Friday 29.11 at midnite.

Symmetry and groups.  Mr. Gunn introduced the concepts of symmetry, focusing on patterns in the euclidean plane. The set of symmetries of a pattern he showed to form an algebraic structure known as a group. He introduced three categories of symmetry groups in the euclidean plane based on the translational subgroup of the group. … to be continued… Here are some good lecture notes on euclidean symmetries from last year’s course.  Here is an introduction to the Conway notation for groups.

Here is a basic treatment  by Prof. Sullivan of transformation group theory.