var a,b,Re,Im:
TVec;
azero: double;
begin
CreateIt(a,b,Re,Im);
try
a.SetIt(false,[1,2,3,4,5,6,7,8]);
b.Hilbert(a);
Re.RealPart(b);
Im.ImagPart(b);
azero := Re.DotProd(Im);
// if Re is orthogonal to Im, azero becomes 0
finally
FreeIt(a,b,Re,Im);
end;
end;