Sophie

Sophie

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

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>replacements for commands and scripts from Macaulay</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_how_sp__Macaulay2_spfinds_spits_spfiles.html">next</a> | <a href="___Singular_sp__Book_sp2.8.10.html">previous</a> | <a href="_how_sp__Macaulay2_spfinds_spits_spfiles.html">forward</a> | <a href="_basic_spcommutative_spalgebra.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="_replacements_spfor_spcommands_spand_spscripts_spfrom_sp__Macaulay.html" title="">replacements for commands and scripts from Macaulay</a></div>
<hr/>
<div><h1>replacements for commands and scripts from Macaulay</h1>
<div>Macaulay2 aims to provide all of the functionality of Macaulay, but the names of the functions are not the same, and there are other differences.  One major difference is the introduction of the notion of module, whereas in Macaulay, the pervasive concept was the matrix.<p/>
Here is a list of old Macaulay functions, together with pointers to functions in Macaulay2 that might be used to replace them.<p/>
<ul><li>Macaulay commands:<ul><li>ac -- such destructive changes are not allowed</li>
<li>add -- <a href="__pl.html" title="a unary or binary operator, usually used for addition">+</a></li>
<li>ar -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>betti -- <a href="_betti.html" title="display degrees">betti</a></li>
<li>calc -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>cat -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>ce -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>characteristic -- <a href="_char.html" title="computes the characteristic of the ring or field">char</a></li>
<li>chcalc -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>codim -- <a href="_codim.html" title="compute the codimension">codim</a></li>
<li>coef -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>col_degree -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>col_degs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>commands -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>compress -- <a href="_compress.html" title="extract nonzero columns from a matrix">compress</a></li>
<li>concat -- <a href="__vb.html" title="a binary operator, often used for horizontal concatenation">|</a>,<a href="__vb_vb.html" title="a binary operator, often used for vertical concatenation">||</a></li>
<li>continue -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>contract -- <a href="_contract.html" title="contract one matrix by another">contract</a></li>
<li>copy -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>degree -- <a href="_degree.html" title="">degree</a></li>
<li>determinants -- <a href="_minors_lp__Z__Z_cm__Matrix_rp.html" title="ideal generated by minors">minors</a></li>
<li>diag -- The command <tt>diag m n</tt> is equivalent to the Macaulay2 expression <br/><tt>n = map((ring m)^(numgens source m), source m,(i,j) -> if i === j then m_(0,i) else 0)</tt></li>
<li>diag -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>diff -- <a href="_diff.html" title="differentiate or take difference">diff</a></li>
<li>dshift -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>dsum -- <a href="__pl_pl.html" title="a binary operator, usually used for direct sum">++</a></li>
<li>edit -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>edit_map -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>elim -- <a href="_select__In__Subring.html" title="select columns in a subring">selectInSubring</a></li>
<li>ev -- <a href="_substitute.html" title="substituting values for variables">substitute</a>,<a href="___Ring__Map.html" title="the class of all ring maps">RingMap</a></li>
<li>exit -- <a href="_quit.html" title="quit the program">quit</a></li>
<li>fetch -- <a href="_substitute.html" title="substituting values for variables">substitute</a></li>
<li>flatten -- <a href="_flatten.html" title="flatten a list by unnesting lists">flatten</a></li>
<li>forcestd -- <a href="_force__G__B.html" title="declare that the columns of a matrix are a Gröbner basis">forceGB</a></li>
<li>help -- <a href="_help.html" title="help command">help</a></li>
<li>help_file -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>hilb -- <a href="_hilbert__Series.html" title="compute the Hilbert series">hilbertSeries</a>,<a href="_hilbert__Polynomial.html" title="compute the Hilbert polynomial">hilbertPolynomial</a>,<a href="_hilbert__Function.html" title="the Hilbert function">hilbertFunction</a>,<a href="_poincare.html" title="assemble degrees into polynomial">poincare</a></li>
<li>hilb_numer -- <a href="_hilbert__Series.html" title="compute the Hilbert series">hilbertSeries</a></li>
<li>homog -- <a href="_homogenize.html" title="homogenize with respect to a variable">homogenize</a></li>
<li>hulb -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>ideal -- <a href="_ideal.html" title="make an ideal">ideal</a>, <a href="_matrix.html" title="make a matrix">matrix</a></li>
<li>iden -- <a href="_id.html" title="identity map">id</a></li>
<li>if -- <a href="_if.html" title="condition testing">if</a></li>
<li>imap -- <a href="_map.html" title="make a map">map</a></li>
<li>in -- <a href="_lead__Term.html" title="get the greatest term">leadTerm</a></li>
<li>inpart -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>int -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>intersect -- <a href="_intersect.html" title="compute an intersection">intersect</a></li>
<li>is_zero -- <a href="__eq_eq.html" title="equality">==</a></li>
<li>jacob -- <a href="_jacobian.html" title="the Jacobian matrix of partial derivatives">jacobian</a></li>
<li>jump -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>k-basis -- <a href="_basis.html" title="basis of all or part of a module or ring">basis</a></li>
<li>k_basis -- <a href="_basis.html" title="basis of all or part of a module or ring">basis</a></li>
<li>keep -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>kill -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>koszul -- <a href="_koszul.html" title="Koszul complex or specific matrix in the Koszul complex">koszul</a></li>
<li>lift -- <a href="__sl_sl.html" title="a binary operator, usually used for quotient">//</a></li>
<li>lift_std -- <a href="_gb.html" title="compute a Gröbner basis">gb</a></li>
<li>listvars -- <a href="_list__User__Symbols.html" title="display the user's symbols">listUserSymbols</a></li>
<li>mat -- <a href="_matrix.html" title="make a matrix">matrix</a></li>
<li>max -- <a href="_max.html" title="maximum of elements of a list">max</a></li>
<li>mc -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>min -- <a href="_min.html" title="minimum of elements of a list">min</a></li>
<li>modulo -- <a href="_modulo_lp__Matrix_cm__Matrix_rp.html" title="find the pre-image (pullback) of image of a map (low level version)">modulo</a></li>
<li>monitor -- <a href="_using_sp__Macaulay2_spwith_spemacs.html" title="">using Macaulay2 with emacs</a></li>
<li>monitoring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>monoms -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>monprimes -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>mr -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>mult -- <a href="__st.html" title="a binary operator, usually used for multiplication">*</a></li>
<li>ncols -- use numgens source m</li>
<li>nres -- <a href="_resolution.html" title="projective resolution">resolution</a></li>
<li>nrows -- use numgens target m</li>
<li>numinfo -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>nvars -- use numgens R</li>
<li>outer -- <a href="__st_st.html" title="a binary operator, usually used for tensor product or Cartesian product">**</a></li>
<li>path -- <a href="_path.html" title="list of directories to look in">path</a></li>
<li>pc -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>pfaff -- <a href="_pfaffians.html" title="ideal generated by Pfaffians">pfaffians</a></li>
<li>pmap -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>poly -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>power -- <a href="_^.html" title="a binary operator, usually used for powers">^</a></li>
<li>pr -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li><b>pres &lt;C:complex> -- </b>Use <tt>C.dd</tt> or <tt>print C.dd</tt></li>
<li>present_ring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>pring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>prmat -- <a href="_print.html" title="print something">print</a> or <a href="_to__String.html" title="convert to a string">toString</a></li>
<li>putchange -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>putmat -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>putstd -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li><b>qring &lt;I:ideal> &lt;result A:ring> -- </b>In Macaulay2, if <tt>I</tt> is an ideal, then <tt>A = (ring I)/I</tt> is equivalent, except that in Macaulay2, a Gröbner basis of I is computed for you, if it is needed</li>
<li>quit -- <a href="_quit.html" title="quit the program">quit</a></li>
<li>quotient -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>random -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>reduce -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>res -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>reset -- <a href="_restart.html" title="restart Macaulay2">restart</a></li>
<li>ring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>ring-from-rows -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>ring_from_cols -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>ring_from_rows -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>ring_sum -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>rmap -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>row_degree -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>row_degs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>sat -- <a href="_saturate.html" title="saturation of ideal or submodule">saturate</a></li>
<li>set -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>set_value -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>setcoldegs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>setdegs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>setring -- <a href="_use.html" title="install or activate object">use</a></li>
<li>shout -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>size -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>smult -- <a href="__st.html" title="a binary operator, usually used for multiplication">*</a></li>
<li>space -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>spairs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>spare -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>sparse -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>std -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>std_minimal -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>stdpart -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>submat -- <a href="_submatrix.html" title="">submatrix</a></li>
<li>subtract -- <a href="_-.html" title="a unary or binary operator, usually used for negation or subtraction">-</a></li>
<li>syz -- <a href="_syz.html" title="the syzygy matrix">syz</a>,<a href="_kernel.html" title="kernel of a ringmap, matrix, or chain complex">kernel</a></li>
<li>tensor &lt;matrix M> &lt;matrix N> &lt;result matrix M.N> -- <tt>cokernel M ** cokernel N</tt></li>
<li>trace -- <a href="_trace_lp__Matrix_rp.html" title="trace of a matrix">trace</a></li>
<li>transpose -- <a href="_transpose.html" title="transpose a table or a matrix">transpose</a></li>
<li>truncate -- <a href="_truncate.html" title="truncate the module at a specified degree">truncate</a></li>
<li>type -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>version -- <a href="_version.html" title="information about this version of the program">version</a></li>
<li>wedge -- <a href="_minors_lp__Z__Z_cm__Matrix_rp.html" title="ideal generated by minors">minors</a>,<a href="_exterior__Power.html" title="exterior power">exteriorPower</a></li>
</ul>
</li>
<li>Macaulay scripts from 'scriptsde':<ul><li>&lt;adj_of_cat -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;adjoin_fractions -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;adjoint -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;analytic_spread -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;annihilated -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;annihilator -- <a href="_annihilator.html" title="the annihilator ideal">annihilator</a></li>
<li>&lt;annihilator1 -- <a href="_annihilator.html" title="the annihilator ideal">annihilator</a></li>
<li>&lt;annihilator2 -- <a href="_annihilator.html" title="the annihilator ideal">annihilator</a></li>
<li>&lt;binomial -- <a href="_binomial.html" title="binomial coefficient">binomial</a></li>
<li>&lt;ceiling -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;changelog -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;codim -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;cohomology -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;cohomology1 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;column_vector -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;complement -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;copyring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;cotan -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;cotan_bihom -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;curve_on_cubic -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;diagonal_submodule -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;diff -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;double_dual -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;double_dual1 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;dual_variety -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;empty_array -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;equality -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;ext -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;ext(-,r) -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;extend_ring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;from_bigraded -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;from_div_powers -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;generic_mat -- <a href="_generic__Matrix.html" title="make a generic matrix of variables">genericMatrix</a></li>
<li>&lt;getvars -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;hom -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;hom_and_map -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;hom_is_0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;homology -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;i_in_j -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;ideal -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;idempotent -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;idencoldegs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;idenrowdegs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;interchange -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;interchange_permutation -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;inverse -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;is_zero -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;k3carpet -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;kernel -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;kernel_and_map -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;kosz_hom1 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;kosz_hom2 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_i_in_j -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_intersect -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_res -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;lex_seg_ideal -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;macaulayrep -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;map_from_col -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;minpres -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;module_iso -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;monomial_curve -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;mult_ideals -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;nbyn_commuting -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;normal_sheaf -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;nres -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;nzd -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;orbit_equations -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;permutation -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;perp -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;points -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;powers -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;project_from_product -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;projective_plane -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;prune -- <a href="_prune.html" title="prune, e.g., compute a minimal presentation">prune</a></li>
<li>&lt;prune_and_map -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;push_forward -- <a href="_push__Forward_lp__Ring__Map_cm__Module_rp.html" title="">pushForward</a></li>
<li>&lt;push_forward1 -- <tt>coimage (eventually)</tt> (missing documentation<!-- tag: coimage (eventually) -->)</li>
<li>&lt;quotient1 -- <a href="_quotient.html" title="quotient or division">quotient</a></li>
<li>&lt;radical -- <a href="_radical.html" title="the radical of an ideal">radical</a></li>
<li>&lt;random_element -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;random_int -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;random_map -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;random_mat -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;rank_prob -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;rat_nor_curve -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;rat_nor_osc_locus -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;rational_surface -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;rational_surface1 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;reduce_syzygy_1 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;regular_sequence -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;regular_sequence1 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;regularity -- <a href="_regularity.html" title="compute the Castelnuovo-Mumford regularity">regularity</a></li>
<li>&lt;remove_low_dim -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;remove_low_dim_id -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;remove_lowest_dim -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;representatives -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;representatives_old -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;res -- <a href="_resolution.html" title="projective resolution">resolution</a></li>
<li>&lt;res_and_dim -- <a href="_resolution.html" title="projective resolution">resolution</a>,<a href="_pdim.html" title="calculate the projective dimension">pdim</a></li>
<li>&lt;ring -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;sagbi -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;sagbi_step -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;sat -- <a href="_saturate.html" title="saturation of ideal or submodule">saturate</a></li>
<li>&lt;sat1 -- <a href="_saturate.html" title="saturation of ideal or submodule">saturate</a></li>
<li>&lt;scroll -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;select -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;shout_list -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;sort_by_degree -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;stack -- <a href="_matrix.html" title="make a matrix">matrix</a>,<a href="_map.html" title="make a map">map</a></li>
<li>&lt;submat_by_degs -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;subring -- <a href="_kernel.html" title="kernel of a ringmap, matrix, or chain complex">kernel</a></li>
<li>&lt;sym -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;sym_cokernel -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;template_for_scripts -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;to_div_powers -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;tor -- <a href="___Tor.html" title="Tor module">Tor</a></li>
<li>&lt;unmixed_radical -- <a href="_radical.html" title="the radical of an ideal">radical</a></li>
<li>&lt;unmixed_radical1 -- <a href="_radical.html" title="the radical of an ideal">radical</a></li>
<li>&lt;unmixed_radical2 -- <a href="_radical.html" title="the radical of an ideal">radical</a></li>
<li>&lt;wedge_cokernel -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;x_to_last -- <a href="_new__Coordinate__System.html" title="change variables">newCoordinateSystem</a></li>
<li>&lt;zeromat -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
</ul>
</li>
<li>Macaulay scripts from 'scriptsmj':<ul><li>&lt;2BYN -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;add_matrix_to_array -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;check_complex -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;check_exact -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;comp_to_array -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;eagon_northcott -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;extract_matrix -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;homology_of_array -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;jordan0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;koszul_complex -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;lift -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;lift_arrays -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;mc -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;nilpotent0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;pres -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;smult_complex -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;splice_resns -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
</ul>
</li>
<li>Macaulay scripts from 'scriptsms':<ul><li>&lt;block_map -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;blowup -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;blowup0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;generic_skew_mat -- <a href="_generic__Skew__Matrix.html" title="make a generic skew symmetric matrix of variables">genericSkewMatrix</a></li>
<li>&lt;generic_sym_mat -- <a href="_generic__Symmetric__Matrix.html" title="make a generic symmetric matrix">genericSymmetricMatrix</a></li>
<li>&lt;hilb_fcn -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;inhomog_std -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_dual0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_from_dual -- <a href="_from__Dual.html" title="ideal from inverse system">fromDual</a></li>
<li>&lt;l_homog0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_min0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_minimal -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_minimal0 -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_tangentcone -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;l_to_dual -- <a href="_to__Dual.html" title="inverse system">toDual</a></li>
<li>&lt;line_bundle_image -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;normal_cone -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;proj_bundle -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;rmap -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
<li>&lt;symmetric_algebra -- <a href="_not_spdocumented_spyet.html" title="">not documented yet</a></li>
</ul>
</li>
</ul>
<h3>add &lt;matrix> &lt;matrix> &lt;matrix></h3>
Add matrices <tt>m</tt> and <tt>n</tt>, using <tt>result = m + n</tt>.  In general, arithmetic in Macaulay2 is done using natural mathematical expressions.  See <a href="__pl.html" title="a unary or binary operator, usually used for addition">+</a>.<h3>betti &lt;res></h3>
Display the graded betti numbers of a chaincomplex or resolution <tt>C</tt> using <tt>betti C</tt>.  See <a href="_betti.html" title="display degrees">betti</a>.<h3>calc &lt;computation> [hi degree]</h3>
<h3>chcalc &lt;computation> [new hi deg]</h3>
Compute the Gröbner basis of <tt>m</tt> up to a given degree, using <tt>gb(m, DegreeLimit=>3)</tt>.  Similarly, if a computation in Macaulay2 has been halted by pressing &lt;CTRL>-C, the computation can be restarted from where it left off, by giving the original command, e.g., <tt>gb m</tt>.<h3>cat &lt;first var(0..numvars-1)> &lt;result matrix></h3>
Macaulay1 then also prompts for two lists of integers, say <tt>rows</tt> and <tt>cols</tt>.  The resulting catalecticant matrix can be obtained in Macaulay2 in the following way.<table class="examples"><tr><td><pre>i1 : R = QQ[a..h]

