Artifact dac58ecf64dc8b55f69907862a16d0e25d14d972a2f320a0611172821de363bf:
- File
r36/help/VARIABLE.TEX
— part of check-in
[152fb3bdbb]
at
2011-10-17 17:58:33
on branch master
— svn:eol-style, svn:executable and line endings for files
in historical/r36 treegit-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/trunk/historical@1480 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: schoepf@users.sourceforge.net, size: 7560) [annotate] [blame] [check-ins using] [more...]
\section{Variables} \begin{Variable}{assumptions} \index{solve} After solving a linear or polynomial equation system with parameters, the variable \name{assumptions} contains a list of side relations for the parameters. The solution is valid only as long as none of these expression is zero. \begin{Examples} solve({a*x-b*y+x,y-c},{x,y});& \{\{x=\rfrac{b*c}{a + 1},y=c\}\} \\ assumptions; & \{a + 1\} \end{Examples} \end{Variable} \begin{Variable}{CARD\_NO} \index{FORTRAN}\index{output} \name{card\_no} sets the total number of cards allowed in a Fortran output statement when \name{fort} is on. Default is 20. \begin{Examples} on fort; \\ card_no := 4; & CARD\_NO=4. \\ z := (x + y)**15; & \begin{multilineoutput}{6cm} ANS1=5005.*X**6*Y**9+3003.*X**5*Y**10+1365.*X**4*Y** . 11+455.*X**3*Y**12+105.*X**2*Y**13+15.*X*Y**14+Y**15 Z=X**15+15.*X**14*Y+105.*X**13*Y**2+455.*X**12*Y**3+ . 1365.*X**11*Y**4+3003.*X**10*Y**5+5005.*X**9*Y**6+ . 6435.*X**8*Y**7+6435.*X**7*Y**8+ANS1 \end{multilineoutput} \end{Examples} \begin{Comments} Twenty total cards means 19 continuation cards. You may set it for more if your Fortran system allows more. Expressions are broken apart in a Fortran-compatible way if they extend for more than \name{card\_no} continuation cards. \end{Comments} \end{Variable} \begin{Constant}{E} The constant \name{e} is reserved for use as the base of the natural logarithm. Its value is approximately 2.71828284590, which REDUCE gives to the current decimal precision when the switch \nameref{rounded} is on. \begin{Comments} \name{e} may be used as an iterative variable in a \nameref{for} statement, or as a local variable or a \nameref{procedure}. If \name{e} is defined as a local variable inside the procedure, the normal definition as the base of the natural logarithm would be suspended inside the procedure. \end{Comments} \end{Constant} \begin{Variable}{EVAL\_MODE} \index{algebraic}\index{symbolic} The system variable \name{eval\_mode} contains the current mode, either \nameref{algebraic} or \nameref{symbolic}. \begin{Examples} EVAL\_MODE; & ALGEBRAIC \end{Examples} \begin{Comments} Some commands do not behave the same way in algebraic and symbolic modes. %You can determine what mode you are in without using this command by noting %that the numbered prompt in algebraic mode contains a colon (\name{:}), while %the numbered prompt in symbolic mode contains an asterisk (\name{*}). \end{Comments} \end{Variable} \begin{Variable}{FORT\_WIDTH} \index{output}\index{FORTRAN} The \name{fort\_width} variable sets the number of characters in a line of Fortran-compatible output produced when the \nameref{fort} switch is on. Default is 70. \begin{Examples} fort_width := 30; & FORT\_WIDTH := 30 \\ on fort; \\ df(sin(x**3*y),x); & \begin{multilineoutput}{3cm} ANS=3.*COS(X . **3*Y)*X**2* . Y \end{multilineoutput} \end{Examples} \begin{Comments} \name{fort\_width} includes the usually blank characters at the beginning of the card. As you may notice above, it is conservative and makes the lines even shorter than it was told. \end{Comments} \end{Variable} \begin{Variable}{HIGH\_POW} \index{polynomial}\index{degree} The variable \name{high\_pow} is set by \nameref{coeff} to the highest power of the variable of interest in the given expression. You can access this variable for use in further computation or display. \begin{Examples} coeff((x+1)^5*(x*(y+3)^2)^2,x); & \begin{multilineoutput}{6cm} \{0, 0, Y^{4} + 12*Y^{3} + 54*Y^{2} + 108*Y + 81, 5*(Y^{4} + 12*Y^{3} + 54*Y^{2} + 108*Y + 81), 10*(Y^{4} + 12*Y^{3} + 54*Y^{2} + 108*Y + 81), 10*(Y^{4} + 12*Y^{3} + 54*Y^{2} + 108*Y + 81), 5*(Y^{4} + 12*Y^{3} + 54*Y^{2} + 108*Y + 81), Y^{4} + 12*Y^{3} + 54*Y^{2} + 108*Y + 81\} \end{multilineoutput} \\ high_pow; & 7 \end{Examples} \end{Variable} \begin{Constant}{I} \index{complex} REDUCE knows \name{i} is the square root of -1, and that \IFTEX{$i^2 = -1$}{i^2 = -1}. \begin{Examples} (a + b*i)*(c + d*i); & A*C + A*D*I + B*C*I - B*D \\ i**2; & -1 \end{Examples} \begin{Comments} \name{i} cannot be used as an identifier. It is all right to use \name{i} as an index variable in a \name{for} loop, or as a local (\name{scalar}) variable inside a \name{begin...end} block, but it loses its definition as the square root of -1 inside the block in that case. Only the simplest properties of \IFTEX{$i$}{i} are known by REDUCE unless the switch \nameref{complex} is turned on, which implements full complex arithmetic in factoring, simplification, and functional values. \name{complex} is ordinarily off. \end{Comments} \end{Constant} \begin{Constant}{INFINITY} The name \name{infinity} is used to represent the infinite positive number. However, at the present time, arithmetic in terms of this operator reflects finite arithmetic, rather than true operations on infinity. \end{Constant} \begin{Variable}{LOW\_POW} \index{degree}\index{polynomial} The variable \name{low\_pow} is set by \nameref{coeff} to the lowest power of the variable of interest in the given expression. You can access this variable for use in further computation or display. \begin{Examples} coeff((x+2*y)**6,y); & \begin{multilineoutput}{6cm} \{X^{6}, 12*X^{5}, 60*X^{4}, 160*X^{3}, 240*X^{2}, 192*X, 64\} \end{multilineoutput}\\ low_pow; & 0 \\ coeff(x**2*(x*sin(y) + 1),x); & \{0,0,1,SIN(Y)\} \\ low_pow; & 2 \end{Examples} \end{Variable} \begin{Constant}{NIL} \index{false} \name{nil} represents the truth value {\it false} in symbolic mode, and is a synonym for 0 in algebraic mode. It cannot be used for any other purpose, even inside procedures or \nameref{for} loops. \end{Constant} \begin{Constant}{PI} The identifier \name{pi} is reserved for use as the circular constant. Its value is given by 3.14159265358..., which REDUCE gives to the current decimal precision when REDUCE is in a floating-point mode. \begin{Comments} \name{pi} may be used as a looping variable in a \nameref{for} statement, or as a local variable in a \nameref{procedure}. Its value in such cases will be taken from the local environment. \end{Comments} \end{Constant} \begin{Variable}{requirements} \index{solve} After an attempt to solve an inconsistent equation system with parameters, the variable \name{requirements} contains a list of expressions. These expressions define a set of conditions implicitly equated with zero. Any solution to this system defines a setting for the parameters sufficient to make the original system consistent. \begin{Examples} solve({x-a,x-y,y-1},{x,y}); & \{\}\\ requirements;&\{a - 1\} \end{Examples} \end{Variable} \begin{Variable}{ROOT\_MULTIPLICITIES} \index{root}\index{solve}\index{polynomial} The \name{root\_multiplicities} variable is set to the list of the multiplicities of the roots of an equation by the \nameref{solve} operator. \begin{Comments} \nameref{solve} returns its solutions in a list. The multiplicities of each solution are put in the corresponding locations of the list \name{root\_multiplicities}. \end{Comments} \end{Variable} \begin{Constant}{T} The constant \name{t} stands for the truth value {\it true}. It cannot be used as a scalar variable in a \nameref{block}, as a looping variable in a \nameref{for} statement or as an \nameref{operator} name. \end{Constant}