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
aaf.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.allTrueByKey(keys, vals, dim=- 1)[source]

Calculate if all elements are true along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which the all true check will occur.

Returns
keys: af.Array or scalar number

The reduced keys of all true check in vals along dimension dim.

values: af.Array or scalar number

Booleans denoting if all elements are true in vals along dimension dim according to keys

arrayfire.algorithm.all_true(a, dim=None)[source]

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

Parameters
aaf.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.anyTrueByKey(keys, vals, dim=- 1)[source]

Calculate if any elements are true along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which the any true check will occur.

Returns
keys: af.Array or scalar number

The reduced keys of any true check in vals along dimension dim.

values: af.Array or scalar number

Booleans denoting if any elements are true in vals along dimension dim according to keys.

arrayfire.algorithm.any_true(a, dim=None)[source]

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

Parameters
aaf.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
aaf.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.countByKey(keys, vals, dim=- 1)[source]

Counts non-zero elements along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which to count elements.

Returns
keys: af.Array or scalar number

The reduced keys of count in vals along dimension dim.

values: af.Array or scalar number

Count of non-zero elements in vals along dimension dim according to keys.

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

Find the first order differences along specified dimensions

Parameters
aaf.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
aaf.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
aaf.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
aaf.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
aaf.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.maxByKey(keys, vals, dim=- 1)[source]

Calculate the max of elements along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which the max will occur.

Returns
keys: af.Array or scalar number

The reduced keys of all elements in vals along dimension dim.

values: af.Array or scalar number

The max of all elements in vals along dimension dim according to keys.

arrayfire.algorithm.min(a, dim=None)[source]

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

Parameters
aaf.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.minByKey(keys, vals, dim=- 1)[source]

Calculate the min of elements along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which the min will occur.

Returns
keys: af.Array or scalar number

The reduced keys of all elements in vals along dimension dim.

values: af.Array or scalar number

The min of all elements in vals along dimension dim according to keys

arrayfire.algorithm.product(a, dim=None, nan_val=None)[source]

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

Parameters
aaf.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.productByKey(keys, vals, dim=- 1, nan_val=None)[source]

Calculate the product of elements along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which the product will occur.

nan_val: optional: scalar. default: None

The value that replaces NaN in the array

Returns
keys: af.Array or scalar number

The reduced keys of all elements in vals along dimension dim.

values: af.Array or scalar number

The product of all elements in vals along dimension dim according to keys

arrayfire.algorithm.scan(a, dim=0, op=<BINARYOP.ADD: 0>, inclusive_scan=True)[source]

Generalized scan of an array.

Parameters
aaf.Array

Multi dimensional arrayfire array.

dimoptional: int. default: 0

Dimension along which the scan is performed.

opoptional: af.BINARYOP. default: af.BINARYOP.ADD.

Binary option the scan algorithm uses. Can be one of: - af.BINARYOP.ADD - af.BINARYOP.MUL - af.BINARYOP.MIN - af.BINARYOP.MAX

inclusive_scan: optional: bool. default: True

Specifies if the scan is inclusive

Returns
outaf.Array
  • will contain scan of input.

arrayfire.algorithm.scan_by_key(key, a, dim=0, op=<BINARYOP.ADD: 0>, inclusive_scan=True)[source]

Generalized scan by key of an array.

Parameters
keyaf.Array

key array.

aaf.Array

Multi dimensional arrayfire array.

dimoptional: int. default: 0

Dimension along which the scan is performed.

opoptional: af.BINARYOP. default: af.BINARYOP.ADD.

Binary option the scan algorithm uses. Can be one of: - af.BINARYOP.ADD - af.BINARYOP.MUL - af.BINARYOP.MIN - af.BINARYOP.MAX

inclusive_scan: optional: bool. default: True

Specifies if the scan is inclusive

Returns
outaf.Array
  • will contain scan of input.

arrayfire.algorithm.set_intersect(a, b, is_unique=False)[source]

Find the intersect of two arrays.

Parameters
aaf.Array

A 1D arrayfire array.

baf.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
aaf.Array

A 1D arrayfire array.

baf.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
aaf.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
aaf.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(ik, iv, dim=0, is_ascending=True)[source]

Sort an array based on specified keys

Parameters
ikaf.Array

An Array containing the keys

ivaf.Array

An Array containing the values

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
(ok, ov): tuple of af.Array

ok contains the values from ik in sorted order ov contains the values from iv after sorting them based on ik

arrayfire.algorithm.sort_index(a, dim=0, is_ascending=True)[source]

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

Parameters
aaf.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
aaf.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.sumByKey(keys, vals, dim=- 1, nan_val=None)[source]

Calculate the sum of elements along a specified dimension according to a key.

Parameters
keysaf.Array

One dimensional arrayfire array with reduction keys.

valsaf.Array

Multi dimensional arrayfire array that will be reduced.

dim: optional: int. default: -1

Dimension along which the sum will occur.

nan_val: optional: scalar. default: None

The value that replaces NaN in the array

Returns
keys: af.Array or scalar number

The reduced keys of all elements in vals along dimension dim.

values: af.Array or scalar number

The sum of all elements in vals along dimension dim according to keys

arrayfire.algorithm.where(a)[source]

Find the indices of non zero elements

Parameters
aaf.Array

Multi dimensional arrayfire array.

Returns
idx: af.Array

Linear indices for non zero elements.