var searchIndex = {}; searchIndex["rulinalg"] = {"doc":"","items":[[0,"matrix","rulinalg","The matrix module.",null,null],[3,"Matrix","rulinalg::matrix","The `Matrix` struct.",null,null],[3,"MatrixSlice","","A `MatrixSlice`",null,null],[3,"MatrixSliceMut","","A mutable `MatrixSliceMut`",null,null],[4,"Axes","","Matrix dimensions",null,null],[13,"Row","","The row axis.",0,null],[13,"Col","","The column axis.",0,null],[11,"cholesky","","Cholesky decomposition",1,null],[11,"qr_decomp","","Compute the QR decomposition of the matrix.",1,null],[11,"upper_hessenberg","","Returns H, where H is the upper hessenberg form.",1,null],[11,"upper_hess_decomp","","Returns (U,H), where H is the upper hessenberg form\nand U is the unitary transform matrix.",1,null],[11,"eigenvalues","","Eigenvalues of a square matrix.",1,null],[11,"eigendecomp","","Eigendecomposition of a square matrix.",1,null],[11,"lup_decomp","","Computes L, U, and P for LUP decomposition.",1,null],[11,"index","","",1,null],[11,"index","","",2,null],[11,"index","","",3,null],[11,"index_mut","","",3,null],[11,"index_mut","","",1,null],[11,"mul","","",2,null],[11,"mul","","",2,null],[11,"mul","","",3,null],[11,"mul","","",3,null],[11,"div","","",2,null],[11,"div","","",2,null],[11,"div","","",3,null],[11,"div","","",3,null],[11,"add","","",2,null],[11,"add","","",2,null],[11,"add","","",3,null],[11,"add","","",3,null],[11,"sub","","",2,null],[11,"sub","","",2,null],[11,"sub","","",3,null],[11,"sub","","",3,null],[11,"add","","",1,null],[11,"add","","",1,null],[11,"mul","","",1,null],[11,"mul","","",1,null],[11,"sub","","",1,null],[11,"sub","","",1,null],[11,"div","","",1,null],[11,"div","","",1,null],[11,"mul","","",1,null],[11,"mul","","",1,null],[11,"add","","",2,null],[11,"add","","",2,null],[11,"add","","",3,null],[11,"add","","",3,null],[11,"add","","",2,null],[11,"add","","",2,null],[11,"add","","",3,null],[11,"add","","",3,null],[11,"sub","","",2,null],[11,"sub","","",2,null],[11,"sub","","",3,null],[11,"sub","","",3,null],[11,"sub","","",2,null],[11,"sub","","",2,null],[11,"sub","","",3,null],[11,"sub","","",3,null],[11,"add","","",2,null],[11,"add","","",2,null],[11,"add","","",1,null],[11,"add","","",1,null],[11,"add","","",3,null],[11,"add","","",3,null],[11,"add","","",1,null],[11,"add","","",1,null],[11,"sub","","",2,null],[11,"sub","","",2,null],[11,"sub","","",1,null],[11,"sub","","",1,null],[11,"sub","","",3,null],[11,"sub","","",3,null],[11,"sub","","",1,null],[11,"sub","","",1,null],[11,"add","","",1,null],[11,"add","","",1,null],[11,"sub","","",1,null],[11,"sub","","",1,null],[11,"add_assign","","",1,null],[11,"add_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"div_assign","","",1,null],[11,"div_assign","","",1,null],[11,"mul_assign","","",1,null],[11,"mul_assign","","",1,null],[11,"add_assign","","",3,null],[11,"add_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"div_assign","","",3,null],[11,"div_assign","","",3,null],[11,"mul_assign","","",3,null],[11,"mul_assign","","",3,null],[11,"add_assign","","",1,null],[11,"add_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"add_assign","","",3,null],[11,"add_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"add_assign","","",3,null],[11,"add_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"add_assign","","",3,null],[11,"add_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"sub_assign","","",3,null],[11,"add_assign","","",1,null],[11,"add_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"add_assign","","",1,null],[11,"add_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"sub_assign","","",1,null],[11,"neg","","",2,null],[11,"neg","","",3,null],[11,"neg","","",1,null],[11,"mul","","",1,null],[11,"mul","","",1,null],[11,"mul","","",1,null],[11,"mul","","",1,null],[11,"mul","","",2,null],[11,"mul","","",2,null],[11,"mul","","",1,null],[11,"mul","","",1,null],[11,"mul","","",3,null],[11,"mul","","",3,null],[11,"mul","","",2,null],[11,"mul","","",2,null],[11,"mul","","",2,null],[11,"mul","","",2,null],[11,"mul","","",3,null],[11,"mul","","",3,null],[11,"mul","","",3,null],[11,"mul","","",3,null],[11,"iter_rows","","Iterate over the rows of the matrix.",1,null],[11,"iter_rows_mut","","Iterate over the mutable rows of the matrix.",1,null],[11,"iter_rows","","Iterate over the rows of the matrix slice.",2,null],[11,"iter_rows","","Iterate over the rows of the mutable matrix slice.",3,null],[11,"iter_rows_mut","","Iterate over the mutable rows of the matrix.",3,null],[11,"from_iter","","",1,{"inputs":[{"name":"i"}],"output":{"name":"self"}}],[11,"into_iter","","",2,null],[11,"into_iter","","",3,null],[0,"slice","","Slices for the `Matrix` struct.",null,null],[3,"SliceIter","rulinalg::matrix::slice","Iterator for `MatrixSlice`",null,null],[3,"SliceIterMut","","Iterator for `MatrixSliceMut`.",null,null],[8,"BaseSlice","","Trait for Matrix Slices.",null,null],[10,"rows","","Rows in the slice.",4,null],[10,"cols","","Columns in the slice.",4,null],[10,"row_stride","","Row stride in the slice.",4,null],[10,"as_ptr","","Top left index of the slice.",4,null],[10,"get_unchecked","","Get a reference to a point in the slice without bounds checking.",4,null],[11,"rows","rulinalg::matrix","",2,null],[11,"cols","","",2,null],[11,"row_stride","","",2,null],[11,"as_ptr","","",2,null],[11,"get_unchecked","","",2,null],[11,"rows","","",3,null],[11,"cols","","",3,null],[11,"row_stride","","",3,null],[11,"as_ptr","","",3,null],[11,"get_unchecked","","",3,null],[11,"from_matrix","","Produce a matrix slice from a matrix",2,null],[11,"from_raw_parts","","Creates a matrix slice from raw parts.",2,null],[11,"reslice","","Produce a matrix slice from an existing matrix slice.",2,null],[11,"iter","","Returns an iterator over the matrix slice.",2,null],[11,"into_matrix","","Convert the matrix slice into a new Matrix.",2,null],[11,"from_matrix","","Produce a matrix slice from a matrix",3,null],[11,"from_raw_parts","","Creates a mutable matrix slice from raw parts.",3,null],[11,"reslice","","Produce a matrix slice from an existing matrix slice.",3,null],[11,"iter","","Returns an iterator over the matrix slice.",3,null],[11,"iter_mut","","Returns a mutable iterator over the matrix slice.",3,null],[11,"into_matrix","","Convert the matrix slice into a new Matrix.",3,null],[11,"set_to","","Sets the underlying matrix data to the target data.",3,null],[11,"fmt","rulinalg::matrix::slice","",5,null],[11,"fmt","","",6,null],[11,"next","","",5,null],[11,"next","","",6,null],[11,"clone","rulinalg::matrix","",0,null],[11,"fmt","","",0,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",2,null],[11,"fmt","","",2,null],[11,"fmt","","",3,null],[11,"new","","Constructor for Matrix struct.",1,{"inputs":[{"name":"usize"},{"name":"usize"},{"name":"u"}],"output":{"name":"matrix"}}],[11,"rows","","Returns the number of rows in the Matrix.",1,null],[11,"cols","","Returns the number of columns in the Matrix.",1,null],[11,"row_stride","","Returns the row-stride of the matrix. This is simply\nits column count.",1,null],[11,"data","","Returns a non-mutable reference to the underlying data.",1,null],[11,"mut_data","","Returns a mutable slice of the underlying data.",1,null],[11,"get_unchecked","","Get a reference to a point in the matrix without bounds checks.",1,null],[11,"get_unchecked_mut","","Get a mutable reference to a point in the matrix without bounds checks.",1,null],[11,"as_ptr","","Returns pointer to first element of underlying data.",1,null],[11,"into_vec","","Consumes the Matrix and returns the Vec of data.",1,null],[11,"split_at","","Split the matrix at the specified axis returning two `MatrixSlice`s.",1,null],[11,"split_at_mut","","Split the matrix at the specified axis returning two `MatrixSlice`s.",1,null],[11,"as_slice","","Returns a `MatrixSlice` over the whole matrix.",1,null],[11,"as_mut_slice","","Returns a mutable `MatrixSlice` over the whole matrix.",1,null],[11,"clone","","Clones the Matrix.",1,null],[11,"select_rows","","Select rows from matrix",1,null],[11,"select_cols","","Select columns from matrix",1,null],[11,"select","","Select block matrix from matrix",1,null],[11,"hcat","","Horizontally concatenates two matrices. With self on the left.",1,null],[11,"vcat","","Vertically concatenates two matrices. With self on top.",1,null],[11,"diag","","Extract the diagonal of the matrix",1,null],[11,"apply","","Applies a function to each element in the matrix.",1,null],[11,"transpose","","Tranposes the given matrix",1,null],[11,"zeros","","Constructs matrix of all zeros.",1,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"matrix"}}],[11,"from_diag","","Constructs matrix with given diagonal.",1,null],[11,"ones","","Constructs matrix of all ones.",1,{"inputs":[{"name":"usize"},{"name":"usize"}],"output":{"name":"matrix"}}],[11,"identity","","Constructs the identity matrix.",1,{"inputs":[{"name":"usize"}],"output":{"name":"matrix"}}],[11,"is_diag","","Checks if matrix is diagonal.",1,null],[11,"sum_rows","","The sum of the rows of the matrix.",1,null],[11,"sum_cols","","The sum of the columns of the matrix.",1,null],[11,"sum","","The sum of all elements in the matrix",1,null],[11,"elemul","","The elementwise product of two matrices.",1,null],[11,"elediv","","The elementwise division of two matrices.",1,null],[11,"mean","","The mean of the matrix along the specified axis.",1,null],[11,"variance","","The variance of the matrix along the specified axis.",1,null],[11,"solve_u_triangular","","Solves an upper triangular linear system.",1,null],[11,"solve_l_triangular","","Solves a lower triangular linear system.",1,null],[11,"solve","","Solves the equation `Ax = y`.",1,null],[11,"inverse","","Computes the inverse of the matrix.",1,null],[11,"det","","Computes the determinant of the matrix.",1,null],[11,"norm","","Compute euclidean norm for matrix.",1,null],[11,"norm","","Compute euclidean norm for matrix.",2,null],[11,"norm","","Compute euclidean norm for matrix.",3,null],[11,"fmt","","Formats the Matrix for display.",1,null],[0,"convert","rulinalg","The convert module.",null,null],[11,"from","rulinalg::matrix","",1,{"inputs":[{"name":"vector"}],"output":{"name":"self"}}],[11,"from","","",1,{"inputs":[{"name":"matrixslice"}],"output":{"name":"self"}}],[11,"from","","",1,{"inputs":[{"name":"matrixslicemut"}],"output":{"name":"self"}}],[0,"macros","rulinalg","Macros for the linear algebra modules.",null,null],[0,"error","","Error handling for the linalg module.",null,null],[3,"Error","rulinalg::error","An error related to the linalg module.",null,null],[4,"ErrorKind","","Types of errors produced in the linalg module.",null,null],[13,"InvalidArg","","An argument did not uphold a necessary criteria for the function.",7,null],[13,"DecompFailure","","A failure to decompose due to some property of the data.",7,null],[13,"AlgebraFailure","","A failure due to some algebraic constraints not being met.",7,null],[11,"fmt","","",8,null],[11,"fmt","","",7,null],[11,"new","","Construct a new `Error` of a particular `ErrorKind`.",8,{"inputs":[{"name":"errorkind"},{"name":"e"}],"output":{"name":"error"}}],[11,"kind","","Get the kind of this `Error`.",8,null],[11,"description","","",8,null],[11,"fmt","","",8,null],[0,"utils","rulinalg","Linear algebra utils module.",null,null],[5,"dot","rulinalg::utils","Compute dot product of two slices.",null,null],[5,"unrolled_sum","","Unrolled sum",null,null],[5,"in_place_vec_bin_op","","Vectorized binary operation applied to two slices.\nThe first argument should be a mutable slice which will\nbe modified in place to prevent new memory allocation.",null,null],[5,"vec_bin_op","","Vectorized binary operation applied to two slices.",null,null],[5,"vec_sum","","Compute vector sum of two slices.",null,null],[5,"vec_sub","","Compute vector difference two slices.",null,null],[5,"ele_mul","","Computes elementwise multiplication.",null,null],[5,"ele_div","","Computes elementwise division.",null,null],[5,"argmax","","Find argmax of slice.",null,null],[5,"argmin","","Find argmin of slice.",null,null],[5,"find","","Find index of value in slice.",null,null],[0,"vector","rulinalg","The vector module.",null,null],[3,"Vector","rulinalg::vector","The Vector struct.",null,null],[11,"eq","","",9,null],[11,"ne","","",9,null],[11,"fmt","","",9,null],[11,"new","","Constructor for Vector struct.",9,{"inputs":[{"name":"u"}],"output":{"name":"vector"}}],[11,"size","","Returns the size of the Vector.",9,null],[11,"data","","Returns a non-mutable reference to the underlying data.",9,null],[11,"mut_data","","Returns a mutable slice of the underlying data.",9,null],[11,"into_vec","","Consumes the Vector and returns the Vec of data.",9,null],[11,"clone","","Clones the Vector.",9,null],[11,"apply","","Applies a function to each element in the vector.",9,null],[11,"argmax","","Find the argmax of the Vector.",9,null],[11,"argmin","","Find the argmin of the Vector.",9,null],[11,"select","","Select elements from the Vector and form a new Vector from them.",9,null],[11,"zeros","","Constructs Vector of all zeros.",9,{"inputs":[{"name":"usize"}],"output":{"name":"vector"}}],[11,"ones","","Constructs Vector of all ones.",9,{"inputs":[{"name":"usize"}],"output":{"name":"vector"}}],[11,"dot","","Compute dot product with specified Vector.",9,null],[11,"sum","","The sum of the vector.",9,null],[11,"elemul","","The elementwise product of two vectors.",9,null],[11,"elediv","","The elementwise division of two vectors.",9,null],[11,"mean","","The mean of the vector.",9,null],[11,"variance","","The variance of the vector.",9,null],[11,"mul","","",9,null],[11,"mul","","",9,null],[11,"div","","",9,null],[11,"div","","",9,null],[11,"add","","",9,null],[11,"add","","",9,null],[11,"add","","",9,null],[11,"add","","",9,null],[11,"sub","","",9,null],[11,"sub","","",9,null],[11,"sub","","",9,null],[11,"sub","","",9,null],[11,"neg","","",9,null],[11,"index","","",9,null],[11,"norm","","Compute euclidean norm for vector.",9,null],[11,"add_assign","","",9,null],[11,"add_assign","","",9,null],[11,"sub_assign","","",9,null],[11,"sub_assign","","",9,null],[11,"div_assign","","",9,null],[11,"div_assign","","",9,null],[11,"mul_assign","","",9,null],[11,"mul_assign","","",9,null],[11,"add_assign","","",9,null],[11,"add_assign","","",9,null],[11,"sub_assign","","",9,null],[11,"sub_assign","","",9,null],[8,"Metric","rulinalg","Trait for linear algebra metrics.",null,null],[10,"norm","","Computes the euclidean norm.",10,null]],"paths":[[4,"Axes"],[3,"Matrix"],[3,"MatrixSlice"],[3,"MatrixSliceMut"],[8,"BaseSlice"],[3,"SliceIter"],[3,"SliceIterMut"],[4,"ErrorKind"],[3,"Error"],[3,"Vector"],[8,"Metric"]]}; initSearch(searchIndex);