o1 = R

o1 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i2 : rows = {0,1,2}

o2 = {0, 1, 2}

o2 : List</pre>
</td></tr>
<tr><td><pre>i3 : cols = {0,3}

o3 = {0, 3}

o3 : List</pre>
</td></tr>
<tr><td><pre>i4 : result = map(R^3, 2, (i,j) -> R_(rows_i + cols_j))

o4 = | a d |
     | b e |
     | c f |

             3       2
o4 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h3>characteristic &lt;ring> [result integer]</h3>
To obtain the characteristic of a ring <tt>R</tt>, use <tt>char R</tt>.  See <a href="_char.html" title="computes the characteristic of the ring or field">char</a>.<h3>codim &lt;standard basis> [integer result]</h3>
When computing the codimension of an ideal or module <tt>M</tt>, a Gröbner basis is computed automatically, if needed.  Use <tt>codim M</tt>.One use of this command in Macaulay1 was to compute the codimension of a partially computed Gröbner basis.  <h3>coef &lt;matrix> &lt;result monoms> &lt;result coefs> [variable list]</h3>
To obtain the matrices of monomials and their coefficients, use <a href="_coefficients.html" title="monomials and their coefficients">coefficients</a>.  The following example obtains the coefficients of the variable <tt>a</tt> (which is variable number 0)<table class="examples"><tr><td><pre>i5 : R = ZZ/101[a..d];</pre>
</td></tr>
<tr><td><pre>i6 : m = matrix{{a^2+a^2*c+a*b+3*d}}

