{
  "_id": "6a101e23acfb0bcc41c8a8ec",
  "Package": "femtograd",
  "Title": "Automatic Differentiation for Statistical Computing",
  "Version": "0.3.1",
  "Authors@R": "person(\"Alexander\", \"Towell\", , \"lex@metafunctor.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-6443-9897\"))",
  "Maintainer": "Alexander Towell <lex@metafunctor.com>",
  "Description": "Provides automatic differentiation via reverse-mode AD\n(backpropagation) for first-order gradients and\nforward-over-reverse AD for Hessian computation. Includes\nlog-likelihood functions for exponential family distributions\n(normal, exponential, Poisson, binomial, gamma, beta, negative\nbinomial, Weibull, Pareto), MLE optimization via fit() with\nbase R generics (coef, vcov, confint, logLik, AIC/BIC),\nhypothesis testing (likelihood ratio, Wald), profile\nlikelihood, bootstrap inference, and model diagnostics.\nDesigned for pedagogy and modern statistics rather than\nlarge-scale ML.",
  "License": "GPL (>= 3)",
  "URL": "https://queelius.github.io/femtograd/,\nhttps://github.com/queelius/femtograd,\nhttps://queelius.r-universe.dev/femtograd",
  "BugReports": "https://github.com/queelius/femtograd/issues",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Repository": "https://queelius.r-universe.dev",
  "Date/Publication": "2026-04-14 06:34:18 UTC",
  "RemoteUrl": "https://github.com/queelius/femtograd",
  "RemoteRef": "HEAD",
  "RemoteSha": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-14 07:31:52 UTC",
    "User": "root"
  },
  "Author": "Alexander Towell [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-6443-9897>)",
  "MD5sum": "cdee7cebe1e4d276e67da65f6c082082",
  "_user": "queelius",
  "_type": "src",
  "_file": "femtograd_0.3.1.tar.gz",
  "_fileid": "1b7531306b4c19a999f5a9390df26e7d94280a2980ad28d0ecd5ff54258012bb",
  "_filesize": 409166,
  "_sha256": "1b7531306b4c19a999f5a9390df26e7d94280a2980ad28d0ecd5ff54258012bb",
  "_created": "2026-05-14T07:31:52.000Z",
  "_published": "2026-05-22T09:13:07.267Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77350449348,
      "time": 172,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "6989504164"
    },
    {
      "job": 77350449539,
      "time": 179,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "6989506883"
    },
    {
      "job": 77350449837,
      "time": 111,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "6989488584"
    },
    {
      "job": 77350449149,
      "time": 117,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "6989489753"
    },
    {
      "job": 77350448866,
      "time": 571,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6989461085"
    },
    {
      "job": 77350448922,
      "time": 97,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7156975451"
    },
    {
      "job": 77350449965,
      "time": 141,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "NOTE",
      "artifact": "6989496431"
    },
    {
      "job": 77350449877,
      "time": 156,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "NOTE",
      "artifact": "6989500209"
    },
    {
      "job": 77350449842,
      "time": 120,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "NOTE",
      "artifact": "6989490762"
    }
  ],
  "_buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/queelius/femtograd",
  "_commit": {
    "id": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
    "author": "Alex Towell <lex@metafunctor.com>",
    "committer": "Alex Towell <lex@metafunctor.com>",
    "message": "Ignore coverage.xml\n\ncovr::package_coverage() writes coverage.xml in Cobertura format on every\nrun; it is a build artifact, not source.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n",
    "time": 1776148458
  },
  "_maintainer": {
    "name": "Alexander Towell",
    "email": "lex@metafunctor.com",
    "login": "queelius",
    "orcid": "0000-0001-6443-9897",
    "twitter": "@queelius",
    "uuid": 1896674
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R6",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "queelius",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-49",
      "n": 5
    },
    {
      "week": "2025-50",
      "n": 2
    },
    {
      "week": "2026-01",
      "n": 2
    },
    {
      "week": "2026-06",
      "n": 1
    },
    {
      "week": "2026-16",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2025-12-06"
    },
    {
      "name": "v0.3.0",
      "date": "2026-02-02"
    },
    {
      "name": "v0.3.1",
      "date": "2026-04-14"
    }
  ],
  "_topics": [
    "automatic-differentiation",
    "backpropagation",
    "maximum-likelihood",
    "hessian",
    "statistics",
    "computational-graph",
    "inference",
    "pedagogy"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "queelius",
      "count": 39,
      "uuid": 1896674
    }
  ],
  "_userbio": {
    "uuid": 1896674,
    "type": "user",
    "name": "Alex Towell",
    "description": "Alexander Towell (Alex Towell). Reliability theory, encrypted search, algebraic structures. Building personal data tools."
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/femtograd"
  },
  "_devurl": "https://github.com/queelius/femtograd",
  "_pkgdown": "https://queelius.github.io/femtograd/",
  "_searchresults": 12,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/femtograd.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "backward",
    "bfgs",
    "bootstrap_fit",
    "bounded",
    "check_convergence",
    "check_hessian",
    "compare",
    "confint_mle",
    "confint_profile",
    "diagnostics",
    "div_safe",
    "dof",
    "dual",
    "dual_num",
    "exp_safe",
    "femtofit",
    "find_mle",
    "fisher_information",
    "fisher_scoring",
    "fit",
    "get_data",
    "get_data<-",
    "grad",
    "gradient",
    "gradient_ascent",
    "gradient_descent",
    "hessian",
    "inv_bounded",
    "inv_positive",
    "inv_probability",
    "is_dual",
    "is_significant_at",
    "is_value",
    "lbfgs",
    "line_search",
    "log_safe",
    "log_sigmoid",
    "log1p_safe",
    "logit",
    "loglik_bernoulli",
    "loglik_beta",
    "loglik_binomial",
    "loglik_exponential",
    "loglik_gamma",
    "loglik_logistic",
    "loglik_negbinom",
    "loglik_normal",
    "loglik_pareto",
    "loglik_poisson",
    "loglik_weibull",
    "logsumexp",
    "lower_bounded",
    "lrt",
    "newton_raphson",
    "observed_info",
    "positive",
    "primal",
    "probability",
    "profile_loglik",
    "pval",
    "relu",
    "se",
    "se_reliable",
    "sigmoid",
    "sigmoid_stable",
    "softmax",
    "softplus",
    "std_errors",
    "tangent",
    "test_stat",
    "upper_bounded",
    "val",
    "value",
    "vcov_matrix",
    "wald_test",
    "zero_grad"
  ],
  "_help": [
    {
      "page": "dot-value",
      "title": "Subtraction for value objects",
      "topics": [
        "-.value"
      ]
    },
    {
      "page": "times-.value",
      "title": "Multiplication for value objects",
      "topics": [
        "*.value"
      ]
    },
    {
      "page": "slash-.value",
      "title": "Division for value objects",
      "topics": [
        "/.value"
      ]
    },
    {
      "page": "pow-.value",
      "title": "Power operation for value objects.",
      "topics": [
        "^.value"
      ]
    },
    {
      "page": "plus-.value",
      "title": "Addition for value objects",
      "topics": [
        "+.value"
      ]
    },
    {
      "page": "abs.value",
      "title": "Absolute value for value objects",
      "topics": [
        "abs.value"
      ]
    },
    {
      "page": "anova.femtofit",
      "title": "Analysis of variance for femtofit models",
      "topics": [
        "anova.femtofit"
      ]
    },
    {
      "page": "backward",
      "title": "Generic function for the Backward pass for automatic differentiation (finds the gradient of every sub-node in the computational graph with respect to 'e'). In other words, it is responsible for computing the gradient with respect to 'e'.",
      "topics": [
        "backward"
      ]
    },
    {
      "page": "backward.default",
      "title": "Default implementation does not propagate gradients. For instance, if we have a constant, then the partial of the constant is not meaningful.",
      "topics": [
        "backward.default"
      ]
    },
    {
      "page": "backward.value",
      "title": "Backward pass for value objects",
      "topics": [
        "backward.value"
      ]
    },
    {
      "page": "bfgs",
      "title": "BFGS quasi-Newton optimizer",
      "topics": [
        "bfgs"
      ]
    },
    {
      "page": "bootstrap",
      "title": "Bootstrap Inference",
      "topics": [
        "bootstrap"
      ]
    },
    {
      "page": "bootstrap_fit",
      "title": "Bootstrap standard errors and confidence intervals",
      "topics": [
        "bootstrap_fit"
      ]
    },
    {
      "page": "bounded",
      "title": "Transform to bounded interval",
      "topics": [
        "bounded"
      ]
    },
    {
      "page": "check_convergence",
      "title": "Check convergence diagnostics",
      "topics": [
        "check_convergence"
      ]
    },
    {
      "page": "check_hessian",
      "title": "Check Hessian properties",
      "topics": [
        "check_hessian"
      ]
    },
    {
      "page": "compare",
      "title": "Compare multiple fitted models",
      "topics": [
        "compare"
      ]
    },
    {
      "page": "confint_mle",
      "title": "Compute confidence intervals from MLE results",
      "topics": [
        "confint_mle"
      ]
    },
    {
      "page": "confint_profile",
      "title": "Profile confidence intervals",
      "topics": [
        "confint_profile"
      ]
    },
    {
      "page": "confint.bootstrap_result",
      "title": "Confidence intervals from bootstrap",
      "topics": [
        "confint.bootstrap_result"
      ]
    },
    {
      "page": "cos.value",
      "title": "Cosine function for value objects",
      "topics": [
        "cos.value"
      ]
    },
    {
      "page": "diagnostics",
      "title": "Model Diagnostics",
      "topics": [
        "diagnostics",
        "diagnostics.femtofit"
      ]
    },
    {
      "page": "digamma.value",
      "title": "Digamma (psi) function for value objects",
      "topics": [
        "digamma.value"
      ]
    },
    {
      "page": "distributions",
      "title": "Log-likelihood functions for exponential family distributions",
      "topics": [
        "distributions"
      ]
    },
    {
      "page": "div_safe",
      "title": "Safe division (handles division by zero)",
      "topics": [
        "div_safe"
      ]
    },
    {
      "page": "dof",
      "title": "Extract degrees of freedom from hypothesis test",
      "topics": [
        "dof",
        "dof.hypothesis_test"
      ]
    },
    {
      "page": "dual",
      "title": "dual R6 class for forward-mode automatic differentiation",
      "topics": [
        "dual"
      ]
    },
    {
      "page": "dual_num",
      "title": "Create a dual number",
      "topics": [
        "dual_num"
      ]
    },
    {
      "page": "exp_safe",
      "title": "Stable exp function (with overflow protection)",
      "topics": [
        "exp_safe"
      ]
    },
    {
      "page": "exp.value",
      "title": "Exponential function for value objects",
      "topics": [
        "exp.value"
      ]
    },
    {
      "page": "femtofit",
      "title": "Constructor for femtofit objects",
      "topics": [
        "coef.femtofit",
        "confint.femtofit",
        "femtofit",
        "logLik.femtofit",
        "nobs.femtofit",
        "print.femtofit",
        "print.summary.femtofit",
        "summary.femtofit",
        "vcov.femtofit"
      ]
    },
    {
      "page": "find_mle",
      "title": "Find MLE with standard errors",
      "topics": [
        "find_mle"
      ]
    },
    {
      "page": "fisher_information",
      "title": "Compute observed Fisher information matrix",
      "topics": [
        "fisher_information"
      ]
    },
    {
      "page": "fisher_scoring",
      "title": "Fisher scoring optimizer",
      "topics": [
        "fisher_scoring"
      ]
    },
    {
      "page": "fit",
      "title": "Fit a model via maximum likelihood",
      "topics": [
        "fit"
      ]
    },
    {
      "page": "fitting",
      "title": "Statistical model fitting with automatic differentiation",
      "topics": [
        "fitting"
      ]
    },
    {
      "page": "get_data",
      "title": "Retrieve the data stored by an object",
      "topics": [
        "get_data",
        "get_data.default",
        "get_data.value",
        "get_data<-",
        "get_data<-.default",
        "get_data<-.value"
      ]
    },
    {
      "page": "grad",
      "title": "Gradient of 'x' with respect to 'e' in 'backward(e)', e.g., dx/de. (applies the chain rule)",
      "topics": [
        "grad"
      ]
    },
    {
      "page": "grad.default",
      "title": "Default gradient is zero matrix",
      "topics": [
        "grad.default"
      ]
    },
    {
      "page": "grad.value",
      "title": "Gradient of a 'value' object 'x' with respect to 'e' in 'backward(e)', e.g., dx/de. (applies the chain rule)",
      "topics": [
        "grad.value"
      ]
    },
    {
      "page": "gradient",
      "title": "Compute gradient as a numeric vector",
      "topics": [
        "gradient"
      ]
    },
    {
      "page": "gradient_ascent",
      "title": "Gradient ascent/descent optimizer",
      "topics": [
        "gradient_ascent"
      ]
    },
    {
      "page": "gradient_descent",
      "title": "Gradient descent (minimize)",
      "topics": [
        "gradient_descent"
      ]
    },
    {
      "page": "hessian",
      "title": "Compute Hessian matrix via forward-over-reverse automatic differentiation",
      "topics": [
        "hessian"
      ]
    },
    {
      "page": "hypothesis_tests",
      "title": "Hypothesis Testing for Fitted Models",
      "topics": [
        "hypothesis_tests"
      ]
    },
    {
      "page": "inv_bounded",
      "title": "Inverse of bounded transform",
      "topics": [
        "inv_bounded"
      ]
    },
    {
      "page": "inv_positive",
      "title": "Inverse of positive transform",
      "topics": [
        "inv_positive"
      ]
    },
    {
      "page": "inv_probability",
      "title": "Inverse of probability transform",
      "topics": [
        "inv_probability"
      ]
    },
    {
      "page": "inverse_transforms",
      "title": "Inverse transforms for recovering original scale",
      "topics": [
        "inverse_transforms"
      ]
    },
    {
      "page": "is_dual",
      "title": "Check if object is a dual number",
      "topics": [
        "is_dual"
      ]
    },
    {
      "page": "is_significant_at",
      "title": "Check if test is significant at given level",
      "topics": [
        "is_significant_at",
        "is_significant_at.hypothesis_test"
      ]
    },
    {
      "page": "is_value",
      "title": "Check if an object is of class value",
      "topics": [
        "is_value"
      ]
    },
    {
      "page": "lbfgs",
      "title": "L-BFGS optimizer (limited memory BFGS)",
      "topics": [
        "lbfgs"
      ]
    },
    {
      "page": "lgamma.value",
      "title": "Log-gamma function for value objects",
      "topics": [
        "lgamma.value"
      ]
    },
    {
      "page": "line_search",
      "title": "Backtracking line search (Armijo condition)",
      "topics": [
        "line_search"
      ]
    },
    {
      "page": "log_safe",
      "title": "Safe logarithm (handles zeros)",
      "topics": [
        "log_safe"
      ]
    },
    {
      "page": "log_sigmoid",
      "title": "Log-sigmoid (numerically stable)",
      "topics": [
        "log_sigmoid"
      ]
    },
    {
      "page": "log.value",
      "title": "Natural logarithm for value objects",
      "topics": [
        "log.value"
      ]
    },
    {
      "page": "log1p_safe",
      "title": "Log1p with underflow protection (deprecated alias for log1p)",
      "topics": [
        "log1p_safe"
      ]
    },
    {
      "page": "log1p.value",
      "title": "Log(1+x) for value objects",
      "topics": [
        "log1p.value"
      ]
    },
    {
      "page": "logit",
      "title": "Logit function for value objects",
      "topics": [
        "logit"
      ]
    },
    {
      "page": "loglik_bernoulli",
      "title": "Bernoulli distribution log-likelihood",
      "topics": [
        "loglik_bernoulli"
      ]
    },
    {
      "page": "loglik_beta",
      "title": "Beta distribution log-likelihood",
      "topics": [
        "loglik_beta"
      ]
    },
    {
      "page": "loglik_binomial",
      "title": "Binomial distribution log-likelihood",
      "topics": [
        "loglik_binomial"
      ]
    },
    {
      "page": "loglik_exponential",
      "title": "Exponential distribution log-likelihood",
      "topics": [
        "loglik_exponential"
      ]
    },
    {
      "page": "loglik_gamma",
      "title": "Gamma distribution log-likelihood",
      "topics": [
        "loglik_gamma"
      ]
    },
    {
      "page": "loglik_logistic",
      "title": "Logistic regression log-likelihood (binary)",
      "topics": [
        "loglik_logistic"
      ]
    },
    {
      "page": "loglik_negbinom",
      "title": "Negative binomial log-likelihood",
      "topics": [
        "loglik_negbinom"
      ]
    },
    {
      "page": "loglik_normal",
      "title": "Normal (Gaussian) log-likelihood",
      "topics": [
        "loglik_normal"
      ]
    },
    {
      "page": "loglik_pareto",
      "title": "Pareto distribution log-likelihood",
      "topics": [
        "loglik_pareto"
      ]
    },
    {
      "page": "loglik_poisson",
      "title": "Poisson distribution log-likelihood",
      "topics": [
        "loglik_poisson"
      ]
    },
    {
      "page": "loglik_weibull",
      "title": "Weibull distribution log-likelihood",
      "topics": [
        "loglik_weibull"
      ]
    },
    {
      "page": "logsumexp",
      "title": "Log-Sum-Exp (numerically stable)",
      "topics": [
        "logsumexp"
      ]
    },
    {
      "page": "lower_bounded",
      "title": "Transform to lower-bounded interval",
      "topics": [
        "lower_bounded"
      ]
    },
    {
      "page": "lrt",
      "title": "Likelihood Ratio Test",
      "topics": [
        "lrt"
      ]
    },
    {
      "page": "mean.value",
      "title": "Mean for value objects",
      "topics": [
        "mean.value"
      ]
    },
    {
      "page": "newton_raphson",
      "title": "Newton-Raphson optimizer",
      "topics": [
        "newton_raphson"
      ]
    },
    {
      "page": "observed_info",
      "title": "Observed Fisher information matrix",
      "topics": [
        "observed_info",
        "observed_info.femtofit"
      ]
    },
    {
      "page": "optimization",
      "title": "Optimization routines for maximum likelihood estimation",
      "topics": [
        "optimization"
      ]
    },
    {
      "page": "plot.profile_likelihood",
      "title": "Plot profile likelihood",
      "topics": [
        "plot.profile_likelihood"
      ]
    },
    {
      "page": "positive",
      "title": "Transform to positive values",
      "topics": [
        "positive"
      ]
    },
    {
      "page": "predict.femtofit",
      "title": "Predictions from a fitted model",
      "topics": [
        "predict.femtofit"
      ]
    },
    {
      "page": "primal",
      "title": "Extract primal from dual or return value unchanged",
      "topics": [
        "primal"
      ]
    },
    {
      "page": "print.anova.femtofit",
      "title": "Print anova table for femtofit",
      "topics": [
        "print.anova.femtofit"
      ]
    },
    {
      "page": "print.bootstrap_result",
      "title": "Print method for bootstrap results",
      "topics": [
        "print.bootstrap_result"
      ]
    },
    {
      "page": "print.hessian_check",
      "title": "Print methods for diagnostic objects",
      "topics": [
        "print.convergence_check",
        "print.hessian_check",
        "print.model_diagnostics"
      ]
    },
    {
      "page": "print.likelihood_ratio_test",
      "title": "Print method for likelihood ratio test",
      "topics": [
        "print.likelihood_ratio_test"
      ]
    },
    {
      "page": "print.model_comparison",
      "title": "Print model comparison",
      "topics": [
        "print.model_comparison"
      ]
    },
    {
      "page": "print.profile_likelihood",
      "title": "Print method for profile likelihood",
      "topics": [
        "print.profile_likelihood"
      ]
    },
    {
      "page": "print.value",
      "title": "Print value object and its computational graph",
      "topics": [
        "print.value"
      ]
    },
    {
      "page": "print.wald_test",
      "title": "Print method for Wald test",
      "topics": [
        "print.wald_test"
      ]
    },
    {
      "page": "probability",
      "title": "Transform to probability values",
      "topics": [
        "probability"
      ]
    },
    {
      "page": "profile_likelihood",
      "title": "Profile Likelihood",
      "topics": [
        "profile_likelihood"
      ]
    },
    {
      "page": "profile_loglik",
      "title": "Compute profile likelihood for a parameter",
      "topics": [
        "profile_loglik"
      ]
    },
    {
      "page": "pval",
      "title": "Extract p-value from hypothesis test",
      "topics": [
        "pval",
        "pval.hypothesis_test"
      ]
    },
    {
      "page": "relu",
      "title": "ReLU activation function for value objects",
      "topics": [
        "relu"
      ]
    },
    {
      "page": "se",
      "title": "Standard errors from a fitted model",
      "topics": [
        "se",
        "se.femtofit"
      ]
    },
    {
      "page": "se_reliable",
      "title": "Check if standard errors are reliable",
      "topics": [
        "se_reliable"
      ]
    },
    {
      "page": "sigmoid",
      "title": "Sigmoid activation function for value objects",
      "topics": [
        "sigmoid"
      ]
    },
    {
      "page": "sigmoid_stable",
      "title": "Stable sigmoid function",
      "topics": [
        "sigmoid_stable"
      ]
    },
    {
      "page": "sin.value",
      "title": "Sine function for value objects",
      "topics": [
        "sin.value"
      ]
    },
    {
      "page": "softmax",
      "title": "Softmax function (numerically stable)",
      "topics": [
        "softmax"
      ]
    },
    {
      "page": "softplus",
      "title": "Softplus function for value objects",
      "topics": [
        "softplus"
      ]
    },
    {
      "page": "sqrt.value",
      "title": "Square root for value objects",
      "topics": [
        "sqrt.value"
      ]
    },
    {
      "page": "stability",
      "title": "Numerical stability utilities for automatic differentiation",
      "topics": [
        "stability"
      ]
    },
    {
      "page": "std_errors",
      "title": "Compute standard errors from Hessian",
      "topics": [
        "std_errors"
      ]
    },
    {
      "page": "sum.dual",
      "title": "Sum for dual numbers",
      "topics": [
        "sum.dual"
      ]
    },
    {
      "page": "sum.value",
      "title": "Summation for value objects",
      "topics": [
        "sum.value"
      ]
    },
    {
      "page": "summary.bootstrap_result",
      "title": "Summary for bootstrap results",
      "topics": [
        "summary.bootstrap_result"
      ]
    },
    {
      "page": "tangent",
      "title": "Extract tangent from dual or return 0",
      "topics": [
        "tangent"
      ]
    },
    {
      "page": "tanh.value",
      "title": "Hyperbolic tangent for value objects",
      "topics": [
        "tanh.value"
      ]
    },
    {
      "page": "test_stat",
      "title": "Extract test statistic from hypothesis test",
      "topics": [
        "test_stat",
        "test_stat.hypothesis_test"
      ]
    },
    {
      "page": "transforms",
      "title": "Parameter Transformation Helpers",
      "topics": [
        "transforms"
      ]
    },
    {
      "page": "trigamma.value",
      "title": "Trigamma function for value objects",
      "topics": [
        "trigamma.value"
      ]
    },
    {
      "page": "upper_bounded",
      "title": "Transform to upper-bounded interval",
      "topics": [
        "upper_bounded"
      ]
    },
    {
      "page": "val",
      "title": "'value' object constructor",
      "topics": [
        "val"
      ]
    },
    {
      "page": "value",
      "title": "value R6 class",
      "topics": [
        "value"
      ]
    },
    {
      "page": "vcov_matrix",
      "title": "Compute variance-covariance matrix from Hessian",
      "topics": [
        "vcov_matrix"
      ]
    },
    {
      "page": "wald_test",
      "title": "Wald Test for Model Parameters",
      "topics": [
        "wald_test",
        "wald_test.default",
        "wald_test.femtofit"
      ]
    },
    {
      "page": "zero_grad",
      "title": "Reset gradients to zero",
      "topics": [
        "zero_grad",
        "zero_grad.default",
        "zero_grad.list",
        "zero_grad.value"
      ]
    }
  ],
  "_readme": "https://github.com/queelius/femtograd/raw/HEAD/README.md",
  "_rundeps": [
    "R6"
  ],
  "_vignettes": [
    {
      "source": "architecture.Rmd",
      "filename": "architecture.html",
      "title": "Architecture of an AD Engine",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Tier 0: Graph-per-Call (femtograd today)",
        "What happens under the hood",
        "The cost profile",
        "Why this is the right choice for pedagogy",
        "Tier 1: Tape-Based Tracing",
        "The idea",
        "What this buys you",
        "The trade-off",
        "Tier 2: Compiled Backends",
        "C++ via Rcpp",
        "GPU acceleration",
        "The abstraction boundary",
        "Where femtograd Chooses to Live",
        "Summary"
      ],
      "created": "2026-02-02 10:35:52",
      "modified": "2026-02-02 10:35:52",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started with femtograd",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Creating Differentiable Values",
        "Building Computations",
        "Computing Gradients",
        "Resetting Gradients",
        "Maximum Likelihood Estimation",
        "Using Base R Generics",
        "Built-in Distributions",
        "Example: Exponential Distribution",
        "Parameter Constraints",
        "Model Comparison",
        "Next Steps"
      ],
      "created": "2026-02-02 10:35:52",
      "modified": "2026-02-02 10:35:52",
      "commits": 1
    },
    {
      "source": "computational-graphs.Rmd",
      "filename": "computational-graphs.html",
      "title": "How Automatic Differentiation Works",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Why Automatic Differentiation?",
        "The Computational Graph",
        "The Forward Pass",
        "Reverse-Mode AD (Backpropagation)",
        "Step by Step",
        "Gradient Accumulation",
        "Why Reverse Mode?",
        "Second Derivatives: Forward-over-Reverse",
        "Dual Numbers",
        "Connection to Statistics",
        "Fisher Information and Standard Errors",
        "Newton-Raphson Optimization",
        "Summary"
      ],
      "created": "2026-02-02 10:35:52",
      "modified": "2026-02-02 10:35:52",
      "commits": 1
    },
    {
      "source": "inference.Rmd",
      "filename": "inference.html",
      "title": "Statistical Inference with femtograd",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Running Example",
        "Wald Inference",
        "Standard Errors",
        "Confidence Intervals",
        "Wald Test",
        "Likelihood Ratio Tests",
        "Model Comparison",
        "Profile Likelihood",
        "Bootstrap Inference",
        "Model Diagnostics",
        "What Can Go Wrong",
        "Inference Summary"
      ],
      "created": "2026-02-02 10:35:52",
      "modified": "2026-02-02 10:35:52",
      "commits": 1
    },
    {
      "source": "survival-analysis.Rmd",
      "filename": "survival-analysis.html",
      "title": "Survival Analysis from Scratch",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Parametric Survival: The Weibull Model",
        "Fitting Without Censoring",
        "Handling Right Censoring",
        "Simulating Censored Data",
        "Fitting the Censored Model",
        "Testing Shape = 1 (Is Exponential Adequate?)",
        "Adding Covariates: Accelerated Failure Time Model",
        "Interpreting the Treatment Effect",
        "Is Treatment Significant?",
        "Summary"
      ],
      "created": "2026-02-02 10:35:52",
      "modified": "2026-02-02 10:35:52",
      "commits": 1
    }
  ],
  "_score": 4.176091259055681,
  "_indexed": true,
  "_nocasepkg": "femtograd",
  "_universes": [
    "queelius"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-05-14T07:34:08.000Z",
      "distro": "noble",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "e2dfae24db8bf1d3fcd06ff55197caea476f0226865736b85bb790d573266843",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.3.1",
      "date": "2026-05-14T07:34:13.000Z",
      "distro": "noble",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "7d47e312a9bed13148bad4646395abbd93f5363a5a0b404fc9e5519a879124b3",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-05-14T07:33:27.000Z",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "6c8629d38605261408c30cc349c8e353d7fdc7e6084d83eb883b8cad98a90e7c",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.3.1",
      "date": "2026-05-14T07:33:33.000Z",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "47d5cdf1240133c5046c64d52386843b48e407854f048ac25b5667b3880e2213",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-05-14T07:33:19.000Z",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "febff35bbed34f9211e37040ed13f5ee151b2d03b636d4ddcb00577256c88999",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-05-14T07:33:40.000Z",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "a1bb06c126e9db52a2438c4bf5999517c2b1552bfd9816eb6bf8e0c873285594",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.3.1",
      "date": "2026-05-14T07:33:16.000Z",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "27b9a6e4ec42fee83edccde1c20a8e4998825a1aaf4367c85ac1747b96d56e5b",
      "status": "success",
      "check": "NOTE",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.1",
      "date": "2026-05-22T09:12:47.000Z",
      "commit": "50193c0c1dcbd1ffc0d1c268500616d6a5a3f2bc",
      "fileid": "f140b139a059c24e89167a514b1b5ee752869adb3f6c856b8a6a4f066d82816d",
      "status": "success",
      "buildurl": "https://github.com/r-universe/queelius/actions/runs/25847530431"
    }
  ]
}