12780 Reputation

19 Badges

8 years, 301 days

MaplePrimes Activity

These are answers submitted by vv

How would you answer the following scalar version?

Given two numbers a and b, calculate the number c in terms of a and b.

Example for your 2nd example:

s:=sum((sum(f[t](x[i,k],a[k]),k=1..n)-y[i, t])*(sum(f[t](x[i, k], a[k]),k=1..n)-y[i,t]),i=1..m);

# diff(s, a[p]) = ?

s11:=op([1,1],s); # identify the sum containing a[p]
s11new:=subs([(k=1..n) = (k=1..p-1)], s11) +
                subs([(k=1..n) = (k=p+1..n)], s11) +
                subs([(k=1..n) = (k=p..p)], s11):

I have attached a worksheet.
An element of the algebra is represented as Vector(v1,...,vn,v0); also included a display procedure (optional)

e[i] &x e[j]  = 0 if not defined otherwise.

I have modified f because the indices in your definition exceed n; you also have provided two incompatible variants.

algebra-eiej-code-1.mw  (edit: updated)



You want Groebner[Basis], not LinearAlgebra[Basis] ! So, use:

G := Groebner[Basis](K, 'tord', degrevlex(r,u,v));

It is not very clear what are you trying to obtain.

Mathematically a polynomial map is a vector function (a,b,c) |--> (r,u,v) having polynomial components.

In Maple you may represent it by a list [r,u,v] or vector Vector([r,u,v]) provided that the indeterminates (i.e. variables) are a,b,c.

Or, you may consider the procedures:
p:=unapply( [r,u,v], a,b,c );
p:=unapply( Vector([r,u,v]), a,b,c );

The Maple Optimization package accepts Boolean variables for linear problems.
See ?Optimization and ?Optimization,Options help pages.

For nonlinear problems there is the DirectSearch package:




Maple can find them, but must be asked politely! :-)

X := (x, k)-> int(cos(s^k), s = 0 .. x):

X(infinity,k) assuming k>1;

X(infinity,5/2); evalf(%);


Similarly for Y.


lagrange:=proc(f, g::list, vars::list, lambdas::list)
local L;
if nops(g)<>nops(lambdas) then error "lambdas and g must agree" fi;
L:=f + add(g[i]*lambdas[i],i=1..nops(g));
solve( {seq( diff(L,u),u=vars),op(g)},{op(vars),op(lambdas)})


lagrange(a[2]*b[2], [z-a[2]-b[2]],[a[2],b[2]], [lambda]);


lagrange(x^2+y+z,[x-2*y-3*z, x+4*y+z-2 ],[x,y,z],[a,b]);


In your code use:
and it will work.


f:=cos(t),sin(t);  # on [0,Pi]
T:=Pi; dx:=2;
fper:=cos(T*frac(t/T))+dx*floor(t/T),sin(T*frac(t/T));  # for t>=0 only

plot( [fper, t=0..4*T],scaling=constrained);

You can simply add p[i]+p[j] <> 0 etc in the system. E.g.

solve({%, x+y<>0, x<>0}, {x,y});


The expresion


should simplify to 0 even for a complex n !!

Now, convert(f,exp) should produce exp( ln(3) *...)...
but it gives

(IIRC Maple used to get this right.)

Without any assumption:

subs(n = ln(z), f):





seq is faster but $ works in symbolic contexts e.g.

[x[i], y[i]] $ i=1..n;

diff( exp(a*x),  x$n);

where n is a symbol.

You may use


Be aware that the validity depends on the domain of u in this case. 

Why don't you switch to 1D math and use simply:

diff(u, y, y, t);



First 105 106 107 108 109 110 111 Page 107 of 114