{
  "_id": "6a1ea7efb25058d4daad919a",
  "Package": "matlib",
  "Type": "Package",
  "Title": "Matrix Functions for Teaching and Learning Linear Algebra and\nMultivariate Statistics",
  "Version": "1.0.1",
  "Date": "2025-10-04",
  "Authors@R": "c(person(given = \"Michael\", family = \"Friendly\", \nrole=c(\"aut\", \"cre\"), email=\"friendly@yorku.ca\",\ncomment=c(ORCID=\"0000-0002-3237-0941\")),\nperson(given = \"John\", family = \"Fox\", role=\"aut\", comment = c(ORCID = \"0000-0002-1196-8012\")),\nperson(given = \"Phil\", family = \"Chalmers\", role=\"aut\", comment = c(ORCID=\"0000-0001-5332-2810\")),\nperson(given = \"Georges\", family = \"Monette\", role=\"ctb\", comment = c(ORCID = \"0000-0003-0076-5532\")),\nperson(given = \"Gaston\", family = \"Sanchez\", role=\"ctb\")\n)",
  "Maintainer": "Michael Friendly <friendly@yorku.ca>",
  "Description": "A collection of matrix functions for teaching and learning\nmatrix linear algebra as used in multivariate statistical\nmethods. Many of these functions are designed for tutorial\npurposes in learning matrix algebra ideas using R. In some\ncases, functions are provided for concepts available elsewhere\nin R, but where the function call or name is not obvious. In\nother cases, functions are provided to show or demonstrate an\nalgorithm. In addition, a collection of functions are provided\nfor drawing vector diagrams in 2D and 3D and for rendering\nmatrix expressions and equations in LaTeX.",
  "License": "GPL (>= 2)",
  "Language": "en-US",
  "URL": "https://github.com/friendly/matlib,\nhttp://friendly.github.io/matlib/",
  "BugReports": "https://github.com/friendly/matlib/issues",
  "LazyData": "TRUE",
  "VignetteBuilder": "knitr",
  "RoxygenNote": "7.3.2",
  "Encoding": "UTF-8",
  "Config/pak/sysreqs": "cmake libfreetype6-dev libglu1-mesa-dev make\ntexlive libicu-dev libpng-dev libuv1-dev libgl1-mesa-dev\nzlib1g-dev",
  "Repository": "https://friendly.r-universe.dev",
  "Date/Publication": "2025-10-05 14:19:32 UTC",
  "RemoteUrl": "https://github.com/friendly/matlib",
  "RemoteRef": "HEAD",
  "RemoteSha": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-02 09:48:37 UTC",
    "User": "root"
  },
  "Author": "Michael Friendly [aut, cre] (ORCID:\n<https://orcid.org/0000-0002-3237-0941>),\nJohn Fox [aut] (ORCID: <https://orcid.org/0000-0002-1196-8012>),\nPhil Chalmers [aut] (ORCID: <https://orcid.org/0000-0001-5332-2810>),\nGeorges Monette [ctb] (ORCID: <https://orcid.org/0000-0003-0076-5532>),\nGaston Sanchez [ctb]",
  "MD5sum": "de7079b990cb5fb1d0baed1af500ce8b",
  "_user": "friendly",
  "_type": "src",
  "_file": "matlib_1.0.1.tar.gz",
  "_fileid": "fd45e5e173c7a5396a385e550cf2e66d02c032badb750e8272c3bbdfaad5a4eb",
  "_filesize": 1470692,
  "_sha256": "fd45e5e173c7a5396a385e550cf2e66d02c032badb750e8272c3bbdfaad5a4eb",
  "_created": "2026-06-02T09:48:37.000Z",
  "_published": "2026-06-02T09:52:47.454Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79044164121,
      "time": 205,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7354484079"
    },
    {
      "job": 79044164332,
      "time": 192,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7354479585"
    },
    {
      "job": 79044164146,
      "time": 146,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7354462086"
    },
    {
      "job": 79044164125,
      "time": 111,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7354450150"
    },
    {
      "job": 79043369629,
      "time": 280,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7354410157"
    },
    {
      "job": 79044164103,
      "time": 166,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7354470212"
    },
    {
      "job": 79044164149,
      "time": 114,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7354451325"
    },
    {
      "job": 79044164127,
      "time": 116,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7354451876"
    },
    {
      "job": 79044164147,
      "time": 113,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7354450636"
    }
  ],
  "_buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/friendly/matlib",
  "_commit": {
    "id": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
    "author": "Michael Friendly <friendly@yorku.ca>",
    "committer": "Michael Friendly <friendly@yorku.ca>",
    "message": "update cran-comments\n",
    "time": 1759673972
  },
  "_maintainer": {
    "name": "Michael Friendly",
    "email": "friendly@yorku.ca",
    "login": "friendly",
    "mastodon": "@datavisFriendly@vis.social",
    "bluesky": "@datavisfriendly.bsky.social",
    "orcid": "0000-0002-3237-0941",
    "twitter": "@datavisFriendly",
    "description": "",
    "uuid": 456353
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2.0",
      "role": "Depends"
    },
    {
      "package": "xtable",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "rgl",
      "role": "Imports"
    },
    {
      "package": "car",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "knitr",
      "role": "Imports"
    },
    {
      "package": "rmarkdown",
      "role": "Imports"
    },
    {
      "package": "rstudioapi",
      "role": "Imports"
    },
    {
      "package": "carData",
      "role": "Suggests"
    },
    {
      "package": "webshot2",
      "role": "Suggests"
    },
    {
      "package": "markdown",
      "role": "Suggests"
    },
    {
      "package": "bookdown",
      "role": "Suggests"
    },
    {
      "package": "clipr",
      "role": "Suggests"
    }
  ],
  "_owner": "friendly",
  "_selfowned": true,
  "_usedby": 14,
  "_updates": [
    {
      "week": "2025-40",
      "n": 3
    }
  ],
  "_tags": [],
  "_topics": [
    "diagrams",
    "linear-equations",
    "matrix",
    "matrix-functions",
    "matrix-visualizer",
    "vector",
    "vignette"
  ],
  "_stars": 71,
  "_contributors": [
    {
      "user": "friendly",
      "count": 538,
      "uuid": 456353
    },
    {
      "user": "philchalmers",
      "count": 172,
      "uuid": 1274464
    },
    {
      "user": "john-d-fox",
      "count": 132,
      "uuid": 14098498
    },
    {
      "user": "xcq-ca",
      "count": 1,
      "uuid": 74062655
    },
    {
      "user": "dmurdoch",
      "count": 1,
      "uuid": 1935680
    },
    {
      "user": "jayhesselberth",
      "count": 1,
      "uuid": 355367
    },
    {
      "user": "l-d-s",
      "count": 1,
      "uuid": 6633934
    }
  ],
  "_userbio": {
    "uuid": 456353,
    "type": "user",
    "name": "Michael Friendly"
  },
  "_downloads": {
    "count": 7853,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/matlib"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/friendly/matlib",
  "_pkgdown": "http://friendly.github.io/matlib/",
  "_searchresults": 1136,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/matlib.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/friendly/matlib",
  "_realowner": "friendly",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.4.1",
      "date": "2015-11-05"
    },
    {
      "version": "0.5.1",
      "date": "2015-11-10"
    },
    {
      "version": "0.5.2",
      "date": "2015-11-19"
    },
    {
      "version": "0.6.0",
      "date": "2015-12-14"
    },
    {
      "version": "0.7.0",
      "date": "2016-01-06"
    },
    {
      "version": "0.7.2",
      "date": "2016-02-08"
    },
    {
      "version": "0.7.3",
      "date": "2016-06-06"
    },
    {
      "version": "0.8.1",
      "date": "2016-09-17"
    },
    {
      "version": "0.9.1",
      "date": "2018-04-04"
    },
    {
      "version": "0.9.2",
      "date": "2019-05-29"
    },
    {
      "version": "0.9.3",
      "date": "2020-04-02"
    },
    {
      "version": "0.9.4",
      "date": "2020-10-29"
    },
    {
      "version": "0.9.5",
      "date": "2021-08-21"
    },
    {
      "version": "0.9.6",
      "date": "2022-12-08"
    },
    {
      "version": "0.9.8",
      "date": "2024-07-25"
    },
    {
      "version": "1.0.0",
      "date": "2024-10-02"
    },
    {
      "version": "1.0.1",
      "date": "2025-10-09"
    }
  ],
  "_exports": [
    "%X%",
    "adjoint",
    "angle",
    "arc",
    "arrows3d",
    "buildTmat",
    "cholesky",
    "circle",
    "circle3d",
    "cofactor",
    "Colnames<-",
    "cone3d",
    "corner",
    "Det",
    "Dim",
    "Dimnames<-",
    "Dot",
    "echelon",
    "Eigen",
    "Eqn",
    "Eqn_hspace",
    "Eqn_newline",
    "Eqn_overbrace",
    "Eqn_overset",
    "Eqn_size",
    "Eqn_text",
    "Eqn_underbrace",
    "Eqn_underset",
    "Eqn_vspace",
    "gaussianElimination",
    "getBody",
    "getLatex",
    "getWrapper",
    "getYmult",
    "Ginv",
    "GramSchmidt",
    "gsorth",
    "hspace",
    "inv",
    "inverse",
    "Inverse",
    "is_orthogonal_matrix",
    "is_square_matrix",
    "is_symmetric_matrix",
    "J",
    "latexMatrix",
    "len",
    "LU",
    "matdiff",
    "matmult",
    "matpower",
    "matrix2latex",
    "matsum",
    "minor",
    "MoorePenrose",
    "mpower",
    "Ncol",
    "newline",
    "Nrow",
    "overbrace",
    "overset",
    "partition",
    "plotEqn",
    "plotEqn3d",
    "pointOnLine",
    "powerMethod",
    "printMatEqn",
    "printMatrix",
    "Proj",
    "QR",
    "R",
    "ref",
    "regvec3d",
    "rowadd",
    "rowCofactors",
    "rowMinors",
    "rowmult",
    "Rownames<-",
    "rowswap",
    "showEig",
    "showEqn",
    "size",
    "Solve",
    "SVD",
    "svdDemo",
    "swp",
    "symMat",
    "tr",
    "underbrace",
    "underset",
    "vandermode",
    "vec",
    "vectors",
    "vectors3d",
    "vspace",
    "xprod"
  ],
  "_datasets": [
    {
      "name": "class",
      "title": "Class Data Set",
      "object": "class",
      "class": [
        "data.frame"
      ],
      "fields": [
        "sex",
        "age",
        "height",
        "weight"
      ],
      "rows": 15,
      "table": true,
      "tojson": true
    },
    {
      "name": "coffee",
      "title": "Data on Coffee, Stress and Heart Damage",
      "object": "coffee",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Group",
        "Coffee",
        "Stress",
        "Heart"
      ],
      "rows": 20,
      "table": true,
      "tojson": true
    },
    {
      "name": "therapy",
      "title": "Therapy Data",
      "object": "therapy",
      "class": [
        "data.frame"
      ],
      "fields": [
        "sex",
        "perstest",
        "therapy",
        "IE"
      ],
      "rows": 10,
      "table": true,
      "tojson": true
    },
    {
      "name": "workers",
      "title": "Workers Data",
      "object": "workers",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Income",
        "Experience",
        "Skill",
        "Gender"
      ],
      "rows": 10,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "matlib-package",
      "title": "matlib: Matrix Functions for Teaching and Learning Linear Algebra and Multivariate Statistics.",
      "topics": [
        "matlib-package",
        "matlib",
        "_PACKAGE"
      ]
    },
    {
      "page": "adjoint",
      "title": "Calculate the Adjoint of a matrix",
      "concept": [
        "determinants"
      ],
      "topics": [
        "adjoint"
      ]
    },
    {
      "page": "angle",
      "title": "Angle between two vectors",
      "topics": [
        "angle"
      ]
    },
    {
      "page": "arc",
      "title": "Draw an arc showing the angle between vectors",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "arc"
      ]
    },
    {
      "page": "arrows3d",
      "title": "Draw 3D arrows",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "arrows3d"
      ]
    },
    {
      "page": "buildTmat",
      "title": "Build/Get transformation matrices",
      "concept": [
        "matrix of elementary row operations"
      ],
      "topics": [
        "as.matrix.trace",
        "buildTmat",
        "print.trace"
      ]
    },
    {
      "page": "cholesky",
      "title": "Cholesky Square Root of a Matrix",
      "topics": [
        "cholesky"
      ]
    },
    {
      "page": "circle",
      "title": "Draw circles on an existing plot.",
      "topics": [
        "circle"
      ]
    },
    {
      "page": "circle3d",
      "title": "Draw a horizontal circle",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "circle3d"
      ]
    },
    {
      "page": "class",
      "title": "Class Data Set",
      "topics": [
        "class"
      ]
    },
    {
      "page": "cofactor",
      "title": "Cofactor of A[i,j]",
      "concept": [
        "determinants"
      ],
      "topics": [
        "cofactor"
      ]
    },
    {
      "page": "coffee",
      "title": "Data on Coffee, Stress and Heart Damage",
      "topics": [
        "coffee"
      ]
    },
    {
      "page": "cone3d",
      "title": "Draw a 3D cone",
      "topics": [
        "cone3d"
      ]
    },
    {
      "page": "corner",
      "title": "Draw a corner showing the angle between two vectors",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "corner"
      ]
    },
    {
      "page": "Det",
      "title": "Determinant of a Square Matrix",
      "concept": [
        "determinants"
      ],
      "topics": [
        "Det"
      ]
    },
    {
      "page": "echelon",
      "title": "Echelon Form of a Matrix",
      "topics": [
        "echelon"
      ]
    },
    {
      "page": "Eigen",
      "title": "Eigen Decomposition of a Square Symmetric Matrix",
      "topics": [
        "Eigen"
      ]
    },
    {
      "page": "Eqn",
      "title": "Create a LaTeX Equation Wrapper",
      "topics": [
        "Eqn",
        "ref"
      ]
    },
    {
      "page": "Eqn_helpers",
      "title": "Helpers to Compose Equations with Eqn",
      "topics": [
        "Eqn_helpers",
        "Eqn_hspace",
        "Eqn_newline",
        "Eqn_overbrace",
        "Eqn_overset",
        "Eqn_size",
        "Eqn_text",
        "Eqn_underbrace",
        "Eqn_underset",
        "Eqn_vspace",
        "hspace",
        "newline",
        "overbrace",
        "overset",
        "size",
        "underbrace",
        "underset",
        "vspace"
      ]
    },
    {
      "page": "gaussianElimination",
      "title": "Gaussian Elimination",
      "topics": [
        "gaussianElimination",
        "print.enhancedMatrix"
      ]
    },
    {
      "page": "getYmult",
      "title": "Correct for aspect and coordinate ratio",
      "topics": [
        "getYmult"
      ]
    },
    {
      "page": "Ginv",
      "title": "Generalized Inverse of a Matrix",
      "topics": [
        "Ginv"
      ]
    },
    {
      "page": "GramSchmidt",
      "title": "Gram-Schmidt Orthogonalization of a Matrix",
      "topics": [
        "GramSchmidt"
      ]
    },
    {
      "page": "gsorth",
      "title": "Gram-Schmidt Orthogonalization of a Matrix",
      "topics": [
        "gsorth"
      ]
    },
    {
      "page": "Inverse",
      "title": "Inverse of a Matrix",
      "topics": [
        "inv",
        "Inverse"
      ]
    },
    {
      "page": "J",
      "title": "Create a vector, matrix or array of constants",
      "topics": [
        "J"
      ]
    },
    {
      "page": "latexMatrix",
      "title": "Create and Manipulate LaTeX Representations of Matrices",
      "topics": [
        "as.double.latexMatrix",
        "cbind.latexMatrix",
        "Colnames<-",
        "Colnames<-.latexMatrix",
        "Dim",
        "Dim.latexMatrix",
        "dimnames.latexMatrix",
        "Dimnames<-",
        "Dimnames<-.latexMatrix",
        "getBody",
        "getBody.latexMatrix",
        "getLatex",
        "getLatex.latexMatrix",
        "getWrapper",
        "getWrapper.latexMatrix",
        "is.numeric.latexMatrix",
        "latexMatrix",
        "Ncol",
        "Ncol.latexMatrix",
        "Nrow",
        "Nrow.latexMatrix",
        "partition",
        "partition.latexMatrix",
        "print.latexMatrix",
        "rbind.latexMatrix",
        "Rownames<-",
        "Rownames<-.latexMatrix",
        "[.latexMatrix"
      ]
    },
    {
      "page": "latexMatrixOperations",
      "title": "Various Functions and Operators for '\"latexMatrix\"' Objects",
      "topics": [
        "%*%.latexMatrix",
        "%X%",
        "*.latexMatrix",
        "+.latexMatrix",
        "-.latexMatrix",
        "determinant.latexMatrix",
        "Dot",
        "inverse",
        "inverse.latexMatrix",
        "kronecker,latexMatrix,latexMatrix-method",
        "latexMatrixOperations",
        "matdiff",
        "matdiff.latexMatrix",
        "matmult",
        "matmult.latexMatrix",
        "matpower",
        "matpower.latexMatrix",
        "matsum",
        "matsum.latexMatrix",
        "solve.latexMatrix",
        "t.latexMatrix",
        "^.latexMatrix"
      ]
    },
    {
      "page": "len",
      "title": "Length of a Vector or Column Lengths of a Matrix",
      "topics": [
        "len"
      ]
    },
    {
      "page": "LU",
      "title": "LU Decomposition",
      "topics": [
        "LU"
      ]
    },
    {
      "page": "matrix2latex",
      "title": "(Deprecated) Convert matrix to LaTeX equation",
      "topics": [
        "matrix2latex"
      ]
    },
    {
      "page": "minor",
      "title": "Minor of A[i,j]",
      "concept": [
        "determinants"
      ],
      "topics": [
        "minor"
      ]
    },
    {
      "page": "MoorePenrose",
      "title": "Moore-Penrose inverse of a matrix",
      "topics": [
        "MoorePenrose"
      ]
    },
    {
      "page": "mpower",
      "title": "Matrix Power",
      "topics": [
        "mpower"
      ]
    },
    {
      "page": "plot.regvec3d",
      "title": "Plot method for regvec3d objects",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "plot.regvec3d",
        "print.regvec3d",
        "summary.regvec3d"
      ]
    },
    {
      "page": "plotEqn",
      "title": "Plot Linear Equations",
      "topics": [
        "plotEqn"
      ]
    },
    {
      "page": "plotEqn3d",
      "title": "Plot Linear Equations in 3D",
      "topics": [
        "plotEqn3d"
      ]
    },
    {
      "page": "pointOnLine",
      "title": "Position of a point along a line",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "pointOnLine"
      ]
    },
    {
      "page": "powerMethod",
      "title": "Power Method for Eigenvectors",
      "topics": [
        "powerMethod"
      ]
    },
    {
      "page": "printMatEqn",
      "title": "Print Matrices or Matrix Operations Side by Side",
      "topics": [
        "printMatEqn"
      ]
    },
    {
      "page": "printMatrix",
      "title": "(Deprecated) Print a matrix, allowing fractions or LaTeX output",
      "topics": [
        "printMatrix"
      ]
    },
    {
      "page": "Proj",
      "title": "Projection of Vector y on columns of X",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "Proj"
      ]
    },
    {
      "page": "QR",
      "title": "QR Decomposition by Graham-Schmidt Orthonormalization",
      "topics": [
        "QR"
      ]
    },
    {
      "page": "R",
      "title": "Rank of a Matrix",
      "topics": [
        "R"
      ]
    },
    {
      "page": "regvec3d",
      "title": "Vector space representation of a two-variable regression model",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "regvec3d",
        "regvec3d.default",
        "regvec3d.formula"
      ]
    },
    {
      "page": "rowadd",
      "title": "Elementary Row Operations",
      "concept": [
        "elementary row operations"
      ],
      "topics": [
        "rowadd"
      ]
    },
    {
      "page": "rowCofactors",
      "title": "Row Cofactors of A[i,]",
      "concept": [
        "determinants"
      ],
      "topics": [
        "rowCofactors"
      ]
    },
    {
      "page": "rowMinors",
      "title": "Row Minors of A[i,]",
      "concept": [
        "determinants"
      ],
      "topics": [
        "rowMinors"
      ]
    },
    {
      "page": "rowmult",
      "title": "Multiply Rows by Constants",
      "concept": [
        "elementary row operations"
      ],
      "topics": [
        "rowmult"
      ]
    },
    {
      "page": "rowswap",
      "title": "Interchange two rows of a matrix",
      "concept": [
        "elementary row operations"
      ],
      "topics": [
        "rowswap"
      ]
    },
    {
      "page": "showEig",
      "title": "Show the eigenvectors associated with a covariance matrix",
      "topics": [
        "showEig"
      ]
    },
    {
      "page": "showEqn",
      "title": "Show Matrices (A, b) as Linear Equations",
      "topics": [
        "showEqn"
      ]
    },
    {
      "page": "Solve",
      "title": "Solve and Display Solutions for Systems of Linear Simultaneous Equations",
      "topics": [
        "Solve"
      ]
    },
    {
      "page": "SVD",
      "title": "Singular Value Decomposition of a Matrix",
      "topics": [
        "SVD"
      ]
    },
    {
      "page": "svdDemo",
      "title": "Demonstrate the SVD for a 3 x 3 matrix",
      "topics": [
        "svdDemo"
      ]
    },
    {
      "page": "swp",
      "title": "The Matrix Sweep Operator",
      "topics": [
        "swp"
      ]
    },
    {
      "page": "symMat",
      "title": "Create a Symmetric Matrix from a Vector",
      "topics": [
        "symMat"
      ]
    },
    {
      "page": "therapy",
      "title": "Therapy Data",
      "topics": [
        "therapy"
      ]
    },
    {
      "page": "tr",
      "title": "Trace of a Matrix",
      "topics": [
        "tr"
      ]
    },
    {
      "page": "vandermode",
      "title": "Vandermode Matrix",
      "topics": [
        "vandermode"
      ]
    },
    {
      "page": "vec",
      "title": "Vectorize a Matrix",
      "topics": [
        "vec"
      ]
    },
    {
      "page": "vectors",
      "title": "Draw geometric vectors in 2D",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "vectors"
      ]
    },
    {
      "page": "vectors3d",
      "title": "Draw 3D vectors",
      "concept": [
        "vector diagrams"
      ],
      "topics": [
        "vectors3d"
      ]
    },
    {
      "page": "workers",
      "title": "Workers Data",
      "topics": [
        "workers"
      ]
    },
    {
      "page": "xprod",
      "title": "Generalized Vector Cross Product",
      "topics": [
        "xprod"
      ]
    }
  ],
  "_pkglogo": "https://github.com/friendly/matlib/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/friendly/matlib/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "backports",
    "base64enc",
    "boot",
    "broom",
    "bslib",
    "cachem",
    "car",
    "carData",
    "cli",
    "colorspace",
    "cowplot",
    "cpp11",
    "Deriv",
    "digest",
    "doBy",
    "dplyr",
    "evaluate",
    "farver",
    "fastmap",
    "fontawesome",
    "forecast",
    "Formula",
    "fracdiff",
    "fs",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "highr",
    "htmltools",
    "htmlwidgets",
    "isoband",
    "jquerylib",
    "jsonlite",
    "knitr",
    "labeling",
    "lattice",
    "lifecycle",
    "lme4",
    "lmtest",
    "magrittr",
    "MASS",
    "Matrix",
    "MatrixModels",
    "memoise",
    "mgcv",
    "microbenchmark",
    "mime",
    "minqa",
    "modelr",
    "nlme",
    "nloptr",
    "nnet",
    "numDeriv",
    "pbkrtest",
    "pillar",
    "pkgconfig",
    "purrr",
    "quantreg",
    "R6",
    "rappdirs",
    "rbibutils",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "Rdpack",
    "reformulas",
    "rgl",
    "rlang",
    "rmarkdown",
    "rstudioapi",
    "S7",
    "sass",
    "scales",
    "SparseM",
    "stringi",
    "stringr",
    "survival",
    "tibble",
    "tidyr",
    "tidyselect",
    "timeDate",
    "tinytex",
    "urca",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "xfun",
    "xtable",
    "yaml",
    "zoo"
  ],
  "_vignettes": [
    {
      "source": "a1-det-ex1.Rmd",
      "filename": "a1-det-ex1.html",
      "title": "Properties of determinants ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Create a 2 x 2 matrix",
        "1. Interchange two rows or cols changes the sign: -> -1 * det(A)",
        "2. transpose -> det (A) unchanged",
        "3. multiply row * k -> k * det(A)",
        "4. multiply matrix * k -> k^2 * det(A)",
        "5. det (A  B) ->  det(A) * det(B)",
        "6. proportional rows or columns -> det() == 0",
        "7. Add multiple of one row to another -> det unchanged",
        "8.  Geometric interpretation"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "aA-gramreg.Rmd",
      "filename": "aA-gramreg.html",
      "title": "Gram-Schmidt Orthogonalization and Regression ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Orthogonalization by projections",
        "Relationship to QR factorization",
        "Regression with X and Z"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "aB-data-beta.Rmd",
      "filename": "aB-data-beta.html",
      "title": "Vector Spaces of Least Squares and Linear Equations ",
      "author": "Michael Friendly, Georges Monette, John Fox, Phil Chalmers",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Data space",
        "Linear equation ($\\beta$) space",
        "Observation space",
        "References"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a2-det-ex2.Rmd",
      "filename": "a2-det-ex2.html",
      "title": "Evaluation of determinants ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. Calculate det() by cofactor expansion",
        "Find cofactors of row 1 elements",
        "det() = product of row with cofactors",
        "2. Finding det() by Gaussian elimination (pivoting)",
        "Repeat, reducing new row, col 1 to 0",
        "Repeat once more. d = det(M)"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a3-inv-ex1.Rmd",
      "filename": "a3-inv-ex1.html",
      "title": "Inverse of a matrix ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Load the matlib package",
        "Create a 3 x 3 matrix",
        "Basic properties",
        "1.  det(A) != 0, so inverse exists",
        "2. Definition of the inverse: $A^{-1} A = A A^{-1} = I$ or AI * A = diag(nrow(A))",
        "3. Inverse is reflexive: inv(inv(A)) = A",
        "4. inv(A) is symmetric if and only if A is symmetric",
        "More properties of matrix inverse",
        "1. inverse of diagonal matrix = diag( 1/ diagonal)",
        "2. Inverse of an inverse: inv(inv(A)) = A",
        "3. inverse of a transpose: inv(t(A)) = t(inv(A))",
        "4. inverse of a scalar * matrix:  inv( k*A ) = (1/k) * inv(A)",
        "5. inverse of a matrix product: inv(A * B) = inv(B) %*% inv(A)",
        "6. $\\det (A^{-1}) = 1 / \\det(A) = [\\det(A)]^{-1}$",
        "Geometric interpretations"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a4-inv-ex2.Rmd",
      "filename": "a4-inv-ex2.html",
      "title": "Matrix inversion by elementary row operations ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Load the matlib package",
        "Create a 3 x 3 matrix",
        "Join an identity matrix to A",
        "Apply elementary row operations to reduce A to an identity matrix.",
        "1. Using R arithmetic",
        "2. Do the same, using matlib functions rowadd(), rowmult() and rowswap()",
        "3. Using echelon()"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a5-ginv.Rmd",
      "filename": "a5-ginv.html",
      "title": "Generalized inverse ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Properties of generalized inverse (Moore-Penrose inverse)",
        "Rectangular matrices"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a6-inv-3d.Rmd",
      "filename": "a6-inv-3d.html",
      "title": "Linear transformations and matrix inverse in 3D ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The unit cube",
        "Define some useful functions",
        "Show $\\mathbf{I}$ and $\\mathbf{A}$ all together in one figure",
        "Same, but using separate figures, shown side by side",
        "$A$ and $A^{-1}$",
        "Animate"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a7-eigen-ex1.Rmd",
      "filename": "a7-eigen-ex1.html",
      "title": "Eigenvalues and Eigenvectors: Properties ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Properties of eigenvalues and eigenvectors"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a8-eigen-ex2.Rmd",
      "filename": "a8-eigen-ex2.html",
      "title": "Eigenvalues: Spectral Decomposition ",
      "author": "Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Matrix factorization",
        "Spectral decomposition",
        "Further properties"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "a9-linear-equations.Rmd",
      "filename": "a9-linear-equations.html",
      "title": "Solving Linear Equations ",
      "author": "Michael Friendly and John Fox",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Conditions for a solution",
        "Equations in two unknowns",
        "Two consistent equations",
        "Three consistent equations",
        "Three inconsistent equations",
        "Equations in three unknowns"
      ],
      "created": "2024-10-05 20:21:29",
      "modified": "2024-10-05 20:21:29",
      "commits": 1
    },
    {
      "source": "latex-equations.Rmd",
      "filename": "latex-equations.html",
      "title": "LaTeX Equations with latexMatrix, Eqn and matrix2latex",
      "author": "Phil Chalmers, John Fox, Michael Friendly",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Using latexMatrix() and Eqn()",
        "The SVD",
        "Systems of equations",
        "aligned environment",
        "Decorators",
        "Computing with \"latexMatrix\" objects",
        "Matrix products and transpose",
        "Determinants & inverse",
        "Linear hypotheses",
        "Partitioned matrices, indexing & binding",
        "Kronecker products",
        "matrix2latex",
        "showEqn",
        "References"
      ],
      "created": "2024-08-07 16:15:46",
      "modified": "2024-11-27 16:12:56",
      "commits": 56
    }
  ],
  "_score": 11.981224068711587,
  "_indexed": true,
  "_nocasepkg": "matlib",
  "_universes": [
    "friendly"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-06-02T09:51:54.000Z",
      "distro": "noble",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "86b25ddc359feba7186c093b8c88f213f52ede41aba1be27ed63538bbf7e03ea",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.1",
      "date": "2026-06-02T09:51:44.000Z",
      "distro": "noble",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "4f79897f85d320bbda7a8ab8961b8d072ff96425f5151579e16a0a42854f15bf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.1",
      "date": "2026-06-02T09:50:52.000Z",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "af9ed0358dd8420a739a4e701a12d1b763d43ce12a7eed7114b9898dd4d60cce",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.1",
      "date": "2026-06-02T09:50:30.000Z",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "ec028db6f9bdb3784495212c671c9488f579d09424fdce3f70bfbc376ab1bcae",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.1",
      "date": "2026-06-02T09:51:47.000Z",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "8d8afd9815e80b6cb2978f0a4cedfa22e5e146fbd350d6e6de32f9bf5a1c7b83",
      "status": "success",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-06-02T09:50:14.000Z",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "3d5ae4814fb3327873afb85aaede41046896e00b7cddcb42ae8c780a843d3e62",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-06-02T09:50:12.000Z",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "75a37a30a202b175eed28da229b2e4a3345f19401725a821c6f6c15f8e3e648c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.1",
      "date": "2026-06-02T09:50:10.000Z",
      "commit": "c7977ded6c7a5e8b48f57032b336ca0c057784a9",
      "fileid": "f3008b3f4329bd2ac718c5f9452a91d82b85d1108ab2c44845cb1b38ef5acec6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/friendly/actions/runs/26811760298"
    }
  ]
}