def updateTheta(self, theta):
        thetaDotX = self.X.dot(theta, self.splitLimit)
        sigma = self.computeSigma(thetaDotX)
        muSum = self.computeMuSum(thetaDotX)

        A = sigma + _diagonal(
            sigma.shape[0], self.X.shape[0] * self.regularizer)
        b = muSum - self.fSum + theta * (self.regularizer * self.X.shape[0])

        return theta - numpy.linalg.solve(A, b)
dataset/ETHPy150Open ufora/ufora/packages/python/pyfora/algorithms/logistic/FullRankMajorizationSolver.py/FullRankMajorizationSolver.updateTheta/original