Find all equations of the form:
Ax^2 + Bxy + Cy^2 + Dx + Ey + F = 0
which have the solutions (ie. which go through the points):
(-2,0), (-1,1), (0,-2), and (2,1).
We set up the homogeneous linear system with 4 by 6 coefficient matrix:
(12:36) gp > M=[1,-1,1,-1,1,1;4,0,0,-2,0,1;0,0,4,0,-2,1;4,2,1,2,1,1]
%99 =
[1 -1 1 -1 1 1]
[4 0 0 -2 0 1]
[0 0 4 0 -2 1]
[4 2 1 2 1 1]
The general solution can be written with 2 parameters, say s and t.
In column vector form, the transposed vector [A,B,C,D,E,F]^T is given
by linear combinations of the two columns of the matrix K below.
(12:40) gp > K = matker(M)
%101 =
[-3/4 -3/8]
[9/4 5/8]
[1/2 -1/4]
[-3/2 -1/4]
[1 0]
[0 1]
Checking, we can write the first column of K as a quadratic equation
by taking the coefficients in order A,B,C,D,E,F and call this F(x,y)
and the second column, calling it G(x,y). We verify that the equations
vanish at the desired set of 4 points.
(12:48) gp > F(x,y)=(-3/4)*x^2 + (9/4)*x*y + (1/2)*y^2 + (-3/2)*x + y
(12:49) gp > G(x,y)=(-3/8)*x^2+(5/8)*x*y+(-1/4)*y^2+(-1/4)*x+1
(12:50) gp > F(-1,1)
%105 = 0
(12:50) gp > F(-2,0)
%106 = 0
(12:50) gp > F(0,-2)
%107 = 0
(12:50) gp > F(2,1)
%108 = 0
(12:51) gp > G(-1,1)
%109 = 0
(12:51) gp > G(-2,0)
%110 = 0
(12:51) gp > G(0,-2)
%111 = 0
(12:51) gp > G(2,1)
%112 = 0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
(Optional)
Another method:
Here we consider pairs of lines through the 4 points, and form
the sum of two 'degenerate' conics.
(12:53) gp > H(x,y)=s*(x+y+2)*(y-1)+t*(x-y+2)*(3*x-2*y-4)
(12:53) gp > H(-1,1)
%113 = 0
(12:54) gp > H(-2,0)
%114 = 0
(12:54) gp > H(0,-2)
%115 = 0
(12:54) gp > H(2,1)
%116 = 0
Collecting the coefficients of H(x,y), we can again write down
a matrix of two column vectors giving the solutions to the
coefficients A,B,C,D,E,F.
(12:41) gp > L=[0,3;1,-5;1,2;-1,2;1,0;-2,-8]
%102 =
[0 3]
[1 -5]
[1 2]
[-1 2]
[1 0]
[-2 -8]
Check that both methods give the same solution set:
(12:43) gp > N = concat (K, L)
%103 =
[-3/4 -3/8 0 3]
[9/4 5/8 1 -5]
[1/2 -1/4 1 2]
[-3/2 -1/4 -1 2]
[1 0 1 0]
[0 1 - 2 - 8]
(12:43) gp > matimage(N)
%104 =
[-3/4 -3/8]
[9/4 5/8]
[1/2 -1/4]
[-3/2 -1/4]
[1 0]
[0 1]
The above command gives a basis for the column space of
the matrix N, showing that the second two vectors are
redundant, and hence generate the same space as the first two,
since they are clearly linearly independent.