info.tex 17 KB

  1. % From hearn@rand.orgSat Sep 16 16:54:48 1995
  2. % Date: Fri, 15 Sep 95 11:15:24 -0700
  3. % From: Tony Hearn <>
  4. % To: John Fitch <>, Arthur Norman <>,
  5. % Winfried Neun <>
  6. % Subject: Info package
  7. %
  8. % Here's the latest version. I have incorporated Arthur's suggestions in most
  9. % places. However, I haven't changed the table yet. What I need is
  10. % specific proposals from you guys, like:
  11. %
  12. % Please add the following:
  13. %
  14. % ...
  15. %
  16. % Please delete the following:
  17. %
  18. % ...
  19. %
  20. % Please change the following:
  21. %
  22. % ...
  23. %
  24. % I'll put this on the server now so that it will go this weekend to the
  25. % others. I can then send out the announcement next week.
  26. % -------------------------------------------------------------------------
  27. %
  29. %
  30. % To produce a printable version of this document, store it as info.tex and
  31. % say:
  32. % latex info
  33. %
  34. % If you prefer, you can obtain a hard copy by sending a request to:
  35. %
  36. % Anthony C. Hearn
  37. % RAND
  38. % 1700 Main Street
  39. % P.O. Box 2138
  40. % Santa Monica CA 90407-2138 U.S.A.
  41. % Telephone: +1-310-393-0411 Ext. 6615
  42. % Facsimile: +1-310-393-4818
  43. % Electronic Mail:
  44. %
  45. \documentstyle[11pt]{article}
  46. \textwidth 6.3in
  47. \topmargin -0.4in
  48. \textheight 8.7in
  49. \evensidemargin 0.25in
  50. \oddsidemargin 0.25in
  51. \newcommand{\REDUCE}{REDUCE}
  52. \newlength{\infoboxwidth}
  53. \setlength{\infoboxwidth}{5in}
  54. \begin{document}
  55. \parindent 0pt
  56. \parskip 6pt
  57. \itemsep 0pt
  58. \parsep 0pt
  59. \topsep 0pt
  60. \raggedbottom
  61. \begin{center}
  62. \LARGE
  63. {\bf REDUCE Information Package}
  64. \end{center}
  65. {\REDUCE} is an interactive program designed for general algebraic
  66. computations of interest to mathematicians, scientists and engineers. Its
  67. capabilities include:
  68. \begin{itemize}
  69. \item expansion and ordering of polynomials and rational functions;
  70. \item substitutions and pattern matching in a wide variety of forms;
  71. \item automatic and user controlled simplification of expressions;
  72. \item calculations with symbolic matrices;
  73. \item arbitrary precision integer and real arithmetic;
  74. \item facilities for defining new functions and extending program syntax;
  75. \item analytic differentiation and integration;
  76. \item factorization of polynomials;
  77. \item facilities for the solution of a variety of algebraic equations;
  78. \item facilities for the output of expressions in a variety of formats;
  79. \item facilities for generating optimized numerical programs from symbolic
  80. input;
  81. \item Dirac matrix calculations of interest to high energy physicists.
  82. \end{itemize}
  83. It is often used as an algebraic calculator for problems that are possible
  84. to do by hand. However, the main aim of {\REDUCE} is to support calculations
  85. that are not feasible by hand. Many such calculations take a significant
  86. time to set up and can run for minutes, hours or even days on the most
  87. powerful computers. In support of this goal, {\REDUCE} has the following
  88. characteristics:
  89. \begin{enumerate}
  90. \item Code stability. Various versions of {\REDUCE} have been in use for over
  91. twenty years. There has been a steady stream of improvements and
  92. refinements since then, with the source being subject to wide review by the
  93. user community. {\REDUCE} has thus evolved into a powerful system whose
  94. critical components are highly reliable, stable and efficient.
  95. \item Wide user base. A particular algebra system is often chosen for a
  96. given calculation because of its widespread use in a particular
  97. application area, with existing packages and templates being used to speed
  98. up problem solving. As evidenced by more than 800 reports listed in the
  99. current bibliography, {\REDUCE} has a large and dedicated user community
  100. working in just about every branch of computational science and
  101. engineering. A large number of special purpose packages are available in
  102. support of this, with many contributed by users.
  103. \item Full source code availability. From the beginning, it has been
  104. possible to obtain the complete {\REDUCE} source code, including the
  105. ``kernel''. Consequently, {\REDUCE} is a valuable educational resource and a
  106. good foundation for experiments in the discipline of computer algebra. Many
  107. users do in fact effectively modify the source code for their own purposes.
  108. \item Flexible updating. One advantage of making all code accessible to the
  109. user is that it is relatively easy to incorporate patches to correct
  110. small problems or extend the applicability of existing code to new
  111. problem areas. An electronic mail service and gopher and World Wide Web
  112. servers allow users to get such updates and complete new packages as they
  113. become available, without having to wait for a formal system release.
  114. \item State-of-the-art algorithms. Another advantage of an ``open''
  115. system is that there is a shared development effort involving both
  116. distributors and users. As a result, it is easier to keep the code
  117. up-to-date, with the best current algorithms being used soon after their
  118. development. At the present time, we believe {\REDUCE} has the best
  119. available code for solving nonlinear polynomial equations using Groebner
  120. bases, real and complex root finding to any precision, exterior calculus
  121. calculations and optimized numerical code generation among others. Its
  122. simplification strategy, using a combination of efficient polynomial
  123. manipulation and flexible pattern matching is focussed on giving users as
  124. natural a result as possible without excessive programming.
  125. \item Algebraic focus. {\REDUCE} aims at being part of a complete scientific
  126. environment rather than being the complete environment itself. As a
  127. result, users can take advantage of other state-of-the-art systems
  128. specializing in numerical and graphical calculations, rather than depend
  129. on just one system to provide everything. To this end, {\REDUCE} provides
  130. facilities for writing results in a form compatible with common
  131. programming numerical languages (such as Fortran) or document processors
  132. such as TeX.
  133. \item Portability. Careful design for portability means {\REDUCE} is often
  134. available on new or uncommon machines soon after their release. This has
  135. led to significant user communities throughout the world. At the present
  136. time, {\REDUCE} is readily available on essentially all workstations and
  137. high-end microprocessor-based machines in the market.
  138. \item Uniformity. Even though {\REDUCE} is supported with different Lisps
  139. on many different platforms, much attention has been paid to making all
  140. versions perform in the same manner regardless of implementation. As a
  141. result, users can have confidence that their calculations will not behave
  142. differently if they move them to a different machine.
  143. \item Flexible Offerings. To support the differing needs of the user
  144. community, {\REDUCE} is available in a number of different configurations:
  145. \begin{enumerate}
  146. \item personal system, ready to run, available for a selection of common
  147. personal computers, shipped without source and hence with less easy
  148. updatability between major releases, but at lowest cost for a single user
  149. site;
  150. \item professional system, which comes with source, and is licensed for
  151. use on one CPU or fileserver and so can be especially attractive for
  152. laboratories or work-groups;
  153. \item site licenses, which extend the professional system to cover all
  154. similar machines at a single postal address.
  155. \end{enumerate}
  156. \item Cost. The cost of the complete {\REDUCE} system to the end-user is
  157. moderate, and does not vary substantially from platform to platform. In
  158. addition, the personal system and site licenses are offered on very
  159. generous terms. Moreover, since all systems are derived from the same
  160. source base, they are very compatible from platform to platform (from a PC
  161. to a Cray supercomputer). This makes it possible to have compatible
  162. versions at home and work.
  163. \end{enumerate}
  164. The most recent release of {\REDUCE} (Version 3.6) is dated 15 July 1995.
  165. It is available for most common computing systems, in some cases in more
  166. than one version for the same machine, through a variety of distributors
  167. listed in this memo. {\REDUCE} is based on a dialect of Lisp called {\em
  168. Standard Lisp}, and the differences between versions are the result of
  169. different implementations of this Lisp; in each case the source code for
  170. {\REDUCE} itself remains the same. The complete source code for {\REDUCE}
  171. is available. On-line versions of the manual and other support documents
  172. and tutorials are also normally included with the distribution.
  173. In order to help users choose the best version of {\REDUCE} for their
  174. purposes, we shall describe the general characteristics of the available
  175. Lisps. Following this will be a table showing the particular versions
  176. supported on each machine, and finally the full names and addresses of the
  177. {\REDUCE} distributors.
  178. Since Standard Lisp includes a limited number of functions, it is possible
  179. to run {\REDUCE} on most modern Lisps, since they contain these functions as
  180. a subset. However, the distributed versions of {\REDUCE} are based on two
  181. easily available Lisps, namely:
  182. \begin{itemize}
  183. \item Portable Standard Lisp (PSL).
  184. This is currently the Lisp used most widely for running {\REDUCE}. It
  185. evolved from the original Standard Lisp definition, but now contains many
  186. more facilities. It is quite efficient in its use of both space and time,
  187. and has been optimized for algebraic computation. All PSL versions of
  188. {\REDUCE} are distributed with sufficient PSL support to run on the given
  189. computing system. PSL is supported on many architectures and is an ideal
  190. system for those wanting to run {\REDUCE} as a standalone system. The
  191. current principal developer of PSL is the Konrad Zuse Center, Berlin (ZIB).
  192. \item Codemist Standard Lisp (CSL). This is a Lisp system written
  193. completely in ANSI C, which makes it very easy to port to a new machine.
  194. Like PSL, it is a faithful implementation of Standard Lisp and has been
  195. optimized for running {\REDUCE}. It requires a very small memory partition
  196. for its Lisp support. Furthermore, most of the {\REDUCE} facilities are
  197. supported as machine independent pseudocode, which is quite compact. In the
  198. worst case, the performance of this system is about a factor of two slower
  199. than PSL, though in many cases it matches PSL performance. However, the
  200. memory use is smaller. All CSL versions are distributed with sufficient CSL
  201. support to run on the given computing system. This is an ideal system for
  202. those wishing to embed algebraic calculations in a C-based programming
  203. environment. The developer of CSL is Codemist Ltd. A version with Japanese
  204. language support is also available from Forbs Ltd.
  205. \end{itemize}
  206. \section*{Demonstration Versions}
  207. Demonstration versions of the CSL-based {\REDUCE} for the IBM PC and
  208. Macintosh described below are available by anonymous ftp from
  209. in the directory pub/jpff/REDUCE .
  210. \newpage
  211. Demonstration versions of the PSL-based {\REDUCE} for the IBM PC described
  212. below are available by anonymous ftp from as follows:
  213. \begin{quote}
  214. pub/reduce/demo/msdos: MS-DOS and Windows 3.1 \\
  215. pub/reduce/demo/linux: LINUX
  216. \end{quote}
  217. \section*{Obtaining Further Information about {\REDUCE}}
  218. You can obtain a current copy of this information form at any time by
  219. including the line ``send info-package'' (or ``send info-package.tex'' for
  220. a {\LaTeX} version) in a message to one of the {\REDUCE} network library
  221. servers, namely, or
  222. This message is answered by an
  223. automated server. The library includes packages made available since the
  224. release of {\REDUCE} 3.6 and patches to correct any bugs that have been
  225. discovered. Further information on this library, as well as instructions
  226. on how to join a {\REDUCE} electronic forum, can be obtained by including
  227. ``help'' on a separate line in the message. Finally, a set of
  228. introductory examples in {\LaTeX} format can be obtained by including
  229. ``send intro.tex'' on a line in your message.
  230. The same information is available from an Internet gopher server with
  231. the address The network library files are in a ``REDUCE
  232. Library'' directory under the directory ``Publicly Available Software''.
  233. The relevant URL is gopher:// .
  234. A World Wide Web {\REDUCE} server with URL
  235. is also supported. In addition to general information about {\REDUCE}, this
  236. server has pointers to the network library, the demonstration versions,
  237. examples of {\REDUCE} programming, a set of manuals, and the {\REDUCE} online
  238. help system.
  239. To register for the electronic mail forum, or for further information,
  240. please contact:
  241. \begin{quote}
  242. Anthony C. Hearn \\
  243. RAND \\
  244. 1700 Main Street \\
  245. P.O. Box 2138 \\
  246. Santa Monica CA 90407-2138 \\
  247. Telephone: +1-310-393-0411 Ext. 6615 \\
  248. Facsimile: +1-310-393-4818 \\
  249. Electronic Mail:
  250. \end{quote}
  251. \section*{Versions Available}
  252. The following table describes the versions of {\REDUCE} supported by the
  253. various distributors. Contact them for detailed price and availability
  254. information. For some machines {\REDUCE} 3.6 may not be available, but 3.5
  255. still distributed.
  256. The generic ANSI C version requires some experience with the embedding
  257. language for installation; the machine-specific versions have more
  258. straightforward installation procedures.
  259. \newpage
  260. \begin{center}
  261. \begin{tabular}{|p{2.8in}|p{2.8in}|}
  262. \hline
  263. \multicolumn{1}{|c|}{{\bf System Description}} & \multicolumn{1}{c|}
  264. {{\bf Distributors (Lisp Used)}} \\ \hline
  265. Generic ANSI C version & Codemist (CSL) \\ \hline
  266. Acorn Archimedes & Codemist (CSL) \\ \hline
  267. Apple Macintosh & Codemist (CSL) \\ \hline
  268. Atari 1040ST and Mega & Codemist (CSL) \\ \hline
  269. CDC Cyber 910 & ZIB (PSL) \\ \hline
  270. CDC 4000 series & ZIB (PSL) \\ \hline
  271. Convex C100, C200 and C300 series& ZIB (PSL) \\ \hline
  272. Cray X-MP, Y-MP and C90 & ZIB (PSL) \\ \hline
  273. Data General AViiON series & ZIB (PSL) \\ \hline
  274. DEC Alpha PC running MS Windows NT & ZIB (PSL) \\ \hline
  275. DEC Alpha series running OSF-1 or Open VMS& ZIB (PSL) \\ \hline
  276. DEC DECStation series 2000, 3000 and 5000 & ZIB (PSL) \\ \hline
  277. DEC VAX running VAX/VMS or Ultrix & ZIB (PSL) \\ \hline
  278. Fujitsu M Mainframe Unix series & Forbs (CSL) \\ \hline
  279. Fujitsu 2400 series running UXP/M & ZIB (PSL) \\ \hline
  280. HP 9000/300 and 400 series & Forbs (CSL); ZIB (PSL) \\ \hline
  281. HP 9000/700 and 800 series & Forbs (CSL); ZIB (PSL) \\ \hline
  282. IBM-compatible PCs based on Intel 80286 with extended memory, 80386 and
  283. 80486 running MS-DOS & Codemist (CSL); Forbs (CSL) \\ \hline
  284. IBM-compatible PCs based on Intel 80386 and 80486 running MS-DOS,
  285. MS-Windows 3, OS/2 or Windows NT& ZIB (PSL) \\ \hline
  286. IBM-compatible PCs based on Intel 80386 and 80486 running UNIX
  287. (SCO-Unix, Interactive, Solaris or LINUX) & ZIB (PSL) \\ \hline
  288. IBM-compatible PCs based on Intel 80386 and 80486 running Next Step
  289. & ZIB (PSL) \\ \hline
  290. IBM RISC System/6000 & ZIB (PSL) \\ \hline
  291. ICL mainframes running VME & Codemist (CSL) \\ \hline
  292. ICL DRS6000 & Codemist (CSL) \\ \hline
  293. %\end{tabular}
  294. %
  295. %\begin{tabular}{|p{2.8in}|p{2.8in}|}
  296. %\hline
  297. %\multicolumn{1}{|c|}{{\bf System Description}} & \multicolumn{1}{c|}
  298. %{{\bf Distributors (Lisp Used)}} \\ \hline
  299. NEC EWS 4800 series & Forbs (CSL) \\ \hline
  300. NEC PC-9800 series & Forbs (CSL) \\ \hline
  301. NeXTstation & ZIB (PSL) \\ \hline
  302. Siemens S400/40 series running UXP/M & ZIB (PSL) \\ \hline
  303. Silicon Graphics IRIS or INDIGO& ZIB (PSL) \\ \hline
  304. Sony NEWS & Forbs (CSL) \\ \hline
  305. Sun 3 & Forbs (CSL); ZIB (PSL) \\ \hline
  306. Sun 4,~~SPARCStation series and compatibles & Forbs (CSL);
  307. ZIB (PSL) \\ \hline
  308. Thinking Machines CM5 & ZIB (PSL) \\ \hline
  309. \end{tabular}
  310. \end{center}
  311. \newpage
  312. \section*{{\REDUCE} Distributors}
  313. \begin{tabular}{l r}
  314. Codemist: & \parbox[t]{\infoboxwidth}{
  315. Codemist Limited \\
  316. ``Alta'', Horsecombe Vale \\
  317. Combe Down \\
  318. Bath BA2 5QR, UNITED KINGDOM \\
  319. Telephone: +44-1225-837430 \\
  320. Facsimile: +44-1225-837430 \\
  321. Electronic Mail:} \\ \\
  322. Forbs: & \parbox[t]{\infoboxwidth}{
  323. Forbs System Co. Ltd \\
  324. Kannai JS Building \\
  325. 207 Yamasitachou \\
  326. Naka-ku \\
  327. Yokohama 231, JAPAN \\
  328. Telephone: +81-45-212-5020 \\
  329. Facsimile: +81-45-212-5023} \\ \\
  330. % \end{tabular}
  331. % \newpage
  332. % \begin{tabular}{l r}
  333. ZIB: & \parbox[t]{\infoboxwidth}{
  334. Herbert Melenk \\
  335. Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB) \\
  336. Heilbronner Str. 10 \\
  337. D10711 Berlin, GERMANY
  338. Telephone: +49-30-89604-195 \\
  339. Facsimile: +49-30-89604-125 \\
  340. Electronic Mail: \\[3mm]
  341. Ordering information for the ZIB versions is available from the URL \\
  342. or by
  343. anonymous ftp from in pub/reduce/distribution.}
  344. \end{tabular} \\[0.15in]
  345. \begin{flushright} \today \end{flushright}
  346. \end{document}