Sponsored links: Algebra eBooks
 

Related

maplist-solve

p:2*x^2+11*x-7/4;

p1:x=1;

ta:maplist(rhs, solve...

Calculate

maplist-setify-solve

p:2*x^2+11*x-5/4;

ta:solve(p,x)[1];

ta:setify(maplist(rhs...

Calculate

maplist

maplist("*",[[a,b],[c...

Calculate

maplist-setify-solve

p:2*x^2+11*x-5/4;

ta:solve(p,x);

ta:setify(maplist(rhs...

Calculate

maplist-solve

p:-1*x^2+3*x+18;

p1:x=1;

ta:maplist(rhs, solve...

Calculate

maplist

ta:[v*t=90 , (v+5)*(t...

tsys:maplist(stack_e...

tsys1:maplist(stack_...

Calculate

maplist-setify-solve

p:2*x^2+11*x-5/4;

ta:solve(p,x);

ta:setify(maplist(rhs...

Calculate

maplist-solve

p:2*x^2+11*x-7/4;

p1:x=1;

ta:maplist(rhs, solve...

Calculate

maplist-setify-solve

p:2*x^2+11*x-5/4;

ta:solve(p,x);

ta:setify(maplist(rhs...

Calculate

maplist

f(x):=x^2;

l:maplist(f,{1,2,3});

Calculate

maplist

Run Example
(%i1)load(functs);
(%o1)      /usr/share/maxima/5.21.1/share/simplification/functs.mac
(%i2) sqrtdispflag:false;
(%o2)                                false
(%i3) isolate_wrt_times:true;
(%o3)                                true
(%i4) expr:sqrt(a*x^2 + b*x + 3*x), factor, expand;
                                              1/2
(%o4)                        (x (a x + b + 3))
(%i5) maplist(lambda([y], y), expr);
                                               1
(%o5)                        [x (a x + b + 3), -]
                                               2
(%i6) maplist(lambda([y], if(not(freeof(x, y))) then isolate(y, x) else y), expr);

(%t6)                                b + 3

                                              1
(%o6)                         [x (a x + %t6), -]
                                              2
(%i7) 
Run Example
stack_eqnprepare(ex) := block([ret, keepfloat],	  keepfloat:true,	  ret:fullratsimp(trigexpand(rhs(ex)-lhs(ex))),	  ret:ret*denom(ret),	  return(expand(ret))	);
(%o1) stack_eqnprepare(ex) := block([ret, keepfloat], keepfloat : true, 
ret : fullratsimp(trigexpand(rhs(ex) - lhs(ex))), ret : ret denom(ret), 
return(expand(ret)))
(%i2) stack_eqncompare(SA, SB, sl) := block([ret,G0,G1],	  G0 :poly_buchberger(SA, sl), 	  G1 :poly_buchberger(SB ,sl), 	  ret:poly_grobner_equal(G0, G1, sl),	  return(ret)	);
(%o2) stack_eqncompare(SA, SB, sl) := block([ret, G0, G1], 
G0 : poly_buchberger(SA, sl), G1 : poly_buchberger(SB, sl), 
ret : poly_grobner_equal(G0, G1, sl), return(ret))
(%i3) ans3:y+1/2*x-1+k*(x^2-2*x)=0;
                                 2          x
(%o3)                    y + k (x  - 2 x) + - - 1 = 0
                                            2
(%i4) gen2:ev(ans3,k=0);
                                     x
(%o4)                            y + - - 1 = 0
                                     2
(%i5) gen1:(ans3-ev(ans3,k=0))/k;
                                  2
(%o5)                            x  - 2 x = 0
(%i6) eqn:[gen1,gen2];
                           2                x
(%o6)                    [x  - 2 x = 0, y + - - 1 = 0]
                                            2
(%i7) S1:maplist(stack_eqnprepare,eqn);
                                   2
(%o7)                      [2 x - x , - 2 y - x + 2]
(%i8) ta1:[x^2-2*x=0,x+2*y-2=0];
                          2
(%o8)                   [x  - 2 x = 0, 2 y + x - 2 = 0]
(%i9) tsys1:maplist(stack_eqnprepare,ta1);
                                   2
(%o9)                      [2 x - x , - 2 y - x + 2]
(%i10) if stack_eqncompare(S1,tsys1,[x,y]) then 1 else 0;
                                                     2
(%o10) if poly_grobner_equal(poly_buchberger([2 x - x , - 2 y - x + 2], 
                                 2
[x, y]), poly_buchberger([2 x - x , - 2 y - x + 2], [x, y]), [x, y]) then 1
 else 0
(%i11) S11:maplist(stack_eqnprepare,gen1);
                                         2
(%o11)                           [2 x - x , 0]
(%i12) S12:maplist(stack_eqnprepare,gen2);
(%o12)                        [- 2 y - x + 2, 0]
(%i13) ta11:x^2-2*x=0;
                                  2
(%o13)                           x  - 2 x = 0
(%i14) ta12:x^2-2*x=0;
                                  2
(%o14)                           x  - 2 x = 0
(%i15) tsys11:maplist(stack_eqnprepare,ta11);
                                         2
(%o15)                           [2 x - x , 0]
(%i16) tsys12:maplist(stack_eqnprepare,ta12);
                                         2
(%o16)                           [2 x - x , 0]
(%i17) res11:stack_eqncompare(S11,tsys11,[x,y]);
                                                  2
(%o17) poly_grobner_equal(poly_buchberger([2 x - x , 0], [x, y]), 
                                                        2
                                poly_buchberger([2 x - x , 0], [x, y]), [x, y])
(%i18) res12:stack_eqncompare(S11,tsys12,[x,y]);
                                                  2
(%o18) poly_grobner_equal(poly_buchberger([2 x - x , 0], [x, y]), 
                                                        2
                                poly_buchberger([2 x - x , 0], [x, y]), [x, y])
(%i19) res21:stack_eqncompare(S12,tsys11,[x,y]);
(%o19) poly_grobner_equal(poly_buchberger([- 2 y - x + 2, 0], [x, y]), 
                                                        2
                                poly_buchberger([2 x - x , 0], [x, y]), [x, y])
(%i20) res22:stack_eqncompare(S12,tsys12,[x,y]);
(%o20) poly_grobner_equal(poly_buchberger([- 2 y - x + 2, 0], [x, y]), 
                                                        2
                                poly_buchberger([2 x - x , 0], [x, y]), [x, y])
(%i21) 
Run Example
pidigits(prec):=block([fpprec:prec+1], ratprint:false, bftorat:false, ratepsilon:2.0e-16, float2bf:false, ans:float((%pi-mod(%pi, 10^(-prec)))), return(ans));
(%o1) pidigits(prec) := block([fpprec : prec + 1], ratprint : false, 
bftorat : false, ratepsilon : 2.0E-16, float2bf : false, 
                             - prec
ans : float(%pi - mod(%pi, 10      )), return(ans))
(%i2) intervals(items, [granul]):=block([ start:first(items), stop:last(items), ans:[], granul:(if not(emptyp(granul)) then first(granul) else 1) ], ratprint:false, if (emptyp(items)) then [] elseif(listp(items)) then    if(emptyp(rest(items))) then []     else     while(float(rat(start))<
float(rat(stop))) do    (ans:delete([],             delete([float(rat(stop)), float(rat(stop+granul))],             if(float(rat(start+granul))>
float(rat(stop)))            then return() else            append(ans, [cons(float(rat(start)),  [float(rat(start+granul))])]))),      start:float(rat(start+granul))),     return(ans));
(%o2) intervals(items, [granul]) := block([start : first(items), 
stop : last(items), ans : [], granul : 
if not emptyp(granul) then first(granul) else 1], ratprint : false, 
if emptyp(items) then [] elseif listp(items)
 then (if emptyp(rest(items)) then [] else (while float(rat(start)) < 
float(rat(stop)) do (ans : delete([], delete([float(rat(stop)), 
float(rat(stop + granul))], if float(rat(start + granul)) > float(rat(stop))
 then return() else append(ans, [cons(float(rat(start)), 
[float(rat(start + granul))])]))), start : float(rat(start + granul))))), 
return(ans))
(%i3) map(lambda([x], delete(pidigits(16), x)), [[0], [float(%pi)], [2], [float(%pi)]]);
(%o3)                         [[0], [], [2], []]
(%i4) map(lambda([x], delete(pidigits(16), x)), [[0], [float(%pi), 3], [2], [4, float(%pi)]]);
(%o4)                        [[0], [3], [2], [4]]
(%i5) map(lambda([x], delete(pidigits(16), x)), intervals([0, 2*%pi], %pi));
(%o5)           [[0.0], [3.141592653589793, 6.283185307179585]]
(%i6) a:intervals([0, 2*%pi], %pi);
(%o6) [[0.0, 3.141592653589793], [3.141592653589793, 6.283185307179585]]
(%i7) map(lambda([x], delete(pidigits(16), x)), a);
(%o7)           [[0.0], [3.141592653589793, 6.283185307179585]]
(%i8) a;
(%o8) [[0.0, 3.141592653589793], [3.141592653589793, 6.283185307179585]]
(%i9) maplist(lambda([x], delete(pidigits(16), x)), [a]);
(%o9) [[[0.0, 3.141592653589793], [3.141592653589793, 6.283185307179585]]]
(%i10) 

Related Help

Help for Maplist