Struct rusty_machine::linalg::Vector
[−]
pub struct Vector<T> { /* fields omitted */ }The Vector struct.
Can be instantiated with any type.
Methods
impl<T> Vector<T>
fn new<U>(data: U) -> Vector<T> where U: Into<Vec<T>>
Constructor for Vector struct.
Requires the vector data.
Examples
use rulinalg::vector::Vector; let vec = Vector::new(vec![1.0,2.0,3.0,4.0]);Run
fn size(&self) -> usize
Returns the size of the Vector.
fn data(&self) -> &Vec<T>
Returns a non-mutable reference to the underlying data.
fn mut_data(&mut self) -> &mut [T]
Returns a mutable slice of the underlying data.
fn into_vec(self) -> Vec<T>
Consumes the Vector and returns the Vec of data.
fn iter(&self) -> Iter<T>
Returns an iterator over the Vector's data.
fn iter_mut(&mut self) -> IterMut<T>
Returns an iterator over mutable references to the Vector's data.
impl<T> Vector<T> where T: Copy
impl<T> Vector<T> where T: Copy + PartialOrd<T>
fn argmax(&self) -> (usize, T)
Find the argmax of the Vector.
Returns the index of the largest value in the vector.
Examples
use rulinalg::vector::Vector; let a = Vector::new(vec![1.0,2.0,0.0,5.0]); let b = a.argmax(); assert_eq!(b.0, 3); assert_eq!(b.1, 5.0);Run
fn argmin(&self) -> (usize, T)
Find the argmin of the Vector.
Returns the index of the smallest value in the vector.
Examples
use rulinalg::vector::Vector; let a = Vector::new(vec![1.0,2.0,0.0,5.0]); let b = a.argmin(); assert_eq!(b.0, 2); assert_eq!(b.1, 0.0);Run
fn select(&self, idxs: &[usize]) -> Vector<T>
impl<T> Vector<T> where T: Clone + Zero
impl<T> Vector<T> where T: Clone + One
impl<T> Vector<T> where T: Add<T, Output=T> + Mul<T, Output=T> + Zero + Copy
impl<T> Vector<T> where T: Copy + Add<T, Output=T> + Zero
fn sum(&self) -> T
impl<T> Vector<T> where T: Copy + Mul<T, Output=T>
impl<T> Vector<T> where T: Copy + Div<T, Output=T>
impl<T> Vector<T> where T: Float + FromPrimitive
fn mean(&self) -> T
The mean of the vector.
Returns the arithmetic mean of the vector.
Examples
use rulinalg::vector::Vector; let a = Vector::<f32>::new(vec![1.0,2.0,3.0,4.0]); let c = a.mean(); assert_eq!(c, 2.5);Run
fn variance(&self) -> T
Trait Implementations
impl<T> Add<T> for Vector<T> where T: Copy + Add<T, Output=T>
Adds scalar to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, f: T) -> Vector<T>
The method for the + operator
impl<'a, T> Add<T> for &'a Vector<T> where T: Copy + Add<T, Output=T>
Adds scalar to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, f: T) -> Vector<T>
The method for the + operator
impl<'a, T> Add<&'a T> for Vector<T> where T: Copy + Add<T, Output=T>
Adds scalar to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, f: &T) -> Vector<T>
The method for the + operator
impl<'a, 'b, T> Add<&'b T> for &'a Vector<T> where T: Copy + Add<T, Output=T>
Adds scalar to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, f: &T) -> Vector<T>
The method for the + operator
impl<T> Add<Vector<T>> for Vector<T> where T: Copy + Add<T, Output=T>
Adds vector to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, v: Vector<T>) -> Vector<T>
The method for the + operator
impl<'a, T> Add<Vector<T>> for &'a Vector<T> where T: Copy + Add<T, Output=T>
Adds vector to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, v: Vector<T>) -> Vector<T>
The method for the + operator
impl<'a, T> Add<&'a Vector<T>> for Vector<T> where T: Copy + Add<T, Output=T>
Adds vector to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, v: &Vector<T>) -> Vector<T>
The method for the + operator
impl<'a, 'b, T> Add<&'b Vector<T>> for &'a Vector<T> where T: Copy + Add<T, Output=T>
Adds vector to vector.
type Output = Vector<T>
The resulting type after applying the + operator
fn add(self, v: &Vector<T>) -> Vector<T>
The method for the + operator
impl<T> Display for Vector<T> where T: Display
impl<T> PartialEq<Vector<T>> for Vector<T> where T: PartialEq<T>
fn eq(&self, __arg_0: &Vector<T>) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Vector<T>) -> bool
This method tests for !=.
impl<T> Sub<T> for Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts scalar from vector.
impl<'a, T> Sub<T> for &'a Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts scalar from vector.
impl<'a, T> Sub<&'a T> for Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts scalar from vector.
impl<'a, 'b, T> Sub<&'b T> for &'a Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts scalar from vector.
impl<T> Sub<Vector<T>> for Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts vector from vector.
impl<'a, T> Sub<Vector<T>> for &'a Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts vector from vector.
impl<'a, T> Sub<&'a Vector<T>> for Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts vector from vector.
impl<'a, 'b, T> Sub<&'b Vector<T>> for &'a Vector<T> where T: Copy + Sub<T, Output=T>
Subtracts vector from vector.
impl<T> Div<T> for Vector<T> where T: Copy + Div<T, Output=T> + PartialEq<T> + Zero
Divides vector by scalar.
impl<'a, T> Div<T> for &'a Vector<T> where T: Copy + Div<T, Output=T> + PartialEq<T> + Zero
Divides vector by scalar.
impl<'a, T> Div<&'a T> for Vector<T> where T: Copy + Div<T, Output=T> + PartialEq<T> + Zero
Divides vector by scalar.
impl<'a, 'b, T> Div<&'b T> for &'a Vector<T> where T: Copy + Div<T, Output=T> + PartialEq<T> + Zero
Divides vector by scalar.
impl<T> Neg for Vector<T> where T: Copy + Neg<Output=T>
Gets negative of vector.
impl<'a, T> Neg for &'a Vector<T> where T: Copy + Neg<Output=T>
Gets negative of vector.
impl<T> IntoIterator for Vector<T>
impl<'a, T> IntoIterator for &'a Vector<T>
impl<T> Clone for Vector<T> where T: Clone
fn clone(&self) -> Vector<T>
Clones the Vector.
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more
impl<T> Mul<T> for Vector<T> where T: Copy + Mul<T, Output=T>
Multiplies vector by scalar.
type Output = Vector<T>
The resulting type after applying the * operator
fn mul(self, f: T) -> Vector<T>
The method for the * operator
impl<'a, T> Mul<T> for &'a Vector<T> where T: Copy + Mul<T, Output=T>
Multiplies vector by scalar.
type Output = Vector<T>
The resulting type after applying the * operator
fn mul(self, f: T) -> Vector<T>
The method for the * operator
impl<'a, T> Mul<&'a T> for Vector<T> where T: Copy + Mul<T, Output=T>
Multiplies vector by scalar.
type Output = Vector<T>
The resulting type after applying the * operator
fn mul(self, f: &T) -> Vector<T>
The method for the * operator
impl<'a, 'b, T> Mul<&'b T> for &'a Vector<T> where T: Copy + Mul<T, Output=T>
Multiplies vector by scalar.
type Output = Vector<T>
The resulting type after applying the * operator
fn mul(self, f: &T) -> Vector<T>
The method for the * operator
impl<T> Into<Vec<T>> for Vector<T>
impl<T> SubAssign<T> for Vector<T> where T: Copy + Sub<T, Output=T>
Performs subtraction assignment between a vector and a scalar.
fn sub_assign(&mut self, _rhs: T)
impl<'a, T> SubAssign<&'a T> for Vector<T> where T: Copy + Sub<T, Output=T>
Performs subtraction assignment between a vector and a scalar.
fn sub_assign(&mut self, _rhs: &T)
impl<T> SubAssign<Vector<T>> for Vector<T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction assignment between two vectors.
fn sub_assign(&mut self, _rhs: Vector<T>)
impl<'a, T> SubAssign<&'a Vector<T>> for Vector<T> where T: Copy + Sub<T, Output=T>
Performs elementwise subtraction assignment between two vectors.
fn sub_assign(&mut self, _rhs: &Vector<T>)
impl<T> Index<usize> for Vector<T>
Indexes vector.
impl<T> AddAssign<T> for Vector<T> where T: Copy + Add<T, Output=T>
Performs addition assignment between a vector and a scalar.
fn add_assign(&mut self, _rhs: T)
impl<'a, T> AddAssign<&'a T> for Vector<T> where T: Copy + Add<T, Output=T>
Performs addition assignment between a vector and a scalar.
fn add_assign(&mut self, _rhs: &T)
impl<T> AddAssign<Vector<T>> for Vector<T> where T: Copy + Add<T, Output=T>
Performs elementwise addition assignment between two vectors.
fn add_assign(&mut self, _rhs: Vector<T>)
impl<'a, T> AddAssign<&'a Vector<T>> for Vector<T> where T: Copy + Add<T, Output=T>
Performs elementwise addition assignment between two vectors.
fn add_assign(&mut self, _rhs: &Vector<T>)
impl<T> DivAssign<T> for Vector<T> where T: Copy + Div<T, Output=T>
Performs division assignment between a vector and a scalar.
fn div_assign(&mut self, _rhs: T)
impl<'a, T> DivAssign<&'a T> for Vector<T> where T: Copy + Div<T, Output=T>
Performs division assignment between a vector and a scalar.
fn div_assign(&mut self, _rhs: &T)
impl<T> Hash for Vector<T> where T: Hash
impl<T> From<Vec<T>> for Vector<T>
impl<'a, T> From<&'a [T]> for Vector<T> where T: Clone
impl<T> MulAssign<T> for Vector<T> where T: Copy + Mul<T, Output=T>
Performs multiplication assignment between a vector and a scalar.
fn mul_assign(&mut self, _rhs: T)
impl<'a, T> MulAssign<&'a T> for Vector<T> where T: Copy + Mul<T, Output=T>
Performs multiplication assignment between a vector and a scalar.
fn mul_assign(&mut self, _rhs: &T)
impl<T> Eq for Vector<T> where T: Eq
impl<T> IndexMut<usize> for Vector<T>
Indexes mutable vector.