An Introduction to Envelopes:
Dimension reduction for efficient estimation in multivariate statistics
by R. D. Cook
ISBN: 9781119422938 Introduction Errata (none yet) 
What's Here?
 This page provides links to computer programs that
implement the envelope methods described in this book.
Links to some new methods are also
given. The first section addresses envelope methodology, the second is on
general algorithms for manifold optimization and the final section covers
computing for sufficient dimension reduction. Last updated 13 January 2020.
Envelope Computing
envlp
envlp is a Matlab toolbox for fitting envelopes in multivariate linear regression. Based on Ross Lippert's sg_min toolbox for optimizing over Stiefel and Grassmann manifolds, it covers many methods, including response, partial, predictor, inner, scaled and heteroscedastic envelopes, along with associated inference methods. (Cook, Su and Yang, 2015)
Renvlp
 Renvlp
is an R package by Minji Lee and Zhihua Su for fitting many types of
envelopes. Except for inner envelopes,
it has all of the capabilities of envlp
plus many more, including weighted envelopes, envelopes in
logistic and Poisson regression, simultaneous envelopes, groupwise
envelopes and scaled predictor envelopes. It has also
many inference tools plus a routine for fitting that does not presume
a model.
 Renvlp is based on targeted routines rather than on a general purpose method for Grassmann fitting. In consequence it is less prone to get caught in local minima. Renvlp and envlp can give slightly different answers because they are based on different computing engines.
Matrix Envelopes
 MatrixEnv is an R package for fitting matrix envelopes in matrixvalued linear regression. This link takes you to Shanshan Ding's page where zip files with the code can be downloaded. This methodology was developed by Ding and Cook (2017).
Simultaneous, Reduced Rank and Tensor Envelopes
 Matlab packages for these three envelope types are maintained by Xin
(Henry) Zhang at his homepage. He also
has Matlab code for fitting the 1D algorithm,
and the
ECD and ECS algorithms.
 Henry Zhang and his students have also created an R pagkage TRES for envelope estimation with special emphasis on tensor envelope methods. The package also includes generic envelope estimation and an implementation of the modelfree dimension selection method developed by Zhang and Mai (2018).
Spatial Envelopes
Rekabdarkolaee, Wang, Naji and Fluentes introduced spatial envelopes for the study of spatial data while allowing for dependencies across space. R code for their spatial envelope method, which is to appear in Statistica Sinica, is available here.
Sparse Envelopes, Envelopebased Sparse Partial Least Squares
 spenvlp is an R package that implements sparse envelopes, envelopebased partial least squares and envelopebased sparse partial least squares. It was provided by Zhihua Su and written by Guangyu Zhu. The package implements recent results by Zhu and Su that are to appear in the Annals of Statistics. A preprint is available in the Future Papers section of the Annals' webpage.
Functional Envelopes

Zhang,
Wang and Wu (2018) developed functional envelopes for sufficient
dimension reduction, including regressions involving functional or
longitudinal data. A basic MatLab toolbox, PACE written by Chong Wang, was provided by Henry
Zhang. Background on the functional analysis part of the code, including references and examples, is
available here.
Bayesian Envelopes

Khare, Pal and
Su (2017) developed a Bayesian version of envelopes for the
multivariate linear model. A manifoldbased R package,
BENV, written by Subhadip Pal is available to implement their
methodology. A faster nonmanifold version is under development by
Saptarshi Chakarborty et al.
Envelope Quantile Regression

Ding, Su,
Zhu and Wang (2019) extended envelope methodology to quantile
regression. An R package, envqr,
that implements envelope quantile
regression was written by Guangyu Zhu, and furnished
by Shanshan Ding. Their paper, Envelope Quantile Regression, is
available as a Forthcoming Paper from Statistica Sinica.
Clustering with Envelopes

Wang, Zhang, and Mai
(2020) developed envelopebased mixture models for improved clustering
by projecting onto
lowdimensional latent spaces. Their approach also provides
foundations for envelope
methods in unsupervised and semisupervised settings.
An R package for their method, called CLEMM, is
available
from GitHub.
Nonlinearlty and Heteroscedasticity

Envelopes were recently extended to multiresponse regression models
with nonlinearity and heteroscedasticity by Zhang, Li and Shao
(2020). Their development makes use of the martingale difference
divergence matrix (Lee and Shao, 2018) and it introduces the concept
of the Central Mean Envelope. A preprint of their paper, which is to
appear in Biometrika, and a MatLab toolbox which implements
their method are available
from Zhang's webpage
Manifold Optimization
Riemannian Manifold Optimization
 ManifoldOptim is an R interface to the ROPTLIB library for Riemannian Manifold Optimization. Illustrations of using this environment to fit envelopes are given in an associated paper by Martin, Raim, Huang and Adragni (2016).
Grassmann Manifold Optimization
 GrassmannOptim is an R package for Grassmann manifold optimization developed by Adragni, Cook and Wu, (2012)
Computing for Sufficient Dimension Reduction
dr
 dr is an R package by Sandy Weisberg that implements basic SDR methodology like SIR, SAVE, pHd applied to the responses or residuals, and IRE. (Weisberg, 2002)
LDR
 LDR is a MatLab toolbox for likelihoodbased sufficient dimension reduction (Cook, Forzani, Tomassi, 2011). It includes routines for computing principal components, principal fitted components (PFC) along with various extensions, covariance reductions (CORE) and likelihood aquired directions (LAD).
ldr
 Written by Kofi Adragni and Andrew Raim, ldr is an R counterpart of LDR. It provides R implementations of PFC and its extensions, CORE and LAD. It also implements a variable screening procedure based on PFC. (Adragni and Raim, 2014)
Matrixvalued Predictors and Tensor Sliced Inverse Regression
 Dfpfc
is an R package that performs dimension folding PCA and PCF for
regressions with matrixvalued predictors
(Ding and Cook
2014).
TensorSIR is an R package that implements sliced inverse regression for tensorvalued data (Ding and Cook, 2015).
Highdimensional Principal Fitted Components and Abundant Regression
 Abundant is an R package written by Adam Rothman for fitting highdimensional PFCs and abundant regressions.
Sufficient Dimension Reduction: Methods and applications with R
 This 2018 book by Bing Li contains descriptions of many SDR methods, along with
corresponding Rcode.