Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Draft Forbes Group Website (Build by Nikola). The official site is hosted at:

https://labs.wsu.edu/forbes

5910 views
License: GPL3
ubuntu2004
1
<?xml version="1.0" encoding="utf-8"?>
2
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>The Forbes Group (Posts about private_blog)</title><link>http://swan.physics.wsu.edu/forbes/</link><description></description><atom:link href="http://swan.physics.wsu.edu/forbes/categories/cat_private_blog.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 &lt;a href="mailto:Michael McNeil Forbes &lt;[email protected]&gt;"&gt;Michael McNeil Forbes&lt;/a&gt; </copyright><lastBuildDate>Wed, 15 Mar 2023 01:12:27 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Photos and Git Annex</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/photos-and-git-annex/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
3
&lt;/div&gt;&lt;div class="inner_cell"&gt;
4
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
5
&lt;h2 id="Photos-and-Git-Annex"&gt;Photos and Git-Annex&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/photos-and-git-annex/#Photos-and-Git-Annex"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;In this post we discuss using &lt;a href="https://git-annex.branchable.com"&gt;git-annex&lt;/a&gt; to manage photos.&lt;/p&gt;
6
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/photos-and-git-annex/"&gt;Read more…&lt;/a&gt; (1 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/photos-and-git-annex/</guid><pubDate>Sun, 08 Jul 2018 06:54:41 GMT</pubDate></item><item><title>Creating a Nikola Theme</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/creating-a-nikola-theme/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
7
&lt;/div&gt;&lt;div class="inner_cell"&gt;
8
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
9
&lt;p&gt;&lt;img src="https://html5up.net/uploads/images/massively.jpg" alt="Massively"&gt;&lt;/p&gt;
10
&lt;h2 id="Nikola-Themes"&gt;Nikola Themes&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/creating-a-nikola-theme/#Nikola-Themes"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;This posts describes my process of creating a new Nikola theme based on the &lt;a href="https://html5up.net"&gt;HTML5 UP&lt;/a&gt; template called &lt;a href="https://html5up.net/massively"&gt;Massively&lt;/a&gt;.&lt;/p&gt;
11
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/creating-a-nikola-theme/"&gt;Read more…&lt;/a&gt; (19 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/creating-a-nikola-theme/</guid><pubDate>Sun, 25 Mar 2018 15:27:26 GMT</pubDate></item><item><title>Carl Brannen</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/carl-brannen/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
12
&lt;/div&gt;&lt;div class="inner_cell"&gt;
13
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
14
&lt;p&gt;Write your post here.&lt;/p&gt;
15
16
&lt;/div&gt;
17
&lt;/div&gt;
18
&lt;/div&gt;
19
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
20
&lt;/div&gt;&lt;div class="inner_cell"&gt;
21
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
22
&lt;h2 id="Pauli-Spin-Matrices"&gt;Pauli Spin Matrices&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/carl-brannen/#Pauli-Spin-Matrices"&gt;&lt;/a&gt;&lt;/h2&gt;
23
&lt;/div&gt;
24
&lt;/div&gt;
25
&lt;/div&gt;
26
&lt;div class="cell border-box-sizing code_cell rendered"&gt;
27
&lt;div class="input"&gt;
28
&lt;div class="prompt input_prompt"&gt;In [4]:&lt;/div&gt;
29
&lt;div class="inner_cell"&gt;
30
&lt;div class="input_area"&gt;
31
&lt;div class=" highlight hl-ipython2"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;np&lt;/span&gt;
32
33
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;com&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;B&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
34
&lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;B&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;B&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dot&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
35
&lt;span class="n"&gt;sigma&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;array&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
36
&lt;span class="p"&gt;[[[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
37
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]],&lt;/span&gt;
38
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
39
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]],&lt;/span&gt;
40
&lt;span class="p"&gt;[[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
41
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]]])&lt;/span&gt;
42
43
&lt;span class="k"&gt;assert&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;allclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;com&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sigma&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;sigma&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]),&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;sigma&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
44
&lt;/pre&gt;&lt;/div&gt;
45
46
&lt;/div&gt;
47
&lt;/div&gt;
48
&lt;/div&gt;
49
50
&lt;/div&gt;
51
&lt;div class="cell border-box-sizing code_cell rendered"&gt;
52
&lt;div class="input"&gt;
53
&lt;div class="prompt input_prompt"&gt;In [ ]:&lt;/div&gt;
54
&lt;div class="inner_cell"&gt;
55
&lt;div class="input_area"&gt;
56
&lt;div class=" highlight hl-ipython2"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;
57
&lt;/pre&gt;&lt;/div&gt;
58
59
&lt;/div&gt;
60
&lt;/div&gt;
61
&lt;/div&gt;
62
63
&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/carl-brannen/</guid><pubDate>Mon, 05 Mar 2018 11:01:38 GMT</pubDate></item><item><title>Irregular Grids</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/irregular-grids/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
64
&lt;/div&gt;&lt;div class="inner_cell"&gt;
65
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
66
&lt;p&gt;Here we look at discretization using irregular grids.&lt;/p&gt;
67
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/irregular-grids/"&gt;Read more…&lt;/a&gt; (2 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/irregular-grids/</guid><pubDate>Tue, 24 Oct 2017 01:54:01 GMT</pubDate></item><item><title>Parallel Computing with IPython</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/parallel-computing-with-ipython/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
68
&lt;/div&gt;&lt;div class="inner_cell"&gt;
69
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
70
&lt;p&gt;Here we discuss how to use &lt;code&gt;ipyparallel&lt;/code&gt; to perform some simple parallel computing tasks.&lt;/p&gt;
71
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/parallel-computing-with-ipython/"&gt;Read more…&lt;/a&gt; (1 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/parallel-computing-with-ipython/</guid><pubDate>Fri, 20 Oct 2017 23:47:41 GMT</pubDate></item><item><title>Source Code Projects</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/source-code-projects/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
72
&lt;/div&gt;&lt;div class="inner_cell"&gt;
73
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
74
&lt;p&gt;&lt;img src="https://upload.wikimedia.org/wikipedia/commons/3/32/Atlassian_Bitbucket_Logo.png" alt="Bitbucket"&gt;
75
This post describes the projects I host at &lt;a href="https://bitbucket.org"&gt;Bitbucket&lt;/a&gt;. Note that some of this might be useful for you, but I also include in this list private and incomplete projects. If you think you need access to any of these, please contact me: &lt;code&gt;[email protected]&lt;/code&gt;.&lt;/p&gt;
76
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/source-code-projects/"&gt;Read more…&lt;/a&gt; (7 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/source-code-projects/</guid><pubDate>Tue, 12 Sep 2017 17:53:48 GMT</pubDate></item><item><title>ZNG</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/zng/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
77
&lt;/div&gt;&lt;div class="inner_cell"&gt;
78
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
79
&lt;p&gt;Here we describe the the ZNG formalism for extending the GPE to finite temperatures.&lt;/p&gt;
80
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/zng/"&gt;Read more…&lt;/a&gt; (3 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/zng/</guid><pubDate>Thu, 08 Jun 2017 17:48:55 GMT</pubDate></item><item><title>Beyond GPE</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/beyond-gpe/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
81
&lt;/div&gt;&lt;div class="inner_cell"&gt;
82
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
83
&lt;p&gt;Here we collect various methods for going beyond GPE.&lt;/p&gt;
84
&lt;p&gt;&lt;a href="http://swan.physics.wsu.edu/forbes/private/private_blog/beyond-gpe/"&gt;Read more…&lt;/a&gt; (1 min remaining to read)&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/beyond-gpe/</guid><pubDate>Wed, 07 Jun 2017 16:07:28 GMT</pubDate></item><item><title>Python Projects</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/python-projects/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
85
&lt;/div&gt;&lt;div class="inner_cell"&gt;
86
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
87
&lt;p&gt;Write your post here.&lt;/p&gt;
88
89
&lt;/div&gt;
90
&lt;/div&gt;
91
&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/python-projects/</guid><pubDate>Mon, 29 May 2017 03:58:12 GMT</pubDate></item><item><title>Parking and Commutation</title><link>http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/</link><dc:creator>Michael McNeil Forbes</dc:creator><description>&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
92
&lt;/div&gt;&lt;div class="inner_cell"&gt;
93
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
94
&lt;p&gt;The process of driving and parking can be described using the mathematics of non-commutative algebra which gives some interesting insight into the difficulty of parallel parking. This discussion is motivated and follows a similar discussion from William Burke's book Applied Differential Geometry.&lt;/p&gt;
95
96
&lt;/div&gt;
97
&lt;/div&gt;
98
&lt;/div&gt;
99
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
100
&lt;/div&gt;&lt;div class="inner_cell"&gt;
101
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
102
&lt;h2 id="Mathematical-Formulation"&gt;Mathematical Formulation&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#Mathematical-Formulation"&gt;&lt;/a&gt;&lt;/h2&gt;
103
&lt;/div&gt;
104
&lt;/div&gt;
105
&lt;/div&gt;
106
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
107
&lt;/div&gt;&lt;div class="inner_cell"&gt;
108
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
109
&lt;h3 id="Unique-and-Complete"&gt;Unique and Complete&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#Unique-and-Complete"&gt;&lt;/a&gt;&lt;/h3&gt;
110
&lt;/div&gt;
111
&lt;/div&gt;
112
&lt;/div&gt;
113
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
114
&lt;/div&gt;&lt;div class="inner_cell"&gt;
115
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
116
&lt;p&gt;Consider the motion of a car on a flat plane. To mathematically formulate the problem, we must provide a unique and unambigious characterization of the state of the car. This can be done in a four-dimensional configuration space with the following four quantities:&lt;/p&gt;
117
&lt;ul&gt;
118
&lt;li&gt;$(x, y)$: The position of the car can be described by two numbers to locate where the car is in the plane. Note: to be precise we must specify which point on the car lies at this position, and the algebra might be simplified if we are careful about the placement. As a guess, we start by taking this to be the midpoint of the front axle of the car. In this way, the point $(x, y)$ will move in the direction of the front wheels when driving.&lt;/li&gt;
119
&lt;li&gt;$\phi$: The orientation of the car. This angle will denote the direction in which the car points.&lt;/li&gt;
120
&lt;li&gt;$\theta$: The orientation of the steering wheels. This will be relative to the car so that $\theta=0$ means the wheels point straight ahead.&lt;/li&gt;
121
&lt;/ul&gt;
122
&lt;p&gt;Stop and think for a moment: is this complete? Can we describe every possible position of a car with a set of these four quantities? The answer is definitely no as the following diagram indicates:&lt;/p&gt;
123
&lt;picture of an upside-down car&gt;
124
&lt;p&gt;but with an appropriate restriction placed on the possible condition of the car, you should be able to convince yourself that such a choice of four coordinates is indeed sufficient for our purposes. &lt;em&gt;(If we wish to consider the dynamics of the car, we will need additionally the velocity, and angular velocity, but here we shall just consider the geometric motion of the car.)&lt;/em&gt;&lt;/p&gt;
125
&lt;p&gt;The second question you should ask is: "Is such a characterization unique?" Here again the answer is no: $\theta = 0°$ and $\theta = 360°$ correspond to the same configuration. Thus, we need to restrict our angular variables to lie between $-180° \leq \theta,\phi &amp;lt; 180°$ for example. With such a restriction, our characterization is both unique and complete, and thus a suitable mathematical formulation of the problem.&lt;/p&gt;
126
127
&lt;/picture&gt;&lt;/div&gt;
128
&lt;/div&gt;
129
&lt;/div&gt;
130
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
131
&lt;/div&gt;&lt;div class="inner_cell"&gt;
132
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
133
&lt;h3 id="Units"&gt;Units&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#Units"&gt;&lt;/a&gt;&lt;/h3&gt;
134
&lt;/div&gt;
135
&lt;/div&gt;
136
&lt;/div&gt;
137
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
138
&lt;/div&gt;&lt;div class="inner_cell"&gt;
139
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
140
&lt;p&gt;To simplify the mathematics, we further restrict our notation so that $x$ and $y$ are specified in meters, while $\theta$ and $\phi$ are specified in radians. In this way, the configuration of the car can be specified by four pure numbers $(x, y, \theta, \phi)$.&lt;/p&gt;
141
142
&lt;/div&gt;
143
&lt;/div&gt;
144
&lt;/div&gt;
145
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
146
&lt;/div&gt;&lt;div class="inner_cell"&gt;
147
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
148
&lt;h3 id="Driving"&gt;Driving&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#Driving"&gt;&lt;/a&gt;&lt;/h3&gt;
149
&lt;/div&gt;
150
&lt;/div&gt;
151
&lt;/div&gt;
152
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
153
&lt;/div&gt;&lt;div class="inner_cell"&gt;
154
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
155
&lt;p&gt;Driving consists of applying two operations to the car which we shall call &lt;code&gt;drive&lt;/code&gt; and &lt;code&gt;steer&lt;/code&gt;. Mathematically we represent these as operators $\op{D}_s$ and $\op{S}_\theta$ respectively as following:&lt;/p&gt;
156
&lt;ul&gt;
157
&lt;li&gt;$\op{D}_s$ means drive forward (keeping the steering wheel fixed) for distance $s$.&lt;/li&gt;
158
&lt;li&gt;$\op{S}_\theta$ means rotate the steering wheel through angle $\theta$.&lt;/li&gt;
159
&lt;/ul&gt;
160
161
&lt;/div&gt;
162
&lt;/div&gt;
163
&lt;/div&gt;
164
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
165
&lt;/div&gt;&lt;div class="inner_cell"&gt;
166
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
167
&lt;h4 id="Steering"&gt;Steering&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#Steering"&gt;&lt;/a&gt;&lt;/h4&gt;
168
&lt;/div&gt;
169
&lt;/div&gt;
170
&lt;/div&gt;
171
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
172
&lt;/div&gt;&lt;div class="inner_cell"&gt;
173
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
174
&lt;p&gt;Steering is the easiest operation to analyze. Given a state $(x_1, y_1, \theta_1, \phi_1)$, steering takes this to the state $\op{S}_{\theta}(x_1, y_1, \theta_1, \phi_1) = (x_1, y_1, \theta_1+\theta, \phi_1)$. In words: steering changes the direction of the steering wheel, but does not change the position of orientation of the car. Mathematically this operation is a translation, but as we shall see later, it is convenient to represent these operations as matrices. Thus, we add one extra component to our vectors which is fixed:&lt;/p&gt;
175
$$
176
\vect{p}_1 = \begin{pmatrix}
177
x_1\\
178
y_1\\
179
\theta_1\\
180
\phi_1\\
181
1
182
\end{pmatrix}
183
$$&lt;p&gt;&lt;em&gt;This same trick is often used in computer graphics to allow both rotations and translations to be represented by matrices&lt;/em&gt;. With this concrete representation of configurations as a five-dimensional vector who's last component is always $1$, we can thus represent $\op{S}_{\theta}$ as a matrix:&lt;/p&gt;
184
$$
185
\vect{p}_2 = \mat{S}_{\theta}\cdot\vect{p}_{1}, \qquad
186
\begin{pmatrix}
187
x_1\\y_1\\ \theta_1 + \theta \\ \phi_1\\ 1
188
\end{pmatrix}
189
=
190
\mat{S}_{\theta}
191
\cdot
192
\begin{pmatrix}
193
x_1\\y_1\\ \theta_1 \\ \phi_1\\ 1
194
\end{pmatrix},\qquad
195
\mat{S}_{\theta} =
196
\begin{pmatrix}
197
1\\
198
&amp;amp; 1\\
199
&amp;amp;&amp;amp; 1 &amp;amp;&amp;amp;\theta\\
200
&amp;amp;&amp;amp;&amp;amp; 1\\
201
&amp;amp;&amp;amp;&amp;amp;&amp;amp; 1
202
\end{pmatrix}
203
$$
204
&lt;/div&gt;
205
&lt;/div&gt;
206
&lt;/div&gt;
207
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
208
&lt;/div&gt;&lt;div class="inner_cell"&gt;
209
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
210
&lt;h4 id="Motion"&gt;Motion&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#Motion"&gt;&lt;/a&gt;&lt;/h4&gt;
211
&lt;/div&gt;
212
&lt;/div&gt;
213
&lt;/div&gt;
214
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
215
&lt;/div&gt;&lt;div class="inner_cell"&gt;
216
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
217
&lt;p&gt;Motion of the car is obtained by applying the &lt;code&gt;drive&lt;/code&gt; operator, but this is somewhat more difficult to describe. To specify this, we must work out the geometry of the car. In particular, the motion of the car when $\theta \neq 0$ will depend on the length of the car $L$, or more specifically, the distance between the back and front axles. Without loss of generality (w.l.o.g.), we can assume $L=1$m. &lt;em&gt;(To discuss the motion of longer or shorter cars, we can simply change our units so that the numbers $x$ and $y$ specify the position in units of the length $L$).&lt;/em&gt;&lt;/p&gt;
218
&lt;p&gt;To deduce the behaviour, use two vectors $\vect{f}$ and $\vect{b}$ which point to the center of front and back axles respectively. Cars generally have fixed length, so that $\norm{\vect{f} - \vect{b}} = L$ remains fixed. Now, if the car moves forward, then $\vect{b}$ moves in the direction of $\vect{f} - \vect{b}$ while $\vect{f}$ moves in the direction of the steering wheel.&lt;/p&gt;
219
220
&lt;/div&gt;
221
&lt;/div&gt;
222
&lt;/div&gt;
223
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
224
&lt;/div&gt;&lt;div class="inner_cell"&gt;
225
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
226
&lt;h3 id="A-Better-Representation"&gt;A Better Representation&lt;a class="anchor-link" href="http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/#A-Better-Representation"&gt;&lt;/a&gt;&lt;/h3&gt;
227
&lt;/div&gt;
228
&lt;/div&gt;
229
&lt;/div&gt;
230
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
231
&lt;/div&gt;&lt;div class="inner_cell"&gt;
232
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
233
&lt;p&gt;Polar coordinates are extremely useful for representing vectors in the $x$-$y$ plane. In particular, the representation as a complex number $z = x + \I y = re^{\I\phi}$. Here we suggest a more practical (though less intuitive) representation of the problem in terms of the complex number $z$ describing the position of the car, and the phases $e^{\I\theta}$ for the orientation of the car, and $e^{\I\varphi}$ for the orientation of the steering wheel:&lt;/p&gt;
234
$$
235
\vect{p} =
236
\begin{pmatrix}
237
re^{\I\phi}\\
238
e^{\I\theta}\\
239
e^{\I\varphi}
240
\end{pmatrix}
241
$$&lt;p&gt;We can now work out how the car moves while driving from the following argument. Let $f=z$ be the center of the front axle and $b$ be the center of the back axle. These satisfy the following relationship where $L$ is the length of the axle and $\theta$ is the orientation of the car:&lt;/p&gt;
242
$$
243
f - b = L e^{\I\theta}.
244
$$&lt;p&gt;While driving, the length of the car must not change, the front axle $f$ must move in the direction of the wheels $e^{\I(\theta + \varphi)}$ while the back axle $b$ must move towards the front axle $e^{\I\theta}$. The infinitesimal motion of the car thus satisfies:&lt;/p&gt;
245
$$
246
\d{f} = e^{\I(\theta + \varphi)}\d{s}, \qquad
247
\d{b} = ae^{\I\theta}\d{s}, \qquad
248
\d{f}-\d{b} = e^{\I\theta}(e^{\I\varphi}-a)\d{s} = Le^{\I\theta}\I\d{\theta}.
249
$$&lt;p&gt;We must adjust the coefficient $a$ so that the car does not change length, which is equivalent to the condition that $(e^{\I\varphi}-a)\d{s} = (\cos\varphi-a + \I\sin\varphi)\d{s} = \I L\d{\theta}$. Hence, after equating real and imaginary portions:&lt;/p&gt;
250
$$
251
a = \cos\varphi, \qquad
252
\d{\theta} = \d{s}\sin\varphi/L.
253
$$&lt;p&gt;The second condition tells us how fast the car rotates. We now have the complete infinitesimal forms for steering and driving:&lt;/p&gt;
254
$$
255
\d{\op{S}_{\alpha}(\vect{p})} = \begin{pmatrix}
256
0\\
257
0\\
258
\I e^{\I\varphi}\\
259
\end{pmatrix}
260
\d{\alpha},
261
\qquad
262
\d{\op{D}_{s}(\vect{p})} = \begin{pmatrix}
263
e^{\I(\theta + \varphi)}\\
264
\frac{\I\sin\varphi}{L}e^{\I\theta}\\
265
0\\
266
\end{pmatrix}
267
\d{s}.
268
$$
269
&lt;/div&gt;
270
&lt;/div&gt;
271
&lt;/div&gt;
272
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
273
&lt;/div&gt;&lt;div class="inner_cell"&gt;
274
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
275
&lt;p&gt;In terms of the complex numbers where $z=re^{\I\phi}$ we can write these as derivatives:&lt;/p&gt;
276
$$
277
\op{s} = \pdiff{}{\varphi}, \qquad
278
\op{d} = e^{\I(\theta + \varphi)}\pdiff{}{z} + \frac{\sin\varphi}{L}\pdiff{}{\theta}.
279
$$
280
&lt;/div&gt;
281
&lt;/div&gt;
282
&lt;/div&gt;
283
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
284
&lt;/div&gt;&lt;div class="inner_cell"&gt;
285
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
286
&lt;p&gt;Now we can compute the commutator of these operators:&lt;/p&gt;
287
$$
288
[\op{s}, \op{d}]p = \op{s}\left(
289
e^{\I(\theta+\varphi)}p_{,z} + \frac{\sin\varphi}{L}p_{,\theta}
290
\right) - \op{d}(p_{,\varphi})\\
291
= \left(
292
\I e^{\I(\theta+\varphi)}p_{,z}
293
+ e^{\I(\theta+\varphi)}p_{,z\varphi}
294
+ \frac{\cos\varphi}{L}p_{,\theta}
295
+ \frac{\sin\varphi}{L}p_{,\theta\varphi}
296
\right) - \left(e^{\I(\theta+\varphi)}p_{,\varphi z}
297
+ \frac{\sin\varphi}{L}p_{,\varphi \theta})\right)\\
298
= \I e^{\I(\theta+\varphi)}p_{,z} + \frac{\cos\varphi}{L}p_{,\theta}
299
= \left(\I e^{\I(\theta+\varphi)}\pdiff{}{z}
300
+ \frac{\cos\varphi}{L}\pdiff{}{\theta}\right)p.
301
$$
302
&lt;/div&gt;
303
&lt;/div&gt;
304
&lt;/div&gt;
305
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
306
&lt;/div&gt;&lt;div class="inner_cell"&gt;
307
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
308
&lt;p&gt;This is a combination of a rotation and a translation which one can decompose into a pure rotation about some point (&lt;strong&gt;Exercise: find the point.&lt;/strong&gt;)&lt;/p&gt;
309
310
&lt;/div&gt;
311
&lt;/div&gt;
312
&lt;/div&gt;
313
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
314
&lt;/div&gt;&lt;div class="inner_cell"&gt;
315
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
316
&lt;p&gt;We now complete the same procedure using the point $b$ as a reference point.&lt;/p&gt;
317
$$
318
\d{\op{S}_{\alpha}(\vect{p})} = \begin{pmatrix}
319
0\\
320
0\\
321
\I e^{\I\varphi}\\
322
\end{pmatrix}
323
\d{\alpha},
324
\qquad
325
\d{\op{D}_{s}(\vect{p})} = \begin{pmatrix}
326
\cos\varphi e^{\I\theta}\\
327
\frac{\I\sin\varphi}{L}e^{\I\theta}\\
328
0\\
329
\end{pmatrix}
330
\d{s}.
331
$$$$
332
\op{s} = \pdiff{}{\varphi}, \qquad
333
\op{d} = \cos\varphi e^{\I\theta}\pdiff{}{z} + \frac{\sin\varphi}{L}\pdiff{}{\theta}.
334
$$$$
335
[\op{s}, \op{d}]p = \op{s}\left(
336
\cos\varphi e^{\I\theta}p_{,z} + \frac{\sin\varphi}{L}p_{,\theta}
337
\right) - \op{d}(p_{,\varphi})\\
338
= \left(
339
-\I \sin\varphi e^{\I\theta}p_{,z}
340
+ \cos\varphi e^{\I\theta}p_{,z\varphi}
341
+ \frac{\cos\varphi}{L}p_{,\theta}
342
+ \frac{\sin\varphi}{L}p_{,\theta\varphi}
343
\right) - \left(\cos\varphi e^{\I\theta}p_{,\varphi z}
344
+ \frac{\sin\varphi}{L}p_{,\varphi \theta})\right)\\
345
= -\I \sin \varphi e^{\I\theta}p_{,z} + \frac{\cos\varphi}{L}p_{,\theta}\\
346
= \left(-\I \sin\varphi e^{\I\theta}\pdiff{}{z}
347
+ \frac{\cos\varphi}{L}\pdiff{}{\theta}\right)p.
348
$$&lt;p&gt;In this case, we see that if we execute this commutator about $\varphi = 0$, then we indeed rotate the car about the center of the back axle without any translation.&lt;/p&gt;
349
350
&lt;/div&gt;
351
&lt;/div&gt;
352
&lt;/div&gt;
353
&lt;div class="cell border-box-sizing text_cell rendered"&gt;&lt;div class="prompt input_prompt"&gt;
354
&lt;/div&gt;&lt;div class="inner_cell"&gt;
355
&lt;div class="text_cell_render border-box-sizing rendered_html"&gt;
356
357
&lt;/div&gt;
358
&lt;/div&gt;
359
&lt;/div&gt;</description><guid>http://swan.physics.wsu.edu/forbes/private/private_blog/parking-and-commutation/</guid><pubDate>Sun, 19 Feb 2017 03:20:06 GMT</pubDate></item></channel></rss>
360