6.18 algsubs problem (12.10.00)

6.18.1 Paula R. Klink
6.18.2 Tom Cassleman (18.10.00)
6.18.3 E. Elbraechter (30.10.00)

I am a relatively new user of maple. I am trying to solve an equation of the form y=(a*c)/(a+b). I would like to solve for another variable x which is equal to a/(a+b). When I use

algsubs(a/(a+b)=x, y);
 

I receive an error stating: Error, (in algsubs) cannot compute degree of a pattern in a.

6.18.2 Tom Cassleman (18.10.00)

I think algsubs cannot recognize a "buried" pattern. I tried to rewrite your eqation as:

    y:=a/(a+b)*c

and then

algsubs(a/(a+b)=x,y);

But that failed to! I think what happens here is that when you enter your equation, maple stores it as

 y=a*c/(a+b) and cannot find the unique "pattern" a/(a+b) in that expression. This seems to be a problem with algsubs. Perhaps someone else can find a solution.

6.18.3 E. Elbraechter (30.10.00)

Note the expression y=(a*c)/(a+b) cannot be handled by algsubs but the substitution expression a/(a+b)=x has not the appropriate form.

First you can change the substitution expression a/(a+b)=x and then use algsubs or subs:

eq_y :=  y = (a*c)/(a+b); 
a/(a+b)=x; 
isolate(%, (a+b)); 
algsubs(%, eq_y, b); 
subs(%%, eq_y); 
 
                                a c 
                   eq_y := y = ----- 
                               a + b 
 
 
                                a 
                              ----- = x 
                              a + b 
 
 
                             a + b = a/x 
 
 
                               y = c x 
 
 
                               y = c x
 

Second you use powsubs of the student package to substitute a factor:

 student[powsubs](a/(a+b)=x, eq_y); 
 
                               y = c x