Sunday, December 15, 2013

Scientific Computing - Applications

Computational science deals with the use of computer to construct mathematical models to enable quantitative analysis to solve scientific problems. [1][2]. Computational science is also known as scientific computing.

We will have a look at the applications of computational science [2] [3]

1. Numerical Simulations – Numerical simulation is used in a variety of fields to accurately analyze problems and to find solutions of possible.
a) Engineering Design
b) Virtual Environments
c) Model verification

Examples are – Circuit Analysis, Electromagnetic analysis of packages, structural analysis of automobiles, Drag force analysis of Aircraft, Engine Thermal Analysis, Stock option pricing for hedge funds, Virtual Environment for computer games, Virtual surgery etc.

2. Model fitting and Data analysis [4] – Model fitting is a procedure that has three steps in it –
a) First one needs a function that will accept some data and give predicted results.
b) Next, one needs a function which will give the difference between the resulting data and the predicted data.
c) One needs to find conditions under which the difference between the predicted data and the analyzed data is the least.

Example use – To revise models so that they are better aligned with the observations.


Dynamics of a drum. [5]


3. Computational optimization (Mathematical Optimization) –
“In mathematics, computer science, or management science, mathematical optimization (alternatively, optimization or mathematical programming) is the selection of a best element (with regard to some criteria) from some set of available alternatives.” [2]
Computational Optimization is used in a variety of fields – Fluid dynamics, the Finance world etc.

References –
[1] - National Center for Computational Science, Oak Ridge National Laboratory. Retrieved 11 Nov 2012 Molecular dynamics
[2] - Wikipedia
[3] - White, Jacob, Jaime Peraire, Luca Daniel, Nicholas Hadjiconstantinou, and Anthony Patera. 6.336J Introduction to Numerical Simulation (SMA 5211), Fall 2003. (MIT OpenCourseWare: Massachusetts Institute of Technology),http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-336j-introduction-to-numerical-simulation-sma-5211-fall-2003 (Accessed 14 Dec, 2013). License: Creative Commons BY-NC-SA
[4] – Model Fitting, http://courses.washington.edu/matlab1/ModelFittin http://dspace.mit.edu/bitstream/handle/1721.1/39129/6-728Fall-2002/NR/rdonlyres/Global/7/7FC24744-676E-47D3-B74D-FA6D80BA99DB/0/chp_quantum_physics_wave_1.jpgg.html  (Image courtesy of National Energy Research Scientific Computing Center.)
[5] - Introduction to Scientific Computing, Simon G Shepherd ,http://engineering.dartmouth.edu/courses/10fall/engs020/

Sunday, December 8, 2013

Computer Graphics in Day to Day life

Computer Graphics have come a long way.

Anything and everything that is displayed on the Computer screen falls under the category of Computer Graphics. This includes but is not limited to Operating system interfaces to graphics in computer games. The journey that computer grahics have made is astonishing.


From Operating systems like : 

Old Windows
Old Windows


and games like :

ping pong
A primitive verison of the game Ping Pong when it was released



to Operating Systems like :

Win 7
Windows 7 
and games like :

New Games
Latest generation of games

which show incredible detail and are almost life like with minute details of the real world like textures being accurately displayed.

This has been mainly possible due to new technologies that keep cropping up making the graphics scene a hot one. In fact Computer Graphics is such a huge business that it has complete companies dedicated to it which develop technology to improve graphics. Companies like Nvdia and Intel have been researching and building completely dedicated components called as “Graphics card” which can be plugged into computers or onto systems to improve the performance drastically. These graphics cards have a stand alone CPU (or GPU) which does the various computations required to improve the quality of graphics. The down side of these is the power consumption and consequently the generation of heat.

Another area where Computer Graphics are used is in movies. Whenever there are any scenes in the movie which cannot actually be filmed (Lord of the Rings, Hobbit, Apollo 13, Transformers) or if the movie is to be completely animated (Toy Story, Shrek, Monsters Inc.) or just plain expensive to shoot, computer graphics come to the rescue. Computer graphics or CG as they are known in the movie industry are a major part of movies. It does a magnificent job too. After all who can deny the beauty of an aerial view of the army of soilders marching in to reinforce the good guys in Helms Deep. A complete treat for the eyes!!

Computer Graphics are present all around us, in Ads, in movies, in the games we play.

It plays an important role in our life.

Image references -
1. Windows Old - http://www.theoligarch.com/images/risc_os_30.gif
2. Old Ping pong - http://www.geekologie.com/2008/08/08/obama-pong.jpg

3. Games new -http://www.technobuffalo.com/wp-content/uploads/2012/04/FC3_PVP0412_screenshot_rebel_support_nologo.jpg

Sunday, December 1, 2013

Communications and Security - Past, Present, Future

The need for communication is very ancient. It includes being able to communicate over long distances without being eavesdropped. This is where security for communication comes in.

Julius Caeser  used a unique (for his time) method of encrypting his messages. He used what is today known as the Caeser Cipher.

Caeser cipher is a simple substitution type of encryption method in which the encrypting as well as the decrypting key is the alphabet shifted by a certain number of places(either backwards or forward). So if the key was the English alphabet shifted backwards by 3 places then every 'a' in the original message would be replaced with a 'x'.

Example - Original Message - " How do you do "
 Encrypted message- " ELT AL VLR AL "

The encrypted message will in itself be completely useless even if had been opened by unauthorized people.

The need for security while communicating is still paramount and in recent times even gained more importance. The importance of this can be gauged from the following.

During the Second World War the Germans had the engima machine which they used to communicate with each other. The British had broken this code by 1940 and used this to their advantage. The Germans eventually lost.

Since then encryption for communications has come a long way and can be divided into two major parts
1. Symmetric encryption
2. Asymmetric encryption

We will have a look at both of these briefly -

1. Symmetric encryption - In this type of encryption both the parties use the same key to encrypt and decrypt messages. These keys are decided using the Diffie - Hellman protocol. Example of such type of protocols are AES encryption, DES, Triple DES etc

2. Asymmetric encryption (Public key encryption) - In Asymmetric encryption in general there are two different keys which are used. For example in RSA there are two keys, a public key and a private key. The private key is kept secure by the server which uses this key to encrypt as well as decrypt messages while all other people who wish to communicate with the server need to use the public key to encrypt and decrypt data.


Asymmetric Encryption
Asymmetric encryption


The major difference between the two is that Asymmetric encryption or Public key encryption is costly in terms of computation as compared to symmetric key encryption.

Security in communications is here to stay and will continue to be important. As technology develops and computation power increases it will be easier to break existing protocols and hence there will be a need to come up with new protocol which will be more secure and attuned to the surrounding technology. The race between the good guys and bad guys is on. I'm happy so long as the good guys are one step ahead of the bad guys !!