o6 = | a2c+a2+ab+3d |

             1       1
o6 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i7 : result = coefficients(m, Variables => {a})

o7 = (| a2 a 1 |, {2} | c+1 |)
                  {1} | b   |
                  {0} | 3d  |

o7 : Sequence</pre>
</td></tr>
<tr><td><pre>i8 : result_0

o8 = | a2 a 1 |

             1       3
o8 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i9 : result_1

o9 = {2} | c+1 |
     {1} | b   |
     {0} | 3d  |

             3       1
o9 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h3>col_degree &lt;matrix> &lt;column> [result integer]</h3>
To obtain the degree of the <tt>i</tt>-th column of a matrix <tt>m</tt>, use <tt>(degrees source m)_i</tt>.  See <a href="_degrees.html" title="degrees of generators">degrees</a>.  Note that in Macaulay2, one can use multi-degrees, so the result is a list of integers.  Also all indices in Macaulay2 start at 0.<table class="examples"><tr><td><pre>i10 : R = QQ[a,b,Degrees=>{{1,0},{1,-1}}];</pre>
</td></tr>
<tr><td><pre>i11 : m = matrix{{a*b, b^2}}

o11 = | ab b2 |

              1       2
o11 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i12 : (degrees source m)_0

o12 = {2, -1}

