func newPoint(owts, nwts, grad Parameter, alpha float32, projector *Projection) {
	for it := owts.IndexIterator(); it.Next(); {
		i := it.Index()
		nwts.Set(i, owts.Get(i)-alpha*grad.Get(i))
	}
	projector.ClipPoint(nwts)
}
// This creates a new point based on current point, step size and gradient.
This creates a new point based on current point, step size and gradient.
// This creates a new point based on current point step size and gradient .
func newPoint(owts, nwts, grad Parameter, alpha float32, projector *Projection) {
	for it := owts.IndexIterator(); it.Next(); {
		i := it.Index()
		nwts.Set(i, owts.Get(i)-alpha*grad.Get(i))
	}
	projector.ClipPoint(nwts)
}
func newPoint ( owts , nwts , grad Parameter , alpha float32 , projector * Projection ) { for it := owts . IndexIterator ( ) ; it . Next ( ) ; { i := it . Index ( ) nwts . Set ( i , owts . Get ( i ) - alpha * grad . Get ( i ) ) } projector . ClipPoint ( nwts ) }
This creates a new point based on current point, step size and gradient.
This creates a new point based on current point step size and gradient .