{
  "_id": "6a16883eacfb0bcc41d75fa9",
  "Package": "Rmlx",
  "Type": "Package",
  "Title": "R Interface to MLX Arrays (GPU-Accelerated with Metal or CUDA)",
  "Version": "0.4.0",
  "Authors@R": "c(\nperson(\"David\", \"Hugh-Jones\", email = \"david@hughjones.com\", role = c(\"aut\", \"cre\")),\nperson(\"Apple Inc.\", role = \"cph\", comment = \"MLX library downloaded at install time\")\n)",
  "Author": "David Hugh-Jones [aut, cre], Apple Inc. [cph] (MLX library\ndownloaded at install time)",
  "Maintainer": "David Hugh-Jones <david@hughjones.com>",
  "Description": "S3 class 'mlx' backed by Apple's MLX library, allowing\narray operations on Apple Silicon GPUs/CPUs and CUDA-enabled\nLinux systems through lazy evaluation, shared memory between\nchips, and automatic differentiation.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "SystemRequirements": "MLX (>= 0.31.1); C++17; CMake; BLAS/LAPACK\ndevelopment headers (e.g., Debian/Ubuntu: liblapacke-dev or\nlibopenblas-dev)",
  "Roxygen": "list(markdown = TRUE)",
  "URL": "https://hughjonesd.github.io/Rmlx/,\nhttps://github.com/hughjonesd/Rmlx",
  "BugReports": "https://github.com/hughjonesd/Rmlx/issues",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "cmake",
  "Repository": "https://r-multiverse.r-universe.dev",
  "Date/Publication": "2026-05-17 21:24:32 UTC",
  "RemoteUrl": "https://github.com/hughjonesd/Rmlx",
  "RemoteRef": "v0.4.0",
  "RemoteSha": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-26 23:16:13 UTC",
    "User": "root"
  },
  "MD5sum": "a50c2c7e9958fd7df3e59566012eaf5a",
  "_user": "r-multiverse",
  "_type": "src",
  "_file": "Rmlx_0.4.0.tar.gz",
  "_fileid": "9bb179efde8ee2fc64fddb3e4e885a28f0ea1b9508868cc8cccce747d49cb223",
  "_filesize": 5266590,
  "_sha256": "9bb179efde8ee2fc64fddb3e4e885a28f0ea1b9508868cc8cccce747d49cb223",
  "_created": "2026-05-26T23:16:13.000Z",
  "_published": "2026-05-27T05:59:26.209Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78016546844,
      "time": 440,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7228480945"
    },
    {
      "job": 78016546778,
      "time": 442,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7228481257"
    },
    {
      "job": 78016546931,
      "time": 403,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7228472105"
    },
    {
      "job": 78016546746,
      "time": 441,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7228481059"
    },
    {
      "job": 78016546279,
      "time": 74,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78016546300,
      "time": 146,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78016546842,
      "time": 4693,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7229376356"
    },
    {
      "job": 78016546286,
      "time": 129,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78016546494,
      "time": 818,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7228380164"
    },
    {
      "job": 78016546231,
      "time": 114,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78016546252,
      "time": 68,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78016546251,
      "time": 55,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 78016546241,
      "time": 79,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "FAIL",
      "artifact": ""
    }
  ],
  "_buildurl": "https://github.com/r-universe/r-multiverse/actions/runs/26480328206",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/hughjonesd/Rmlx",
  "_commit": {
    "id": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
    "author": "David Hugh-Jones <davidhughjones@gmail.com>",
    "committer": "David Hugh-Jones <davidhughjones@gmail.com>",
    "message": "Increment version number to 0.4.0\n",
    "time": 1779053072
  },
  "_maintainer": {
    "name": "David Hugh-Jones",
    "email": "david@hughjones.com"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.10",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "bench",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "rprojroot",
      "role": "Suggests"
    }
  ],
  "_owner": "hughjonesd",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-42",
      "n": 1
    },
    {
      "week": "2025-43",
      "n": 84
    },
    {
      "week": "2025-44",
      "n": 72
    },
    {
      "week": "2025-45",
      "n": 57
    },
    {
      "week": "2025-46",
      "n": 37
    },
    {
      "week": "2025-47",
      "n": 67
    },
    {
      "week": "2025-48",
      "n": 30
    },
    {
      "week": "2025-49",
      "n": 40
    },
    {
      "week": "2026-15",
      "n": 3
    },
    {
      "week": "2026-16",
      "n": 2
    },
    {
      "week": "2026-18",
      "n": 3
    },
    {
      "week": "2026-19",
      "n": 5
    },
    {
      "week": "2026-20",
      "n": 14
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2025-10-30"
    },
    {
      "name": "v0.2.0",
      "date": "2025-11-24"
    },
    {
      "name": "v0.2.1",
      "date": "2025-11-28"
    },
    {
      "name": "v0.2.2",
      "date": "2025-12-06"
    },
    {
      "name": "v0.3.0",
      "date": "2026-05-13"
    },
    {
      "name": "v0.4.0",
      "date": "2026-05-17"
    }
  ],
  "_stars": 18,
  "_contributors": [
    {
      "user": "hughjonesd",
      "count": 474,
      "uuid": 5818871
    }
  ],
  "_userbio": {
    "uuid": 161461790,
    "type": "organization",
    "name": "R-multiverse",
    "description": "A community-curated collection of R package releases, powered by R-universe"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/Rmlx"
  },
  "_devurl": "https://github.com/hughjonesd/rmlx",
  "_pkgdown": "https://hughjonesd.github.io/Rmlx/",
  "_searchresults": 13,
  "_topics": [
    "openblas",
    "cpp"
  ],
  "_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/readme.html",
    "extra/readme.md",
    "extra/Rmlx.html",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "abind",
    "as_mlx",
    "as_r",
    "asplit",
    "backsolve",
    "chol2inv",
    "col",
    "colMeans",
    "colSums",
    "diag",
    "drop",
    "fft",
    "is_mlx",
    "kronecker",
    "kronecker.default",
    "kronecker.mlx",
    "local_device",
    "mlx_addmm",
    "mlx_all",
    "mlx_allclose",
    "mlx_any",
    "mlx_arange",
    "mlx_argmax",
    "mlx_argmin",
    "mlx_argpartition",
    "mlx_argsort",
    "mlx_array",
    "mlx_batch_norm",
    "mlx_best_device",
    "mlx_binary_cross_entropy",
    "mlx_broadcast_arrays",
    "mlx_broadcast_to",
    "mlx_cast",
    "mlx_cholesky_inv",
    "mlx_clip",
    "mlx_compile",
    "mlx_conjugate",
    "mlx_contiguous",
    "mlx_conv_transpose1d",
    "mlx_conv_transpose2d",
    "mlx_conv_transpose3d",
    "mlx_conv1d",
    "mlx_conv2d",
    "mlx_conv3d",
    "mlx_coordinate_descent",
    "mlx_cross",
    "mlx_cross_entropy",
    "mlx_cumprod",
    "mlx_cumsum",
    "mlx_default_stream",
    "mlx_degrees",
    "mlx_dequantize",
    "mlx_device",
    "mlx_dexp",
    "mlx_diagonal",
    "mlx_disable_compile",
    "mlx_dlnorm",
    "mlx_dlogis",
    "mlx_dnorm",
    "mlx_dropout",
    "mlx_dtype",
    "mlx_dunif",
    "mlx_eig",
    "mlx_eigh",
    "mlx_eigvals",
    "mlx_eigvalsh",
    "mlx_embedding",
    "mlx_enable_compile",
    "mlx_erf",
    "mlx_erfinv",
    "mlx_eval",
    "mlx_expand_dims",
    "mlx_eye",
    "mlx_fft",
    "mlx_fft2",
    "mlx_fftn",
    "mlx_flatten",
    "mlx_forward",
    "mlx_full",
    "mlx_gather",
    "mlx_gather_qmm",
    "mlx_gelu",
    "mlx_grad",
    "mlx_hadamard_transform",
    "mlx_has_gpu",
    "mlx_identity",
    "mlx_imag",
    "mlx_import_function",
    "mlx_inv",
    "mlx_isclose",
    "mlx_isfinite",
    "mlx_isinf",
    "mlx_isnan",
    "mlx_isneginf",
    "mlx_isposinf",
    "mlx_key",
    "mlx_key_bits",
    "mlx_key_split",
    "mlx_kron",
    "mlx_l1_loss",
    "mlx_layer_norm",
    "mlx_leaky_relu",
    "mlx_linear",
    "mlx_linspace",
    "mlx_load",
    "mlx_load_gguf",
    "mlx_load_safetensors",
    "mlx_logcumsumexp",
    "mlx_logsumexp",
    "mlx_lu",
    "mlx_matrix",
    "mlx_maximum",
    "mlx_mean",
    "mlx_meshgrid",
    "mlx_metal_kernel",
    "mlx_minimum",
    "mlx_moveaxis",
    "mlx_mse_loss",
    "mlx_nan_to_num",
    "mlx_new_stream",
    "mlx_norm",
    "mlx_ones",
    "mlx_ones_like",
    "mlx_optimizer_sgd",
    "mlx_pad",
    "mlx_param_set_values",
    "mlx_param_values",
    "mlx_parameters",
    "mlx_partition",
    "mlx_pexp",
    "mlx_plnorm",
    "mlx_plogis",
    "mlx_pnorm",
    "mlx_prod",
    "mlx_punif",
    "mlx_put_along_axis",
    "mlx_qexp",
    "mlx_qlnorm",
    "mlx_qlogis",
    "mlx_qnorm",
    "mlx_quantile",
    "mlx_quantize",
    "mlx_quantized_matmul",
    "mlx_qunif",
    "mlx_radians",
    "mlx_rand_bernoulli",
    "mlx_rand_categorical",
    "mlx_rand_gumbel",
    "mlx_rand_laplace",
    "mlx_rand_multivariate_normal",
    "mlx_rand_normal",
    "mlx_rand_permutation",
    "mlx_rand_randint",
    "mlx_rand_truncated_normal",
    "mlx_rand_uniform",
    "mlx_real",
    "mlx_relu",
    "mlx_repeat",
    "mlx_reshape",
    "mlx_roll",
    "mlx_save",
    "mlx_save_gguf",
    "mlx_save_safetensors",
    "mlx_scalar",
    "mlx_scatter_add_axis",
    "mlx_sd",
    "mlx_sequential",
    "mlx_set_default_stream",
    "mlx_set_training",
    "mlx_shape",
    "mlx_sigmoid",
    "mlx_silu",
    "mlx_slice_update",
    "mlx_softmax",
    "mlx_softmax_layer",
    "mlx_solve_triangular",
    "mlx_sort",
    "mlx_split",
    "mlx_squeeze",
    "mlx_stack",
    "mlx_std",
    "mlx_stop_gradient",
    "mlx_sum",
    "mlx_swapaxes",
    "mlx_synchronize",
    "mlx_take_along_axis",
    "mlx_tanh",
    "mlx_tile",
    "mlx_topk",
    "mlx_trace",
    "mlx_train_step",
    "mlx_tri",
    "mlx_tri_inv",
    "mlx_tril",
    "mlx_triu",
    "mlx_unflatten",
    "mlx_value_grad",
    "mlx_var",
    "mlx_vector",
    "mlx_where",
    "mlx_zeros",
    "mlx_zeros_like",
    "outer",
    "pinv",
    "row",
    "rowMeans",
    "rowSums",
    "svd",
    "with_device"
  ],
  "_help": [
    {
      "page": "Rmlx-package",
      "title": "Rmlx: R Interface to Apple's MLX Arrays",
      "topics": [
        "Rmlx-package",
        "Rmlx"
      ]
    },
    {
      "page": "mlx_subset",
      "title": "Subset MLX array",
      "topics": [
        "mlx_subset",
        "[.mlx",
        "[<-.mlx"
      ]
    },
    {
      "page": "grapes-times-grapes-.mlx",
      "title": "Matrix multiplication for MLX arrays",
      "topics": [
        "%*%.mlx"
      ]
    },
    {
      "page": "abind",
      "title": "Bind mlx arrays along an axis",
      "topics": [
        "abind"
      ]
    },
    {
      "page": "all.equal.mlx",
      "title": "Test if two MLX arrays are (nearly) equal",
      "topics": [
        "all.equal.mlx"
      ]
    },
    {
      "page": "as_mlx",
      "title": "Create MLX array from R object",
      "topics": [
        "as_mlx"
      ]
    },
    {
      "page": "as_r",
      "title": "Convert MLX array to base R objects",
      "topics": [
        "as_r"
      ]
    },
    {
      "page": "as.array.mlx",
      "title": "Convert MLX array to R array",
      "topics": [
        "as.array.mlx"
      ]
    },
    {
      "page": "as.matrix.mlx",
      "title": "Convert MLX array to R matrix",
      "topics": [
        "as.matrix.mlx"
      ]
    },
    {
      "page": "as.vector.mlx",
      "title": "Convert MLX array to R vector",
      "topics": [
        "as.double.mlx",
        "as.integer.mlx",
        "as.logical.mlx",
        "as.numeric.mlx",
        "as.vector.mlx"
      ]
    },
    {
      "page": "asplit",
      "title": "Split mlx arrays along a margin",
      "topics": [
        "asplit",
        "asplit.default",
        "asplit.mlx"
      ]
    },
    {
      "page": "cbind.mlx",
      "title": "Column-bind mlx arrays",
      "topics": [
        "cbind.mlx"
      ]
    },
    {
      "page": "chol.mlx",
      "title": "Cholesky decomposition for mlx arrays",
      "topics": [
        "chol.mlx"
      ]
    },
    {
      "page": "chol2inv",
      "title": "Inverse from Cholesky decomposition",
      "topics": [
        "chol2inv",
        "chol2inv.default",
        "chol2inv.mlx"
      ]
    },
    {
      "page": "colMeans",
      "title": "Column means for mlx arrays",
      "topics": [
        "colMeans",
        "colMeans.default",
        "colMeans.mlx"
      ]
    },
    {
      "page": "colSums",
      "title": "Column sums for mlx arrays",
      "topics": [
        "colSums",
        "colSums.default",
        "colSums.mlx"
      ]
    },
    {
      "page": "crossprod.mlx",
      "title": "Cross product",
      "topics": [
        "crossprod.mlx"
      ]
    },
    {
      "page": "diag",
      "title": "Diagonal matrix extraction and construction",
      "topics": [
        "diag"
      ]
    },
    {
      "page": "mlx_diagonal",
      "title": "Extract diagonal or construct diagonal matrix for mlx arrays",
      "topics": [
        "diag.mlx",
        "mlx_diagonal"
      ]
    },
    {
      "page": "dim.mlx",
      "title": "Get dimensions of MLX array",
      "topics": [
        "dim.mlx",
        "mlx_shape"
      ]
    },
    {
      "page": "dim-set-.mlx",
      "title": "Set dimensions of MLX array",
      "topics": [
        "dim<-.mlx"
      ]
    },
    {
      "page": "drop",
      "title": "Drop singleton dimensions",
      "topics": [
        "drop",
        "drop.default",
        "drop.mlx"
      ]
    },
    {
      "page": "fft",
      "title": "Fast Fourier Transform",
      "topics": [
        "fft",
        "fft.default",
        "fft.mlx"
      ]
    },
    {
      "page": "format.mlx_stream",
      "title": "Format method for mlx_stream",
      "topics": [
        "format.mlx_stream"
      ]
    },
    {
      "page": "is_mlx",
      "title": "Test if object is an MLX array",
      "topics": [
        "is_mlx"
      ]
    },
    {
      "page": "kronecker",
      "title": "Kronecker product dispatcher",
      "topics": [
        "kronecker",
        "kronecker,ANY,mlx-method",
        "kronecker,mlx,ANY-method",
        "kronecker,mlx,mlx-method",
        "kronecker.default",
        "kronecker.mlx"
      ]
    },
    {
      "page": "length.mlx",
      "title": "Get length of MLX array",
      "topics": [
        "length.mlx"
      ]
    },
    {
      "page": "Math.mlx",
      "title": "Math operations for MLX arrays",
      "topics": [
        "abs.mlx",
        "acos.mlx",
        "acosh.mlx",
        "asin.mlx",
        "asinh.mlx",
        "atan.mlx",
        "atanh.mlx",
        "ceiling.mlx",
        "cos.mlx",
        "cosh.mlx",
        "cospi.mlx",
        "cummax.mlx",
        "cummin.mlx",
        "cumprod.mlx",
        "cumsum.mlx",
        "exp.mlx",
        "expm1.mlx",
        "floor.mlx",
        "log.mlx",
        "log10.mlx",
        "log1p.mlx",
        "log2.mlx",
        "Math.mlx",
        "round.mlx",
        "sign.mlx",
        "signif.mlx",
        "sin.mlx",
        "sinh.mlx",
        "sinpi.mlx",
        "sqrt.mlx",
        "tan.mlx",
        "tanh.mlx",
        "tanpi.mlx",
        "trunc.mlx"
      ]
    },
    {
      "page": "mean.mlx",
      "title": "Mean of MLX array elements",
      "topics": [
        "mean.mlx"
      ]
    },
    {
      "page": "mlx_addmm",
      "title": "Fused matrix multiply and add for MLX arrays",
      "topics": [
        "mlx_addmm"
      ]
    },
    {
      "page": "mlx_allclose",
      "title": "Test if all elements of two arrays are close",
      "topics": [
        "mlx_allclose"
      ]
    },
    {
      "page": "mlx_arange",
      "title": "Numerical ranges on MLX devices",
      "topics": [
        "mlx_arange"
      ]
    },
    {
      "page": "mlx_argmax",
      "title": "Argmax and argmin on mlx arrays",
      "topics": [
        "mlx_argmax",
        "mlx_argmin"
      ]
    },
    {
      "page": "mlx_array",
      "title": "Construct an MLX array from R data",
      "topics": [
        "mlx_array"
      ]
    },
    {
      "page": "mlx_batch_norm",
      "title": "Batch normalization",
      "topics": [
        "mlx_batch_norm"
      ]
    },
    {
      "page": "mlx_best_device",
      "title": "Get best available device",
      "topics": [
        "mlx_best_device"
      ]
    },
    {
      "page": "mlx_binary_cross_entropy",
      "title": "Binary cross-entropy loss",
      "topics": [
        "mlx_binary_cross_entropy"
      ]
    },
    {
      "page": "mlx_broadcast_arrays",
      "title": "Broadcast multiple arrays to a shared shape",
      "topics": [
        "mlx_broadcast_arrays"
      ]
    },
    {
      "page": "mlx_broadcast_to",
      "title": "Broadcast an array to a new shape",
      "topics": [
        "mlx_broadcast_to"
      ]
    },
    {
      "page": "mlx_cast",
      "title": "Cast an mlx array",
      "topics": [
        "mlx_cast"
      ]
    },
    {
      "page": "mlx_cholesky_inv",
      "title": "Compute matrix inverse via Cholesky decomposition",
      "topics": [
        "mlx_cholesky_inv"
      ]
    },
    {
      "page": "mlx_clip",
      "title": "Clip mlx array values into a range",
      "topics": [
        "mlx_clip"
      ]
    },
    {
      "page": "mlx_compile",
      "title": "Compile an MLX Function for Optimized Execution",
      "topics": [
        "mlx_compile"
      ]
    },
    {
      "page": "mlx_contiguous",
      "title": "Ensure contiguous memory layout",
      "topics": [
        "mlx_contiguous"
      ]
    },
    {
      "page": "mlx_conv_transpose1d",
      "title": "1D Transposed Convolution",
      "topics": [
        "mlx_conv_transpose1d"
      ]
    },
    {
      "page": "mlx_conv_transpose2d",
      "title": "2D Transposed Convolution",
      "topics": [
        "mlx_conv_transpose2d"
      ]
    },
    {
      "page": "mlx_conv_transpose3d",
      "title": "3D Transposed Convolution",
      "topics": [
        "mlx_conv_transpose3d"
      ]
    },
    {
      "page": "mlx_conv1d",
      "title": "1D Convolution",
      "topics": [
        "mlx_conv1d"
      ]
    },
    {
      "page": "mlx_conv2d",
      "title": "2D Convolution",
      "topics": [
        "mlx_conv2d"
      ]
    },
    {
      "page": "mlx_conv3d",
      "title": "3D Convolution",
      "topics": [
        "mlx_conv3d"
      ]
    },
    {
      "page": "mlx_coordinate_descent",
      "title": "Coordinate Descent with L1 Regularization",
      "topics": [
        "mlx_coordinate_descent"
      ]
    },
    {
      "page": "mlx_cross",
      "title": "Vector cross product with mlx arrays",
      "topics": [
        "mlx_cross"
      ]
    },
    {
      "page": "mlx_cross_entropy",
      "title": "Cross-entropy loss",
      "topics": [
        "mlx_cross_entropy"
      ]
    },
    {
      "page": "mlx_cumsum",
      "title": "Cumulative sum and product",
      "topics": [
        "mlx_cumprod",
        "mlx_cumsum"
      ]
    },
    {
      "page": "mlx_degrees",
      "title": "Convert between radians and degrees",
      "topics": [
        "mlx_degrees",
        "mlx_radians"
      ]
    },
    {
      "page": "mlx_dequantize",
      "title": "Dequantize a Matrix",
      "topics": [
        "mlx_dequantize"
      ]
    },
    {
      "page": "mlx_device",
      "title": "Get or set current MLX device",
      "topics": [
        "mlx_device"
      ]
    },
    {
      "page": "mlx_dexp",
      "title": "Exponential distribution functions",
      "topics": [
        "mlx_dexp",
        "mlx_pexp",
        "mlx_qexp"
      ]
    },
    {
      "page": "mlx_compile_control",
      "title": "Control Global Compilation Behavior",
      "topics": [
        "mlx_disable_compile",
        "mlx_enable_compile"
      ]
    },
    {
      "page": "mlx_dlnorm",
      "title": "Lognormal distribution functions",
      "topics": [
        "mlx_dlnorm",
        "mlx_plnorm",
        "mlx_qlnorm"
      ]
    },
    {
      "page": "mlx_dlogis",
      "title": "Logistic distribution functions",
      "topics": [
        "mlx_dlogis",
        "mlx_plogis",
        "mlx_qlogis"
      ]
    },
    {
      "page": "mlx_dnorm",
      "title": "Normal distribution functions",
      "topics": [
        "mlx_dnorm",
        "mlx_pnorm",
        "mlx_qnorm"
      ]
    },
    {
      "page": "mlx_dropout",
      "title": "Dropout layer",
      "topics": [
        "mlx_dropout"
      ]
    },
    {
      "page": "mlx_dtype",
      "title": "Get the data type of an MLX array",
      "topics": [
        "mlx_dtype"
      ]
    },
    {
      "page": "mlx_dunif",
      "title": "Uniform distribution functions",
      "topics": [
        "mlx_dunif",
        "mlx_punif",
        "mlx_qunif"
      ]
    },
    {
      "page": "mlx_eig",
      "title": "Eigen decomposition for mlx arrays",
      "topics": [
        "mlx_eig"
      ]
    },
    {
      "page": "mlx_eigh",
      "title": "Eigen decomposition of Hermitian mlx arrays",
      "topics": [
        "mlx_eigh"
      ]
    },
    {
      "page": "mlx_eigvals",
      "title": "Eigenvalues of mlx arrays",
      "topics": [
        "mlx_eigvals"
      ]
    },
    {
      "page": "mlx_eigvalsh",
      "title": "Eigenvalues of Hermitian mlx arrays",
      "topics": [
        "mlx_eigvalsh"
      ]
    },
    {
      "page": "mlx_embedding",
      "title": "Embedding layer",
      "topics": [
        "mlx_embedding"
      ]
    },
    {
      "page": "mlx_erf",
      "title": "Error function and inverse error function",
      "topics": [
        "mlx_erf",
        "mlx_erfinv"
      ]
    },
    {
      "page": "mlx_eval",
      "title": "Force evaluation of an MLX operations",
      "topics": [
        "mlx_eval"
      ]
    },
    {
      "page": "mlx_expand_dims",
      "title": "Insert singleton dimensions",
      "topics": [
        "mlx_expand_dims"
      ]
    },
    {
      "page": "mlx_eye",
      "title": "Identity-like matrices on MLX devices",
      "topics": [
        "mlx_eye"
      ]
    },
    {
      "page": "mlx_fft",
      "title": "Fast Fourier transforms for MLX arrays",
      "topics": [
        "mlx_fft",
        "mlx_fft2",
        "mlx_fftn"
      ]
    },
    {
      "page": "mlx_flatten",
      "title": "Flatten axes of an mlx array",
      "topics": [
        "mlx_flatten"
      ]
    },
    {
      "page": "mlx_forward",
      "title": "Forward pass utility",
      "topics": [
        "mlx_forward"
      ]
    },
    {
      "page": "mlx_full",
      "title": "Fill an mlx array with a constant value",
      "topics": [
        "mlx_full"
      ]
    },
    {
      "page": "mlx_gather",
      "title": "Gather elements from an mlx array",
      "topics": [
        "mlx_gather"
      ]
    },
    {
      "page": "mlx_gather_qmm",
      "title": "Gather-based Quantized Matrix Multiplication",
      "topics": [
        "mlx_gather_qmm"
      ]
    },
    {
      "page": "mlx_gelu",
      "title": "GELU activation",
      "topics": [
        "mlx_gelu"
      ]
    },
    {
      "page": "mlx_grad",
      "title": "Automatic differentiation for MLX functions",
      "topics": [
        "mlx_grad",
        "mlx_value_grad"
      ]
    },
    {
      "page": "mlx_hadamard_transform",
      "title": "Hadamard transform for MLX arrays",
      "topics": [
        "mlx_hadamard_transform"
      ]
    },
    {
      "page": "mlx_has_gpu",
      "title": "Check if GPU backend is available",
      "topics": [
        "mlx_has_gpu"
      ]
    },
    {
      "page": "mlx_identity",
      "title": "Identity matrices on MLX devices",
      "topics": [
        "mlx_identity"
      ]
    },
    {
      "page": "mlx_import_function",
      "title": "Import an exported MLX function",
      "topics": [
        "mlx_import_function"
      ]
    },
    {
      "page": "mlx_inv",
      "title": "Compute matrix inverse",
      "topics": [
        "mlx_inv"
      ]
    },
    {
      "page": "mlx_isclose",
      "title": "Element-wise approximate equality",
      "topics": [
        "mlx_isclose"
      ]
    },
    {
      "page": "mlx_isnan",
      "title": "Elementwise NaN and infinity predicates",
      "topics": [
        "mlx_isfinite",
        "mlx_isinf",
        "mlx_isnan"
      ]
    },
    {
      "page": "mlx_isposinf",
      "title": "Detect signed infinities in mlx arrays",
      "topics": [
        "mlx_isneginf",
        "mlx_isposinf"
      ]
    },
    {
      "page": "mlx_key",
      "title": "Construct MLX random number generator keys",
      "topics": [
        "mlx_key",
        "mlx_key_split"
      ]
    },
    {
      "page": "mlx_key_bits",
      "title": "Generate raw random bits on MLX arrays",
      "topics": [
        "mlx_key_bits"
      ]
    },
    {
      "page": "mlx_kron",
      "title": "Kronecker product for mlx arrays",
      "topics": [
        "mlx_kron"
      ]
    },
    {
      "page": "mlx_l1_loss",
      "title": "L1 loss (Mean Absolute Error)",
      "topics": [
        "mlx_l1_loss"
      ]
    },
    {
      "page": "mlx_layer_norm",
      "title": "Layer normalization",
      "topics": [
        "mlx_layer_norm"
      ]
    },
    {
      "page": "mlx_leaky_relu",
      "title": "Leaky ReLU activation",
      "topics": [
        "mlx_leaky_relu"
      ]
    },
    {
      "page": "mlx_linear",
      "title": "Create a learnable linear transformation",
      "topics": [
        "mlx_linear"
      ]
    },
    {
      "page": "mlx_linspace",
      "title": "Evenly spaced ranges on MLX devices",
      "topics": [
        "mlx_linspace"
      ]
    },
    {
      "page": "mlx_load",
      "title": "Load an MLX array from disk",
      "topics": [
        "mlx_load"
      ]
    },
    {
      "page": "mlx_load_gguf",
      "title": "Load MLX tensors from the GGUF format",
      "topics": [
        "mlx_load_gguf"
      ]
    },
    {
      "page": "mlx_load_safetensors",
      "title": "Load MLX arrays from the safetensors format",
      "topics": [
        "mlx_load_safetensors"
      ]
    },
    {
      "page": "mlx_logcumsumexp",
      "title": "Log cumulative sum exponential for mlx arrays",
      "topics": [
        "mlx_logcumsumexp"
      ]
    },
    {
      "page": "mlx_logsumexp",
      "title": "Log-sum-exp reduction for mlx arrays",
      "topics": [
        "mlx_logsumexp"
      ]
    },
    {
      "page": "mlx_lu",
      "title": "LU factorization",
      "topics": [
        "mlx_lu"
      ]
    },
    {
      "page": "mlx_matrix",
      "title": "Construct MLX matrices efficiently",
      "topics": [
        "mlx_matrix"
      ]
    },
    {
      "page": "mlx_maximum",
      "title": "Elementwise maximum of two mlx arrays",
      "topics": [
        "mlx_maximum"
      ]
    },
    {
      "page": "mlx_meshgrid",
      "title": "Construct coordinate arrays from input vectors",
      "topics": [
        "mlx_meshgrid"
      ]
    },
    {
      "page": "mlx_metal_kernel",
      "title": "Create a JIT-compiled custom Metal kernel",
      "topics": [
        "mlx_metal_kernel"
      ]
    },
    {
      "page": "mlx_minimum",
      "title": "Elementwise minimum of two mlx arrays",
      "topics": [
        "mlx_minimum"
      ]
    },
    {
      "page": "mlx_moveaxis",
      "title": "Reorder mlx array axes",
      "topics": [
        "aperm.mlx",
        "mlx_moveaxis"
      ]
    },
    {
      "page": "mlx_mse_loss",
      "title": "Mean squared error loss",
      "topics": [
        "mlx_mse_loss"
      ]
    },
    {
      "page": "mlx_nan_to_num",
      "title": "Replace NaN and infinite values with finite numbers",
      "topics": [
        "mlx_nan_to_num"
      ]
    },
    {
      "page": "mlx_new_stream",
      "title": "MLX streams for asynchronous execution",
      "topics": [
        "mlx_default_stream",
        "mlx_new_stream"
      ]
    },
    {
      "page": "mlx_norm",
      "title": "Matrix and vector norms for mlx arrays",
      "topics": [
        "mlx_norm"
      ]
    },
    {
      "page": "mlx_ones",
      "title": "Create arrays of ones on MLX devices",
      "topics": [
        "mlx_ones"
      ]
    },
    {
      "page": "mlx_ones_like",
      "title": "Ones shaped like an existing mlx array",
      "topics": [
        "mlx_ones_like"
      ]
    },
    {
      "page": "mlx_optimizer_sgd",
      "title": "Stochastic gradient descent optimizer",
      "topics": [
        "mlx_optimizer_sgd"
      ]
    },
    {
      "page": "mlx_pad",
      "title": "Pad mlx arrays",
      "topics": [
        "mlx_pad"
      ]
    },
    {
      "page": "mlx_param_set_values",
      "title": "Assign arrays back to parameters",
      "topics": [
        "mlx_param_set_values"
      ]
    },
    {
      "page": "mlx_param_values",
      "title": "Retrieve parameter arrays",
      "topics": [
        "mlx_param_values"
      ]
    },
    {
      "page": "mlx_parameters",
      "title": "Collect parameters from modules",
      "topics": [
        "mlx_parameters"
      ]
    },
    {
      "page": "mlx_put_along_axis",
      "title": "Write values using per-position axis indices",
      "topics": [
        "mlx_put_along_axis"
      ]
    },
    {
      "page": "mlx_quantile",
      "title": "Compute quantiles of MLX arrays",
      "topics": [
        "mlx_quantile",
        "quantile.mlx"
      ]
    },
    {
      "page": "mlx_quantize",
      "title": "Quantize a Matrix",
      "topics": [
        "mlx_quantize"
      ]
    },
    {
      "page": "mlx_quantized_matmul",
      "title": "Quantized Matrix Multiplication",
      "topics": [
        "mlx_quantized_matmul"
      ]
    },
    {
      "page": "mlx_rand_bernoulli",
      "title": "Sample Bernoulli random variables on mlx arrays",
      "topics": [
        "mlx_rand_bernoulli"
      ]
    },
    {
      "page": "mlx_rand_categorical",
      "title": "Sample from a categorical distribution on mlx arrays",
      "topics": [
        "mlx_rand_categorical"
      ]
    },
    {
      "page": "mlx_rand_gumbel",
      "title": "Sample from the Gumbel distribution on mlx arrays",
      "topics": [
        "mlx_rand_gumbel"
      ]
    },
    {
      "page": "mlx_rand_laplace",
      "title": "Sample from the Laplace distribution on mlx arrays",
      "topics": [
        "mlx_rand_laplace"
      ]
    },
    {
      "page": "mlx_rand_multivariate_normal",
      "title": "Sample from a multivariate normal distribution on mlx arrays",
      "topics": [
        "mlx_rand_multivariate_normal"
      ]
    },
    {
      "page": "mlx_rand_normal",
      "title": "Sample from a normal distribution on mlx arrays",
      "topics": [
        "mlx_rand_normal"
      ]
    },
    {
      "page": "mlx_rand_permutation",
      "title": "Generate random permutations on mlx arrays",
      "topics": [
        "mlx_rand_permutation"
      ]
    },
    {
      "page": "mlx_rand_randint",
      "title": "Sample random integers on mlx arrays",
      "topics": [
        "mlx_rand_randint"
      ]
    },
    {
      "page": "mlx_rand_truncated_normal",
      "title": "Sample from a truncated normal distribution on mlx arrays",
      "topics": [
        "mlx_rand_truncated_normal"
      ]
    },
    {
      "page": "mlx_rand_uniform",
      "title": "Sample from a uniform distribution on mlx arrays",
      "topics": [
        "mlx_rand_uniform"
      ]
    },
    {
      "page": "mlx_real",
      "title": "Complex-valued helpers for mlx arrays",
      "topics": [
        "mlx_conjugate",
        "mlx_imag",
        "mlx_real"
      ]
    },
    {
      "page": "mlx_relu",
      "title": "Rectified linear activation module",
      "topics": [
        "mlx_relu"
      ]
    },
    {
      "page": "mlx_repeat",
      "title": "Repeat array elements",
      "topics": [
        "mlx_repeat"
      ]
    },
    {
      "page": "mlx_reshape",
      "title": "Reshape an mlx array",
      "topics": [
        "mlx_reshape"
      ]
    },
    {
      "page": "mlx_roll",
      "title": "Roll array elements",
      "topics": [
        "mlx_roll"
      ]
    },
    {
      "page": "mlx_save",
      "title": "Save an MLX array to disk",
      "topics": [
        "mlx_save"
      ]
    },
    {
      "page": "mlx_save_gguf",
      "title": "Save MLX arrays to the GGUF format",
      "topics": [
        "mlx_save_gguf"
      ]
    },
    {
      "page": "mlx_save_safetensors",
      "title": "Save MLX arrays to the safetensors format",
      "topics": [
        "mlx_save_safetensors"
      ]
    },
    {
      "page": "mlx_scalar",
      "title": "Construct MLX scalars",
      "topics": [
        "mlx_scalar"
      ]
    },
    {
      "page": "mlx_scatter_add_axis",
      "title": "Add values using per-position axis indices",
      "topics": [
        "mlx_scatter_add_axis"
      ]
    },
    {
      "page": "mlx_sequential",
      "title": "Compose modules sequentially",
      "topics": [
        "mlx_sequential"
      ]
    },
    {
      "page": "mlx_set_default_stream",
      "title": "Set the default MLX stream",
      "topics": [
        "mlx_set_default_stream"
      ]
    },
    {
      "page": "mlx_set_training",
      "title": "Toggle training mode for MLX modules",
      "topics": [
        "mlx_set_training"
      ]
    },
    {
      "page": "mlx_sigmoid",
      "title": "Sigmoid activation",
      "topics": [
        "mlx_sigmoid"
      ]
    },
    {
      "page": "mlx_silu",
      "title": "SiLU (Swish) activation",
      "topics": [
        "mlx_silu"
      ]
    },
    {
      "page": "mlx_slice_update",
      "title": "Update a slice of an mlx array",
      "topics": [
        "mlx_slice_update"
      ]
    },
    {
      "page": "mlx_softmax",
      "title": "Softmax for mlx arrays",
      "topics": [
        "mlx_softmax"
      ]
    },
    {
      "page": "mlx_softmax_layer",
      "title": "Softmax activation",
      "topics": [
        "mlx_softmax_layer"
      ]
    },
    {
      "page": "mlx_solve_triangular",
      "title": "Solve triangular systems with mlx arrays",
      "topics": [
        "backsolve",
        "backsolve.default",
        "backsolve.mlx",
        "mlx_solve_triangular"
      ]
    },
    {
      "page": "mlx_sort",
      "title": "Sort and argsort for mlx arrays",
      "topics": [
        "mlx_argsort",
        "mlx_sort"
      ]
    },
    {
      "page": "mlx_split",
      "title": "Split mlx arrays",
      "topics": [
        "mlx_split"
      ]
    },
    {
      "page": "mlx_squeeze",
      "title": "Remove singleton dimensions",
      "topics": [
        "mlx_squeeze"
      ]
    },
    {
      "page": "mlx_stack",
      "title": "Stack mlx arrays along a new axis",
      "topics": [
        "mlx_stack"
      ]
    },
    {
      "page": "mlx_stop_gradient",
      "title": "Stop gradient propagation through an mlx array",
      "topics": [
        "mlx_stop_gradient"
      ]
    },
    {
      "page": "mlx_sum",
      "title": "Reduce mlx arrays",
      "topics": [
        "mlx_all",
        "mlx_any",
        "mlx_mean",
        "mlx_prod",
        "mlx_sd",
        "mlx_std",
        "mlx_sum",
        "mlx_var"
      ]
    },
    {
      "page": "mlx_swapaxes",
      "title": "Swap two axes of an mlx array",
      "topics": [
        "mlx_swapaxes"
      ]
    },
    {
      "page": "mlx_synchronize",
      "title": "Synchronize MLX execution",
      "topics": [
        "mlx_synchronize"
      ]
    },
    {
      "page": "mlx_take_along_axis",
      "title": "Take values using per-position axis indices",
      "topics": [
        "mlx_take_along_axis"
      ]
    },
    {
      "page": "mlx_tanh",
      "title": "Tanh activation",
      "topics": [
        "mlx_tanh"
      ]
    },
    {
      "page": "mlx_tile",
      "title": "Tile an array",
      "topics": [
        "mlx_tile"
      ]
    },
    {
      "page": "mlx_topk",
      "title": "Top-k selection and partitioning on mlx arrays",
      "topics": [
        "mlx_argpartition",
        "mlx_partition",
        "mlx_topk"
      ]
    },
    {
      "page": "mlx_trace",
      "title": "Matrix trace for mlx arrays",
      "topics": [
        "mlx_trace"
      ]
    },
    {
      "page": "mlx_train_step",
      "title": "Single training step helper",
      "topics": [
        "mlx_train_step"
      ]
    },
    {
      "page": "mlx_tri",
      "title": "Triangular helpers for MLX arrays",
      "topics": [
        "mlx_tri",
        "mlx_tril",
        "mlx_triu"
      ]
    },
    {
      "page": "mlx_tri_inv",
      "title": "Compute triangular matrix inverse",
      "topics": [
        "mlx_tri_inv"
      ]
    },
    {
      "page": "mlx_unflatten",
      "title": "Unflatten an axis into multiple axes",
      "topics": [
        "mlx_unflatten"
      ]
    },
    {
      "page": "mlx_vector",
      "title": "Construct MLX vectors",
      "topics": [
        "mlx_vector"
      ]
    },
    {
      "page": "mlx_where",
      "title": "Elementwise conditional selection",
      "topics": [
        "mlx_where"
      ]
    },
    {
      "page": "mlx_zeros",
      "title": "Create arrays of zeros on MLX devices",
      "topics": [
        "mlx_zeros"
      ]
    },
    {
      "page": "mlx_zeros_like",
      "title": "Zeros shaped like an existing mlx array",
      "topics": [
        "mlx_zeros_like"
      ]
    },
    {
      "page": "mlx-dimnames",
      "title": "Dimnames and names for MLX arrays",
      "topics": [
        "dimnames.mlx",
        "dimnames<-.mlx",
        "mlx-dimnames",
        "names.mlx",
        "names<-.mlx"
      ]
    },
    {
      "page": "mlx-methods",
      "title": "Base R generics with mlx methods",
      "topics": [
        "mlx-methods"
      ]
    },
    {
      "page": "Ops.mlx",
      "title": "Arithmetic and comparison operators for MLX arrays",
      "topics": [
        "!.mlx",
        "!=.mlx",
        "%%.mlx",
        "%/%.mlx",
        "&.mlx",
        "*.mlx",
        "+.mlx",
        "-.mlx",
        "/.mlx",
        "<.mlx",
        "<=.mlx",
        "==.mlx",
        ">.mlx",
        ">=.mlx",
        "Ops.mlx",
        "^.mlx",
        "|.mlx"
      ]
    },
    {
      "page": "outer",
      "title": "Outer product of two vectors",
      "topics": [
        "outer",
        "outer.mlx"
      ]
    },
    {
      "page": "pinv",
      "title": "Moore-Penrose pseudoinverse for MLX arrays",
      "topics": [
        "pinv"
      ]
    },
    {
      "page": "print.mlx",
      "title": "Print MLX array",
      "topics": [
        "print.mlx"
      ]
    },
    {
      "page": "print.mlx_stream",
      "title": "Print method for mlx_stream",
      "topics": [
        "print.mlx_stream"
      ]
    },
    {
      "page": "qr.mlx",
      "title": "QR decomposition for mlx arrays",
      "topics": [
        "qr.mlx"
      ]
    },
    {
      "page": "rbind.mlx",
      "title": "Row-bind mlx arrays",
      "topics": [
        "rbind.mlx"
      ]
    },
    {
      "page": "row",
      "title": "Row and column indices for mlx arrays",
      "topics": [
        "col",
        "col.default",
        "col.mlx",
        "row",
        "row.default",
        "row.mlx"
      ]
    },
    {
      "page": "rowMeans",
      "title": "Row means for mlx arrays",
      "topics": [
        "rowMeans",
        "rowMeans.default",
        "rowMeans.mlx"
      ]
    },
    {
      "page": "rowSums",
      "title": "Row sums for mlx arrays",
      "topics": [
        "rowSums",
        "rowSums.default",
        "rowSums.mlx"
      ]
    },
    {
      "page": "scale.mlx",
      "title": "Scale mlx arrays",
      "topics": [
        "scale.mlx"
      ]
    },
    {
      "page": "solve.mlx",
      "title": "Solve a system of linear equations",
      "topics": [
        "solve.mlx"
      ]
    },
    {
      "page": "str.mlx",
      "title": "Object structure for MLX array",
      "topics": [
        "str.mlx"
      ]
    },
    {
      "page": "Summary.mlx",
      "title": "Summary operations for MLX arrays",
      "topics": [
        "all.mlx",
        "any.mlx",
        "max.mlx",
        "min.mlx",
        "prod.mlx",
        "sum.mlx",
        "Summary.mlx"
      ]
    },
    {
      "page": "svd",
      "title": "Singular value decomposition",
      "topics": [
        "svd"
      ]
    },
    {
      "page": "svd.mlx",
      "title": "Singular value decomposition for mlx arrays",
      "topics": [
        "svd.mlx"
      ]
    },
    {
      "page": "t.mlx",
      "title": "Transpose of MLX matrix",
      "topics": [
        "t.mlx"
      ]
    },
    {
      "page": "tcrossprod.mlx",
      "title": "Transposed cross product",
      "topics": [
        "tcrossprod.mlx"
      ]
    },
    {
      "page": "with_device",
      "title": "Temporarily set the current MLX device or stream",
      "topics": [
        "local_device",
        "with_device"
      ]
    }
  ],
  "_readme": "https://github.com/hughjonesd/Rmlx/raw/v0.4.0/README.md",
  "_rundeps": [
    "Rcpp"
  ],
  "_sysdeps": [
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "liblapack",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.26+ds-1ubuntu0.1",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started with Rmlx",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "System Requirements",
        "Creating MLX Arrays",
        "Lazy Evaluation",
        "Arithmetic Operations",
        "Matrix Operations",
        "Matrix Multiplication",
        "Transpose",
        "Cross Products",
        "Reductions",
        "Indexing",
        "Device Management",
        "Performance Comparison"
      ],
      "created": "2025-10-19 21:54:42",
      "modified": "2026-05-13 11:55:27",
      "commits": 16
    },
    {
      "source": "linear-regression.Rmd",
      "filename": "linear-regression.html",
      "title": "Linear Regression with MLX",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Overview",
        "Problem Setup",
        "Define the Loss Function",
        "Automatic Differentiation",
        "Training Loop with SGD",
        "Method 2: Closed-form Regression via Matrix Algebra",
        "Accelerating the Closed-form Solution with mlx_compile()",
        "Accuracy and Performance Comparison",
        "Device Selection"
      ],
      "created": "2025-10-22 14:44:48",
      "modified": "2026-05-12 20:16:26",
      "commits": 7
    },
    {
      "source": "neural-networks.Rmd",
      "filename": "neural-networks.html",
      "title": "Neural Networks with Rmlx",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Building a Neural Network",
        "Generating Training Data",
        "Training Loop",
        "Evaluating Model Performance",
        "Using Different Architectures",
        "Convolutional Features",
        "Embeddings for Categorical Data",
        "Available Loss Functions",
        "Available Activation Functions",
        "Regularization and Normalization",
        "Best Practices",
        "Further Reading"
      ],
      "created": "2025-10-23 16:39:42",
      "modified": "2026-05-12 20:16:26",
      "commits": 7
    }
  ],
  "_score": 5.659250468772661,
  "_indexed": false,
  "_nocasepkg": "rmlx",
  "_universes": [
    "r-multiverse"
  ],
  "_indexurl": "https://hughjonesd.r-universe.dev/Rmlx",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-05-26T23:27:42.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
      "fileid": "d4b9b4e1e3959e23ec265703ea8f5a7e876003c30bf253f323b639e4c40eb6b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-multiverse/actions/runs/26480328206"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-05-26T23:27:46.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
      "fileid": "7ab87642ebb0c9b275e16d0b2fe4832f2a4e00cb7cc0718e64fd13ed7104bfd5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-multiverse/actions/runs/26480328206"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-05-26T23:27:02.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
      "fileid": "0422ec1bd445431e5b7ef3068d14605dff14dbbf927935a6632b454af57ad4da",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-multiverse/actions/runs/26480328206"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-05-26T23:27:46.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
      "fileid": "9723edb8312313b8541329050b7746e46a8b2c01ca73f9e55e45d9bacbc45ab4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/r-multiverse/actions/runs/26480328206"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-05-27T00:38:08.000Z",
      "arch": "aarch64",
      "commit": "3cbc7a9ee26575c5ab7b716a19787e6a651d97fb",
      "fileid": "8c878c8c0c9cbf1d4c386186038292be87f3bb6b000a5b292d888ff0475092e1",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/r-multiverse/actions/runs/26480328206"
    }
  ]
}