selectperm!
selectperm!(ix, v, k, [alg=
Like selectperm, but accepts a preallocated index vector ix. If initialized is false (the default), ix is initialized to contain the values 1:length(ix).
Examples
The selectperm! function in Julia is used to generate a permutation of a given collection based on specific criteria. It is similar to the selectperm function, but instead of returning a new permutation, it modifies the preallocated index vector ix in place.
julia> v = [10, 5, 20, 15, 30];
julia> ix = collect(1:length(v));
julia> selectperm!(ix, v, 3)
5-element Array{Int64,1}:
2
1
4
3
5
In this example, the selectperm! function generates a permutation of the index vector ix based on the values in v such that the resulting permutation represents the indices of the top 3 elements in descending order. The resulting modified ix vector is [2, 1, 4, 3, 5].
The optional parameters that can be passed to selectperm! are:
alg: Specifies the algorithm to use for the permutation. Default is<algorithm>.by: Optional transformation function to apply to the elements of the collection before comparing them.lt: Optional comparison function to use for sorting the elements.rev: Specifies whether the permutation should be in reverse order. Default isfalse.initialized: Specifies whether the index vectorixis preinitialized. Default isfalse.
Example with optional parameters:
julia> v = [7, 2, 5, 9, 3];
julia> ix = collect(1:length(v));
julia> selectperm!(ix, v, 2, by = x -> x^2, rev = true)
5-element Array{Int64,1}:
4
3
1
5
2
In this example, the selectperm! function generates a permutation of the index vector ix based on the squared values of v in descending order. The resulting modified ix vector is [4, 3, 1, 5, 2].
See Also
complement, complement!, intersect, intersect!, issubset, selectperm, selectperm!, Set, setdiff, setdiff!, symdiff, union, union!,User Contributed Notes
Add a Note
The format of note supported is markdown, use triple backtick to start and end a code block.