# arrayfire.algorithm module¶

Vector algorithms (sum, min, sort, etc).

arrayfire.algorithm.accum(a, dim=0)[source]

Cumulative sum of an array along a specified dimension

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: 0 Dimension along which the cumulative sum is required. out: af.Array array of same size as a containing the cumulative sum along dim.
arrayfire.algorithm.all_true(a, dim=None)[source]

Check if all the elements along a specified dimension are true.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the product is required. out: af.Array or scalar number Af.array containing True if all elements in a along the dimension are True. If dim is None, output is True if a does not have any zeros, else False.
arrayfire.algorithm.any_true(a, dim=None)[source]

Check if any the elements along a specified dimension are true.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the product is required. out: af.Array or scalar number Af.array containing True if any elements in a along the dimension are True. If dim is None, output is True if a does not have any zeros, else False.
arrayfire.algorithm.count(a, dim=None)[source]

Count the number of non zero elements in an array along a specified dimension.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the the non zero elements are to be counted. out: af.Array or scalar number The count of non zero elements in a along dim. If dim is None, the total number of non zero elements in a.
arrayfire.algorithm.diff1(a, dim=0)[source]

Find the first order differences along specified dimensions

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: 0 Dimension along which the differences are required. out: af.Array Array whose length along dim is 1 less than that of a.
arrayfire.algorithm.diff2(a, dim=0)[source]

Find the second order differences along specified dimensions

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: 0 Dimension along which the differences are required. out: af.Array Array whose length along dim is 2 less than that of a.
arrayfire.algorithm.imax(a, dim=None)[source]

Find the value and location of the maximum value along a specified dimension

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the maximum value is required. (val, idx): tuple of af.Array or scalars val contains the maximum value of a along dim. idx contains the location of where val occurs in a along dim. If dim is None, val and idx value and location of global maximum.
arrayfire.algorithm.imin(a, dim=None)[source]

Find the value and location of the minimum value along a specified dimension

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the minimum value is required. (val, idx): tuple of af.Array or scalars val contains the minimum value of a along dim. idx contains the location of where val occurs in a along dim. If dim is None, val and idx value and location of global minimum.
arrayfire.algorithm.max(a, dim=None)[source]

Find the maximum value of all the elements along a specified dimension.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the maximum value is required. out: af.Array or scalar number The maximum value of all elements in a along dimension dim. If dim is None, maximum value of the entire Array is returned.
arrayfire.algorithm.min(a, dim=None)[source]

Find the minimum value of all the elements along a specified dimension.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the minimum value is required. out: af.Array or scalar number The minimum value of all elements in a along dimension dim. If dim is None, minimum value of the entire Array is returned.
arrayfire.algorithm.product(a, dim=None, nan_val=None)[source]

Calculate the product of all the elements along a specified dimension.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the product is required. nan_val: optional: scalar. default: None The value that replaces NaN in the array out: af.Array or scalar number The product of all elements in a along dimension dim. If dim is None, product of the entire Array is returned.
arrayfire.algorithm.set_intersect(a, b, is_unique=False)[source]

Find the intersect of two arrays.

Parameters: a : af.Array A 1D arrayfire array. b : af.Array A 1D arrayfire array. is_unique: optional: bool. default: False Specifies if the both inputs contain unique elements. out: af.Array an array values after performing the intersect of a and b.
arrayfire.algorithm.set_union(a, b, is_unique=False)[source]

Find the union of two arrays.

Parameters: a : af.Array A 1D arrayfire array. b : af.Array A 1D arrayfire array. is_unique: optional: bool. default: False Specifies if the both inputs contain unique elements. out: af.Array an array values after performing the union of a and b.
arrayfire.algorithm.set_unique(a, is_sorted=False)[source]

Find the unique elements of an array.

Parameters: a : af.Array A 1D arrayfire array. is_sorted: optional: bool. default: False Specifies if the input is pre-sorted. out: af.Array an array containing the unique values from a
arrayfire.algorithm.sort(a, dim=0, is_ascending=True)[source]

Sort the array along a specified dimension

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: 0 Dimension along which sort is to be performed. is_ascending: optional: bool. default: True Specifies the direction of the sort out: af.Array array containing the sorted values
arrayfire.algorithm.sort_by_key(iv, ik, dim=0, is_ascending=True)[source]

Sort an array based on specified keys

Parameters: iv : af.Array An Array containing the values ik : af.Array An Array containing the keys dim: optional: int. default: 0 Dimension along which sort is to be performed. is_ascending: optional: bool. default: True Specifies the direction of the sort (ov, ok): tuple of af.Array ov contains the values from iv after sorting them based on ik ok contains the values from ik in sorted order
arrayfire.algorithm.sort_index(a, dim=0, is_ascending=True)[source]

Sort the array along a specified dimension and get the indices.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: 0 Dimension along which sort is to be performed. is_ascending: optional: bool. default: True Specifies the direction of the sort (val, idx): tuple of af.Array val is an af.Array containing the sorted values. idx is an af.Array containing the original indices of val in a.
arrayfire.algorithm.sum(a, dim=None, nan_val=None)[source]

Calculate the sum of all the elements along a specified dimension.

Parameters: a : af.Array Multi dimensional arrayfire array. dim: optional: int. default: None Dimension along which the sum is required. nan_val: optional: scalar. default: None The value that replaces NaN in the array out: af.Array or scalar number The sum of all elements in a along dimension dim. If dim is None, sum of the entire Array is returned.
arrayfire.algorithm.where(a)[source]

Find the indices of non zero elements

Parameters: a : af.Array Multi dimensional arrayfire array. idx: af.Array Linear indices for non zero elements.