public static Vector <T> Take <T>(this Vector <T> vector, params int[] indices) where T : struct, IEquatable <T>, IFormattable { var result = CreateVector.SameAs <T, T>(vector, indices.Length); for (int i = 0; i < indices.Length; i++) { result[i] = vector[indices[i]]; } return(result); }