{
  "_id": "6a155401acfb0bcc41d5c6c6",
  "Package": "pnd",
  "Type": "Package",
  "Title": "Parallel Numerical Derivatives, Gradients, Jacobians, and\nHessians of Arbitrary Accuracy Order",
  "Version": "0.1.3",
  "Authors@R": "person(given = c(\"Andreï\", \"Victorovitch\"), family = \"Kostyrka\",\nrole = c(\"aut\", \"cre\"), email=\"andrei.kostyrka@gmail.com\")",
  "Maintainer": "Andreï Victorovitch Kostyrka <andrei.kostyrka@gmail.com>",
  "Description": "Numerical derivatives through finite-difference\napproximations can be calculated using the 'pnd' package with\nparallel capabilities and optimal step-size selection to\nimprove accuracy. These functions facilitate efficient\ncomputation of derivatives, gradients, Jacobians, and Hessians,\nallowing for more evaluations to reduce the mathematical and\nmachine errors. Designed for compatibility with the 'numDeriv'\npackage, which has not received updates in several years, it\nintroduces advanced features such as computing derivatives of\narbitrary order, improving the accuracy of Hessian\napproximations by avoiding repeated differencing, and\nparallelising slow functions on Windows, Mac, and Linux.",
  "License": "EUPL",
  "Encoding": "UTF-8",
  "URL": "https://github.com/Fifis/pnd",
  "BugReports": "https://github.com/Fifis/pnd/issues",
  "RdMacros": "Rdpack",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://fifis.r-universe.dev",
  "Date/Publication": "2026-05-26 07:19:27 UTC",
  "RemoteUrl": "https://github.com/fifis/pnd",
  "RemoteRef": "HEAD",
  "RemoteSha": "a589213045114075e6ae61306498e63e497885ff",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-26 07:57:40 UTC",
    "User": "root"
  },
  "Author": "Andreï Victorovitch Kostyrka [aut, cre]",
  "MD5sum": "f974cfc341e1ce154688ca6c6bdb604f",
  "_user": "fifis",
  "_type": "src",
  "_file": "pnd_0.1.3.tar.gz",
  "_fileid": "bc443629919be7e305548b46cc700add0770eda49dd5fe0a3d139bf5ec95dd45",
  "_filesize": 955737,
  "_sha256": "bc443629919be7e305548b46cc700add0770eda49dd5fe0a3d139bf5ec95dd45",
  "_created": "2026-05-26T07:57:40.000Z",
  "_published": "2026-05-26T08:04:17.752Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77831461684,
      "time": 134,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7211789555"
    },
    {
      "job": 77831461743,
      "time": 125,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7211786815"
    },
    {
      "job": 77831461713,
      "time": 139,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7211788839"
    },
    {
      "job": 77831461708,
      "time": 192,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7211836509"
    },
    {
      "job": 77831088891,
      "time": 151,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7211749141"
    },
    {
      "job": 77831461770,
      "time": 100,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7211779307"
    },
    {
      "job": 77831461744,
      "time": 87,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7211775015"
    },
    {
      "job": 77831461715,
      "time": 83,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7211774302"
    },
    {
      "job": 77831461728,
      "time": 83,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7211773906"
    }
  ],
  "_buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/fifis/pnd",
  "_commit": {
    "id": "a589213045114075e6ae61306498e63e497885ff",
    "author": "Andreï V. Kostyrka <fifis.himik@gmail.com>",
    "committer": "Andreï V. Kostyrka <fifis.himik@gmail.com>",
    "message": "Updated NEWS.md\n",
    "time": 1779779967
  },
  "_maintainer": {
    "name": "Andreï Victorovitch Kostyrka",
    "email": "andrei.kostyrka@gmail.com"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.4.0",
      "role": "Depends"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "Rdpack",
      "role": "Imports"
    },
    {
      "package": "numDeriv",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "fifis",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-22",
      "n": 2
    },
    {
      "week": "2025-31",
      "n": 4
    },
    {
      "week": "2025-36",
      "n": 3
    },
    {
      "week": "2025-38",
      "n": 1
    },
    {
      "week": "2025-51",
      "n": 2
    },
    {
      "week": "2026-07",
      "n": 5
    },
    {
      "week": "2026-19",
      "n": 2
    },
    {
      "week": "2026-22",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1.1",
      "date": "2025-09-03"
    }
  ],
  "_topics": [
    "finite-differences",
    "numerical-differentiation",
    "parallel-algorithm",
    "step-size"
  ],
  "_stars": 6,
  "_contributors": [
    {
      "user": "fifis",
      "count": 143,
      "uuid": 5990916
    },
    {
      "user": "kalibera",
      "count": 1,
      "uuid": 1734520
    }
  ],
  "_userbio": {
    "uuid": 5990916,
    "type": "user",
    "name": "Andreï V. Kostyrka",
    "description": "My interests: numerical optimisation, estimation techniques, typesetting, and music engraving."
  },
  "_downloads": {
    "count": 554,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/pnd"
  },
  "_devurl": "https://github.com/fifis/pnd",
  "_searchresults": 7,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/pnd.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/fifis/pnd",
  "_realowner": "fifis",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.0.6",
      "date": "2025-02-25"
    },
    {
      "version": "0.0.7",
      "date": "2025-03-01"
    },
    {
      "version": "0.0.8",
      "date": "2025-03-06"
    },
    {
      "version": "0.0.9",
      "date": "2025-03-11"
    },
    {
      "version": "0.0.10",
      "date": "2025-04-02"
    },
    {
      "version": "0.1.0",
      "date": "2025-05-20"
    },
    {
      "version": "0.1.1",
      "date": "2025-09-03"
    },
    {
      "version": "0.1.2",
      "date": "2026-02-16"
    }
  ],
  "_exports": [
    "alignStrings",
    "checkCores",
    "checkDimensions",
    "dupRowInds",
    "fdCoef",
    "formatMat",
    "GenD",
    "generateGrid",
    "generateGrid2",
    "Grad",
    "gradstep",
    "Hessian",
    "Jacobian",
    "printMat",
    "runParallel",
    "solveVandermonde",
    "step.CR",
    "step.DV",
    "step.K",
    "step.M",
    "step.plugin",
    "step.SW",
    "stepx"
  ],
  "_help": [
    {
      "page": "alignStrings",
      "title": "Align printed output to the longest argument",
      "topics": [
        "alignStrings"
      ]
    },
    {
      "page": "checkCores",
      "title": "Number of core checks and changes",
      "topics": [
        "checkCores"
      ]
    },
    {
      "page": "checkDimensions",
      "title": "Determine function dimensionality and vectorisation",
      "topics": [
        "checkDimensions",
        "print.checkDimensions"
      ]
    },
    {
      "page": "dupRowInds",
      "title": "Repeated indices of the first unique value",
      "topics": [
        "dupRowInds"
      ]
    },
    {
      "page": "fdCoef",
      "title": "Finite-difference coefficients for arbitrary grids",
      "topics": [
        "fdCoef"
      ]
    },
    {
      "page": "formatMat",
      "title": "Round a matrix to N signifcant digits in mixed FP/exp notation",
      "topics": [
        "formatMat"
      ]
    },
    {
      "page": "GenD",
      "title": "Numerical derivative matrices with parallel capabilities",
      "topics": [
        "GenD",
        "print.GenD"
      ]
    },
    {
      "page": "generateGrid",
      "title": "Create a grid of points for a gradient / Jacobian",
      "topics": [
        "generateGrid"
      ]
    },
    {
      "page": "generateGrid2",
      "title": "Generate grid points for Hessians",
      "topics": [
        "generateGrid2"
      ]
    },
    {
      "page": "Grad",
      "title": "Gradient computation with parallel capabilities",
      "topics": [
        "Grad"
      ]
    },
    {
      "page": "gradstep",
      "title": "Automatic step selection for gradients",
      "topics": [
        "gradstep",
        "print.gradstep",
        "print.stepsize"
      ]
    },
    {
      "page": "Jacobian",
      "title": "Jacobian matrix computation with parallel capabilities",
      "topics": [
        "Jacobian"
      ]
    },
    {
      "page": "plot.stepsize",
      "title": "Step-size selection visualisation",
      "topics": [
        "plot.gradstep",
        "plot.stepsize"
      ]
    },
    {
      "page": "Hessian",
      "title": "Numerical Hessians",
      "topics": [
        "Hessian",
        "print.Hessian"
      ]
    },
    {
      "page": "printMat",
      "title": "Print a matrix with separators",
      "topics": [
        "printMat"
      ]
    },
    {
      "page": "runParallel",
      "title": "Run a function in parallel over a list (internal use only)",
      "topics": [
        "runParallel"
      ]
    },
    {
      "page": "solveVandermonde",
      "title": "Numerically stable non-confluent Vandermonde system solver",
      "topics": [
        "solveVandermonde"
      ]
    },
    {
      "page": "step.CR",
      "title": "Curtis-Reid automatic step selection",
      "topics": [
        "step.CR"
      ]
    },
    {
      "page": "step.DV",
      "title": "Dumontet-Vignes automatic step selection",
      "topics": [
        "step.DV"
      ]
    },
    {
      "page": "step.K",
      "title": "Kink-based step selection",
      "topics": [
        "step.K"
      ]
    },
    {
      "page": "step.M",
      "title": "Mathur's AutoDX-like automatic step selection",
      "topics": [
        "step.M"
      ]
    },
    {
      "page": "step.plugin",
      "title": "Plug-in step selection",
      "topics": [
        "step.plugin"
      ]
    },
    {
      "page": "step.SW",
      "title": "Stepleman-Winarsky automatic step selection",
      "topics": [
        "step.SW"
      ]
    },
    {
      "page": "stepx",
      "title": "Default step size at given points",
      "topics": [
        "stepx"
      ]
    }
  ],
  "_readme": "https://github.com/fifis/pnd/raw/HEAD/README.md",
  "_rundeps": [
    "rbibutils",
    "Rdpack"
  ],
  "_vignettes": [
    {
      "source": "compatibility-with-numDeriv.Rmd",
      "filename": "compatibility-with-numDeriv.html",
      "title": "Compatilibility of pnd with the syntax of numDeriv",
      "author": "Andreï V. Kostyrka, University of Luxembourg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Definitions related to numerical derivatives",
        "Quick start: reproducing the numDeriv vignette",
        "Vectorisation pitfalls",
        "Breakdown of numDeriv::grad",
        "Handling vectorised inputs",
        "Approximation method",
        "Compatibility implies syntax support, not identical values",
        "numDeriv zero handling has a discontinuity",
        "Not all evaluations matter for Richardson extrapolation",
        "Diagnostics",
        "Higher-order accuracy diagnostics",
        "References"
      ],
      "created": "2024-06-26 05:05:28",
      "modified": "2025-12-15 12:00:11",
      "commits": 9
    },
    {
      "source": "fast-and-accurate.Rmd",
      "filename": "fast-and-accurate.html",
      "title": "Fast and accurate parallel numerical derivatives in R",
      "author": "Andreï V. Kostyrka, University of Luxembourg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Derivative approximation via finite differences",
        "Derivatives from Taylor series",
        "Derivatives on arbitrary stencils",
        "Precision loss on computers",
        "Numerical derivatives of scalar functions",
        "Two-sided derivatives",
        "One-sided derivatives",
        "Second derivatives",
        "Higher derivatives",
        "Fourth-order-accurate derivatives",
        "General derivative and accuracy orders",
        "Cross-derivatives",
        "Gradients, Jacobians, and Hessians",
        "Numerical gradients",
        "Numerical Jacobians",
        "Numerical Hessians and cross-derivatives",
        "Exploiting the Hessian symmetry",
        "Derivatives from existing function values",
        "Common issues with numerical derivatives",
        "Stencil choice",
        "Handling very small and very large arguments",
        "Derivatives of noisy functions",
        "Accuracy loss due to repeated differencing",
        "Complex derivatives",
        "TODO -- Uncategorised",
        "References"
      ],
      "created": "2024-06-13 16:15:40",
      "modified": "2025-07-28 08:41:52",
      "commits": 5
    },
    {
      "source": "step-size-selection.Rmd",
      "filename": "step-size-selection.html",
      "title": "Step-size-selection algorithm benchmark",
      "author": "Andreï V. Kostyrka, University of Luxembourg",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Data-driven step-size selection procedures",
        "Curtis--Reid (1974) bounded ratio approach",
        "Dumontet--Vignes (1977) plug-in approach",
        "Stepleman--Winarsky (1979) accurate-digit count estimation",
        "Mathur (2012) AutoDX algorithm",
        "Robust grid search",
        "Not letting intermediate values go to waste",
        "Non-uniform grid spacing",
        "First-order derivatives",
        "References"
      ],
      "created": "2024-06-13 16:15:40",
      "modified": "2025-07-28 08:42:41",
      "commits": 4
    }
  ],
  "_score": 5.857332496431268,
  "_indexed": true,
  "_nocasepkg": "pnd",
  "_universes": [
    "fifis"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-05-26T07:59:43.000Z",
      "distro": "noble",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "fac090eb0d7d540f548d2bc0127bc7a99af4e5f94fc4bb6ae5d6b7fc75c8806f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.3",
      "date": "2026-05-26T07:59:37.000Z",
      "distro": "noble",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "6313d3cf038f2747b7c2a73ce2b8ceb0c4b00f9bf7ff6f18441619221b75ebfd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-05-26T07:59:48.000Z",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "6b4378ba86d2291986975299b628a84833ee70846eab74b51dd451c875304def",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.3",
      "date": "2026-05-26T08:02:23.000Z",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "e4ca539975022304a9b842a9af39bebdd219f3b014750ad929488c072aa68351",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.3",
      "date": "2026-05-26T07:59:38.000Z",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "a12c91e4691f8ef0d10ad3360aff40b18dc0d0ee7cca4bfe892976811d602850",
      "status": "success",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-05-26T07:58:49.000Z",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "186d366741655e046cb32171a0ee4250d41fe92db9990b4917b73bf22b68f71b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-05-26T07:58:49.000Z",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "3b41eca11c33e8d7c9c1025ff68470807d5104f8a1aa6f637fa641b77b10f43b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.3",
      "date": "2026-05-26T07:58:46.000Z",
      "commit": "a589213045114075e6ae61306498e63e497885ff",
      "fileid": "dee29dd6cbdaa3eefdbf9ab685a97724debf8ac17a5519ebaaf7605cb92a1173",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/fifis/actions/runs/26439774150"
    }
  ]
}