# genlasso 1.6.1 (CRAN)

Path Algorithm for Generalized Lasso Problems

[Record of 1.6.1](/cran/genlasso/v/1.6.1.md) | Compare: [With 1.5](/cran/genlasso/compare/1.5...1.6.1.md), [With another package](/compare/genlasso.md#add), [Downloads](/downloads/compare/genlasso.md#add) | [Licences](/cran/genlasso/licences.md) | [SBOM](/cran/genlasso/sbom.md)

Install from CRAN: `install.packages("genlasso")`

Also from:

- r2u (Ubuntu binaries): `sudo apt install r-cran-genlasso` _Listed from recorded download activity on this channel, not from a live index, so read it as last known. Bioconductor packages are named r-bioc-<name> there._
- Fedora COPR (iucar/cran): `sudo dnf install R-CRAN-genlasso` _A rebuild of what CRAN lists, so it can lag CRAN by a rebuild._
- autoCRAN (openSUSE): `sudo zypper install R-genlasso` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._
- conda-forge: `conda install -c conda-forge r-genlasso` _Listed from recorded download activity on this channel, not from a live index, so read it as last known._

- CRAN checks: All OK (13 platforms)
- CRAN 30-day downloads: 791 (down 13.7% on the 30 days before, the worse direction)
- Dependent packages: 4 (1 more suggest it)
- Test coverage: No tests (nothing to run)
- Advisories: None known

## About

[Method](/about/licenses.md)

Computes the solution path for generalized lasso problems. Important use cases are the fused lasso over an arbitrary graph, and trend fitting of any given polynomial order. Specialized implementations for the latter two subproblems are given to improve stability and speed. See Taylor Arnold and Ryan Tibshirani (2016) <doi:10.1080/10618600.2015.1008638>.

- Maintainer: Taylor B. Arnold
- Licence: [GPL (>= 2.0)](/cran/genlasso/licences.md)
- Latest release: 22 Aug 2022
- First release: 19 Aug 2012

- [CRAN page](https://cran.r-project.org/package=genlasso)
- [Source repository](https://github.com/glmgen/genlasso)
- [Source of every release](https://github.com/cran/genlasso)

[Compare with another package](/compare/genlasso.md#add)

**More details**

- Releases: 7
- Needs compilation: Yes
- Needs R: >= 3.1.0
- Date: 2022-08-19

**Subjects (1) [Method](/about/subjects.md#found)**

- [Penalized regression](/topics/subjects/penalized-regression.md)

**Cite**

#### Package

Run in R for the authors' preferred citation:

`citation("genlasso")`

APA: Arnold, T. B., & Tibshirani, R. J. (2022). genlasso: Path Algorithm for Generalized Lasso Problems (Version 1.6.1) [Computer software]. https://doi.org/10.32614/CRAN.package.genlasso

BibTeX:

```
@Manual{genlasso,
  title  = {genlasso: Path Algorithm for Generalized Lasso Problems},
  author = {Arnold, Taylor B. and Tibshirani, Ryan J.},
  year   = {2022},
  note   = {R package version 1.6.1},
  doi    = {10.32614/CRAN.package.genlasso},
  url    = {https://CRAN.R-project.org/package=genlasso}
}
```

This package has no citation file, so `citation()` returns this entry built from `DESCRIPTION`.

#### R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA: Balamuta, J. J. (2026). R Observatory: Metrics for genlasso version 1.6.1 [Data set]. HJJB, LLC. Data release v2026-10-28. https://doi.org/10.5281/zenodo.21843040

BibTeX:

```
@misc{robservatorygenlasso,
  author    = {Balamuta, James Joseph},
  title     = {{R} {Observatory}: Metrics for {genlasso} version 1.6.1},
  year      = {2026},
  publisher = {HJJB, LLC},
  doi       = {10.5281/zenodo.21843040},
  url       = {https://r-observatory.thecoatlessprofessor.com/packages/genlasso},
  note      = {Data set. Data release v2026-10-28}
}
```

From data release v2026-10-28, which the citation names so these numbers can be found later.

## Health

[Method](/about/checks-health.md)

All 13 check platforms pass.

13 CRAN platforms: 13 OK.

Platforms now:

- r-devel-linux-x86_64-debian-clang: OK
- r-devel-linux-x86_64-debian-gcc: OK
- r-devel-linux-x86_64-fedora-clang: OK
- r-devel-linux-x86_64-fedora-gcc: OK
- r-devel-windows-x86_64: OK
- r-oldrel-macos-arm64: OK
- r-oldrel-macos-x86_64: OK
- r-oldrel-windows-x86_64: OK
- r-patched-linux-x86_64: OK
- r-release-linux-x86_64: OK
- r-release-macos-arm64: OK
- r-release-macos-x86_64: OK
- r-release-windows-x86_64: OK

#### Over time

No change since 5 Aug 2026

**As a list (3)**

| Changed | Worst status | OK | Notes | Warnings | Errors |
| --- | --- | ---: | ---: | ---: | ---: |
| 5 Aug 2026 | OK | 13 | 0 | 0 | 0 |
| 1 Aug 2026 | Note | 12 | 1 | 0 | 0 |
| 10 Mar 2026 | OK | 14 | 0 | 0 | 0 |

Since March 2026

[Check results on CRAN](https://cran.r-project.org/web/checks/check_results_genlasso.html)

## Downloads

[Method](/about/downloads.md)

- Downloads in the last 30 days: 1,226 (up 13.6% on the 30 days before, the better direction. It is the sum of 4 channels: CRAN, r2u, autoCRAN and conda-forge.)

CRAN alone: rank among CRAN packages, last 30 days: 4,174 of 26,530.

| Channel | Downloads in the last 30 days | In the total | Rank in that channel | Change |
| --- | ---: | --- | --- | --- |
| CRAN | 791 | yes | 4,174 of 26,530 | down 13.7% on the 30 days before, the worse direction |
| r2u | 56 | yes | 3,044 of 30,526 | up 93.1% on the 30 days before, the better direction |
| autoCRAN | 1 | yes | 25,688 of 29,212 | down 90% on the 30 days before, the worse direction |
| conda-forge | 378 | yes | 1,755 of 3,828 | up 205% on the 30 days before, the better direction |

Other windows: [Last 90 days](/cran/genlasso.md?win=90d#downloads), [Last 365 days](/cran/genlasso.md?win=365d#downloads), [All time](/cran/genlasso.md?win=all#downloads).

To leave channels out of the total, name them in the address, joined by dots: `?off=autocran.conda_forge`.

#### Over time

Downloads over time, the last 12 whole months:

| Month | CRAN | r2u | autoCRAN | conda-forge | Sum |
| --- | ---: | ---: | ---: | ---: | ---: |
| Oct 2025 | 2,391 | 30 | no figure | 450 | 2,871 |
| Nov 2025 | 1,485 | 47 | no figure | 778 | 2,310 |
| Dec 2025 | 2,100 | 53 | no figure | 719 | 2,872 |
| Jan 2026 | 476 | 40 | no figure | 263 | 779 |
| Feb 2026 | 497 | 37 | no figure | 255 | 789 |
| Mar 2026 | 660 | 31 | no figure | 153 | 844 |
| Apr 2026 | 872 | 52 | no figure | 425 | 1,349 |
| May 2026 | 811 | 41 | no figure | 285 | 1,137 |
| Jun 2026 | 670 | 24 | no figure | 170 | 864 |
| Jul 2026 | 633 | 26 | 23 | 226 | 908 |
| Aug 2026 | 723 | 29 | 25 | 125 | 902 |
| Sep 2026 | 913 | no figure | 5 | 378 | not whole yet |

The sum stops at Aug 2026: r2u has no later month on record yet.

First day on record: CRAN 6 Oct 2012, r2u 22 May 2022, autoCRAN 29 Jun 2026, conda-forge 21 Apr 2018.

Every channel here counts downloads, so the channels can be stacked and summed for one period. Each channel counts in its own way and covers a different span of years, so read a sum as a rough total, and read a rise where a channel begins as that channel starting, not as growth.

Weeks start on Monday. A first or last week or month that the channel does not cover in full is left out, so every point is a whole period.

Days with no record add nothing to their week or month. For a little-used package that is usually a day with no downloads, but it can also be a gap in collection.

[Compare downloads](/downloads/compare/genlasso.md#add)

## Dependencies

[Method](/about/reverse-dependencies.md)

- Needs: 2
- Dependent packages: 4
- Suggested by: 1

**Needs (2)**

- [igraph](/cran/igraph.md)
- [Matrix](/cran/Matrix.md)

- Installing it adds: 9 packages, 8.0 MB of source
- Of those, need compilation: 6

**Dependent packages (4)**

| Package | Title | Downloads in 30 days |
| --- | --- | ---: |
| [factorEx](/cran/factorEx.md) | Design and Analysis for Factorial Experiments | 266 |
| [WLogit](/cran/WLogit.md) | Variable Selection in High-Dimensional Logistic Regression Models using a Whitening Approach | 227 |
| [glober](/cran/glober.md) | Estimating Functions with Multivariate B-Splines | 226 |
| [SpiceFP](/cran/SpiceFP.md) | Sparse Method to Identify Joint Effects of Functional Predictors | 224 |

## Code

[Method](/about/code-metrics.md)

Selected function: `dualpathWideSparse`

- Kind: Internal R function
- File: R/dualpathWideSparse.R, line 13
- Lines: 239
- Complexity: 23

Called by 4: [`iterate`](/cran/genlasso.md?fn=iterate&view=focus#code), [`dualpath`](/cran/genlasso.md?fn=dualpath&view=focus#code), [`trendfilter`](/cran/genlasso.md?fn=trendfilter&view=focus#code), [`cv.trendfilter`](/cran/genlasso.md?fn=cv.trendfilter&view=focus#code)

Calls 3: [`Seq`](/cran/genlasso.md?fn=Seq&view=focus#code), [`Sign`](/cran/genlasso.md?fn=Sign&view=focus#code), [`backsolveSparse`](/cran/genlasso.md?fn=backsolveSparse&view=focus#code)

Paths: 2 steps each way.

Called by 4:

- [`iterate`](/cran/genlasso.md?fn=iterate&view=focus#code)
- [`dualpath`](/cran/genlasso.md?fn=dualpath&view=focus#code), called by 1
  - [`genlasso`](/cran/genlasso.md?fn=genlasso&view=focus#code)
- [`trendfilter`](/cran/genlasso.md?fn=trendfilter&view=focus#code), called by 1
  - [`fusedlasso1d`](/cran/genlasso.md?fn=fusedlasso1d&view=focus#code)
- [`cv.trendfilter`](/cran/genlasso.md?fn=cv.trendfilter&view=focus#code)

Calls 3:

- [`Seq`](/cran/genlasso.md?fn=Seq&view=focus#code)
- [`Sign`](/cran/genlasso.md?fn=Sign&view=focus#code)
- [`backsolveSparse`](/cran/genlasso.md?fn=backsolveSparse&view=focus#code), calls 2
  - [`Seq`](/cran/genlasso.md?fn=Seq&view=focus#code)
  - [`Order`](/cran/genlasso.md?fn=Order&view=focus#code), calls 1

The open file in the files map is `R/dualpathWideSparse.R`.

- Functions: 1
- Lines: 239
- Calls that stay inside it: 0
- Calls to other files: 3, to 3
- Calls from other files: 4, from 4

It calls: `R/Seq.R` (1 call), `R/Sign.R` (1 call), `R/backsolveSparse.R` (1 call)

Called from: `R/cv.trendfilter.R` (1 call), `R/dualpath.R` (1 call), `R/iterate.R` (1 call), `R/trendfilter.R` (1 call)

| Function in dualpathWideSparse.R | Calls in other files |
| --- | --- |
| [`dualpathWideSparse`](/cran/genlasso.md?fn=dualpathWideSparse&view=focus#code) selected | [`Seq`](/cran/genlasso.md?fn=Seq&view=focus#code), [`Sign`](/cran/genlasso.md?fn=Sign&view=focus#code), [`backsolveSparse`](/cran/genlasso.md?fn=backsolveSparse&view=focus#code) |


11 files with no calls to or from another: `R/gcv.genlasso.R`, `R/genlasso-internal.R`, `R/getGraph.R`, `R/plot.cv.trendfilter.R`, `R/plot.gcv.genlasso.R`, `R/predict.genlasso.R`, `R/print.genlasso.R`, `R/print.summary.genlasso.R`, `R/softthresh.R`, `R/summary.genlasso.R`, `src/init.c`.

The whole package has 66 function names in 56 files and 115 calls between them. Most calls between files: `R/Backsolve.R` and `R/Seq.R` (1 call), `R/Order.R` and `R/Seq.R` (1 call), `R/backsolveSparse.R` and `R/Order.R` (1 call), `R/backsolveSparse.R` and `R/Seq.R` (1 call), `R/cv.trendfilter.R` and `R/Seq.R` (1 call).

Graph: the whole call graph has 55 function names that take part in a call and 115 calls between them, set out in 6 layers with callers before what they call. 11 function names have no calls and are left out. Called by the most functions: `Seq` (24), `Sign` (9), `C_colrot` (8), `C_givens` (8), `C_rowrot` (8). Calling the most functions: `iterate` (8), `dualpathTall` (7), `fusedlasso` (5), `dualpath` (5), `dualpathWide` (4).

Most connected functions: [`Seq`](/cran/genlasso.md?fn=Seq&view=focus#code) 24, [`dualpathTall`](/cran/genlasso.md?fn=dualpathTall&view=focus#code) 9, [`Sign`](/cran/genlasso.md?fn=Sign&view=focus#code) 9, [`iterate`](/cran/genlasso.md?fn=iterate&view=focus#code) 8, [`dualpathWideSparse`](/cran/genlasso.md?fn=dualpathWideSparse&view=focus#code) 7, [`fusedlasso`](/cran/genlasso.md?fn=fusedlasso&view=focus#code) 7

To select another function, add ?fn=NAME to this address.

The call graph also has an address of its own: /cran/genlasso/graph.md?fn=dualpathWideSparse&view=focus

- Functions: 66
- Public exports: 27
- Lines of R code: 4,577
- Median complexity: 2

**Functions (66)**

| Function (sorted, low to high) | Kind | File | Lines | Complexity |
| --- | --- | --- | ---: | ---: |
| [`coef.genlasso`](/cran/genlasso.md?fn=coef.genlasso#code) | Public | R/coef.genlasso.R | 123 | 29 |
| [`cv.trendfilter`](/cran/genlasso.md?fn=cv.trendfilter#code) | Public | R/cv.trendfilter.R | 125 | 11 |
| [`fusedlasso`](/cran/genlasso.md?fn=fusedlasso#code) | Public | R/fusedlasso.R | 82 | 38 |
| [`fusedlasso1d`](/cran/genlasso.md?fn=fusedlasso1d#code) | Public | R/fusedlasso1d.R | 25 | 19 |
| [`fusedlasso2d`](/cran/genlasso.md?fn=fusedlasso2d#code) | Public | R/fusedlasso2d.R | 33 | 17 |
| [`genlasso`](/cran/genlasso.md?fn=genlasso#code) | Public | R/genlasso.R | 88 | 25 |
| [`getD1d`](/cran/genlasso.md?fn=getD1d#code) | Public | R/getD1d.R | 3 | 1 |
| [`getD1dSparse`](/cran/genlasso.md?fn=getD1dSparse#code) | Public | R/getD1dSparse.R | 3 | 1 |
| [`getD2d`](/cran/genlasso.md?fn=getD2d#code) | Public | R/getD2d.R | 3 | 1 |
| [`getD2dSparse`](/cran/genlasso.md?fn=getD2dSparse#code) | Public | R/getD2dSparse.R | 6 | 1 |
| [`getDg`](/cran/genlasso.md?fn=getDg#code) | Public | R/getDg.R | 3 | 1 |
| [`getDgSparse`](/cran/genlasso.md?fn=getDgSparse#code) | Public | R/getDgSparse.R | 6 | 1 |

This page lists 1 to 12 of 66 functions. [Next](/cran/genlasso.md?sort=name&order=asc&fpage=2#functions)

**Size and composition**

#### Lines by kind (6,289)

| Kind | Lines | Share |
| --- | ---: | ---: |
| R code | 4,577 | 73% |
| Documentation | 1,409 | 22% |
| Compiled code | 303 | 5% |

#### Lines by language

| Language | Lines | Share |
| --- | ---: | ---: |
| R | 4,577 | 73% |
| Rd | 1,409 | 22% |
| C | 303 | 5% |

Languages are counted from file extensions.

- Files: 72
- R functions: 54
- Compiled functions: 12
- Object systems: S3: 8 methods

**Complexity**

- Median: 2
- Mean: 10.7
- Highest: 43
- Median lines per function: 22

_About complexity: Cyclomatic complexity counts the independent paths through a function: 1 is a straight line, higher is harder to test. R functions only._

**Call graph figures**

- R functions: 54
- Calls: 84
- Unconnected: 10
- Groups: 1

**Growth (7 releases)**

Total lines by release: from 10,152 (on 20 Aug 2012) to 6,289 (on 22 Aug 2022). The lowest is 6,289 and the highest is 10,152.

**Release changes**

[Both releases side by side](/cran/genlasso/compare/1.5...1.6.1.md)

**1.5 to 1.6.1**, 2 Jul 2020 to 22 Aug 2022

- Files changed: 13
- Lines added: 20
- Lines deleted: 2,622
- Exports: No change

**Changed measures (6)**

| Measure | Subject | Before | After |
| --- | --- | ---: | ---: |
| Total lines | Structure | 7,913 | 6,289 |
| Lines of R code | Structure | 4,575 | 4,577 |
| Compiled share | Languages | 4% | 5% |
| Lines of documentation | Documentation | 1,406 | 1,409 |
| Vignettes | Documentation | Yes | No |
| Lines per function (mean) | Complexity | 80.48 | 80.52 |

**Most changed files (12 of 13)**

| File | Lines added | Lines deleted |
| --- | ---: | ---: |
| `vignettes/bibfile.bib` | 0 | 919 |
| `inst/doc/article.Rnw` | 0 | 711 |
| `vignettes/article.Rnw` | 0 | 711 |
| `inst/doc/article.R` | 0 | 260 |
| `DESCRIPTION` | 9 | 7 |
| `MD5` | 4 | 12 |
| `man/fusedlasso.Rd` | 4 | 1 |
| `R/plot.genlasso.R` | 2 | 0 |
| `man/cv.trendfilter.Rd` | 1 | 1 |
| `build/vignette.rds` | 0 | 0 |
| `inst/doc/article.pdf` | 0 | 0 |
| `vignettes/figures/article-compTime.pdf` | 0 | 0 |

## Tests

[Method](/about/coverage.md)

The package was built and has no tests to run.

- Lines of tests: 0
- Exports named in tests: 0%

**Test suite**

- Has tests: No
- Test frameworks: No tests in this release
- Test lines per line of code: 0

## Documentation

[Method](/about/code-metrics.md)

- Exports documented: 100%
- Arguments documented: 95.9%
- Return value documented: 100%
- Help pages with examples: 81.8%
- Examples run in checks: 100%

**Other documentation**

- README: Yes, 51 words
- Release notes file: Yes
- Help pages: 11
- Lines of documentation: 1,409

## People

[Method](/about/author-identity.md)

- [Taylor B. Arnold](/people/Taylor+B.+Arnold.md): Maintainer since 1.0 (2012), author
- [Ryan J. Tibshirani](/people/Ryan+J.+Tibshirani.md): Author

## Repository

[Method](/about/repo-signals.md#figures)

[ryantibs](/repos/ryantibs.md) / [genlasso](https://github.com/ryantibs/genlasso) on github.com

- Stars: 35 (no change on 30 days ago)
- Forks: 15
- Open issues: 2
- Last commit: 8 Dec 2022

**Activity**

- Commits: 25
- Open pull requests: 0
- Tagged releases: 0
- Latest tagged release: –
- Issues closed in: 898 days (median)
- Pull requests closed in: 0 days (median)
- Pull requests merged: 100%
- Created: 23 Oct 2013
- Licence file reads as: –

## History

[Method](/about/archive.md)

The line runs from the first release of genlasso on 19 Aug 2012 to 28 Oct 2026 and marks all 7 of its releases. CRAN archived it twice, and it came back twice.

#### Archived and back

| Archived | Back | CRAN's reason | Kind |
| --- | --- | --- | --- |
| 12 Aug 2022 | 22 Aug 2022 | "email to the maintainer is undeliverable" | Maintainer unreachable |
| 29 Jun 2018 | 11 Jul 2019 | "check problems were not corrected despite reminders" | Checks not fixed |

| Version | Released | R | Events |
| --- | --- | ---: | --- |
| [1.6.1](/cran/genlasso/v/1.6.1.md) current | 22 Aug 2022 | 4.2.1 | Back on CRAN 22 Aug 2022. |
| [1.5](/cran/genlasso/v/1.5.md) | 2 Jul 2020 | 4.0.0 | Archived 12 Aug 2022. “email to the maintainer is undeliverable” |
| [1.4](/cran/genlasso/v/1.4.md) | 11 Jul 2019 | 3.6.1 | Back on CRAN 11 Jul 2019. |
| [1.3](/cran/genlasso/v/1.3.md) | 15 Sep 2014 | 3.1.1 | Archived 29 Jun 2018. “check problems were not corrected despite reminders” |
| [1.2](/cran/genlasso/v/1.2.md) | 2 Mar 2014 | 3.0.2 |  |
| [1.1](/cran/genlasso/v/1.1.md) | 11 Dec 2013 | 3.0.2 |  |
| [1.0](/cran/genlasso/v/1.0.md) | 19 Aug 2012 | 2.15.1 |  |

---

R Observatory is independent of the R Project, CRAN and Bioconductor. The same page for people is at /cran/genlasso, and every address is listed at /llms.txt.
