def index_of_max(size=nil,&block)
          vals = max(size, &block)
          dv   = reject_values(*Daru::MISSING_VALUES)
          vals.is_a?(Array) ? (vals.map { |x| dv.index_of(x) }) : dv.index_of(vals)
        end
Returns the index of the maximum value(s) present in the vector, with an optional
comparator block.

@param size [Integer] Number of maximum indices to return. Defaults to nil.

@example

dv = Daru::Vector.new (["Tyrion", "Daenerys", "Jon Starkgaryen"]), index: Daru::Index.new([:t, :d, :j])
#=>
#   #<Daru::Vector(3)>
#       t   Tyrion
#       d   Daenerys
#       j   Jon Starkgaryen

dv.index_of_max
#=> :t

dv.index_of_max(2) { |a,b| a.size <=> b.size }
#=> [:j, :d]