この notebook の目標
回転移動、平行移動を(Subscript[用いて２次曲線C, 0]) :(ax^2)+2h x y+b (y^2)+2g x+2f y +c =0(Subscript[の中心O, 0])、(Subscript[焦点Focus, 0])、を求める。

(Subscript[C, 0]): (ax^2)+2h x y+b (y^2)+2g x+2f y +c =0   (Subscript[の中心O, 0])、(Subscript[焦点Focus, 0])  (焦点	F1,  F2 とします )を求める。
                                                 ↓　回転行列 R
C':(Subscript[λ, 1])(X^2)+ (Subscript[λ, 2])(Y^2)+2f' X+2g' Y+c=0    の中心O'
                                                ↓　平行移動 -O’　
  C’’: 標準形  (Subscript[η, 1])(X^2)+ (Subscript[η, 2])(Y^2)=1　	中心 原点、焦点Focus
  
                                (Subscript[O, 0])=O'(R^(-1))の中心 , 焦点(Subscript[Focus, 0])=Focus (R^(-1))+(Subscript[O, 0]) (焦点	F1,  F2 とします )

A=(({{64, -100}, {-100, 64}})); F=(({{146, -182}})); c=-59; (Subscript[C, 0])= Expand[ (({{x, y}})).A.(({{x}, {y}}))+2 F.(({{x}, {y}}))+c][[1]][[1]];(*　(Subscript[２次曲線C, 0])==0を与える　*) (Subscript[C, 0])==0

Eigenvalues[A];

(Subscript[λ, 1]) =%[[1]]; (Subscript[λ, 2]) =%[[2]];

Eigenvectors[A];

u=%[[1]]/Sqrt[FullSimplify[Norm[%[[1]]]^2]];

R={{u[[1]],-u[[2]]},{u[[2]],u[[1]]}} ;

(Subscript[D, λ])={{(Subscript[λ, 1]),0},{0,(Subscript[λ, 2])}};(Subscript[D, λ])//MatrixForm(* 行列 (Subscript[D, λ]) *) ;

{f',g'}=(F.R)[[1]] ;(* f', g' を計算する*)

O'=-{%[[1]]/(Subscript[λ, 1]),%[[2]]/(Subscript[λ, 2])}//FullSimplify;(* C'の中心　*)

C'= FullSimplify[ (({{X, Y}})).(Subscript[D, λ]).(({{X}, {Y}}))+2 (({{f', g'}})).(({{X}, {Y}}))+c][[1]][[1]];

c'=FullSimplify[-c+f'^2/(Subscript[λ, 1])+g'^2/(Subscript[λ, 2])];

焦点を求める。

C''= FullSimplify[ (1/(c'))(({{X, Y}})).(Subscript[D, λ]).(({{X}, {Y}}))-1][[1]][[1]]//Expand(* 標準形　C''=0 *)

{(Subscript[η, 1]),(Subscript[η, 2])}={Coefficient[C'',X^2] ,Coefficient[C'',Y^2]};

焦点　(Focus)

Focus=If[(Subscript[η, 2])>0&&(Subscript[η, 1])>(Subscript[η, 2]),{{0,Sqrt[1/(Subscript[η, 2])-1/(Subscript[η, 1])]},-{0,Sqrt[1/(Subscript[η, 2])-1/(Subscript[η, 1])]}},
If[(Subscript[η, 1])>0&&(Subscript[η, 2])>(Subscript[η, 1]),{{Sqrt[ 1/(Subscript[η, 1])-1/(Subscript[η, 2])],0},-{Sqrt[1/(Subscript[η, 1])-1/(Subscript[η, 2])],0}},
If[(Subscript[η, 1])>0&&(Subscript[η, 2])<0,{{Sqrt[ 1/(Subscript[η, 1])+1/Abs[(Subscript[η, 2])]],0},-{Sqrt[ 1/(Subscript[η, 1])+1/Abs[(Subscript[η, 2])]],0}},
If[(Subscript[η, 2])>0&&(Subscript[η, 1])<0,{{0, Sqrt[1/Abs[(Subscript[η, 1])]+1/(Subscript[η, 2])]},-{0,Sqrt[ 1/Abs[(Subscript[η, 1])]+1/(Subscript[η, 2])]}}
   ]]]]

X0=10; ContourPlot[{C''==0},{X,-X0,X0},{Y,-X0,X0},Axes->True,Epilog->Point[Focus]] (*　C''のグラフ、焦点 Focus　*)

(Subscript[O, 0])=O’(R^(-1))は、(Subscript[２次曲線C, 0])の中心 　　焦点(Subscript[Focus, 0])=Focus (R^(-1))+(Subscript[O, 0]) (焦点	F1,  F2 とします )

(Subscript[O, 0])=FullSimplify[O'.Inverse[R]]

O'

焦点	F1,  F2

F1=Focus[[1]].Inverse[R]+(Subscript[O, 0])

F2=Focus[[2]].Inverse[R]+(Subscript[O, 0])

X0=10; ContourPlot[{(Subscript[C, 0])==0,C''==0},{x,-X0,X0},{y,-X0,X0},Axes->True,Epilog->Point[{F1,F2,(Subscript[O, 0])}]] (*　(Subscript[C, 0
])のグラフ、焦点 Focus　*)