# Regressive Product

## group reg

The regressive product is implemented in terms of the exterior product. Given multivectors $$\mathbf{a}$$ and $$\mathbf{b}$$, the regressive product $$\mathbf{a}\vee\mathbf{b}$$ is equivalent to $$J(J(\mathbf{a})\wedge J(\mathbf{b}))$$. Thus, both meets and joins reside in the same algebraic structure.

Joining two points

    kln::point p1{x1, y1, z1};
kln::point p2{x2, y2, z2};

// l contains both p1 and p2.
kln::line l = p1 & p2;


Joining a line and a point

    kln::point p1{x, y, z};
kln::line l2{mx, my, mz, dx, dy, dz};

// p2 contains both p1 and l2.
kln::plane p2 = p1 & l2;


### Summary

Members Descriptions
public line KLN_VEC_CALL operator&(point a,point b) noexcept
public plane KLN_VEC_CALL operator&(point a,line b) noexcept
public plane KLN_VEC_CALL operator&(line b,point a) noexcept
public plane KLN_VEC_CALL operator&(point a,branch b) noexcept
public plane KLN_VEC_CALL operator&(branch b,point a) noexcept
public plane KLN_VEC_CALL operator&(point a,ideal_line b) noexcept
public plane KLN_VEC_CALL operator&(ideal_line b,point a) noexcept
public dual KLN_VEC_CALL operator&(plane a,point b) noexcept
public dual KLN_VEC_CALL operator&(point a,plane b) noexcept