Sponsored links: Algebra eBooks
 

Related

expandwrt_denom

Run Example
(%i1)1/(a*b), simp:true;
                                       1
(%o1)                                 ---
                                      a b
(%i2) 1/(a*b), simp:false;
                                       1
(%o2)                                 ---
                                      a b
(%i3) matchdeclare(a, atom);
(%o3)                                done
(%i4) matchdeclare(b, atom);
(%o4)                                done
(%i5) tellsimp(1/(a*b), simp:false, ((1/a)*(1/b)));
tellsimp: warning: putting rules on '+' or '*' is inefficient, and may not work.
(%o5)                         [*rule1, simptimes]
(%i6) tellsimpafter(1/(a*b), simp:false, ((1/a)*(1/b)));
(%o6)                     [*rule2, *rule1, simptimes]
(%i7) defrule(fraction, 1/(a*b),((1/a)*(1/b))), simp:false;
                                        1
(%o7)                       fraction : --- -> false
                                       a b
(%i8) 1/(a*b), simp:false;
                                       1
(%o8)                                 ---
                                      a b
(%i9) maxapplydepth:1;
(%o9)                                  1
(%i10) newfac;
(%o10)                              newfac
(%i11) fraction(1/(a*b));
                                    1   1
(%o11)                              - (---)
                                    1  a b
(%i12) factor(1/(a*b)), simp:false;
                                       1
(%o12)                                ---
                                      a b
(%i13) ratexpand:false;
(%o13)                               false
(%i14) expandwrt_denom:true;
(%o14)                               true
(%i15) 1/(a*b), fraction;
                                       1
(%o15)                                ---
                                      a b
(%i16) 
Run Example
1/(a*b), simp:true;
                                       1
(%o1)                                 ---
                                      a b
(%i2) 1/(a*b), simp:false;
                                       1
(%o2)                                 ---
                                      a b
(%i3) matchdeclare(a, true);
(%o3)                                done
(%i4) matchdeclare(b, true);
(%o4)                                done
(%i5) tellsimp(1/(a*b), simp:false, ((1/a)*(1/b)));
tellsimp: warning: putting rules on '+' or '*' is inefficient, and may not work.
(%o5)                         [*rule1, simptimes]
(%i6) tellsimpafter(1/(a*b), simp:false, ((1/a)*(1/b)));
(%o6)                     [*rule2, *rule1, simptimes]
(%i7) defrule(fraction, 1/(a*b),((1/a)*(1/b))), simp:false;
                                        1
(%o7)                       fraction : --- -> false
                                       a b
(%i8) 1/(a*b), simp:false;
                                       1
(%o8)                                 ---
                                      a b
(%i9) maxapplydepth:1;
(%o9)                                  1
(%i10) newfac;
(%o10)                              newfac
(%i11) fraction(1/(a*b));
                                    1   1
(%o11)                              - (---)
                                    1  a b
(%i12) factor(1/(a*b)), simp:false;
                                       1
(%o12)                                ---
                                      a b
(%i13) ratexpand:true;
(%o13)                               true
(%i14) expandwrt_denom(1/(a*b));
                                              1
(%o14)                       expandwrt_denom(---)
                                             a b
(%i15) 
Run Example
1/(a*b), simp:true;
                                       1
(%o1)                                 ---
                                      a b
(%i2) 1/(a*b), simp:false;
                                       1
(%o2)                                 ---
                                      a b
(%i3) matchdeclare(a, atom);
(%o3)                                done
(%i4) matchdeclare(b, atom);
(%o4)                                done
(%i5) tellsimp(1/(a*b), simp:false, ((1/a)*(1/b)));
tellsimp: warning: putting rules on '+' or '*' is inefficient, and may not work.
(%o5)                         [*rule1, simptimes]
(%i6) tellsimpafter(1/(a*b), simp:false, ((1/a)*(1/b)));
(%o6)                     [*rule2, *rule1, simptimes]
(%i7) defrule(fraction, 1/(a*b),((1/a)*(1/b))), simp:false;
                                        1
(%o7)                       fraction : --- -> false
                                       a b
(%i8) 1/(a*b), simp:false;
                                       1
(%o8)                                 ---
                                      a b
(%i9) maxapplydepth:1;
(%o9)                                  1
(%i10) newfac;
(%o10)                              newfac
(%i11) fraction(1/(a*b));
                                    1   1
(%o11)                              - (---)
                                    1  a b
(%i12) factor(1/(a*b)), simp:false;
                                       1
(%o12)                                ---
                                      a b
(%i13) ratexpand:false;
(%o13)                               false
(%i14) expandwrt_denom:true;
(%o14)                               true
(%i15) 1/(a*b), simp:true;
                                       1
(%o15)                                ---
                                      a b
(%i16) 

Related Help

Help for Expandwrt_denom