## Posts Tagged ‘math’

### Singularity Summit Talk

May 7, 2013

As readers of this blog are probably aware, I’m a rather big fan of multiplicative calculus, an obscure mathematical tool that is very useful in reasoning about quasi-exponential trends. And I’m rather sad that I get few occasions to apply it. So, it should come as no surprise that when I was given an opportunity to speak at Singularity Summit last fall, a conference largely concerned with exponential trends in technology, I decided to try to persuade people of the utility of multiplicative calculus and the value of mathematical abstractions.

Now, there was a bit of confusion because a lot of people thought that I was going to be speaking about my work — that’s what all the other Thiel Fellows did — but I think this was much more valuable. The things I do are generally of very domain specific interest and don’t have super deep implications world-changing for the future of technology, just some minor, incremental improvements. In any case, you can watch me and the other fellows talk.

My public speaking skills aren’t the greatest, and it wasn’t the best talk I’ve given… but it was pretty cool when Vernor Vinge came up to me and told me that he liked my talk! (And I think Ray Kurzweil may have said so as well, but I wasn’t sure if it was him.) And then I and the other fellows had dinner with Eliezer Yudkowsky (and lots of other awesome people, but he sat beside us). So it was a crazy awesome experience in general!

March 20, 2013

It seems like everyone writes a monad tutorial in the Haskell community… Well, here’s mine.

People learning Haskell generally seem to get tripped up about monads. There are good reasons for this.

1. Monads are, really, needed to write a serious Haskell program. As a consequence, people generally try to learn them fairly shortly after beginning to use Haskell.
2. Monads are defined in Haskell and have a very short definition. As such, it is very tempting to not just teach someone how to use monads, but to also try to teach them the underlying definition. The definition involves a bunch of rather advanced Haskell. In combination with (1), this is a big problem.
3. Monads are a very abstract idea. I’m not really sure that the motivation can be properly grasped by anything other than using them.
4. Monads are generally interweaved with the idea of an IO object.

This introduction attempts to avoid some of these problems. In particular, it is only going to teach you how to use monads and not what they are. This avoids (2) and, to a lesser extent, (3). I’ve tested this approach on a number of people in the last few months, and it seems to be quite effective. That said, I understand that some people may prefer an introduction focusing on the what and why, in which case you may wish to look Chris Smith’s Why Do Monad’s Matter?.

Some day, you will need to learn more. But, if you find you understand the contents of this tutorial, I’d encourage you to wait and play around with monads for a while. Then, when the time comes to learn the in full, they’ll be natural and obvious ideas. We can talk more about that later. For now: onwards!

### Math Notation Experiment “Paper”

March 20, 2013

A while back, I wrote a post on some unusual math notation I was playing with. I actually took it much further than that and drafted up a paper full of different ideas over the following months. At the time, I was hoping it might be publishable but then got discouraged and never did anything with it… Except show it to people in person and promise I’d put it online soon. In any event, it’s one of those things I’ve been meaning to put up for forever.

So here it is. I’m particularly proud of the quantifier stuff and the numerals.

When one considers how complicated the ideas mathematical notation must represent are, it clearly does quite a good job. Despite this, the author believes that any claim that modern mathematical  notation is the best should be met with extreme scepticism.

Mathematical notation is a natural language: no one sat down and constructed it, but rather it formed gradually by people making changes that are adopted. Most changes are not adopted; whether they are depends on a variety of factors including: mathematical utility, ease of adoption (the average individual doesn’t want to spend hours learning), dissemination, and shear dumb luck. The first two of these qualities are associated to real properties in notation, forming the necessary selective pressure for evolution to occur.

Evolution is a blind watchmaker: the world around us is filled with examples of the stupidity of biological evolution (the classic example being halibut). Similarly, evolution is also a blind language and notation designer. In particular, it is held back by a strong selective force against change, since people would need to adopt it, and so evolution doesn’t effectively explore the full notation-space. This staticism means that even the most outrageous notations remain unchallenged by virtue of age.

Please keep in mind that I wrote this (except for the redaction of some sillier sections and some minor improvements) three years ago, when I was quite a bit younger, and it isn’t representative of my present abilities. That said, I do still think that the fundamental idea, that notation is important and should be explored, is very true.

(I’ve also put the paper on github, for those who are interested.)

June 1, 2012

One interesting detour I took this last month was writing a toy Haskell Symbolic Algebra library, HaskSymb. It takes advantage of Quasi-Quoters and View Patterns to do awesome math pattern matching and enable one to write beautiful code.

An example of its use:

> -- Let's make some variables!
> let (a,b)  = (V "a", V "b")
> -- Basic Expression manipulation
> (a+1)^3
(a + 1)³
> expand $(a+1)^3 a³ + a² + a² + a² + a + a + a + 1 > collectTerms$ expand \$ (a+1)^3
a³ + 3a² + 3a + 1


The interesting part, however, is the code for expand, collectTerms and friends. It’s extremely pretty. For example:

expand [m| a+b |] = expand a + expand b
expand [m|a*(b+c)|] = expand (a*b) + expand (a*c)
expand a = a


Read more on github. You can also find some discussion on the Haskell reddit.

### Fractal Holiday/Solstice/Christmas Cards!

December 24, 2011

It’s that time of the year again: I’m making my fractal Holiday cards! I slacked last year and only made a few, but I’m back at it.

Previous years, I’d made up fractals for my cards. This year I just explored the Mandelbrot set and found cool looking regions. Since I obsessed over my choice of pictures, it took me a while to make them  — I’ve made about twenty so far, and still need to make more! (more…)

### Manipulation of Implicit Functions (With an Eye on CAD)

November 6, 2011

Most people are familiar with the equation for a circle, $x^2+y^2 = r^2$:

I prefer to think of it as the curve where $f(x,y) = \sqrt{x^2+y^2}-1$ is zero — the locations where the Euclidean distance from $(0,0)$ is one.

### Understanding Pascal’s Triangle

August 29, 2011

How many ways are there to arrange “ABC“? ABC, ACB, BAC, BCA, CBA, CAB. So 6 different ways. But could we have determined it in a way that didn’t involve us listing all the cases? The answer is yes, and welcome to the wonderful world of combinatorics. (more…)

### YAKC: Differential (One) Forms

August 11, 2011

In my previous post in this series, I introduced the idea of a derivative, and we realized a number of rules regarding them. In this post, we’re going to give some thought as to what derivatives are, look at them from from a rather different perspective, and realize several more rules regarding them. (more…)

### You Already Know Calculus: Derivatives

July 31, 2011

Calculus is made to be a whole big hoopla in high school and first year university. It’s supposedly the hardest math class in high school, notoriously complicated and unintuitive.

I blame this on bad education, not just because I’ve observed so much bad math education at the high school level, but because I can’t see any other way anyone could conclude that calculus is difficult. Because I believe that everyone already knows calculus. They just never connect what they already know to the symbols they’re manipulating in math class.

(I’m writing this series of posts — yes, this is only the first of a number of posts! — in a didactic form, but I think they may be of interest to mature mathematicians. While they are (will be?)  informal and unrigorous, they provide intuitive reasons for why everything in basic calculus is true. The results in it are certainly valuable to me: they’re the result of me spending some time trying to answer ‘why’ everything is true at a compelling level. If nothing else, they may be useful in teaching calculus.)

So what is calculus? It’s the mathematical study of rates of change, nothing more and nothing less. We call the rate of change of a function its derivative. (more…)

### Surface-Oriented CAD, Math, & Telescopes

July 16, 2011

The idea came to me when I realized that some of things I’d been trying to make in openscad, a CSG based CAD program, would have been much easier to do in the software I’d written for making models of mathematical objects (eg. this model of a solution the diffusion equation). In this software, surface were constructed based on mathematical functions. One had to think to make sure that their object was closed, but it was possible to describe things that would have been prohibitively difficult in a CAD program like openscad. (more…)

### Rethinking Topology (or a Personal Topologodicy)

April 18, 2011

(This document was typeset in unicode. This may cause problems for some people. A PDF is available as an alternative for them.)

When I was originally introduced to topology, I simply accepted most of its properties as generalizations of ℝⁿ. I didn’t give it any serious thought until about a month ago when I read an excellent thread on math overflow about it. Since then, its been one of the things I often find myself thinking about when I’m trying to fall asleep. Given the amount of thought I’ve put into it, and the fact that I feel I should be answer questions like this about topology, given that it’s one of the areas of math I spend a lot of time on, I thought I’d write up my thoughts. They lent themselves well to being written in the form of an introduction to topology, so that’s what I did.

(After finishing this essay I decided to reread the MO thread. The first comment — not answer, a comment — mentions the Kuratowski closure axioms and closure axioms sounded like one might call what I came up with. Sure enough, they’re the exact same, down to the ordering. Are all attempts to make mathematical contribution’s this frustrating? I’m posting this because of the amount of work I put in, but there’s nothing new here.)

Consider 1 with respect to [0,1). It isn’t part of the set, but in a sort of intuitive sense it almost is. And knowing which points are almost in’ a set gives us lots of information, for example notions of boundaries and connectedness.  Topology is based on us formalizing this notion of almost in’ and once we formalize it, we can consider non-standard notions of being `almost in’ or apply these ideas to spaces that we don’t typically associate them with. (more…)

### Arithmetic Derivative Graph and Thoughts

April 11, 2011

A recent thread on r/math brought the arithmetic derivative to my attention. It’s a very interesting idea. As I tried to rap my head around it, I wished I had a graph of its actions on some of the natural numbers. So I made one:

### Unicode For Mathematical Typesetting

March 29, 2011

In the last month, the way I typeset math has changed dramatically. It’s a result of a combination of several tools that I’ve discovered. (more…)

March 28, 2011

There’s a question I like to ask random people: where is the flaw in the argument that $-1 = 1$ because $0*(-1)=0*1$? I very rarely get a satisfactory response. Usually the answer is that “you’re not allowed to multiply both sides by zero.” But we can come up with a slightly subtler argument: $-1 = 1$ because $(-1)^2 = 1^2$. Some just don’t answer, other will insist that its not allowed… To me it suggests something is deeply wrong with how most people understand algebra.

They don’t know mathematics, they know voodoo-mathematics, a series of mysterious steps that result in their test being returned with a checkmark beside the question.

Now it may seem that I’m being a pedant. After all, they know it isn’t true; what does it matter if they can’t tell me why? But even if we set aside the fact that it simply feels wrong to not understand why the math works, it has practical implications because there are cases where the mistake won’t be as overt as above. And then these people won’t see the mistake.

So I’d like to use this essay to go over grade school algebra from a different perspective. (more…)

### Mandelbrot Set on the Riemann Sphere

March 5, 2011

The mappings are $B_1(0) \to \hat{\mathbb{C}}$:

$\phi^- (z) = \frac{z}{2-|z|}$

$\phi^+(z) = \frac{1}{z(2-|z|)}$

For most practical purposes you’ll want to (as seen in above picture) restrict the domain of $\phi^+$ to not include some neighborhood of $0$ to make it a bounded function on $\mathbb{C}$.