o12 : List</pre>
</td></tr>
</table>
<h3>col_degs &lt;matrix> [column degrees]</h3>
Compute the list of degrees of the columns of a matrix <tt>m</tt> using <tt>degrees source m</tt>.  The result is a list of degrees.  Each degree is itself a list of integers, since multi-degrees are allowed.<h3>commands</h3>
Using Macaulay2 in emacs, type the first few letters of a command, then hit &lt;TAB>. The list of all commands starting with those letters will be displayed, or if there is only one, emacs will complete the typing for you.<h3>compress &lt;matrix> &lt;result matrix></h3>
Remove columns of a matrix <tt>m</tt> which are entirely zero using <tt>compress m</tt>. See <a href="_compress.html" title="extract nonzero columns from a matrix">compress</a>.<h3>concat &lt;matrix> &lt;matrix2> ... &lt;matrix n></h3>
Concatenate matrices <tt>m1</tt>, <tt>m2</tt>, ..., <tt>mn</tt> using <tt>m1 | m2 | ... | mn</tt>.  See <a href="__vb.html" title="a binary operator, often used for horizontal concatenation">|</a>.  The main difference is that in Macaulay2 this command does not overwrite the first matrix.<h3>continue</h3>
In Macaulay2, one interrupts a computation using &lt;CTRL>-C, as in Macaulay1.  Restart the computation using the original command.  For Gröbner basis and resolution commands, the computation starts off where it left off.<h3>contract &lt;ideal> &lt;ideal> &lt;result matrix></h3>
To contract the matrix <tt>n</tt> by the matrix <tt>m</tt> use <tt>contract(m,n)</tt>.  See <a href="_contract.html" title="contract one matrix by another">contract</a>.  In Macaulay2, the arguments are not constrained to be matrices with one row.<h3>copy &lt;existing matrix> &lt;copy of matrix></h3>
Since matrices in Macaulay2 are immutable objects, this command is no longer necessary.  One can still make a copy of a matrix.  For example<table class="examples"><tr><td><pre>i13 : R = ZZ/101[a..d]

