Clean up implementation of printing options table
[maxima.git] / share / algebra / solver / EnglishSource / solver-E.tex
blobd3954bfc5fe7085456ef9b5dad4adc799ef860d4
1 %%% ---------------------------------------------------------------
2 %%% SOLVER-E.tex
3 %%% ---------------------------------------------------------------
5 \documentclass[11pt]{report} % not use twoside
7 \usepackage{amscd,amssymb,eufrak,a4wide} % ohne ,german,
8 \usepackage[latin1]{inputenc}
9 \usepackage{amsfonts}
10 \usepackage{amsmath}
11 \usepackage{longtable}
12 \usepackage{amsthm}
13 \usepackage{hyperref}
14 \usepackage{graphicx}
15 \usepackage{color}
17 \topmargin-10mm
18 \oddsidemargin0mm
19 \evensidemargin0mm
20 \textwidth16cm
21 \textheight23cm
22 \headsep1cm
23 \headheight0.5cm
24 %\footheight0.5cm
25 \footskip1.0cm
26 \parskip5pt plus 2pt minus 2pt
27 \renewcommand{\topfraction}{0.7}
28 \renewcommand{\bottomfraction}{0.7}
29 \renewcommand{\textfraction}{0.0}
30 \setcounter{secnumdepth}{4}
31 \setcounter{tocdepth}{4}
33 \newcommand\ts{\textstyle}
34 \newcommand\ds{\displaystyle}
36 % Umgebungsdefinitionen
37 % ---------------------
38 \def\empty{}
39 % Definition [Kapitel#].Def#
40 % \begin{definition}{label} ... \end{definition}
42 \newtheorem{mathdefinition}{Definition}[chapter]
43 \newenvironment{definition}[1]{\begin{mathdefinition}%
44 \def\envlabel{#1}%
45 \ifx\empty\envlabel\relax\else\label{#1}\fi%
46 \rule{0pt}{0pt}\end{mathdefinition}\rm}%
47 {\ $\ds\Box$\par\addvspace{\baselineskip}}
49 % Definitionen [Kapitel#].Def#
50 % \begin{definitions}{label} ... \end{definitions}
52 \newtheorem{mathdefinitions}[mathdefinition]{Definitionen}
53 \newcounter{deflistcounter}
54 \newenvironment{definitions}[1]{%
55 \begin{mathdefinitions}%
56 \def\envlabel{#1}%
57 \ifx\empty\envlabel\relax\else\label{#1}\fi%
58 \rule{0pt}{0pt}\end{mathdefinitions}%%
59 \begin{list}{\bf\arabic{deflistcounter})}%
60 {\usecounter{deflistcounter}\labelwidth4mm\leftmargin7mm\labelsep2mm}%
61 \rm}%
62 {\end{list}%
63 \mbox{\ $\ds\Box$}\par\addvspace{\baselineskip}}
65 % Satz [Kapitel#].Satz#
66 % \begin{theorem}{zusatz}{label} ... \end{theorem}
68 \newtheorem{theoremcount}{Satz}[chapter]
69 \newenvironment{theorem}[2]{%
70 \def\zusatz{#1}%
71 \ifx\empty\zusatz\begin{theoremcount}%
72 \else\begin{theoremcount}[\zusatz]\fi%
73 \def\envlabel{#2}%
74 \ifx\empty\envlabel\else\label{\envlabel}\fi%
75 \rule{0pt}{0pt}\end{theoremcount}\rm}%
76 {\ $\ds\Box$\par\addvspace{\baselineskip}}
78 % Beweis
79 % \begin{proof} ... \end{proof}
81 %\newenvironment{proof}[1]{\par\addvspace{\baselineskip}%
82 %{\noindent\bf Beweis #1}\par\addvspace{\baselineskip}\noindent}%
83 %{\ \rule{2mm}{2mm}\par\addvspace{\baselineskip}}
85 % Folgerung
86 % \begin{conclusion} ... \end{conclusion}
88 \newenvironment{conclusion}{\par\addvspace{\baselineskip}%
89 {\bf Folgerung}\par\addvspace{\baselineskip}}%
90 {\par\addvspace{\baselineskip}}
92 % Folgerungen
93 % \begin{conclusions} ... \end{conclusions}
95 \newenvironment{conclusions}{\par\addvspace{\baselineskip}%
96 {\bf Folgerungen}\par\addvspace{\baselineskip}}%
97 {\par\addvspace{\baselineskip}}
99 % Beobachtung
100 % \begin{observation} ... \end{observation}
102 \newenvironment{observation}{\par\addvspace{\baselineskip}%
103 {\bf Beobachtung}\par\addvspace{\baselineskip}}%
104 {\par\addvspace{\baselineskip}}
106 % Beobachtungen
107 % \begin{observations} ... \end{observations}
109 \newenvironment{observations}{\par\addvspace{\baselineskip}%
110 {\bf Beobachtungen}\par\addvspace{\baselineskip}}%
111 {\par\addvspace{\baselineskip}}
113 % Beispiel
114 % \begin{example}{label} ... \end{example}
116 \newtheorem{examplecount}{Example}[chapter]
117 \newenvironment{example}[1]{\begin{examplecount}%
118 \def\envlabel{#1}%
119 \ifx\empty\envlabel\relax\else\label{#1}\fi%
120 \rule{0pt}{0pt}\end{examplecount}\rm}%
121 {\par\noindent$\ds\Box$\par\addvspace{\baselineskip}}
123 % Anmerkung
124 % \begin{remark} ... \end{remark}
126 \newenvironment{remark}{\par{\it Anmerkung\/}:}{\par}
129 \newcounter{problem}
130 \newenvironment{problems}{%
131 \begin{list}{\arabic{problem}.}%
132 {\usecounter{problem}\labelwidth1.5em\leftmargin2em\labelsep0.5em}}%
133 {\end{list}}
136 % Symboldefinitionen
137 % ------------------
138 \newcommand\A{{\bf A}}
139 \newcommand\B{{\bf B}}
140 \newcommand\C{{\bf C}}
141 \newcommand\E{{\bf E}}
142 \def\H{{\bf H}}
143 \newcommand\J{{\bf J}}
144 \newcommand\K{{\bf K}}
145 \newcommand\M{{\bf M}}
146 \newcommand\N{{\bf N}}
147 \def\P{{\bf P}}
148 \newcommand\Q{{\bf Q}}
149 \newcommand\T{{\bf T}}
150 \newcommand\U{{\bf U}}
151 \newcommand\V{{\bf V}}
152 \newcommand\Y{{\bf Y}}
153 \newcommand\Z{{\bf Z}}
154 \newcommand\m{\phantom{-}}
156 \newcommand\bb{{\bf b}}
157 \newcommand\e{{\bf e}}
158 \newcommand\f{{\bf f}}
159 \newcommand\vv{{\bf v}}
160 \newcommand\uu{{\bf u}}
161 \newcommand\ii{{\bf i}}
162 \newcommand\ib{{\bf i}_b}
163 \newcommand\ibi{{\bf i}_{b1}}
164 \newcommand\ibii{{\bf i}_{b2}}
165 \newcommand\ub{{\bf u}_b}
166 \newcommand\ubi{{\bf u}_{b1}}
167 \newcommand\ubii{{\bf u}_{b2}}
168 \newcommand\jl{{\bf j}_l}
169 \newcommand\vn{{\bf v}_n}
170 \newcommand\s{{\bf s}}
171 \newcommand\x{{\bf x}}
172 \newcommand\p{{\bf p}}
173 \newcommand\nullvec{\underline{0}}
174 \newcommand\nullmatrix{{\bf 0}}
175 \newcommand\const{\mbox{const.}}
177 % Mathematische Operatoren
178 % ------------------------
179 \newcommand\diver{\mathop{\mbox{div}}} % Divergenz
180 \newcommand\rot{\mathop{\mbox{rot}}} % Rotation
181 \newcommand\Def{\mathop{\mbox{Def}}} % Defekt
182 \newcommand\Rg{\mathop{\mbox{Rg}}} % Rang
183 \newcommand\Ker{\mathop{\mbox{Ker}}} % Kern
184 \newcommand\LT{\mathop{\cal L}} % Laplace-Transformierte
185 \newcommand\symdif{\mathbin{\bigtriangleup}} % symmetrische Differenz
186 \newcommand\union{\mathbin{\cup}} % Vereinigung
187 \newcommand\cut{\mathbin{\cap}} % Schnitt
188 \newcommand\ringsum{\mathbin{\oplus}} % Modulo-2-Addition
189 \newcommand\ovgint{\mathop{\int\!\!\!\!\int\kern-14pt\bigcirc}\limits}
190 % Oberfl"achenintegral ^
191 \newcommand\volint{\mathop{\int\!\!\!\!\int\!\!\!\!\int}\limits}
192 % Volumenintegral ^
193 \newcommand\diag{\mathop{\mbox{diag}}} % Diagonalmatrix
194 \newcommand\Arcosh{\mathop{\mbox{Arcosh}}}
196 \newcommand\uvec[1]{\underline{#1}}
197 \newcommand\cvec[1]{\left( \begin{array}{c} #1 \end{array} \right)}
198 \newcommand\rvec[2]{\left( \begin{array}{*{#1}{c}} #2 \end{array} \right)}
199 \newcommand\rvect[2]{\left( \begin{array}{*{#1}{c}} #2 \end{array} \right)^T}
200 \newcommand\csvec[1]{\left[ \begin{array}{c} #1 \end{array} \right]}
201 \newcommand\rsvec[2]{\left[ \begin{array}{*{#1}{c}} #2 \end{array} \right]}
202 \newcommand\rsvect[2]{\left[ \begin{array}{*{#1}{c}} #2 \end{array} \right]^T}
203 \newcommand\vpmat[1]{\left[ \begin{array}{cc} #1 \end{array} \right]}
204 \newcommand\lb{\left\{}
205 \newcommand\rb{\right\}}
206 \newcommand\pdf[2]{\frac{\partial #1}{\partial #2}}
208 % Zeichen fuer die Zahlbereiche:
209 % ------------------------------
211 % Natuerliche Zahlen:
212 \newcommand\nz{\ifmmode {I\hskip -3pt N} \else {\hbox {$I\hskip -3pt N$}}\fi}
214 % Ganze Zahlen:
215 \newcommand\gz{\ifmmode {Z\hskip -4.8pt Z} \else
216 {\hbox {$Z\hskip -4.8pt Z$}}\fi}
218 % Rationale Zahlen:
219 \newcommand\qz{\ifmmode {Q\hskip -5.0pt\vrule height6.0pt depth 0pt
220 \hskip 6pt} \else {\hbox
221 {$Q\hskip -5.0pt\vrule height6.0pt depth 0pt\hskip 6pt$}}\fi}
223 % Reelle Zahlen:
224 \newcommand\rz{\ifmmode {I\hskip -3pt R} \else {\hbox {$I\hskip -3pt R$}}\fi}
226 % Komplexe Zahlen:
227 \newcommand\cz{\ifmmode {C\hskip -4.8pt\vrule height5.8pt\hskip 6.3pt} \else
228 {\hbox {$C\hskip -4.8pt\vrule height5.8pt\hskip 6.3pt$}}\fi}
230 % Schlaumakros
231 % ------------
233 % \bordermatrixlr{ linke Klammer }{ Matrixinhalt }{ rechte Klammer }
234 % Beispiel: \bordermatrixlr{\left[}{1 & 2 \cr 3 & 4}{\right]}
235 \catcode`\@=11
237 \def\bordermatrixlr#1#2#3{\begingroup \m@th
238 \setbox\z@\vbox{\def\cr{\crcr\noalign{\kern2\p@\global\let\cr\endline}}%
239 \ialign{$##$\hfil\kern2\p@\kern\p@renwd&\thinspace\hfil$##$\hfil
240 &&\quad\hfil$##$\hfil\crcr
241 \omit\strut\hfil\crcr\noalign{\kern-\baselineskip}%
242 #2\crcr\omit\strut\cr}}%
243 \setbox\tw@\vbox{\unvcopy\z@\global\setbox\@ne\lastbox}%
244 \setbox\tw@\hbox{\unhbox\@ne\unskip\global\setbox\@ne\lastbox}%
245 \setbox\tw@\hbox{$\kern\wd\@ne\kern-\p@renwd#1\kern-\wd\@ne
246 \global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
247 \vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,#3$}%
248 \null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup}
250 \def\docspecials{\do\ \do\$\do\&%
251 \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
252 {\catcode`\/=0\catcode`\\=12/xdef/@bsl{\}}
253 \def\literatim#1{\trivlist \item[]\if@minipage\else\vskip\parskip\fi
254 \leftskip\@totalleftmargin\rightskip\z@
255 \parindent\z@\parfillskip\@flushglue\parskip\z@
256 \def\@nll{}\def\@arg{#1}
257 \ifx\@nll\@arg\def\@newcc{}\else\def\@newcc{\catcode`#1=14}\fi
258 \let\@=\@bsl
259 \let\@dollar=$
260 \let\@amper=&
261 \let\circumflex=\^
262 \@tempswafalse \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par}
263 \obeylines \tt \catcode``=13 \@noligs \let\do\@makeother \docspecials
264 \let\$=\@dollar
265 \let\&=\@amper
266 \let\_=\sb
267 \let\^=\sp
268 \frenchspacing\@vobeyspaces\@newcc}
270 \let\endliteratim=\endtrivlist
271 \def\eqnr{{\rm (\theequation)}}
272 \def\eqn{\stepcounter{equation}\eqnr}
274 % \begin{eqarr}{Musterzeile (in plain TeX)} ... \end{eqarr}
275 % Musterzeile z.B. { #\hfill\quad & $\ds #$ & # } entspr. {lcc}
277 % Beispiel:
278 %\begin{eqarr}%
279 % { #\quad\hfill & \hfill $\ds #$ & $\ds #$ & $\ds #$ \hfill }
280 % Masche 1: & u_1 + u_2 & = & 0 &\eqn\label{masche1}\cr
281 % Masche 2: & u_2 & = & U_0 &\eqn\cr
282 %\end{eqarr}
284 \newenvironment{eqarr}[1]{%
285 \let\@currentlabel=\theequation\tabskip=0pt plus 1000pt minus 1000pt\bgroup%
286 \everycr{\noalign{\vskip\jot}}%
287 $$\halign to\displaywidth\bgroup\tabskip=0pt#1%
288 \hfill\tabskip=0pt plus1000pt minus1000pt&\llap{##}\tabskip=0pt\cr%
289 }{\egroup$$\egroup}
291 \catcode`\@=12
293 \def\vl{\smash{\vrule height 10pt depth 5pt}}
294 \def\backupa{\noalign{\vskip-8pt}}
295 \def\backupb{\noalign{\vskip-3pt}}
297 % ------ wL 2023
298 \def\qq{\qquad }
299 \def\nl{\hfil\break}
300 \def\maxi{{\sc Maxima}}
302 \newenvironment{eiginput}{%
303 \begin{list}{\textcolor{blue}{}}{\color{blue}%
304 }}{\end{list}\color{black}}
306 \newenvironment{eigoutput}{%
307 \begin{list}{\textcolor{red}{}}{\color{red}%
308 }}{\end{list}\color{black}}
311 %=====================================================###0
315 \begin{document}
318 %=====================================================
320 \pagestyle{empty}
321 \begin{titlepage}
322 \setcounter{page}{-1}
323 \newfont{\tu}{ptmrc scaled 2000}
324 \newfont{\inst}{ptmb scaled 1900}
325 \hrule
327 \vspace{5mm}
328 \noindent
329 \begin{minipage}[t]{3.5cm}
330 \rule{0pt}{0pt}
332 \includegraphics[height=3.5cm]{TUBS1.png}
334 \vspace{6mm}
335 \end{minipage}
336 \hfill
337 \begin{minipage}[t]{12.4cm}
338 \begin{center}
339 \tu
341 \vspace{0.5ex}
342 Technische Universit\"at Braunschweig\\[1cm]
343 %\inst Institut f"ur Netzwerktheorie\\[3mm]
344 %und Schaltungstechnik\\[1ex]
345 %\Large
346 %Prof.\ Dr.-Ing.\ E.-H.\ Horneber
347 \end{center}
348 \end{minipage}
349 \hrule
351 \vspace{2cm}
353 \begin{center}
354 \LARGE
355 Thesis
357 \vspace{2cm}
359 \huge Symbolic Solution of Linear and\\
360 Nonlinear Parameterized Systems of Equations
362 \vspace{2cm}
363 \LARGE Eckhard Hennig
365 \vspace{4cm}
366 \Large Thesis advisor: Dr.-Ing.\ Ralf Sommer\\[\baselineskip]
367 Braunschweig, August 1994
368 \end{center}
370 %\cleardoublepage
371 \end{titlepage}
372 \thispagestyle{empty}
374 \chapter*{Statutory declaration}
375 I hereby certify that I wrote this work myself and that I did not use any tools other than
376 those specified therein.\\[\baselineskip]
377 Braunschweig, August 30, 1994\\[\baselineskip]
378 (Eckhard Hennig)
380 \chapter*{Translators notes}
381 \thispagestyle{empty}
383 This is the translation of the German version of Prof. Eckhard {\sc Hennig}'s\footnote{Eckhard.Hennig@reutlingen-university.de, \url{
384 www.reutlingen-university.de}
385 } dissertation of his Solver package documentation.
386 We would like to thank Eckart Hennig for providing us with the original German TeX file and the accompanying pictures.
387 Using this TeX source Wolfgang Lindner translated a first version using the {\tt solver1-en.html} by Google Translate. He used TeXShop version 5.22 for macOS 14.2.1 (Sonoma). The flow diagrams were revised with SoftMaker {\sc TextMaker}\footnote{There is a free version, see \url{https://www.freeoffice.com/de/features/freeoffice-textmaker}}.
388 Dan Stanger revised the whole template to correct the grammar and wording errors and worked on updating the Maxima code.
390 We hope to provide some help to the user of the solver package.
391 The source is to be found at
392 \url{https://sourceforge.net/p/maxima/code/ci/master/tree/share/algebra/solver/}
395 \vspace{1cm}
397 \noindent Dr. Wolfgang Lindner and Dan Stanger \\
398 Leichlingen, Germany and Newton, Massachusetts, USA
400 \noindent January 2024
402 \cleardoublepage
407 \chapter*{Acknowledgments}
408 \thispagestyle{empty}
409 Many persons and institutions contributed considerably to the success of this work.
410 I would like to express my thanks to:
411 \vspace{1cm}
412 \begin{itemize}
413 \item[-] Richard Petti and Jeffrey P. Golden of Macsyma, Inc. (USA) for their interest in this work,
414 for supplying Macsyma licenses and the modification of the \verb+LINSOLVE+-function,
415 \item[-] The Center for Microelectronics of the University of Kaiserslautern, in particular
416 Dr. Peter Conradi and Uwe Wassenm\"uller, for the support of the project,
418 \item[-] Clemens, Frank and Michael for the first-class WG life and particularly Michael for the
419 temporary leaving of its computer,
420 \item[-] My parents and grandparents for their constant support during my study,
421 \item[-] and quite particularly my friend Dr. Ralf Sommer for outstanding co-operation and the
422 joint activities in the last three years.
423 \end{itemize}
424 \vspace{1cm}
425 Eckhard Hennig \\
426 Braunschweig, August 1994
428 \cleardoublepage
430 \chapter*{Summary}
431 \thispagestyle{empty}
433 Engineering design tasks require frequently the solution of systems of equations, which describe an object mathematically, along the values of the function defining components and parameters. For the analytic solution of lower dimensioning problems the use of commercial computer algebra systems such as Maxima are helpful, which are able, to manipulate extensive equations algebraically and to solve them symbolically using their variables.
435 Despite their high capabilities these systems are however usually already overwhelmed, if linear or weakly nonlinear, parameterized sets of equations are to be solved after only a subset of their variables or be before-processed at least symbolically. In order to be able to treat such sets of equations, typically with draft tasks in the context of this work, a universal symbolic equation solver based on heuristic algorithms was developed and implemented in Maxima. The program module \verb+SOLVER+ extends the functionality of the Maxima commands \verb+SOLVE+ and \verb+LINSOLVE+ for the symbolic solution of algebraic equations or systems of linear equations by the ability for the selective solution of nonlinear, parameterized systems with some degrees of freedom.
437 The first chapter of this work describes some areas of application of symbolic analysis methods, the respective
438 requirements following from them to a symbolic equation solver as well as the used heuristic algorithms for the extraction of linear equations and for the complexity valuation of algebraic functions. The second chapter contains an overview of the structure of the {\em Solvers} and guidance to its use. In the appendix is the source text of the module implemented in the internal higher programming language of Maxima, \verb+SOLVER.MAC+.
440 %\input stabstr.tex %------ is identical with SUMMARY
442 \cleardoublepage
443 \pagestyle{headings}
444 \pagenumbering{roman}
445 \tableofcontents
447 \cleardoublepage
449 \pagenumbering{arabic}
450 \chapter[Heuristic algorithms]{Heuristic algorithms for
451 symbolic solution of systems of equations}
452 \input HEURALGO.TEX
454 \cleardoublepage
455 \chapter{The Solver}
456 \input SOLVRDOC.TEX
459 \cleardoublepage
460 \addcontentsline{toc}{chapter}{Bibliography}
461 \input SOLVRLIT.TEX
463 \cleardoublepage
464 \begin{appendix}
465 {\raggedbottom
466 \hfuzz20pt
468 \chapter{Examples}
469 \input EXAMPLES.TEX
471 \cleardoublepage
472 \chapter{Program listings}
474 \section{SOLVER.MAC}
475 \input SOLVER.TEX
477 \end{appendix}
479 \cleardoublepage
480 {% Conclusions
481 \thispagestyle{empty}
482 \leftskip3.5cm
483 \rightskip2.5cm
484 \parindent-1cm
485 \parskip\baselineskip
486 \vspace*{4cm}
487 \large
488 \hyphenpenalty10000
490 {\sc Estragon} Sometimes I wonder if it wouldn't be better to diverge.
492 {\sc Wladimir} You wouldn't get far.
494 {\sc Estragon}
495 That would really be a shame \ldots\ Not true, Didi,
496 That would be a real shame? \ldots\ If you think about the beauty of the path
497 \ldots\ And about the goodness of the companions\ldots\ Isn't that right, Didi?
501 %#################################################################### ###end
504 \end{document}
507 %####################################################################