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.

Returns:

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.

Returns:

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.

Returns:

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.

Returns:

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.

Returns:

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.

Returns:

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.

Returns:

(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.

Returns:

(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.

Returns:

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.

Returns:

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

Returns:

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.

Returns:

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.

Returns:

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.

Returns:

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

Returns:

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

Returns:

(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

Returns:

(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

Returns:

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.

Returns:

idx: af.Array

Linear indices for non zero elements.