o13 = R

o13 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i14 : m = matrix{{a,b},{c,d}}

o14 = | a b |
      | c d |

              2       2
o14 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i15 : copym = map(target m, source m, entries m)

o15 = | a b |
      | c d |

              2       2
o15 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h3>degree &lt;standard basis> [integer codim] [integer degree]</h3>
When computing the degree of an ideal or module <tt>M</tt>, a Gröbner basis is computed automatically, if needed.  Use <tt>degree M</tt>.  Note that in Macaulay2, <tt>degree</tt> returns only the degree.  Use <tt>codim M</tt> to obtain the codimension.One use of this command in Macaulay1 was to compute the degree of a partially computed Gröbner basis.  <h3>determinants &lt;matrix> &lt;p> &lt;result></h3>
Use <tt>minors(p,m)</tt> to compute the ideal of p by p minors of the matrix <tt>m</tt>.  See <a href="_minors_lp__Z__Z_cm__Matrix_rp.html" title="ideal generated by minors">minors</a>.<h3>diag &lt;matrix> &lt;result></h3>
To make a diagonal matrix whose diagonal entries are taken from a matrix <tt>m</tt>, it is necessary to build the matrix directly, as in the following example.<table class="examples"><tr><td><pre>i16 : R = ZZ[a..d];</pre>
</td></tr>
<tr><td><pre>i17 : m = matrix{{a^2,b^3,c^4,d^5}}

