Ronan

1486 Reputation

16 Badges

14 years, 195 days
East Grinstead, United Kingdom

MaplePrimes Activity


These are replies submitted by Ronan

@C_R I should have pinned Maple 2026 not Maple 2026 (Shared Server) to the task bar.

@C_R A self created problem. I had pinned Maple (Shared Server) to the task bar.

@nm I cannot get that setting to stick. "Create a new engine for each document". Everytime I restart Maple it has reverted to "Share one engine among alll documents".

I was trying that because if i open a tab in a window Maple is very prone to hanging.
I'm using Maple 2026.1 and windows 10.

@janhardo  Now I see what you mean. Yes that is where I hava put it now. Yesterday I  put it here "C:\Program_Files\Maple\Users\maple.ini". Both actually work.

@acer  Ah that link clarifies things. So I moved the file from Maple2026/Users to C:\Users\Ronan.  That way my older versions of Maple can access it too.

@acer @janhardo I set the lifbary to as suggested by acer. The nest step is the package "mapel.ini" file needs to be placed in "C:\Program Files\Maple 2026\Users". My install of Maple did not have the "Users" folder. Maybe because it is a home user license?

@janhardo That is great. So do downloaded the package. Can you explain the steps you took, screenshots  and what is in it's maple.ini file?

Edit:- what Maple version?

@janhardo That looks like it alright.  Well done!  You could also show on the diagram the matching inner twincircles. The green blue and pink ellipses should be tangent to thier corresponding outer ones. the red  should be an ellipse/circle through the 3 points.

@acer  Basicaly that finds the package alright. But produces an error on loading

restart
with(eClifford)
       _known_types = [eclibasmon, eclimon, eclipolynom]

      _known_sortings = [sort/byegrade, sort/byegradenum, 

        sort/byegradesymb]

   _known_conversions = [convert/binarytuple_to_eclibasmon, 

     convert/clibas_to_eclibas, convert/eclibas_to_clibas, 

     convert/eclibasmon_to_binarytuple]

  _revisions_additions = [eClifford:-eLC, eClifford:-ecinv, 

    eClifford:-ecinv1, eClifford:-ecinv2, eClifford:-ecmulCh, 

    eClifford:-eminpoly]

Error, (in eClifford:-ModuleLoad) could not open `savelibname/Walshpackage.m` for reading

Same here. I have had yhat error before and just had it now. The I tried again. and got this. I don't thing a have used a mi;;ion credits this month as I don't use Maple AI that much.

@janhardo Sorry but, I don't have the time to analise the code.
1st forget about ideal points. 

2nd  Twin circles are in matched pairs. So use one colour for each pair.

3rd Tangency usually occurs between pairs of twin circles. 

Look at the example I posted last week. It covers all the above.

@janhardo So the null conic is the black one. What is the cyan coloured blue conic? You have twin circles blue and circumcircles orange. They all are twin circles. You would be better off pairing them in matched colours. You still have the basic problem. The twincircles cannot pass throught the null conic. Yours do (as far as I can make out). My original question was on the type of matrix normailsation being used. I already had and have a working solution. You need to study the relevant section of the paper and understand it for yourself. AI will not do that for you. Where did the "Ideal points" come from? All this applies to non null points to the best of my current understanding. 

@janhardo @dharr 

I have tried both sets of code for producing the transformation of J to C. Unfortunately, I cannot get either to work consistently. Numerically they can produce correct values but the signs can be incorrect on the off diagonals. So I have had to stay with my approach. 

is your code AI generated?  I am replying to the reply you made yesterday plotting the circles (circles here means any conic section) for the unit triangle. Those coordinates are not the usual projective ones, they are circumlinear coordinates. I had not anticipated plotting those circles. However they can be plotted by using the plane the unit triangle forms, combined with intersection plots.  I had Maple AI do the intersection plotting routine.

Most of my commands are built into the package so will not run for you. To compensate for this I copy/passed each output and # out the command. This way you can see what the command produces and the worksheet still runs. As the expressions are generic, they hold true for any point combination used. I have added comments to emphasize what is important.  At the end I give an example of transforming a pair of circles from circumlinear coords to the original coordinates.

Regarding the twincircles. They never cut through the distinguished circle. The may be tangent to it.

Download UHG_IV_Sydpoints_and_Twin_Circumcircles_for_reply.mw

@janhardo @dharr  I will  reply later or tomorrow. 

@dharr  (PDF) Universal hyperbolic geometry. IV: Sydpoints and twin circumcircles
Thank you for the reply. I was going to put together a more extensive version of the question for you but I didn't have time earlier.
Negative values arise that is why I used abs.  I have included 4 examples of the point combinations that can arise and the manupliations the used to get the matrix form. What I have works but have being lacking backgruong knowedge.  You solution is far superior and easily addapted to my needs. Attached is the contorted method I had put together. 

restart

#with(RationalTrigonometry)

