/// <summary> /// Create a new dense vector and initialize each value using the provided value. /// </summary> public static Vector <T> Dense <T>(int length, T value) where T : struct, IEquatable <T>, IFormattable { VectorBuilder <T> v_builder = BuilderInstance <T> .Vector; return(v_builder.Dense(length, value)); }
/// <summary> /// Create a new dense vector and initialize each value using the provided init function. /// </summary> public static Vector <T> Dense <T>(int length, Func <int, T> init) where T : struct, IEquatable <T>, IFormattable { VectorBuilder <T> v_builder = BuilderInstance <T> .Vector; return(v_builder.Dense(length, init)); }
/// <summary> /// Create a dense vector of T that is directly bound to the specified array. /// </summary> public static Vector <T> Dense <T>(T[] array) where T : struct, IEquatable <T>, IFormattable { VectorBuilder <T> v_builder = BuilderInstance <T> .Vector; return(v_builder.Dense(array)); }
/// <summary> /// Create a vector of the same kind with the provided dimension. /// </summary> /// <param name="size">The size of the vector.</param> /// <remarks>Creates a vector of the same type as the current matrix.</remarks> public Vector <T> CreateVector(int size) { return(Storage.IsDense ? Build.Dense(size) : Build.Sparse(size)); }