o17 = | a2 b3 c4 d5 |

              1       4
o17 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i18 : map(R^(numgens source m), source m, 
                       (i,j) -> if i === j then m_(0,i) else 0)

o18 = | a2 0  0  0  |
      | 0  b3 0  0  |
      | 0  0  c4 0  |
      | 0  0  0  d5 |

              4       4
o18 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h3>diff &lt;ideal> &lt;ideal> &lt;result matrix></h3>
To differentiate the matrix <tt>n</tt> by the matrix <tt>m</tt> use <tt>diff(m,n)</tt>.  See <a href="_diff.html" title="differentiate or take difference">diff</a>.  In Macaulay2, the arguments are not constrained to be matrices with one row.<h3>dshift &lt;matrix> &lt;degree to shift by></h3>
To shift the degrees of a matrix <tt>m</tt> by an integer <tt>d</tt>, use <tt>m ** (ring m)^{-d}</tt>.  See <a href="__st_st.html" title="a binary operator, usually used for tensor product or Cartesian product">**</a>.  Note that this returns a matrix with the degrees shifted, and does not modify the original matrix <tt>m</tt>.  For example<table class="examples"><tr><td><pre>i19 : R = ZZ[a..d];</pre>
</td></tr>
<tr><td><pre>i20 : m = matrix{{a,b^2},{c^2,d^3}}

o20 = | a  b2 |
      | c2 d3 |

              2       2
o20 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i21 : betti m

             0 1
o21 = total: 2 2
          0: 2 .
          1: . 1
          2: . 1

o21 : BettiTally</pre>
</td></tr>
<tr><td><pre>i22 : n = m ** R^{-1}

o22 = {1} | a  b2 |
      {1} | c2 d3 |

              2       2
o22 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i23 : betti n

             0 1
o23 = total: 2 2
          1: 2 .
          2: . 1
          3: . 1

o23 : BettiTally</pre>
</td></tr>
</table>
<h3>dsum &lt;matrix> ... &lt;matrix> &lt;result></h3>
To form the direct sum of matrices <tt>m1, m2, ..., mn</tt>, use <tt>m1 ++ m2 ++ ... ++ mn</tt>.  See <a href="__pl_pl.html" title="a binary operator, usually used for direct sum">++</a>.<h3>elim &lt;standard basis> &lt;result matrix> [n]</h3>
To select the columns of the matrix <tt>m</tt> which lie in the subring defined by the first <tt>n</tt> slots of the monomial order being zero, use <tt>selectInSubring(n,m)</tt>.  Usually, one uses the value of 1 for <tt>n</tt>.<h3>ev &lt;ideal> &lt;matrix> &lt;changed matrix></h3>
In Macaulay2, one uses ring maps, or <a href="_substitute.html" title="substituting values for variables">substitute</a> to substitute variables.  If <tt>m</tt> is a matrix in a ring <tt>R</tt> having <tt>n</tt> variables, and <tt>f</tt> is a 1 by n matrix over some ring, then use <tt>substitute(m,f)</tt> to perform the substitution.  For example,<table class="examples"><tr><td><pre>i24 : R = QQ[a..d]

