## Archive of posts with tag “long paper”

### Monkey-patching graciously

Monkey-patching is a powerful tool in programming. In this article, I used techniques of Ruby metaprogramming to define a series of methods

`def_after`

,`def_before`

, etc. to help monkey-patching. They look graciously in that we can use it to shorten the codes for monkey-patching (avoiding aliasing and repeating codes).- Categories: programming
- Tags: ruby, meta programming, long paper

### Hyperellipsoids in barycentric coordinates

In this article, I introduce the barycentric coordinates: it is an elegant way to represent geometric shapes related to a simplex. By using it, given a simplex, we can construct a hyperellipsoid with the properties: its surface passes every vertex of the simplex, and its tangent hyperplane at each vertex is parallel to the hyperplane containing all other vertices.

- Categories: math
- Tags: linear algebra, long paper

### Use complex numbers as canonical variables

In this article, I try exploring an idea: using complex numbers to combine pairs of canonical variables into complex variables: $\mathbf c\coloneqq\alpha\mathbf q+\mathrm i\beta\mathbf p$. It turns out that we can write canonical equations $\frac{\mathrm d\mathbf c}{\mathrm dt}=-2\mathrm i\alpha\beta\frac{\partial\mathcal H}{\partial\mathbf c^*}$, Poisson brackets $\left\{f,g\right\}=-2\mathrm i\alpha\beta \left(\frac{\partial f}{\partial\mathbf c}\cdot \frac{\partial g}{\partial\mathbf c^*}- \frac{\partial f}{\partial\mathbf c^*}\cdot \frac{\partial g}{\partial\mathbf c}\right)$, and canonical transformations $\frac{\partial\mathbf c^*}{\partial\mathbf c'^*}= \frac{\partial\mathbf c'}{\partial\mathbf c}, \frac{\partial\mathbf c}{\partial\mathbf c'^*}= -\frac{\partial\mathbf c'}{\partial\mathbf c^*}$ in these complex numbers. Finally, I show two examples of using them in real problems: a free particle, and a harmonic oscillator.

- Categories: physics
- Tags: classical mechanics, canonical transformation, hamiltonian, complex, long paper