{
  "_id": "6ab0eb123d719c1f8408493c",
  "Package": "diffcp",
  "Type": "Package",
  "Title": "Differentiating Through Cone Programs",
  "Version": "0.1.2",
  "Authors@R": "c(\nperson(\"Balasubramanian\", \"Narasimhan\",\nrole = c(\"aut\", \"cre\"),\nemail = \"naras@stanford.edu\"),\nperson(\"Akshay\", \"Agrawal\", role = \"aut\"),\nperson(\"Shane\", \"Barratt\",  role = \"aut\"),\nperson(\"Stephen\", \"Boyd\",   role = \"aut\"),\nperson(\"Enzo\", \"Busseti\",   role = \"aut\"),\nperson(\"Walaa\", \"Moursi\",   role = \"aut\"))",
  "Description": "A port of the 'python' 'diffcp' package. Computes the\nderivative of the optimal solution map of a convex cone\nprogram, treating the program as an implicit function of its\ndata (constraint matrix, offset, objective coefficients, and\noptionally a quadratic), mirroring Agrawal et al. (2019)\n<doi:10.48550/arXiv.1904.09043>.",
  "URL": "https://bnaras.github.io/diffcp/",
  "BugReports": "https://github.com/bnaras/diffcp/issues",
  "License": "Apache License (>= 2)",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "SystemRequirements": "C++17",
  "Config/testthat/edition": "3",
  "RoxygenNote": "7.3.3",
  "Roxygen": "list(markdown = TRUE)",
  "Config/pak/sysreqs": "make libclang-dev",
  "Repository": "https://bnaras.r-universe.dev",
  "Date/Publication": "2026-08-22 03:42:44 UTC",
  "RemoteUrl": "https://github.com/bnaras/diffcp",
  "RemoteRef": "HEAD",
  "RemoteSha": "d49481059992a87dc217df2bfd4f6704c6f701a0",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-09-21 08:23:51 UTC",
    "User": "root"
  },
  "Author": "Balasubramanian Narasimhan [aut, cre],\nAkshay Agrawal [aut],\nShane Barratt [aut],\nStephen Boyd [aut],\nEnzo Busseti [aut],\nWalaa Moursi [aut]",
  "Maintainer": "Balasubramanian Narasimhan <naras@stanford.edu>",
  "_user": "bnaras",
  "_type": "src",
  "_file": "diffcp_0.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/643002bdf5fb3515629a7427be7a267fa4dceee5ef3cb99f002da37168fbe192",
  "_filesize": 318527,
  "_sha256": "643002bdf5fb3515629a7427be7a267fa4dceee5ef3cb99f002da37168fbe192",
  "_expires": "2026-12-30T08:30:08.000Z",
  "_created": "2026-09-21T08:23:51.000Z",
  "_published": "2026-09-21T08:30:10.564Z",
  "_jobs": [
    {
      "job": 106263303164,
      "time": 155,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10628559973"
    },
    {
      "job": 106263303190,
      "time": 171,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10629310203"
    },
    {
      "job": 106263303124,
      "time": 194,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10629300327"
    },
    {
      "job": 106263303191,
      "time": 195,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10629165523"
    },
    {
      "job": 106263303110,
      "time": 107,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10628831720"
    },
    {
      "job": 106263303160,
      "time": 308,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10629450117"
    },
    {
      "job": 106263303101,
      "time": 131,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10627754223"
    },
    {
      "job": 106263303298,
      "time": 282,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10629360264"
    },
    {
      "job": 106262061772,
      "time": 273,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10628639181"
    },
    {
      "job": 106263303154,
      "time": 215,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "10627709394"
    },
    {
      "job": 106263303211,
      "time": 283,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10627864536"
    },
    {
      "job": 106263303119,
      "time": 190,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "10629385051"
    },
    {
      "job": 106263303229,
      "time": 163,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "10628153875"
    },
    {
      "job": 106263303319,
      "time": 239,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10629375160"
    },
    {
      "job": 106263303251,
      "time": 158,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "10627953997"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957",
  "_status": "success",
  "_upstream": "https://github.com/bnaras/diffcp",
  "_commit": {
    "id": "d49481059992a87dc217df2bfd4f6704c6f701a0",
    "author": "Balasubramanian Narasimhan <b.naras@gmail.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #1 from bnaras/keep-explicit-zeros-in-dA\n\nPreserve explicit zeros in dA",
    "time": 1787370164
  },
  "_maintainer": {
    "name": "Balasubramanian Narasimhan",
    "email": "naras@stanford.edu",
    "login": "bnaras",
    "description": "",
    "uuid": 3030361
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppEigen",
      "role": "LinkingTo"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "clarabel",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "scs",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "bnaras",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-18",
      "n": 13
    },
    {
      "week": "2026-19",
      "n": 7
    },
    {
      "week": "2026-20",
      "n": 6
    },
    {
      "week": "2026-22",
      "n": 5
    },
    {
      "week": "2026-34",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.2",
      "date": "2026-08-22"
    }
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "bnaras",
      "count": 33,
      "uuid": 3030361
    }
  ],
  "_userbio": {
    "uuid": 3030361,
    "type": "user",
    "name": "Balasubramanian Narasimhan",
    "followers": 72
  },
  "_downloads": {
    "count": 346,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/diffcp"
  },
  "_devurl": "https://github.com/bnaras/diffcp",
  "_pkgdown": "https://bnaras.github.io/diffcp/",
  "_searchresults": 3,
  "_topics": [
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/diffcp.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/bnaras/diffcp",
  "_realowner": "bnaras",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-05-19"
    },
    {
      "version": "0.1.1",
      "date": "2026-05-27"
    },
    {
      "version": "0.1.2",
      "date": "2026-08-22"
    }
  ],
  "_exports": [
    "CONES",
    "EQ_DIM",
    "EXP",
    "EXP_DUAL",
    "parse_cone_dict",
    "pi",
    "POS",
    "PSD",
    "SOC",
    "solve_and_derivative",
    "solve_only",
    "unvec_symm",
    "upstream_info",
    "vec_symm",
    "ZERO"
  ],
  "_help": [
    {
      "page": "parse_cone_dict",
      "title": "Parse an SCS-style cone dictionary into an ordered list",
      "topics": [
        "parse_cone_dict"
      ]
    },
    {
      "page": "pi",
      "title": "Projection onto a Cartesian product of cones",
      "topics": [
        "pi"
      ]
    },
    {
      "page": "solve_and_derivative",
      "title": "Solve a cone program and return forward / adjoint derivative operators",
      "topics": [
        "solve_and_derivative"
      ]
    },
    {
      "page": "solve_only",
      "title": "Solve a cone program (forward only)",
      "topics": [
        "solve_only"
      ]
    },
    {
      "page": "unvec_symm",
      "title": "Inverse of 'vec_symm'",
      "topics": [
        "unvec_symm"
      ]
    },
    {
      "page": "upstream_info",
      "title": "Upstream Python diffcp pin",
      "topics": [
        "upstream_info"
      ]
    },
    {
      "page": "vec_symm",
      "title": "Symmetric vectorization (SCS convention)",
      "topics": [
        "vec_symm"
      ]
    }
  ],
  "_pkglogo": "https://github.com/bnaras/diffcp/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/bnaras/diffcp/raw/HEAD/README.md",
  "_rundeps": [
    "clarabel",
    "cli",
    "lattice",
    "Matrix",
    "Rcpp",
    "RcppEigen"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "diffcp.Rmd",
      "filename": "diffcp.html",
      "title": "Differentiating Through a Cone Program with diffcp",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The mathematical setup",
        "What the package computes",
        "Example 1: a linear program",
        "Example 2: a second-order-cone program",
        "Example 3: a small semidefinite program",
        "A practical sensitivity-analysis example",
        "Forward versus adjoint: when to use each",
        "Choosing dense versus lsqr",
        "Conventions",
        "Connection to CVXR",
        "Citation"
      ],
      "created": "2026-05-03 05:43:06",
      "modified": "2026-05-26 02:12:03",
      "commits": 6
    }
  ],
  "_score": 4.3979400086720375,
  "_indexed": true,
  "_nocasepkg": "diffcp",
  "_universes": [
    "bnaras"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T08:26:24.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/f25d3d0d7a91f9bd235b940cb28d52cd038dcc46801b1affa8f6fa7405174c56",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T08:26:43.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/4b8cdd6275cd931030ba7b4ebde894b1f20b646b74d90e67f7372afe7a69b8e3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T08:27:02.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/4063f8f5ef65f1fb504a46d8d029ac1723181fbb25035ecdf3526192e0814cb3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-09-21T08:26:47.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/bbf86eded8bbe043ce80a32d6b7cb289cd7a7a6a348b9c4bd6f917128a4a1b34",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T08:25:46.000Z",
      "arch": "aarch64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/5919c260f23a35a439ea14dce6dea6593ea6863dc217b472e2a3eea8ae0ae49f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T08:28:03.000Z",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/10b3d38b061572c17a572f1179792e6e53eb5f70cf78f5fb0461a87c2ce403b0",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T08:25:47.000Z",
      "arch": "aarch64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/bb81e6be6240f8f27214fce4ca2e02a24d7fb214c1ea6075045928d439c5825a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-09-21T08:27:06.000Z",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/8e03f6ac35b87e3cf76c701c6244f90b3bdae80db0aaef4697d28fd3ba2330bb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-09-21T08:27:49.000Z",
      "arch": "emscripten",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/c9b6ed568d7ed9911e51678408c738ee14c52fc42d4a1f1b9e63991acd204164",
      "status": "success",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T08:28:03.000Z",
      "arch": "aarch64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/3798aff8fc4b2a2943f15330655d9aa5745b7abbd771b93b2ce61af723f84fe4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T08:25:27.000Z",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/43df6e7483545f175690a8680a23405f22c9df3d965bdf7b7a4279ef10d9a762",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T08:25:36.000Z",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/0165bbafb07af66d97a4a1050f5ad42d215435ef411b095479a59754461740db",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T08:27:20.000Z",
      "arch": "aarch64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/9ff002c4f737489182f6e200e4fe796812e639f5867c85fafda657740e31c6b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-09-21T08:25:34.000Z",
      "arch": "x86_64",
      "commit": "d49481059992a87dc217df2bfd4f6704c6f701a0",
      "fileid": "https://r2.ropensci.org/594fa0052da739d96765072038fc7fb370feae1481d38367cc9881358fee3a48",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/bnaras/actions/runs/35577306957"
    }
  ]
}