Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 3878

Macaulay2-1.3.1-8.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8" ?>  <!-- for emacs: -*- coding: utf-8 -*- -->
<!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"	 "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>The Macaulay2 language</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_variables.html">next</a> | <a href="_combinatorial_spfunctions.html">previous</a> | <a href="_packages_spprovided_spwith_sp__Macaulay2.html">forward</a> | <a href="_combinatorial_spfunctions.html">backward</a> | <a href="index.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div>

    </td>
  </tr>
</table>
<div><a href="index.html" title="">Macaulay2Doc</a> > <a href="___The_sp__Macaulay2_splanguage.html" title="">The Macaulay2 language</a></div>
<hr/>
<div><h1>The Macaulay2 language</h1>
<div>The Macaulay2 language is a simple yet powerful interpreted language.  Every object has a type, such as <a href="___Type.html" title="the class of all types">Type</a>, <a href="___Z__Z.html" title="the class of all integers">ZZ</a> (integer), <a href="___String.html" title="the class of all strings">String</a>, <a href="___Hash__Table.html" title="the class of all hash tables">HashTable</a>, <a href="___Ring.html" title="the class of all rings">Ring</a>, <a href="___Matrix.html" title="the class of all matrices">Matrix</a>, <a href="___Function.html" title="the class of all functions">Function</a>, etc.  User defined variables may hold values of any type.<p/>
Expressions in Macaulay2 include function calls, control structures (e.g., <a href="_for.html" title="for loops">for</a> and <a href="_while.html" title="while loops">while</a> loops), function definitions, and operator expressions.  Every expression returns an object, although <a href="_null.html" title="the unique member of the empty class">null</a> is often returned if the expression is being used only to produce some side effect.<p/>
There is special syntax for creating and accessing strings, lists, sequences, and hashtables.  These are the key data types underlying many new types.  The Macaulay2 engine implements rings, ring elements, and matrices, as instances of low-level types, and various high-level types, visible to the user, are based on them.  Examples include <a href="___Ring.html" title="the class of all rings">Ring</a>, <a href="___Ring__Element.html" title="the class of all ring elements handled by the engine">RingElement</a>, <a href="___Matrix.html" title="the class of all matrices">Matrix</a>, <a href="___Ideal.html" title="the class of all ideals">Ideal</a>, <a href="___Ring__Map.html" title="the class of all ring maps">RingMap</a>, <a href="___Module.html" title="the class of all modules">Module</a>, and <a href="___Chain__Complex.html" title="the class of all chain complexes">ChainComplex</a>.<p/>
The user can create new types of higher level mathematical objects, whose types form a hierarchy that facilitates the installation and use of appropriate methods for computing with them.</div>
<div><h3>Menu</h3>
<ul><li><span><a href="_variables.html" title="The variables of a complex or co-complex.">variables</a> -- The variables of a complex or co-complex.</span></li>
</ul>
<h4>basic data types</h4>
<ul><li><span><a href="_numeric_sptypes.html" title="">numeric types</a></span></li>
<li><span><a href="_strings_spand_spnets.html" title="">strings and nets</a></span></li>
<li><span><a href="_lists_spand_spsequences.html" title="">lists and sequences</a></span></li>
<li><span><a href="_hash_sptables.html" title="">hash tables</a></span></li>
</ul>
<h4>expressions</h4>
<ul><li><span><a href="_operators.html" title="">operators</a></span></li>
<li><span><a href="_conditional_spexecution.html" title="if-then-else statements">conditional execution</a> -- if-then-else statements</span></li>
<li><span><a href="_while.html" title="while loops">while</a> -- while loops</span></li>
<li><span><a href="_for.html" title="for loops">for</a> -- for loops</span></li>
<li><span><a href="_mapping_spover_splists.html" title="apply a function to each element of a list">mapping over lists</a> -- apply a function to each element of a list</span></li>
<li><span><a href="_mapping_spover_sphash_sptables.html" title="apply a function to each element of a hash table">mapping over hash tables</a> -- apply a function to each element of a hash table</span></li>
<li><span><a href="_error_sphandling.html" title="signalling and trapping errors">error handling</a> -- signalling and trapping errors</span></li>
<li><span><a href="_catch.html" title="catch a thrown exception">catch</a> -- catch a thrown exception</span></li>
</ul>
<h4>functions</h4>
<ul><li><span><a href="_using_spfunctions.html" title="">using functions</a></span></li>
<li><span><a href="_using_spfunctions_spwith_spoptional_spinputs.html" title="">using functions with optional inputs</a></span></li>
<li><span><a href="_making_spfunctions.html" title="">making functions</a></span></li>
<li><span><a href="_local_spvariables_spin_spa_spfunction.html" title="">local variables in a function</a></span></li>
<li><span><a href="_making_spfunctions_spwith_spa_spvariable_spnumber_spof_sparguments.html" title="">making functions with a variable number of arguments</a></span></li>
<li><span><a href="_making_spfunctions_spwith_spmultiple_spreturn_spvalues.html" title="">making functions with multiple return values</a></span></li>
<li><span><a href="_making_spnew_spfunctions_spwith_spoptional_sparguments.html" title="">making new functions with optional arguments</a></span></li>
</ul>
<h4>classes and types</h4>
<ul><li><span><a href="_what_spa_spclass_spis.html" title="">what a class is</a></span></li>
<li><span><a href="_installing_spmethods.html" title="">installing methods</a></span></li>
<li><span><a href="_binary_spmethods.html" title="">binary methods</a></span></li>
<li><span><a href="_inheritance.html" title="">inheritance</a></span></li>
<li><span><a href="_making_spnew_spclasses.html" title="">making new classes</a></span></li>
<li><span><a href="_new.html" title="new objects and new types">new</a> -- new objects and new types</span></li>
<li><span><a href="_printing_spand_spformatting_spfor_spnew_spclasses.html" title="">printing and formatting for new classes</a></span></li>
<li><span><a href="_making_spa_spnew_spmethod_spfunction.html" title="">making a new method function</a></span></li>
</ul>
<h4>input and output</h4>
<ul><li><span><a href="_printing_spto_spthe_spscreen.html" title="">printing to the screen</a></span></li>
<li><span><a href="_reading_spfiles.html" title="">reading files</a></span></li>
<li><span><a href="_getting_spinput_spfrom_spthe_spuser.html" title="">getting input from the user</a></span></li>
<li><span><a href="_creating_spand_spwriting_spfiles.html" title="">creating and writing files</a></span></li>
<li><span><a href="_saving_sppolynomials_spand_spmatrices_spin_spfiles.html" title="">saving polynomials and matrices in files</a></span></li>
<li><span><a href="_two_spdimensional_spformatting.html" title="">two dimensional formatting</a></span></li>
<li><span><a href="_file_spmanipulation.html" title="Unix file manipulation functions">file manipulation</a> -- Unix file manipulation functions</span></li>
<li><span><a href="_communicating_spwith_spprograms.html" title="">communicating with programs</a></span></li>
<li><span><a href="_using_spsockets.html" title="">using sockets</a></span></li>
</ul>
<h4>packages</h4>
<ul><li><span><a href="_packages.html" title="">packages</a></span></li>
</ul>
<h4>system facilities</h4>
<ul><li><span><a href="_system_spfacilities.html" title="">system facilities</a></span></li>
</ul>
<h4>debugging</h4>
<ul><li><span><a href="_debugging.html" title="">debugging</a></span></li>
</ul>
</div>
</div>
</body>
</html>