Mathematica Programming Language Directory @ eIT.in

 

eIT.ineverything IT is in Here   eIT Directory

 

 

 

Hot & Cool

 

SerkaiThe Web Cooperative

 

AntiSEThe Anti Search Engine

 

GeoDigBusinesses by Geography

 

Quali5Own a Keyword Forever

 

FollarsMaking Money from Open  Source

 

Billion Dollar Questions – and answers @ Billdoll.com

 

The Anti Bush Register – sign the register now!

 Advt 

 

eIT.in100’s of categories, 1000’s of IT resources

 

Software

 

Operating Systems, Programming & Development, Databases, Legacy & Mainframe, Internet

Hardware

 

Computer hardware and accessories, performance & maintenance, storage…

Networking & Communications

 

Networking architecture, infrastructure, administration, standards & protocols…

 

IT Infrastructure

 

ITIL, IT infrastructure management…

 

 

IT Support

 

Information technology & software support, administration, software testing, data centers…

 

IT in Industries

 

Information technology & software across industries

 

IT in Functions

 

Information technology & software across functional domains

 

IT Organizations & Industry Network

 

IT associations & organizations, IT related directories and trade networks…(Software Links Exchange)

 

IT Strategy & Design

 

Information technology & software architecture and design, IT strategy

 

IT News & Updates

 

IT news, updates, events & trade shows

IT Outsourcing Assistance


Use our services to locate the right vendor for a wide range of IT & software outsourcing domains

Related Links

 

Mainframes (Mainframe), AML, Analytics, Databases, EAI, BPO, CRM, Legacy, Legacy 2 Web, Middleware, IT Software Outsourcing & Offshoring Directory, Follars

 

 

Mathematica Programming Directory @ eIT.in

 

This section of eIT.in provides web resources for Mathematica programming language. 

 

Add Links: If you have a web site that you wish to include in this database, do let us know the details by sending a note about your URL to narsi@esource.in. We’ll quickly review the web site, and if found relevant, add it to the database. We look forward to web site owners and link exchange partners to submit URL. Thanks!  

 

 

Looking for an outsourcing partner for software programming & development? Have you talked to us?

 

 

   

 

..

 

..

 

 

Other IT Web Sites from eIT.in

 

 

Content derived from Wikipedia article on Mathematica

 

Mathematica

From Wikipedia, the free encyclopedia

 

 

Mathematica 

Maintainer: Wolfram Research

Stable release: 5.2  (July 12, 2005) [+/-]

Preview release: none  (none) [+/-]

OS: Cross-platform (list)

Use: Computer algebra system

License: Proprietary

Website: Mathematica homepage

This article is about computer software. For the policy research organization, please see Mathematica Policy Research, Inc.

Mathematica is a computer algebra system originally conceived by Stephen Wolfram, developed by a team of mathematicians and programmers that he assembled and led, and sold by his company Wolfram Research. Mathematica is also a programming language emulating multiple paradigms on top of term-rewriting.

 

Contents

 

1 Overview

2 History

3 Examples

3.1 Multiple paradigms, one language

3.2 Common structures, common manipulations

4 Front ends

5 Connections with other applications

6 Mathematica on the Web

7 Criticisms

8 See also

9 Footnotes

10 External links

 

 

 

Overview

 

A screenshot of the Mathematica graphical user interfaceWolfram and his team started to work on the program in 1986 and released the first version June 23, 1988. The current version is 5.2 (released July 12, 2005). It is available on a wide variety of computer systems.

 

The Mathematica programming language is based on term-rewriting and supports both functional and procedural programming (though functional code is much more efficient in general). It is implemented in an object-oriented variant of C, but the bulk of the extensive code library is actually written in the Mathematica language that can be used to extend the system. Typically, new code is added in the form of Mathematica "packages", i.e., text files written in the Mathematica language.

 

In the Mathematica system, the core language is interpreted by a kernel that performs the actual computations. The results are usually communicated to one of several front ends. Communication between the kernel and the front end (or any other client, like user-written programs) uses the MathLink protocol, often over a network. It is possible for several front end processes to connect to the same kernel, and for one front end to be connected to several kernels.

 

Unlike some other computer algebra systems, for example Maxima or Maple, Mathematica tries to apply the currently stored transformation rules as long as possible, looking for a fixed point. For this to be meaningful, absence of side-effects is beneficial (though not enforced), hence the similarity to functional programming. Functions and code are first-class and not opaque. Scoping is dynamic, but there are also some constructs that try to simulate lexical scope (all of these can easily be broken).

 

 

