Spc[x_]:=(({{1, x}, {0, 1}}));
Lens[f_]:=(({{1, 0}, {-1/f, 1}}));

Warunek obrazowania zwykłej soczewki

(A=Spc[y].Lens[f].Spc[x])//MatrixForm
sol=Solve[A[[1,2]]==0,y]

{{y->((f x)/(-f+x))}}

FullSimplify[A/.sol[[1]]]//MatrixForm

Układ 2 f - 2 f

(A=Spc[2f].Lens[f].Spc[2f])//MatrixForm
Solve[A[[1,2]]==0,y]

Układ 2 f - 2 f trochę przesunięty

FullSimplify[(A=Spc[2f+δy].Lens[f].Spc[2f+δx])]//MatrixForm
sol=Solve[A[[1,2]]==0,δy]
FullSimplify[A/.sol[[1]]]//MatrixForm

Układ 4f

(A=Spc[f].Lens[f].Spc[2f].Lens[f].Spc[f])//MatrixForm
Solve[A[[1,2]]==0,y]

Układ 4f trochę przesunięty

FullSimplify[(A=Spc[f+δy].Lens[f].Spc[2f].Lens[f].Spc[f+δx])]//MatrixForm
sol=Solve[A[[1,2]]==0,δy]
FullSimplify[A/.sol[[1]]]//MatrixForm

Okular 2 f separacja D

FullSimplify[(A=Lens[f].Spc[D].Lens[f])]//MatrixForm
sol=Solve[A[[1,2]]==0,y]
FullSimplify[A/.sol[[1]]]//MatrixForm

FullSimplify[(A=Spc[y].Lens[f].Spc[D].Lens[f].Spc[x])]//MatrixForm
sol=Solve[A[[1,2]]==0,y]
FullSimplify[A/.sol[[1]]]//MatrixForm

Teleskop

FullSimplify[(A=Lens[f1].Spc[D].Lens[f2])]//MatrixForm
sol=Solve[A[[2,1]]==0,D]
FullSimplify[A/.sol[[1]]]//MatrixForm