debian/0000755000000000000000000000000012142253007007162 5ustar debian/source/0000755000000000000000000000000012065273136010473 5ustar debian/source/format0000644000000000000000000000001412065273136011701 0ustar 3.0 (quilt) debian/yacas.10000644000000000000000000001236212065276064010364 0ustar .TH "yacas" "1" .SH "NAME" yacas, yacas_client \(em small and flexible general-purpose computer algebra system .SH "SYNOPSIS" .PP \fByacas\fR [\fBoptions\fP] [\fB{filename}\fP] .SH "DESCRIPTION" .PP This manual page documents briefly the \fByacas\fR and \fByacas_client\fR commands. .PP \fBYacas\fR (Yet Another Computer Algebra System) is a small and highly flexible general-purpose computer algebra language. The syntax uses a infix-operator grammar parser. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. The core engine supports arbitrary precision arithmetic, and is linked with the GNU arbitrary precision math library, and is able to execute symbolic manipulations on various mathematical objects by following user-defined rules. .PP This manual page was written for the \fBDebian GNU/Linux\fP distribution because the original program does not have a manual page. .SH "OPTIONS" .PP A summary of options is given below .IP "\fB-c\fP " 10 Inhibit printing of prompts "In>" and "Out>". Useful for non-interactive sessions. .IP "\fB-f\fP " 10 Reads standard input as one file, but executes only the first statement in it. (You may want to use a statement block to have several statements executed.) .IP "\fB-p\fP" 10 Does not use terminal capabilities, no fancy editing on the command line and no escape sequences printed. Useful for non-interactive sessions. .IP "\fB-t\fP" 10 Enable some extra history recall functionality in console mode: after executing a command from the history list, the next unmodified command from the history list will be automatically entered on the command line. .IP "\fB{filename}\fP" 10 Reads and executes commands in the filename and exits. Equivalent to "Load()". .IP "\fB-v\fP" 10 Prints version information and exits. .IP "\fB-d\fP" 10 Prints the path to the Yacas library directory and exits .PP The default operation of \fB Yacas\fR is to run in the interactive console mode. \fBYacas\fR accepts several options that modify its operation. Options can be combined. .PP In addition to the console mode, an experimental persistent session facility is provided through the script \fByacas_client\fR. By means of this script, the user can configure third-party applications to pass commands to a constantly running "Yacas server" and get output. The "Yacas server" is automatically started by \fByacas_client\fR. It may run on a remote computer; in that case the user should have a user account on the remote computer and privileges to execute \fByacas_client\fR there, as well as rsh or ssh access. The purpose of \fByacas_client\fR is to enable users to pass commands to \fBYacas\fR within a persistent session while running another application such as a text editor. The script \fByacas_client\fR reads \fByacas\fR commands from the standard input and passes them to the running "Yacas server"; it then waits 2 seconds and prints whatever output \fByacas\fR produced up to this time. Usage may looks like this: .PP .nf 8:20pm Unix>echo "x:=3" | yacas_client Starting server. [editvi] [gnuplot] True; To exit Yacas, enter Exit(); or quit or Ctrl-c. Type ?? for help. Or type ?function for help on a function. Type 'restart' to restart Yacas. To see example commands, keep typing Example(); In> x:=3 Out> 3; In> 8:21pm Unix>echo "x:=3+x" | yacas_client In> x:=3+x Out> 6; In> 8:23pm Unix>yacas_client \-stop In> quit Quitting... Server stopped. 8:23pm Unix> .fi .PP .PP Persistence of the session means that \fByacas\fR remembered the value of "x" between invocations of \fByacas_client\fR. If there is not enough time for Yacas to produce output within 2 seconds, the output will be displayed the next time you call \fByacas_client\fR. .PP The "Yacas server" is started automatically when first used and can be stopped either by quitting \fByacas\fR or by an explicit option \fByacas_client\fR \-stop, in which case \fByacas_client\fR does not read standard input. .PP The script \fByacas_client\fR reads standard input and writes to standard output, so it can be used via remote shell execution. For instance, if an account "user" on a remote computer "remote.host" is accessible through ssh, then \fByacas_client\fR can be used remotely like this: .PP .nf echo "x:=2;" | ssh user@remote.host yacas_client .fi .PP .PP On a given host computer running the "Yacas server", each user currently may have only one persistent Yacas session. .SH "SEE ALSO" .PP \fI/usr/share/yacas/documentation/books.html (link to URL file:/usr/share/yacas/documentation/books.html) \fR or \fIhttp://www.xs4all.nl/~apinkus/manindex.html (link to URL http://www.xs4all.nl/~apinkus/manindex.html) \fR for more information. .SH "AUTHOR" .PP \fByacas\fR was written by Ayal Pinkus (apinkus@xs4all.nl). \fByacas\fR is available at \fIhttp://www.xs4all.nl/~apinkus/yacas.html (link to URL http://www.xs4all.nl/~apinkus/yacas.html) \fR. .PP This manual page was written by Gopal Narayanan (gopal@debian.org) for the \fBDebian GNU/Linux\fP system (but may be used by others). .\" created by instant / docbook-to-man, Sat 22 Dec 2012, 10:24 debian/yacas-doc.dirs0000644000000000000000000000006512065273136011722 0ustar usr/share/doc/yacas-doc usr/share/doc/yacas-doc/html debian/yacas.sgml0000644000000000000000000002133512065273136011163 0ustar Gopal"> Narayanan"> March 10, 2001"> 1"> (gopal@debian.org)"> yacas"> Debian GNU/Linux"> GNU"> ]>
&dhemail;
&dhfirstname; &dhsurname; 2001 &dhusername; &dhdate;
&dhucpackage; &dhsection; &dhpackage;, &dhpackage2; small and flexible general-purpose computer algebra system &dhpackage; DESCRIPTION This manual page documents briefly the &dhpackage; and &dhpackage2; commands. Yacas (Yet Another Computer Algebra System) is a small and highly flexible general-purpose computer algebra language. The syntax uses a infix-operator grammar parser. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. The core engine supports arbitrary precision arithmetic, and is linked with the GNU arbitrary precision math library, and is able to execute symbolic manipulations on various mathematical objects by following user-defined rules. This manual page was written for the &debian; distribution because the original program does not have a manual page. OPTIONS A summary of options is given below Inhibit printing of prompts "In>" and "Out>". Useful for non-interactive sessions. Reads standard input as one file, but executes only the first statement in it. (You may want to use a statement block to have several statements executed.) Does not use terminal capabilities, no fancy editing on the command line and no escape sequences printed. Useful for non-interactive sessions. Enable some extra history recall functionality in console mode: after executing a command from the history list, the next unmodified command from the history list will be automatically entered on the command line. Reads and executes commands in the filename and exits. Equivalent to "Load()". Prints version information and exits. Prints the path to the Yacas library directory and exits The default operation of Yacas is to run in the interactive console mode. Yacas accepts several options that modify its operation. Options can be combined. In addition to the console mode, an experimental persistent session facility is provided through the script &dhpackage2;. By means of this script, the user can configure third-party applications to pass commands to a constantly running "Yacas server" and get output. The "Yacas server" is automatically started by &dhpackage2;. It may run on a remote computer; in that case the user should have a user account on the remote computer and privileges to execute &dhpackage2; there, as well as rsh or ssh access. The purpose of &dhpackage2; is to enable users to pass commands to Yacas within a persistent session while running another application such as a text editor. The script &dhpackage2; reads &dhpackage; commands from the standard input and passes them to the running "Yacas server"; it then waits 2 seconds and prints whatever output &dhpackage; produced up to this time. Usage may looks like this: 8:20pm Unix>echo "x:=3" | yacas_client Starting server. [editvi] [gnuplot] True; To exit Yacas, enter Exit(); or quit or Ctrl-c. Type ?? for help. Or type ?function for help on a function. Type 'restart' to restart Yacas. To see example commands, keep typing Example(); In> x:=3 Out> 3; In> 8:21pm Unix>echo "x:=3+x" | yacas_client In> x:=3+x Out> 6; In> 8:23pm Unix>yacas_client -stop In> quit Quitting... Server stopped. 8:23pm Unix> Persistence of the session means that &dhpackage; remembered the value of "x" between invocations of &dhpackage2;. If there is not enough time for Yacas to produce output within 2 seconds, the output will be displayed the next time you call &dhpackage2;. The "Yacas server" is started automatically when first used and can be stopped either by quitting &dhpackage; or by an explicit option &dhpackage2; -stop, in which case &dhpackage2; does not read standard input. The script &dhpackage2; reads standard input and writes to standard output, so it can be used via remote shell execution. For instance, if an account "user" on a remote computer "remote.host" is accessible through ssh, then &dhpackage2; can be used remotely like this: echo "x:=2;" | ssh user@remote.host yacas_client On a given host computer running the "Yacas server", each user currently may have only one persistent Yacas session. SEE ALSO /usr/share/yacas/documentation/books.html or http://www.xs4all.nl/~apinkus/manindex.html for more information. AUTHOR &dhpackage; was written by Ayal Pinkus (apinkus@xs4all.nl). &dhpackage; is available at http://www.xs4all.nl/~apinkus/yacas.html . This manual page was written by &dhusername; &dhemail; for the &debian; system (but may be used by others).
debian/yacas-doc.links0000644000000000000000000000012012065273136012071 0ustar usr/share/doc/yacas-doc/html/books.html usr/share/doc/yacas-doc/html/index.html debian/yacas-doc.docs0000644000000000000000000000003112065273136011702 0ustar AUTHORS README TODO NEWS debian/control0000644000000000000000000000261212142252673010576 0ustar Source: yacas Section: math Priority: extra Maintainer: Muammar El Khatib Standards-Version: 3.9.4 Build-Depends: libfltk1.1-dev,debhelper (>=5),docbook-to-man, libgsl0-dev, automake, autoconf, freeglut3-dev, libxmu-dev, libxt-dev, libxi-dev, chrpath, autotools-dev Homepage: http://yacas.sourceforge.net Package: yacas Architecture: any Depends: ${shlibs:Depends}, lynx | www-browser, yacas-doc, gnuplot, ${misc:Depends} Suggests: texmacs Description: Computer Algebra System Yacas is a small and highly flexible computer algebra language. . The syntax is very close to Mathematica. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. It supports arbitrary precision arithmetic. Package: yacas-doc Architecture: all Section: doc Depends: ${misc:Depends} Suggests: yacas (= ${binary:Version}) Description: Documentation for Yacas Yet Another Computer Algebra System is a small and highly flexible computer algebra language. . The syntax is very close to Mathematica. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. It supports arbitrary precision arithmetic. This package contains the html documentation for yacas. debian/watch0000644000000000000000000000031212065273136010220 0ustar # Compulsory line, this is a version 3 file version=3 # Uncomment to find new files on sourceforge, for debscripts >= 2.9 http://yacas.sourceforge.net/downloads.html \ backups/yacas-(.*)\.tar\.gz debian/copyright0000644000000000000000000000246412065273136011134 0ustar Debian packaging of yacas created by: John Lapeyre Fri, 31 Jul 1998 13:04:33 -0700 Upstream source: http://yacas.sourceforge.net Author: Ayal Pinkus Copyright: Copyright © 1999, Ayal Pinkus Serge Winitzki Jitse Niesen License: This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. This program is released under the GPL version 2, available as `/usr/share/common-licenses/GPL-2` on your Debian system. The Debian packaging is © 2010, Muammar El Khatib and is licensed under the GPL-2, see `/usr/share/common-licenses/GPL-2'. debian/changelog0000644000000000000000000003641712142253006011046 0ustar yacas (1.3.3-2) unstable; urgency=low * Bump Standards-Version to 3.9.4. No changes were needed. * Use of fortified libc functions in the make target. * Migration to unstable. -- Muammar El Khatib Tue, 07 May 2013 20:09:17 +0200 yacas (1.3.3-1) experimental; urgency=low * New upstream release. * When compiling the new version of yacas, it was found that the distclean target didn't get rid of all changes made when configuring the package. Thus, it was necessary to execute a dpkg-source --commit to recover those changes in this patch file. See file: 01_locchanges.patch -- Muammar El Khatib Sat, 22 Dec 2012 09:50:06 +0100 yacas (1.3.2-1) unstable; urgency=low * Bump Standards-Version to 3.9.3. No changes were needed. * New upstream release. * Dropped unneeded build dependency on quilt as well as calls to it in debian/rules file. -- Muammar El Khatib Sun, 20 May 2012 11:57:13 +0200 yacas (1.3.1-1) unstable; urgency=low * New upstream release. -- Muammar El Khatib Sun, 04 Dec 2011 02:15:58 +0100 yacas (1.2.2-6) unstable; urgency=low * Bump Standards-Version to 3.9.2. No changes were needed. * Maintainer's mail has been changed. * Switch to dpkg-source 3.0 (quilt) format. * Build with -fpermissive. LP: #832827. (Closes: #624980). Thanks to Matthias Klose for providing a patch. -- Muammar El Khatib Sun, 18 Sep 2011 11:30:02 +0200 yacas (1.2.2-5) unstable; urgency=low * Bump Standards-Version to 3.8.4 * debian/watch file has been fixed. * debian/patches: 02_changing_Makefile_in.dpatch has been added in order to make yacas compile against the latest GCC version. -- Muammar El Khatib Fri, 05 Feb 2010 08:49:55 -0430 yacas (1.2.2-4) unstable; urgency=low * Bump Standards-Version to 3.8.3 * The problem in the yacas's documentation due a missing javascript has been fixed. The needed *.js files are provided now. (Closes: #523304) * Yacas now depends on gnuplot so that the plot functions will give visual output. (Closes: #546805) * config.sub and config.guess files have been updated, so yacas does not FTBFS in GNU/kFreeBSD anymore. (Closes: #493734) * debian/control: autotools-dev has been added in the Build-Depends field. -- Muammar El Khatib Sun, 04 Oct 2009 17:36:16 -0430 yacas (1.2.2-3.1) unstable; urgency=low * Non-maintainer upload. * Fix gcc-4.3 FTBFS, patch by KiBi (Closes: #456066) -- Marc 'HE' Brockschmidt Sun, 16 Mar 2008 21:36:10 +0100 yacas (1.2.2-3) unstable; urgency=low * Bump Standards-Version to 3.7.3 * lynx was erased from Build-Depends field. * '/usr/share/doc/yacas/changelog.gz does not contain a changelog' bug has been fixed in this revision. (Closes: #456307) -- Muammar El Khatib Sat, 22 Dec 2007 20:29:21 -0430 yacas (1.2.2-2) unstable; urgency=low * 'yacas: postinst failure compiling emacs elisp files' bug has been fixed. (Closes: #453748) * 'yacas: fails to configure with emacsen installed' bug has been fixed. (Closes: #453744) * yacas no longer ships any .el files hence debian/emacsen-* files has been deleted. * debian/control: yacas is no longer suggesting emacs and yacas-proteus. * debian/copyright: the copyritght file has been improved in this revision. -- Muammar El Khatib Sun, 02 Dec 2007 01:24:01 -0400 yacas (1.2.2-1) unstable; urgency=low * New upstream release (Closes: #424878) * A symlink against books.html has been created. (Closes: #424889) * /usr/share/doc/yacas-doc/html/proteusbooks.html no longer remains after purging since yacas-proteus is not being provided anymore. (Closes: #358401) * A watch file was added in this revision. * yacas.menu file was changed to fit new policy about menu files. -- Muammar El Khatib Fri, 21 Sep 2007 11:26:59 -0400 yacas (1.0.57-3) unstable; urgency=low * New maintainer. (Closes: #405734) * Bump Standards-Version to 3.7.2. * The yacas' rpatch to /tmp/buildd/yacas-1.0.57/debian/yacas/usr/lib has been fixed using chrpath -d. (Closes: #399227) * The yacas' rpath to /tmp/yacas/usr/bin/yacas has been fixed using chrpath -d. Thanks to Michael Hanke for the patch. (Closes: #399226) * Commented lines in rules file were removed since they were useless. * Descriptions of the package were corrected because they didn't have the webpage of the upstream author. * The debhelper version was changed to >= 5. * Added Build-depends on chrpath and dpatch. * Added patch: 02_changing_Makefile_in.diff because in old uploads Makefile.in was changed by hand and lsdiff complained. * Acknowledge NMUs (Closes: #376634, #382783, #379261, #379895, #295413, #266283, #332298, #333589, #338164) * Thanks to Steffen Joeris. -- Muammar El Khatib Tue, 27 Feb 2007 13:57:58 -0400 yacas (1.0.57-2.4) unstable; urgency=low * NMU * debian/control: Build-depend on automake1.9. (Closes: #376634) -- Eric Dorland Sat, 2 Sep 2006 21:23:35 -0400 yacas (1.0.57-2.3) unstable; urgency=low * Non-maintainer upload. * Call ./configure with --with-script-dir=/usr/share/yacas and make install with an appropriate scriptdir and htmldir variable in debian/rules so yacas can find the necessary files. (Closes: #382783) -- Arjan Oosting Tue, 15 Aug 2006 00:41:05 +0200 yacas (1.0.57-2.2) unstable; urgency=medium * Non-Maintainer Upload, to fix two different Failure To Build From Source issues. Thanks to Arjan Oosting for the patches. * Added build dependency on libxi-dev. (Closes: #379261) * Modified debian/rules to call make install with datarootdir variable. (Closes: #379895) * Fixed YacasNotebook/yacas-notebook.el, so that it does not complain upon installing. Thanks to Braun Gabor for the patch. (Closes: #295413). * Updated DH_COMPAT and debhelper build-dependency to version 4. Removed yacas.conffiles and yacas-proteus.conffiles since they weren't needed anymore. -- Margarita Manterola Sun, 30 Jul 2006 15:50:41 -0300 yacas (1.0.57-2.1) unstable; urgency=low * NMU to fix the bugs listed below, as the maintainer appears to be MIA. * Rebuild for C++ and FLTK transitions. (Closes: #266283.) * src/errors.h: remove some gratuitous casts that led to build failures on 64-bit systems. * src/obmalloc.cpp: likewise, remove the totally bogus redefinition of off_t. (Together with the previous change, closes: #332298.) * Update config.sub and config.guess from autotools-dev 20050803.1. (Closes: #333589.) * Add build dependencies on libxmu-dev and libxt-dev. (Closes: #338164.) -- Aaron M. Ucko Wed, 9 Nov 2005 21:01:16 -0500 yacas (1.0.57-2) unstable; urgency=high * Make yacas depend on www-browser instead of lynx. Fix yacasinit.ys to reflect this. Thanks A Mennucc . Closes: #294977 * Setting urgency=high to get yacas to testing faster and close out grave bug: yacas will not start. See #276782 and #294993. I will hand-close these bugs after yacas makes it into testing * Updated README.Debian for instructions on www-browser * Removed dh_link for yacas proteus. Moved the soft-linking to the postinst of yacas proteus. This gets rid of a circular dependency issue when reinstalling yacas -- Gopal Narayanan Sun, 13 Feb 2005 20:42:40 -0500 yacas (1.0.57-1) unstable; urgency=low * The "Better late than never" release. Missed uploading 1.0.56, sorry. * New upstream release * Yacas runs now! Thanks Dmitry Rutsky . Closes: #276782 * Added opengl glut libraries to build-depends so that opengl yacas module can be built. Thanks to Daniel Schepler . Closes: #253773 * Patched src to make .yacas_history mode 600. Thanks wave++ . Closes: #202259 -- Gopal Narayanan Wed, 5 Jan 2005 16:50:42 -0500 yacas (1.0.56-1) unstable; urgency=low * New upstream release -- Gopal Narayanan Fri, 13 Feb 2004 00:25:40 -0500 yacas (1.0.55-6) unstable; urgency=low * Moved some rules statements from binary-indep target to install target so that autobuilders do not crash and burn. Fixes FTBFS bug. Thanks Matt Kraai for patch. Closes: #217971 -- Gopal Narayanan Tue, 28 Oct 2003 22:14:47 -0500 yacas (1.0.55-5) unstable; urgency=low * Fixed yacas.el failure in xemacs21. Thanks to Daniel Martin for bug report and patch. Closes: #213107 -- Gopal Narayanan Sun, 19 Oct 2003 23:36:31 -0400 yacas (1.0.55-4) unstable; urgency=low * Fixed yet another FTBFS problem in upstream source. Build-tested in non-x86 platform as well. Hopefully this should work. Closes: #191943 -- Gopal Narayanan Wed, 13 Aug 2003 00:48:16 -0400 yacas (1.0.55-3) unstable; urgency=low * Compile yacas against native number library, avoid libgmp. It appears that libgmp support is not adequately maintained upstream. Will switch back later if warranted. This will help yacas build without problems. Closes: #191943. -- Gopal Narayanan Tue, 12 Aug 2003 10:02:39 -0400 yacas (1.0.55-2) unstable; urgency=low * Moved yacas-doc to the doc section as prescribed in override section -- Gopal Narayanan Sat, 9 Aug 2003 23:27:55 -0400 yacas (1.0.55-1) unstable; urgency=low * New upstream release * Fixes RC FTBFS errors. Thanks Daniel Schepler . Closes: #191943 * Sorry to have waited this long to upload upstream available for many months. Closes: #158413 * Yacas now suggests texmacs. Thanks Ralf Treinen . Closes: #164617 * Upstream has fixed the FromBase problem. Try saying FromBase(16,"7d") to see the right base conversion. Closes: #130379 * Updated to latest standards version -- Gopal Narayanan Fri, 8 Aug 2003 13:46:43 -0400 yacas (1.0.54-1) unstable; urgency=low * New upstream release -- Gopal Narayanan Sun, 27 Apr 2003 21:35:06 -0400 yacas (1.0.51-1) unstable; urgency=medium * New upstream release -- Gopal Narayanan Tue, 23 Apr 2002 13:50:51 -0400 yacas (1.0.50-1) unstable; urgency=low * New upstream release * Separated documentation into a new package yacas-doc. yacas will depend on it * A few changes in debian/rules to make things easier -- Gopal Narayanan Wed, 13 Mar 2002 17:47:22 -0500 yacas (1.0.48-1) unstable; urgency=low * New upstream release * Upstream applies patch for build on hppa problem. Thanks Randolph Chung. Closes: #123139 * Install yacas-notebook info page with section as per policy -- Gopal Narayanan Thu, 24 Jan 2002 16:52:49 -0500 yacas (1.0.47-2) unstable; urgency=low * Compiled against newer libraries in testing. Does not depend anymore on 'old' libstdc++ anymore. Closes: #119757 -- Gopal Narayanan Mon, 19 Nov 2001 16:25:57 +0000 yacas (1.0.47-1) unstable; urgency=low * New upstream release * Added new yacas LaTeX support files to the installation -- Gopal Narayanan Sun, 20 May 2001 20:21:27 -0400 yacas (1.0.46-1) unstable; urgency=low * New upstream release * added manpage for proteusworksheet -- Gopal Narayanan Wed, 11 Apr 2001 20:13:31 -0400 yacas (1.0.45-1) unstable; urgency=low * New upstream release * yacas package now a multi-binary: Built new package yacas-proteus, an experimental fltk based GUI interface for yacas * Wrote sgml manpages for yacas and yacas_client. Build-depends on docbook-to-man added * Upgraded to Standards-Version 3.5.2.0 * New release fixes problem with negative numbers in Decimal(). Closes: #86150 -- Gopal Narayanan Mon, 12 Mar 2001 10:27:43 -0500 yacas (1.0.44-1) unstable; urgency=low * New upstream release * Rebuilt yacas with libgmp3. Closes: #81932 -- Gopal Narayanan Thu, 18 Jan 2001 17:20:13 -0500 yacas (1.0.43-1) unstable; urgency=low * New upstream release * Installed YacasNotebook subdirectory into /usr/share/doc/yacas/examples * Registered the new emacs mode yacas-notebook.el along with yacas.el to emacsen -- Gopal Narayanan Sun, 19 Nov 2000 15:45:30 -0500 yacas (1.0.42-1) unstable; urgency=low * New upstream release -- Gopal Narayanan Tue, 14 Nov 2000 13:19:48 -0500 yacas (1.0.41-3) unstable; urgency=low * Added debhelper to build dependency. Closes: #71911 * Signed with my GPG key which was recently added to the keyring -- Gopal Narayanan Mon, 18 Sep 2000 16:01:41 -0400 yacas (1.0.41-2) unstable; urgency=low * Added -I/usr/include/gmp2 for compilation. Fixes important bug build does not find gmp.h. Closes: #71450 * Added clean option for extra libraries in src/Makefile.in -- Gopal Narayanan Tue, 12 Sep 2000 10:42:29 -0400 yacas (1.0.41-1) unstable; urgency=low * New upstream release -- Gopal Narayanan Sat, 9 Sep 2000 21:26:02 -0400 yacas (1.0.40-1) unstable; urgency=low * New upstream version. Closes: #42992 * Added libgmp2-dev to build-depends * Converted rules files to debhelper format * Installed yacas.el as an emacsen package * Added emacsen as a suggested package * Removed empty README.debian * Really closing bug already fixed in previous version: depends on old version of stdc++ library. Closes: #53466 * New Maintainer upload. Closing NMU bug from before. Thanks Gregor Hoffleit. Closes: #56163 * Fixes configure script does not look for gmp when compiling. New upstream version does. Closes: #61586 * Left documentation directory in /usr/share/yacas. Put a link from /usr/share/yacas/documentation to /usr/share/doc/yacas/html. Closes: #70914 * Once installed, this should close the ITA bug on wnpp. Closes: #68211 * Registered documentation with doc-base -- Gopal Narayanan Thu, 7 Sep 2000 14:07:14 -0400 yacas (1.0.27-0.2) frozen unstable; urgency=low * New Maintainer -- Gopal Narayanan Thu, 31 Aug 2000 21:52:53 -0400 yacas (1.0.27-0.1) frozen unstable; urgency=low * NMU: the maintainer is taking a break of a few months, in the meantime, I'll try to care for this package. This version has been uploaded with the explicit okay of the maintainer for inclusion in potato. * New upstream version (fixes: #42992). yaglviewer has been dropped from the upstream distribution in favor of external viewers like superficie, therefore we can also remove the (depreciated) dependency on mesag3. * Recompiled with current libstdc++2.10 instead of libstdc++2.9-glibc2.1 (fixes: 53466) * FHS transition for the documentation. * Compiled with GMP support. -- Gregor Hoffleit Sat, 15 Jan 2000 18:54:35 +0100 yacas (1.0.2-1) unstable; urgency=low * Initial Release. -- John Lapeyre Thu, 8 Jul 1999 15:26:45 -0700 debian/compat0000644000000000000000000000000212065273136010371 0ustar 5 debian/TODO.Debian0000644000000000000000000000027012065273136011043 0ustar Get rid of the lintian warning regardint the fortified libc functions. http://wiki.debian.org/Hardening -- Muammar El Khatib Sun, 20 May 2012 11:57:13 +0200 debian/patches/0000755000000000000000000000000012065275644010630 5ustar debian/patches/01_locchanges.patch0000644000000000000000000062654212065274052014266 0ustar Description: Apply patches detected in Build time. When compiling the new version of yacas, it was found that the distclean target didn't get rid of all changes made when configuring the package. Thus, it was necessary to execute a dpkg-source --commit to recover those changes in this patch file. . Index: yacas-1.3.3/aclocal.m4 =================================================================== --- yacas-1.3.3.orig/aclocal.m4 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/aclocal.m4 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.11.3 -*- Autoconf -*- +# generated automatically by aclocal 1.11.6 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, @@ -14,8 +14,8 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.68],, -[m4_warning([this file was generated for autoconf 2.68. +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, +[m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) @@ -38,7 +38,7 @@ [am__api_version='1.11' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.11.3], [], +m4_if([$1], [1.11.6], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -54,7 +54,7 @@ # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.11.3])dnl +[AM_AUTOMAKE_VERSION([1.11.6])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) Index: yacas-1.3.3/configure =================================================================== --- yacas-1.3.3.orig/configure 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/configure 2012-12-22 10:03:26.000000000 +0100 @@ -1,13 +1,11 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for yacas 1.3.3. +# Generated by GNU Autoconf 2.69 for yacas 1.3.3. # # Report bugs to . # # -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation @@ -136,6 +134,31 @@ # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh @@ -169,7 +192,8 @@ else exitcode=1; echo positional parameters were not saved. fi -test x\$exitcode = x0 || exit 1" +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && @@ -214,21 +238,25 @@ if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 fi if test x$as_have_required = xno; then : @@ -331,6 +359,14 @@ } # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take @@ -452,6 +488,10 @@ chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). @@ -486,16 +526,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -507,28 +547,8 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -1206,8 +1226,6 @@ if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi @@ -1467,9 +1485,9 @@ if $ac_init_version; then cat <<\_ACEOF yacas configure 1.3.3 -generated by GNU Autoconf 2.68 +generated by GNU Autoconf 2.69 -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -1784,7 +1802,7 @@ test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext + test -x conftest$ac_exeext }; then : ac_retval=0 else @@ -1874,7 +1892,7 @@ running configure, to aid debugging if configure makes a mistake. It was created by yacas $as_me 1.3.3, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2295,7 +2313,7 @@ # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. @@ -2464,7 +2482,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2504,7 +2522,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2555,7 +2573,7 @@ test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do - { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue + as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ @@ -2608,7 +2626,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2758,7 +2776,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2798,7 +2816,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2851,7 +2869,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2892,7 +2910,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue @@ -2950,7 +2968,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -2994,7 +3012,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3440,8 +3458,7 @@ /* end confdefs.h. */ #include #include -#include -#include +struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); @@ -3882,7 +3899,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -3926,7 +3943,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4256,7 +4273,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_have_perl="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4294,7 +4311,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_have_latex="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4332,7 +4349,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_have_makeindex="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4370,7 +4387,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_have_pdflatex="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4408,7 +4425,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_have_dvips="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4446,7 +4463,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_have_gzip="yes" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4485,7 +4502,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="${ac_tool_prefix}ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4525,7 +4542,7 @@ IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="ar" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 @@ -4592,7 +4609,7 @@ for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in @@ -4658,7 +4675,7 @@ for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in @@ -4901,11 +4918,11 @@ int main () { -/* FIXME: Include the comments suggested by Paul. */ + #ifndef __cplusplus - /* Ultrix mips cc rejects this. */ + /* Ultrix mips cc rejects this sort of thing. */ typedef int charset[2]; - const charset cs; + const charset cs = { 0, 0 }; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; @@ -4922,8 +4939,9 @@ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; - { /* SCO 3.2v4 cc rejects this. */ - char *t; + { /* SCO 3.2v4 cc rejects this sort of thing. */ + char tx; + char *t = &tx; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; @@ -4939,10 +4957,10 @@ iptr p = 0; ++p; } - { /* AIX XL C 1.02.0.0 rejects this saying + { /* AIX XL C 1.02.0.0 rejects this sort of thing, saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ - struct s { int j; const int *ap[3]; }; - struct s *b; b->j = 5; + struct s { int j; const int *ap[3]; } bx; + struct s *b = &bx; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; @@ -5921,16 +5939,16 @@ # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. + # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' + as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi else - as_ln_s='cp -p' + as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null @@ -5990,28 +6008,16 @@ as_mkdir_p=false fi -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" @@ -6033,7 +6039,7 @@ # values after options handling. ac_log=" This file was extended by yacas $as_me 1.3.3, which was -generated by GNU Autoconf 2.68. Invocation command line was +generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -6100,10 +6106,10 @@ ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ yacas config.status 1.3.3 -configured by $0, generated by GNU Autoconf 2.68, +configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" -Copyright (C) 2010 Free Software Foundation, Inc. +Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." @@ -6194,7 +6200,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then - set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' Index: yacas-1.3.3/Makefile.in =================================================================== --- yacas-1.3.3.orig/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -16,6 +16,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -89,6 +106,11 @@ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ @@ -311,8 +333,11 @@ -rm -f config.h stamp-h1 install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ @@ -511,13 +536,10 @@ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ - test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ @@ -603,7 +625,7 @@ *.zip*) \ unzip $(distdir).zip ;;\ esac - chmod -R a-w $(distdir); chmod a+w $(distdir) + chmod -R a-w $(distdir); chmod u+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) Index: yacas-1.3.3/JavaYacas/Makefile.in =================================================================== --- yacas-1.3.3.orig/JavaYacas/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/JavaYacas/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -15,6 +15,23 @@ @SET_MAKE@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -46,6 +63,11 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ Index: yacas-1.3.3/scripts/Makefile.in =================================================================== --- yacas-1.3.3.orig/scripts/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/scripts/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -18,6 +18,23 @@ # The script files are listed in two separate variables, SCRIPTFILES1 and SCRIPTFILES2 # because of Sun computers VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -49,6 +66,11 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ Index: yacas-1.3.3/manmake/config.chapt =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yacas-1.3.3/manmake/config.chapt 2012-12-22 10:03:26.000000000 +0100 @@ -0,0 +1,238 @@ + Chapter()"Running Yacas off-line"; + + Section()"Interactive session commands"; + +ChapterIntro()" +This section describes the special commands for the Yacas interactive sessions (for example, to restart or to exit the interpreter). +These commands are not functions but special directives that only apply while running Yacas interactively. +They should not be used in scripts. +";Text()"":HtmlNewParagraph(): + +""; +CmdDescriptionSingle("quit", "stop Yacas from running, from the command line"); + +CmdDescriptionSingle("restart", "restart Yacas (to start with a clean slate)"); +BuiltIn(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +quit +restart +");Text()"":HtmlNewParagraph(): + +"";Topical() "Description:"; +Text()"Type ":HtmlTerm("quit"):" or ":HtmlTerm("restart"):" at the Yacas prompt to exit or to restart the interpreter. +";Text()"":HtmlNewParagraph(): + +"The directives ":HtmlTerm("quit"):" and ":HtmlTerm("restart"):" are ":HtmlEmphasis("not"):" reserved words or variable names. +They take effect only when typed as first characters at a prompt. +";Text()"":HtmlNewParagraph(): + +"Pressing ":HtmlTerm("Ctrl-C"):" will stop the currently running calculation. +If there is no currently running calculation, ":HtmlTerm("Ctrl-C"):" will quit the interpreter. +";Text()"":HtmlNewParagraph(): + +"When the interpreter quits, it saves the command history +(so quitting by ":HtmlTerm("Ctrl-C"):" does not mean a \"crash\"). +";Text()"":HtmlNewParagraph(): + +"";Topical() "Examples:"; +Text()"To be effective, the directive must be typed immediately after the prompt: +":HtmlCommand(" +In> quit +Quitting... +"):"We can use variables named ":HtmlTerm("quit"):": +":HtmlCommand(" +In> 1+quit +Out> quit+1; +"):"There is no effect if we type some spaces first: +":HtmlCommand(" +In> restart +Out> restart; +");Text()"":HtmlNewParagraph(): + +"";Topical()"See also:"; +SeeAlso({"Exit"}); + Section()"Command-line options"; + +AddBody(AddAnchor("options")); +IncludeFile("cl-options.chapt"); + + Chapter()"Startup configuration"; + +ChapterIntro()" +Yacas allows you to configure a few things at startup. The file +":HtmlTerm("~/.yacasrc"):" is written in the Yacas language and +will be executed when Yacas is run. The +following functions can be useful in the ":HtmlTerm("~/.yacasrc"):" file. +";Text()"":HtmlNewParagraph(): + +""; +CmdDescriptionSingle("DefaultDirectory", "add directory to path for Yacas scripts"); +BuiltIn(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +DefaultDirectory(path) +");Text()"":HtmlNewParagraph(): + +"";Topical() "Parameters:"; +Text()"":HtmlTerm("path"):" -- a string containing a full path where yacas script files reside +";Text()"":HtmlNewParagraph(): + +"";Topical() "Description:"; +Text()"When loading files, yacas is also allowed to +look in the folder \"path\". ":HtmlTerm("path"):" will be prepended +to the file name before trying to load the file. +This means that \"path\" should end with a forward slash (under Unix-like +operating systems). +";Text()"":HtmlNewParagraph(): + +"Yacas first tries to load a file from the current +directory, and otherwise it tries to load from +directories defined with this function, in the +order they are defined. Note there will be at least one directory +specified at start-up time, defined during compilation. This +is the directory Yacas searches for the initialization scripts +and standard scripts. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Examples:"; +Text()"":HtmlCommand(" +In> DefaultDirectory(\"/home/user/myscripts/\"); +Out> True; +");Text()"":HtmlNewParagraph(): + +"";Topical()"See also:"; +SeeAlso({"Load", "Use", "DefLoad", "FindFile"}); + +CmdDescriptionSingle("PrettyPrinter'Set", "set routine to use as pretty-printer"); + +CmdDescriptionSingle("PrettyPrinter'Get", "get routine to use as pretty-printer"); +StandardLib(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +PrettyPrinter'Set(printer) +PrettyPrinter'Set() +PrettyPrinter'Get() +");Text()"":HtmlNewParagraph(): + +"";Topical() "Parameters:"; +Text()"":HtmlTerm("printer"):" -- a string containing the name of a function that can \"pretty-print\" an expression. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Description:"; +Text()"This function sets up the function printer to print out the results on +the command line. This can be reset to the internal printer with ":HtmlTerm("PrettyPrinter'Set()"):" (when no argument is given, the system returns to the default). +";Text()"":HtmlNewParagraph(): + +"Currently implemented prettyprinters are: ":HtmlTerm("PrettyForm"):", ":HtmlTerm("TeXForm"):", ":HtmlTerm("Print"):", ":HtmlTerm("OMForm"):", ":HtmlTerm("CForm"):" and ":HtmlTerm("DefaultPrint"):". +";Text()"":HtmlNewParagraph(): + +"":HtmlTerm("PrettyPrinter'Get()"):" returns the current pretty printer, or it returns +an empty string if the default pretty printer is used. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Examples:"; +Text()"":HtmlCommand(" +In> Taylor(x,0,5)Sin(x) +Out> x-x^3/6+x^5/120; +In> PrettyPrinter'Set(\"PrettyForm\"); + +True + +In> Taylor(x,0,5)Sin(x) + + 3 5 + x x +x - -- + --- + 6 120 + +In> PrettyPrinter'Set(); +Out> True; +In> Taylor(x,0,5)Sin(x) +Out> x-x^3/6+x^5/120; +");Text()"":HtmlNewParagraph(): + +"";Topical()"See also:"; +SeeAlso({"PrettyForm", "Write", "TeXForm", "CForm", "OMForm", "PrettyReader'Set", "PrettyReader'Get"}); + +CmdDescriptionSingle("PrettyReader'Set", "set routine to use as pretty-reader"); + +CmdDescriptionSingle("PrettyReader'Get", "get routine that is currently used as pretty-reader"); +StandardLib(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +PrettyReader'Set(reader) +PrettyReader'Set() +PrettyReader'Get() +");Text()"":HtmlNewParagraph(): + +"";Topical() "Parameters:"; +Text()"":HtmlTerm("reader"):" -- a string containing the name of a function that can read an expression from current input. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Description:"; +Text()"This function sets up the function reader to read in the input on +the command line. This can be reset to the internal reader with ":HtmlTerm("PrettyReader'Set()"):" (when no argument is given, the system returns to the default). +";Text()"":HtmlNewParagraph(): + +"Currently implemented PrettyReaders are: ":HtmlTerm("LispRead"):", ":HtmlTerm("OMRead"):". +";Text()"":HtmlNewParagraph(): + +"":HtmlTerm("PrettyReader'Get()"):" returns the current reader, or it returns +an empty string if the default pretty printer is used. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Examples:"; +Text()"":HtmlCommand(" +In> Taylor(x,0,5)Sin(x) +Out> x-x^3/6+x^5/120 +In> PrettyReader'Set(\"LispRead\") +Out> True +In> (Taylor x 0 5 (Sin x)) +Out> x-x^3/6+x^5/120 +");Text()"":HtmlNewParagraph(): + +"";Topical()"See also:"; +SeeAlso({"Read", "LispRead", "OMRead", "PrettyPrinter'Set", "PrettyPrinter'Get"}); + +CmdDescriptionSingle("MaxEvalDepth", "set depth of recursion stack"); +BuiltIn(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +MaxEvalDepth(n) +");Topical() "Parameters:"; +Text()"":HtmlTerm("n"):" -- integer +";Topical() "Description:"; +Text()"Sets the maximum depth of recursive function call. An error message is printed when too many recursive calls are executed, and this function can be used to increase or decrease the limit as necessary. +";Text()"":HtmlNewParagraph(): + +""; +CmdDescriptionSingle("HistorySize", "set size of history file"); +BuiltIn(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +HistorySize(n) +");Text()"":HtmlNewParagraph(): + +"";Topical() "Parameters:"; +Text()"":HtmlTerm("n"):" -- number of lines to store in history file +";Text()"":HtmlNewParagraph(): + +"";Topical() "Description:"; +Text()"When exiting, yacas saves the command line history to a +file ":HtmlTerm("~/.yacas_history"):". By default it will +save the last 1024 lines. The default can be +overridden with this function. Passing -1 tells the system to save ":HtmlEmphasis("all"):" +lines. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Examples:"; +Text()"":HtmlCommand(" +In> HistorySize(200) +Out> True; +In> quit +");Text()"":HtmlNewParagraph(): + +"";Topical()"See also:"; +SeeAlso({"quit"}); + Index: yacas-1.3.3/manmake/hints.singlesorted =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yacas-1.3.3/manmake/hints.singlesorted 2012-12-22 10:03:26.000000000 +0100 @@ -0,0 +1,575 @@ +:Abs:Abs(x):absolute value or modulus of complex number: +:Add:Add({list}):: +:Add:Add(val1, val2, ...):find sum of a list of values: +:Append:Append(list, expr):append an entry at the end of a list: +:Apply:Apply(fn, arglist):apply a function to arguments: +:ArcCos:ArcCos(x):inverse trigonometric function arc-cosine: +:ArcSin:ArcSin(x):inverse trigonometric function arc-sine: +:ArcTan:ArcTan(x):inverse trigonometric function arc-tangent: +:Arg:Arg(x):argument of a complex number: +:Array'Create:Array'Create(size,init):create array: +:Array'CreateFromList:Array'CreateFromList(list):convert list to array: +:Array'Get:Array'Get(array,index):fetch array element: +:Array'Set:Array'Set(array,index,element):set array element: +:Array'Size:Array'Size(array):get array size: +:Array'ToList:Array'ToList(array):convert array to list: +:Assert:Assert() pred:: +:Assert:Assert("str", expr) pred:signal "soft" custom error: +:Assert:Assert("str") pred:: +:Assoc:Assoc(key, alist):return element stored in association list: +:AssocDelete:AssocDelete(alist, "key"):delete an entry in an association list: +:AssocDelete:AssocDelete(alist, {key, value}):: +:AssocIndices:AssocIndices(alist):return the keys in an association list: +:Atom:Atom("string"):convert string to atom: +:BaseVector:BaseVector(k, n):base vector: +:Bernoulli:Bernoulli(index):Bernoulli numbers and polynomials: +:Bernoulli:Bernoulli(index, x):: +:BernoulliDistribution:BernoulliDistribution(p):Bernoulli distribution: +:BigOh:BigOh(poly, var, degree):drop all terms of a certain order in a polynomial: +:Bin:Bin(n, m):binomial coefficients: +:BinomialDistribution:BinomialDistribution(p,n):binomial distribution: +:BinSplitData:BinSplitData(n1,n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitFinal:BinSplitFinal({P,Q,B,T}):computations of series by the binary splitting method: +:BinSplitNum:BinSplitNum(n1, n2, a, b, c, d):computations of series by the binary splitting method: +:BitAnd:BitAnd(n,m):bitwise and operation: +:BitOr:BitOr(n,m):bitwise or operation: +:BitXor:BitXor(n,m):bitwise xor operation: +:Bodied:Bodied("op", precedence):define function syntax (bodied function): +:BracketRational:BracketRational(x, eps):find optimal rational approximations: +:BubbleSort:BubbleSort(list, compare):sort a list: +:Builtin'Precision'Get:Builtin'Precision'Get():get the current precision: +:Builtin'Precision'Set:Builtin'Precision'Set(n):set the precision: +:CachedConstant:CachedConstant(cache, Cname, Cfunc):precompute multiple-precision constants: +:CanProve:CanProve(proposition):try to prove statement: +:Catalan:Catalan:Catalan's Constant: +:CatalanNumber:CatalanNumber(n):return the {n}th Catalan Number: +:Ceil:Ceil(x):round a number upwards: +:CForm:CForm(expr):export expression to C++ code: +:CharacteristicEquation:CharacteristicEquation(matrix,var):get characteristic polynomial of a matrix: +:Check:Check(predicate,"error text"):report "hard" errors: +:ChiSquareTest:ChiSquareTest(observed,expected,params):: +:ChiSquareTest:ChiSquareTest(observed,expected):Pearson's ChiSquare test: +:Cholesky:Cholesky(A):find the Cholesky Decomposition: +:Clear:Clear(var, ...):undo an assignment: +:ClearError:ClearError("str"):custom errors handlers: +:ClearErrors:ClearErrors():simple error handlers: +:Coef:Coef(expr, var, order):coefficient of a polynomial: +:CoFactor:CoFactor(M,i,j):cofactor of a matrix: +:Complex:Complex(r, c):construct a complex number: +:Concat:Concat(list1, list2, ...):concatenate lists: +:ConcatStrings:ConcatStrings(strings):concatenate strings: +:Conjugate:Conjugate(x):complex conjugate: +:Contains:Contains(list, expr):test whether a list contains a certain element: +:Content:Content(expr):content of a univariate polynomial: +:ContFrac:ContFrac(x):continued fraction expansion: +:ContFrac:ContFrac(x, depth):: +:ContFracEval:ContFracEval(list):manipulate continued fractions: +:ContFracEval:ContFracEval(list, rest):: +:ContFracList:ContFracList(frac, depth):: +:ContFracList:ContFracList(frac):manipulate continued fractions: +:Cos:Cos(x):trigonometric cosine function: +:Count:Count(list, expr):count the number of occurrences of an expression: +:CrossProduct:CrossProduct(a,b):outer product of vectors: +:Curl:Curl(vector, basis):curl of a vector field: +:CurrentFile:CurrentFile():return current input file: +:CurrentLine:CurrentLine():return current line number on input: +:Cyclotomic:Cyclotomic(n,x):construct the cyclotomic polynomial: +:D:D(list) expression:: +:D:D(variable) expression:take derivative of expression with respect to variable: +:D:D(variable,n) expression:: +:Decimal:Decimal(frac):decimal representation of a rational: +:DefaultTokenizer:DefaultTokenizer():select the default syntax tokenizer for parsing the input: +:DefLoad:DefLoad(name):load a {.def} file: +:DefMacroRuleBase:DefMacroRuleBase(name,params):define a function as a macro: +:DefMacroRuleBaseListed:DefMacroRuleBaseListed("name", params):define macro with variable number of arguments: +:Degree:Degree(expr):degree of a polynomial: +:Degree:Degree(expr, var):: +:Delete:Delete(list, n):delete an element from a list: +:Denom:Denom(expr):denominator of an expression: +:DestructiveAppend:DestructiveAppend(list, expr):destructively append an entry to a list: +:DestructiveDelete:DestructiveDelete(list, n):delete an element destructively from a list: +:DestructiveInsert:DestructiveInsert(list, n, expr):insert an element destructively into a list: +:DestructiveReplace:DestructiveReplace(list, n, expr):replace an entry destructively in a list: +:DestructiveReverse:DestructiveReverse(list):reverse a list destructively: +:Determinant:Determinant(M):determinant of a matrix: +:Diagonal:Diagonal(A):extract the diagonal from a matrix: +:DiagonalMatrix:DiagonalMatrix(d):construct a diagonal matrix: +:Difference:Difference(l1, l2):return the difference of two lists: +:Div:Div(x,y):Determine divisor of two mathematical objects: +:Diverge:Diverge(vector, basis):divergence of a vector field: +:Divisors:Divisors(n):number of divisors: +:DivisorsList:DivisorsList(n):the list of divisors: +:DivisorsSum:DivisorsSum(n):the sum of divisors: +:Dot:Dot(t1,t2):get dot product of tensors: +:Drop:Drop(list, {m,n}):: +:Drop:Drop(list, -n):: +:Drop:Drop(list, n):drop a range of elements from a list: +:DumpErrors:DumpErrors():simple error handlers: +:Echo:Echo(item):high-level printing routine: +:Echo:Echo(item,item,item,...):: +:Echo:Echo(list):: +:EigenValues:EigenValues(matrix):get eigenvalues of a matrix: +:EigenVectors:EigenVectors(A,eigenvalues):get eigenvectors of a matrix: +:Eliminate:Eliminate(var, value, expr):substitute and simplify: +:EndOfFile:EndOfFile:end-of-file marker: +:Equals:Equals(a,b):check equality: +:Euler:Euler(index):Euler numbers and polynomials: +:Euler:Euler(index,x):: +:Eulerian:Eulerian(n,m):Eulerian numbers: +:Eval:Eval(expr):force evaluation of expression: +:EvalFormula:EvalFormula(expr):print an evaluation nicely with ASCII art: +:EvaluateHornerScheme:EvaluateHornerScheme(coeffs,x):fast evaluation of polynomials: +:ExpandBrackets:ExpandBrackets(expr):expand all brackets: +:Expand:Expand(expr):transform a polynomial to an expanded form: +:Expand:Expand(expr, var):: +:Expand:Expand(expr, varlist):: +:Exp:Exp(x):exponential function: +:ExtraInfo'Get:ExtraInfo'Get(expr):annotate objects with additional information: +:ExtraInfo'Set:ExtraInfo'Set(expr,tag):annotate objects with additional information: +:Factor:Factor(x):factorization, in pretty form: +:FactorialSimplify:FactorialSimplify(expression):Simplify hypergeometric expressions containing factorials: +:Factorize:Factorize(list):product of a list of values: +:Factorize:Factorize(var, from, to, body):: +:Factors:Factors(x):factorization: +:False:False:boolean constant representing false: +:FermatNumber:FermatNumber(n):return the {n}th Fermat Number: +:FillList:FillList(expr, n):fill a list with a certain expression: +:FindFile:FindFile(name):find a file in the current path: +:Find:Find(list, expr):get the index at which a certain element occurs: +:FindFunction:FindFunction(function):find the library file where a function is defined: +:FindRealRoots:FindRealRoots(p):find the real roots of a polynomial: +:FlatCopy:FlatCopy(list):copy the top level of a list: +:Flatten:Flatten(expression,operator):flatten expression w.r.t. some operator: +:Floor:Floor(x):round a number downwards: +:ForEach:ForEach(var, list) body:loop over all entries in list: +:For:For(init, pred, incr) body:C-style {for} loop: +:FromBase:FromBase(base,"string"):conversion of a number from non-decimal base to decimal base: +:FromFile:FromFile(name) body:connect current input to a file: +:FromString:FromString(str) body;:connect current input to a string: +:FullForm:FullForm(expr):print an expression in LISP-format: +:FuncListArith:FuncListArith(expr):list of functions used in an expression: +:FuncList:FuncList(expr):list of functions used in an expression: +:FuncListSome:FuncListSome(expr, list):list of functions used in an expression: +:Function:Function() func(arglist, ...):: +:Function:Function() func(arglist):declare or define a function: +:Function:Function("op", {arglist, ...}) body:: +:Function:Function("op", {arglist}) body:: +:Gamma:Gamma(x):Euler's Gamma function: +:GarbageCollect:GarbageCollect():do garbage collection on unused memory: +:GaussianFactors:GaussianFactors(z):factorization in Gaussian integers: +:GaussianGcd:GaussianGcd(z,w):greatest common divisor in Gaussian integers: +:GaussianNorm:GaussianNorm(z):norm of a Gaussian integer: +:Gcd:Gcd(list):: +:Gcd:Gcd(n,m):greatest common divisor: +:GenericTypeName:GenericTypeName(object):get type name: +:GetCoreError:GetCoreError():get "hard" error string: +:GetError:GetError("str"):custom errors handlers: +:GetErrorTableau:GetErrorTableau():custom errors handlers: +:GetTime:GetTime(expr):measure the time taken by an evaluation: +:GlobalPop:GlobalPop():: +:GlobalPop:GlobalPop(var):restore variables using a global stack: +:GlobalPush:GlobalPush(expr):save variables using a global stack: +:GoldenRatio:GoldenRatio:the Golden Ratio: +:GreaterThan:GreaterThan(a,b):comparison predicate: +:GuessRational:GuessRational(x, digits):: +:GuessRational:GuessRational(x):find optimal rational approximations: +:HarmonicNumber:HarmonicNumber(n,r):: +:HarmonicNumber:HarmonicNumber(n):return the {n}th Harmonic Number: +:HasExprArith:HasExprArith(expr, x):check for expression containing a subexpression: +:HasExpr:HasExpr(expr, x):check for expression containing a subexpression: +:HasExprSome:HasExprSome(expr, x, list):check for expression containing a subexpression: +:HasFuncArith:HasFuncArith(expr, func):check for expression containing a function: +:HasFunc:HasFunc(expr, func):check for expression containing a function: +:HasFuncSome:HasFuncSome(expr, func, list):check for expression containing a function: +:Head:Head(list):the first element of a list: +:HeapSort:HeapSort(list, compare):sort a list: +:HessianMatrix:HessianMatrix(function,var):create the Hessian matrix: +:HilbertInverseMatrix:HilbertInverseMatrix(n):create a Hilbert inverse matrix: +:HilbertMatrix:HilbertMatrix(n):create a Hilbert matrix: +:HilbertMatrix:HilbertMatrix(n,m):: +:HoldArg:HoldArg("operator",parameter):mark argument as not evaluated: +:HoldArgNr:HoldArgNr("function", arity, argNum):specify argument as not evaluated: +:Hold:Hold(expr):keep expression unevaluated: +:Horner:Horner(expr, var):convert a polynomial into the Horner form: +:Identity:Identity(n):make identity matrix: +:If:If(pred, then):branch point: +:If:If(pred, then, else):: +:I:I:imaginary unit: +:Im:Im(x):imaginary part of a complex number: +:Infinity:Infinity:constant representing mathematical infinity: +:Infix:Infix("op"):define function syntax (infix operator): +:Infix:Infix("op", precedence):: +:InNumericMode:InNumericMode():determine if currently in numeric mode: +:InProduct:InProduct(a,b):inner product of vectors (deprecated): +:Insert:Insert(list, n, expr):insert an element into a list: +:Integrate:Integrate(var) expr:: +:Integrate:Integrate(var, x1, x2) expr:integration: +:Intersection:Intersection(l1, l2):return the intersection of two lists: +:IntLog:IntLog(n, base):integer part of logarithm: +:IntNthRoot:IntNthRoot(x, n):integer part of $n$-th root: +:IntPowerNum:IntPowerNum(x, n, mult, unity):optimized computation of integer powers: +:InVerboseMode:InVerboseMode():set verbose output mode: +:Inverse:Inverse(M):get inverse of a matrix: +:InverseTaylor:InverseTaylor(var, at, order) expr:Taylor expansion of inverse: +:IsAmicablePair:IsAmicablePair(m,n):test for a pair of amicable numbers: +:IsAtom:IsAtom(expr):test for an atom: +:IsBodied:IsBodied("op"):check for function syntax: +:IsBoolean:IsBoolean(expression):test for a Boolean value: +:IsBound:IsBound(var):test for a bound variable: +:IsCarmichaelNumber:IsCarmichaelNumber(n):test for a Carmichael number: +:IsCFormable:IsCFormable(expr):check possibility to export expression to C++ code: +:IsCFormable:IsCFormable(expr, funclist):: +:IsComposite:IsComposite(n):test for a composite number: +:IsConstant:IsConstant(expr):test for a constant: +:IsCoprime:IsCoprime(list):: +:IsCoprime:IsCoprime(m,n):test if integers are coprime : +:IsDiagonal:IsDiagonal(A):test for a diagonal matrix: +:IsError:IsError():check for custom error: +:IsError:IsError("str"):: +:IsEvenFunction:IsEvenFunction(expression,variable):Return true if function is an even function, False otherwise: +:IsEven:IsEven(n):test for an even integer: +:IsFreeOf:IsFreeOf({var, ...}, expr):: +:IsFreeOf:IsFreeOf(var, expr):test whether expression depends on variable: +:IsFunction:IsFunction(expr):test for a composite object: +:IsGaussianInteger:IsGaussianInteger(z):test for a Gaussian integer: +:IsGaussianPrime:IsGaussianPrime(z):test for a Gaussian prime: +:IsGaussianUnit:IsGaussianUnit(z):test for a Gaussian unit: +:IsGeneric:IsGeneric(object):check for generic object: +:IsHermitian:IsHermitian(A):test for a Hermitian matrix: +:IsIdempotent:IsIdempotent(A):test for an idempotent matrix: +:IsInfinity:IsInfinity(expr):test for an infinity: +:IsInfix:IsInfix("op"):check for function syntax: +:IsIrregularPrime:IsIrregularPrime(n):test for an irregular prime: +:IsList:IsList(expr):test for a list: +:IsLowerTriangular:IsLowerTriangular(A):test for a lower triangular matrix: +:IsMatrix:IsMatrix(expr):test for a matrix: +:IsMatrix:IsMatrix(pred,expr):: +:IsNegativeInteger:IsNegativeInteger(n):test for a negative integer: +:IsNegativeNumber:IsNegativeNumber(n):test for a negative number: +:IsNegativeReal:IsNegativeReal(expr):test for a numerically negative value: +:IsNonObject:IsNonObject(expr):test whether argument is not an {Object()}: +:IsNonZeroInteger:IsNonZeroInteger(n):test for a nonzero integer: +:IsNotZero:IsNotZero(n):test for a nonzero number: +:IsNumber:IsNumber(expr):test for a number: +:IsNumericList:IsNumericList({list}):test for a list of numbers: +:IsOddFunction:IsOddFunction(expression,variable):Return true if function is an odd function, False otherwise: +:IsOdd:IsOdd(n):test for an odd integer: +:IsOrthogonal:IsOrthogonal(A):test for an orthogonal matrix: +:IsPositiveInteger:IsPositiveInteger(n):test for a positive integer: +:IsPositiveNumber:IsPositiveNumber(n):test for a positive number: +:IsPositiveReal:IsPositiveReal(expr):test for a numerically positive value: +:IsPostfix:IsPostfix("op"):check for function syntax: +:IsPrefix:IsPrefix("op"):check for function syntax: +:IsPrime:IsPrime(n):test for a prime number: +:IsPrimePower:IsPrimePower(n):test for a power of a prime number: +:IsPromptShown:IsPromptShown():test for the Yacas prompt option: +:IsQuadraticResidue:IsQuadraticResidue(m,n):functions related to finite groups: +:IsRational:IsRational(expr):test whether argument is a rational: +:IsScalar:IsScalar(expr):test for a scalar: +:IsSkewSymmetric:IsSkewSymmetric(A):test for a skew-symmetric matrix: +:IsSmallPrime:IsSmallPrime(n):test for a (small) prime number: +:IsSquareFree:IsSquareFree(n):test for a square-free number: +:IsSquareMatrix:IsSquareMatrix(expr):test for a square matrix: +:IsSquareMatrix:IsSquareMatrix(pred,expr):: +:IsString:IsString(expr):test for an string: +:IsSymmetric:IsSymmetric(A):test for a symmetric matrix: +:IsTwinPrime:IsTwinPrime(n):test for a twin prime: +:IsUnitary:IsUnitary(A):test for a unitary matrix: +:IsUpperTriangular:IsUpperTriangular(A):test for an upper triangular matrix: +:IsVector:IsVector(expr):test for a vector: +:IsVector:IsVector(pred,expr):: +:IsZero:IsZero(n):test whether argument is zero: +:IsZeroVector:IsZeroVector(list):test whether list contains only zeroes: +:JacobianMatrix:JacobianMatrix(functions,variables):calculate the Jacobian matrix of $n$ functions in $n$ variables: +:JacobiSymbol:JacobiSymbol(m,n):functions related to finite groups: +:KnownFailure:KnownFailure(test):Mark a test as a known failure: +:LagrangeInterpolant:LagrangeInterpolant(xlist, ylist, var):polynomial interpolation: +:LambertW:LambertW(x):Lambert's $W$ function: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:Lcm:Lcm(list):: +:Lcm:Lcm(n,m):least common multiple: +:LeadingCoef:LeadingCoef(poly):leading coefficient of a polynomial: +:LeadingCoef:LeadingCoef(poly, var):: +:LeftPrecedence:LeftPrecedence("op",precedence):set operator precedence: +:LegendreSymbol:LegendreSymbol(m,n):functions related to finite groups: +:Length:Length(object):the length of a list or string: +:LessThan:LessThan(a,b):comparison predicate: +:LeviCivita:LeviCivita(list):totally anti-symmetric Levi-Civita symbol: +:Limit:Limit(var, val, dir) expr:: +:Limit:Limit(var, val) expr:limit of an expression: +:LispRead:LispRead():read expressions in LISP syntax: +:LispReadListed:LispReadListed():read expressions in LISP syntax: +:Listify:Listify(expr):convert a function application to a list: +:List:List(expr1, expr2, ...):construct a list: +:LnCombine:LnCombine(expr):combine logarithmic expressions using standard logarithm rules: +:LnExpand:LnExpand(expr):expand a logarithmic expression using standard logarithm rules: +:Ln:Ln(x):natural logarithm: +:Load:Load(name):evaluate all expressions in a file: +:Local:Local(var, ...):declare new local variables: +:LocalSymbols:LocalSymbols(var1, var2, ...) body:create unique local symbols with given prefix: +:LogicTest:LogicTest(variables,expr1,expr2):verifying equivalence of two expressions: +:LogicVerify:LogicVerify(question,answer):verifying equivalence of two expressions: +:Macro:Macro() func(arglist, ...):: +:Macro:Macro() func(arglist):declare or define a macro: +:Macro:Macro("op", {arglist, ...}) body:: +:Macro:Macro("op", {arglist}) body:: +:MakeVector:MakeVector(var,n):vector of uniquely numbered variable names: +:MapArgs:MapArgs(expr, fn):apply a function to all top-level arguments: +:Map:Map(fn, list):apply an $n$-ary function to all entries in a list: +:MapSingle:MapSingle(fn, list):apply a unary function to all entries in a list: +:MatchLinear:MatchLinear(x,expr):match an expression to a polynomial of degree one in a variable: +:MathAbs:MathAbs(x) (absolute value of x, or |x| ):: +:MathAdd:MathAdd(x,y) (add two numbers):: +:MathAnd:MathAnd(...):built-in logical "and": +:MathArcCosh:MathArcCosh(x) (inverse hyperbolic cosine):: +:MathArcCos:MathArcCos(x) (inverse cosine):: +:MathArcSinh:MathArcSinh(x) (inverse hyperbolic sine):: +:MathArcSin:MathArcSin(x) (inverse sine):: +:MathArcTanh:MathArcTanh(x) (inverse hyperbolic tangent):: +:MathArcTan:MathArcTan(x) (inverse tangent):: +:MathCeil:MathCeil(x) (smallest integer not smaller than x):: +:MathCosh:MathCosh(x) (hyperbolic cosine):: +:MathCos:MathCos(x) (cosine):: +:MathDivide:MathDivide(x,y) (divide two numbers):: +:MathDiv:MathDiv(x,y) (integer division, result is an integer):: +:MathExp:MathExp(x) (exponential, base 2.718...):: +:MathFloor:MathFloor(x) (largest integer not larger than x):: +:MathGcd:MathGcd(n,m) (Greatest Common Divisor):: +:MathGetExactBits:MathGetExactBits(x):manipulate precision of floating-point numbers: +:MathLog:MathLog(x) (natural logarithm, for x>0):: +:MathMod:MathMod(x,y) (remainder of division, or x mod y):: +:MathMultiply:MathMultiply(x,y) (multiply two numbers):: +:MathNot:MathNot(expression):built-in logical "not": +:MathOr:MathOr(...):built-in logical "or": +:MathPower:MathPower(x,y) (power, x ^ y):: +:MathSetExactBits:MathSetExactBits(x,bits):manipulate precision of floating-point numbers: +:MathSinh:MathSinh(x) (hyperbolic sine):: +:MathSin:MathSin(x) (sine):: +:MathSqrt:MathSqrt(x) (square root, must be x>=0):: +:MathSubtract:MathSubtract(x,y) (subtract two numbers):: +:MathTanh:MathTanh(x) (hyperbolic tangent):: +:MathTan:MathTan(x) (tangent):: +:MatrixPower:MatrixPower(mat,n):get nth power of a square matrix: +:MatrixSolve:MatrixSolve(A,b):solve a system of equations: +:MaxEvalDepth:MaxEvalDepth(n):set the maximum evaluation depth: +:MaximumBound:MaximumBound(p):return upper bounds on the absolute values of real roots of a polynomial: +:Max:Max(list):: +:Max:Max(x,y):maximum of a number of values: +:MinimumBound:MinimumBound(p):return lower bounds on the absolute values of real roots of a polynomial: +:Min:Min(list):: +:Min:Min(x,y):minimum of a number of values: +:Minor:Minor(M,i,j):get principal minor of a matrix: +:Mod:Mod(x,y):Determine remainder of two mathematical objects after dividing one by the other: +:MoebiusDivisorsList:MoebiusDivisorsList(n):the list of divisors and Moebius values: +:Moebius:Moebius(n):the Moebius function: +:Monic:Monic(poly):monic part of a polynomial: +:Monic:Monic(poly, var):: +:MultiplyNum:MultiplyNum(x,y):optimized numerical multiplication: +:MultiplyNum:MultiplyNum({x,y,z,...}):: +:MultiplyNum:MultiplyNum(x,y,z,...):: +:NearRational:NearRational(x, digits):: +:NearRational:NearRational(x):find optimal rational approximations: +:NewLine:NewLine(nr):: +:NewLine:NewLine():print one or more newline characters: +:Newton:Newton(expr, var, initial, accuracy,min,max):: +:Newton:Newton(expr, var, initial, accuracy):solve an equation numerically with Newton's method: +:NewtonNum:NewtonNum(func, x0):: +:NewtonNum:NewtonNum(func, x0, prec0):: +:NewtonNum:NewtonNum(func, x0, prec0, order):low-level optimized Newton's iterations: +:NextPrime:NextPrime(i):generate a prime following a number: +:NFunction:NFunction("newname","funcname", {arglist}):make wrapper for numeric functions: +:Nl:Nl():the newline character: +:N:N(expression, precision):: +:N:N(expression):try determine numerical approximation of expression: +:NonN:NonN(expr):calculate part in non-numeric mode: +:Normalize:Normalize(v):normalize a vector: +:Not:Not expr:logical negation: +:NrArgs:NrArgs(expr):return number of top-level arguments: +:Nth:Nth(list, n):return the $n$-th element of a list: +:NthRoot:NthRoot(m,n):calculate/simplify nth root of an integer: +:Numer:Numer(expr):numerator of an expression: +:NumRealRoots:NumRealRoots(p):return the number of real roots of a polynomial: +:Object:Object("pred", exp):create an incomplete type: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OldSolve:OldSolve(eqlist, varlist):: +:OldSolve:OldSolve(eq, var):old version of {Solve}: +:OMDef:OMDef(yacasForm, cd, name):define translations from Yacas to OpenMath and vice-versa.: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM):: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM, omToYacas):: +:OMForm:OMForm(expression):convert Yacas expression to OpenMath: +:OMRead:OMRead():convert expression from OpenMath to Yacas expression: +:OpLeftPrecedence:OpLeftPrecedence("op"):get operator precedence: +:OpPrecedence:OpPrecedence("op"):get operator precedence: +:OpRightPrecedence:OpRightPrecedence("op"):get operator precedence: +:OrthogonalBasis:OrthogonalBasis(W):create an orthogonal basis : +:OrthoG:OrthoG(n, a, x);:Gegenbauer orthogonal polynomials: +:OrthoGSum:OrthoGSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoH:OrthoH(n, x);:Hermite orthogonal polynomials: +:OrthoHSum:OrthoHSum(c, x);:sums of series of orthogonal polynomials: +:OrthoL:OrthoL(n, a, x);:Laguerre orthogonal polynomials: +:OrthoLSum:OrthoLSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthonormalBasis:OrthonormalBasis(W):create an orthonormal basis : +:OrthoPoly:OrthoPoly(name, n, par, x):internal function for constructing orthogonal polynomials: +:OrthoPolySum:OrthoPolySum(name, c, par, x):internal function for computing series of orthogonal polynomials: +:OrthoP:OrthoP(n, a, b, x);:: +:OrthoP:OrthoP(n, x);:Legendre and Jacobi orthogonal polynomials: +:OrthoPSum:OrthoPSum(c, a, b, x);:: +:OrthoPSum:OrthoPSum(c, x);:sums of series of orthogonal polynomials: +:OrthoT:OrthoT(n, x);:Chebyshev polynomials: +:OrthoTSum:OrthoTSum(c, x);:sums of series of orthogonal polynomials: +:OrthoU:OrthoU(n, x);:Chebyshev polynomials: +:OrthoUSum:OrthoUSum(c, x);:sums of series of orthogonal polynomials: +:Outer:Outer(t1,t2):get outer tensor product: +:PAdicExpand:PAdicExpand(n, p):p-adic expansion: +:Partition:Partition(list, n):partition a list in sublists of equal length: +:PatchLoad:PatchLoad(name):execute commands between {} in file: +:PatchString:PatchString(string):execute commands between {} in strings: +:PDF:PDF(dist,x):probability density function: +:Permutations:Permutations(list):get all permutations of a list: +:Pi:Pi:mathematical constant, $pi$: +:Plot2D:Plot2D(f(x), a b):: +:Plot2D:Plot2D(f(x), a b, option=value, ...):: +:Plot2D:Plot2D(f(x), a b, option=value):: +:Plot2D:Plot2D(f(x)):adaptive two-dimensional plotting: +:Plot2D:Plot2D(list, ...):: +:Plot3DS:Plot3DS(f(x,y), a b, c d):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value, ...):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value):: +:Plot3DS:Plot3DS(f(x,y)):three-dimensional (surface) plotting: +:Plot3DS:Plot3DS(list, ...):: +:PopBack:PopBack(stack):remove an element from the bottom of a stack: +:PopFront:PopFront(stack):remove an element from the top of a stack: +:Pop:Pop(stack, n):remove an element from a stack: +:Postfix:Postfix("op"):define function syntax (postfix operator): +:Postfix:Postfix("op", precedence):: +:Prefix:Prefix("op"):define function syntax (prefix operator): +:Prefix:Prefix("op", precedence):: +:PrettyForm:PrettyForm(expr):print an expression nicely with ASCII art: +:PrimitivePart:PrimitivePart(expr):primitive part of a univariate polynomial: +:PrintList:PrintList(list, padding);:: +:PrintList:PrintList(list):print list with padding: +:Prog:Prog(statement1, statement2, ...):block of statements: +:ProperDivisors:ProperDivisors(n):the number of proper divisors: +:ProperDivisorsSum:ProperDivisorsSum(n):the sum of proper divisors: +:Pslq:Pslq(xlist,precision):search for integer relations between reals: +:PSolve:PSolve(poly, var):solve a polynomial equation: +:Push:Push(stack, expr):add an element on top of a stack: +:RadSimp:RadSimp(expr):simplify expression with nested radicals: +:RamanujanSum:RamanujanSum(k,n):compute the "Ramanujan sum": +:RandomIntegerMatrix:RandomIntegerMatrix(rows,cols,from,to):generate a matrix of random integers: +:RandomIntegerVector:RandomIntegerVector(nr, from, to):generate a vector of random integers: +:RandomPoly:RandomPoly(var,deg,coefmin,coefmax):construct a random polynomial: +:Random:Random():(pseudo-) random number generator: +:RandomSeed:RandomSeed(init):(pseudo-) random number generator: +:RandVerifyArithmetic:RandVerifyArithmetic(n):Special purpose arithmetic verifiers: +:Rationalize:Rationalize(expr):convert floating point numbers to fractions: +:ReadCmdLineString:ReadCmdLineString(prompt):read an expression from command line and return in string: +:Read:Read():read an expression from current input: +:ReadToken:ReadToken():read a token from current input: +:RemoveDuplicates:RemoveDuplicates(list):remove any duplicates from a list: +:Replace:Replace(list, n, expr):replace an entry in a list: +:Re:Re(x):real part of a complex number: +:Retract:Retract("function",arity):erase rules for a function: +:ReversePoly:ReversePoly(f, g, var, newvar, degree):solve $h(f(x)) = g(x) + O(x^n)$ for $h$: +:Reverse:Reverse(list):return the reversed list (without touching the original): +:RightAssociative:RightAssociative("op"):declare associativity: +:RightPrecedence:RightPrecedence("op",precedence):set operator precedence: +:RngCreate:RngCreate(init):: +:RngCreate:RngCreate():manipulate random number generators as objects: +:RngCreate:RngCreate(option==value,...):: +:Rng:Rng(r):manipulate random number generators as objects: +:RngSeed:RngSeed(r, init):manipulate random number generators as objects: +:Round:Round(x):round a number to the nearest integer: +:RoundTo:RoundTo(number,precision):Round a real-valued result to a set number of digits: +:RuleBaseArgList:RuleBaseArgList("operator", arity):obtain list of arguments: +:RuleBaseListed:RuleBaseListed("name", params):define function with variable number of arguments: +:RuleBase:RuleBase(name,params):define function with a fixed number of arguments: +:Rule:Rule("operator", arity,:define a rewrite rule: +:Secure:Secure(body):guard the host OS: +:Select:Select(pred, list):select entries satisfying some predicate: +:SetGlobalLazyVariable:SetGlobalLazyVariable(var,value):global variable is to be evaluated lazily: +:Set:Set(var, exp):assignment: +:ShiftLeft:ShiftLeft(expr,bits):: +:ShiftRight:ShiftRight(expr,bits):: +:Sign:Sign(x):sign of a number: +:Simplify:Simplify(expr):try to simplify an expression: +:Sin:Sin(x):trigonometric sine function: +:SolveMatrix:SolveMatrix(M,v):solve a linear system: +:Solve:Solve(eq, var):solve an equation: +:Space:Space(nr):: +:Space:Space():print one or more spaces: +:Sparsity:Sparsity(matrix):get the sparsity of a matrix: +:Sqrt:Sqrt(x):square root: +:SquareFreeDivisorsList:SquareFreeDivisorsList(n):the list of square-free divisors: +:SquareFree:SquareFree(p):return the square-free part of polynomial: +:StirlingNumber1:StirlingNumber1(n,m):return the {n,m}th Stirling Number of the first kind: +:StringMid'Get:StringMid'Get(index,length,string):retrieve a substring: +:StringMid'Set:StringMid'Set(index,substring,string):change a substring: +:String:String(atom):convert atom to string: +:Subfactorial:Subfactorial(m):factorial and related functions: +:Subst:Subst(from, to) expr:perform a substitution: +:SuchThat:SuchThat(expr, var):special purpose solver: +:SumForDivisors:SumForDivisors(var,n,expr):loop over divisors: +:Sum:Sum(var, from, to, body):find sum of a sequence: +:SumTaylorNum:SumTaylorNum(x, NthTerm, order):optimized numerical evaluation of Taylor series: +:SumTaylorNum:SumTaylorNum(x, NthTerm, TermFactor, order):: +:SumTaylorNum:SumTaylorNum(x, ZerothTerm, TermFactor, order):: +:Swap:Swap(list, i1, i2):swap two elements in a list: +:SylvesterMatrix:SylvesterMatrix(poly1,poly2,variable):calculate the Sylvester matrix of two polynomials: +:SystemCall:SystemCall(str):pass a command to the shell: +:TableForm:TableForm(list):print each entry in a list on a line: +:Table:Table(body, var, from, to, step):evaluate while some variable ranges over interval: +:Tail:Tail(list):returns a list without its first element: +:Take:Take(list, {m,n}):: +:Take:Take(list, -n):: +:Take:Take(list, n):take a sublist from a list, dropping the rest: +:Tan:Tan(x):trigonometric tangent function: +:Taylor:Taylor(var, at, order) expr:univariate Taylor series expansion: +:TestYacas:TestYacas(question,answer):verifying equivalence of two expressions: +:TeXForm:TeXForm(expr):export expressions to $LaTeX$: +:Time:Time(expr):measure the time taken by a function: +:ToBase:ToBase(base, number):conversion of a number in decimal base to non-decimal base: +:ToeplitzMatrix:ToeplitzMatrix(N):create a Toeplitz matrix: +:ToFile:ToFile(name) body:connect current output to a file: +:ToStdout:ToStdout() body:select initial output stream for output: +:ToString:ToString() body:connect current output to a string: +:TraceExp:TraceExp(expr):evaluate with tracing enabled: +:TraceRule:TraceRule(template) expr:turn on tracing for a particular function: +:TraceStack:TraceStack(expression):show calling stack after an error occurs: +:Trace:Trace(M):trace of a matrix: +:Transpose:Transpose(M):get transpose of a matrix: +:TrapError:TrapError(expression,errorHandler):trap "hard" errors: +:TrigSimpCombine:TrigSimpCombine(expr):combine products of trigonometric functions: +:True:True:boolean constant representing true: +:TruncRadian:TruncRadian(r):remainder modulo $2*Pi$: +:Type:Type(expr):return the type of an expression: +:Undefined:Undefined:constant signifying an undefined result: +:UnFence:UnFence("operator",arity):change local variable scope for a function: +:UnFlatten:UnFlatten(list,operator,identity):inverse operation of Flatten: +:Union:Union(l1, l2):return the union of two lists: +:UniqueConstant:UniqueConstant():create a unique identifier: +:UnList:UnList(list):convert a list to a function application: +:Until:Until(pred) body:loop until a condition is met: +:Use:Use(name):load a file, but not twice: +:VandermondeMatrix:VandermondeMatrix(vector):create the Vandermonde matrix: +:VarListArith:VarListArith(expr):list of variables appearing in an expression: +:VarListSome:VarListSome(expr, list):list of variables appearing in an expression: +:VarList:VarList(expr):list of variables appearing in an expression: +:VerifyArithmetic:VerifyArithmetic(x,n,m):Special purpose arithmetic verifiers: +:VerifyDiv:VerifyDiv(u,v):Special purpose arithmetic verifiers: +:Verify:Verify(question,answer):verifying equivalence of two expressions: +:V:V(expression):set verbose output mode: +:While:While(pred) body:loop while a condition is met: +:WithValue:WithValue({var,...}, {val,...}, expr):: +:WithValue:WithValue(var, val, expr):temporary assignment during an evaluation: +:WriteString:WriteString(string):low-level printing routine for strings: +:Write:Write(expr, ...):low-level printing routine: +:WronskianMatrix:WronskianMatrix(func,var):create the Wronskian matrix: +:XmlExplodeTag:XmlExplodeTag(xmltext):convert XML strings to tag objects: +:XmlTokenizer:XmlTokenizer():select an XML syntax tokenizer for parsing the input: +:ZeroMatrix:ZeroMatrix(n, m):: +:ZeroMatrix:ZeroMatrix(n):make a zero matrix: +:ZeroVector:ZeroVector(n):create a vector with all zeroes: +:Zeta:Zeta(x):Riemann's Zeta function: Index: yacas-1.3.3/manmake/hints.sorted =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yacas-1.3.3/manmake/hints.sorted 2012-12-22 10:03:26.000000000 +0100 @@ -0,0 +1,1042 @@ +:Abs:Abs(x):absolute value or modulus of complex number: +:Abs:Abs(x):absolute value or modulus of complex number: +:Add:Add({list}):: +:Add:Add({list}):: +:Add:Add(val1, val2, ...):find sum of a list of values: +:Add:Add(val1, val2, ...):find sum of a list of values: +:Append:Append(list, expr):append an entry at the end of a list: +:Append:Append(list, expr):append an entry at the end of a list: +:Apply:Apply(fn, arglist):apply a function to arguments: +:Apply:Apply(fn, arglist):apply a function to arguments: +:ArcCos:ArcCos(x):inverse trigonometric function arc-cosine: +:ArcCos:ArcCos(x):inverse trigonometric function arc-cosine: +:ArcSin:ArcSin(x):inverse trigonometric function arc-sine: +:ArcSin:ArcSin(x):inverse trigonometric function arc-sine: +:ArcTan:ArcTan(x):inverse trigonometric function arc-tangent: +:ArcTan:ArcTan(x):inverse trigonometric function arc-tangent: +:Arg:Arg(x):argument of a complex number: +:Arg:Arg(x):argument of a complex number: +:Arg:Arg(x):argument of a complex number: +:Array'Create:Array'Create(size,init):create array: +:Array'CreateFromList:Array'CreateFromList(list):convert list to array: +:Array'Get:Array'Get(array,index):fetch array element: +:Array'Set:Array'Set(array,index,element):set array element: +:Array'Size:Array'Size(array):get array size: +:Array'ToList:Array'ToList(array):convert array to list: +:Assert:Assert() pred:: +:Assert:Assert("str", expr) pred:signal "soft" custom error: +:Assert:Assert("str") pred:: +:Assoc:Assoc(key, alist):return element stored in association list: +:Assoc:Assoc(key, alist):return element stored in association list: +:AssocDelete:AssocDelete(alist, "key"):delete an entry in an association list: +:AssocDelete:AssocDelete(alist, "key"):delete an entry in an association list: +:AssocDelete:AssocDelete(alist, {key, value}):: +:AssocDelete:AssocDelete(alist, {key, value}):: +:AssocIndices:AssocIndices(alist):return the keys in an association list: +:AssocIndices:AssocIndices(alist):return the keys in an association list: +:Atom:Atom("string"):convert string to atom: +:Atom:Atom("string"):convert string to atom: +:BaseVector:BaseVector(k, n):base vector: +:BaseVector:BaseVector(k, n):base vector: +:Bernoulli:Bernoulli(index):Bernoulli numbers and polynomials: +:Bernoulli:Bernoulli(index):Bernoulli numbers and polynomials: +:Bernoulli:Bernoulli(index, x):: +:Bernoulli:Bernoulli(index, x):: +:BernoulliDistribution:BernoulliDistribution(p):Bernoulli distribution: +:BernoulliDistribution:BernoulliDistribution(p):Bernoulli distribution: +:BigOh:BigOh(poly, var, degree):drop all terms of a certain order in a polynomial: +:BigOh:BigOh(poly, var, degree):drop all terms of a certain order in a polynomial: +:Bin:Bin(n, m):binomial coefficients: +:Bin:Bin(n, m):binomial coefficients: +:BinomialDistribution:BinomialDistribution(p,n):binomial distribution: +:BinomialDistribution:BinomialDistribution(p,n):binomial distribution: +:BinSplitData:BinSplitData(n1,n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitData:BinSplitData(n1,n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitFinal:BinSplitFinal({P,Q,B,T}):computations of series by the binary splitting method: +:BinSplitFinal:BinSplitFinal({P,Q,B,T}):computations of series by the binary splitting method: +:BinSplitNum:BinSplitNum(n1, n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitNum:BinSplitNum(n1, n2, a, b, c, d):computations of series by the binary splitting method: +:BitAnd:BitAnd(n,m):bitwise and operation: +:BitOr:BitOr(n,m):bitwise or operation: +:BitXor:BitXor(n,m):bitwise xor operation: +:Bodied:Bodied("op", precedence):define function syntax (bodied function): +:BracketRational:BracketRational(x, eps):find optimal rational approximations: +:BubbleSort:BubbleSort(list, compare):sort a list: +:BubbleSort:BubbleSort(list, compare):sort a list: +:Builtin'Precision'Get:Builtin'Precision'Get():get the current precision: +:Builtin'Precision'Set:Builtin'Precision'Set(n):set the precision: +:CachedConstant:CachedConstant(cache, Cname, Cfunc):precompute multiple-precision constants: +:CachedConstant:CachedConstant(cache, Cname, Cfunc):precompute multiple-precision constants: +:CanProve:CanProve(proposition):try to prove statement: +:CanProve:CanProve(proposition):try to prove statement: +:CanProve:CanProve(proposition):try to prove statement: +:Catalan:Catalan:Catalan's Constant: +:Catalan:Catalan:Catalan's Constant: +:CatalanNumber:CatalanNumber(n):return the {n}th Catalan Number: +:CatalanNumber:CatalanNumber(n):return the {n}th Catalan Number: +:Ceil:Ceil(x):round a number upwards: +:Ceil:Ceil(x):round a number upwards: +:CForm:CForm(expr):export expression to C++ code: +:CForm:CForm(expr):export expression to C++ code: +:CharacteristicEquation:CharacteristicEquation(matrix,var):get characteristic polynomial of a matrix: +:CharacteristicEquation:CharacteristicEquation(matrix,var):get characteristic polynomial of a matrix: +:Check:Check(predicate,"error text"):report "hard" errors: +:ChiSquareTest:ChiSquareTest(observed,expected,params):: +:ChiSquareTest:ChiSquareTest(observed,expected,params):: +:ChiSquareTest:ChiSquareTest(observed,expected):Pearson's ChiSquare test: +:ChiSquareTest:ChiSquareTest(observed,expected):Pearson's ChiSquare test: +:Cholesky:Cholesky(A):find the Cholesky Decomposition: +:Cholesky:Cholesky(A):find the Cholesky Decomposition: +:Clear:Clear(var, ...):undo an assignment: +:Clear:Clear(var, ...):undo an assignment: +:ClearError:ClearError("str"):custom errors handlers: +:ClearErrors:ClearErrors():simple error handlers: +:Coef:Coef(expr, var, order):coefficient of a polynomial: +:Coef:Coef(expr, var, order):coefficient of a polynomial: +:CoFactor:CoFactor(M,i,j):cofactor of a matrix: +:CoFactor:CoFactor(M,i,j):cofactor of a matrix: +:Complex:Complex(r, c):construct a complex number: +:Complex:Complex(r, c):construct a complex number: +:Complex:Complex(r, c):construct a complex number: +:Concat:Concat(list1, list2, ...):concatenate lists: +:Concat:Concat(list1, list2, ...):concatenate lists: +:ConcatStrings:ConcatStrings(strings):concatenate strings: +:ConcatStrings:ConcatStrings(strings):concatenate strings: +:Conjugate:Conjugate(x):complex conjugate: +:Conjugate:Conjugate(x):complex conjugate: +:Conjugate:Conjugate(x):complex conjugate: +:Contains:Contains(list, expr):test whether a list contains a certain element: +:Contains:Contains(list, expr):test whether a list contains a certain element: +:Content:Content(expr):content of a univariate polynomial: +:Content:Content(expr):content of a univariate polynomial: +:ContFrac:ContFrac(x):continued fraction expansion: +:ContFrac:ContFrac(x):continued fraction expansion: +:ContFrac:ContFrac(x, depth):: +:ContFrac:ContFrac(x, depth):: +:ContFracEval:ContFracEval(list):manipulate continued fractions: +:ContFracEval:ContFracEval(list, rest):: +:ContFracList:ContFracList(frac, depth):: +:ContFracList:ContFracList(frac):manipulate continued fractions: +:Cos:Cos(x):trigonometric cosine function: +:Cos:Cos(x):trigonometric cosine function: +:Count:Count(list, expr):count the number of occurrences of an expression: +:Count:Count(list, expr):count the number of occurrences of an expression: +:CrossProduct:CrossProduct(a,b):outer product of vectors: +:CrossProduct:CrossProduct(a,b):outer product of vectors: +:Curl:Curl(vector, basis):curl of a vector field: +:Curl:Curl(vector, basis):curl of a vector field: +:CurrentFile:CurrentFile():return current input file: +:CurrentLine:CurrentLine():return current line number on input: +:Cyclotomic:Cyclotomic(n,x):construct the cyclotomic polynomial: +:Cyclotomic:Cyclotomic(n,x):construct the cyclotomic polynomial: +:D:D(list) expression:: +:D:D(list) expression:: +:D:D(variable) expression:take derivative of expression with respect to variable: +:D:D(variable) expression:take derivative of expression with respect to variable: +:D:D(variable,n) expression:: +:D:D(variable,n) expression:: +:Decimal:Decimal(frac):decimal representation of a rational: +:Decimal:Decimal(frac):decimal representation of a rational: +:DefaultTokenizer:DefaultTokenizer():select the default syntax tokenizer for parsing the input: +:DefaultTokenizer:DefaultTokenizer():select the default syntax tokenizer for parsing the input: +:DefLoad:DefLoad(name):load a {.def} file: +:DefLoad:DefLoad(name):load a {.def} file: +:DefMacroRuleBase:DefMacroRuleBase(name,params):define a function as a macro: +:DefMacroRuleBaseListed:DefMacroRuleBaseListed("name", params):define macro with variable number of arguments: +:Degree:Degree(expr):degree of a polynomial: +:Degree:Degree(expr):degree of a polynomial: +:Degree:Degree(expr, var):: +:Degree:Degree(expr, var):: +:Delete:Delete(list, n):delete an element from a list: +:Delete:Delete(list, n):delete an element from a list: +:Denom:Denom(expr):denominator of an expression: +:Denom:Denom(expr):denominator of an expression: +:DestructiveAppend:DestructiveAppend(list, expr):destructively append an entry to a list: +:DestructiveAppend:DestructiveAppend(list, expr):destructively append an entry to a list: +:DestructiveDelete:DestructiveDelete(list, n):delete an element destructively from a list: +:DestructiveDelete:DestructiveDelete(list, n):delete an element destructively from a list: +:DestructiveInsert:DestructiveInsert(list, n, expr):insert an element destructively into a list: +:DestructiveInsert:DestructiveInsert(list, n, expr):insert an element destructively into a list: +:DestructiveReplace:DestructiveReplace(list, n, expr):replace an entry destructively in a list: +:DestructiveReplace:DestructiveReplace(list, n, expr):replace an entry destructively in a list: +:DestructiveReverse:DestructiveReverse(list):reverse a list destructively: +:DestructiveReverse:DestructiveReverse(list):reverse a list destructively: +:Determinant:Determinant(M):determinant of a matrix: +:Determinant:Determinant(M):determinant of a matrix: +:Diagonal:Diagonal(A):extract the diagonal from a matrix: +:Diagonal:Diagonal(A):extract the diagonal from a matrix: +:DiagonalMatrix:DiagonalMatrix(d):construct a diagonal matrix: +:DiagonalMatrix:DiagonalMatrix(d):construct a diagonal matrix: +:Difference:Difference(l1, l2):return the difference of two lists: +:Difference:Difference(l1, l2):return the difference of two lists: +:Div:Div(x,y):Determine divisor of two mathematical objects: +:Div:Div(x,y):Determine divisor of two mathematical objects: +:Diverge:Diverge(vector, basis):divergence of a vector field: +:Diverge:Diverge(vector, basis):divergence of a vector field: +:Divisors:Divisors(n):number of divisors: +:Divisors:Divisors(n):number of divisors: +:DivisorsList:DivisorsList(n):the list of divisors: +:DivisorsList:DivisorsList(n):the list of divisors: +:DivisorsSum:DivisorsSum(n):the sum of divisors: +:DivisorsSum:DivisorsSum(n):the sum of divisors: +:Dot:Dot(t1,t2):get dot product of tensors: +:Dot:Dot(t1,t2):get dot product of tensors: +:Drop:Drop(list, {m,n}):: +:Drop:Drop(list, {m,n}):: +:Drop:Drop(list, -n):: +:Drop:Drop(list, -n):: +:Drop:Drop(list, n):drop a range of elements from a list: +:Drop:Drop(list, n):drop a range of elements from a list: +:DumpErrors:DumpErrors():simple error handlers: +:Echo:Echo(item):high-level printing routine: +:Echo:Echo(item):high-level printing routine: +:Echo:Echo(item,item,item,...):: +:Echo:Echo(item,item,item,...):: +:Echo:Echo(list):: +:Echo:Echo(list):: +:EigenValues:EigenValues(matrix):get eigenvalues of a matrix: +:EigenValues:EigenValues(matrix):get eigenvalues of a matrix: +:EigenVectors:EigenVectors(A,eigenvalues):get eigenvectors of a matrix: +:EigenVectors:EigenVectors(A,eigenvalues):get eigenvectors of a matrix: +:Eliminate:Eliminate(var, value, expr):substitute and simplify: +:Eliminate:Eliminate(var, value, expr):substitute and simplify: +:EndOfFile:EndOfFile:end-of-file marker: +:EndOfFile:EndOfFile:end-of-file marker: +:Equals:Equals(a,b):check equality: +:Euler:Euler(index):Euler numbers and polynomials: +:Euler:Euler(index):Euler numbers and polynomials: +:Euler:Euler(index,x):: +:Euler:Euler(index,x):: +:Eulerian:Eulerian(n,m):Eulerian numbers: +:Eulerian:Eulerian(n,m):Eulerian numbers: +:Eval:Eval(expr):force evaluation of expression: +:Eval:Eval(expr):force evaluation of expression: +:EvalFormula:EvalFormula(expr):print an evaluation nicely with ASCII art: +:EvalFormula:EvalFormula(expr):print an evaluation nicely with ASCII art: +:EvaluateHornerScheme:EvaluateHornerScheme(coeffs,x):fast evaluation of polynomials: +:EvaluateHornerScheme:EvaluateHornerScheme(coeffs,x):fast evaluation of polynomials: +:ExpandBrackets:ExpandBrackets(expr):expand all brackets: +:ExpandBrackets:ExpandBrackets(expr):expand all brackets: +:Expand:Expand(expr):transform a polynomial to an expanded form: +:Expand:Expand(expr):transform a polynomial to an expanded form: +:Expand:Expand(expr, var):: +:Expand:Expand(expr, var):: +:Expand:Expand(expr, varlist):: +:Expand:Expand(expr, varlist):: +:Exp:Exp(x):exponential function: +:Exp:Exp(x):exponential function: +:ExtraInfo'Get:ExtraInfo'Get(expr):annotate objects with additional information: +:ExtraInfo'Set:ExtraInfo'Set(expr,tag):annotate objects with additional information: +:Factor:Factor(x):factorization, in pretty form: +:Factor:Factor(x):factorization, in pretty form: +:FactorialSimplify:FactorialSimplify(expression):Simplify hypergeometric expressions containing factorials: +:FactorialSimplify:FactorialSimplify(expression):Simplify hypergeometric expressions containing factorials: +:Factorize:Factorize(list):product of a list of values: +:Factorize:Factorize(list):product of a list of values: +:Factorize:Factorize(var, from, to, body):: +:Factorize:Factorize(var, from, to, body):: +:Factors:Factors(x):factorization: +:Factors:Factors(x):factorization: +:False:False:boolean constant representing false: +:False:False:boolean constant representing false: +:FermatNumber:FermatNumber(n):return the {n}th Fermat Number: +:FermatNumber:FermatNumber(n):return the {n}th Fermat Number: +:FillList:FillList(expr, n):fill a list with a certain expression: +:FillList:FillList(expr, n):fill a list with a certain expression: +:FindFile:FindFile(name):find a file in the current path: +:FindFile:FindFile(name):find a file in the current path: +:Find:Find(list, expr):get the index at which a certain element occurs: +:Find:Find(list, expr):get the index at which a certain element occurs: +:FindFunction:FindFunction(function):find the library file where a function is defined: +:FindRealRoots:FindRealRoots(p):find the real roots of a polynomial: +:FindRealRoots:FindRealRoots(p):find the real roots of a polynomial: +:FlatCopy:FlatCopy(list):copy the top level of a list: +:FlatCopy:FlatCopy(list):copy the top level of a list: +:Flatten:Flatten(expression,operator):flatten expression w.r.t. some operator: +:Flatten:Flatten(expression,operator):flatten expression w.r.t. some operator: +:Floor:Floor(x):round a number downwards: +:Floor:Floor(x):round a number downwards: +:ForEach:ForEach(var, list) body:loop over all entries in list: +:ForEach:ForEach(var, list) body:loop over all entries in list: +:For:For(init, pred, incr) body:C-style {for} loop: +:For:For(init, pred, incr) body:C-style {for} loop: +:FromBase:FromBase(base,"string"):conversion of a number from non-decimal base to decimal base: +:FromBase:FromBase(base,"string"):conversion of a number from non-decimal base to decimal base: +:FromFile:FromFile(name) body:connect current input to a file: +:FromFile:FromFile(name) body:connect current input to a file: +:FromString:FromString(str) body;:connect current input to a string: +:FromString:FromString(str) body;:connect current input to a string: +:FullForm:FullForm(expr):print an expression in LISP-format: +:FullForm:FullForm(expr):print an expression in LISP-format: +:FuncListArith:FuncListArith(expr):list of functions used in an expression: +:FuncListArith:FuncListArith(expr):list of functions used in an expression: +:FuncList:FuncList(expr):list of functions used in an expression: +:FuncList:FuncList(expr):list of functions used in an expression: +:FuncListSome:FuncListSome(expr, list):list of functions used in an expression: +:FuncListSome:FuncListSome(expr, list):list of functions used in an expression: +:Function:Function() func(arglist, ...):: +:Function:Function() func(arglist, ...):: +:Function:Function() func(arglist):declare or define a function: +:Function:Function() func(arglist):declare or define a function: +:Function:Function("op", {arglist, ...}) body:: +:Function:Function("op", {arglist, ...}) body:: +:Function:Function("op", {arglist}) body:: +:Function:Function("op", {arglist}) body:: +:Gamma:Gamma(x):Euler's Gamma function: +:Gamma:Gamma(x):Euler's Gamma function: +:GarbageCollect:GarbageCollect():do garbage collection on unused memory: +:GaussianFactors:GaussianFactors(z):factorization in Gaussian integers: +:GaussianFactors:GaussianFactors(z):factorization in Gaussian integers: +:GaussianGcd:GaussianGcd(z,w):greatest common divisor in Gaussian integers: +:GaussianGcd:GaussianGcd(z,w):greatest common divisor in Gaussian integers: +:GaussianNorm:GaussianNorm(z):norm of a Gaussian integer: +:GaussianNorm:GaussianNorm(z):norm of a Gaussian integer: +:Gcd:Gcd(list):: +:Gcd:Gcd(list):: +:Gcd:Gcd(n,m):greatest common divisor: +:Gcd:Gcd(n,m):greatest common divisor: +:GenericTypeName:GenericTypeName(object):get type name: +:GetCoreError:GetCoreError():get "hard" error string: +:GetError:GetError("str"):custom errors handlers: +:GetErrorTableau:GetErrorTableau():custom errors handlers: +:GetTime:GetTime(expr):measure the time taken by an evaluation: +:GlobalPop:GlobalPop():: +:GlobalPop:GlobalPop():: +:GlobalPop:GlobalPop(var):restore variables using a global stack: +:GlobalPop:GlobalPop(var):restore variables using a global stack: +:GlobalPush:GlobalPush(expr):save variables using a global stack: +:GlobalPush:GlobalPush(expr):save variables using a global stack: +:GoldenRatio:GoldenRatio:the Golden Ratio: +:GoldenRatio:GoldenRatio:the Golden Ratio: +:GreaterThan:GreaterThan(a,b):comparison predicate: +:GuessRational:GuessRational(x, digits):: +:GuessRational:GuessRational(x):find optimal rational approximations: +:HarmonicNumber:HarmonicNumber(n,r):: +:HarmonicNumber:HarmonicNumber(n,r):: +:HarmonicNumber:HarmonicNumber(n):return the {n}th Harmonic Number: +:HarmonicNumber:HarmonicNumber(n):return the {n}th Harmonic Number: +:HasExprArith:HasExprArith(expr, x):check for expression containing a subexpression: +:HasExprArith:HasExprArith(expr, x):check for expression containing a subexpression: +:HasExpr:HasExpr(expr, x):check for expression containing a subexpression: +:HasExpr:HasExpr(expr, x):check for expression containing a subexpression: +:HasExprSome:HasExprSome(expr, x, list):check for expression containing a subexpression: +:HasExprSome:HasExprSome(expr, x, list):check for expression containing a subexpression: +:HasFuncArith:HasFuncArith(expr, func):check for expression containing a function: +:HasFuncArith:HasFuncArith(expr, func):check for expression containing a function: +:HasFunc:HasFunc(expr, func):check for expression containing a function: +:HasFunc:HasFunc(expr, func):check for expression containing a function: +:HasFuncSome:HasFuncSome(expr, func, list):check for expression containing a function: +:HasFuncSome:HasFuncSome(expr, func, list):check for expression containing a function: +:Head:Head(list):the first element of a list: +:Head:Head(list):the first element of a list: +:HeapSort:HeapSort(list, compare):sort a list: +:HeapSort:HeapSort(list, compare):sort a list: +:HessianMatrix:HessianMatrix(function,var):create the Hessian matrix: +:HessianMatrix:HessianMatrix(function,var):create the Hessian matrix: +:HilbertInverseMatrix:HilbertInverseMatrix(n):create a Hilbert inverse matrix: +:HilbertInverseMatrix:HilbertInverseMatrix(n):create a Hilbert inverse matrix: +:HilbertMatrix:HilbertMatrix(n):create a Hilbert matrix: +:HilbertMatrix:HilbertMatrix(n):create a Hilbert matrix: +:HilbertMatrix:HilbertMatrix(n,m):: +:HilbertMatrix:HilbertMatrix(n,m):: +:HoldArg:HoldArg("operator",parameter):mark argument as not evaluated: +:HoldArgNr:HoldArgNr("function", arity, argNum):specify argument as not evaluated: +:Hold:Hold(expr):keep expression unevaluated: +:Hold:Hold(expr):keep expression unevaluated: +:Horner:Horner(expr, var):convert a polynomial into the Horner form: +:Horner:Horner(expr, var):convert a polynomial into the Horner form: +:Identity:Identity(n):make identity matrix: +:Identity:Identity(n):make identity matrix: +:If:If(pred, then):branch point: +:If:If(pred, then):branch point: +:If:If(pred, then, else):: +:If:If(pred, then, else):: +:I:I:imaginary unit: +:I:I:imaginary unit: +:I:I:imaginary unit: +:Im:Im(x):imaginary part of a complex number: +:Im:Im(x):imaginary part of a complex number: +:Im:Im(x):imaginary part of a complex number: +:Infinity:Infinity:constant representing mathematical infinity: +:Infinity:Infinity:constant representing mathematical infinity: +:Infix:Infix("op"):define function syntax (infix operator): +:Infix:Infix("op", precedence):: +:InNumericMode:InNumericMode():determine if currently in numeric mode: +:InProduct:InProduct(a,b):inner product of vectors (deprecated): +:InProduct:InProduct(a,b):inner product of vectors (deprecated): +:Insert:Insert(list, n, expr):insert an element into a list: +:Insert:Insert(list, n, expr):insert an element into a list: +:Integrate:Integrate(var) expr:: +:Integrate:Integrate(var) expr:: +:Integrate:Integrate(var, x1, x2) expr:integration: +:Integrate:Integrate(var, x1, x2) expr:integration: +:Intersection:Intersection(l1, l2):return the intersection of two lists: +:Intersection:Intersection(l1, l2):return the intersection of two lists: +:IntLog:IntLog(n, base):integer part of logarithm: +:IntNthRoot:IntNthRoot(x, n):integer part of $n$-th root: +:IntPowerNum:IntPowerNum(x, n, mult, unity):optimized computation of integer powers: +:IntPowerNum:IntPowerNum(x, n, mult, unity):optimized computation of integer powers: +:InVerboseMode:InVerboseMode():set verbose output mode: +:InVerboseMode:InVerboseMode():set verbose output mode: +:Inverse:Inverse(M):get inverse of a matrix: +:Inverse:Inverse(M):get inverse of a matrix: +:InverseTaylor:InverseTaylor(var, at, order) expr:Taylor expansion of inverse: +:InverseTaylor:InverseTaylor(var, at, order) expr:Taylor expansion of inverse: +:IsAmicablePair:IsAmicablePair(m,n):test for a pair of amicable numbers: +:IsAmicablePair:IsAmicablePair(m,n):test for a pair of amicable numbers: +:IsAtom:IsAtom(expr):test for an atom: +:IsAtom:IsAtom(expr):test for an atom: +:IsBodied:IsBodied("op"):check for function syntax: +:IsBoolean:IsBoolean(expression):test for a Boolean value: +:IsBoolean:IsBoolean(expression):test for a Boolean value: +:IsBound:IsBound(var):test for a bound variable: +:IsBound:IsBound(var):test for a bound variable: +:IsCarmichaelNumber:IsCarmichaelNumber(n):test for a Carmichael number: +:IsCarmichaelNumber:IsCarmichaelNumber(n):test for a Carmichael number: +:IsCFormable:IsCFormable(expr):check possibility to export expression to C++ code: +:IsCFormable:IsCFormable(expr):check possibility to export expression to C++ code: +:IsCFormable:IsCFormable(expr, funclist):: +:IsCFormable:IsCFormable(expr, funclist):: +:IsComposite:IsComposite(n):test for a composite number: +:IsComposite:IsComposite(n):test for a composite number: +:IsConstant:IsConstant(expr):test for a constant: +:IsConstant:IsConstant(expr):test for a constant: +:IsCoprime:IsCoprime(list):: +:IsCoprime:IsCoprime(list):: +:IsCoprime:IsCoprime(m,n):test if integers are coprime : +:IsCoprime:IsCoprime(m,n):test if integers are coprime : +:IsDiagonal:IsDiagonal(A):test for a diagonal matrix: +:IsDiagonal:IsDiagonal(A):test for a diagonal matrix: +:IsError:IsError():check for custom error: +:IsError:IsError("str"):: +:IsEvenFunction:IsEvenFunction(expression,variable):Return true if function is an even function, False otherwise: +:IsEvenFunction:IsEvenFunction(expression,variable):Return true if function is an even function, False otherwise: +:IsEven:IsEven(n):test for an even integer: +:IsEven:IsEven(n):test for an even integer: +:IsFreeOf:IsFreeOf({var, ...}, expr):: +:IsFreeOf:IsFreeOf({var, ...}, expr):: +:IsFreeOf:IsFreeOf(var, expr):test whether expression depends on variable: +:IsFreeOf:IsFreeOf(var, expr):test whether expression depends on variable: +:IsFunction:IsFunction(expr):test for a composite object: +:IsFunction:IsFunction(expr):test for a composite object: +:IsGaussianInteger:IsGaussianInteger(z):test for a Gaussian integer: +:IsGaussianInteger:IsGaussianInteger(z):test for a Gaussian integer: +:IsGaussianPrime:IsGaussianPrime(z):test for a Gaussian prime: +:IsGaussianPrime:IsGaussianPrime(z):test for a Gaussian prime: +:IsGaussianUnit:IsGaussianUnit(z):test for a Gaussian unit: +:IsGaussianUnit:IsGaussianUnit(z):test for a Gaussian unit: +:IsGeneric:IsGeneric(object):check for generic object: +:IsHermitian:IsHermitian(A):test for a Hermitian matrix: +:IsHermitian:IsHermitian(A):test for a Hermitian matrix: +:IsIdempotent:IsIdempotent(A):test for an idempotent matrix: +:IsIdempotent:IsIdempotent(A):test for an idempotent matrix: +:IsInfinity:IsInfinity(expr):test for an infinity: +:IsInfinity:IsInfinity(expr):test for an infinity: +:IsInfix:IsInfix("op"):check for function syntax: +:IsIrregularPrime:IsIrregularPrime(n):test for an irregular prime: +:IsIrregularPrime:IsIrregularPrime(n):test for an irregular prime: +:IsList:IsList(expr):test for a list: +:IsList:IsList(expr):test for a list: +:IsLowerTriangular:IsLowerTriangular(A):test for a lower triangular matrix: +:IsLowerTriangular:IsLowerTriangular(A):test for a lower triangular matrix: +:IsMatrix:IsMatrix(expr):test for a matrix: +:IsMatrix:IsMatrix(expr):test for a matrix: +:IsMatrix:IsMatrix(pred,expr):: +:IsMatrix:IsMatrix(pred,expr):: +:IsNegativeInteger:IsNegativeInteger(n):test for a negative integer: +:IsNegativeInteger:IsNegativeInteger(n):test for a negative integer: +:IsNegativeNumber:IsNegativeNumber(n):test for a negative number: +:IsNegativeNumber:IsNegativeNumber(n):test for a negative number: +:IsNegativeReal:IsNegativeReal(expr):test for a numerically negative value: +:IsNegativeReal:IsNegativeReal(expr):test for a numerically negative value: +:IsNonObject:IsNonObject(expr):test whether argument is not an {Object()}: +:IsNonObject:IsNonObject(expr):test whether argument is not an {Object()}: +:IsNonZeroInteger:IsNonZeroInteger(n):test for a nonzero integer: +:IsNonZeroInteger:IsNonZeroInteger(n):test for a nonzero integer: +:IsNotZero:IsNotZero(n):test for a nonzero number: +:IsNotZero:IsNotZero(n):test for a nonzero number: +:IsNumber:IsNumber(expr):test for a number: +:IsNumber:IsNumber(expr):test for a number: +:IsNumericList:IsNumericList({list}):test for a list of numbers: +:IsNumericList:IsNumericList({list}):test for a list of numbers: +:IsOddFunction:IsOddFunction(expression,variable):Return true if function is an odd function, False otherwise: +:IsOddFunction:IsOddFunction(expression,variable):Return true if function is an odd function, False otherwise: +:IsOdd:IsOdd(n):test for an odd integer: +:IsOdd:IsOdd(n):test for an odd integer: +:IsOrthogonal:IsOrthogonal(A):test for an orthogonal matrix: +:IsOrthogonal:IsOrthogonal(A):test for an orthogonal matrix: +:IsPositiveInteger:IsPositiveInteger(n):test for a positive integer: +:IsPositiveInteger:IsPositiveInteger(n):test for a positive integer: +:IsPositiveNumber:IsPositiveNumber(n):test for a positive number: +:IsPositiveNumber:IsPositiveNumber(n):test for a positive number: +:IsPositiveReal:IsPositiveReal(expr):test for a numerically positive value: +:IsPositiveReal:IsPositiveReal(expr):test for a numerically positive value: +:IsPostfix:IsPostfix("op"):check for function syntax: +:IsPrefix:IsPrefix("op"):check for function syntax: +:IsPrime:IsPrime(n):test for a prime number: +:IsPrime:IsPrime(n):test for a prime number: +:IsPrimePower:IsPrimePower(n):test for a power of a prime number: +:IsPrimePower:IsPrimePower(n):test for a power of a prime number: +:IsPromptShown:IsPromptShown():test for the Yacas prompt option: +:IsQuadraticResidue:IsQuadraticResidue(m,n):functions related to finite groups: +:IsQuadraticResidue:IsQuadraticResidue(m,n):functions related to finite groups: +:IsRational:IsRational(expr):test whether argument is a rational: +:IsRational:IsRational(expr):test whether argument is a rational: +:IsScalar:IsScalar(expr):test for a scalar: +:IsScalar:IsScalar(expr):test for a scalar: +:IsSkewSymmetric:IsSkewSymmetric(A):test for a skew-symmetric matrix: +:IsSkewSymmetric:IsSkewSymmetric(A):test for a skew-symmetric matrix: +:IsSmallPrime:IsSmallPrime(n):test for a (small) prime number: +:IsSmallPrime:IsSmallPrime(n):test for a (small) prime number: +:IsSquareFree:IsSquareFree(n):test for a square-free number: +:IsSquareFree:IsSquareFree(n):test for a square-free number: +:IsSquareMatrix:IsSquareMatrix(expr):test for a square matrix: +:IsSquareMatrix:IsSquareMatrix(expr):test for a square matrix: +:IsSquareMatrix:IsSquareMatrix(pred,expr):: +:IsSquareMatrix:IsSquareMatrix(pred,expr):: +:IsString:IsString(expr):test for an string: +:IsString:IsString(expr):test for an string: +:IsSymmetric:IsSymmetric(A):test for a symmetric matrix: +:IsSymmetric:IsSymmetric(A):test for a symmetric matrix: +:IsTwinPrime:IsTwinPrime(n):test for a twin prime: +:IsTwinPrime:IsTwinPrime(n):test for a twin prime: +:IsUnitary:IsUnitary(A):test for a unitary matrix: +:IsUnitary:IsUnitary(A):test for a unitary matrix: +:IsUpperTriangular:IsUpperTriangular(A):test for an upper triangular matrix: +:IsUpperTriangular:IsUpperTriangular(A):test for an upper triangular matrix: +:IsVector:IsVector(expr):test for a vector: +:IsVector:IsVector(expr):test for a vector: +:IsVector:IsVector(pred,expr):: +:IsVector:IsVector(pred,expr):: +:IsZero:IsZero(n):test whether argument is zero: +:IsZero:IsZero(n):test whether argument is zero: +:IsZeroVector:IsZeroVector(list):test whether list contains only zeroes: +:IsZeroVector:IsZeroVector(list):test whether list contains only zeroes: +:JacobianMatrix:JacobianMatrix(functions,variables):calculate the Jacobian matrix of $n$ functions in $n$ variables: +:JacobianMatrix:JacobianMatrix(functions,variables):calculate the Jacobian matrix of $n$ functions in $n$ variables: +:JacobiSymbol:JacobiSymbol(m,n):functions related to finite groups: +:JacobiSymbol:JacobiSymbol(m,n):functions related to finite groups: +:KnownFailure:KnownFailure(test):Mark a test as a known failure: +:LagrangeInterpolant:LagrangeInterpolant(xlist, ylist, var):polynomial interpolation: +:LagrangeInterpolant:LagrangeInterpolant(xlist, ylist, var):polynomial interpolation: +:LambertW:LambertW(x):Lambert's $W$ function: +:LambertW:LambertW(x):Lambert's $W$ function: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:Lcm:Lcm(list):: +:Lcm:Lcm(list):: +:Lcm:Lcm(n,m):least common multiple: +:Lcm:Lcm(n,m):least common multiple: +:LeadingCoef:LeadingCoef(poly):leading coefficient of a polynomial: +:LeadingCoef:LeadingCoef(poly):leading coefficient of a polynomial: +:LeadingCoef:LeadingCoef(poly, var):: +:LeadingCoef:LeadingCoef(poly, var):: +:LeftPrecedence:LeftPrecedence("op",precedence):set operator precedence: +:LegendreSymbol:LegendreSymbol(m,n):functions related to finite groups: +:LegendreSymbol:LegendreSymbol(m,n):functions related to finite groups: +:Length:Length(object):the length of a list or string: +:Length:Length(object):the length of a list or string: +:LessThan:LessThan(a,b):comparison predicate: +:LeviCivita:LeviCivita(list):totally anti-symmetric Levi-Civita symbol: +:LeviCivita:LeviCivita(list):totally anti-symmetric Levi-Civita symbol: +:Limit:Limit(var, val, dir) expr:: +:Limit:Limit(var, val, dir) expr:: +:Limit:Limit(var, val) expr:limit of an expression: +:Limit:Limit(var, val) expr:limit of an expression: +:LispRead:LispRead():read expressions in LISP syntax: +:LispRead:LispRead():read expressions in LISP syntax: +:LispReadListed:LispReadListed():read expressions in LISP syntax: +:LispReadListed:LispReadListed():read expressions in LISP syntax: +:Listify:Listify(expr):convert a function application to a list: +:Listify:Listify(expr):convert a function application to a list: +:List:List(expr1, expr2, ...):construct a list: +:List:List(expr1, expr2, ...):construct a list: +:LnCombine:LnCombine(expr):combine logarithmic expressions using standard logarithm rules: +:LnCombine:LnCombine(expr):combine logarithmic expressions using standard logarithm rules: +:LnExpand:LnExpand(expr):expand a logarithmic expression using standard logarithm rules: +:LnExpand:LnExpand(expr):expand a logarithmic expression using standard logarithm rules: +:Ln:Ln(x):natural logarithm: +:Ln:Ln(x):natural logarithm: +:Load:Load(name):evaluate all expressions in a file: +:Load:Load(name):evaluate all expressions in a file: +:Local:Local(var, ...):declare new local variables: +:Local:Local(var, ...):declare new local variables: +:LocalSymbols:LocalSymbols(var1, var2, ...) body:create unique local symbols with given prefix: +:LocalSymbols:LocalSymbols(var1, var2, ...) body:create unique local symbols with given prefix: +:LogicTest:LogicTest(variables,expr1,expr2):verifying equivalence of two expressions: +:LogicVerify:LogicVerify(question,answer):verifying equivalence of two expressions: +:Macro:Macro() func(arglist, ...):: +:Macro:Macro() func(arglist, ...):: +:Macro:Macro() func(arglist):declare or define a macro: +:Macro:Macro() func(arglist):declare or define a macro: +:Macro:Macro("op", {arglist, ...}) body:: +:Macro:Macro("op", {arglist, ...}) body:: +:Macro:Macro("op", {arglist}) body:: +:Macro:Macro("op", {arglist}) body:: +:MakeVector:MakeVector(var,n):vector of uniquely numbered variable names: +:MakeVector:MakeVector(var,n):vector of uniquely numbered variable names: +:MapArgs:MapArgs(expr, fn):apply a function to all top-level arguments: +:MapArgs:MapArgs(expr, fn):apply a function to all top-level arguments: +:Map:Map(fn, list):apply an $n$-ary function to all entries in a list: +:Map:Map(fn, list):apply an $n$-ary function to all entries in a list: +:MapSingle:MapSingle(fn, list):apply a unary function to all entries in a list: +:MapSingle:MapSingle(fn, list):apply a unary function to all entries in a list: +:MatchLinear:MatchLinear(x,expr):match an expression to a polynomial of degree one in a variable: +:MatchLinear:MatchLinear(x,expr):match an expression to a polynomial of degree one in a variable: +:MathAbs:MathAbs(x) (absolute value of x, or |x| ):: +:MathAdd:MathAdd(x,y) (add two numbers):: +:MathAnd:MathAnd(...):built-in logical "and": +:MathArcCosh:MathArcCosh(x) (inverse hyperbolic cosine):: +:MathArcCos:MathArcCos(x) (inverse cosine):: +:MathArcSinh:MathArcSinh(x) (inverse hyperbolic sine):: +:MathArcSin:MathArcSin(x) (inverse sine):: +:MathArcTanh:MathArcTanh(x) (inverse hyperbolic tangent):: +:MathArcTan:MathArcTan(x) (inverse tangent):: +:MathCeil:MathCeil(x) (smallest integer not smaller than x):: +:MathCosh:MathCosh(x) (hyperbolic cosine):: +:MathCos:MathCos(x) (cosine):: +:MathDivide:MathDivide(x,y) (divide two numbers):: +:MathDiv:MathDiv(x,y) (integer division, result is an integer):: +:MathExp:MathExp(x) (exponential, base 2.718...):: +:MathFloor:MathFloor(x) (largest integer not larger than x):: +:MathGcd:MathGcd(n,m) (Greatest Common Divisor):: +:MathGetExactBits:MathGetExactBits(x):manipulate precision of floating-point numbers: +:MathGetExactBits:MathGetExactBits(x):manipulate precision of floating-point numbers: +:MathLog:MathLog(x) (natural logarithm, for x>0):: +:MathMod:MathMod(x,y) (remainder of division, or x mod y):: +:MathMultiply:MathMultiply(x,y) (multiply two numbers):: +:MathNot:MathNot(expression):built-in logical "not": +:MathOr:MathOr(...):built-in logical "or": +:MathPower:MathPower(x,y) (power, x ^ y):: +:MathSetExactBits:MathSetExactBits(x,bits):manipulate precision of floating-point numbers: +:MathSetExactBits:MathSetExactBits(x,bits):manipulate precision of floating-point numbers: +:MathSinh:MathSinh(x) (hyperbolic sine):: +:MathSin:MathSin(x) (sine):: +:MathSqrt:MathSqrt(x) (square root, must be x>=0):: +:MathSubtract:MathSubtract(x,y) (subtract two numbers):: +:MathTanh:MathTanh(x) (hyperbolic tangent):: +:MathTan:MathTan(x) (tangent):: +:MatrixPower:MatrixPower(mat,n):get nth power of a square matrix: +:MatrixPower:MatrixPower(mat,n):get nth power of a square matrix: +:MatrixSolve:MatrixSolve(A,b):solve a system of equations: +:MatrixSolve:MatrixSolve(A,b):solve a system of equations: +:MaxEvalDepth:MaxEvalDepth(n):set the maximum evaluation depth: +:MaxEvalDepth:MaxEvalDepth(n):set the maximum evaluation depth: +:MaximumBound:MaximumBound(p):return upper bounds on the absolute values of real roots of a polynomial: +:MaximumBound:MaximumBound(p):return upper bounds on the absolute values of real roots of a polynomial: +:Max:Max(list):: +:Max:Max(list):: +:Max:Max(x,y):maximum of a number of values: +:Max:Max(x,y):maximum of a number of values: +:MinimumBound:MinimumBound(p):return lower bounds on the absolute values of real roots of a polynomial: +:MinimumBound:MinimumBound(p):return lower bounds on the absolute values of real roots of a polynomial: +:Min:Min(list):: +:Min:Min(list):: +:Min:Min(x,y):minimum of a number of values: +:Min:Min(x,y):minimum of a number of values: +:Minor:Minor(M,i,j):get principal minor of a matrix: +:Minor:Minor(M,i,j):get principal minor of a matrix: +:Mod:Mod(x,y):Determine remainder of two mathematical objects after dividing one by the other: +:Mod:Mod(x,y):Determine remainder of two mathematical objects after dividing one by the other: +:MoebiusDivisorsList:MoebiusDivisorsList(n):the list of divisors and Moebius values: +:MoebiusDivisorsList:MoebiusDivisorsList(n):the list of divisors and Moebius values: +:Moebius:Moebius(n):the Moebius function: +:Moebius:Moebius(n):the Moebius function: +:Monic:Monic(poly):monic part of a polynomial: +:Monic:Monic(poly):monic part of a polynomial: +:Monic:Monic(poly, var):: +:Monic:Monic(poly, var):: +:MultiplyNum:MultiplyNum(x,y):optimized numerical multiplication: +:MultiplyNum:MultiplyNum(x,y):optimized numerical multiplication: +:MultiplyNum:MultiplyNum({x,y,z,...}):: +:MultiplyNum:MultiplyNum({x,y,z,...}):: +:MultiplyNum:MultiplyNum(x,y,z,...):: +:MultiplyNum:MultiplyNum(x,y,z,...):: +:NearRational:NearRational(x, digits):: +:NearRational:NearRational(x):find optimal rational approximations: +:NewLine:NewLine(nr):: +:NewLine:NewLine(nr):: +:NewLine:NewLine():print one or more newline characters: +:NewLine:NewLine():print one or more newline characters: +:Newton:Newton(expr, var, initial, accuracy,min,max):: +:Newton:Newton(expr, var, initial, accuracy,min,max):: +:Newton:Newton(expr, var, initial, accuracy):solve an equation numerically with Newton's method: +:Newton:Newton(expr, var, initial, accuracy):solve an equation numerically with Newton's method: +:NewtonNum:NewtonNum(func, x0):: +:NewtonNum:NewtonNum(func, x0):: +:NewtonNum:NewtonNum(func, x0, prec0):: +:NewtonNum:NewtonNum(func, x0, prec0):: +:NewtonNum:NewtonNum(func, x0, prec0, order):low-level optimized Newton's iterations: +:NewtonNum:NewtonNum(func, x0, prec0, order):low-level optimized Newton's iterations: +:NextPrime:NextPrime(i):generate a prime following a number: +:NextPrime:NextPrime(i):generate a prime following a number: +:NFunction:NFunction("newname","funcname", {arglist}):make wrapper for numeric functions: +:NFunction:NFunction("newname","funcname", {arglist}):make wrapper for numeric functions: +:Nl:Nl():the newline character: +:Nl:Nl():the newline character: +:N:N(expression, precision):: +:N:N(expression, precision):: +:N:N(expression):try determine numerical approximation of expression: +:N:N(expression):try determine numerical approximation of expression: +:NonN:NonN(expr):calculate part in non-numeric mode: +:Normalize:Normalize(v):normalize a vector: +:Normalize:Normalize(v):normalize a vector: +:Not:Not expr:logical negation: +:Not:Not expr:logical negation: +:NrArgs:NrArgs(expr):return number of top-level arguments: +:NrArgs:NrArgs(expr):return number of top-level arguments: +:Nth:Nth(list, n):return the $n$-th element of a list: +:Nth:Nth(list, n):return the $n$-th element of a list: +:NthRoot:NthRoot(m,n):calculate/simplify nth root of an integer: +:Numer:Numer(expr):numerator of an expression: +:Numer:Numer(expr):numerator of an expression: +:NumRealRoots:NumRealRoots(p):return the number of real roots of a polynomial: +:NumRealRoots:NumRealRoots(p):return the number of real roots of a polynomial: +:Object:Object("pred", exp):create an incomplete type: +:Object:Object("pred", exp):create an incomplete type: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OldSolve:OldSolve(eqlist, varlist):: +:OldSolve:OldSolve(eqlist, varlist):: +:OldSolve:OldSolve(eq, var):old version of {Solve}: +:OldSolve:OldSolve(eq, var):old version of {Solve}: +:OMDef:OMDef(yacasForm, cd, name):define translations from Yacas to OpenMath and vice-versa.: +:OMDef:OMDef(yacasForm, cd, name):define translations from Yacas to OpenMath and vice-versa.: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM):: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM):: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM, omToYacas):: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM, omToYacas):: +:OMForm:OMForm(expression):convert Yacas expression to OpenMath: +:OMForm:OMForm(expression):convert Yacas expression to OpenMath: +:OMRead:OMRead():convert expression from OpenMath to Yacas expression: +:OMRead:OMRead():convert expression from OpenMath to Yacas expression: +:OpLeftPrecedence:OpLeftPrecedence("op"):get operator precedence: +:OpPrecedence:OpPrecedence("op"):get operator precedence: +:OpRightPrecedence:OpRightPrecedence("op"):get operator precedence: +:OrthogonalBasis:OrthogonalBasis(W):create an orthogonal basis : +:OrthogonalBasis:OrthogonalBasis(W):create an orthogonal basis : +:OrthoG:OrthoG(n, a, x);:Gegenbauer orthogonal polynomials: +:OrthoG:OrthoG(n, a, x);:Gegenbauer orthogonal polynomials: +:OrthoGSum:OrthoGSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoGSum:OrthoGSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoH:OrthoH(n, x);:Hermite orthogonal polynomials: +:OrthoH:OrthoH(n, x);:Hermite orthogonal polynomials: +:OrthoHSum:OrthoHSum(c, x);:sums of series of orthogonal polynomials: +:OrthoHSum:OrthoHSum(c, x);:sums of series of orthogonal polynomials: +:OrthoL:OrthoL(n, a, x);:Laguerre orthogonal polynomials: +:OrthoL:OrthoL(n, a, x);:Laguerre orthogonal polynomials: +:OrthoLSum:OrthoLSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoLSum:OrthoLSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthonormalBasis:OrthonormalBasis(W):create an orthonormal basis : +:OrthonormalBasis:OrthonormalBasis(W):create an orthonormal basis : +:OrthoPoly:OrthoPoly(name, n, par, x):internal function for constructing orthogonal polynomials: +:OrthoPoly:OrthoPoly(name, n, par, x):internal function for constructing orthogonal polynomials: +:OrthoPolySum:OrthoPolySum(name, c, par, x):internal function for computing series of orthogonal polynomials: +:OrthoPolySum:OrthoPolySum(name, c, par, x):internal function for computing series of orthogonal polynomials: +:OrthoP:OrthoP(n, a, b, x);:: +:OrthoP:OrthoP(n, a, b, x);:: +:OrthoP:OrthoP(n, x);:Legendre and Jacobi orthogonal polynomials: +:OrthoP:OrthoP(n, x);:Legendre and Jacobi orthogonal polynomials: +:OrthoPSum:OrthoPSum(c, a, b, x);:: +:OrthoPSum:OrthoPSum(c, a, b, x);:: +:OrthoPSum:OrthoPSum(c, x);:sums of series of orthogonal polynomials: +:OrthoPSum:OrthoPSum(c, x);:sums of series of orthogonal polynomials: +:OrthoT:OrthoT(n, x);:Chebyshev polynomials: +:OrthoT:OrthoT(n, x);:Chebyshev polynomials: +:OrthoTSum:OrthoTSum(c, x);:sums of series of orthogonal polynomials: +:OrthoTSum:OrthoTSum(c, x);:sums of series of orthogonal polynomials: +:OrthoU:OrthoU(n, x);:Chebyshev polynomials: +:OrthoU:OrthoU(n, x);:Chebyshev polynomials: +:OrthoUSum:OrthoUSum(c, x);:sums of series of orthogonal polynomials: +:OrthoUSum:OrthoUSum(c, x);:sums of series of orthogonal polynomials: +:Outer:Outer(t1,t2):get outer tensor product: +:Outer:Outer(t1,t2):get outer tensor product: +:PAdicExpand:PAdicExpand(n, p):p-adic expansion: +:PAdicExpand:PAdicExpand(n, p):p-adic expansion: +:Partition:Partition(list, n):partition a list in sublists of equal length: +:Partition:Partition(list, n):partition a list in sublists of equal length: +:PatchLoad:PatchLoad(name):execute commands between {} in file: +:PatchLoad:PatchLoad(name):execute commands between {} in file: +:PatchString:PatchString(string):execute commands between {} in strings: +:PatchString:PatchString(string):execute commands between {} in strings: +:PDF:PDF(dist,x):probability density function: +:PDF:PDF(dist,x):probability density function: +:Permutations:Permutations(list):get all permutations of a list: +:Permutations:Permutations(list):get all permutations of a list: +:Pi:Pi:mathematical constant, $pi$: +:Pi:Pi:mathematical constant, $pi$: +:Plot2D:Plot2D(f(x), a b):: +:Plot2D:Plot2D(f(x), a b):: +:Plot2D:Plot2D(f(x), a b, option=value, ...):: +:Plot2D:Plot2D(f(x), a b, option=value, ...):: +:Plot2D:Plot2D(f(x), a b, option=value):: +:Plot2D:Plot2D(f(x), a b, option=value):: +:Plot2D:Plot2D(f(x)):adaptive two-dimensional plotting: +:Plot2D:Plot2D(f(x)):adaptive two-dimensional plotting: +:Plot2D:Plot2D(list, ...):: +:Plot2D:Plot2D(list, ...):: +:Plot3DS:Plot3DS(f(x,y), a b, c d):: +:Plot3DS:Plot3DS(f(x,y), a b, c d):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value, ...):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value, ...):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value):: +:Plot3DS:Plot3DS(f(x,y)):three-dimensional (surface) plotting: +:Plot3DS:Plot3DS(f(x,y)):three-dimensional (surface) plotting: +:Plot3DS:Plot3DS(list, ...):: +:Plot3DS:Plot3DS(list, ...):: +:PopBack:PopBack(stack):remove an element from the bottom of a stack: +:PopBack:PopBack(stack):remove an element from the bottom of a stack: +:PopFront:PopFront(stack):remove an element from the top of a stack: +:PopFront:PopFront(stack):remove an element from the top of a stack: +:Pop:Pop(stack, n):remove an element from a stack: +:Pop:Pop(stack, n):remove an element from a stack: +:Postfix:Postfix("op"):define function syntax (postfix operator): +:Postfix:Postfix("op", precedence):: +:Prefix:Prefix("op"):define function syntax (prefix operator): +:Prefix:Prefix("op", precedence):: +:PrettyForm:PrettyForm(expr):print an expression nicely with ASCII art: +:PrettyForm:PrettyForm(expr):print an expression nicely with ASCII art: +:PrimitivePart:PrimitivePart(expr):primitive part of a univariate polynomial: +:PrimitivePart:PrimitivePart(expr):primitive part of a univariate polynomial: +:PrintList:PrintList(list, padding);:: +:PrintList:PrintList(list, padding);:: +:PrintList:PrintList(list):print list with padding: +:PrintList:PrintList(list):print list with padding: +:Prog:Prog(statement1, statement2, ...):block of statements: +:ProperDivisors:ProperDivisors(n):the number of proper divisors: +:ProperDivisors:ProperDivisors(n):the number of proper divisors: +:ProperDivisorsSum:ProperDivisorsSum(n):the sum of proper divisors: +:ProperDivisorsSum:ProperDivisorsSum(n):the sum of proper divisors: +:Pslq:Pslq(xlist,precision):search for integer relations between reals: +:Pslq:Pslq(xlist,precision):search for integer relations between reals: +:PSolve:PSolve(poly, var):solve a polynomial equation: +:PSolve:PSolve(poly, var):solve a polynomial equation: +:Push:Push(stack, expr):add an element on top of a stack: +:Push:Push(stack, expr):add an element on top of a stack: +:RadSimp:RadSimp(expr):simplify expression with nested radicals: +:RadSimp:RadSimp(expr):simplify expression with nested radicals: +:RamanujanSum:RamanujanSum(k,n):compute the "Ramanujan sum": +:RamanujanSum:RamanujanSum(k,n):compute the "Ramanujan sum": +:RandomIntegerMatrix:RandomIntegerMatrix(rows,cols,from,to):generate a matrix of random integers: +:RandomIntegerMatrix:RandomIntegerMatrix(rows,cols,from,to):generate a matrix of random integers: +:RandomIntegerVector:RandomIntegerVector(nr, from, to):generate a vector of random integers: +:RandomIntegerVector:RandomIntegerVector(nr, from, to):generate a vector of random integers: +:RandomPoly:RandomPoly(var,deg,coefmin,coefmax):construct a random polynomial: +:RandomPoly:RandomPoly(var,deg,coefmin,coefmax):construct a random polynomial: +:Random:Random():(pseudo-) random number generator: +:Random:Random():(pseudo-) random number generator: +:RandomSeed:RandomSeed(init):(pseudo-) random number generator: +:RandomSeed:RandomSeed(init):(pseudo-) random number generator: +:RandVerifyArithmetic:RandVerifyArithmetic(n):Special purpose arithmetic verifiers: +:Rationalize:Rationalize(expr):convert floating point numbers to fractions: +:Rationalize:Rationalize(expr):convert floating point numbers to fractions: +:ReadCmdLineString:ReadCmdLineString(prompt):read an expression from command line and return in string: +:ReadCmdLineString:ReadCmdLineString(prompt):read an expression from command line and return in string: +:Read:Read():read an expression from current input: +:Read:Read():read an expression from current input: +:ReadToken:ReadToken():read a token from current input: +:ReadToken:ReadToken():read a token from current input: +:RemoveDuplicates:RemoveDuplicates(list):remove any duplicates from a list: +:RemoveDuplicates:RemoveDuplicates(list):remove any duplicates from a list: +:Replace:Replace(list, n, expr):replace an entry in a list: +:Replace:Replace(list, n, expr):replace an entry in a list: +:Re:Re(x):real part of a complex number: +:Re:Re(x):real part of a complex number: +:Re:Re(x):real part of a complex number: +:Retract:Retract("function",arity):erase rules for a function: +:ReversePoly:ReversePoly(f, g, var, newvar, degree):solve $h(f(x)) = g(x) + O(x^n)$ for $h$: +:ReversePoly:ReversePoly(f, g, var, newvar, degree):solve $h(f(x)) = g(x) + O(x^n)$ for $h$: +:Reverse:Reverse(list):return the reversed list (without touching the original): +:Reverse:Reverse(list):return the reversed list (without touching the original): +:RightAssociative:RightAssociative("op"):declare associativity: +:RightPrecedence:RightPrecedence("op",precedence):set operator precedence: +:RngCreate:RngCreate(init):: +:RngCreate:RngCreate(init):: +:RngCreate:RngCreate():manipulate random number generators as objects: +:RngCreate:RngCreate():manipulate random number generators as objects: +:RngCreate:RngCreate(option==value,...):: +:RngCreate:RngCreate(option==value,...):: +:Rng:Rng(r):manipulate random number generators as objects: +:Rng:Rng(r):manipulate random number generators as objects: +:RngSeed:RngSeed(r, init):manipulate random number generators as objects: +:RngSeed:RngSeed(r, init):manipulate random number generators as objects: +:Round:Round(x):round a number to the nearest integer: +:Round:Round(x):round a number to the nearest integer: +:RoundTo:RoundTo(number,precision):Round a real-valued result to a set number of digits: +:RuleBaseArgList:RuleBaseArgList("operator", arity):obtain list of arguments: +:RuleBaseListed:RuleBaseListed("name", params):define function with variable number of arguments: +:RuleBase:RuleBase(name,params):define function with a fixed number of arguments: +:Rule:Rule("operator", arity,:define a rewrite rule: +:Secure:Secure(body):guard the host OS: +:Select:Select(pred, list):select entries satisfying some predicate: +:Select:Select(pred, list):select entries satisfying some predicate: +:SetGlobalLazyVariable:SetGlobalLazyVariable(var,value):global variable is to be evaluated lazily: +:SetGlobalLazyVariable:SetGlobalLazyVariable(var,value):global variable is to be evaluated lazily: +:Set:Set(var, exp):assignment: +:Set:Set(var, exp):assignment: +:ShiftLeft:ShiftLeft(expr,bits):: +:ShiftRight:ShiftRight(expr,bits):: +:Sign:Sign(x):sign of a number: +:Sign:Sign(x):sign of a number: +:Simplify:Simplify(expr):try to simplify an expression: +:Simplify:Simplify(expr):try to simplify an expression: +:Sin:Sin(x):trigonometric sine function: +:Sin:Sin(x):trigonometric sine function: +:SolveMatrix:SolveMatrix(M,v):solve a linear system: +:SolveMatrix:SolveMatrix(M,v):solve a linear system: +:Solve:Solve(eq, var):solve an equation: +:Solve:Solve(eq, var):solve an equation: +:Space:Space(nr):: +:Space:Space(nr):: +:Space:Space():print one or more spaces: +:Space:Space():print one or more spaces: +:Sparsity:Sparsity(matrix):get the sparsity of a matrix: +:Sparsity:Sparsity(matrix):get the sparsity of a matrix: +:Sqrt:Sqrt(x):square root: +:Sqrt:Sqrt(x):square root: +:SquareFreeDivisorsList:SquareFreeDivisorsList(n):the list of square-free divisors: +:SquareFreeDivisorsList:SquareFreeDivisorsList(n):the list of square-free divisors: +:SquareFree:SquareFree(p):return the square-free part of polynomial: +:SquareFree:SquareFree(p):return the square-free part of polynomial: +:StirlingNumber1:StirlingNumber1(n,m):return the {n,m}th Stirling Number of the first kind: +:StirlingNumber1:StirlingNumber1(n,m):return the {n,m}th Stirling Number of the first kind: +:StringMid'Get:StringMid'Get(index,length,string):retrieve a substring: +:StringMid'Get:StringMid'Get(index,length,string):retrieve a substring: +:StringMid'Set:StringMid'Set(index,substring,string):change a substring: +:StringMid'Set:StringMid'Set(index,substring,string):change a substring: +:String:String(atom):convert atom to string: +:String:String(atom):convert atom to string: +:Subfactorial:Subfactorial(m):factorial and related functions: +:Subfactorial:Subfactorial(m):factorial and related functions: +:Subst:Subst(from, to) expr:perform a substitution: +:Subst:Subst(from, to) expr:perform a substitution: +:SuchThat:SuchThat(expr, var):special purpose solver: +:SuchThat:SuchThat(expr, var):special purpose solver: +:SumForDivisors:SumForDivisors(var,n,expr):loop over divisors: +:SumForDivisors:SumForDivisors(var,n,expr):loop over divisors: +:Sum:Sum(var, from, to, body):find sum of a sequence: +:Sum:Sum(var, from, to, body):find sum of a sequence: +:SumTaylorNum:SumTaylorNum(x, NthTerm, order):optimized numerical evaluation of Taylor series: +:SumTaylorNum:SumTaylorNum(x, NthTerm, order):optimized numerical evaluation of Taylor series: +:SumTaylorNum:SumTaylorNum(x, NthTerm, TermFactor, order):: +:SumTaylorNum:SumTaylorNum(x, NthTerm, TermFactor, order):: +:SumTaylorNum:SumTaylorNum(x, ZerothTerm, TermFactor, order):: +:SumTaylorNum:SumTaylorNum(x, ZerothTerm, TermFactor, order):: +:Swap:Swap(list, i1, i2):swap two elements in a list: +:Swap:Swap(list, i1, i2):swap two elements in a list: +:SylvesterMatrix:SylvesterMatrix(poly1,poly2,variable):calculate the Sylvester matrix of two polynomials: +:SylvesterMatrix:SylvesterMatrix(poly1,poly2,variable):calculate the Sylvester matrix of two polynomials: +:SystemCall:SystemCall(str):pass a command to the shell: +:SystemCall:SystemCall(str):pass a command to the shell: +:TableForm:TableForm(list):print each entry in a list on a line: +:TableForm:TableForm(list):print each entry in a list on a line: +:Table:Table(body, var, from, to, step):evaluate while some variable ranges over interval: +:Table:Table(body, var, from, to, step):evaluate while some variable ranges over interval: +:Tail:Tail(list):returns a list without its first element: +:Tail:Tail(list):returns a list without its first element: +:Take:Take(list, {m,n}):: +:Take:Take(list, {m,n}):: +:Take:Take(list, -n):: +:Take:Take(list, -n):: +:Take:Take(list, n):take a sublist from a list, dropping the rest: +:Take:Take(list, n):take a sublist from a list, dropping the rest: +:Tan:Tan(x):trigonometric tangent function: +:Tan:Tan(x):trigonometric tangent function: +:Taylor:Taylor(var, at, order) expr:univariate Taylor series expansion: +:Taylor:Taylor(var, at, order) expr:univariate Taylor series expansion: +:TestYacas:TestYacas(question,answer):verifying equivalence of two expressions: +:TeXForm:TeXForm(expr):export expressions to $LaTeX$: +:TeXForm:TeXForm(expr):export expressions to $LaTeX$: +:Time:Time(expr):measure the time taken by a function: +:Time:Time(expr):measure the time taken by a function: +:ToBase:ToBase(base, number):conversion of a number in decimal base to non-decimal base: +:ToBase:ToBase(base, number):conversion of a number in decimal base to non-decimal base: +:ToeplitzMatrix:ToeplitzMatrix(N):create a Toeplitz matrix: +:ToeplitzMatrix:ToeplitzMatrix(N):create a Toeplitz matrix: +:ToFile:ToFile(name) body:connect current output to a file: +:ToFile:ToFile(name) body:connect current output to a file: +:ToStdout:ToStdout() body:select initial output stream for output: +:ToStdout:ToStdout() body:select initial output stream for output: +:ToString:ToString() body:connect current output to a string: +:ToString:ToString() body:connect current output to a string: +:TraceExp:TraceExp(expr):evaluate with tracing enabled: +:TraceExp:TraceExp(expr):evaluate with tracing enabled: +:TraceRule:TraceRule(template) expr:turn on tracing for a particular function: +:TraceRule:TraceRule(template) expr:turn on tracing for a particular function: +:TraceStack:TraceStack(expression):show calling stack after an error occurs: +:TraceStack:TraceStack(expression):show calling stack after an error occurs: +:Trace:Trace(M):trace of a matrix: +:Trace:Trace(M):trace of a matrix: +:Transpose:Transpose(M):get transpose of a matrix: +:Transpose:Transpose(M):get transpose of a matrix: +:TrapError:TrapError(expression,errorHandler):trap "hard" errors: +:TrigSimpCombine:TrigSimpCombine(expr):combine products of trigonometric functions: +:TrigSimpCombine:TrigSimpCombine(expr):combine products of trigonometric functions: +:True:True:boolean constant representing true: +:True:True:boolean constant representing true: +:TruncRadian:TruncRadian(r):remainder modulo $2*Pi$: +:Type:Type(expr):return the type of an expression: +:Type:Type(expr):return the type of an expression: +:Undefined:Undefined:constant signifying an undefined result: +:Undefined:Undefined:constant signifying an undefined result: +:UnFence:UnFence("operator",arity):change local variable scope for a function: +:UnFlatten:UnFlatten(list,operator,identity):inverse operation of Flatten: +:UnFlatten:UnFlatten(list,operator,identity):inverse operation of Flatten: +:Union:Union(l1, l2):return the union of two lists: +:Union:Union(l1, l2):return the union of two lists: +:UniqueConstant:UniqueConstant():create a unique identifier: +:UniqueConstant:UniqueConstant():create a unique identifier: +:UnList:UnList(list):convert a list to a function application: +:UnList:UnList(list):convert a list to a function application: +:Until:Until(pred) body:loop until a condition is met: +:Until:Until(pred) body:loop until a condition is met: +:Use:Use(name):load a file, but not twice: +:Use:Use(name):load a file, but not twice: +:Use:Use(name):load a file, but not twice: +:Use:Use(name):load a file, but not twice: +:VandermondeMatrix:VandermondeMatrix(vector):create the Vandermonde matrix: +:VandermondeMatrix:VandermondeMatrix(vector):create the Vandermonde matrix: +:VarListArith:VarListArith(expr):list of variables appearing in an expression: +:VarListArith:VarListArith(expr):list of variables appearing in an expression: +:VarListSome:VarListSome(expr, list):list of variables appearing in an expression: +:VarListSome:VarListSome(expr, list):list of variables appearing in an expression: +:VarList:VarList(expr):list of variables appearing in an expression: +:VarList:VarList(expr):list of variables appearing in an expression: +:VerifyArithmetic:VerifyArithmetic(x,n,m):Special purpose arithmetic verifiers: +:VerifyDiv:VerifyDiv(u,v):Special purpose arithmetic verifiers: +:Verify:Verify(question,answer):verifying equivalence of two expressions: +:V:V(expression):set verbose output mode: +:V:V(expression):set verbose output mode: +:While:While(pred) body:loop while a condition is met: +:While:While(pred) body:loop while a condition is met: +:WithValue:WithValue({var,...}, {val,...}, expr):: +:WithValue:WithValue({var,...}, {val,...}, expr):: +:WithValue:WithValue(var, val, expr):temporary assignment during an evaluation: +:WithValue:WithValue(var, val, expr):temporary assignment during an evaluation: +:WriteString:WriteString(string):low-level printing routine for strings: +:WriteString:WriteString(string):low-level printing routine for strings: +:Write:Write(expr, ...):low-level printing routine: +:Write:Write(expr, ...):low-level printing routine: +:WronskianMatrix:WronskianMatrix(func,var):create the Wronskian matrix: +:WronskianMatrix:WronskianMatrix(func,var):create the Wronskian matrix: +:XmlExplodeTag:XmlExplodeTag(xmltext):convert XML strings to tag objects: +:XmlExplodeTag:XmlExplodeTag(xmltext):convert XML strings to tag objects: +:XmlTokenizer:XmlTokenizer():select an XML syntax tokenizer for parsing the input: +:XmlTokenizer:XmlTokenizer():select an XML syntax tokenizer for parsing the input: +:ZeroMatrix:ZeroMatrix(n, m):: +:ZeroMatrix:ZeroMatrix(n, m):: +:ZeroMatrix:ZeroMatrix(n):make a zero matrix: +:ZeroMatrix:ZeroMatrix(n):make a zero matrix: +:ZeroVector:ZeroVector(n):create a vector with all zeroes: +:ZeroVector:ZeroVector(n):create a vector with all zeroes: +:Zeta:Zeta(x):Riemann's Zeta function: +:Zeta:Zeta(x):Riemann's Zeta function: Index: yacas-1.3.3/manmake/Makefile.in =================================================================== --- yacas-1.3.3.orig/manmake/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/manmake/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -20,6 +20,23 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -97,6 +114,11 @@ -o $@ SOURCES = $(manripper_SOURCES) $(removeduplicates_SOURCES) DIST_SOURCES = $(manripper_SOURCES) $(removeduplicates_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) @@ -352,8 +374,11 @@ $(CXXLINK) $(removeduplicates_OBJECTS) $(removeduplicates_LDADD) $(LIBS) install-binSCRIPTS: $(bin_SCRIPTS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ Index: yacas-1.3.3/manmake/tail.txt =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yacas-1.3.3/manmake/tail.txt 2012-12-22 10:03:26.000000000 +0100 @@ -0,0 +1 @@ +:::: Index: yacas-1.3.3/manmake/hints.unsorted =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yacas-1.3.3/manmake/hints.unsorted 2012-12-22 10:03:26.000000000 +0100 @@ -0,0 +1,1042 @@ +:Div:Div(x,y):Determine divisor of two mathematical objects: +:Mod:Mod(x,y):Determine remainder of two mathematical objects after dividing one by the other: +:Gcd:Gcd(n,m):greatest common divisor: +:Gcd:Gcd(list):: +:Lcm:Lcm(n,m):least common multiple: +:Lcm:Lcm(list):: +:FromBase:FromBase(base,"string"):conversion of a number from non-decimal base to decimal base: +:ToBase:ToBase(base, number):conversion of a number in decimal base to non-decimal base: +:N:N(expression):try determine numerical approximation of expression: +:N:N(expression, precision):: +:Rationalize:Rationalize(expr):convert floating point numbers to fractions: +:ContFrac:ContFrac(x):continued fraction expansion: +:ContFrac:ContFrac(x, depth):: +:Decimal:Decimal(frac):decimal representation of a rational: +:Floor:Floor(x):round a number downwards: +:Ceil:Ceil(x):round a number upwards: +:Round:Round(x):round a number to the nearest integer: +:Min:Min(x,y):minimum of a number of values: +:Min:Min(list):: +:Max:Max(x,y):maximum of a number of values: +:Max:Max(list):: +:Numer:Numer(expr):numerator of an expression: +:Denom:Denom(expr):denominator of an expression: +:Pslq:Pslq(xlist,precision):search for integer relations between reals: +:IsZero:IsZero(n):test whether argument is zero: +:IsRational:IsRational(expr):test whether argument is a rational: +:Sin:Sin(x):trigonometric sine function: +:Cos:Cos(x):trigonometric cosine function: +:Tan:Tan(x):trigonometric tangent function: +:ArcSin:ArcSin(x):inverse trigonometric function arc-sine: +:ArcCos:ArcCos(x):inverse trigonometric function arc-cosine: +:ArcTan:ArcTan(x):inverse trigonometric function arc-tangent: +:Exp:Exp(x):exponential function: +:Ln:Ln(x):natural logarithm: +:Sqrt:Sqrt(x):square root: +:Abs:Abs(x):absolute value or modulus of complex number: +:Sign:Sign(x):sign of a number: +:D:D(variable) expression:take derivative of expression with respect to variable: +:D:D(list) expression:: +:D:D(variable,n) expression:: +:Curl:Curl(vector, basis):curl of a vector field: +:Diverge:Diverge(vector, basis):divergence of a vector field: +:Integrate:Integrate(var, x1, x2) expr:integration: +:Integrate:Integrate(var) expr:: +:Limit:Limit(var, val) expr:limit of an expression: +:Limit:Limit(var, val, dir) expr:: +:Random:Random():(pseudo-) random number generator: +:RandomSeed:RandomSeed(init):(pseudo-) random number generator: +:RngCreate:RngCreate():manipulate random number generators as objects: +:RngCreate:RngCreate(init):: +:RngCreate:RngCreate(option==value,...):: +:RngSeed:RngSeed(r, init):manipulate random number generators as objects: +:Rng:Rng(r):manipulate random number generators as objects: +:RandomIntegerMatrix:RandomIntegerMatrix(rows,cols,from,to):generate a matrix of random integers: +:RandomIntegerVector:RandomIntegerVector(nr, from, to):generate a vector of random integers: +:RandomPoly:RandomPoly(var,deg,coefmin,coefmax):construct a random polynomial: +:Add:Add(val1, val2, ...):find sum of a list of values: +:Add:Add({list}):: +:Sum:Sum(var, from, to, body):find sum of a sequence: +:Factorize:Factorize(list):product of a list of values: +:Factorize:Factorize(var, from, to, body):: +:Taylor:Taylor(var, at, order) expr:univariate Taylor series expansion: +:InverseTaylor:InverseTaylor(var, at, order) expr:Taylor expansion of inverse: +:ReversePoly:ReversePoly(f, g, var, newvar, degree):solve $h(f(x)) = g(x) + O(x^n)$ for $h$: +:BigOh:BigOh(poly, var, degree):drop all terms of a certain order in a polynomial: +:LagrangeInterpolant:LagrangeInterpolant(xlist, ylist, var):polynomial interpolation: +:Subfactorial:Subfactorial(m):factorial and related functions: +:Bin:Bin(n, m):binomial coefficients: +:Eulerian:Eulerian(n,m):Eulerian numbers: +:LeviCivita:LeviCivita(list):totally anti-symmetric Levi-Civita symbol: +:Permutations:Permutations(list):get all permutations of a list: +:Gamma:Gamma(x):Euler's Gamma function: +:Zeta:Zeta(x):Riemann's Zeta function: +:Bernoulli:Bernoulli(index):Bernoulli numbers and polynomials: +:Bernoulli:Bernoulli(index, x):: +:Euler:Euler(index):Euler numbers and polynomials: +:Euler:Euler(index,x):: +:LambertW:LambertW(x):Lambert's $W$ function: +:Complex:Complex(r, c):construct a complex number: +:Re:Re(x):real part of a complex number: +:Im:Im(x):imaginary part of a complex number: +:I:I:imaginary unit: +:Conjugate:Conjugate(x):complex conjugate: +:Arg:Arg(x):argument of a complex number: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:Simplify:Simplify(expr):try to simplify an expression: +:RadSimp:RadSimp(expr):simplify expression with nested radicals: +:FactorialSimplify:FactorialSimplify(expression):Simplify hypergeometric expressions containing factorials: +:LnExpand:LnExpand(expr):expand a logarithmic expression using standard logarithm rules: +:LnCombine:LnCombine(expr):combine logarithmic expressions using standard logarithm rules: +:TrigSimpCombine:TrigSimpCombine(expr):combine products of trigonometric functions: +:Solve:Solve(eq, var):solve an equation: +:OldSolve:OldSolve(eq, var):old version of {Solve}: +:OldSolve:OldSolve(eqlist, varlist):: +:SuchThat:SuchThat(expr, var):special purpose solver: +:Eliminate:Eliminate(var, value, expr):substitute and simplify: +:PSolve:PSolve(poly, var):solve a polynomial equation: +:MatrixSolve:MatrixSolve(A,b):solve a system of equations: +:Newton:Newton(expr, var, initial, accuracy):solve an equation numerically with Newton's method: +:Newton:Newton(expr, var, initial, accuracy,min,max):: +:FindRealRoots:FindRealRoots(p):find the real roots of a polynomial: +:NumRealRoots:NumRealRoots(p):return the number of real roots of a polynomial: +:MinimumBound:MinimumBound(p):return lower bounds on the absolute values of real roots of a polynomial: +:MaximumBound:MaximumBound(p):return upper bounds on the absolute values of real roots of a polynomial: +:CanProve:CanProve(proposition):try to prove statement: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:Dot:Dot(t1,t2):get dot product of tensors: +:InProduct:InProduct(a,b):inner product of vectors (deprecated): +:CrossProduct:CrossProduct(a,b):outer product of vectors: +:Outer:Outer(t1,t2):get outer tensor product: +:ZeroVector:ZeroVector(n):create a vector with all zeroes: +:BaseVector:BaseVector(k, n):base vector: +:Identity:Identity(n):make identity matrix: +:ZeroMatrix:ZeroMatrix(n):make a zero matrix: +:ZeroMatrix:ZeroMatrix(n, m):: +:Diagonal:Diagonal(A):extract the diagonal from a matrix: +:DiagonalMatrix:DiagonalMatrix(d):construct a diagonal matrix: +:OrthogonalBasis:OrthogonalBasis(W):create an orthogonal basis : +:OrthonormalBasis:OrthonormalBasis(W):create an orthonormal basis : +:Normalize:Normalize(v):normalize a vector: +:Transpose:Transpose(M):get transpose of a matrix: +:Determinant:Determinant(M):determinant of a matrix: +:Trace:Trace(M):trace of a matrix: +:Inverse:Inverse(M):get inverse of a matrix: +:Minor:Minor(M,i,j):get principal minor of a matrix: +:CoFactor:CoFactor(M,i,j):cofactor of a matrix: +:MatrixPower:MatrixPower(mat,n):get nth power of a square matrix: +:SolveMatrix:SolveMatrix(M,v):solve a linear system: +:CharacteristicEquation:CharacteristicEquation(matrix,var):get characteristic polynomial of a matrix: +:EigenValues:EigenValues(matrix):get eigenvalues of a matrix: +:EigenVectors:EigenVectors(A,eigenvalues):get eigenvectors of a matrix: +:Sparsity:Sparsity(matrix):get the sparsity of a matrix: +:Cholesky:Cholesky(A):find the Cholesky Decomposition: +:IsScalar:IsScalar(expr):test for a scalar: +:IsVector:IsVector(expr):test for a vector: +:IsVector:IsVector(pred,expr):: +:IsMatrix:IsMatrix(expr):test for a matrix: +:IsMatrix:IsMatrix(pred,expr):: +:IsSquareMatrix:IsSquareMatrix(expr):test for a square matrix: +:IsSquareMatrix:IsSquareMatrix(pred,expr):: +:IsHermitian:IsHermitian(A):test for a Hermitian matrix: +:IsOrthogonal:IsOrthogonal(A):test for an orthogonal matrix: +:IsDiagonal:IsDiagonal(A):test for a diagonal matrix: +:IsLowerTriangular:IsLowerTriangular(A):test for a lower triangular matrix: +:IsUpperTriangular:IsUpperTriangular(A):test for an upper triangular matrix: +:IsSymmetric:IsSymmetric(A):test for a symmetric matrix: +:IsSkewSymmetric:IsSkewSymmetric(A):test for a skew-symmetric matrix: +:IsUnitary:IsUnitary(A):test for a unitary matrix: +:IsIdempotent:IsIdempotent(A):test for an idempotent matrix: +:JacobianMatrix:JacobianMatrix(functions,variables):calculate the Jacobian matrix of $n$ functions in $n$ variables: +:VandermondeMatrix:VandermondeMatrix(vector):create the Vandermonde matrix: +:HessianMatrix:HessianMatrix(function,var):create the Hessian matrix: +:HilbertMatrix:HilbertMatrix(n):create a Hilbert matrix: +:HilbertMatrix:HilbertMatrix(n,m):: +:HilbertInverseMatrix:HilbertInverseMatrix(n):create a Hilbert inverse matrix: +:ToeplitzMatrix:ToeplitzMatrix(N):create a Toeplitz matrix: +:WronskianMatrix:WronskianMatrix(func,var):create the Wronskian matrix: +:SylvesterMatrix:SylvesterMatrix(poly1,poly2,variable):calculate the Sylvester matrix of two polynomials: +:Expand:Expand(expr):transform a polynomial to an expanded form: +:Expand:Expand(expr, var):: +:Expand:Expand(expr, varlist):: +:Degree:Degree(expr):degree of a polynomial: +:Degree:Degree(expr, var):: +:Coef:Coef(expr, var, order):coefficient of a polynomial: +:Content:Content(expr):content of a univariate polynomial: +:PrimitivePart:PrimitivePart(expr):primitive part of a univariate polynomial: +:LeadingCoef:LeadingCoef(poly):leading coefficient of a polynomial: +:LeadingCoef:LeadingCoef(poly, var):: +:Monic:Monic(poly):monic part of a polynomial: +:Monic:Monic(poly, var):: +:SquareFree:SquareFree(p):return the square-free part of polynomial: +:Horner:Horner(expr, var):convert a polynomial into the Horner form: +:ExpandBrackets:ExpandBrackets(expr):expand all brackets: +:EvaluateHornerScheme:EvaluateHornerScheme(coeffs,x):fast evaluation of polynomials: +:OrthoP:OrthoP(n, x);:Legendre and Jacobi orthogonal polynomials: +:OrthoP:OrthoP(n, a, b, x);:: +:OrthoH:OrthoH(n, x);:Hermite orthogonal polynomials: +:OrthoG:OrthoG(n, a, x);:Gegenbauer orthogonal polynomials: +:OrthoL:OrthoL(n, a, x);:Laguerre orthogonal polynomials: +:OrthoT:OrthoT(n, x);:Chebyshev polynomials: +:OrthoU:OrthoU(n, x);:Chebyshev polynomials: +:OrthoPSum:OrthoPSum(c, x);:sums of series of orthogonal polynomials: +:OrthoPSum:OrthoPSum(c, a, b, x);:: +:OrthoHSum:OrthoHSum(c, x);:sums of series of orthogonal polynomials: +:OrthoLSum:OrthoLSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoGSum:OrthoGSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoTSum:OrthoTSum(c, x);:sums of series of orthogonal polynomials: +:OrthoUSum:OrthoUSum(c, x);:sums of series of orthogonal polynomials: +:OrthoPoly:OrthoPoly(name, n, par, x):internal function for constructing orthogonal polynomials: +:OrthoPolySum:OrthoPolySum(name, c, par, x):internal function for computing series of orthogonal polynomials: +:Head:Head(list):the first element of a list: +:Tail:Tail(list):returns a list without its first element: +:Length:Length(object):the length of a list or string: +:Map:Map(fn, list):apply an $n$-ary function to all entries in a list: +:MapSingle:MapSingle(fn, list):apply a unary function to all entries in a list: +:MakeVector:MakeVector(var,n):vector of uniquely numbered variable names: +:Select:Select(pred, list):select entries satisfying some predicate: +:Nth:Nth(list, n):return the $n$-th element of a list: +:DestructiveReverse:DestructiveReverse(list):reverse a list destructively: +:Reverse:Reverse(list):return the reversed list (without touching the original): +:List:List(expr1, expr2, ...):construct a list: +:UnList:UnList(list):convert a list to a function application: +:Listify:Listify(expr):convert a function application to a list: +:Concat:Concat(list1, list2, ...):concatenate lists: +:Delete:Delete(list, n):delete an element from a list: +:Insert:Insert(list, n, expr):insert an element into a list: +:DestructiveDelete:DestructiveDelete(list, n):delete an element destructively from a list: +:DestructiveInsert:DestructiveInsert(list, n, expr):insert an element destructively into a list: +:Replace:Replace(list, n, expr):replace an entry in a list: +:DestructiveReplace:DestructiveReplace(list, n, expr):replace an entry destructively in a list: +:FlatCopy:FlatCopy(list):copy the top level of a list: +:Contains:Contains(list, expr):test whether a list contains a certain element: +:Find:Find(list, expr):get the index at which a certain element occurs: +:Append:Append(list, expr):append an entry at the end of a list: +:DestructiveAppend:DestructiveAppend(list, expr):destructively append an entry to a list: +:RemoveDuplicates:RemoveDuplicates(list):remove any duplicates from a list: +:Push:Push(stack, expr):add an element on top of a stack: +:Pop:Pop(stack, n):remove an element from a stack: +:PopFront:PopFront(stack):remove an element from the top of a stack: +:PopBack:PopBack(stack):remove an element from the bottom of a stack: +:Swap:Swap(list, i1, i2):swap two elements in a list: +:Count:Count(list, expr):count the number of occurrences of an expression: +:Intersection:Intersection(l1, l2):return the intersection of two lists: +:Union:Union(l1, l2):return the union of two lists: +:Difference:Difference(l1, l2):return the difference of two lists: +:FillList:FillList(expr, n):fill a list with a certain expression: +:Drop:Drop(list, n):drop a range of elements from a list: +:Drop:Drop(list, -n):: +:Drop:Drop(list, {m,n}):: +:Take:Take(list, n):take a sublist from a list, dropping the rest: +:Take:Take(list, -n):: +:Take:Take(list, {m,n}):: +:Partition:Partition(list, n):partition a list in sublists of equal length: +:Assoc:Assoc(key, alist):return element stored in association list: +:AssocIndices:AssocIndices(alist):return the keys in an association list: +:AssocDelete:AssocDelete(alist, "key"):delete an entry in an association list: +:AssocDelete:AssocDelete(alist, {key, value}):: +:Flatten:Flatten(expression,operator):flatten expression w.r.t. some operator: +:UnFlatten:UnFlatten(list,operator,identity):inverse operation of Flatten: +:Type:Type(expr):return the type of an expression: +:NrArgs:NrArgs(expr):return number of top-level arguments: +:VarList:VarList(expr):list of variables appearing in an expression: +:VarListArith:VarListArith(expr):list of variables appearing in an expression: +:VarListSome:VarListSome(expr, list):list of variables appearing in an expression: +:FuncList:FuncList(expr):list of functions used in an expression: +:FuncListArith:FuncListArith(expr):list of functions used in an expression: +:FuncListSome:FuncListSome(expr, list):list of functions used in an expression: +:BubbleSort:BubbleSort(list, compare):sort a list: +:HeapSort:HeapSort(list, compare):sort a list: +:PrintList:PrintList(list):print list with padding: +:PrintList:PrintList(list, padding);:: +:Table:Table(body, var, from, to, step):evaluate while some variable ranges over interval: +:TableForm:TableForm(list):print each entry in a list on a line: +:GlobalPop:GlobalPop(var):restore variables using a global stack: +:GlobalPop:GlobalPop():: +:GlobalPush:GlobalPush(expr):save variables using a global stack: +:NFunction:NFunction("newname","funcname", {arglist}):make wrapper for numeric functions: +:MaxEvalDepth:MaxEvalDepth(n):set the maximum evaluation depth: +:Hold:Hold(expr):keep expression unevaluated: +:Eval:Eval(expr):force evaluation of expression: +:While:While(pred) body:loop while a condition is met: +:Until:Until(pred) body:loop until a condition is met: +:If:If(pred, then):branch point: +:If:If(pred, then, else):: +:SystemCall:SystemCall(str):pass a command to the shell: +:Function:Function() func(arglist):declare or define a function: +:Function:Function() func(arglist, ...):: +:Function:Function("op", {arglist}) body:: +:Function:Function("op", {arglist, ...}) body:: +:Macro:Macro() func(arglist):declare or define a macro: +:Macro:Macro() func(arglist, ...):: +:Macro:Macro("op", {arglist}) body:: +:Macro:Macro("op", {arglist, ...}) body:: +:Use:Use(name):load a file, but not twice: +:For:For(init, pred, incr) body:C-style {for} loop: +:ForEach:ForEach(var, list) body:loop over all entries in list: +:Apply:Apply(fn, arglist):apply a function to arguments: +:MapArgs:MapArgs(expr, fn):apply a function to all top-level arguments: +:Subst:Subst(from, to) expr:perform a substitution: +:WithValue:WithValue(var, val, expr):temporary assignment during an evaluation: +:WithValue:WithValue({var,...}, {val,...}, expr):: +:TraceStack:TraceStack(expression):show calling stack after an error occurs: +:TraceExp:TraceExp(expr):evaluate with tracing enabled: +:TraceRule:TraceRule(template) expr:turn on tracing for a particular function: +:Time:Time(expr):measure the time taken by a function: +:Not:Not expr:logical negation: +:IsFreeOf:IsFreeOf(var, expr):test whether expression depends on variable: +:IsFreeOf:IsFreeOf({var, ...}, expr):: +:IsZeroVector:IsZeroVector(list):test whether list contains only zeroes: +:IsNonObject:IsNonObject(expr):test whether argument is not an {Object()}: +:IsEven:IsEven(n):test for an even integer: +:IsOdd:IsOdd(n):test for an odd integer: +:IsEvenFunction:IsEvenFunction(expression,variable):Return true if function is an even function, False otherwise: +:IsOddFunction:IsOddFunction(expression,variable):Return true if function is an odd function, False otherwise: +:IsFunction:IsFunction(expr):test for a composite object: +:IsAtom:IsAtom(expr):test for an atom: +:IsString:IsString(expr):test for an string: +:IsNumber:IsNumber(expr):test for a number: +:IsList:IsList(expr):test for a list: +:IsNumericList:IsNumericList({list}):test for a list of numbers: +:IsBound:IsBound(var):test for a bound variable: +:IsBoolean:IsBoolean(expression):test for a Boolean value: +:IsNegativeNumber:IsNegativeNumber(n):test for a negative number: +:IsNegativeInteger:IsNegativeInteger(n):test for a negative integer: +:IsPositiveNumber:IsPositiveNumber(n):test for a positive number: +:IsPositiveInteger:IsPositiveInteger(n):test for a positive integer: +:IsNotZero:IsNotZero(n):test for a nonzero number: +:IsNonZeroInteger:IsNonZeroInteger(n):test for a nonzero integer: +:IsInfinity:IsInfinity(expr):test for an infinity: +:IsPositiveReal:IsPositiveReal(expr):test for a numerically positive value: +:IsNegativeReal:IsNegativeReal(expr):test for a numerically negative value: +:IsConstant:IsConstant(expr):test for a constant: +:IsGaussianInteger:IsGaussianInteger(z):test for a Gaussian integer: +:MatchLinear:MatchLinear(x,expr):match an expression to a polynomial of degree one in a variable: +:HasExpr:HasExpr(expr, x):check for expression containing a subexpression: +:HasExprArith:HasExprArith(expr, x):check for expression containing a subexpression: +:HasExprSome:HasExprSome(expr, x, list):check for expression containing a subexpression: +:HasFunc:HasFunc(expr, func):check for expression containing a function: +:HasFuncArith:HasFuncArith(expr, func):check for expression containing a function: +:HasFuncSome:HasFuncSome(expr, func, list):check for expression containing a function: +:True:True:boolean constant representing true: +:False:False:boolean constant representing false: +:EndOfFile:EndOfFile:end-of-file marker: +:Infinity:Infinity:constant representing mathematical infinity: +:Pi:Pi:mathematical constant, $pi$: +:Undefined:Undefined:constant signifying an undefined result: +:GoldenRatio:GoldenRatio:the Golden Ratio: +:Catalan:Catalan:Catalan's Constant: +:Set:Set(var, exp):assignment: +:Clear:Clear(var, ...):undo an assignment: +:Local:Local(var, ...):declare new local variables: +:Object:Object("pred", exp):create an incomplete type: +:SetGlobalLazyVariable:SetGlobalLazyVariable(var,value):global variable is to be evaluated lazily: +:UniqueConstant:UniqueConstant():create a unique identifier: +:LocalSymbols:LocalSymbols(var1, var2, ...) body:create unique local symbols with given prefix: +:FullForm:FullForm(expr):print an expression in LISP-format: +:Echo:Echo(item):high-level printing routine: +:Echo:Echo(list):: +:Echo:Echo(item,item,item,...):: +:PrettyForm:PrettyForm(expr):print an expression nicely with ASCII art: +:EvalFormula:EvalFormula(expr):print an evaluation nicely with ASCII art: +:TeXForm:TeXForm(expr):export expressions to $LaTeX$: +:CForm:CForm(expr):export expression to C++ code: +:IsCFormable:IsCFormable(expr):check possibility to export expression to C++ code: +:IsCFormable:IsCFormable(expr, funclist):: +:Write:Write(expr, ...):low-level printing routine: +:WriteString:WriteString(string):low-level printing routine for strings: +:Space:Space():print one or more spaces: +:Space:Space(nr):: +:NewLine:NewLine():print one or more newline characters: +:NewLine:NewLine(nr):: +:FromFile:FromFile(name) body:connect current input to a file: +:FromString:FromString(str) body;:connect current input to a string: +:ToFile:ToFile(name) body:connect current output to a file: +:ToString:ToString() body:connect current output to a string: +:Read:Read():read an expression from current input: +:ToStdout:ToStdout() body:select initial output stream for output: +:ReadCmdLineString:ReadCmdLineString(prompt):read an expression from command line and return in string: +:LispRead:LispRead():read expressions in LISP syntax: +:LispReadListed:LispReadListed():read expressions in LISP syntax: +:ReadToken:ReadToken():read a token from current input: +:Load:Load(name):evaluate all expressions in a file: +:Use:Use(name):load a file, but not twice: +:DefLoad:DefLoad(name):load a {.def} file: +:FindFile:FindFile(name):find a file in the current path: +:PatchLoad:PatchLoad(name):execute commands between {} in file: +:Nl:Nl():the newline character: +:V:V(expression):set verbose output mode: +:InVerboseMode:InVerboseMode():set verbose output mode: +:Plot2D:Plot2D(f(x)):adaptive two-dimensional plotting: +:Plot2D:Plot2D(f(x), a b):: +:Plot2D:Plot2D(f(x), a b, option=value):: +:Plot2D:Plot2D(f(x), a b, option=value, ...):: +:Plot2D:Plot2D(list, ...):: +:Plot3DS:Plot3DS(f(x,y)):three-dimensional (surface) plotting: +:Plot3DS:Plot3DS(f(x,y), a b, c d):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value, ...):: +:Plot3DS:Plot3DS(list, ...):: +:XmlExplodeTag:XmlExplodeTag(xmltext):convert XML strings to tag objects: +:DefaultTokenizer:DefaultTokenizer():select the default syntax tokenizer for parsing the input: +:XmlTokenizer:XmlTokenizer():select an XML syntax tokenizer for parsing the input: +:OMForm:OMForm(expression):convert Yacas expression to OpenMath: +:OMRead:OMRead():convert expression from OpenMath to Yacas expression: +:OMDef:OMDef(yacasForm, cd, name):define translations from Yacas to OpenMath and vice-versa.: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM):: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM, omToYacas):: +:StringMid'Set:StringMid'Set(index,substring,string):change a substring: +:StringMid'Get:StringMid'Get(index,length,string):retrieve a substring: +:Atom:Atom("string"):convert string to atom: +:String:String(atom):convert atom to string: +:ConcatStrings:ConcatStrings(strings):concatenate strings: +:PatchString:PatchString(string):execute commands between {} in strings: +:BernoulliDistribution:BernoulliDistribution(p):Bernoulli distribution: +:BinomialDistribution:BinomialDistribution(p,n):binomial distribution: +:PDF:PDF(dist,x):probability density function: +:ChiSquareTest:ChiSquareTest(observed,expected):Pearson's ChiSquare test: +:ChiSquareTest:ChiSquareTest(observed,expected,params):: +:IsPrime:IsPrime(n):test for a prime number: +:IsSmallPrime:IsSmallPrime(n):test for a (small) prime number: +:IsComposite:IsComposite(n):test for a composite number: +:IsCoprime:IsCoprime(m,n):test if integers are coprime : +:IsCoprime:IsCoprime(list):: +:IsSquareFree:IsSquareFree(n):test for a square-free number: +:IsPrimePower:IsPrimePower(n):test for a power of a prime number: +:NextPrime:NextPrime(i):generate a prime following a number: +:IsTwinPrime:IsTwinPrime(n):test for a twin prime: +:IsIrregularPrime:IsIrregularPrime(n):test for an irregular prime: +:IsCarmichaelNumber:IsCarmichaelNumber(n):test for a Carmichael number: +:Factors:Factors(x):factorization: +:IsAmicablePair:IsAmicablePair(m,n):test for a pair of amicable numbers: +:Factor:Factor(x):factorization, in pretty form: +:Divisors:Divisors(n):number of divisors: +:DivisorsSum:DivisorsSum(n):the sum of divisors: +:ProperDivisors:ProperDivisors(n):the number of proper divisors: +:ProperDivisorsSum:ProperDivisorsSum(n):the sum of proper divisors: +:Moebius:Moebius(n):the Moebius function: +:CatalanNumber:CatalanNumber(n):return the {n}th Catalan Number: +:FermatNumber:FermatNumber(n):return the {n}th Fermat Number: +:HarmonicNumber:HarmonicNumber(n):return the {n}th Harmonic Number: +:HarmonicNumber:HarmonicNumber(n,r):: +:StirlingNumber1:StirlingNumber1(n,m):return the {n,m}th Stirling Number of the first kind: +:DivisorsList:DivisorsList(n):the list of divisors: +:SquareFreeDivisorsList:SquareFreeDivisorsList(n):the list of square-free divisors: +:MoebiusDivisorsList:MoebiusDivisorsList(n):the list of divisors and Moebius values: +:SumForDivisors:SumForDivisors(var,n,expr):loop over divisors: +:RamanujanSum:RamanujanSum(k,n):compute the "Ramanujan sum": +:Cyclotomic:Cyclotomic(n,x):construct the cyclotomic polynomial: +:PAdicExpand:PAdicExpand(n, p):p-adic expansion: +:IsQuadraticResidue:IsQuadraticResidue(m,n):functions related to finite groups: +:LegendreSymbol:LegendreSymbol(m,n):functions related to finite groups: +:JacobiSymbol:JacobiSymbol(m,n):functions related to finite groups: +:GaussianFactors:GaussianFactors(z):factorization in Gaussian integers: +:GaussianNorm:GaussianNorm(z):norm of a Gaussian integer: +:IsGaussianUnit:IsGaussianUnit(z):test for a Gaussian unit: +:IsGaussianPrime:IsGaussianPrime(z):test for a Gaussian prime: +:GaussianGcd:GaussianGcd(z,w):greatest common divisor in Gaussian integers: +:Div:Div(x,y):Determine divisor of two mathematical objects: +:Mod:Mod(x,y):Determine remainder of two mathematical objects after dividing one by the other: +:Gcd:Gcd(n,m):greatest common divisor: +:Gcd:Gcd(list):: +:Lcm:Lcm(n,m):least common multiple: +:Lcm:Lcm(list):: +:FromBase:FromBase(base,"string"):conversion of a number from non-decimal base to decimal base: +:ToBase:ToBase(base, number):conversion of a number in decimal base to non-decimal base: +:N:N(expression):try determine numerical approximation of expression: +:N:N(expression, precision):: +:Rationalize:Rationalize(expr):convert floating point numbers to fractions: +:ContFrac:ContFrac(x):continued fraction expansion: +:ContFrac:ContFrac(x, depth):: +:Decimal:Decimal(frac):decimal representation of a rational: +:Floor:Floor(x):round a number downwards: +:Ceil:Ceil(x):round a number upwards: +:Round:Round(x):round a number to the nearest integer: +:Min:Min(x,y):minimum of a number of values: +:Min:Min(list):: +:Max:Max(x,y):maximum of a number of values: +:Max:Max(list):: +:Numer:Numer(expr):numerator of an expression: +:Denom:Denom(expr):denominator of an expression: +:Pslq:Pslq(xlist,precision):search for integer relations between reals: +:IsZero:IsZero(n):test whether argument is zero: +:IsRational:IsRational(expr):test whether argument is a rational: +:Sin:Sin(x):trigonometric sine function: +:Cos:Cos(x):trigonometric cosine function: +:Tan:Tan(x):trigonometric tangent function: +:ArcSin:ArcSin(x):inverse trigonometric function arc-sine: +:ArcCos:ArcCos(x):inverse trigonometric function arc-cosine: +:ArcTan:ArcTan(x):inverse trigonometric function arc-tangent: +:Exp:Exp(x):exponential function: +:Ln:Ln(x):natural logarithm: +:Sqrt:Sqrt(x):square root: +:Abs:Abs(x):absolute value or modulus of complex number: +:Sign:Sign(x):sign of a number: +:D:D(variable) expression:take derivative of expression with respect to variable: +:D:D(list) expression:: +:D:D(variable,n) expression:: +:Curl:Curl(vector, basis):curl of a vector field: +:Diverge:Diverge(vector, basis):divergence of a vector field: +:Integrate:Integrate(var, x1, x2) expr:integration: +:Integrate:Integrate(var) expr:: +:Limit:Limit(var, val) expr:limit of an expression: +:Limit:Limit(var, val, dir) expr:: +:Random:Random():(pseudo-) random number generator: +:RandomSeed:RandomSeed(init):(pseudo-) random number generator: +:RngCreate:RngCreate():manipulate random number generators as objects: +:RngCreate:RngCreate(init):: +:RngCreate:RngCreate(option==value,...):: +:RngSeed:RngSeed(r, init):manipulate random number generators as objects: +:Rng:Rng(r):manipulate random number generators as objects: +:RandomIntegerMatrix:RandomIntegerMatrix(rows,cols,from,to):generate a matrix of random integers: +:RandomIntegerVector:RandomIntegerVector(nr, from, to):generate a vector of random integers: +:RandomPoly:RandomPoly(var,deg,coefmin,coefmax):construct a random polynomial: +:Add:Add(val1, val2, ...):find sum of a list of values: +:Add:Add({list}):: +:Sum:Sum(var, from, to, body):find sum of a sequence: +:Factorize:Factorize(list):product of a list of values: +:Factorize:Factorize(var, from, to, body):: +:Taylor:Taylor(var, at, order) expr:univariate Taylor series expansion: +:InverseTaylor:InverseTaylor(var, at, order) expr:Taylor expansion of inverse: +:ReversePoly:ReversePoly(f, g, var, newvar, degree):solve $h(f(x)) = g(x) + O(x^n)$ for $h$: +:BigOh:BigOh(poly, var, degree):drop all terms of a certain order in a polynomial: +:LagrangeInterpolant:LagrangeInterpolant(xlist, ylist, var):polynomial interpolation: +:Subfactorial:Subfactorial(m):factorial and related functions: +:Bin:Bin(n, m):binomial coefficients: +:Eulerian:Eulerian(n,m):Eulerian numbers: +:LeviCivita:LeviCivita(list):totally anti-symmetric Levi-Civita symbol: +:Permutations:Permutations(list):get all permutations of a list: +:Gamma:Gamma(x):Euler's Gamma function: +:Zeta:Zeta(x):Riemann's Zeta function: +:Bernoulli:Bernoulli(index):Bernoulli numbers and polynomials: +:Bernoulli:Bernoulli(index, x):: +:Euler:Euler(index):Euler numbers and polynomials: +:Euler:Euler(index,x):: +:LambertW:LambertW(x):Lambert's $W$ function: +:Complex:Complex(r, c):construct a complex number: +:Re:Re(x):real part of a complex number: +:Im:Im(x):imaginary part of a complex number: +:I:I:imaginary unit: +:Conjugate:Conjugate(x):complex conjugate: +:Arg:Arg(x):argument of a complex number: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:Complex:Complex(r, c):construct a complex number: +:Re:Re(x):real part of a complex number: +:Im:Im(x):imaginary part of a complex number: +:I:I:imaginary unit: +:Conjugate:Conjugate(x):complex conjugate: +:Arg:Arg(x):argument of a complex number: +:Solve:Solve(eq, var):solve an equation: +:OldSolve:OldSolve(eq, var):old version of {Solve}: +:OldSolve:OldSolve(eqlist, varlist):: +:SuchThat:SuchThat(expr, var):special purpose solver: +:Eliminate:Eliminate(var, value, expr):substitute and simplify: +:PSolve:PSolve(poly, var):solve a polynomial equation: +:MatrixSolve:MatrixSolve(A,b):solve a system of equations: +:Newton:Newton(expr, var, initial, accuracy):solve an equation numerically with Newton's method: +:Newton:Newton(expr, var, initial, accuracy,min,max):: +:FindRealRoots:FindRealRoots(p):find the real roots of a polynomial: +:NumRealRoots:NumRealRoots(p):return the number of real roots of a polynomial: +:MinimumBound:MinimumBound(p):return lower bounds on the absolute values of real roots of a polynomial: +:MaximumBound:MaximumBound(p):return upper bounds on the absolute values of real roots of a polynomial: +:CanProve:CanProve(proposition):try to prove statement: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:Simplify:Simplify(expr):try to simplify an expression: +:RadSimp:RadSimp(expr):simplify expression with nested radicals: +:FactorialSimplify:FactorialSimplify(expression):Simplify hypergeometric expressions containing factorials: +:LnExpand:LnExpand(expr):expand a logarithmic expression using standard logarithm rules: +:LnCombine:LnCombine(expr):combine logarithmic expressions using standard logarithm rules: +:TrigSimpCombine:TrigSimpCombine(expr):combine products of trigonometric functions: +:OdeSolve:OdeSolve(expr1==expr2):general ODE solver: +:OdeTest:OdeTest(eqn,testsol):test the solution of an ODE: +:OdeOrder:OdeOrder(eqn):return order of an ODE: +:Dot:Dot(t1,t2):get dot product of tensors: +:InProduct:InProduct(a,b):inner product of vectors (deprecated): +:CrossProduct:CrossProduct(a,b):outer product of vectors: +:Outer:Outer(t1,t2):get outer tensor product: +:ZeroVector:ZeroVector(n):create a vector with all zeroes: +:BaseVector:BaseVector(k, n):base vector: +:Identity:Identity(n):make identity matrix: +:ZeroMatrix:ZeroMatrix(n):make a zero matrix: +:ZeroMatrix:ZeroMatrix(n, m):: +:Diagonal:Diagonal(A):extract the diagonal from a matrix: +:DiagonalMatrix:DiagonalMatrix(d):construct a diagonal matrix: +:OrthogonalBasis:OrthogonalBasis(W):create an orthogonal basis : +:OrthonormalBasis:OrthonormalBasis(W):create an orthonormal basis : +:Normalize:Normalize(v):normalize a vector: +:Transpose:Transpose(M):get transpose of a matrix: +:Determinant:Determinant(M):determinant of a matrix: +:Trace:Trace(M):trace of a matrix: +:Inverse:Inverse(M):get inverse of a matrix: +:Minor:Minor(M,i,j):get principal minor of a matrix: +:CoFactor:CoFactor(M,i,j):cofactor of a matrix: +:MatrixPower:MatrixPower(mat,n):get nth power of a square matrix: +:SolveMatrix:SolveMatrix(M,v):solve a linear system: +:CharacteristicEquation:CharacteristicEquation(matrix,var):get characteristic polynomial of a matrix: +:EigenValues:EigenValues(matrix):get eigenvalues of a matrix: +:EigenVectors:EigenVectors(A,eigenvalues):get eigenvectors of a matrix: +:Sparsity:Sparsity(matrix):get the sparsity of a matrix: +:Cholesky:Cholesky(A):find the Cholesky Decomposition: +:IsScalar:IsScalar(expr):test for a scalar: +:IsVector:IsVector(expr):test for a vector: +:IsVector:IsVector(pred,expr):: +:IsMatrix:IsMatrix(expr):test for a matrix: +:IsMatrix:IsMatrix(pred,expr):: +:IsSquareMatrix:IsSquareMatrix(expr):test for a square matrix: +:IsSquareMatrix:IsSquareMatrix(pred,expr):: +:IsHermitian:IsHermitian(A):test for a Hermitian matrix: +:IsOrthogonal:IsOrthogonal(A):test for an orthogonal matrix: +:IsDiagonal:IsDiagonal(A):test for a diagonal matrix: +:IsLowerTriangular:IsLowerTriangular(A):test for a lower triangular matrix: +:IsUpperTriangular:IsUpperTriangular(A):test for an upper triangular matrix: +:IsSymmetric:IsSymmetric(A):test for a symmetric matrix: +:IsSkewSymmetric:IsSkewSymmetric(A):test for a skew-symmetric matrix: +:IsUnitary:IsUnitary(A):test for a unitary matrix: +:IsIdempotent:IsIdempotent(A):test for an idempotent matrix: +:JacobianMatrix:JacobianMatrix(functions,variables):calculate the Jacobian matrix of $n$ functions in $n$ variables: +:VandermondeMatrix:VandermondeMatrix(vector):create the Vandermonde matrix: +:HessianMatrix:HessianMatrix(function,var):create the Hessian matrix: +:HilbertMatrix:HilbertMatrix(n):create a Hilbert matrix: +:HilbertMatrix:HilbertMatrix(n,m):: +:HilbertInverseMatrix:HilbertInverseMatrix(n):create a Hilbert inverse matrix: +:ToeplitzMatrix:ToeplitzMatrix(N):create a Toeplitz matrix: +:WronskianMatrix:WronskianMatrix(func,var):create the Wronskian matrix: +:SylvesterMatrix:SylvesterMatrix(poly1,poly2,variable):calculate the Sylvester matrix of two polynomials: +:Expand:Expand(expr):transform a polynomial to an expanded form: +:Expand:Expand(expr, var):: +:Expand:Expand(expr, varlist):: +:Degree:Degree(expr):degree of a polynomial: +:Degree:Degree(expr, var):: +:Coef:Coef(expr, var, order):coefficient of a polynomial: +:Content:Content(expr):content of a univariate polynomial: +:PrimitivePart:PrimitivePart(expr):primitive part of a univariate polynomial: +:LeadingCoef:LeadingCoef(poly):leading coefficient of a polynomial: +:LeadingCoef:LeadingCoef(poly, var):: +:Monic:Monic(poly):monic part of a polynomial: +:Monic:Monic(poly, var):: +:SquareFree:SquareFree(p):return the square-free part of polynomial: +:Horner:Horner(expr, var):convert a polynomial into the Horner form: +:ExpandBrackets:ExpandBrackets(expr):expand all brackets: +:EvaluateHornerScheme:EvaluateHornerScheme(coeffs,x):fast evaluation of polynomials: +:OrthoP:OrthoP(n, x);:Legendre and Jacobi orthogonal polynomials: +:OrthoP:OrthoP(n, a, b, x);:: +:OrthoH:OrthoH(n, x);:Hermite orthogonal polynomials: +:OrthoG:OrthoG(n, a, x);:Gegenbauer orthogonal polynomials: +:OrthoL:OrthoL(n, a, x);:Laguerre orthogonal polynomials: +:OrthoT:OrthoT(n, x);:Chebyshev polynomials: +:OrthoU:OrthoU(n, x);:Chebyshev polynomials: +:OrthoPSum:OrthoPSum(c, x);:sums of series of orthogonal polynomials: +:OrthoPSum:OrthoPSum(c, a, b, x);:: +:OrthoHSum:OrthoHSum(c, x);:sums of series of orthogonal polynomials: +:OrthoLSum:OrthoLSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoGSum:OrthoGSum(c, a, x);:sums of series of orthogonal polynomials: +:OrthoTSum:OrthoTSum(c, x);:sums of series of orthogonal polynomials: +:OrthoUSum:OrthoUSum(c, x);:sums of series of orthogonal polynomials: +:OrthoPoly:OrthoPoly(name, n, par, x):internal function for constructing orthogonal polynomials: +:OrthoPolySum:OrthoPolySum(name, c, par, x):internal function for computing series of orthogonal polynomials: +:Head:Head(list):the first element of a list: +:Tail:Tail(list):returns a list without its first element: +:Length:Length(object):the length of a list or string: +:Map:Map(fn, list):apply an $n$-ary function to all entries in a list: +:MapSingle:MapSingle(fn, list):apply a unary function to all entries in a list: +:MakeVector:MakeVector(var,n):vector of uniquely numbered variable names: +:Select:Select(pred, list):select entries satisfying some predicate: +:Nth:Nth(list, n):return the $n$-th element of a list: +:DestructiveReverse:DestructiveReverse(list):reverse a list destructively: +:Reverse:Reverse(list):return the reversed list (without touching the original): +:List:List(expr1, expr2, ...):construct a list: +:UnList:UnList(list):convert a list to a function application: +:Listify:Listify(expr):convert a function application to a list: +:Concat:Concat(list1, list2, ...):concatenate lists: +:Delete:Delete(list, n):delete an element from a list: +:Insert:Insert(list, n, expr):insert an element into a list: +:DestructiveDelete:DestructiveDelete(list, n):delete an element destructively from a list: +:DestructiveInsert:DestructiveInsert(list, n, expr):insert an element destructively into a list: +:Replace:Replace(list, n, expr):replace an entry in a list: +:DestructiveReplace:DestructiveReplace(list, n, expr):replace an entry destructively in a list: +:FlatCopy:FlatCopy(list):copy the top level of a list: +:Contains:Contains(list, expr):test whether a list contains a certain element: +:Find:Find(list, expr):get the index at which a certain element occurs: +:Append:Append(list, expr):append an entry at the end of a list: +:DestructiveAppend:DestructiveAppend(list, expr):destructively append an entry to a list: +:RemoveDuplicates:RemoveDuplicates(list):remove any duplicates from a list: +:Push:Push(stack, expr):add an element on top of a stack: +:Pop:Pop(stack, n):remove an element from a stack: +:PopFront:PopFront(stack):remove an element from the top of a stack: +:PopBack:PopBack(stack):remove an element from the bottom of a stack: +:Swap:Swap(list, i1, i2):swap two elements in a list: +:Count:Count(list, expr):count the number of occurrences of an expression: +:Intersection:Intersection(l1, l2):return the intersection of two lists: +:Union:Union(l1, l2):return the union of two lists: +:Difference:Difference(l1, l2):return the difference of two lists: +:FillList:FillList(expr, n):fill a list with a certain expression: +:Drop:Drop(list, n):drop a range of elements from a list: +:Drop:Drop(list, -n):: +:Drop:Drop(list, {m,n}):: +:Take:Take(list, n):take a sublist from a list, dropping the rest: +:Take:Take(list, -n):: +:Take:Take(list, {m,n}):: +:Partition:Partition(list, n):partition a list in sublists of equal length: +:Assoc:Assoc(key, alist):return element stored in association list: +:AssocIndices:AssocIndices(alist):return the keys in an association list: +:AssocDelete:AssocDelete(alist, "key"):delete an entry in an association list: +:AssocDelete:AssocDelete(alist, {key, value}):: +:Flatten:Flatten(expression,operator):flatten expression w.r.t. some operator: +:UnFlatten:UnFlatten(list,operator,identity):inverse operation of Flatten: +:Type:Type(expr):return the type of an expression: +:NrArgs:NrArgs(expr):return number of top-level arguments: +:VarList:VarList(expr):list of variables appearing in an expression: +:VarListArith:VarListArith(expr):list of variables appearing in an expression: +:VarListSome:VarListSome(expr, list):list of variables appearing in an expression: +:FuncList:FuncList(expr):list of functions used in an expression: +:FuncListArith:FuncListArith(expr):list of functions used in an expression: +:FuncListSome:FuncListSome(expr, list):list of functions used in an expression: +:BubbleSort:BubbleSort(list, compare):sort a list: +:HeapSort:HeapSort(list, compare):sort a list: +:PrintList:PrintList(list):print list with padding: +:PrintList:PrintList(list, padding);:: +:Table:Table(body, var, from, to, step):evaluate while some variable ranges over interval: +:TableForm:TableForm(list):print each entry in a list on a line: +:GlobalPop:GlobalPop(var):restore variables using a global stack: +:GlobalPop:GlobalPop():: +:GlobalPush:GlobalPush(expr):save variables using a global stack: +:NFunction:NFunction("newname","funcname", {arglist}):make wrapper for numeric functions: +:MaxEvalDepth:MaxEvalDepth(n):set the maximum evaluation depth: +:Hold:Hold(expr):keep expression unevaluated: +:Eval:Eval(expr):force evaluation of expression: +:While:While(pred) body:loop while a condition is met: +:Until:Until(pred) body:loop until a condition is met: +:If:If(pred, then):branch point: +:If:If(pred, then, else):: +:SystemCall:SystemCall(str):pass a command to the shell: +:Function:Function() func(arglist):declare or define a function: +:Function:Function() func(arglist, ...):: +:Function:Function("op", {arglist}) body:: +:Function:Function("op", {arglist, ...}) body:: +:Macro:Macro() func(arglist):declare or define a macro: +:Macro:Macro() func(arglist, ...):: +:Macro:Macro("op", {arglist}) body:: +:Macro:Macro("op", {arglist, ...}) body:: +:Use:Use(name):load a file, but not twice: +:For:For(init, pred, incr) body:C-style {for} loop: +:ForEach:ForEach(var, list) body:loop over all entries in list: +:Apply:Apply(fn, arglist):apply a function to arguments: +:MapArgs:MapArgs(expr, fn):apply a function to all top-level arguments: +:Subst:Subst(from, to) expr:perform a substitution: +:WithValue:WithValue(var, val, expr):temporary assignment during an evaluation: +:WithValue:WithValue({var,...}, {val,...}, expr):: +:TraceStack:TraceStack(expression):show calling stack after an error occurs: +:TraceExp:TraceExp(expr):evaluate with tracing enabled: +:TraceRule:TraceRule(template) expr:turn on tracing for a particular function: +:Time:Time(expr):measure the time taken by a function: +:Not:Not expr:logical negation: +:IsFreeOf:IsFreeOf(var, expr):test whether expression depends on variable: +:IsFreeOf:IsFreeOf({var, ...}, expr):: +:IsZeroVector:IsZeroVector(list):test whether list contains only zeroes: +:IsNonObject:IsNonObject(expr):test whether argument is not an {Object()}: +:IsEven:IsEven(n):test for an even integer: +:IsOdd:IsOdd(n):test for an odd integer: +:IsEvenFunction:IsEvenFunction(expression,variable):Return true if function is an even function, False otherwise: +:IsOddFunction:IsOddFunction(expression,variable):Return true if function is an odd function, False otherwise: +:IsFunction:IsFunction(expr):test for a composite object: +:IsAtom:IsAtom(expr):test for an atom: +:IsString:IsString(expr):test for an string: +:IsNumber:IsNumber(expr):test for a number: +:IsList:IsList(expr):test for a list: +:IsNumericList:IsNumericList({list}):test for a list of numbers: +:IsBound:IsBound(var):test for a bound variable: +:IsBoolean:IsBoolean(expression):test for a Boolean value: +:IsNegativeNumber:IsNegativeNumber(n):test for a negative number: +:IsNegativeInteger:IsNegativeInteger(n):test for a negative integer: +:IsPositiveNumber:IsPositiveNumber(n):test for a positive number: +:IsPositiveInteger:IsPositiveInteger(n):test for a positive integer: +:IsNotZero:IsNotZero(n):test for a nonzero number: +:IsNonZeroInteger:IsNonZeroInteger(n):test for a nonzero integer: +:IsInfinity:IsInfinity(expr):test for an infinity: +:IsPositiveReal:IsPositiveReal(expr):test for a numerically positive value: +:IsNegativeReal:IsNegativeReal(expr):test for a numerically negative value: +:IsConstant:IsConstant(expr):test for a constant: +:IsGaussianInteger:IsGaussianInteger(z):test for a Gaussian integer: +:MatchLinear:MatchLinear(x,expr):match an expression to a polynomial of degree one in a variable: +:HasExpr:HasExpr(expr, x):check for expression containing a subexpression: +:HasExprArith:HasExprArith(expr, x):check for expression containing a subexpression: +:HasExprSome:HasExprSome(expr, x, list):check for expression containing a subexpression: +:HasFunc:HasFunc(expr, func):check for expression containing a function: +:HasFuncArith:HasFuncArith(expr, func):check for expression containing a function: +:HasFuncSome:HasFuncSome(expr, func, list):check for expression containing a function: +:CanProve:CanProve(proposition):try to prove statement: +:True:True:boolean constant representing true: +:False:False:boolean constant representing false: +:EndOfFile:EndOfFile:end-of-file marker: +:Infinity:Infinity:constant representing mathematical infinity: +:Pi:Pi:mathematical constant, $pi$: +:Undefined:Undefined:constant signifying an undefined result: +:GoldenRatio:GoldenRatio:the Golden Ratio: +:Catalan:Catalan:Catalan's Constant: +:Set:Set(var, exp):assignment: +:Clear:Clear(var, ...):undo an assignment: +:Local:Local(var, ...):declare new local variables: +:Object:Object("pred", exp):create an incomplete type: +:SetGlobalLazyVariable:SetGlobalLazyVariable(var,value):global variable is to be evaluated lazily: +:UniqueConstant:UniqueConstant():create a unique identifier: +:LocalSymbols:LocalSymbols(var1, var2, ...) body:create unique local symbols with given prefix: +:FullForm:FullForm(expr):print an expression in LISP-format: +:Echo:Echo(item):high-level printing routine: +:Echo:Echo(list):: +:Echo:Echo(item,item,item,...):: +:PrettyForm:PrettyForm(expr):print an expression nicely with ASCII art: +:EvalFormula:EvalFormula(expr):print an evaluation nicely with ASCII art: +:TeXForm:TeXForm(expr):export expressions to $LaTeX$: +:CForm:CForm(expr):export expression to C++ code: +:IsCFormable:IsCFormable(expr):check possibility to export expression to C++ code: +:IsCFormable:IsCFormable(expr, funclist):: +:Write:Write(expr, ...):low-level printing routine: +:WriteString:WriteString(string):low-level printing routine for strings: +:Space:Space():print one or more spaces: +:Space:Space(nr):: +:NewLine:NewLine():print one or more newline characters: +:NewLine:NewLine(nr):: +:FromFile:FromFile(name) body:connect current input to a file: +:FromString:FromString(str) body;:connect current input to a string: +:ToFile:ToFile(name) body:connect current output to a file: +:ToString:ToString() body:connect current output to a string: +:Read:Read():read an expression from current input: +:ToStdout:ToStdout() body:select initial output stream for output: +:ReadCmdLineString:ReadCmdLineString(prompt):read an expression from command line and return in string: +:LispRead:LispRead():read expressions in LISP syntax: +:LispReadListed:LispReadListed():read expressions in LISP syntax: +:ReadToken:ReadToken():read a token from current input: +:Load:Load(name):evaluate all expressions in a file: +:Use:Use(name):load a file, but not twice: +:DefLoad:DefLoad(name):load a {.def} file: +:FindFile:FindFile(name):find a file in the current path: +:PatchLoad:PatchLoad(name):execute commands between {} in file: +:Nl:Nl():the newline character: +:V:V(expression):set verbose output mode: +:InVerboseMode:InVerboseMode():set verbose output mode: +:Plot2D:Plot2D(f(x)):adaptive two-dimensional plotting: +:Plot2D:Plot2D(f(x), a b):: +:Plot2D:Plot2D(f(x), a b, option=value):: +:Plot2D:Plot2D(f(x), a b, option=value, ...):: +:Plot2D:Plot2D(list, ...):: +:Plot3DS:Plot3DS(f(x,y)):three-dimensional (surface) plotting: +:Plot3DS:Plot3DS(f(x,y), a b, c d):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value):: +:Plot3DS:Plot3DS(f(x,y), a b, c d, option=value, ...):: +:Plot3DS:Plot3DS(list, ...):: +:XmlExplodeTag:XmlExplodeTag(xmltext):convert XML strings to tag objects: +:DefaultTokenizer:DefaultTokenizer():select the default syntax tokenizer for parsing the input: +:XmlTokenizer:XmlTokenizer():select an XML syntax tokenizer for parsing the input: +:OMForm:OMForm(expression):convert Yacas expression to OpenMath: +:OMRead:OMRead():convert expression from OpenMath to Yacas expression: +:OMDef:OMDef(yacasForm, cd, name):define translations from Yacas to OpenMath and vice-versa.: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM):: +:OMDef:OMDef(yacasForm, cd, name, yacasToOM, omToYacas):: +:IsPrime:IsPrime(n):test for a prime number: +:IsSmallPrime:IsSmallPrime(n):test for a (small) prime number: +:IsComposite:IsComposite(n):test for a composite number: +:IsCoprime:IsCoprime(m,n):test if integers are coprime : +:IsCoprime:IsCoprime(list):: +:IsSquareFree:IsSquareFree(n):test for a square-free number: +:IsPrimePower:IsPrimePower(n):test for a power of a prime number: +:NextPrime:NextPrime(i):generate a prime following a number: +:IsTwinPrime:IsTwinPrime(n):test for a twin prime: +:IsIrregularPrime:IsIrregularPrime(n):test for an irregular prime: +:IsCarmichaelNumber:IsCarmichaelNumber(n):test for a Carmichael number: +:Factors:Factors(x):factorization: +:IsAmicablePair:IsAmicablePair(m,n):test for a pair of amicable numbers: +:Factor:Factor(x):factorization, in pretty form: +:Divisors:Divisors(n):number of divisors: +:DivisorsSum:DivisorsSum(n):the sum of divisors: +:ProperDivisors:ProperDivisors(n):the number of proper divisors: +:ProperDivisorsSum:ProperDivisorsSum(n):the sum of proper divisors: +:Moebius:Moebius(n):the Moebius function: +:CatalanNumber:CatalanNumber(n):return the {n}th Catalan Number: +:FermatNumber:FermatNumber(n):return the {n}th Fermat Number: +:HarmonicNumber:HarmonicNumber(n):return the {n}th Harmonic Number: +:HarmonicNumber:HarmonicNumber(n,r):: +:StirlingNumber1:StirlingNumber1(n,m):return the {n,m}th Stirling Number of the first kind: +:DivisorsList:DivisorsList(n):the list of divisors: +:SquareFreeDivisorsList:SquareFreeDivisorsList(n):the list of square-free divisors: +:MoebiusDivisorsList:MoebiusDivisorsList(n):the list of divisors and Moebius values: +:SumForDivisors:SumForDivisors(var,n,expr):loop over divisors: +:RamanujanSum:RamanujanSum(k,n):compute the "Ramanujan sum": +:Cyclotomic:Cyclotomic(n,x):construct the cyclotomic polynomial: +:PAdicExpand:PAdicExpand(n, p):p-adic expansion: +:IsQuadraticResidue:IsQuadraticResidue(m,n):functions related to finite groups: +:LegendreSymbol:LegendreSymbol(m,n):functions related to finite groups: +:JacobiSymbol:JacobiSymbol(m,n):functions related to finite groups: +:GaussianFactors:GaussianFactors(z):factorization in Gaussian integers: +:GaussianNorm:GaussianNorm(z):norm of a Gaussian integer: +:IsGaussianUnit:IsGaussianUnit(z):test for a Gaussian unit: +:IsGaussianPrime:IsGaussianPrime(z):test for a Gaussian prime: +:GaussianGcd:GaussianGcd(z,w):greatest common divisor in Gaussian integers: +:StringMid'Set:StringMid'Set(index,substring,string):change a substring: +:StringMid'Get:StringMid'Get(index,length,string):retrieve a substring: +:Atom:Atom("string"):convert string to atom: +:String:String(atom):convert atom to string: +:ConcatStrings:ConcatStrings(strings):concatenate strings: +:PatchString:PatchString(string):execute commands between {} in strings: +:LaplaceTransform:LaplaceTransform(t,s,func) :Laplace Transform: +:BernoulliDistribution:BernoulliDistribution(p):Bernoulli distribution: +:BinomialDistribution:BinomialDistribution(p,n):binomial distribution: +:PDF:PDF(dist,x):probability density function: +:ChiSquareTest:ChiSquareTest(observed,expected):Pearson's ChiSquare test: +:ChiSquareTest:ChiSquareTest(observed,expected,params):: +:Prog:Prog(statement1, statement2, ...):block of statements: +:Bodied:Bodied("op", precedence):define function syntax (bodied function): +:Infix:Infix("op"):define function syntax (infix operator): +:Infix:Infix("op", precedence):: +:Postfix:Postfix("op"):define function syntax (postfix operator): +:Postfix:Postfix("op", precedence):: +:Prefix:Prefix("op"):define function syntax (prefix operator): +:Prefix:Prefix("op", precedence):: +:IsBodied:IsBodied("op"):check for function syntax: +:IsInfix:IsInfix("op"):check for function syntax: +:IsPostfix:IsPostfix("op"):check for function syntax: +:IsPrefix:IsPrefix("op"):check for function syntax: +:OpPrecedence:OpPrecedence("op"):get operator precedence: +:OpLeftPrecedence:OpLeftPrecedence("op"):get operator precedence: +:OpRightPrecedence:OpRightPrecedence("op"):get operator precedence: +:RightAssociative:RightAssociative("op"):declare associativity: +:LeftPrecedence:LeftPrecedence("op",precedence):set operator precedence: +:RightPrecedence:RightPrecedence("op",precedence):set operator precedence: +:RuleBase:RuleBase(name,params):define function with a fixed number of arguments: +:RuleBaseListed:RuleBaseListed("name", params):define function with variable number of arguments: +:Rule:Rule("operator", arity,:define a rewrite rule: +:HoldArg:HoldArg("operator",parameter):mark argument as not evaluated: +:Retract:Retract("function",arity):erase rules for a function: +:UnFence:UnFence("operator",arity):change local variable scope for a function: +:HoldArgNr:HoldArgNr("function", arity, argNum):specify argument as not evaluated: +:RuleBaseArgList:RuleBaseArgList("operator", arity):obtain list of arguments: +:DefMacroRuleBase:DefMacroRuleBase(name,params):define a function as a macro: +:DefMacroRuleBaseListed:DefMacroRuleBaseListed("name", params):define macro with variable number of arguments: +:ExtraInfo'Set:ExtraInfo'Set(expr,tag):annotate objects with additional information: +:ExtraInfo'Get:ExtraInfo'Get(expr):annotate objects with additional information: +:GarbageCollect:GarbageCollect():do garbage collection on unused memory: +:FindFunction:FindFunction(function):find the library file where a function is defined: +:Secure:Secure(body):guard the host OS: +:MultiplyNum:MultiplyNum(x,y):optimized numerical multiplication: +:MultiplyNum:MultiplyNum(x,y,z,...):: +:MultiplyNum:MultiplyNum({x,y,z,...}):: +:CachedConstant:CachedConstant(cache, Cname, Cfunc):precompute multiple-precision constants: +:NewtonNum:NewtonNum(func, x0, prec0, order):low-level optimized Newton's iterations: +:NewtonNum:NewtonNum(func, x0, prec0):: +:NewtonNum:NewtonNum(func, x0):: +:SumTaylorNum:SumTaylorNum(x, NthTerm, order):optimized numerical evaluation of Taylor series: +:SumTaylorNum:SumTaylorNum(x, NthTerm, TermFactor, order):: +:SumTaylorNum:SumTaylorNum(x, ZerothTerm, TermFactor, order):: +:IntPowerNum:IntPowerNum(x, n, mult, unity):optimized computation of integer powers: +:BinSplitNum:BinSplitNum(n1, n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitData:BinSplitData(n1,n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitFinal:BinSplitFinal({P,Q,B,T}):computations of series by the binary splitting method: +:MathGetExactBits:MathGetExactBits(x):manipulate precision of floating-point numbers: +:MathSetExactBits:MathSetExactBits(x,bits):manipulate precision of floating-point numbers: +:NonN:NonN(expr):calculate part in non-numeric mode: +:InNumericMode:InNumericMode():determine if currently in numeric mode: +:IntLog:IntLog(n, base):integer part of logarithm: +:IntNthRoot:IntNthRoot(x, n):integer part of $n$-th root: +:NthRoot:NthRoot(m,n):calculate/simplify nth root of an integer: +:ContFracList:ContFracList(frac):manipulate continued fractions: +:ContFracList:ContFracList(frac, depth):: +:ContFracEval:ContFracEval(list):manipulate continued fractions: +:ContFracEval:ContFracEval(list, rest):: +:GuessRational:GuessRational(x):find optimal rational approximations: +:GuessRational:GuessRational(x, digits):: +:NearRational:NearRational(x):find optimal rational approximations: +:NearRational:NearRational(x, digits):: +:BracketRational:BracketRational(x, eps):find optimal rational approximations: +:TruncRadian:TruncRadian(r):remainder modulo $2*Pi$: +:Builtin'Precision'Set:Builtin'Precision'Set(n):set the precision: +:Builtin'Precision'Get:Builtin'Precision'Get():get the current precision: +:Check:Check(predicate,"error text"):report "hard" errors: +:TrapError:TrapError(expression,errorHandler):trap "hard" errors: +:GetCoreError:GetCoreError():get "hard" error string: +:Assert:Assert("str", expr) pred:signal "soft" custom error: +:Assert:Assert("str") pred:: +:Assert:Assert() pred:: +:DumpErrors:DumpErrors():simple error handlers: +:ClearErrors:ClearErrors():simple error handlers: +:IsError:IsError():check for custom error: +:IsError:IsError("str"):: +:GetError:GetError("str"):custom errors handlers: +:ClearError:ClearError("str"):custom errors handlers: +:GetErrorTableau:GetErrorTableau():custom errors handlers: +:CurrentFile:CurrentFile():return current input file: +:CurrentLine:CurrentLine():return current line number on input: +:MathNot:MathNot(expression):built-in logical "not": +:MathAnd:MathAnd(...):built-in logical "and": +:MathOr:MathOr(...):built-in logical "or": +:BitAnd:BitAnd(n,m):bitwise and operation: +:BitOr:BitOr(n,m):bitwise or operation: +:BitXor:BitXor(n,m):bitwise xor operation: +:Equals:Equals(a,b):check equality: +:GreaterThan:GreaterThan(a,b):comparison predicate: +:LessThan:LessThan(a,b):comparison predicate: +:MathGcd:MathGcd(n,m) (Greatest Common Divisor):: +:MathAdd:MathAdd(x,y) (add two numbers):: +:MathSubtract:MathSubtract(x,y) (subtract two numbers):: +:MathMultiply:MathMultiply(x,y) (multiply two numbers):: +:MathDivide:MathDivide(x,y) (divide two numbers):: +:MathSqrt:MathSqrt(x) (square root, must be x>=0):: +:MathFloor:MathFloor(x) (largest integer not larger than x):: +:MathCeil:MathCeil(x) (smallest integer not smaller than x):: +:MathAbs:MathAbs(x) (absolute value of x, or |x| ):: +:MathExp:MathExp(x) (exponential, base 2.718...):: +:MathLog:MathLog(x) (natural logarithm, for x>0):: +:MathPower:MathPower(x,y) (power, x ^ y):: +:MathSin:MathSin(x) (sine):: +:MathCos:MathCos(x) (cosine):: +:MathTan:MathTan(x) (tangent):: +:MathSinh:MathSinh(x) (hyperbolic sine):: +:MathCosh:MathCosh(x) (hyperbolic cosine):: +:MathTanh:MathTanh(x) (hyperbolic tangent):: +:MathArcSin:MathArcSin(x) (inverse sine):: +:MathArcCos:MathArcCos(x) (inverse cosine):: +:MathArcTan:MathArcTan(x) (inverse tangent):: +:MathArcSinh:MathArcSinh(x) (inverse hyperbolic sine):: +:MathArcCosh:MathArcCosh(x) (inverse hyperbolic cosine):: +:MathArcTanh:MathArcTanh(x) (inverse hyperbolic tangent):: +:MathDiv:MathDiv(x,y) (integer division, result is an integer):: +:MathMod:MathMod(x,y) (remainder of division, or x mod y):: +:ShiftLeft:ShiftLeft(expr,bits):: +:ShiftRight:ShiftRight(expr,bits):: +:IsPromptShown:IsPromptShown():test for the Yacas prompt option: +:GetTime:GetTime(expr):measure the time taken by an evaluation: +:IsGeneric:IsGeneric(object):check for generic object: +:GenericTypeName:GenericTypeName(object):get type name: +:Array'Create:Array'Create(size,init):create array: +:Array'Size:Array'Size(array):get array size: +:Array'Get:Array'Get(array,index):fetch array element: +:Array'Set:Array'Set(array,index,element):set array element: +:Array'CreateFromList:Array'CreateFromList(list):convert list to array: +:Array'ToList:Array'ToList(array):convert array to list: +:Verify:Verify(question,answer):verifying equivalence of two expressions: +:TestYacas:TestYacas(question,answer):verifying equivalence of two expressions: +:LogicVerify:LogicVerify(question,answer):verifying equivalence of two expressions: +:LogicTest:LogicTest(variables,expr1,expr2):verifying equivalence of two expressions: +:KnownFailure:KnownFailure(test):Mark a test as a known failure: +:RoundTo:RoundTo(number,precision):Round a real-valued result to a set number of digits: +:VerifyArithmetic:VerifyArithmetic(x,n,m):Special purpose arithmetic verifiers: +:RandVerifyArithmetic:RandVerifyArithmetic(n):Special purpose arithmetic verifiers: +:VerifyDiv:VerifyDiv(u,v):Special purpose arithmetic verifiers: +:MultiplyNum:MultiplyNum(x,y):optimized numerical multiplication: +:MultiplyNum:MultiplyNum(x,y,z,...):: +:MultiplyNum:MultiplyNum({x,y,z,...}):: +:CachedConstant:CachedConstant(cache, Cname, Cfunc):precompute multiple-precision constants: +:NewtonNum:NewtonNum(func, x0, prec0, order):low-level optimized Newton's iterations: +:NewtonNum:NewtonNum(func, x0, prec0):: +:NewtonNum:NewtonNum(func, x0):: +:SumTaylorNum:SumTaylorNum(x, NthTerm, order):optimized numerical evaluation of Taylor series: +:SumTaylorNum:SumTaylorNum(x, NthTerm, TermFactor, order):: +:SumTaylorNum:SumTaylorNum(x, ZerothTerm, TermFactor, order):: +:IntPowerNum:IntPowerNum(x, n, mult, unity):optimized computation of integer powers: +:BinSplitNum:BinSplitNum(n1, n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitData:BinSplitData(n1,n2, a, b, c, d):computations of series by the binary splitting method: +:BinSplitFinal:BinSplitFinal({P,Q,B,T}):computations of series by the binary splitting method: +:MathGetExactBits:MathGetExactBits(x):manipulate precision of floating-point numbers: +:MathSetExactBits:MathSetExactBits(x,bits):manipulate precision of floating-point numbers: Index: yacas-1.3.3/manmake/addons.chapt =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ yacas-1.3.3/manmake/addons.chapt 2012-12-22 10:03:26.000000000 +0100 @@ -0,0 +1,43 @@ + Chapter()"Platform-dependent packages"; + +ChapterIntro()"Certain facilities have been developed for use on Unix-like platforms, +which is currently the main development target for Yacas. Other facilities have limited support on the Windows platform as well. These functions are described in this chapter. +";Text()"":HtmlNewParagraph(): + +""; +CmdDescriptionSingle("Version", "show version of Yacas"); +BuiltIn(); +Topical() "Calling format:"; +Text()"":HtmlCommand(" +Version() +");Text()"":HtmlNewParagraph(): + +"";Topical() "Description:"; +Text()"The function ":HtmlTerm("Version()"):" returns a string representing the version of the currently running Yacas interpreter. +";Text()"":HtmlNewParagraph(): + +"";Topical() "Examples:"; +Text()"":HtmlCommand(" +In> Version() +Out> \"1.0.48rev3\"; +In> LessThan(Version(), \"1.0.47\") +Out> False; +In> GreaterThan(Version(), \"1.0.47\") +Out> True; +");Text()"":HtmlNewParagraph(): + +"The last two calls show that the ":HtmlTerm("LessThan"):" and ":HtmlTerm("GreaterThan"):" +functions can be used for comparing version numbers. This +method is only guaranteed, however, if the version is always expressed +in the form ":HtmlTerm("d.d.dd"):" as above. +";Text()"":HtmlNewParagraph(): + +"";DocumentationComment()" +Note that on the Windows platforms the output may be different: +In> Version() +Out> \"Windows-latest\"; +";Text()"":HtmlNewParagraph(): + +"";Topical()"See also:"; +SeeAlso({"LessThan", "GreaterThan"}); + Index: yacas-1.3.3/docs/Makefile.in =================================================================== --- yacas-1.3.3.orig/docs/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/docs/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -17,6 +17,23 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -65,6 +82,11 @@ -o $@ SOURCES = $(autocompleter_SOURCES) $(riptestfromyart_SOURCES) DIST_SOURCES = $(autocompleter_SOURCES) $(riptestfromyart_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -303,8 +325,11 @@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` install-htmlDATA: $(html_DATA) @$(NORMAL_INSTALL) - test -z "$(htmldir)" || $(MKDIR_P) "$(DESTDIR)$(htmldir)" @list='$(html_DATA)'; test -n "$(htmldir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ + fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ Index: yacas-1.3.3/tests/Makefile.in =================================================================== --- yacas-1.3.3.orig/tests/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/tests/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -26,6 +26,23 @@ # This variable can be overriden; eg. to only run complex.yts, # do 'make TESTFILES=complex.yts check'. VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -58,6 +75,11 @@ CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ Index: yacas-1.3.3/src/Makefile.in =================================================================== --- yacas-1.3.3.orig/src/Makefile.in 2012-12-22 10:03:26.000000000 +0100 +++ yacas-1.3.3/src/Makefile.in 2012-12-22 10:03:26.000000000 +0100 @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.11.3 from Makefile.am. +# Makefile.in generated by automake 1.11.6 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -18,6 +18,23 @@ VPATH = @srcdir@ +am__make_dryrun = \ + { \ + am__dry=no; \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \ + | grep '^AM OK$$' >/dev/null || am__dry=yes;; \ + *) \ + for am__flg in $$MAKEFLAGS; do \ + case $$am__flg in \ + *=*|--*) ;; \ + *n*) am__dry=yes; break;; \ + esac; \ + done;; \ + esac; \ + test $$am__dry = yes; \ + } pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ @@ -125,6 +142,11 @@ DIST_SOURCES = $(codereviewer_SOURCES) $(compressor_SOURCES) \ $(gencorefunctions_SOURCES) $(mkfastprimes_SOURCES) \ $(am__yacas_SOURCES_DIST) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac DATA = $(noinst_DATA) HEADERS = $(noinst_HEADERS) ETAGS = etags @@ -347,8 +369,11 @@ $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) - test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p; \ debian/patches/series0000644000000000000000000000002412065273536012037 0ustar 01_locchanges.patch debian/examples0000644000000000000000000000001612065273136010731 0ustar YacasNotebook debian/yacas-doc.doc-base0000644000000000000000000000113312065273136012433 0ustar Document: yacas Title: Yacas Documentation Author: Ayal Pinkus (apinkus@xs4all.nl) Abstract: Yacas (Yet Another Computer Algebra System) is a small and highly flexible computer algebra language. The syntax is very close to Mathematica. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. It supports arbitrary precision arithmetic. Section: Science/Mathematics Format: HTML Index: /usr/share/doc/yacas-doc/html/books.html Files: /usr/share/doc/yacas-doc/html/*.html debian/README.Debian0000644000000000000000000000154712065273136011243 0ustar Yacas has been built for debian with the following configure invocation: ./configure --prefix=/usr --with-numlib=native \ --enable-server --enable-proteus \ --sysconfdir=/etc --disable-rpath This uses the native yacas number library in favor of the GNU multi-precision arithmetic library, and it also allows the use of the server mode (see the reference manual in the Yacas documentation in the yacas-doc Debian package). Help within Yacas can be obtained by typing ?? or ?function for specific help on a function. In the default installation for Debian, the help system uses www-browser which is derived from /etc/alternatives. If you want to reset it to your own favorite browser, put the following in your $HOME/.yacasrc SetHelpBrowser("iceweasel"); for example, to use iceweasel as the help browser. Gopal Narayanan Sat Feb 12 20:50:47 EST 2005 debian/yacas.menu0000644000000000000000000000017312065273136011162 0ustar ?package(yacas):\ needs="text" \ section="Applications/Science/Mathematics" \ title="yacas" \ command="/usr/bin/yacas" debian/rules0000755000000000000000000000541612142244656010262 0ustar #!/usr/bin/make -f # Copyright 2000 Gopal Narayanan # Modified for debhelper by GN Sep. 1 2000 # needed to use the dpatch tools (like dpatch-edit-patch) package=yacas #libpackage=libyacas #proteus-package=yacas-proteus package-doc=yacas-doc ddir=`pwd`/debian/$(package) #ddir-lib=`pwd`/debian/$(libpackage) #ddir-proteus=`pwd`/debian/$(proteus-package) ddir-dic=`pwd`/debian/$(package-doc) arch=`dpkg --print-architecture` os = 'linux' ABOVE=$(shell pwd) INSTALL =/usr/bin/install GZIP =/bin/gzip INSTALL_DATA =$(INSTALL) -m 644 -o root -g root GZIP_DATA =$(GZIP) -9 CXXFLAGS = $(shell dpkg-buildflags --get CXXFLAGS) -fpermissive build: build-arch build-indep build-arch: build-stamp build-indep: build-stamp build-stamp: $(QUILT_STAMPFN) build-stamp: dh_testdir ./makemake CXXFLAGS="$(CXXFLAGS)" ./configure --prefix=/usr --with-numlib=native \ --enable-server \ --sysconfdir=/etc --with-script-dir=/usr/share/yacas --disable-rpath CXXFLAGS="$(CXXFLAGS)" $(MAKE) sysconfdir=/etc touch build-stamp clean: # $(checkdir) dh_testdir dh_testroot -rm -f build-stamp install-stamp [ ! -f Makefile ] || $(MAKE) distclean find . \( -name config.sub -o -name config.guess \) -print0 | xargs -0 -r rm -f \; dh_clean install: install-stamp install-stamp: build-stamp dh_testdir dh_testroot dh_clean -k dh_installdirs dh_installdocs -a $(MAKE) prefix=`pwd`/debian/yacas/usr \ datarootdir=`pwd`/debian/yacas/usr/share \ scriptdir=`pwd`/debian/yacas/usr/share/yacas \ htmldir=`pwd`/debian/yacas/usr/share/yacas/documentation \ sysconfdir=`pwd`/debian/yacas/etc install above=`pwd` $(INSTALL) -d debian/yacas-doc/usr/share/doc/$(package-doc)/html -mv debian/yacas/usr/share/yacas/documentation/* debian/yacas-doc/usr/share/doc/$(package-doc)/html/. -rm -rf debian/yacas/usr/share/yacas/documentation cp $(CURDIR)/manmake/*.js $(CURDIR)/debian/yacas-doc/usr/share/doc/yacas-doc/html/ touch install-stamp binary-indep: build install dh_testdir -i dh_testroot -i dh_installdirs -i dh_installdocs -i dh_installchangelogs -i dh_strip -i dh_compress -i -X.html -Xhints -X.gif dh_fixperms -i dh_installdeb -i dh_gencontrol -i dh_md5sums -i dh_builddeb -i binary-arch: build install dh_testdir -a dh_testroot -a dh_installdirs -a dh_installdocs -pyacas AUTHORS TODO -rm $(ddir)/usr/bin/ytxt2tex dh_installchangelogs -a -rm -rf $(ddir)/usr/share/yacas/manmake dh_installmenu -a docbook-to-man debian/yacas.sgml > debian/yacas.1 dh_link usr/share/man/man1/yacas.1 usr/share/man/man1/yacas_client.1 dh_installman -pyacas debian/yacas.1 dh_makeshlibs -pyacas dh_strip -a dh_compress -a dh_fixperms -a dh_installdeb -a dh_shlibdeps -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install debian/README.source0000644000000000000000000000037512065273136011357 0ustar dpatch: ====== The source package itself uses a mixture of dpatch and .diff.gz for the modifications of the upstream source. If you want to change something it is best to use the dpatch approach as documented in /usr/share/doc/dpatch/README.source.gz