History

Mathematica built on the ideas in Cole and Wolfram's earlier Symbolic Manipulation Program (SMP).

 

Wolfram has released the following versions:

 

Mathematica 1.0 (1988)

Mathematica 1.2 (1989)

Mathematica 2.0 (1991)

Mathematica 2.1 (1992)

Mathematica 2.2 (1993)

Mathematica 3.0 (1996)

Mathematica 4.0 (1999)

Mathematica 4.1 (2000)

Mathematica 4.2 (2002)

Mathematica 5.0 (2003)

Mathematica 5.1 (2004)

Mathematica 5.2 (2005)

 

Examples

The following Mathematica sequence will find the determinant of the 6×6 matrix whose i, j'th entry contains ij with all zero entries replaced as 1.

 

 In[1]:= Det[Array[Times, {6, 6}, 0] /. 0 -> 1]

 Out[1]= 0

So the determinant of such a matrix is 0.

 

The following numerically calculates the root of the equation ex = x2 + 2, starting at the point x = -1.

 

 In[2]:= FindRoot[Exp[x] == x^2 + 2, {x, -1}]

 Out[2]= {x -> 1.3190736768573652}

 

Multiple paradigms, one language

Mathematica permits multiple programming paradigmatic approaches to programming. Consider a simple example: we want a table of values of gcd(x, y) for 1 ≤ x ≤ 5, 1 ≤ y ≤ 5.

 

The most concise approach is to use one of the many specialized functions:

 

In[3]:= Array[GCD, {5, 5}]

Out[3]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

There are at least three other approaches to this:

 

In[4]:= Table[GCD[x, y], {x, 1, 5}, {y, 1, 5}]

Out[4]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

An APL-style approach:

 

In[5]:= Outer[GCD, Range[5], Range[5]]

Out[5]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Outer corresponds to the outer product operator, Range corresponds to the iota operator. The Outer function permits any function, whether it be named, or anonymous, which are functions specified on the fly by using #n to specify the function argument and appending an &. The above function could be equivalently specified as Outer[GCD[#1, #2] &, Range[5], Range[5]], but Mathematica permits the above shortcut as well.

 

An iterative approach:

 

In[6]:= l1 = {}; (* initialize as empty list, since we want a list in the end *)

       For[i = 1, i <= 5, i++,

       l2 = {};

          For[j = 1, j <= 5, j++,

             l2 = Append[l2, GCD[i, j]]

             ];                                     

          l1 = Append[l1, l2]; (* append the sublist, that is, the row *)

       ]; l1

Out[6]=  {{1, 1, 1, 1, 1}, {1, 2, 1, 2, 1}, {1, 1, 3, 1, 1}, {1, 2, 1, 4, 1}, {1, 1, 1, 1, 5}}

Observe that this solution is considerably larger than the previous ones.

 

 

Common structures, common manipulations

One guiding principle in Mathematica is a unified structure behind almost all objects representable in Mathematica. For example, the expression x4 + 1 if entered will be represented as if it were written:

 

In[7]:= x^4 + 1

Out[7]= 1+x4

If the FullForm command is used on this expression however:

 

In[8]:= FullForm[x^4 + 1]

Out[8]= Plus[1, Power[x, 4]]

Nearly all objects in Mathematica have the basic form head[e1, e2, ...] (which may be displayed or entered in some other fashion). For example, the head of the above example is Plus, and symbols such as x have form Symbol["x"]. Lists have this structure too, where the head is List.

 

The principle permits ordinary expressions unrelated to lists to be operated on with list operators:

 

In[9]:= Expand[(Cos[x] + 2 Log[x^11])/13][[2, 1]]

Out[9]= 2/13

The reverse can also occur -- lists can be modified to behave like ordinary expressions:

 