#with(RTProjective)

#with(UHG)

with(plots):with(plottools):

with(LinearAlgebra):

local D

D

(1)

Numerical Section

 

Jr:=Matrix([[ 1 , 0 , 0 ],
        [ 0 , 1 , 0 ],
        [ 0 , 0 , -1 ]]);

Matrix(3, 3, {(1, 1) = 1, (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = 1, (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = -1})

(1.1)

Original Values from the paper  Matrix diagonal will be < 1, 1, -1 >

#a1 :=<-0.03959|0.15272|1>;a2 := <-0.20363|0.78056|1>;a3 :=<-1.75344|0.19797|1>;

My examples
Two points inside the circle, one point outside. Matrix diagonal will be < 1, 1, -1 >

#a1 := <2/3|-3/2|1>;a2 :=<-1/2|-3/10|1>;a3 :=<1/2|3/5|1>;
 

Points, one inside and two outside the circle. Matrix diagonal will be < 1, 1, -1 >

#a1 := <2/3|-3/2|1>;a2 :=<-5/2|-3/2|1>;a3 :=<1/2|3|5>;

Points all outside the circle  Matrix diagonal will b< 1, 1, 1 >

#a1 := <2|-3/2|1>;a2 :=<-5/2|-3/2|1>;a3 :=<1/2|3|1>;

Points all inside the circle  Matrix diagonal will b< 1, 1, 1 >

a1 := <2/3|-1/2|1>;a2 :=<-1/2|-3/10|1>;a3 :=<1/2|-1/3|1>;

Vector[row](3, {(1) = 2/3, (2) = -1/2, (3) = 1})

 

Vector[row](3, {(1) = -1/2, (2) = -3/10, (3) = 1})

 

Vector[row](%id = 36893490870565713068)

(1.2)

oddp is odd point. I.e. if one point is inside or outside the circle

Q1:=lambda1*a1.Jr.(lambda1*a1)^%T;
Q2:=lambda2*a2.Jr.(lambda2*a2)^%T;
Q3:=lambda3*a3.Jr.(lambda3*a3)^%T;
if sign(Q1)<> sign(Q2) and sign (Q1)<>sign(Q3) then
    oddp:=1;
    lambda1:=1;
    Epsilon:=-1;
    assign(solve({(Q1=-Q2),(Q1=-Q3)},[lambda2,lambda3],explicit)[1]);print(1,(Q1)=(-Q2),(Q1)=(-Q3));
 elif sign(Q1)<>sign(Q2)and sign (Q1)=sign(Q3) then
    oddp:=2;
    lambda2:=1;
    Epsilon:=-1;
    assign(solve({(Q1)=(-Q2),(Q1)=(Q3)},[lambda1,lambda3],explicit)[1]);print(2,(Q1)=(-Q2),(Q1)=(Q3));
 elif sign(Q1)= sign(Q2)and sign (Q1)<>sign(Q3) then
   oddp:=3;
   lambda3:=1;
   Epsilon:=-1;
   assign(solve({(Q1)=(Q2),(Q1)=(-Q3)},[lambda1,lambda2],explicit)[1]);print(3,(Q1)=(Q2),(Q1)=(-Q3));
 elif sign(Q1)= sign(Q2)and sign (Q1)=sign(Q3) then
   oddp:=0;
   lambda1:=1;
   assign(solve({(Q1)=(Q2),(Q1)=(Q3)},[lambda2,lambda3],explicit)[1]);print(4,(Q1)=(Q2),(Q1)=(Q3));
   Epsilon:=1;
end if;
print(lambda1,lambda2,lambda2);

 

-(11/36)*lambda1^2

 

-(33/50)*lambda2^2

 

-(23/36)*lambda3^2

 

0

 

1

 

4, -11/36 = -11/36, -11/36 = -11/36

 

1

 

1, (5/18)*6^(1/2), (5/18)*6^(1/2)

(1.3)

v1:=-1*((-lambda1)*a1);#v1[1].Jr.(v1)^%T;
v2:=((lambda2)*a2);#v2[1].Jr.(v2)^%T;
v3:=((lambda3)*a3);#v3[1].Jr.(v3)^%T;
for i to 3 do
add(v||i[j]^2,j=1..2)-v||i[3]^2;
end do

Vector[row](3, {(1) = 2/3, (2) = -1/2, (3) = 1})

 

Vector[row](3, {(1) = -(5/36)*sqrt(6), (2) = -(1/12)*sqrt(6), (3) = (5/18)*sqrt(6)})

 

Vector[row](%id = 36893490870565697764)

 

-11/36

 

-11/36

 

-11/36

(1.4)

Put the oddpoint in row 3 whether it is inside or outside the circle

if oddp=0 or oddp=3 then
N:=<v1,v2,v3>;
elif oddp=1  then
N:=<v3,v2,v1>;
elif oddp=2  then
N:=<v1,v3,v2>;
end if;

Matrix(3, 3, {(1, 1) = 2/3, (1, 2) = -1/2, (1, 3) = 1, (2, 1) = -(5/36)*sqrt(6), (2, 2) = -(1/12)*sqrt(6), (2, 3) = (5/18)*sqrt(6), (3, 1) = (1/46)*sqrt(253), (3, 2) = -(1/69)*sqrt(253), (3, 3) = (1/23)*sqrt(253)})

(1.5)

 

 

invN:=Adjoint(N)

Matrix(3, 3, {(1, 1) = (1/2484)*sqrt(6)*sqrt(253), (1, 2) = (1/138)*sqrt(253), (1, 3) = -(1/18)*sqrt(6), (2, 1) = (5/414)*sqrt(6)*sqrt(253), (2, 2) = (1/138)*sqrt(253), (2, 3) = -(35/108)*sqrt(6), (3, 1) = (19/4968)*sqrt(6)*sqrt(253), (3, 2) = -(1/828)*sqrt(253), (3, 3) = -(1/8)*sqrt(6)})

(1.6)

 

 

A:=N.Jr.N^%T

Matrix(3, 3, {(1, 1) = -11/36, (1, 2) = -(71/216)*sqrt(6), (1, 3) = -(1/46)*sqrt(253), (2, 1) = -(71/216)*sqrt(6), (2, 2) = -11/36, (2, 3) = -(1/72)*sqrt(6)*sqrt(253), (3, 1) = -(1/46)*sqrt(253), (3, 2) = -(1/72)*sqrt(6)*sqrt(253), (3, 3) = -11/36})

(1.7)

dA:=DiagonalMatrix(1/~(sqrt~(abs(Diagonal((A))))));

 

 

Matrix(3, 3, {(1, 1) = (6/11)*sqrt(11), (1, 2) = 0, (1, 3) = 0, (2, 1) = 0, (2, 2) = (6/11)*sqrt(11), (2, 3) = 0, (3, 1) = 0, (3, 2) = 0, (3, 3) = (6/11)*sqrt(11)})

(1.8)

C:=(dA.A.dA);

Matrix(3, 3, {(1, 1) = -1, (1, 2) = -(71/66)*sqrt(6), (1, 3) = -(18/253)*sqrt(253), (2, 1) = -(71/66)*sqrt(6), (2, 2) = -1, (2, 3) = -(1/22)*sqrt(6)*sqrt(253), (3, 1) = -(18/253)*sqrt(253), (3, 2) = -(1/22)*sqrt(6)*sqrt(253), (3, 3) = -1})

(1.9)

Message the matrix so is the is a -1 on the diagonal it i is in the [3,3] position

if Trace(C)=-3 then
C:=-1*C;
end if;
if Trace(C)=-1 then
C:=-1*C;
end if;

Matrix(3, 3, {(1, 1) = 1, (1, 2) = (71/66)*sqrt(6), (1, 3) = (18/253)*sqrt(253), (2, 1) = (71/66)*sqrt(6), (2, 2) = 1, (2, 3) = (1/22)*sqrt(6)*sqrt(253), (3, 1) = (18/253)*sqrt(253), (3, 2) = (1/22)*sqrt(6)*sqrt(253), (3, 3) = 1})

(1.10)

evalf[6](C );

Matrix(3, 3, {(1, 1) = 1., (1, 2) = 2.63506, (1, 3) = 1.13165, (2, 1) = 2.63506, (2, 2) = 1., (2, 3) = 1.77098, (3, 1) = 1.13165, (3, 2) = 1.77098, (3, 3) = 1.})

(1.11)

 

 

vals:=[a=C[2,1],b=C[3,1],c=C[3,2],epsilon=Epsilon]

[a = (71/66)*6^(1/2), b = (18/253)*253^(1/2), c = (1/22)*6^(1/2)*253^(1/2), epsilon = 1]

(1.12)

CC:=<1,a,b;a,1,c;b,c,epsilon>;

Matrix(3, 3, {(1, 1) = 1, (1, 2) = a, (1, 3) = b, (2, 1) = a, (2, 2) = 1, (2, 3) = c, (3, 1) = b, (3, 2) = c, (3, 3) = `&epsilon;`})

(2)

eval(CC,vals)

Matrix(3, 3, {(1, 1) = 1, (1, 2) = (71/66)*sqrt(6), (1, 3) = (18/253)*sqrt(253), (2, 1) = (71/66)*sqrt(6), (2, 2) = 1, (2, 3) = (1/22)*sqrt(6)*sqrt(253), (3, 1) = (18/253)*sqrt(253), (3, 2) = (1/22)*sqrt(6)*sqrt(253), (3, 3) = 1})

(3)
 

 

Download 2026-08-14_Q_What_Type_of_Matrix_Normalisation_V2.mw

1 2 3 4 5 6 7 Last Page 1 of 35