[][src]Type Definition nalgebra::base::Vector

type Vector<N, D, S> = Matrix<N, D, U1, S>;

A matrix with one column and D rows.

Methods

impl<N: Scalar + PartialOrd + Signed, D: Dim, S: Storage<N, D>> Vector<N, D, S>
[src]

Computes the index of the vector component with the largest value.

Examples:

let vec = Vector3::new(11, -15, 13);
assert_eq!(vec.imax(), 2);

Computes the index of the vector component with the largest absolute value.

Examples:

let vec = Vector3::new(11, -15, 13);
assert_eq!(vec.iamax(), 1);

Computes the index of the vector component with the smallest value.

Examples:

let vec = Vector3::new(11, -15, 13);
assert_eq!(vec.imin(), 1);

Computes the index of the vector component with the smallest absolute value.

Examples:

let vec = Vector3::new(11, -15, 13);
assert_eq!(vec.iamin(), 0);

impl<N, D: Dim, S> Vector<N, D, S> where
    N: Scalar + Zero + ClosedAdd + ClosedMul,
    S: StorageMut<N, D>, 
[src]

Computes self = a * x + b * self.

If be is zero, self is never read from.

Examples:

let mut vec1 = Vector3::new(1.0, 2.0, 3.0);
let vec2 = Vector3::new(0.1, 0.2, 0.3);
vec1.axpy(10.0, &vec2, 5.0);
assert_eq!(vec1, Vector3::new(6.0, 12.0, 18.0));

Computes self = alpha * a * x + beta * self, where a is a matrix, x a vector, and alpha, beta two scalars.

If beta is zero, self is never read.

Examples:

let mut vec1 = Vector2::new(1.0, 2.0);
let vec2 = Vector2::new(0.1, 0.2);
let mat = Matrix2::new(1.0, 2.0,
                       3.0, 4.0);
vec1.gemv(10.0, &mat, &vec2, 5.0);
assert_eq!(vec1, Vector2::new(10.0, 21.0));

Computes self = alpha * a * x + beta * self, where a is a symmetric matrix, x a vector, and alpha, beta two scalars.

If beta is zero, self is never read. If self is read, only its lower-triangular part (including the diagonal) is actually read.

Examples:

let mat = Matrix2::new(1.0, 2.0,
                       2.0, 4.0);
let mut vec1 = Vector2::new(1.0, 2.0);
let vec2 = Vector2::new(0.1, 0.2);
vec1.gemv_symm(10.0, &mat, &vec2, 5.0);
assert_eq!(vec1, Vector2::new(10.0, 20.0));


// The matrix upper-triangular elements can be garbage because it is never
// read by this method. Therefore, it is not necessary for the caller to
// fill the matrix struct upper-triangle.
let mat = Matrix2::new(1.0, 9999999.9999999,
                       2.0, 4.0);
let mut vec1 = Vector2::new(1.0, 2.0);
vec1.gemv_symm(10.0, &mat, &vec2, 5.0);
assert_eq!(vec1, Vector2::new(10.0, 20.0));

Computes self = alpha * a.transpose() * x + beta * self, where a is a matrix, x a vector, and alpha, beta two scalars.

If beta is zero, self is never read.

Examples:

let mat = Matrix2::new(1.0, 3.0,
                       2.0, 4.0);
let mut vec1 = Vector2::new(1.0, 2.0);
let vec2 = Vector2::new(0.1, 0.2);
let expected = mat.transpose() * vec2 * 10.0 + vec1 * 5.0;

vec1.gemv_tr(10.0, &mat, &vec2, 5.0);
assert_eq!(vec1, expected);

impl<N: Scalar, D: Dim, S: Storage<N, D>> Vector<N, D, S>
[src]

Gets a reference to the i-th element of this column vector without bound checking.

impl<N: Scalar, D: Dim, S: StorageMut<N, D>> Vector<N, D, S>
[src]

Gets a mutable reference to the i-th element of this column vector without bound checking.

impl<N: Scalar + Zero, D: DimAdd<U1>, S: Storage<N, D>> Vector<N, D, S>
[src]

Computes the coordinates in projective space of this vector, i.e., appends a 0 to its coordinates.

Constructs a vector from coordinates in projective space, i.e., removes a 0 at the end of self. Returns None if this last component is not zero.

impl<N: Real, S: Storage<N, U3>> Vector<N, U3, S> where
    DefaultAllocator: Allocator<N, U3>, 
[src]

Computes the matrix M such that for all vector v we have M * v == self.cross(&v).

impl<N: Scalar + Zero + One + ClosedAdd + ClosedSub + ClosedMul, D: Dim, S: Storage<N, D>> Vector<N, D, S>
[src]

Returns self * (1.0 - t) + rhs * t, i.e., the linear blend of the vectors x and y using the scalar value a.

The value for a is not restricted to the range [0, 1].

Examples:

let x = Vector3::new(1.0, 2.0, 3.0);
let y = Vector3::new(10.0, 20.0, 30.0);
assert_eq!(x.lerp(&y, 0.1), Vector3::new(1.9, 3.8, 5.7));

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.

impl<N: Scalar, D: DimName, S: Storage<N, D>> Vector<N, D, S>
[src]

Builds a new vector from components of self.