def plot(vi, X, target='vanishing', n=1000, scale=1.5, x_max=1.0, y_max=1.0, z_func=(lambda x_, y_: 0.0), show=False, splitshow=False):
    nvars = X.shape[(- 1)]
    if (nvars == 2):
        _plot2d(vi, X, target=target, n=n, scale=scale, x_max=x_max, y_max=y_max, show=show, splitshow=splitshow)
    elif (nvars == 3):
        _plot3d(vi, X, z_func, target=target, n=n, scale=scale, x_max=x_max, y_max=y_max, show=show, splitshow=splitshow)
    else:
        print(f'Cannot plot {nvars}-variate polynomials')
def plot(vi, X, target='vanishing', n=1000, scale=1.5, x_max=1.0, y_max=1.0, z_func=(lambda x_, y_: 0.0), show=False, splitshow=False):
    nvars = X.shape[(- 1)]
    if (nvars == 2):
        _plot2d(vi, X, target=target, n=n, scale=scale, x_max=x_max, y_max=y_max, show=show, splitshow=splitshow)
    elif (nvars == 3):
        _plot3d(vi, X, z_func, target=target, n=n, scale=scale, x_max=x_max, y_max=y_max, show=show, splitshow=splitshow)
    else:
        print(f'Cannot plot {nvars}-variate polynomials')