discriminant update