o24 = R

o24 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i25 : S = QQ[s,t]

o25 = S

o25 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i26 : m = matrix{{a^2-d, b*c}}

o26 = | a2-d bc |

              1       2
o26 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i27 : f = matrix{{s^4,s^3*t,s*t^3,t^4}}

o27 = | s4 s3t st3 t4 |

              1       4
o27 : Matrix S  &lt;--- S</pre>
</td></tr>
<tr><td><pre>i28 : substitute(m,f)

o28 = | s8-t4 s4t4 |

              1       2
o28 : Matrix S  &lt;--- S</pre>
</td></tr>
</table>
In Macaulay2, one may also create and apply ring maps<table class="examples"><tr><td><pre>i29 : F = map(R,R,{b,c,d,a})

o29 = map(R,R,{b, c, d, a})

o29 : RingMap R &lt;--- R</pre>
</td></tr>
<tr><td><pre>i30 : m + F m + F F m + F F F m

o30 = | a2+b2+c2+d2-a-b-c-d ab+bc+ad+cd |

              1       2
o30 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
Or one may substitute for only some variables<table class="examples"><tr><td><pre>i31 : substitute(m, {a=>1, b=>3})

o31 = | -d+1 3c |

              1       2
o31 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
<h3>exit</h3>
Use <a href="_exit.html" title="exit the program">exit</a> to quit Macaulay2.<h3>fetch &lt;matrix> &lt;result matrix> [ones, default=zeros]</h3>
In order to bring a matrix <tt>m</tt> to a ring <tt>S</tt> which has ring variables of the same name, use <tt>substitute(m,S)</tt>.<table class="examples"><tr><td><pre>i32 : R = ZZ[s,t]

o32 = R

o32 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i33 : m = s^2+t^2

       2    2
o33 = s  + t

o33 : R</pre>
</td></tr>
<tr><td><pre>i34 : S = R[a..d]

o34 = S

o34 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i35 : substitute(m,S)

       2    2
o35 = s  + t

o35 : S</pre>
</td></tr>
</table>
<h3>flatten &lt;matrix> &lt;result ideal of entries></h3>
In order to form a one row matrix with the entries of a matrix <tt>m</tt>, use <tt>flatten m</tt>.  See <a href="_flatten.html" title="flatten a list by unnesting lists">flatten</a>.<h3>forcestd &lt;matrix> &lt;result standard basis> [change of basis]</h3>
In order to inform the system that the columns of the matrix <tt>m</tt> form a Gröbner basis, use <tt>forceGB m</tt>.  See <a href="_force__G__B.html" title="declare that the columns of a matrix are a Gröbner basis">forceGB</a>.<h3>homog &lt;matrix> &lt;homog variable> &lt;new matrix></h3>
To homogenize a matrix <tt>m</tt> with respect to a variable <tt>x</tt>, use <tt>homogenize(m,x)</tt>. One may also homogenize with respect to a given weight vector.  See <a href="_homogenize.html" title="homogenize with respect to a variable">homogenize</a>.<h3>ideal &lt;resulting matrix></h3>
To enter a one row matrix, use we may use the following method.<table class="examples"><tr><td><pre>i36 : R = ZZ[a..d]

o36 = R

o36 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i37 : f = matrix{{a^2-b*c,3*b*c^4-1}}

o37 = | a2-bc 3bc4-1 |

              1       2
o37 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
Remember that ideals, modules, and matrices are all different in Macaulay2.  One can easily change between them, as in:<table class="examples"><tr><td><pre>i38 : J = ideal f

              2            4
o38 = ideal (a  - b*c, 3b*c  - 1)

o38 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i39 : generators J

o39 = | a2-bc 3bc4-1 |

              1       2
o39 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i40 : image f

o40 = image | a2-bc 3bc4-1 |

                              1
o40 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i41 : cokernel f

o41 = cokernel | a2-bc 3bc4-1 |

                             1
o41 : R-module, quotient of R</pre>
</td></tr>
</table>
<h3>iden &lt;size> &lt;result></h3>
To make the identity map on a module <tt>F</tt>, use <tt>id_F</tt>, as in <table class="examples"><tr><td><pre>i42 : id_(R^4)

o42 = | 1 0 0 0 |
      | 0 1 0 0 |
      | 0 0 1 0 |
      | 0 0 0 1 |

              4       4
