/// <summary>
        /// Returns True if two vectors contain the same entry values.
        /// </summary>
        public bool Equals(Vector other)
        {
            if (other == null)
            {
                return(false);
            }

            return(VectorFunctions.Equals(this.InnerArray, other.InnerArray));
        }
 /// <summary>
 /// Creates a deep copy of the vector.
 /// </summary>
 public virtual Vector CreateCopy()
 {
     return(new Vector(VectorFunctions.Clone(this.InnerArray)));
 }
示例#3
0
 /// <summary>
 /// Returns the projection of current vector onto another vector.
 /// </summary>
 public virtual Vector Projection(double[] other)
 {
     return(new Vector(VectorFunctions.Projection(this.InnerArray, other)));
 }
示例#4
0
 /// <summary>
 /// Returns the projection factor of current vector onto another vector.
 /// </summary>
 public virtual double ProjectionFactor(double[] other)
 {
     return(VectorFunctions.ProjectionFactor(this.InnerArray, other));
 }
示例#5
0
 /// <summary>
 /// Subtracts another vector (right).
 /// </summary>
 public virtual Vector Subtract(double[] vector)
 {
     return(new Vector(VectorFunctions.Subtract(this.InnerArray, vector)));
 }
示例#6
0
 /// <summary>
 /// Adds another vector (right).
 /// </summary>
 public virtual Vector Add(double[] vector)
 {
     return(new Vector(VectorFunctions.Add(this.InnerArray, vector)));
 }
 /// <summary>
 /// Cross product of current vector with another vector.
 /// </summary>
 public virtual Vector CrossProduct(double[] other)
 {
     return(new Linears.Vector(VectorFunctions.CrossProduct(this.InnerArray, other)));
 }
示例#8
0
 /// <summary>
 /// Generates random vector of n-dimensions where entries range from 0 to the specified max value.
 /// </summary>
 public static Vector GenerateRandomVector(int dimension, double maxValue)
 {
     return(new Vector(VectorFunctions.GenerateRandomVector(dimension, maxValue)));
 }
 /// <summary>
 /// Dot product of current vector and another vector.
 /// </summary>
 public virtual double DotProduct(double[] other)
 {
     return(VectorFunctions.DotProduct(this.InnerArray, other));
 }
 /// <summary>
 /// Rounds vector entries to the nearest integeral value.
 /// </summary>
 public virtual Vector Round(int decimals)
 {
     return(new Vector(VectorFunctions.Round(this.InnerArray, decimals)));
 }
 public override string ToString()
 {
     return(VectorFunctions.ToString(this.InnerArray));
 }
 /// <summary>
 /// Normalizes vector.
 /// </summary>
 public virtual Vector ToUnitVector()
 {
     return(new Vector(VectorFunctions.ToUnitVector(this.InnerArray)));
 }
 /// <summary>
 /// Calculates magnitude/length of vector.
 /// </summary>
 public virtual double GetMagnitude()
 {
     return(VectorFunctions.GetMagnitude(this.InnerArray));
 }
示例#14
0
 /// <summary>
 /// Converts vector to matrix.
 /// </summary>
 public virtual Matrix AsMatrix()
 {
     return(new Linears.Matrix(VectorFunctions.ToMatrix(this.InnerArray)));
 }
 /// <summary>
 /// Multiplies/scales vector by a scalar input.
 /// </summary>
 public virtual Vector Scale(double scalar)
 {
     return(new Linears.Vector(VectorFunctions.Scale(scalar, this.InnerArray)));
 }
 /// <summary>
 /// Returns angle in radians / degrees between two vectors.
 /// </summary>
 public virtual double AngleBetween(double[] other, AngleUnit unit)
 {
     return(VectorFunctions.AngleBetween(this.InnerArray, other, unit));
 }
示例#17
0
 /// <summary>
 /// Converts 1 column / row matrix to vector.
 /// </summary>
 public static Vector FromMatrix(double[,] matrix)
 {
     return(new Vector(VectorFunctions.ToVector(matrix)));
 }