blob: 96db21c2d917f12153680642eadcbf02ce6ca1c7 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="The `Matrix` struct."><meta name="keywords" content="rust, rustlang, rust-lang, Matrix"><title>Matrix in rulinalg::matrix - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" href="../../normalize.css"><link rel="stylesheet" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" href="../../ayu.css" disabled><link rel="stylesheet" href="../../dark.css" disabled><link rel="stylesheet" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../main.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc struct"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../rulinalg/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2></h2></nav><nav class="sidebar"><a class="sidebar-logo" href="../../rulinalg/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div></a><h2 class="location"><a href="#">Matrix</a></h2><div class="sidebar-elems"><section><h3><a href="#implementations">Methods</a></h3><ul class="block"><li><a href="#method.bidiagonal_decomp">bidiagonal_decomp</a></li><li><a href="#method.cholesky">cholesky</a></li><li><a href="#method.data">data</a></li><li><a href="#method.det">det</a></li><li><a href="#method.eigendecomp">eigendecomp</a></li><li><a href="#method.eigenvalues">eigenvalues</a></li><li><a href="#method.from_diag">from_diag</a></li><li><a href="#method.from_fn">from_fn</a></li><li><a href="#method.identity">identity</a></li><li><a href="#method.into_vec">into_vec</a></li><li><a href="#method.inverse">inverse</a></li><li><a href="#method.lup_decomp">lup_decomp</a></li><li><a href="#method.mean">mean</a></li><li><a href="#method.mut_data">mut_data</a></li><li><a href="#method.new">new</a></li><li><a href="#method.ones">ones</a></li><li><a href="#method.qr_decomp">qr_decomp</a></li><li><a href="#method.solve">solve</a></li><li><a href="#method.svd">svd</a></li><li><a href="#method.try_into">try_into</a></li><li><a href="#method.upper_hess_decomp">upper_hess_decomp</a></li><li><a href="#method.upper_hessenberg">upper_hessenberg</a></li><li><a href="#method.variance">variance</a></li><li><a href="#method.zeros">zeros</a></li></ul><h3><a href="#trait-implementations">Trait Implementations</a></h3><ul class="block"><li><a href="#impl-Add%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E">Add&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27a%20T%3E-for-Matrix%3CT%3E">Add&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Add&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E">Add&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">Add&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Add&lt;&amp;&#39;b MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Add&lt;&amp;&#39;b MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E">Add&lt;&amp;&#39;b T&gt;</a></li><li><a href="#impl-Add%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E">Add&lt;&amp;&#39;c Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E">Add&lt;&amp;&#39;c Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Add&lt;&amp;&#39;c MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Add&lt;&amp;&#39;c MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Add&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E">Add&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E">Add&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E">Add&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E">Add&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">Add&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Add&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Add&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Add&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Add&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Add%3CT%3E-for-%26%27a%20Matrix%3CT%3E">Add&lt;T&gt;</a></li><li><a href="#impl-Add%3CT%3E-for-Matrix%3CT%3E">Add&lt;T&gt;</a></li><li><a href="#impl-AddAssign%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E">AddAssign&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E">AddAssign&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-AddAssign%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">AddAssign&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">AddAssign&lt;&amp;&#39;b MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">AddAssign&lt;&amp;&#39;b MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E">AddAssign&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">AddAssign&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">AddAssign&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">AddAssign&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-AddAssign%3CT%3E-for-Matrix%3CT%3E">AddAssign&lt;T&gt;</a></li><li><a href="#impl-BaseMatrix%3CT%3E-for-Matrix%3CT%3E">BaseMatrix&lt;T&gt;</a></li><li><a href="#impl-BaseMatrixMut%3CT%3E-for-Matrix%3CT%3E">BaseMatrixMut&lt;T&gt;</a></li><li><a href="#impl-Clone-for-Matrix%3CT%3E">Clone</a></li><li><a href="#impl-Debug-for-Matrix%3CT%3E">Debug</a></li><li><a href="#impl-Display-for-Matrix%3CT%3E">Display</a></li><li><a href="#impl-Div%3C%26%27a%20T%3E-for-Matrix%3CT%3E">Div&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-Div%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E">Div&lt;&amp;&#39;b T&gt;</a></li><li><a href="#impl-Div%3CT%3E-for-%26%27a%20Matrix%3CT%3E">Div&lt;T&gt;</a></li><li><a href="#impl-Div%3CT%3E-for-Matrix%3CT%3E">Div&lt;T&gt;</a></li><li><a href="#impl-DivAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E">DivAssign&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-DivAssign%3CT%3E-for-Matrix%3CT%3E">DivAssign&lt;T&gt;</a></li><li><a href="#impl-Eq-for-Matrix%3CT%3E">Eq</a></li><li><a href="#impl-From%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">From&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-From%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">From&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-From%3CVector%3CT%3E%3E-for-Matrix%3CT%3E">From&lt;Vector&lt;T&gt;&gt;</a></li><li><a href="#impl-FromIterator%3C%26%27a%20%5BT%5D%3E-for-Matrix%3CT%3E">FromIterator&lt;&amp;&#39;a [T]&gt;</a></li><li><a href="#impl-FromIterator%3CRow%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">FromIterator&lt;Row&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-FromIterator%3CRowMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">FromIterator&lt;RowMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Hash-for-Matrix%3CT%3E">Hash</a></li><li><a href="#impl-Index%3C%5Busize%3B%202%5D%3E-for-Matrix%3CT%3E">Index&lt;[usize; 2]&gt;</a></li><li><a href="#impl-IndexMut%3C%5Busize%3B%202%5D%3E-for-Matrix%3CT%3E">IndexMut&lt;[usize; 2]&gt;</a></li><li><a href="#impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-%26%27b%20PermutationMatrix%3CT%3E">Mul&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E">Mul&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-PermutationMatrix%3CT%3E">Mul&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27a%20PermutationMatrix%3CT%3E%3E-for-Matrix%3CT%3E">Mul&lt;&amp;&#39;a PermutationMatrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27a%20T%3E-for-Matrix%3CT%3E">Mul&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-Mul%3C%26%27a%20Vector%3CT%3E%3E-for-Matrix%3CT%3E">Mul&lt;&amp;&#39;a Vector&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E">Mul&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">Mul&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Mul&lt;&amp;&#39;b MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Mul&lt;&amp;&#39;b MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20PermutationMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;&amp;&#39;b PermutationMatrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;&amp;&#39;b T&gt;</a></li><li><a href="#impl-Mul%3C%26%27b%20Vector%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;&amp;&#39;b Vector&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E">Mul&lt;&amp;&#39;c Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E">Mul&lt;&amp;&#39;c Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Mul&lt;&amp;&#39;c MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Mul&lt;&amp;&#39;c MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20PermutationMatrix%3CT%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-PermutationMatrix%3CT%3E">Mul&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Mul&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Mul&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Mul&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Mul&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Mul%3CPermutationMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;PermutationMatrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CPermutationMatrix%3CT%3E%3E-for-Matrix%3CT%3E">Mul&lt;PermutationMatrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CT%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;T&gt;</a></li><li><a href="#impl-Mul%3CT%3E-for-Matrix%3CT%3E">Mul&lt;T&gt;</a></li><li><a href="#impl-Mul%3CVector%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Mul&lt;Vector&lt;T&gt;&gt;</a></li><li><a href="#impl-Mul%3CVector%3CT%3E%3E-for-Matrix%3CT%3E">Mul&lt;Vector&lt;T&gt;&gt;</a></li><li><a href="#impl-MulAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E">MulAssign&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-MulAssign%3CT%3E-for-Matrix%3CT%3E">MulAssign&lt;T&gt;</a></li><li><a href="#impl-Neg-for-%26%27a%20Matrix%3CT%3E">Neg</a></li><li><a href="#impl-Neg-for-Matrix%3CT%3E">Neg</a></li><li><a href="#impl-PartialEq%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E">PartialEq&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-StructuralEq-for-Matrix%3CT%3E">StructuralEq</a></li><li><a href="#impl-StructuralPartialEq-for-Matrix%3CT%3E">StructuralPartialEq</a></li><li><a href="#impl-Sub%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E">Sub&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27a%20T%3E-for-Matrix%3CT%3E">Sub&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Sub&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E">Sub&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">Sub&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Sub&lt;&amp;&#39;b MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Sub&lt;&amp;&#39;b MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E">Sub&lt;&amp;&#39;b T&gt;</a></li><li><a href="#impl-Sub%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E">Sub&lt;&amp;&#39;c Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E">Sub&lt;&amp;&#39;c Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Sub&lt;&amp;&#39;c MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Sub&lt;&amp;&#39;c MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E">Sub&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E">Sub&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E">Sub&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E">Sub&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E">Sub&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">Sub&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Sub&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Sub&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E">Sub&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">Sub&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-Sub%3CT%3E-for-%26%27a%20Matrix%3CT%3E">Sub&lt;T&gt;</a></li><li><a href="#impl-Sub%3CT%3E-for-Matrix%3CT%3E">Sub&lt;T&gt;</a></li><li><a href="#impl-SubAssign%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E">SubAssign&lt;&amp;&#39;a Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E">SubAssign&lt;&amp;&#39;a T&gt;</a></li><li><a href="#impl-SubAssign%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">SubAssign&lt;&amp;&#39;b Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">SubAssign&lt;&amp;&#39;b MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">SubAssign&lt;&amp;&#39;b MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E">SubAssign&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E">SubAssign&lt;Matrix&lt;T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">SubAssign&lt;MatrixSlice&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E">SubAssign&lt;MatrixSliceMut&lt;&#39;a, T&gt;&gt;</a></li><li><a href="#impl-SubAssign%3CT%3E-for-Matrix%3CT%3E">SubAssign&lt;T&gt;</a></li></ul><h3><a href="#synthetic-implementations">Auto Trait Implementations</a></h3><ul class="block"><li><a href="#impl-RefUnwindSafe-for-Matrix%3CT%3E">RefUnwindSafe</a></li><li><a href="#impl-Send-for-Matrix%3CT%3E">Send</a></li><li><a href="#impl-Sync-for-Matrix%3CT%3E">Sync</a></li><li><a href="#impl-Unpin-for-Matrix%3CT%3E">Unpin</a></li><li><a href="#impl-UnwindSafe-for-Matrix%3CT%3E">UnwindSafe</a></li></ul><h3><a href="#blanket-implementations">Blanket Implementations</a></h3><ul class="block"><li><a href="#impl-Any-for-Matrix%3CT%3E">Any</a></li><li><a href="#impl-Borrow%3CT%3E-for-Matrix%3CT%3E">Borrow&lt;T&gt;</a></li><li><a href="#impl-BorrowMut%3CT%3E-for-Matrix%3CT%3E">BorrowMut&lt;T&gt;</a></li><li><a href="#impl-From%3CT%3E-for-Matrix%3CT%3E">From&lt;T&gt;</a></li><li><a href="#impl-Into%3CU%3E-for-Matrix%3CT%3E">Into&lt;U&gt;</a></li><li><a href="#impl-ToOwned-for-Matrix%3CT%3E">ToOwned</a></li><li><a href="#impl-ToString-for-Matrix%3CT%3E">ToString</a></li><li><a href="#impl-TryFrom%3CU%3E-for-Matrix%3CT%3E">TryFrom&lt;U&gt;</a></li><li><a href="#impl-TryInto%3CU%3E-for-Matrix%3CT%3E">TryInto&lt;U&gt;</a></li></ul></section><h2><a href="index.html">In rulinalg::matrix</a></h2></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1 class="fqn">Struct <a href="../index.html">rulinalg</a>::<wbr><a href="index.html">matrix</a>::<wbr><a class="struct" href="#">Matrix</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="srclink" href="../../src/rulinalg/matrix/mod.rs.html#45-49">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="item-decl"><pre class="rust struct"><code>pub struct Matrix&lt;T&gt; { /* private fields */ }</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>The <code>Matrix</code> struct.</p>
<p>Can be instantiated with any type.</p>
</div></details><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/qr.rs.html#317-393">source</a><a href="#impl-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.qr_decomp" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/qr.rs.html#346-392">source</a><h4 class="code-header">pub fn <a href="#method.qr_decomp" class="fnname">qr_decomp</a>(self) -&gt; Result&lt;(<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;), <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated</span></div></span></summary><div class="docblock"><p>Compute the QR decomposition of the matrix.</p>
<p>Returns the tuple (Q,R).</p>
<p>Note: this function is deprecated in favor of
<a href="./decomposition/struct.HouseholderQr.html">HouseholderQr</a>
and will be removed in a future release.</p>
<h5 id="examples"><a href="#examples">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>m = <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">0.5</span>, <span class="number">0.5</span>;
<span class="number">0.5</span>, <span class="number">1.0</span>, <span class="number">0.5</span>;
<span class="number">0.5</span>, <span class="number">0.5</span>, <span class="number">1.0</span>];
<span class="kw">let </span>(q, r) = m.qr_decomp().unwrap();</code></pre></div>
<h5 id="failures"><a href="#failures">Failures</a></h5>
<ul>
<li>Cannot compute the QR decomposition.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-1" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/cholesky.rs.html#249-325">source</a><a href="#impl-Matrix%3CT%3E-1" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.cholesky" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/cholesky.rs.html#283-324">source</a><h4 class="code-header">pub fn <a href="#method.cholesky" class="fnname">cholesky</a>(&amp;self) -&gt; Result&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated</span></div></span></summary><div class="docblock"><p>Cholesky decomposition</p>
<p>Returns the cholesky decomposition of a positive definite matrix.</p>
<p><em>NOTE</em>: This function is deprecated, and will be removed in a
future release. Please see
<a href="decomposition/struct.Cholesky.html">Cholesky</a> for its
replacement.</p>
<h5 id="examples-1"><a href="#examples-1">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>m = <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">0.5</span>, <span class="number">0.5</span>;
<span class="number">0.5</span>, <span class="number">1.0</span>, <span class="number">0.5</span>;
<span class="number">0.5</span>, <span class="number">0.5</span>, <span class="number">1.0</span>];
<span class="kw">let </span>l = m.cholesky();</code></pre></div>
<h5 id="panics"><a href="#panics">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-1"><a href="#failures-1">Failures</a></h5>
<ul>
<li>Matrix is not positive definite.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-2" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/bidiagonal.rs.html#9-101">source</a><a href="#impl-Matrix%3CT%3E-2" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.bidiagonal_decomp" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/bidiagonal.rs.html#23-100">source</a><h4 class="code-header">pub fn <a href="#method.bidiagonal_decomp" class="fnname">bidiagonal_decomp</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;self<br>) -&gt; Result&lt;(<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;), <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Converts matrix to bidiagonal form</p>
<p>Returns (B, U, V), where B is bidiagonal and <code>self = U B V_T</code>.</p>
<p>Note that if <code>self</code> has <code>self.rows() &gt; self.cols()</code> the matrix will
be transposed and then reduced - this will lead to a sub-diagonal instead
of super-diagonal.</p>
<h5 id="failures-2"><a href="#failures-2">Failures</a></h5>
<ul>
<li>The matrix cannot be reduced to bidiagonal form.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-3" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/svd.rs.html#92-312">source</a><a href="#impl-Matrix%3CT%3E-3" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a> + <a class="trait" href="../../num_traits/sign/trait.Signed.html" title="trait num_traits::sign::Signed">Signed</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.svd" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/svd.rs.html#123-126">source</a><h4 class="code-header">pub fn <a href="#method.svd" class="fnname">svd</a>(self) -&gt; Result&lt;(<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;), <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Singular Value Decomposition</p>
<p>Computes the SVD using the Golub-Reinsch algorithm.</p>
<p>Returns Σ, U, V, such that <code>self</code> = U Σ V<sup>T</sup>. Σ is a diagonal matrix whose elements
correspond to the non-negative singular values of the matrix. The singular values are ordered in
non-increasing order. U and V have orthonormal columns, and each column represents the
left and right singular vectors for the corresponding singular value in Σ, respectively.</p>
<p>If <code>self</code> has M rows and N columns, the dimensions of the returned matrices
are as follows.</p>
<p>If M &gt;= N:</p>
<ul>
<li><code>Σ</code>: N x N</li>
<li><code>U</code>: M x N</li>
<li><code>V</code>: N x N</li>
</ul>
<p>If M &lt; N:</p>
<ul>
<li><code>Σ</code>: M x M</li>
<li><code>U</code>: M x M</li>
<li><code>V</code>: N x M</li>
</ul>
<p>Note: This version of the SVD is sometimes referred to as the ‘economy SVD’.</p>
<h5 id="failures-3"><a href="#failures-3">Failures</a></h5>
<p>This function may fail in some cases. The current decomposition whilst being
efficient is fairly basic. Hopefully the algorithm can be made not to fail in the near future.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-4" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/hessenberg.rs.html#8-143">source</a><a href="#impl-Matrix%3CT%3E-4" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.upper_hessenberg" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/hessenberg.rs.html#37-83">source</a><h4 class="code-header">pub fn <a href="#method.upper_hessenberg" class="fnname">upper_hessenberg</a>(self) -&gt; Result&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Returns H, where H is the upper hessenberg form.</p>
<p>If the transformation matrix is also required, you should
use <code>upper_hess_decomp</code>.</p>
<h5 id="examples-2"><a href="#examples-2">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">2.</span>, <span class="number">0.</span>, <span class="number">1.</span>, <span class="number">1.</span>;
<span class="number">2.</span>, <span class="number">0.</span>, <span class="number">1.</span>, <span class="number">2.</span>;
<span class="number">1.</span>, <span class="number">2.</span>, <span class="number">0.</span>, <span class="number">0.</span>;
<span class="number">2.</span>, <span class="number">0.</span>, <span class="number">1.</span>, <span class="number">1.</span>];
<span class="kw">let </span>h = a.upper_hessenberg();
<span class="macro">println!</span>(<span class="string">&quot;{:}&quot;</span>, h.expect(<span class="string">&quot;Could not get upper Hessenberg form.&quot;</span>));</code></pre></div>
<h5 id="panics-1"><a href="#panics-1">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-4"><a href="#failures-4">Failures</a></h5>
<ul>
<li>The matrix cannot be reduced to upper hessenberg form.</li>
</ul>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.upper_hess_decomp" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/hessenberg.rs.html#114-142">source</a><h4 class="code-header">pub fn <a href="#method.upper_hess_decomp" class="fnname">upper_hess_decomp</a>(self) -&gt; Result&lt;(<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;), <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Returns (U,H), where H is the upper hessenberg form
and U is the unitary transform matrix.</p>
<p>Note: The current transform matrix seems broken…</p>
<h5 id="examples-3"><a href="#examples-3">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::BaseMatrix;
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">1.</span>, <span class="number">2.</span>, <span class="number">3.</span>;
<span class="number">4.</span>, <span class="number">5.</span>, <span class="number">6.</span>;
<span class="number">7.</span>, <span class="number">8.</span>, <span class="number">9.</span>];
<span class="comment">// u is the transform, h is the upper hessenberg form.
</span><span class="kw">let </span>(u, h) = a.clone().upper_hess_decomp().expect(<span class="string">&quot;This matrix should decompose!&quot;</span>);
<span class="macro">assert_matrix_eq!</span>(h, u.transpose() * a * u, comp = abs, tol = <span class="number">1e-12</span>);</code></pre></div>
<h5 id="panics-2"><a href="#panics-2">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-5"><a href="#failures-5">Failures</a></h5>
<ul>
<li>The matrix cannot be reduced to upper hessenberg form.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-5" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/lu.rs.html#666-738">source</a><a href="#impl-Matrix%3CT%3E-5" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.lup_decomp" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/lu.rs.html#698-737">source</a><h4 class="code-header">pub fn <a href="#method.lup_decomp" class="fnname">lup_decomp</a>(self) -&gt; Result&lt;(<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;), <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section><span class="item-info"><div class="stab deprecated"><span class="emoji">👎</span><span>Deprecated</span></div></span></summary><div class="docblock"><p>Computes L, U, and P for LUP decomposition.</p>
<p>Returns L,U, and P respectively.</p>
<p>This function is deprecated.
Please see <a href="decomposition/struct.PartialPivLu.html">PartialPivLu</a>
for a replacement.</p>
<h5 id="examples-4"><a href="#examples-4">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">0.0</span>;
<span class="number">0.0</span>, <span class="number">3.0</span>, <span class="number">4.0</span>;
<span class="number">5.0</span>, <span class="number">1.0</span>, <span class="number">2.0</span>];
<span class="kw">let </span>(l, u, p) = a.lup_decomp().expect(<span class="string">&quot;This matrix should decompose!&quot;</span>);</code></pre></div>
<h5 id="panics-3"><a href="#panics-3">Panics</a></h5>
<ul>
<li>Matrix is not square.</li>
</ul>
<h5 id="failures-6"><a href="#failures-6">Failures</a></h5>
<ul>
<li>Matrix cannot be LUP decomposed.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-6" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/eigen.rs.html#11-363">source</a><a href="#impl-Matrix%3CT%3E-6" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a> + <a class="trait" href="../../num_traits/sign/trait.Signed.html" title="trait num_traits::sign::Signed">Signed</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.eigenvalues" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/eigen.rs.html#186-196">source</a><h4 class="code-header">pub fn <a href="#method.eigenvalues" class="fnname">eigenvalues</a>(self) -&gt; Result&lt;Vec&lt;T&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Eigenvalues of a square matrix.</p>
<p>Returns a Vec of eigenvalues.</p>
<h5 id="examples-5"><a href="#examples-5">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>a = Matrix::new(<span class="number">4</span>,<span class="number">4</span>, (<span class="number">1</span>..<span class="number">17</span>).map(|v| v <span class="kw">as </span>f64).collect::&lt;Vec&lt;f64&gt;&gt;());
<span class="kw">let </span>e = a.eigenvalues().expect(<span class="string">&quot;We should be able to compute these eigenvalues!&quot;</span>);
<span class="macro">println!</span>(<span class="string">&quot;{:?}&quot;</span>, e);</code></pre></div>
<h5 id="panics-4"><a href="#panics-4">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-7"><a href="#failures-7">Failures</a></h5>
<ul>
<li>Eigenvalues cannot be computed.</li>
</ul>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.eigendecomp" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/decomposition/eigen.rs.html#353-362">source</a><h4 class="code-header">pub fn <a href="#method.eigendecomp" class="fnname">eigendecomp</a>(self) -&gt; Result&lt;(Vec&lt;T&gt;, <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;), <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Eigendecomposition of a square matrix.</p>
<p>Returns a Vec of eigenvalues, and a matrix with eigenvectors as the columns.</p>
<p>The eigenvectors are only gauranteed to be correct if the matrix is real-symmetric.</p>
<h5 id="examples-6"><a href="#examples-6">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">3.</span>, <span class="number">2.</span>, <span class="number">4.</span>;
<span class="number">2.</span>, <span class="number">0.</span>, <span class="number">2.</span>;
<span class="number">4.</span>, <span class="number">2.</span>, <span class="number">3.</span>];
<span class="kw">let </span>(e, m) = a.eigendecomp().expect(<span class="string">&quot;We should be able to compute this eigendecomp!&quot;</span>);
<span class="macro">println!</span>(<span class="string">&quot;{:?}&quot;</span>, e);
<span class="macro">println!</span>(<span class="string">&quot;{:?}&quot;</span>, m.data());</code></pre></div>
<h5 id="panics-5"><a href="#panics-5">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-8"><a href="#failures-8">Failures</a></h5>
<ul>
<li>The eigen decomposition can not be computed.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-7" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#12-100">source</a><a href="#impl-Matrix%3CT%3E-7" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.new" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#31-41">source</a><h4 class="code-header">pub fn <a href="#method.new" class="fnname">new</a>&lt;U:&nbsp;Into&lt;Vec&lt;T&gt;&gt;&gt;(rows: usize, cols: usize, data: U) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructor for Matrix struct.</p>
<p>Requires both the row and column dimensions.</p>
<h5 id="examples-7"><a href="#examples-7">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::{Matrix, BaseMatrix};
<span class="kw">let </span>mat = Matrix::new(<span class="number">2</span>,<span class="number">2</span>, <span class="macro">vec!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">3.0</span>, <span class="number">4.0</span>]);
<span class="macro">assert_eq!</span>(mat.rows(), <span class="number">2</span>);
<span class="macro">assert_eq!</span>(mat.cols(), <span class="number">2</span>);</code></pre></div>
<h5 id="panics-6"><a href="#panics-6">Panics</a></h5>
<ul>
<li>The input data does not match the given dimensions.</li>
</ul>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_fn" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#74-84">source</a><h4 class="code-header">pub fn <a href="#method.from_fn" class="fnname">from_fn</a>&lt;F&gt;(rows: usize, cols: usize, f: F) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;F: FnMut(usize, usize) -&gt; T,</span></h4></section></summary><div class="docblock"><p>Constructor for Matrix struct that takes a function <code>f</code>
and constructs a new matrix such that <code>A_ij = f(j, i)</code>,
where <code>i</code> is the row index and <code>j</code> the column index.</p>
<p>Requires both the row and column dimensions
as well as a generating function.</p>
<h5 id="examples-8"><a href="#examples-8">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::{Matrix, BaseMatrix};
<span class="comment">// Let&#39;s assume you have an array of &quot;things&quot; for
// which you want to generate a distance matrix:
</span><span class="kw">let </span>things: [i32; <span class="number">3</span>] = [<span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span>];
<span class="kw">let </span>distances: Matrix&lt;f64&gt; = Matrix::from_fn(things.len(), things.len(), |col, row| {
(things[col] - things[row]).abs().into()
});
<span class="macro">assert_eq!</span>(distances.rows(), <span class="number">3</span>);
<span class="macro">assert_eq!</span>(distances.cols(), <span class="number">3</span>);
<span class="macro">assert_eq!</span>(distances.data(), <span class="kw-2">&amp;</span><span class="macro">vec!</span>[
<span class="number">0.0</span>, <span class="number">1.0</span>, <span class="number">2.0</span>,
<span class="number">1.0</span>, <span class="number">0.0</span>, <span class="number">1.0</span>,
<span class="number">2.0</span>, <span class="number">1.0</span>, <span class="number">0.0</span>,
]);</code></pre></div>
<h5 id="warning"><a href="#warning">Warning</a></h5>
<p><em>This function will be changed in a future release so that <code>A_ij = f(i, j)</code> - to be consistent
with the rest of the library.</em></p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.data" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#87-89">source</a><h4 class="code-header">pub fn <a href="#method.data" class="fnname">data</a>(&amp;self) -&gt; &amp;Vec&lt;T&gt;</h4></section></summary><div class="docblock"><p>Returns a non-mutable reference to the underlying data.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mut_data" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#92-94">source</a><h4 class="code-header">pub fn <a href="#method.mut_data" class="fnname">mut_data</a>(&amp;mut self) -&gt; &amp;mut [T]</h4></section></summary><div class="docblock"><p>Returns a mutable slice of the underlying data.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_vec" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#97-99">source</a><h4 class="code-header">pub fn <a href="#method.into_vec" class="fnname">into_vec</a>(self) -&gt; Vec&lt;T&gt;</h4></section></summary><div class="docblock"><p>Consumes the Matrix and returns the Vec of data.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-8" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#102-147">source</a><a href="#impl-Matrix%3CT%3E-8" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Clone + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.zeros" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#114-120">source</a><h4 class="code-header">pub fn <a href="#method.zeros" class="fnname">zeros</a>(rows: usize, cols: usize) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs matrix of all zeros.</p>
<p>Requires both the row and the column dimensions.</p>
<h5 id="examples-9"><a href="#examples-9">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>mat = Matrix::&lt;f64&gt;::zeros(<span class="number">2</span>,<span class="number">3</span>);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_diag" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#133-146">source</a><h4 class="code-header">pub fn <a href="#method.from_diag" class="fnname">from_diag</a>(diag: &amp;[T]) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs matrix with given diagonal.</p>
<p>Requires slice of diagonal elements.</p>
<h5 id="examples-10"><a href="#examples-10">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>mat = Matrix::from_diag(<span class="kw-2">&amp;</span><span class="macro">vec!</span>[<span class="number">1.0</span>,<span class="number">2.0</span>,<span class="number">3.0</span>,<span class="number">4.0</span>]);</code></pre></div>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-9" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#149-168">source</a><a href="#impl-Matrix%3CT%3E-9" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Clone + <a class="trait" href="../../num_traits/identities/trait.One.html" title="trait num_traits::identities::One">One</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ones" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#161-167">source</a><h4 class="code-header">pub fn <a href="#method.ones" class="fnname">ones</a>(rows: usize, cols: usize) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs matrix of all ones.</p>
<p>Requires both the row and the column dimensions.</p>
<h5 id="examples-11"><a href="#examples-11">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>mat = Matrix::&lt;f64&gt;::ones(<span class="number">2</span>,<span class="number">3</span>);</code></pre></div>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-10" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#170-195">source</a><a href="#impl-Matrix%3CT%3E-10" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Clone + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + <a class="trait" href="../../num_traits/identities/trait.One.html" title="trait num_traits::identities::One">One</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.identity" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#182-194">source</a><h4 class="code-header">pub fn <a href="#method.identity" class="fnname">identity</a>(size: usize) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>Constructs the identity matrix.</p>
<p>Requires the size of the matrix.</p>
<h5 id="examples-12"><a href="#examples-12">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>I = Matrix::&lt;f64&gt;::identity(<span class="number">4</span>);</code></pre></div>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-11" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#197-315">source</a><a href="#impl-Matrix%3CT%3E-11" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;<a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a> + <a class="trait" href="../../num_traits/cast/trait.FromPrimitive.html" title="trait num_traits::cast::FromPrimitive">FromPrimitive</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mean" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#221-240">source</a><h4 class="code-header">pub fn <a href="#method.mean" class="fnname">mean</a>(&amp;self, axis: <a class="enum" href="enum.Axes.html" title="enum rulinalg::matrix::Axes">Axes</a>) -&gt; <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class="docblock"><p>The mean of the matrix along the specified axis.</p>
<ul>
<li>Axis Row - Arithmetic mean of rows.</li>
<li>Axis Col - Arithmetic mean of columns.</li>
</ul>
<p>Calling <code>mean()</code> on an empty matrix will return an empty matrix.</p>
<h5 id="examples-13"><a href="#examples-13">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::{Matrix, Axes};
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>;
<span class="number">3.0</span>, <span class="number">4.0</span>];
<span class="kw">let </span>c = a.mean(Axes::Row);
<span class="macro">assert_eq!</span>(c, <span class="macro">vector!</span>[<span class="number">2.0</span>, <span class="number">3.0</span>]);
<span class="kw">let </span>d = a.mean(Axes::Col);
<span class="macro">assert_eq!</span>(d, <span class="macro">vector!</span>[<span class="number">1.5</span>, <span class="number">3.5</span>]);</code></pre></div>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.variance" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#267-314">source</a><h4 class="code-header">pub fn <a href="#method.variance" class="fnname">variance</a>(&amp;self, axis: <a class="enum" href="enum.Axes.html" title="enum rulinalg::matrix::Axes">Axes</a>) -&gt; Result&lt;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>The variance of the matrix along the specified axis.</p>
<ul>
<li>Axis Row - Sample variance of rows.</li>
<li>Axis Col - Sample variance of columns.</li>
</ul>
<h5 id="examples-14"><a href="#examples-14">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::{Matrix, Axes};
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>;
<span class="number">3.0</span>, <span class="number">4.0</span>];
<span class="kw">let </span>c = a.variance(Axes::Row).unwrap();
<span class="macro">assert_eq!</span>(c, <span class="macro">vector!</span>[<span class="number">2.0</span>, <span class="number">2.0</span>]);
<span class="kw">let </span>d = a.variance(Axes::Col).unwrap();
<span class="macro">assert_eq!</span>(d, <span class="macro">vector!</span>[<span class="number">0.5</span>, <span class="number">0.5</span>]);</code></pre></div>
<h5 id="failures-9"><a href="#failures-9">Failures</a></h5>
<ul>
<li>There are one or fewer row/columns in the working axis.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-12" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#317-428">source</a><a href="#impl-Matrix%3CT%3E-12" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Any + <a class="trait" href="../../num_traits/float/trait.Float.html" title="trait num_traits::float::Float">Float</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.solve" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#354-356">source</a><h4 class="code-header">pub fn <a href="#method.solve" class="fnname">solve</a>(self, y: <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;) -&gt; Result&lt;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Solves the equation <code>Ax = y</code>.</p>
<p>Requires a Vector <code>y</code> as input.</p>
<p>The method performs an LU decomposition internally,
consuming the matrix in the process. If solving
the same system for multiple right-hand sides
is desired, see
<a href="decomposition/struct.PartialPivLu.html">PartialPivLu</a>.</p>
<h5 id="examples-15"><a href="#examples-15">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">use </span>rulinalg::vector::Vector;
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">2.0</span>, <span class="number">3.0</span>;
<span class="number">1.0</span>, <span class="number">2.0</span>];
<span class="kw">let </span>y = <span class="macro">vector!</span>[<span class="number">13.0</span>, <span class="number">8.0</span>];
<span class="kw">let </span>x = a.solve(y).unwrap();
<span class="macro">assert_eq!</span>(x, <span class="macro">vector!</span>[<span class="number">2.0</span>, <span class="number">3.0</span>]);</code></pre></div>
<h5 id="panics-7"><a href="#panics-7">Panics</a></h5>
<ul>
<li>The matrix column count and vector size are different.</li>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-10"><a href="#failures-10">Failures</a></h5>
<ul>
<li>The matrix cannot be decomposed into an LUP form to solve.</li>
<li>There is no valid solution as the matrix is singular.</li>
</ul>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.inverse" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#386-388">source</a><h4 class="code-header">pub fn <a href="#method.inverse" class="fnname">inverse</a>(self) -&gt; Result&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Computes the inverse of the matrix.</p>
<p>Internally performs an LU decomposition.</p>
<h5 id="examples-16"><a href="#examples-16">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::Matrix;
<span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">2.</span>, <span class="number">3.</span>;
<span class="number">1.</span>, <span class="number">2.</span>];
<span class="kw">let </span>inv = a.clone().inverse().expect(<span class="string">&quot;This matrix should have an inverse!&quot;</span>);
<span class="kw">let </span>I = a * inv;
<span class="macro">assert_matrix_eq!</span>(I, <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">0.0</span>; <span class="number">0.0</span>, <span class="number">1.0</span>]);</code></pre></div>
<h5 id="panics-8"><a href="#panics-8">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
<h5 id="failures-11"><a href="#failures-11">Failures</a></h5>
<ul>
<li>The matrix could not be LUP decomposed.</li>
<li>The matrix has zero determinant.</li>
</ul>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.det" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#407-427">source</a><h4 class="code-header">pub fn <a href="#method.det" class="fnname">det</a>(self) -&gt; T</h4></section></summary><div class="docblock"><p>Computes the determinant of the matrix.</p>
<h5 id="examples-17"><a href="#examples-17">Examples</a></h5>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">let </span>a = <span class="macro">matrix!</span>[<span class="number">1.0</span>, <span class="number">2.0</span>, <span class="number">0.0</span>;
<span class="number">0.0</span>, <span class="number">3.0</span>, <span class="number">4.0</span>;
<span class="number">5.0</span>, <span class="number">1.0</span>, <span class="number">2.0</span>];
<span class="kw">let </span>det = a.det();</code></pre></div>
<h5 id="panics-9"><a href="#panics-9">Panics</a></h5>
<ul>
<li>The matrix is not square.</li>
</ul>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Matrix%3CT%3E-13" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#72-91">source</a><a href="#impl-Matrix%3CT%3E-13" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;<a class="trait" href="../../num_traits/cast/trait.ToPrimitive.html" title="trait num_traits::cast::ToPrimitive">ToPrimitive</a>&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into" class="method has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#78-90">source</a><h4 class="code-header">pub fn <a href="#method.try_into" class="fnname">try_into</a>&lt;U:&nbsp;<a class="trait" href="../../num_traits/cast/trait.NumCast.html" title="trait num_traits::cast::NumCast">NumCast</a>&gt;(self) -&gt; Result&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;U&gt;, <a class="struct" href="../error/struct.Error.html" title="struct rulinalg::error::Error">Error</a>&gt;</h4></section></summary><div class="docblock"><p>Attempts to convert the matrix into a new matrix of different scalar type.</p>
<h5 id="failures-12"><a href="#failures-12">Failures</a></h5>
<ul>
<li>One or more of the elements in the matrix cannot be converted into
the new type.</li>
</ul>
</div></details></div></details></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#impl-Add%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between two matrices.</p>
<p>This will reuse allocated memory from <code>self</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-55" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-55" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-22" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#method.add-22" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#impl-Add%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
addition
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-2" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-2" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#method.add-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-56" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-56" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-23" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#method.add-23" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-23" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-23" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-6" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-31" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-31" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-14" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-14" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;&amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-27" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-27" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-10" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-10" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;&amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-35" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-35" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-18" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-18" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#impl-Add%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;&amp;'b T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
addition
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-4" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-4" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#method.add-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Add&lt;&amp;'c <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-24" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-24" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-7" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Add&lt;&amp;'c <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-32" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-32" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-15" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-15" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Add&lt;&amp;'c <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-28" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-28" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-11" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-11" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Add&lt;&amp;'c <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-36" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-36" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-19" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-19" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between two matrices.</p>
<p>This will reuse allocated memory from <code>m</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-54" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-54" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-21" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#method.add-21" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-22" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-22" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-5" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-30" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-30" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-13" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-13" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Add&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between two matrices.</p>
<p>This will reuse allocated memory from <code>self</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-53" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-53" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-20" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#598">source</a><a href="#method.add-20" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-21" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-21" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-4" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-29" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-29" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-12" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-12" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-26" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-26" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-9" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#impl-Add%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-25" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-25" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#516">source</a><a href="#method.add-8" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Add&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-34" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-34" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-17" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-17" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#impl-Add%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-33" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-33" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#517">source</a><a href="#method.add-16" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, s: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#impl-Add%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Add&lt;T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
addition
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-3" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-3" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#method.add-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Add%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#impl-Add%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Add&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
addition
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-1" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>+</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#259">source</a><a href="#method.add" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>+</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#694">source</a><a href="#impl-AddAssign%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; AddAssign&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#694">source</a><a href="#method.add_assign-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#630">source</a><a href="#impl-AddAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; AddAssign&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
addition
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#630">source</a><a href="#method.add_assign-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: &amp;T)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#733">source</a><a href="#impl-AddAssign%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; AddAssign&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#733">source</a><a href="#method.add_assign-5" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#813">source</a><a href="#impl-AddAssign%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; AddAssign&lt;&amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#813">source</a><a href="#method.add_assign-7" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#815">source</a><a href="#impl-AddAssign%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; AddAssign&lt;&amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#815">source</a><a href="#method.add_assign-9" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#694">source</a><a href="#impl-AddAssign%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; AddAssign&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#694">source</a><a href="#method.add_assign-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#733">source</a><a href="#impl-AddAssign%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; AddAssign&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#733">source</a><a href="#method.add_assign-4" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#813">source</a><a href="#impl-AddAssign%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; AddAssign&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#813">source</a><a href="#method.add_assign-6" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#815">source</a><a href="#impl-AddAssign%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; AddAssign&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
addition
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#815">source</a><a href="#method.add_assign-8" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-AddAssign%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#630">source</a><a href="#impl-AddAssign%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; AddAssign&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
addition
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.add_assign" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#630">source</a><a href="#method.add_assign" class="anchor"></a><h4 class="code-header">fn <a class="fnname">add_assign</a>(&amp;mut self, _rhs: T)</h4></section></summary><div class='docblock'>Performs the <code>+=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BaseMatrix%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#10-79">source</a><a href="#impl-BaseMatrix%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.BaseMatrix.html" title="trait rulinalg::matrix::BaseMatrix">BaseMatrix</a>&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.rows" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#11-13">source</a><a href="#method.rows" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#tymethod.rows" class="fnname">rows</a>(&amp;self) -&gt; usize</h4></section></summary><div class='docblock'>Rows in the matrix.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.cols" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#14-16">source</a><a href="#method.cols" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#tymethod.cols" class="fnname">cols</a>(&amp;self) -&gt; usize</h4></section></summary><div class='docblock'>Columns in the matrix.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row_stride" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#17-19">source</a><a href="#method.row_stride" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#tymethod.row_stride" class="fnname">row_stride</a>(&amp;self) -&gt; usize</h4></section></summary><div class='docblock'>Row stride in the matrix.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.is_empty" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#20-22">source</a><a href="#method.is_empty" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.is_empty" class="fnname">is_empty</a>(&amp;self) -&gt; bool</h4></section></summary><div class='docblock'>Returns true if the matrix contais no elements</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_ptr" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#23-25">source</a><a href="#method.as_ptr" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#tymethod.as_ptr" class="fnname">as_ptr</a>(&amp;self) -&gt; *const T</h4></section></summary><div class='docblock'>Top left index of the matrix.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into_matrix" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#27-31">source</a><a href="#method.into_matrix" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.into_matrix" class="fnname">into_matrix</a>(self) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy,</span></h4></section></summary><div class='docblock'>Convert the matrix struct into a owned Matrix.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sum" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#33-37">source</a><a href="#method.sum" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.sum" class="fnname">sum</a>(&amp;self) -&gt; T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt;,</span></h4></section></summary><div class='docblock'>The sum of all elements in the matrix <a href="trait.BaseMatrix.html#method.sum">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.elemul" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#39-47">source</a><a href="#method.elemul" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.elemul" class="fnname">elemul</a>(&amp;self, m: &amp;Self) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h4></section></summary><div class='docblock'>The elementwise product of two matrices. <a href="trait.BaseMatrix.html#method.elemul">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.elediv" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#49-57">source</a><a href="#method.elediv" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.elediv" class="fnname">elediv</a>(&amp;self, m: &amp;Self) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h4></section></summary><div class='docblock'>The elementwise division of two matrices. <a href="trait.BaseMatrix.html#method.elediv">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.vcat" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#59-78">source</a><a href="#method.vcat" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.vcat" class="fnname">vcat</a>&lt;S&gt;(&amp;self, m: &amp;S) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy,<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="trait.BaseMatrix.html" title="trait rulinalg::matrix::BaseMatrix">BaseMatrix</a>&lt;T&gt;,</span></h4></section></summary><div class='docblock'>Vertically concatenates two matrices. With self on top. <a href="trait.BaseMatrix.html#method.vcat">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_slice" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#72-76">source</a><a href="#method.as_slice" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.as_slice" class="fnname">as_slice</a>(&amp;self) -&gt; <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns a <code>MatrixSlice</code> over the whole matrix. <a href="trait.BaseMatrix.html#method.as_slice">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get_unchecked" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#79-81">source</a><a href="#method.get_unchecked" class="anchor"></a><h4 class="code-header">unsafe fn <a href="trait.BaseMatrix.html#method.get_unchecked" class="fnname">get_unchecked</a>(&amp;self, index: [usize; 2]) -&gt; &amp;T</h4></section></summary><div class='docblock'>Get a reference to an element in the matrix without bounds checking.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#101-110">source</a><a href="#method.get" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.get" class="fnname">get</a>(&amp;self, index: [usize; 2]) -&gt; Option&lt;&amp;T&gt;</h4></section></summary><div class='docblock'>Get a reference to an element in the matrix. <a href="trait.BaseMatrix.html#method.get">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.col" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#133-139">source</a><a href="#method.col" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.col" class="fnname">col</a>(&amp;self, index: usize) -&gt; <a class="struct" href="struct.Column.html" title="struct rulinalg::matrix::Column">Column</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns the column of a matrix at the given index.
<code>None</code> if the index is out of bounds. <a href="trait.BaseMatrix.html#method.col">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.col_unchecked" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#158-161">source</a><a href="#method.col_unchecked" class="anchor"></a><h4 class="code-header">unsafe fn <a href="trait.BaseMatrix.html#method.col_unchecked" class="fnname">col_unchecked</a>(&amp;self, index: usize) -&gt; <a class="struct" href="struct.Column.html" title="struct rulinalg::matrix::Column">Column</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns the column of a matrix at the given
index without doing a bounds check. <a href="trait.BaseMatrix.html#method.col_unchecked">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#183-189">source</a><a href="#method.row" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.row" class="fnname">row</a>(&amp;self, index: usize) -&gt; <a class="struct" href="struct.Row.html" title="struct rulinalg::matrix::Row">Row</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns the row of a matrix at the given index. <a href="trait.BaseMatrix.html#method.row">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row_unchecked" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#207-210">source</a><a href="#method.row_unchecked" class="anchor"></a><h4 class="code-header">unsafe fn <a href="trait.BaseMatrix.html#method.row_unchecked" class="fnname">row_unchecked</a>(&amp;self, index: usize) -&gt; <a class="struct" href="struct.Row.html" title="struct rulinalg::matrix::Row">Row</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns the row of a matrix at the given index without doing unbounds checking <a href="trait.BaseMatrix.html#method.row_unchecked">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.iter" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#229-241">source</a><a href="#method.iter" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.iter" class="fnname">iter</a>&lt;'a&gt;(&amp;self) -&gt; <a class="struct" href="struct.SliceIter.html" title="struct rulinalg::matrix::SliceIter">SliceIter</a>&lt;'a, T&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.SliceIter.html" title="struct rulinalg::matrix::SliceIter">SliceIter</a>&lt;'a, T&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T&gt; Iterator for <a class="struct" href="struct.SliceIter.html" title="struct rulinalg::matrix::SliceIter">SliceIter</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = &amp;'a T;</span></code></span></span></span></span><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a,</span></h4></section></summary><div class='docblock'>Returns an iterator over the matrix data. <a href="trait.BaseMatrix.html#method.iter">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.col_iter" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#262-271">source</a><a href="#method.col_iter" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.col_iter" class="fnname">col_iter</a>(&amp;self) -&gt; <a class="struct" href="struct.Cols.html" title="struct rulinalg::matrix::Cols">Cols</a>&lt;'_, T&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.Cols.html" title="struct rulinalg::matrix::Cols">Cols</a>&lt;'a, T&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T&gt; Iterator for <a class="struct" href="struct.Cols.html" title="struct rulinalg::matrix::Cols">Cols</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = <a class="struct" href="struct.Column.html" title="struct rulinalg::matrix::Column">Column</a>&lt;'a, T&gt;;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Iterate over the columns of the matrix. <a href="trait.BaseMatrix.html#method.col_iter">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row_iter" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#292-301">source</a><a href="#method.row_iter" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.row_iter" class="fnname">row_iter</a>(&amp;self) -&gt; <a class="struct" href="struct.Rows.html" title="struct rulinalg::matrix::Rows">Rows</a>&lt;'_, T&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.Rows.html" title="struct rulinalg::matrix::Rows">Rows</a>&lt;'a, T&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T&gt; Iterator for <a class="struct" href="struct.Rows.html" title="struct rulinalg::matrix::Rows">Rows</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = <a class="struct" href="struct.Row.html" title="struct rulinalg::matrix::Row">Row</a>&lt;'a, T&gt;;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Iterate over the rows of the matrix. <a href="trait.BaseMatrix.html#method.row_iter">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.diag_iter" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#336-357">source</a><a href="#method.diag_iter" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.diag_iter" class="fnname">diag_iter</a>(&amp;self, k: <a class="enum" href="enum.DiagOffset.html" title="enum rulinalg::matrix::DiagOffset">DiagOffset</a>) -&gt; <a class="struct" href="struct.Diagonal.html" title="struct rulinalg::matrix::Diagonal">Diagonal</a>&lt;'_, T, Self&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.Diagonal.html" title="struct rulinalg::matrix::Diagonal">Diagonal</a>&lt;'a, T, M&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T, M:&nbsp;<a class="trait" href="trait.BaseMatrix.html" title="trait rulinalg::matrix::BaseMatrix">BaseMatrix</a>&lt;T&gt;&gt; Iterator for <a class="struct" href="struct.Diagonal.html" title="struct rulinalg::matrix::Diagonal">Diagonal</a>&lt;'a, T, M&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = &amp;'a T;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Iterate over diagonal entries <a href="trait.BaseMatrix.html#method.diag_iter">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.metric" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#459-464">source</a><a href="#method.metric" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.metric" class="fnname">metric</a>&lt;'a, 'b, B, M&gt;(&amp;'a self, mat: &amp;'b B, metric: M) -&gt; T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;B: 'b + <a class="trait" href="trait.BaseMatrix.html" title="trait rulinalg::matrix::BaseMatrix">BaseMatrix</a>&lt;T&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;M: <a class="trait" href="../norm/trait.MatrixMetric.html" title="trait rulinalg::norm::MatrixMetric">MatrixMetric</a>&lt;'a, 'b, T, Self, B&gt;,</span></h4></section></summary><div class='docblock'>Compute the metric distance between two matrices. <a href="trait.BaseMatrix.html#method.metric">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.diag" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#909-911">source</a><a href="#method.diag" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.diag" class="fnname">diag</a>(&amp;self) -&gt; <a class="struct" href="struct.Diagonal.html" title="struct rulinalg::matrix::Diagonal">Diagonal</a>&lt;'_, T, Self&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.Diagonal.html" title="struct rulinalg::matrix::Diagonal">Diagonal</a>&lt;'a, T, M&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T, M:&nbsp;<a class="trait" href="trait.BaseMatrix.html" title="trait rulinalg::matrix::BaseMatrix">BaseMatrix</a>&lt;T&gt;&gt; Iterator for <a class="struct" href="struct.Diagonal.html" title="struct rulinalg::matrix::Diagonal">Diagonal</a>&lt;'a, T, M&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = &amp;'a T;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Extract the diagonal of the matrix <a href="trait.BaseMatrix.html#method.diag">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.split_at" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1079-1115">source</a><a href="#method.split_at" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.split_at" class="fnname">split_at</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;mid: usize,<br>&nbsp;&nbsp;&nbsp;&nbsp;axis: <a class="enum" href="enum.Axes.html" title="enum rulinalg::matrix::Axes">Axes</a><br>) -&gt; (<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;, <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Split the matrix at the specified axis returning two <code>MatrixSlice</code>s. <a href="trait.BaseMatrix.html#method.split_at">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_slice" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1128-1144">source</a><a href="#method.sub_slice" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrix.html#method.sub_slice" class="fnname">sub_slice</a>&lt;'a&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;self,<br>&nbsp;&nbsp;&nbsp;&nbsp;start: [usize; 2],<br>&nbsp;&nbsp;&nbsp;&nbsp;rows: usize,<br>&nbsp;&nbsp;&nbsp;&nbsp;cols: usize<br>) -&gt; <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a,</span></h4></section></summary><div class='docblock'>Produce a <code>MatrixSlice</code> from an existing matrix. <a href="trait.BaseMatrix.html#method.sub_slice">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-BaseMatrixMut%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#111-116">source</a><a href="#impl-BaseMatrixMut%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; <a class="trait" href="trait.BaseMatrixMut.html" title="trait rulinalg::matrix::BaseMatrixMut">BaseMatrixMut</a>&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_mut_ptr" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/impl_base.rs.html#113-115">source</a><a href="#method.as_mut_ptr" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#tymethod.as_mut_ptr" class="fnname">as_mut_ptr</a>(&amp;mut self) -&gt; *mut T</h4></section></summary><div class="docblock"><p>Top left index of the slice.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.as_mut_slice" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1162-1169">source</a><a href="#method.as_mut_slice" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.as_mut_slice" class="fnname">as_mut_slice</a>(&amp;mut self) -&gt; <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns a <code>MatrixSliceMut</code> over the whole matrix. <a href="trait.BaseMatrixMut.html#method.as_mut_slice">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get_unchecked_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1172-1174">source</a><a href="#method.get_unchecked_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a href="trait.BaseMatrixMut.html#method.get_unchecked_mut" class="fnname">get_unchecked_mut</a>(&amp;mut self, index: [usize; 2]) -&gt; &amp;mut T</h4></section></summary><div class='docblock'>Get a mutable reference to an element in the matrix without bounds checks.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.get_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1196-1205">source</a><a href="#method.get_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.get_mut" class="fnname">get_mut</a>(&amp;mut self, index: [usize; 2]) -&gt; Option&lt;&amp;mut T&gt;</h4></section></summary><div class='docblock'>Get a mutable reference to an element in the matrix. <a href="trait.BaseMatrixMut.html#method.get_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.iter_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1229-1241">source</a><a href="#method.iter_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.iter_mut" class="fnname">iter_mut</a>&lt;'a&gt;(&amp;mut self) -&gt; <a class="struct" href="struct.SliceIterMut.html" title="struct rulinalg::matrix::SliceIterMut">SliceIterMut</a>&lt;'a, T&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.SliceIterMut.html" title="struct rulinalg::matrix::SliceIterMut">SliceIterMut</a>&lt;'a, T&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T&gt; Iterator for <a class="struct" href="struct.SliceIterMut.html" title="struct rulinalg::matrix::SliceIterMut">SliceIterMut</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = &amp;'a mut T;</span></code></span></span></span></span><span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a,</span></h4></section></summary><div class='docblock'>Returns a mutable iterator over the matrix. <a href="trait.BaseMatrixMut.html#method.iter_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.col_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1270-1276">source</a><a href="#method.col_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.col_mut" class="fnname">col_mut</a>(&amp;mut self, index: usize) -&gt; <a class="struct" href="struct.ColumnMut.html" title="struct rulinalg::matrix::ColumnMut">ColumnMut</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the column of a matrix at the given index.
<code>None</code> if the index is out of bounds. <a href="trait.BaseMatrixMut.html#method.col_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.col_unchecked_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1299-1302">source</a><a href="#method.col_unchecked_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a href="trait.BaseMatrixMut.html#method.col_unchecked_mut" class="fnname">col_unchecked_mut</a>(&amp;mut self, index: usize) -&gt; <a class="struct" href="struct.ColumnMut.html" title="struct rulinalg::matrix::ColumnMut">ColumnMut</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the column of a matrix at the given index
without doing a bounds check. <a href="trait.BaseMatrixMut.html#method.col_unchecked_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1331-1337">source</a><a href="#method.row_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.row_mut" class="fnname">row_mut</a>(&amp;mut self, index: usize) -&gt; <a class="struct" href="struct.RowMut.html" title="struct rulinalg::matrix::RowMut">RowMut</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the row of a matrix at the given index.
<code>None</code> if the index is out of bounds. <a href="trait.BaseMatrixMut.html#method.row_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row_unchecked_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1360-1363">source</a><a href="#method.row_unchecked_mut" class="anchor"></a><h4 class="code-header">unsafe fn <a href="trait.BaseMatrixMut.html#method.row_unchecked_mut" class="fnname">row_unchecked_mut</a>(&amp;mut self, index: usize) -&gt; <a class="struct" href="struct.RowMut.html" title="struct rulinalg::matrix::RowMut">RowMut</a>&lt;'_, T&gt;</h4></section></summary><div class='docblock'>Returns a mutable reference to the row of a matrix at the given index
without doing a bounds check. <a href="trait.BaseMatrixMut.html#method.row_unchecked_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.swap_rows" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1394-1417">source</a><a href="#method.swap_rows" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.swap_rows" class="fnname">swap_rows</a>(&amp;mut self, a: usize, b: usize)</h4></section></summary><div class='docblock'>Swaps two rows in a matrix. <a href="trait.BaseMatrixMut.html#method.swap_rows">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.swap_cols" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1446-1462">source</a><a href="#method.swap_cols" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.swap_cols" class="fnname">swap_cols</a>(&amp;mut self, a: usize, b: usize)</h4></section></summary><div class='docblock'>Swaps two columns in a matrix. <a href="trait.BaseMatrixMut.html#method.swap_cols">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.col_iter_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1484-1493">source</a><a href="#method.col_iter_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.col_iter_mut" class="fnname">col_iter_mut</a>(&amp;mut self) -&gt; <a class="struct" href="struct.ColsMut.html" title="struct rulinalg::matrix::ColsMut">ColsMut</a>&lt;'_, T&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.ColsMut.html" title="struct rulinalg::matrix::ColsMut">ColsMut</a>&lt;'a, T&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T&gt; Iterator for <a class="struct" href="struct.ColsMut.html" title="struct rulinalg::matrix::ColsMut">ColsMut</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = <a class="struct" href="struct.ColumnMut.html" title="struct rulinalg::matrix::ColumnMut">ColumnMut</a>&lt;'a, T&gt;;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Iterate over the mutable columns of the matrix. <a href="trait.BaseMatrixMut.html#method.col_iter_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.row_iter_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1515-1524">source</a><a href="#method.row_iter_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.row_iter_mut" class="fnname">row_iter_mut</a>(&amp;mut self) -&gt; <a class="struct" href="struct.RowsMut.html" title="struct rulinalg::matrix::RowsMut">RowsMut</a>&lt;'_, T&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.RowsMut.html" title="struct rulinalg::matrix::RowsMut">RowsMut</a>&lt;'a, T&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T&gt; Iterator for <a class="struct" href="struct.RowsMut.html" title="struct rulinalg::matrix::RowsMut">RowsMut</a>&lt;'a, T&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = <a class="struct" href="struct.RowMut.html" title="struct rulinalg::matrix::RowMut">RowMut</a>&lt;'a, T&gt;;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Iterate over the mutable rows of the matrix. <a href="trait.BaseMatrixMut.html#method.row_iter_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.diag_iter_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1562-1585">source</a><a href="#method.diag_iter_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.diag_iter_mut" class="fnname">diag_iter_mut</a>(&amp;mut self, k: <a class="enum" href="enum.DiagOffset.html" title="enum rulinalg::matrix::DiagOffset">DiagOffset</a>) -&gt; <a class="struct" href="struct.DiagonalMut.html" title="struct rulinalg::matrix::DiagonalMut">DiagonalMut</a>&lt;'_, T, Self&gt;<span class="notable-traits"><span class="notable-traits-tooltip">ⓘ<span class="notable-traits-tooltiptext"><span class="docblock"><span class="notable">Notable traits for <a class="struct" href="struct.DiagonalMut.html" title="struct rulinalg::matrix::DiagonalMut">DiagonalMut</a>&lt;'a, T, M&gt;</span><code class="content"><span class="where fmt-newline">impl&lt;'a, T, M:&nbsp;<a class="trait" href="trait.BaseMatrixMut.html" title="trait rulinalg::matrix::BaseMatrixMut">BaseMatrixMut</a>&lt;T&gt;&gt; Iterator for <a class="struct" href="struct.DiagonalMut.html" title="struct rulinalg::matrix::DiagonalMut">DiagonalMut</a>&lt;'a, T, M&gt;</span><span class="where fmt-newline"> type <a class="associatedtype">Item</a> = &amp;'a mut T;</span></code></span></span></span></span></h4></section></summary><div class='docblock'>Iterate over diagonal entries mutably <a href="trait.BaseMatrixMut.html#method.diag_iter_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.split_at_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1658-1697">source</a><a href="#method.split_at_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.split_at_mut" class="fnname">split_at_mut</a>(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;mid: usize,<br>&nbsp;&nbsp;&nbsp;&nbsp;axis: <a class="enum" href="enum.Axes.html" title="enum rulinalg::matrix::Axes">Axes</a><br>) -&gt; (<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;, <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Split the matrix at the specified axis returning two <code>MatrixSliceMut</code>s. <a href="trait.BaseMatrixMut.html#method.split_at_mut">Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_slice_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/base/mod.rs.html#1710-1730">source</a><a href="#method.sub_slice_mut" class="anchor"></a><h4 class="code-header">fn <a href="trait.BaseMatrixMut.html#method.sub_slice_mut" class="fnname">sub_slice_mut</a>&lt;'a&gt;(<br>&nbsp;&nbsp;&nbsp;&nbsp;&amp;mut self,<br>&nbsp;&nbsp;&nbsp;&nbsp;start: [usize; 2],<br>&nbsp;&nbsp;&nbsp;&nbsp;rows: usize,<br>&nbsp;&nbsp;&nbsp;&nbsp;cols: usize<br>) -&gt; <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'a,</span></h4></section></summary><div class='docblock'>Produce a <code>MatrixSliceMut</code> from an existing matrix. <a href="trait.BaseMatrixMut.html#method.sub_slice_mut">Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Clone-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-Clone-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Clone&gt; Clone for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#method.clone" class="anchor"></a><h4 class="code-header">fn <a class="fnname">clone</a>(&amp;self) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Returns a copy of the value. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_from" class="method trait-impl has-srclink"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.clone_from" class="anchor"></a><h4 class="code-header">const fn <a class="fnname">clone_from</a>(&amp;mut self, source: &amp;Self)</h4></section></summary><div class='docblock'>Performs copy-assignment from <code>source</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Debug-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-Debug-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Debug&gt; Debug for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#method.fmt-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt</a>(&amp;self, f: &amp;mut Formatter&lt;'_&gt;) -&gt; Result</h4></section></summary><div class='docblock'>Formats the value using the given formatter. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Display-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#430-496">source</a><a href="#impl-Display-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Display&gt; Display for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.fmt" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_mat.rs.html#432-495">source</a><a href="#method.fmt" class="anchor"></a><h4 class="code-header">fn <a class="fnname">fmt</a>(&amp;self, f: &amp;mut Formatter&lt;'_&gt;) -&gt; Result&lt;(), Error&gt;</h4></section></summary><div class="docblock"><p>Formats the Matrix for display.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Div%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#impl-Div%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Div&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
division
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-14" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-14" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>/</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.div-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#method.div-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">div</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>/</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Div%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#impl-Div%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Div&lt;&amp;'b T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
division
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-16" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-16" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>/</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.div-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#method.div-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">div</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>/</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Div%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#impl-Div%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Div&lt;T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
division
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-15" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-15" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>/</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.div-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#method.div-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">div</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>/</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Div%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#impl-Div%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Div&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
division
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-13" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-13" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>/</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.div" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#262">source</a><a href="#method.div" class="anchor"></a><h4 class="code-header">fn <a class="fnname">div</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>/</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-DivAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#632">source</a><a href="#impl-DivAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; DivAssign&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
division
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.div_assign-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#632">source</a><a href="#method.div_assign-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">div_assign</a>(&amp;mut self, _rhs: &amp;T)</h4></section></summary><div class='docblock'>Performs the <code>/=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-DivAssign%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#632">source</a><a href="#impl-DivAssign%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; DivAssign&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Div&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
division
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.div_assign" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#632">source</a><a href="#method.div_assign" class="anchor"></a><h4 class="code-header">fn <a class="fnname">div_assign</a>(&amp;mut self, _rhs: T)</h4></section></summary><div class='docblock'>Performs the <code>/=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#46">source</a><a href="#impl-From%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T:&nbsp;Copy&gt; From&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#46">source</a><a href="#method.from-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from</a>(slice: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#47">source</a><a href="#impl-From%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T:&nbsp;Copy&gt; From&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#47">source</a><a href="#method.from-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from</a>(slice: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-From%3CVector%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#30-34">source</a><a href="#impl-From%3CVector%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; From&lt;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/convert.rs.html#31-33">source</a><a href="#method.from" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from</a>(vector: <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;) -&gt; Self</h4></section></summary><div class='docblock'>Converts to this type from the input type.</div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-FromIterator%3C%26%27a%20%5BT%5D%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/iter.rs.html#291-332">source</a><a href="#impl-FromIterator%3C%26%27a%20%5BT%5D%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T:&nbsp;'a + Copy&gt; FromIterator&lt;&amp;'a [T]&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="docblock"><p>Creates a <code>Matrix</code> from an iterator over slices.</p>
<p>Each of the slices produced by the iterator will become a row in the matrix.</p>
<h4 id="panics-10"><a href="#panics-10">Panics</a></h4>
<p>Will panic if the iterators items do not have constant length.</p>
<h4 id="examples-18"><a href="#examples-18">Examples</a></h4>
<p>We can create a new matrix from some data.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::{Matrix, BaseMatrix};
<span class="kw">let </span>a : Matrix&lt;f64&gt; = <span class="macro">vec!</span>[<span class="number">4f64</span>; <span class="number">16</span>].chunks(<span class="number">4</span>).collect();
<span class="macro">assert_eq!</span>(a.rows(), <span class="number">4</span>);
<span class="macro">assert_eq!</span>(a.cols(), <span class="number">4</span>);</code></pre></div>
<p>We can also do more interesting things.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>rulinalg::matrix::{Matrix, BaseMatrix};
<span class="kw">let </span>a = Matrix::new(<span class="number">4</span>,<span class="number">2</span>, (<span class="number">0</span>..<span class="number">8</span>).collect::&lt;Vec&lt;usize&gt;&gt;());
<span class="comment">// Here we skip the first row and take only those
// where the first entry is less than 6.
</span><span class="kw">let </span>b = a.row_iter()
.skip(<span class="number">1</span>)
.filter(|x| x[<span class="number">0</span>] &lt; <span class="number">6</span>)
.collect::&lt;Matrix&lt;usize&gt;&gt;();
<span class="comment">// We take the middle rows
</span><span class="macro">assert_eq!</span>(b.into_vec(), <span class="macro">vec!</span>[<span class="number">2</span>,<span class="number">3</span>,<span class="number">4</span>,<span class="number">5</span>]);</code></pre></div>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_iter" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/iter.rs.html#292-331">source</a><a href="#method.from_iter" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from_iter</a>&lt;I:&nbsp;IntoIterator&lt;Item = &amp;'a [T]&gt;&gt;(iterable: I) -&gt; Self</h4></section></summary><div class='docblock'>Creates a value from an iterator. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-FromIterator%3CRow%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/iter.rs.html#381">source</a><a href="#impl-FromIterator%3CRow%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T:&nbsp;'a + Copy&gt; FromIterator&lt;<a class="struct" href="struct.Row.html" title="struct rulinalg::matrix::Row">Row</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_iter-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/iter.rs.html#381">source</a><a href="#method.from_iter-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from_iter</a>&lt;I:&nbsp;IntoIterator&lt;Item = <a class="struct" href="struct.Row.html" title="struct rulinalg::matrix::Row">Row</a>&lt;'a, T&gt;&gt;&gt;(iterable: I) -&gt; Self</h4></section></summary><div class='docblock'>Creates a value from an iterator. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-FromIterator%3CRowMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/iter.rs.html#382">source</a><a href="#impl-FromIterator%3CRowMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T:&nbsp;'a + Copy&gt; FromIterator&lt;<a class="struct" href="struct.RowMut.html" title="struct rulinalg::matrix::RowMut">RowMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from_iter-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/iter.rs.html#382">source</a><a href="#method.from_iter-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from_iter</a>&lt;I:&nbsp;IntoIterator&lt;Item = <a class="struct" href="struct.RowMut.html" title="struct rulinalg::matrix::RowMut">RowMut</a>&lt;'a, T&gt;&gt;&gt;(iterable: I) -&gt; Self</h4></section></summary><div class='docblock'>Creates a value from an iterator. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Hash-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-Hash-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Hash&gt; Hash for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.hash" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#method.hash" class="anchor"></a><h4 class="code-header">fn <a class="fnname">hash</a>&lt;__H:&nbsp;Hasher&gt;(&amp;self, state: &amp;mut __H)</h4></section></summary><div class='docblock'>Feeds this value into the given [<code>Hasher</code>]. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.hash_slice" class="method trait-impl has-srclink"><span class="since rightside" title="Stable since Rust version 1.3.0">1.3.0</span><a href="#method.hash_slice" class="anchor"></a><h4 class="code-header">fn <a class="fnname">hash_slice</a>&lt;H&gt;(data: &amp;[Self], state: &amp;mut H)<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;H: Hasher,</span></h4></section></summary><div class='docblock'>Feeds a slice of this type into the given [<code>Hasher</code>]. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Index%3C%5Busize%3B%202%5D%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#15-26">source</a><a href="#impl-Index%3C%5Busize%3B%202%5D%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Index&lt;[usize; 2]&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="docblock"><p>Indexes matrix.</p>
<p>Takes row index first then column.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = T</h4></section></summary><div class='docblock'>The returned type after indexing.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.index" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#18-25">source</a><a href="#method.index" class="anchor"></a><h4 class="code-header">fn <a class="fnname">index</a>(&amp;self, idx: [usize; 2]) -&gt; &amp;T</h4></section></summary><div class='docblock'>Performs the indexing (<code>container[index]</code>) operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-IndexMut%3C%5Busize%3B%202%5D%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#70-79">source</a><a href="#impl-IndexMut%3C%5Busize%3B%202%5D%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; IndexMut&lt;[usize; 2]&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="docblock"><p>Indexes mutable matrix.</p>
<p>Takes row index first then column.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.index_mut" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#71-78">source</a><a href="#method.index_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">index_mut</a>(&amp;mut self, idx: [usize; 2]) -&gt; &amp;mut T</h4></section></summary><div class='docblock'>Performs the mutable indexing (<code>container[index]</code>) operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-%26%27b%20PermutationMatrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#122">source</a><a href="#impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-%26%27b%20PermutationMatrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'm, T&gt; Mul&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Clone,</span></h3></section></summary><div class="docblock"><p>Left-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-86" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-86" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-31" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#122">source</a><a href="#method.mul-31" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#115-123">source</a><a href="#impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-64" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-64" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#120-122">source</a><a href="#method.mul-9" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-PermutationMatrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#122">source</a><a href="#impl-Mul%3C%26%27a%20Matrix%3CT%3E%3E-for-PermutationMatrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'm, T&gt; Mul&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Clone,</span></h3></section></summary><div class="docblock"><p>Left-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-85" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-85" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-30" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#122">source</a><a href="#method.mul-30" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27a%20PermutationMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#140-147">source</a><a href="#impl-Mul%3C%26%27a%20PermutationMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;&amp;'a <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Clone,</span></h3></section></summary><div class="docblock"><p>Right-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-88" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-88" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-33" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#143-146">source</a><a href="#method.mul-33" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: &amp;'a <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#impl-Mul%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
multiplication
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-6" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-6" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#method.mul-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27a%20Vector%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#287-295">source</a><a href="#impl-Mul%3C%26%27a%20Vector%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;&amp;'a <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Mul&lt;T, Output = T&gt; + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies matrix by vector.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-19" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-19" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#292-294">source</a><a href="#method.mul-6" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;) -&gt; <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#137-143">source</a><a href="#impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-66" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-66" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-11" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#142">source</a><a href="#method.mul-11" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-72" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-72" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-17" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-17" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-80" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-80" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-25" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-25" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-68" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-68" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-13" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-13" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-76" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-76" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-21" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-21" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20PermutationMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#199">source</a><a href="#impl-Mul%3C%26%27b%20PermutationMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'm, T&gt; Mul&lt;&amp;'b <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Clone,</span></h3></section></summary><div class="docblock"><p>Right-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-90" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-90" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-35" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#199">source</a><a href="#method.mul-35" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: &amp;'b <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#impl-Mul%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
multiplication
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-8" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-8" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#method.mul-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27b%20Vector%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#298-314">source</a><a href="#impl-Mul%3C%26%27b%20Vector%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;&amp;'b <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Mul&lt;T, Output = T&gt; + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies matrix by vector.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-20" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-20" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#303-313">source</a><a href="#method.mul-7" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, v: &amp;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;) -&gt; <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Mul&lt;&amp;'c <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-74" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-74" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-19" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-19" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Mul&lt;&amp;'c <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-82" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-82" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-27" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-27" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Mul&lt;&amp;'c <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-70" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-70" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-15" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-15" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Mul&lt;&amp;'c <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-78" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-78" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-23" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-23" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#126-134">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-65" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-65" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-10" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#131-133">source</a><a href="#method.mul-10" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-73" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-73" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-18" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-18" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-81" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-81" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-26" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-26" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20PermutationMatrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#63-70">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-%26%27b%20PermutationMatrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'b, T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Clone,</span></h3></section></summary><div class="docblock"><p>Left-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-84" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-84" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-29" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#66-69">source</a><a href="#method.mul-29" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#106-112">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T:&nbsp;Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-63" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-63" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#109-111">source</a><a href="#method.mul-8" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-71" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-71" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-16" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-79" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-79" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-24" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-24" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrix%3CT%3E%3E-for-PermutationMatrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#53-60">source</a><a href="#impl-Mul%3CMatrix%3CT%3E%3E-for-PermutationMatrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Mul&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;</h3></section></summary><div class="docblock"><p>Left-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-83" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-83" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-28" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#56-59">source</a><a href="#method.mul-28" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-69" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-69" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-14" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-14" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#impl-Mul%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-67" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-67" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-12" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#234">source</a><a href="#method.mul-12" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Mul&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-77" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-77" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-22" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-22" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#impl-Mul%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Any + Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Add&lt;T, Output = T&gt; + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies two matrices together.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-75" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-75" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-20" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mat_mul.rs.html#235">source</a><a href="#method.mul-20" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CPermutationMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#199">source</a><a href="#impl-Mul%3CPermutationMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'm, T&gt; Mul&lt;<a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Clone,</span></h3></section></summary><div class="docblock"><p>Right-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-89" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-89" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-34" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#199">source</a><a href="#method.mul-34" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CPermutationMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#130-137">source</a><a href="#impl-Mul%3CPermutationMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Mul&lt;<a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="docblock"><p>Right-multiply a matrix by a permutation matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-87" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-87" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-32" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_permutation_mul.rs.html#133-136">source</a><a href="#method.mul-32" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, rhs: <a class="struct" href="struct.PermutationMatrix.html" title="struct rulinalg::matrix::PermutationMatrix">PermutationMatrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#impl-Mul%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
multiplication
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-7" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-7" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#method.mul-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#impl-Mul%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Mul&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
multiplication
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-5" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-5" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#260">source</a><a href="#method.mul" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CVector%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#276-284">source</a><a href="#impl-Mul%3CVector%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Mul&lt;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Mul&lt;T, Output = T&gt; + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies matrix by vector.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-18" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-18" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#281-283">source</a><a href="#method.mul-5" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;) -&gt; <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Mul%3CVector%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#265-273">source</a><a href="#impl-Mul%3CVector%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Mul&lt;<a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + <a class="trait" href="../../num_traits/identities/trait.Zero.html" title="trait num_traits::identities::Zero">Zero</a> + Mul&lt;T, Output = T&gt; + Add&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Multiplies matrix by vector.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-17" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-17" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>*</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#270-272">source</a><a href="#method.mul-4" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul</a>(self, m: <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;) -&gt; <a class="struct" href="../vector/struct.Vector.html" title="struct rulinalg::vector::Vector">Vector</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>*</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-MulAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#633">source</a><a href="#impl-MulAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; MulAssign&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
multiplication
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul_assign-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#633">source</a><a href="#method.mul_assign-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul_assign</a>(&amp;mut self, _rhs: &amp;T)</h4></section></summary><div class='docblock'>Performs the <code>*=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-MulAssign%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#633">source</a><a href="#impl-MulAssign%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; MulAssign&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Mul&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
multiplication
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mul_assign" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#633">source</a><a href="#method.mul_assign" class="anchor"></a><h4 class="code-header">fn <a class="fnname">mul_assign</a>(&amp;mut self, _rhs: T)</h4></section></summary><div class='docblock'>Performs the <code>*=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Neg-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#869-883">source</a><a href="#impl-Neg-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Neg for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Neg&lt;Output = T&gt; + Copy,</span></h3></section></summary><div class="docblock"><p>Gets negative of matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-62" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-62" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.neg-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#874-882">source</a><a href="#method.neg-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">neg</a>(self) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the unary <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Neg-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#854-866">source</a><a href="#impl-Neg-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Neg for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Neg&lt;Output = T&gt; + Copy,</span></h3></section></summary><div class="docblock"><p>Gets negative of matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-61" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-61" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.neg" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#859-865">source</a><a href="#method.neg" class="anchor"></a><h4 class="code-header">fn <a class="fnname">neg</a>(self) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the unary <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-PartialEq%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-PartialEq%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;PartialEq&gt; PartialEq&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.eq" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#method.eq" class="anchor"></a><h4 class="code-header">fn <a class="fnname">eq</a>(&amp;self, other: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; bool</h4></section></summary><div class='docblock'>This method tests for <code>self</code> and <code>other</code> values to be equal, and is used
by <code>==</code>. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.ne" class="method trait-impl has-srclink"><span class="since rightside" title="Stable since Rust version 1.0.0">1.0.0</span><a href="#method.ne" class="anchor"></a><h4 class="code-header">const fn <a class="fnname">ne</a>(&amp;self, other: &amp;Rhs) -&gt; bool</h4></section></summary><div class='docblock'>This method tests for <code>!=</code>. The default implementation is almost always
sufficient, and should not be overridden without very good reason. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#impl-Sub%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between two matrices.</p>
<p>This will reuse allocated memory from <code>self</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-59" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-59" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-22" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#method.sub-22" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#impl-Sub%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
subtraction
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-10" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-10" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#method.sub-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-60" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-60" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-23" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#method.sub-23" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-39" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-39" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-6" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-47" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-47" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-14" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-14" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;&amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-43" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-43" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-10" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-10" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;&amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-51" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-51" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-18" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-18" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#impl-Sub%3C%26%27b%20T%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;&amp;'b T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
subtraction
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-12" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-12" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#method.sub-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, f: &amp;T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Sub&lt;&amp;'c <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-40" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-40" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-7" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3C%26%27c%20Matrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Sub&lt;&amp;'c <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-48" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-48" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-15" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-15" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3C%26%27c%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Sub&lt;&amp;'c <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-44" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-44" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-11" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-11" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3C%26%27c%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, 'c, T&gt; Sub&lt;&amp;'c <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-52" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-52" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-19" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-19" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between two matrices.</p>
<p>This will reuse allocated memory from <code>m</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-58" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-58" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-21" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#method.sub-21" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-38" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-38" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-5" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for &amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-46" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-46" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-13" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-13" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Sub&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between two matrices.</p>
<p>This will reuse allocated memory from <code>self</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-57" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-57" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-20" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#599">source</a><a href="#method.sub-20" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-MatrixSlice%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-37" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-37" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-4" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-45" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-45" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-12" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-12" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, m: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-42" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-42" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-9" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#impl-Sub%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-41" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-41" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#519">source</a><a href="#method.sub-8" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-%26%27b%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; Sub&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for &amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-50" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-50" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-17" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-17" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#impl-Sub%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
between <code>Matrix</code> and <code>MatrixSlice</code>.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-49" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-49" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-16" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#520">source</a><a href="#method.sub-16" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, s: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#impl-Sub%3CT%3E-for-%26%27a%20Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; Sub&lt;T&gt; for &amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
subtraction
with matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-11" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-11" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#method.sub-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Sub%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#impl-Sub%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Sub&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Scalar
subtraction
with matrix.</p>
<p>Will reuse the memory allocated for the existing matrix.</p>
</div><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Output-9" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Output-9" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Output</a> = <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>The resulting type after applying the <code>-</code> operator.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#261">source</a><a href="#method.sub" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub</a>(self, f: T) -&gt; <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h4></section></summary><div class='docblock'>Performs the <code>-</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#695">source</a><a href="#impl-SubAssign%3C%26%27a%20Matrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; SubAssign&lt;&amp;'a <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-3" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#695">source</a><a href="#method.sub_assign-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#631">source</a><a href="#impl-SubAssign%3C%26%27a%20T%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; SubAssign&lt;&amp;'a T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
subtraction
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-1" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#631">source</a><a href="#method.sub_assign-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: &amp;T)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#734">source</a><a href="#impl-SubAssign%3C%26%27b%20Matrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; SubAssign&lt;&amp;'b <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-5" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#734">source</a><a href="#method.sub_assign-5" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#814">source</a><a href="#impl-SubAssign%3C%26%27b%20MatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; SubAssign&lt;&amp;'b <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-7" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#814">source</a><a href="#method.sub_assign-7" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#816">source</a><a href="#impl-SubAssign%3C%26%27b%20MatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, 'b, T&gt; SubAssign&lt;&amp;'b <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-9" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#816">source</a><a href="#method.sub_assign-9" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: &amp;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#695">source</a><a href="#impl-SubAssign%3CMatrix%3CT%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; SubAssign&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-2" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#695">source</a><a href="#method.sub_assign-2" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#734">source</a><a href="#impl-SubAssign%3CMatrix%3CT%3E%3E-for-MatrixSliceMut%3C%27a%2C%20T%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; SubAssign&lt;<a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;&gt; for <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-4" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#734">source</a><a href="#method.sub_assign-4" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#814">source</a><a href="#impl-SubAssign%3CMatrixSlice%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; SubAssign&lt;<a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-6" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#814">source</a><a href="#method.sub_assign-6" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.MatrixSlice.html" title="struct rulinalg::matrix::MatrixSlice">MatrixSlice</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#816">source</a><a href="#impl-SubAssign%3CMatrixSliceMut%3C%27a%2C%20T%3E%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;'a, T&gt; SubAssign&lt;<a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'a, T&gt;&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs elementwise
subtraction
assignment between two matrices.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign-8" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#816">source</a><a href="#method.sub_assign-8" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: <a class="struct" href="struct.MatrixSliceMut.html" title="struct rulinalg::matrix::MatrixSliceMut">MatrixSliceMut</a>&lt;'_, T&gt;)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-SubAssign%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#631">source</a><a href="#impl-SubAssign%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; SubAssign&lt;T&gt; for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Copy + Sub&lt;T, Output = T&gt;,</span></h3></section></summary><div class="docblock"><p>Performs
subtraction
assignment between a matrix and a scalar.</p>
</div><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.sub_assign" class="method trait-impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/impl_ops.rs.html#631">source</a><a href="#method.sub_assign" class="anchor"></a><h4 class="code-header">fn <a class="fnname">sub_assign</a>(&amp;mut self, _rhs: T)</h4></section></summary><div class='docblock'>Performs the <code>-=</code> operation. <a>Read more</a></div></details></div></details><section id="impl-Eq-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-Eq-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T:&nbsp;Eq&gt; Eq for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section><section id="impl-StructuralEq-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-StructuralEq-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; StructuralEq for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section><section id="impl-StructuralPartialEq-for-Matrix%3CT%3E" class="impl has-srclink"><a class="srclink rightside" href="../../src/rulinalg/matrix/mod.rs.html#44">source</a><a href="#impl-StructuralPartialEq-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; StructuralPartialEq for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;</h3></section></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-RefUnwindSafe-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; RefUnwindSafe for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: RefUnwindSafe,</span></h3></section><section id="impl-Send-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-Send-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Send for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Send,</span></h3></section><section id="impl-Sync-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-Sync-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Sync for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Sync,</span></h3></section><section id="impl-Unpin-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-Unpin-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Unpin for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Unpin,</span></h3></section><section id="impl-UnwindSafe-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-UnwindSafe-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; UnwindSafe for <a class="struct" href="struct.Matrix.html" title="struct rulinalg::matrix::Matrix">Matrix</a>&lt;T&gt;<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: UnwindSafe,</span></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-Any-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Any for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a class="fnname">type_id</a>(&amp;self) -&gt; TypeId</h4></section></summary><div class='docblock'>Gets the <code>TypeId</code> of <code>self</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-Borrow%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; Borrow&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a class="fnname">borrow</a>(&amp;self) -&gt; &amp;T</h4></section></summary><div class='docblock'>Immutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-BorrowMut%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-BorrowMut%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; BorrowMut&lt;T&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow_mut" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span><a href="#method.borrow_mut" class="anchor"></a><h4 class="code-header">fn <a class="fnname">borrow_mut</a>(&amp;mut self) -&gt; &amp;mut T</h4></section></summary><div class='docblock'>Mutably borrows from an owned value. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-From%3CT%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-From%3CT%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; From&lt;T&gt; for T</h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.from-3" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.from-3" class="anchor"></a><h4 class="code-header">fn <a class="fnname">from</a>(t: T) -&gt; T</h4></section></summary><div class="docblock"><p>Returns the argument unchanged.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Into%3CU%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-Into%3CU%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; Into&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: From&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.into" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.into" class="anchor"></a><h4 class="code-header">fn <a class="fnname">into</a>(self) -&gt; U</h4></section></summary><div class="docblock"><p>Calls <code>U::from(self)</code>.</p>
<p>That is, this conversion is whatever the implementation of
<code>[From]&lt;T&gt; for U</code> chooses to do.</p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToOwned-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-ToOwned-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; ToOwned for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Clone,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Owned" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Owned" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Owned</a> = T</h4></section></summary><div class='docblock'>The resulting type after obtaining ownership.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_owned" class="method trait-impl has-srclink"><a href="#method.to_owned" class="anchor"></a><h4 class="code-header">fn <a class="fnname">to_owned</a>(&amp;self) -&gt; T</h4></section></summary><div class='docblock'>Creates owned data from borrowed data, usually by cloning. <a>Read more</a></div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.clone_into" class="method trait-impl has-srclink"><a href="#method.clone_into" class="anchor"></a><h4 class="code-header">fn <a class="fnname">clone_into</a>(&amp;self, target: &amp;mut T)</h4></section></summary><div class='docblock'>Uses borrowed data to replace owned data, usually by cloning. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-ToString-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-ToString-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T&gt; ToString for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: Display + ?Sized,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.to_string" class="method trait-impl has-srclink"><a href="#method.to_string" class="anchor"></a><h4 class="code-header">default fn <a class="fnname">to_string</a>(&amp;self) -&gt; String</h4></section></summary><div class='docblock'>Converts the given value to a <code>String</code>. <a>Read more</a></div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryFrom%3CU%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-TryFrom%3CU%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; TryFrom&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: Into&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error-1" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error-1" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Error</a> = Infallible</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_from" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.try_from" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_from</a>(value: U) -&gt; Result&lt;T, &lt;T as TryFrom&lt;U&gt;&gt;::Error&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-TryInto%3CU%3E-for-Matrix%3CT%3E" class="impl has-srclink"><a href="#impl-TryInto%3CU%3E-for-Matrix%3CT%3E" class="anchor"></a><h3 class="code-header">impl&lt;T, U&gt; TryInto&lt;U&gt; for T<span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: TryFrom&lt;T&gt;,</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Error" class="associatedtype trait-impl has-srclink"><a href="#associatedtype.Error" class="anchor"></a><h4 class="code-header">type <a class="associatedtype">Error</a> = &lt;U as TryFrom&lt;T&gt;&gt;::Error</h4></section></summary><div class='docblock'>The type returned in the event of a conversion error.</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.try_into-1" class="method trait-impl has-srclink"><span class="since rightside" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/88674" title="Tracking issue for const_convert">unstable</a></span><a href="#method.try_into-1" class="anchor"></a><h4 class="code-header">fn <a class="fnname">try_into</a>(self) -&gt; Result&lt;U, &lt;U as TryFrom&lt;T&gt;&gt;::Error&gt;</h4></section></summary><div class='docblock'>Performs the conversion.</div></details></div></details></div></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="rulinalg" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.66.0-nightly (5c8bff74b 2022-10-21)" ></div></body></html>