In[10]:= Map[Apply[Log, #] &, {{2, x}, {3, x}, {4, x}}]

Out[10]= {Log[x]/Log[2], Log[x]/Log[3], Log[x]/Log[4]}

where the Apply function changes the head of its second argument to that of the first, and Map behaves like the map higher-order function found in many functional languages.

 

Because of this equivalence between a regular mathematical object represented in Mathematica to that of a simple list structure, some built-in Mathematica functions permit threading, where functions map themselves over lists without much further specification. Indeed, Apply threads itself over lists when invoked as

 

In[11]:= Apply[Log, {{2,x}, {3,x}, {4,x}}, 1]

Out[10]= {Log[x]/Log[2], Log[x]/Log[3], Log[x]/Log[4]}

where the third argument being a 1 specifies that Apply replaces the heads of its argument only at the first level in the list, which is what we want, and is equivalent to the above example.

 

 

Front ends

Mathematica consists of two parts - a front end with which users interact and a kernel which performs the computations. The two communicate via the Mathlink protocol, which is discussed in another section. It is possible to use the kernel on one computer and the front end on another, although this is not how most people use Mathematica.

 

The default Mathematica front end features extensive layout and graphical capabilities, performs prettyprinting and offers a notebook metaphor - user input (both text and Mathematica input) as well as results sent by the kernel (including graphics and sound) are placed in a hierarchy of cells (as is the case for Maple), which also allows for outlining and sectioning of a document. Starting with version 3.0 of the software, notebooks are represented as expressions that can be manipulated by the kernel.

 

To allow those without Mathematica licenses to view Mathematica notebooks dedicated reader software was made available. This software, called MathReader can be downloaded free of charge. This does not use a Mathematica kernel, so new results cannot be computed.

 

All UNIX/Linux versions of Mathematica include addtionally a command line front-end. An example of this is shown below.

 

% math

Mathematica 5.2 for Sun Solaris (UltraSPARC)

Copyright 1988-2005 Wolfram Research, Inc.

-- Terminal graphics initialized --

 

In[1]:= Solve[x^2 + 2 x - 9 == 0, x]

 

Out[1]= {{x -> -1 - Sqrt[10]}, {x -> -1 + Sqrt[10]}}

Old versions of Mathematica which run on MS-DOS had only a command line front end.

 

 

A screenshot of an HP iPAQ PDA accessing a Mathematica kernel is shown.WITM, which is an acronym for Web Interface to Mathematica, is a web browser front end which is compatible with virtually any networked computer which has a web browser. This allows Mathematica to be used on devices like PDA's (e.g. Pocket PC or similar) for which there is no version of Mathematica available.

 

Several other front ends are also available, e.g., JMath or MASH, but the standard Mathematica front end is the most popular.

 

 

Connections with other applications

Communication with other applications occur through a protocol called Mathlink. It allows not only communication between the Mathematica kernel and front-end, but also provides a general interface between the kernel and arbitrary applications. Wolfram Research distributes freely a developer kit for linking applications written in the C programming language to the Mathematica kernel through MathLink. Two other components of Mathematica, whose underlying protocol is MathLink, allow developers to establish communication between the kernel and a Java or .NET program: J/Link and .NET/Link.

 

Using J/Link, a Java program can ask Mathematica to perform computations; also, a Mathematica program can load any Java class, manipulate Java objects and perform method calls, making it possible, for instance, to build Java graphical user interfaces from Mathematica. Similarly, a .NET software can invoke the kernel to perform calculations and send results back, and Mathematica developers can easily have access to .NET's functionality.

 

 

Mathematica on the Web

Wolfram Research also makes a program called webMathematica with which Web servers can add "interactive calculations and visualization to a website."

 

On Sloane's Online Encyclopedia of Integer Sequences, Mathematica and Maple are the two most often used CASs for which commands are provided with which to calculate the sequences; both of them have their own database fields on the OEIS.

 

 

Criticisms

While some computer algebra systems are open-source software and may be freely used and copied, Mathematica is proprietary software and includes restrictions on its use, modification, and copying. (See also: Comparison of computer algebra systems)

 

For users who do not qualify for Student, Educational, Government, or Network pricing, Mathematica 5.2 Standard costs $1,880 for the Windows, Macintosh, or Linux platforms and $3,135 on several other Unix-like platforms.[1] The price includes a single user license and one year of updates and technical support. This places the software out of the hands of many who could benefit from using it.[2]

 

A criticism of the Wolfram Research forums as well as the comp.soft-sys.math.mathematica newsgroup is that they are all moderated, which some argue slows down the speed at which assistance can be obtained from the community.

 

 

See also

Axiom

IGOR Pro

Maple

Derive

MathCad

Matlab

Maxima

Yacas

List of computer algebra systems

Comparison of computer algebra systems

List of numerical analysis software

IMTEK Mathematica Supplement, an open source Mathematica add-on for Finite Element Simulation

 

Footnotes

^ Mathematica pricing at Wolfram.com

^ "Only Mathematica 5.0's high price and unconventional user interface discourage widespread enterprise deployment." Mathematica Powers Range of Apps, eWEEK.com software review by Peter Coffee, July 14, 2003.

 

External links

Wikibooks has a book on the topic of

MathematicaWolfram Research

Mathematica (Wolfram Research)

The History of Mathematica, an overview of the system's history and development

Wiki-Mathematica, a Mathematica-users wiki

WITM, a web browser interface to Mathematica, allowing use on any platform.

MASH, a UNIX-scripting interface to Mathematica

IMS, the Open Source IMTEK Mathematica Supplement (IMS)

Mathematica Photo Gallery, for numerous examples of art using Mathematica

Solving Font issues in Mathematica EPS graphics: Replacing fonts with Times Roman, Computer Modern, autogenerated LaTeX and PSfrag,simple PSFrag based Mathematica package or Including Mathematica fonts in dvips config

Retrieved from http://en.wikipedia.org/wiki/Mathematica

 

End of Wikipedia content, http://en.wikipedia.org/wiki/Mathematica

 

 

Web Resources for Mathematica

 

 

 

 

 

More eIT.in References

 

 

o        Programming Languages

§         The A-Z of Programming Languages

§         A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

§         M

·         MUMPS or M

·         Mainsail

·         Mathematica

·         Matlab

·         Miranda

·         MCPL

·         Mercury

·         ML

·         Modula

 

 

Main Sections @ eIT.in

 

·          Free & Open Source Software

·          Operating Systems

o        Mainframe & Legacy Operating Systems

·         Midrange

·         Mainframe Operating Systems

·          Databases

·          Programming & Development Directory

o        Programming Languages

§         The A-Z of Programming Languages

§         A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

·          Internet & Web

§         Web Servers

§         Application Servers

§         Server Side Scripting

§         Web Services

 

 

 

 

About eIT.in

 

eIT.in is a comprehensive directory for everything IT & Software. It contains over 500 categories, and well over 10,000 web resources

 

eIT.in provides directory and web links resources for the IT, software, programming & software development domains. It is intended to be useful for application, applications programmers & developers, software technology programmer & developer, databases software development, administrators & DBAs, application developers, strategy architect, design specialists and architects, migration, integration, customization consultants and customisation analysts, administration, maintenance & support professionals, outsourcing consultant, bespoke solutions programming developers & coders, project management & functional analyst, and for system administrators, testing & quality control engineers. It will make an effort to provide resources on tutorial/tutorials, guide, guides, tips, faq, faqs on these topics.

 

eIT.in content is available under GPL: All directory content at mainframe.in is under the General Public License (GPL). Under this license, anyone is free to copy & use any amount of directory content @ eIT.in, make changes to it and use it in any way they wish, as long as they also allow the same rights to anyone else for this content. The concept of GPL has been adapted from the GNU GPL of the Free Software Movement. To those who wish to use content from eIT.in, our only request is that they acknowledge the source and provide a link back to eIT.in. This is only a request!

 

Countries & Cities Where eIT.in Provides Assistance

 

eIT Cities: Bangalore, Chennai, Mumbai, Bhubaneswar, Mysore, Kolkaka, Delhi, Pune, Trivandrum, Hyderabad

 

You are the $$$ Section of eIT.in

 

Reference

 

GeoDig – Get Local!

 

Have you checked out the GeoDig directories for over 30 countries? GeoDig provides useful local and regional web resources for over 200 cities around the world. See the list of cities and countries for which GeoDig provides locality-specific web resources.

 

North America

USA - Alabama (AL) > Birmingham; Alaska; Arkansas (AR) > Little Rock; Arizona (AZ) > Phoenix, Las Vegas, Tucson; California (CA) > Los Angeles, San Francisco, Sacramento, Fresno, Bakersfield; Colorado, CO > Denver; Connecticut, CT > Hartford; District of Columbia, DC > Washington DC; Delaware (DE) > Wilmington; Florida > Miami, Orlando, Tampa, Orlando, Sarasota, West Palm Beach, Jacksonville; Georgia > Atlanta; Hawaii > Honolulu; Idaho; Illinois > Chicago; Indiana > Indianapolis; Iowa; Kansas (KS); Kentucky (KY) > Louisville; Louisiana (LA) > New Orleans, Baton Rouge; Maine; Maryland (MD) > Baltimore; Massachusetts > Boston, Springfield; Michigan > Detroit, Grand Rapids; Minnesota > Minneapolis-St. Paul; Mississippi (MS); Missouri (MO) > Kansas City, St. Louis; Montana; Nebraska (NE) > Omaha; Nevada (NV) > Las Vegas; New Hampshire; New Jersey (NJ) > Jersey City, Newark; New Mexico (NM) > Albuquerque; New York > New York, Buffalo, Rochester, Albany, Syracuse; North Carolina (NC) > Raleigh-Durham, Charlotte, Greensboro; North Dakota; Ohio> Columbus, Cincinnati, Cleveland, Toledo, Youngstown, Dayton; Oklahoma (OK) > Oklahoma City, Tulsa; Oregon > Portland; Pennsylvania > Philadelphia, Allentown, Pittsburgh, Harrisburg, Scranton, ; Rhode Island (RI) > Providence; South Carolina (SC) > Greenville; South Dakota; Tennessee (TN) > Knoxville, Memphis, Nashville; Texas > Austin, Dallas, Houston, San Antonio, El Paso, Austin, McAllen; Utah (UT) > Salt Lake City; Vermont; Virginia (VA) > Norfolk, Richmond; Washington > Seattle; West Virginia; Wisconsin (WI) > Milwaukee; Wyoming

Canada - Vancouver, Montreal, Toronto, Calgary, Ottawa-Gatineau, Edmonton, Quebec City, Winnipeg, Hamilton, London

 

You are the $$$ Section of eIT.in

 

Europe - UK - London, Glasgow, Manchester, Birmingham, Liverpool, Sheffield, Leeds, Bristol, Edinburgh, Leicester; France - Paris, Marseille, Lyon, Toulouse, Nice, Nantes, Strasbourg, Montpellier, Bordeaux; Germany - Frankfurt (Frankfurt am Main), Munich (München), Berlin, Düsseldorf, Hamburg, Cologne (Köln), Essen, Dortmund, Stuttgart, Bremen, Duisburg, Hannover, Nürnberg (Nuremberg), Dresden, Leipzig; Italy - Milan (Milano), Rome (Roma), Napoli (Naples), Torino (Turin), Palermo, Bologna, Firenze (Florence), Genova (Genoa); Spain - Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Malaga, Murcia, Las Palmas, Bilbao; Scandinavia - Finland - Helsinki (Helsingin), Espoo, Tampere (Tampereen), Vantaa, Turku, Oulu, Sweden - Stockholm, Goteborg (Göteborg), Malmo (Malmö), Uppsala, Vasteras (Västerås), Denmark - Copenhagen (Københavns), Aarhus (Århus), Odense, Aalborg (Ålborg), Norway - Oslo, Bergen, Stavanger, Trondheim; Benelux - Belgium - Brussels (Brussel), Antwerp (Antwerpen), Ghent (Gent, Gand), Charleroi, Liège (Liege), Netherlands - Amsterdam, Rotterdam, Utrecht, Eindhoven, Tilburg, ‘s-Gravenhage (sGravenhage), Groningen, Luxembourg - Luxembourg City; PortugalLisbon; GreeceAthens; HungaryBudapest; PolandWarsaw; Switzerland - Zürich (Zurich), Geneva (Geneve, Genève), Basel, Bern (Berne), Lausanne; Austria - Linz, Vienna (Wien), Graz, Linz, Salzburg, Innsbruck; IrelandDublin

 

Asia - India - Mumbai, New Delhi, Bangalore; China & Hong Kong - Hong Kong, Beijing, Shanghai, Tianjin, Wuhan, Shenyang, Guangzhou, Harbin, Xian; Japan - Tokyo, Osaka, Yokohama, Nagoya, Sapporo, Kyoto, Kobe, Fukuoka, Kawasaki, Hiroshima; South Korea - Seoul, Pusa, Taegu, Incheon, Taejeon, Taiwan - Taipei; Malaysia - Kuala Lumpur; Singapore; Russia - Moscow, St Petersburg

 

You are the $$$ Section of eIT.in

 

Middle East - Turkey - Istanbul, Israel - Tel Aviv

 

Oceania - Australia - Sydney, Melbourne, Brisbane, Perth, Adelaide

 

Africa - South Africa - Johannesburg, Cape Town, Durban

 

 

 

© 2006, From eIT.ineverything IT is in Here

 

eIT.in is a product of eSource India & Sourcing India

 

Other eSource & Sourcing sites: IT & Software (Dir, SAP), BPO, Chemicals, Textiles, Plant Oils, dotMobi, Billion Dollar Questions,

Biodiesel Encyclopedia, Linens, ideOS, Follars – Free, Open-source Dollars, Quali5.com – Own A Keyword Forever, AntiSE, Serkai, Leather & Hide, GeoDig