Pentagrams to Buckyballs: Simplifying GoldenRatio

Stephen Wandzura
Hughes Research Laboratories
3011 Malibu Canyon Rd.
Malibu, CA  90265-4779

wandzura@macaw.hrl.hac.com

This research was supported by the Advanced Research Projects Agency of the Department of Defense and was monitored by the Air Force Office of Scientific Research under Contract No. F49620-91-C-0064. The United States Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright notation hereron.

Introduction

Background

Anyone who has ever watched the Disney classic "Donald Duck in Mathemagica Land" knows that the golden mean, (1+Sqrt[5])/2, is an important constant in geometry. It is ubiquitous in the analysis of problems involving five-fold symmetry axes. The Pythagoreans attributed  magical qualities to the number. One of its notable properties is that it gives the aspect ratio of a rectangle that is similar to the piece left when a square is lopped off:

Show[
Graphics[{
	Hue[0.3],
	Rectangle[
		{0,0},
		{1,1}],
	GrayLevel[0],
	Text[x,{0.5,-.1}],
	Hue[0.6],
	Rectangle[
		{1,0},
		{GoldenRatio,1}],
	GrayLevel[0],
	Text[1,{1.309,-.1}],
	Text[x,{1.72,0.5}]
}],
AspectRatio->Automatic,
DefaultFont->{"Courier",24}]

(x+1)/x == x/1

Map[x#&,%]

Solve[%,x]

Perhaps for this reason, the golden mean is supposedly the most aesthetic aspect ratio for a rectangle.

Problems of Current Interest

Penrose Tilings

Quasicrystals

Buckyballs

Quadrature Rules for Integrals over Spheres

Mathematica

In Mathematica, the golden mean is called GoldenRatio:

x /. %[[1]]

N[%]

GoldenRatio // N

Its reciprocal is the default AspectRatio for Plot:

AspectRatio /. Options[Plot]

To my knowledge, this is all Mathematica knows about GoldenRatio.

Algebraic Relations for Sin[] & Cos[]

Multiples of Pi/4 and Pi/6

Otherwise known as 45˚ and 30˚

Mathematica knows about these:

Table[
	{Pi/n,Cos[Pi/n],Sin[Pi/n]},
	{n,6}
	 ]	//TableForm

Multiples of Pi/5 and Pi/10

Otherwise known as 36˚ and 18˚

These angles appear in 2d problems with five-fold symmetry.

Cos[Pi/5]==
	GoldenRatio/2 //N

Sin[Pi/5]==
	Sqrt[3-GoldenRatio]/2 //N

Cos[Pi/10]==
	Sin[2 Pi/5] //N

ArcTan[2]

Otherwise known as ~ 63.4349˚

This angle appears in 3d problems with five-fold symmetry.

Cos[ArcTan[2]]==
	1/(2 GoldenRatio - 1) //N

Sin[ArcTan[2]]==
	2 Cos[ArcTan[2]] //N

Package Functionality

Matrices of the Icosahedral Group

<<"Geometry`Rotations`"

These matrices belong to the T1 representation of the iscosahedral group.

Simplify[]doesn't improve them.

m1

m1=
RotationMatrix3D[
	9 Pi/10, ArcTan[2], Pi/10
				]

m2

m2=
RotationMatrix3D[
	Pi/2,ArcTan[2],Pi/10
				]

m3

m3=
RotationMatrix3D[
	9 Pi/10,ArcTan[2],13 Pi/10
				]

m4

m4=
RotationMatrix3D[
	11 Pi/10,
	Pi-ArcTan[2],
	3Pi/10		]

Products

Products of these are even worse.

mm=m2.m3;

mm//LeafCount

Trig Functions

Simple Examples

Cos[313 Pi/ 5]

Sin[-313 Pi / 5]

Sin[Pi-ArcTan[2]]

Read in Package and Change Format[GoldenRatio]

Unprotect[GoldenRatio];
Format[GoldenRatio]:=G;
Protect[GoldenRatio];

Simple Examples

Cos[313 Pi/ 5]

Sin[-313 Pi / 5]

Sin[Pi-ArcTan[2]]

Algebraic Simplifications

GoldenExpand

GoldenExpand[GoldenRatio^2]

LegendreP[6,GoldenRatio]

%//GoldenExpand

GoldenFactor

%//GoldenFactor

%==LegendreP[6,GoldenRatio]//N

GoldenSimplify

Sin[Pi/5] Cos[Pi/5] Cos[2 Pi/5]

%//GoldenSimplify

Simplified Matrices of the Icosahedral Group

Simplified Matrices

m1

%//GoldenSimplify

m2

%//GoldenSimplify

m3

%//GoldenSimplify

m4

%//GoldenSimplify

Simplified Matrix Products

mm//LeafCount

mm=GoldenSimplify[mm]

mm//LeafCount

Working with Variables

poly=
(2/125 + 4/(375*GoldenRatio^4) + 4/(375*GoldenRatio^3) + 
     3/(125*GoldenRatio^2) + 8/(375*GoldenRatio) + 
     (4*GoldenRatio)/375 + GoldenRatio^2/375 + 
     4/(15*(2 + GoldenRatio)^2) + 
     (8*GoldenRatio^2)/(15*(2 + GoldenRatio)^2) + 
     (4*GoldenRatio^4)/(15*(2 + GoldenRatio)^2))*x^2 + 
  (1/(3*(2 + GoldenRatio)) + 
     GoldenRatio^2/(3*(2 + GoldenRatio)))*y^2 + 
  (-2/125 + 8/(375*GoldenRatio^3) + 
     16/(375*GoldenRatio^2) + 2/(375*GoldenRatio) - 
     (2*GoldenRatio)/375 + 
     (8*GoldenRatio)/(15*(2 + GoldenRatio)^2) + 
     (8*GoldenRatio^2)/(15*(2 + GoldenRatio)^2) - 
     (8*GoldenRatio^3)/(15*(2 + GoldenRatio)^2))*x*z + 
  (13/75 + 2/(75*GoldenRatio^2) + 2/(75*GoldenRatio) + 
     (2*GoldenRatio^2)/(3*(2 + GoldenRatio)^2))*z^2

GoldenExpand[poly]

The following cell is inactive because it would take too long to evaluate, and return and ugly result:

GoldenSimplify[poly]

However, the following works well:

GoldenSimplify[poly,{x,y,z}]

Conclusions

Desirable extensions to the package

(Maybe WRI can do these?)

Rules for ArcSin[], Tan[], etc.

Add Golden option to system functions

Expand[expr,Golden->True]

Facilities for easier debugging would be useful.

Mathematica  should provide a facility for reading files resident on the front end machine.