`CoordinateDescent._expand_wX!`

— MethodComputes matrix whose each row is equal to w[i] ⋅ (X[i, :] ⊗ [1, (z - z0), ..., (z-z0)^q]) where q is the degree of the polynomial.

The output matrix is preallocated.

`CoordinateDescent._findInitSigma!`

— MethodHelper function that finds an initial estimate for σ that is needed for Lasso and ScaledLasso procedures.

The procedure works as follows:

- s input variables that are most correlated with the response y are found
- y is regressed on those s features
- σ is estimated based on the residuals, which gives an upper bound on the true sigma

`CoordinateDescent._findLambdaMax`

— MethodHelper function that finds the smallest value of λ0 for which the solution is equal to zero.

`CoordinateDescent._findLambdaMax`

— MethodHelper function that finds the smallest value of λ for which the solution is equal to zero.

`CoordinateDescent.descendCoordinate!`

— MethodArguments:

- f is CoordinateDifferentiableFunction
- g is a prox function

This function does two things:

It finds h such that f(x + e

*k⋅h) + g(x*k + h) decreses f(x) + g(x). Often h = arg*min f(x + e*k⋅h) + g(x_k + h), but it could also minimize a local quadratic approximation.The function also updates its internals. This is done by expecting that the algorithm to call this function again is coordinate descent. In future, we may want to implement other variants of coordinate descent.

`CoordinateDescent.get_beta!`

— MethodFor a given z0 finds two closest points in zgrid and corresponding values of beta. The output is obtained by interpolating the beta values.

`CoordinateDescent.gradient`

— MethodCoordinate k of the gradient of f evaluated at x.

`CoordinateDescent.initialize!`

— MethodSet internal parameters of the function f at the point x.

`CoordinateDescent.numCoordinates`

— MethodThis should return number of coordinates or blocks of coordinates over which the coordinate descent iterates.