The Human Brain project

Standard

The Human Brain Project (HBP)
The Blue Brain Project EPFL


If you enjoyed this post or found it useful please consider sharing it using the buttons below and supporting the blog using flattr or some bitcoins:

1BgwrNmtgWSth7KC67MZEbBhnsPshSb4x 1BgwrNmtgWSth7KC67MZEbBhnsPshSb4x


Mathematica & the Wolfram language

Standard

“We call it the Wolfram Language because it is a language. But it’s a new and different kind of language. It’s a general-purpose knowledge-based language. That covers all forms of computing, in a new way.
There are plenty of existing general-purpose computer languages. But their vision is very different—and in a sense much more modest—than the Wolfram Language. They concentrate on managing the structure of programs, keeping the language itself small in scope, and relying on a web of external libraries for additional functionality. In the Wolfram Language my concept from the very beginning has been to create a single tightly integrated system in which as much as possible is included right in the language itself.”

This is what Wolfram himself mentions in his blog post last November “Something Very Big is Coming: Our Most Important Technology Project Yet” [1] as an introduction to another blog post which appeared on November 21 “Putting the Wolfram Language (and Mathematica) on Every Raspberry Pi” in which he publicizes his plans and futuristic but old views for Mathematica and the Wolfram language [WL].

The projects that Wolfram uncovered are:

  • Mathematica and Wolfram language on the Raspberry Pi [2]
  • Mathematica Online [3]
  • Wolfram Cloud [4]

Even though many would argue against this vision of a language that does not rely on external libraries or modules, including my self, given that libraries is a way to reuse code by other programs, which in the case of the WL is not the way to go given that it is mostly a commercial software, I think that what Wolfram is attempting is the way to further increase the value and power of the WL and Mathematica as indicated in this quote:

“Seeing how incredibly powerful it is to be able to treat code like data, interspersing little programs inside a piece of graphics, or a document, or an array of data. Or being able to put an image, or a user interface element, directly into the code of a program. Or having any fragment of any program immediately be runnable and meaningful.”

“In most languages there’s a sharp distinction between [algorithms and data]. Not so in the Wolfram Language… Data becomes algorithmic. Algorithms become data.”

I truly appreciate this thought that algorithms and data could be similarly dealt with. This is the first step towards a very powerful language that is, I think, capable of being used for artificial intelligence on a large scale.

What Wolfram publicized in these blog posts further supports my belief in this computer algebra system [CAS]. Moreover I see the WolframAlpha knowledge-based engine [5] as the first draft, which lacks (to my knowledge) the ability to display web results like other engines, of a full-blown search engine that will replace many of the current ones.
Further, introducing a free version of Mathematica and WL bundled within the Raspberry Pi will serve well both the Raspberry Pi users and Wolfram [6] it self.

Moreover, Wolfram intends to connect everything you can imagine to the internet [7] and this is why Wolfram started the “Wolfram Connected Devices Project” [8].

This post was written a few weeks before the following video was posted in which Stephen Wolfram talks about the WL. I leave you with this video.

Footnotes

[1] Something Very Big Is Coming: http://blog.stephenwolfram.com/2013/11/something-very-big-is-coming-our-most-important-technology-project-yet/
[2] Putting the Wolfram Language (and Mathematica) on Every Raspberry Pi: http://blog.stephenwolfram.com/2013/11/putting-the-wolfram-language-and-mathematica-on-every-raspberry-pi/
[3] Mathematica Online: http://www.wolfram.com/mathematica-online/
[4] Wolfram Cloud: http://www.wolframcloud.com/
[5] WolframAlpha: https://www.wolframalpha.com/
[6] Wolfram: http://wolfram.com/
[7] About the Wolfram Connected Devices Project: http://blog.stephenwolfram.com/2014/01/launching-the-wolfram-connected-devices-project/
[8] Wolfram Connected Devices Project: http://devices.wolfram.com/

 

Quantum Harmonic Oscillator: Power series method in Maple

Standard

In the previous blog post What is Computational Physics (Science)?, I ended the post with the following figure

Graph of the probability distribution of the 100th state of the quantum
harmonic oscillator (generated using the power series method).

and stated that I might write a post on how to solve the Quantum harmonic oscillator numerically using the power series method (the other method being the ladder operator method [1]) and generate that figure. This post is just about that.

Ok. First I need to clear the cache with the restart command, import the PDEtools (to solve the pde SE) and Maplets[Elements] (necessary if you want to generate a maplet with a slider) packages.

restart;
with(PDEtools): #we need to use the dchange command later in the solution
with(Maplets[Elements]):

IPython: Python at your fingertips

Standard

To install the IPython notebook, do the following:

sudo apt-get install distribute ipython python-zmq python-tornado ipython-notebook
pip install numpy matplotlib #if you want to use the numpy extension & matplotlib plotting library
ipython notebook # launch the notebook from a terminal (will open in browser!)

 

What is Computational Physics (Science)?

Standard

As a senior physics undergraduate I have come to believe that scientific computation must be part of the physics curriculum. It is true that physics students are required to study and master many topics, languages, techniques, and skills like mathematics, linguistics, & science communication, still I think that computational physics should be a major part of the curriculum. It is not logical to be in the age of supercomputers and the physics curriculum remain bound to pen and paper as it used to be before the advent of computers! I am not suggesting that physics should all be done on computers; absolutely not. The student must acquire the necessary theoretical and mathematical concepts and skills, besides the physics thinking, before delving in computational physics! What use would a computer have if its user doesn’t know what he wants to use it for? In other words, how would a physics student who hasn’t studied classical mechanics be able to solve a classical mechanics problem on a computer? He will surely not be able to do so, since he will not be able to appropriately instruct the computer due to his lack of conceptual physics and paper & pen problem solving skills. In short, “a computer is as dumb as its user is dump, and a computer is as smart as a smart user; the smarter and knowledgeable the user, the more productive and efficient the computer is”!

The computer is a little over 70 years old. The first computer, many articles & resources claim, is the “Electronic Numerical Integrator And Computer“, or ENIAC for short, which is not technically correct. Many other computers preceded ENIAC most of which were developed for military purposes (e.g; calculation of artillery, cryptoanalysis, etc…) and were analogue (or electro-mechanical) & programmed by punched cards. ENIAC was a room-sized computer that required several people to operate by turning on/off switches that made use of vacuum tubes the ancestor of the modern transistor.

One particularly interesting electromechanical machine (could be called a computer) was the “bombe” [1] which was [designed] by the mathematician Alan Turing to be used to crack the Enigma, the code used by the Nazi to encrypt messages.

Working rebuilt bombe at Bletchley Park [2].
Interior of the rebuilt bombe at Bletchley Park.
The bombe was in part successful in breaking the Enigma. Moreover, Alan Turing has impacted the modern day internet as well; everyone of us using the internet have definitely faced the “CAPTCHA” which are used to counter-bots & make sure the user is an actual human being & not a bot (from robot). CAPTCHA is an abbreviation for “Completely Automated Public Turing test to tell Computers and Humans Apart”. And yes, Turing in CAPTCHA is the same as Turing the mathematician of the 1940’s, though the original Turing test was a human against a machine test not the other way round!

Continue reading