Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A-level Mathematics programming

  1. Feb 27, 2012 #1

    Until very recently, I have what can be called a marginal interest in computers and even more so in math (mostly because any math I can do is limited to AS Level and despite being able to deal with abstractions in other disciplines, I seem not to have caught on the math front..I was also aversed to the notations < very stupid in retrospect)

    I stumbled across a blogpost below incidentally and was wondering if anybody can suggest reading material that I can work through related to topics the post below encapsulates? Or at least a starting point? With language I can reasonably understand or maybe written in a way that uses a lot examples to illustrate a point?

    AS Level Math = http://tinyurl.com/6jj97c (i remember struggling the most with mechanics and the decision maths. less so on pure maths.. but this was a good 2-3 years ago)

    (disclaimer:) I find that I mostly gain momentum/interest through stumbling across connections made across subject areas.. maybe my brain works kind of weird this way but there have been plenty more instances in the past where I go from 0 interest to desire to understand the relations/overlaps between X & Y & etc

    "Well, I was thinking of something quite a bit more different than a tricked out C processor. I know that great work was done to create the OS(s), etc. And that some tangible, lasting innovation happened in that group. However, my point is that C and friends are designed specifically to control a monolithic, serial instruction pipeline. All else is second-order fluff.

    Math (not Lisp) has less relation to time. We force computation into the time dimension, which is very much against the Truth represented in our statements. The number of cycles it takes to get an answer should not be a function of the algorithm. Your brain does massive “computation” in a single cycle. That’s what I’m getting at.

    We can define a bitmap representation of a cube mathematically, taking positional inputs and maybe some lighting specs. Once the inputs are specified, the answer is simultaneously defined. Reality is defined in less than one cycle. Until our hardware can be configured to do our mathematical dirty work in a single cycle, we are stuck with telling idiotic circuitry to do simplistic things.

    Of course, processing lists is another matter. Counting cycles may be as difficult as count list items. Maybe processor power will be measured in terms of both algorithmic complexity and list length (handled in a single time slice, of course).

    The original premise, that Math is the one true programming language, will only bear fruit when our hardware can handle the truth.

    BTW, even my 8-yr-old daughter scratches her head when I write x=x+1. I resolve to belittle any language that supports such blasphemy."

    Thanks very much in advance
    Last edited: Feb 27, 2012
  2. jcsd
  3. Feb 27, 2012 #2


    User Avatar
    Homework Helper

    I'm not quite sure of your point, but even a person will break up a mathematical problem into multiple steps, like going through the steps it takes to solve a differential equation based problem, such as acceleration based on position instead of time.

    Some algorithms can be optimized using parallel processors (PC, mainframe, supercomputer) or vector based math units (some supercomputers like a Cray 1), or a PC can use SSE instructions to do a set of math operations in parallel.

    This is a limitation imposed by the character set used for most computer languages. In APL, it would be:

    XX + 1

    Note that in APL, X could be a scalar, vector, matrix, ... in which case every element of X would be incremented by 1.
  4. Feb 28, 2012 #3


    User Avatar
    Science Advisor
    Homework Helper

    It seems like you are more interested in http://en.wikipedia.org/wiki/Declarative_programming than procedural languages. As the wiki page shows, people have already been there and done that.

    But if you get sidetracked into notational trivia like "writing x = x + 1 is stupid", you aren't going to get very far IMO.
  5. Feb 28, 2012 #4

    lol absolutely not what I meant!! Sorry I didn't realise I copied up till that far! When I said notation I meant as in further maths, not standard algebra! Thank you!
  6. Mar 1, 2012 #5


    Staff: Mentor

    And in Pascal, Modula-2, and (I believe) Ada, this would be X := X + 1.

    The point is, that many languages distinguish between the assignment operator (←, :=, = in C/C++/C#/etc.) and the "is equal to" operator. In no way is the expression X = X + 1 suggesting that X and X + 1 happen to be the same value.
  7. Mar 1, 2012 #6
    Your blog post looks like the transcript of someone who was daydreaming/fantasizing on what could be possible with computers. As it is stated, his fantasy is outside what is technologically feasible today. It would probably imply both designing hardware in a fundamentally different manner, as well as needing programming languages which would support 'reality in less than one cycle.'

    Well, the above, or the ramblings of a madman.

    (It somehow reminded me a bit of reversible computing, a nonstandard computing model which may be possible.)
    Last edited by a moderator: Mar 1, 2012
  8. Mar 4, 2012 #7
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook