Self-Concordant Smooth Optimization (.jl) Julia implementation of self-concordant smoothing algorithms for convex composite optimization