sexset.mws

> restart;

A partir d'una llista de la forma L:=[y1,y2,...] es genera la llista [[1,y1],[2,y2],...] amb la funcio seguent:

> LL:= l->[seq([i,l[i]],i=1..nops(l))];

LL := proc (l) options operator, arrow; [seq([i, l[...

Aplicada a la llista L:=[1,sqrt(2),...,sqrt(25)] es veu

> L:=[seq(sqrt(i),i=1..25)]:
LL(L);

[[1, 1], [2, sqrt(2)], [3, sqrt(3)], [4, 2], [5, sq...
[[1, 1], [2, sqrt(2)], [3, sqrt(3)], [4, 2], [5, sq...

Si es vol fer el dibuix d'aquests punts units per linies i amb un ombrejat de color vermell, una possibilitat seria

> with(plots):
p1:=plot(LL(L), color=black,thickness=3):
p2:=plot(LL(L),filled=true,color=red):
p3:=plot(LL(L),style=point,symbol=circle,color=blue):
display(p1,p2,p3);

[Maple Plot]

Si es vol convertir una llista L:=[[x1,x2,...],[y1,y2,...]] en la llista Lp:= [[x1,y1],[x2,y2],...] basta fer

> Lxy:= l->[seq([l[1,i],l[2,i]],i=1..nops(l[1]))];

Lxy := proc (l) options operator, arrow; [seq([l[1,...

> L:=[[seq(i,i=1..25)],[seq(sqrt(i),i=1..25)]];

L := [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1...
L := [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1...

> Lxy(L);

[[1, 1], [2, sqrt(2)], [3, sqrt(3)], [4, 2], [5, sq...
[[1, 1], [2, sqrt(2)], [3, sqrt(3)], [4, 2], [5, sq...

Les coordenades dels vertexs dels dos triangles equilaters determinats per un costat AB es poden obtenir amb

> restart;
with(geometry):
tr:= proc(A,B)
local a,b,c1,c2,p1,p2,d,x;
point(a,A);
point(b,B);
d:=distance(a,b);
circle(c1,[a,d]);
circle(c2,[b,d]);
intersection(x,c1,c2);
coordinates(x[1]),coordinates(x[2]);
end proc;

tr := proc (A, B) local a, b, c1, c2, p1, p2, d, x;...

> tr([2,3],[5,1]);

[7/2+sqrt(3), 2+3/2*sqrt(3)], [7/2-sqrt(3), 2-3/2*s...

> tr([-1,4],[2,1]);

[1/2+3/2*sqrt(3), 5/2+3/2*sqrt(3)], [1/2-3/2*sqrt(3...

Un dibuix de les dues situacions ajuda a veure que els calculs que es fan son correctes.

> point(A,2,3);point(B,5,1);point(X1,tr(coordinates(A),coordinates(B))[1]);
point(X2,tr(coordinates(A),coordinates(B))[2]);line(AB,[A,B]);line(AX1,[A,X1]);
line(AX2,[A,X2]);line(BX1,[B,X1]);line(BX2,[B,X2]);

A

B

X1

X2

AB

AX1

AX2

BX1

BX2

> draw([A,B,X1,X2,AB,AX1,AX2,BX1,BX2]);

[Maple Plot]

> point(A,-1,4);point(B,2,1);point(X1,tr(coordinates(A),coordinates(B))[1]);
point(X2,tr(coordinates(A),coordinates(B))[2]);line(AB,[A,B]);line(AX1,[A,X1]);
line(AX2,[A,X2]);line(BX1,[B,X1]);line(BX2,[B,X2]);

A

B

X1

X2

AB

AX1

AX2

BX1

BX2

> draw([A,B,X1,X2,AB,AX1,AX2,BX1,BX2]);

[Maple Plot]

Per a determinar el rang de les matrius que depenen d'un parametre no es Pot aplicar directament la funcio Rank ja que e resultat que donara sera el rang pel cas general (3) i no el dels cassos particulars.

> restart;
with(LinearAlgebra):

En un cas sera

> m:= <<2 | 1+2*lambda | 1+lambda> , <lambda^2-1 | -1+lambda | -1+lambda> , <-2 | -lambda-2 | -2>>;

m := _rtable[137059492]

> Determinant(m);

lambda^3-lambda^4-lambda+lambda^2

> solve(%);

0, -1, 1, 1

Per a lambda diferent de qualsevol dels valors anteriors ( 0, -1, 1 ) el rang ha de ser 3. Cal estudiar per separat aquests tres cassos.

> m1:= subs(lambda=0,m);

m1 := _rtable[135424184]

> Rank(m1);

2

> m2:=subs(lambda=-1,m);

m2 := _rtable[135405844]

> Rank(m2);

2

> m3:= subs(lambda=1,m);

m3 := _rtable[135952180]

> Rank(m3);

1

En l'altre cas es calcula

> m:=<<1+lambda | 2 | lambda+2> , <-1+lambda | lambda^2-1 | lambda^2-1> , <-3-lambda | -4 | -2*lambda-4>>;

m := _rtable[136207060]

> Determinant(m);

lambda^3-lambda^4-lambda+lambda^2

> solve(%);

0, -1, 1, 1

Els cassos amb rang menor que 3 son els que corresponen als valors de lambda 0, -1, 1 .

> m1:=subs(lambda=0,m);
Rank(m1);

m1 := _rtable[135919472]

2

> m2:= subs(lambda=-1,m);Rank(m2);

m2 := _rtable[136772716]

2

> m3:= subs(lambda=1,m);Rank(m3);

m3 := _rtable[135616668]

1

>