o42 : Matrix R  &lt;--- R</pre>
</td></tr>
</table>
See <a href="_id.html" title="identity map">id</a>.<h3>if &lt;integer> &lt;label1> [&lt;label2>]</h3>
For conditional execution, use the if-then or if-then-else statement<h3>int &lt;name> &lt;new value></h3>
To assign a value to a variable in Macaulay2, use <a href="__eq.html" title="assignment">=</a>.  For example,<table class="examples"><tr><td><pre>i43 : myanswer = 2*(numgens R) - 1

o43 = 7</pre>
</td></tr>
</table>
Warning: In Macaulay1, names of variables in rings, and user defined variables are completely separate.  In Macaulay2, if you assign something to a ring variable, it will assume its new value. <table class="examples"><tr><td><pre>i44 : R = ZZ/31991[a..d]

o44 = R

o44 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i45 : a

o45 = a

o45 : R</pre>
</td></tr>
<tr><td><pre>i46 : a = 43

o46 = 43</pre>
</td></tr>
<tr><td><pre>i47 : a

o47 = 43</pre>
</td></tr>
<tr><td><pre>i48 : use R

o48 = R

o48 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i49 : a

o49 = a

o49 : R</pre>
</td></tr>
</table>
<h3>intersect &lt;mat 1> ... &lt;mat n> &lt;result computation></h3>
To intersect ideals, or submodules <tt>I1, I2, ..., In</tt>, use <tt>intersect(I1,I2,...,In)</tt>.  The main difference is that these values cannot be matrices, they must be ideals or submodules.  A second difference is that the computation, if interrupted, must be restarted at the beginning.  See <a href="_intersect.html" title="compute an intersection">intersect</a>.  For example,<table class="examples"><tr><td><pre>i50 : I = ideal(a^2-b,c-1,d^2-a*b)

              2                      2
o50 = ideal (a  - b, c - 1, - a*b + d )

o50 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i51 : J = ideal(a*b-1, c*d-2)

o51 = ideal (a*b - 1, c*d - 2)

o51 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i52 : intersect(I,J)

              2                                                 3  
o52 = ideal (c d - c*d - 2c + 2, a*b*c - a*b - c + 1, - 10664c*d  +
      -----------------------------------------------------------------------
                                               2                   2 2  
      10664a*b*d + 10663a*b + 10664c*d - 10663d  - 10664d, - 10664c d  +
      -----------------------------------------------------------------------
                         2            2                                     
      10664a*b*c + 10663c d + 10664c*d  - 10664a*b + 10665c*d + c + 10663d -
      -----------------------------------------------------------------------
                 2   2           3         2                2         2   
      1, - 10664b c*d  + 10664a*b  + 10663b c*d + 10664a*c*d  - 10665a b -
      -----------------------------------------------------------------------
            2                  2                           2         2 2  
      10663b d - 10663a*c*d + b  + 10663a*d, - 10664a*b*c*d  + 10664a b  +
      -----------------------------------------------------------------------
                                          2                                  
      10663a*b*c*d - 10663a*b*d + 10664c*d  - 10664a*b - 10663c*d + 10663d, -
      -----------------------------------------------------------------------
            2   2         3          2                2           2  
      10664a c*d  + 10664a b + 10663a c*d + 10664b*c*d  - 10664a*b  -
      -----------------------------------------------------------------------
            2                  2
      10663a d - 10663b*c*d + a  + 10663b*d - b)

o52 : Ideal of R</pre>
</td></tr>
</table>
<h3>is_zero &lt;poly> &lt;result integer: 1 if zero, else 0></h3>
To decide whether a polynomial, matrix, ideal, etc., <tt>f</tt> is zero, use <tt>f == 0</tt>.  The resulting value is a Boolean: either <tt>true</tt>, or <tt>false</tt>.  See <a href="__eq_eq.html" title="equality">==</a>.<h3>jacob &lt;ideal> &lt;resulting jacobian> [variable list]</h3>
To find the Jacobian matrix of an ideal or one row matrix<tt>f</tt>, use <tt>jacobian f</tt>.  If you only wish to differentiate with some of the variables, use <a href="_diff.html" title="differentiate or take difference">diff</a> instead.  See <a href="_jacobian.html" title="the Jacobian matrix of partial derivatives">jacobian</a>.<h3>jump &lt;label></h3>
Macaulay2 has no go to statements.  Instead, you should use the control structures.</div>
</div>
</body>
</html>