{
  "_id": "6a15e64aacfb0bcc41d6d015",
  "Package": "MMAD",
  "Title": "Minorization-Maximization via Assembly-Decomposition Technology",
  "Version": "3.0.0",
  "Authors@R": "c(person(given = \"Xifen\", family = \"Huang\", role = \"aut\", email = \"xf_yellow@126.com\"),\nperson(given = \"Jinfeng\", family = \"Xu\",   role = \"aut\", email = \"jinfenxu@cityu.edu.hk\"),\nperson(given = \"Jiaqi\",  family = \"Gu\",    role = c(\"aut\", \"cre\"), email = \"jiaqigu@usf.edu\"))",
  "Description": "A formula-driven framework for maximizing target functions\nvia the minorization-maximization (MM) algorithm. The package\nrepresents the target as a symbolic expression tree, infers its\ncurvature via disciplined-convex-programming rules, and\nconstructs a separable surrogate at each iterate using only\nJensen's inequality and the supporting hyperplane. The driver\nmaximizes the surrogate via block-coordinate Newton with line\nsearch, falling back to a multivariate step on any\nnon-separable residue. A formula interface accepts standard R\nexpressions (including `sum()` reductions and `X %*% theta`\ndesign-matrix products) so statistical models such as Poisson\nregression can be written in one line.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "Repository": "https://gujq5.r-universe.dev",
  "Date/Publication": "2026-05-26 15:13:24 UTC",
  "RemoteUrl": "https://github.com/gujq5/mmad",
  "RemoteRef": "HEAD",
  "RemoteSha": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-26 18:25:25 UTC",
    "User": "root"
  },
  "Author": "Xifen Huang [aut],\nJinfeng Xu [aut],\nJiaqi Gu [aut, cre]",
  "Maintainer": "Jiaqi Gu <jiaqigu@usf.edu>",
  "MD5sum": "23704da6bfa695bfe86f9177adf67db0",
  "_user": "gujq5",
  "_type": "src",
  "_file": "MMAD_3.0.0.tar.gz",
  "_fileid": "b7473fa8b03cf50578c720538f6722998bdf19fb76bb0494640eb377b2020c0d",
  "_filesize": 159084,
  "_sha256": "b7473fa8b03cf50578c720538f6722998bdf19fb76bb0494640eb377b2020c0d",
  "_created": "2026-05-26T18:25:25.000Z",
  "_published": "2026-05-26T18:28:26.028Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77930335165,
      "time": 142,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7222833640"
    },
    {
      "job": 77930335169,
      "time": 117,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7222824754"
    },
    {
      "job": 77930335206,
      "time": 147,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7222824695"
    },
    {
      "job": 77930335218,
      "time": 127,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7222821273"
    },
    {
      "job": 77929875874,
      "time": 153,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7222783449"
    },
    {
      "job": 77930335269,
      "time": 83,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7222813210"
    },
    {
      "job": 77930335170,
      "time": 101,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7222819064"
    },
    {
      "job": 77930335223,
      "time": 88,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7222814461"
    },
    {
      "job": 77930335183,
      "time": 95,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7222817584"
    }
  ],
  "_buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/gujq5/mmad",
  "_commit": {
    "id": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
    "author": "Jiaqi Gu <jiaqigu@Jiaqis-MacBook-Air-2.local>",
    "committer": "Jiaqi Gu <jiaqigu@Jiaqis-MacBook-Air-2.local>",
    "message": "Fixing Bugs\n",
    "time": 1779808404
  },
  "_maintainer": {
    "name": "Jiaqi Gu",
    "email": "jiaqigu@usf.edu",
    "login": "gujq5",
    "description": "",
    "uuid": 96561951
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10",
      "role": "Depends"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "gujq5",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-19",
      "n": 3
    },
    {
      "week": "2026-22",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v3.0.0",
      "date": "2026-05-08"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "gujq5",
      "count": 3,
      "uuid": 96561951
    }
  ],
  "_userbio": {
    "uuid": 96561951,
    "type": "user",
    "name": "GuJQ5"
  },
  "_downloads": {
    "count": 133,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/MMAD"
  },
  "_devurl": "https://github.com/gujq5/mmad",
  "_searchresults": 4,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/MMAD.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/gujq5/mmad",
  "_realowner": "gujq5",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2023-07-08"
    },
    {
      "version": "2.0",
      "date": "2025-11-26"
    },
    {
      "version": "2.0.1",
      "date": "2026-03-12"
    }
  ],
  "_exports": [
    "as_mmad_expr",
    "curvature",
    "evaluate_expr",
    "Function_check",
    "is_dcp",
    "minorize_at",
    "mmad",
    "mmad_atom_names",
    "mmad_call",
    "mmad_const",
    "mmad_var",
    "register_atom",
    "sign_of",
    "simplify_expr"
  ],
  "_help": [
    {
      "page": "as_mmad_expr",
      "title": "Convert a formula or expression into an 'mmad_expr'",
      "topics": [
        "as_mmad_expr"
      ]
    },
    {
      "page": "curvature",
      "title": "Inferred curvature of an 'mmad_expr'",
      "topics": [
        "curvature"
      ]
    },
    {
      "page": "evaluate_expr",
      "title": "Evaluate an 'mmad_expr' at a parameter vector",
      "topics": [
        "evaluate_expr"
      ]
    },
    {
      "page": "Function_check",
      "title": "Diagnose an 'mmad_expr' (or formula) before optimization",
      "topics": [
        "Function_check"
      ]
    },
    {
      "page": "is_dcp",
      "title": "Whether an expression's curvature is provably one of affine/convex/concave",
      "topics": [
        "is_dcp"
      ]
    },
    {
      "page": "Math.mmad_expr",
      "title": "Mathematical functions for 'mmad_expr'",
      "topics": [
        "Math.mmad_expr"
      ]
    },
    {
      "page": "minorize_at",
      "title": "Build a surrogate of an 'mmad_expr' at a current iterate",
      "topics": [
        "minorize_at"
      ]
    },
    {
      "page": "mmad",
      "title": "Minorization-Maximization driver for an 'mmad_expr' target",
      "topics": [
        "mmad"
      ]
    },
    {
      "page": "mmad_const",
      "title": "Construct a numeric-constant expression node",
      "topics": [
        "mmad_const"
      ]
    },
    {
      "page": "mmad_var",
      "title": "Construct a parameter reference 'theta[i]'",
      "topics": [
        "mmad_var"
      ]
    },
    {
      "page": "Ops.mmad_expr",
      "title": "Arithmetic operators for 'mmad_expr'",
      "topics": [
        "Ops.mmad_expr"
      ]
    },
    {
      "page": "sign_of",
      "title": "Inferred sign of an 'mmad_expr'",
      "topics": [
        "sign_of"
      ]
    }
  ],
  "_readme": "https://github.com/gujq5/mmad/raw/HEAD/README.md",
  "_rundeps": [],
  "_score": 3,
  "_indexed": true,
  "_nocasepkg": "mmad",
  "_universes": [
    "gujq5"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "3.0.0",
      "date": "2026-05-26T18:27:41.000Z",
      "distro": "noble",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "60a4cf4bc67a4029c2942b0e908594b782fe8d19533a47e65824041eb32a46c5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "3.0.0",
      "date": "2026-05-26T18:27:18.000Z",
      "distro": "noble",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "10559efab0d061ae9515ae5ca25e67fee857189b48a7270f0a0e58084e1dd81c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "3.0.0",
      "date": "2026-05-26T18:27:23.000Z",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "133dae0a3ba94f810e73408eaf0d1c8096e698ac09ee6a1ec693a6287f838a40",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "3.0.0",
      "date": "2026-05-26T18:27:13.000Z",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "34107ddf76f15ba5adcf1524fe8ce03402115ad09ee48693575d141b0eac2a98",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "3.0.0",
      "date": "2026-05-26T18:27:04.000Z",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "be68c94efca012b50291f5c36392832017951fb8dcebce1e163af6e64bbc7add",
      "status": "success",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "3.0.0",
      "date": "2026-05-26T18:26:48.000Z",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "7f62f3a7e70a05ebcce977452f0f173a81b9d275a4e8b2df0dd0f07900cdd31b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "3.0.0",
      "date": "2026-05-26T18:26:50.000Z",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "64cac98299fc7e555233956e21fe417f34d35d00ba745fa68abeb5292b62b74e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "3.0.0",
      "date": "2026-05-26T18:26:49.000Z",
      "commit": "7a57a1be1dc89f35eaf6448417f35b93d2206ed6",
      "fileid": "f38989053d97936c9d6b2142f5ce52d674cf5e745aeb04cf27ec2dac88ca10ee",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gujq5/actions/runs/26466982662"
    }
  ]
}