func (_ SigmoidCECost) Cost(x linalg.Vector, a autofunc.Result) autofunc.Result { logsig := autofunc.LogSigmoid{} log := logsig.Apply(a) invLog := logsig.Apply(autofunc.Scale(a, -1)) xVar := &autofunc.Variable{x} oneMinusX := autofunc.AddScaler(autofunc.Scale(xVar, -1), 1) sums := autofunc.Add(autofunc.Mul(xVar, log), autofunc.Mul(oneMinusX, invLog)) return autofunc.Scale(autofunc.SumAll(sums), -1) }