Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
algsubs - substitute subexpressions into an expression
Calling Sequence
algsubs(a = b, f)
algsubs(a = b, f, v)
algsubs(a = b, f, v, options)
Parameters
a, b
-
algebraic expressions
f
any expression
v
name or list or set of names
Description
The function algsubs performs an algebraic substitution, replacing occurrences of a with b in the expression f. It is a generalization of the subs command, which only handles syntactic substitution. The purpose of algsubs can be seen from these five examples where subs fails.
algsubs( s^2=1-c^2, s^3 );
algsubs( a+b=d, 1+a+b+c );
algsubs( a*b=c, 2*a*b^2-a*b*d );
algsubs( a*b/c=d, 2*a*b^2/c );
algsubs( a^2=0, exp(2-a+a^2/2-a^3/6) );
Where the expression being replaced has more than one variable, the result is ambiguous. For example, should algsubs(a+b=c, 2*a+b) return or ? What should algsubs(a+b=c, a+Pi*b) return? Should algsubs(x*y^2=c, x*y^4) return or ? The algsubs command provides two modes for breaking ambiguities, an exact mode and a remainder mode (the default).
Both modes depend on the ordering of the variables that appear in a. This can be set to a specific ordering by specifying the variables v in a list as a third argument. If the variables are not explicitly given, the set of indeterminates in a, b which are functions and names defines the variables and their order. Also, the result is collected in the variables given.
Both modes require that monomials in a divide monomials in f for a substitution to occur. A monomial u in a divides a monomial v in f if for each variable x in u, then either or .
For example, the monomial divides the monomial but not or .
Note: The algsubs command currently works only with integer exponents.
Note that the requirement for monomials in a to divide monomials in f means that the negative powers of u in the following example are not substituted, and must be handled separately as shown.
f := a/u^4+b/u^2+c+d*u^2+e*u^4;
algsubs(u^2=v,f);
algsubs(1/u^2=1/v,f);
Hence, to substitute for both positive and negative powers.
algsubs(u^2=v,algsubs(1/u^2=1/v,f));
If the option remainder is specified, or no option is specified, a generalized remainder is computed. If the leading monomial of a divides the leading monomial of f then the leading monomial of f is replaced with the appropriate value, and this is repeated until the leading monomial in f is less than the leading monomial in a.
If the option exact is specified, then if the value a being replaced is a sum of terms , and the value f it is replacing is the sum of terms , then the replacement is made if and only if each monomial divides and that is, the coefficients must all be the same. For example, algsubs( x^2+2*y=z, 3*x^2+6*y ) succeeds with but algsubs(x^2+2*y=z, 3*x^2+3*y) fails.
The algsubs command goes recursively through the expression . Unlike the subs command it does not substitute inside indexed names, and function calls are applied to the result of a substitution. Like subs, it does not expand products or powers before substitution. Hence algsubs( x^2=0, (x+1)^3 ) yields .
Examples
Truncating polynomials
Ambiguous cases
See Also
applyrule, simplify, simplify/siderels, subs
Download Help Document