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 asa containing the cumulative sum alongdim.

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 invals along dimensiondim.

values: af.Array or scalar number

Booleans denoting if all elements are true invals along dimensiondim 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 ina along the dimension are True.Ifdim isNone, output is True ifa 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 invals along dimensiondim.

values: af.Array or scalar number

Booleans denoting if any elements are true invals along dimensiondim 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 ina along the dimension are True.Ifdim isNone, output is True ifa 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 ina alongdim.Ifdim isNone, the total number of non zero elements ina.

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 invals along dimensiondim.

values: af.Array or scalar number

Count of non-zero elements invals along dimensiondim 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 alongdim is 1 less than that ofa.

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 alongdim is 2 less than that ofa.

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 ofa alongdim.idx contains the location of whereval occurs ina alongdim.Ifdim isNone,val andidx 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 ofa alongdim.idx contains the location of whereval occurs ina alongdim.Ifdim isNone,val andidx 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 ina along dimensiondim.Ifdim isNone, 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 invals along dimensiondim.

values: af.Array or scalar number

The max of all elements invals along dimensiondim 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 ina along dimensiondim.Ifdim isNone, 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 invals along dimensiondim.

values: af.Array or scalar number

The min of all elements invals along dimensiondim 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 ina along dimensiondim.Ifdim isNone, 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 invals along dimensiondim.

values: af.Array or scalar number

The product of all elements invals along dimensiondim 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 ofa andb.

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 ofa andb.

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 froma

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 fromik in sorted orderov contains the values fromiv after sorting them based onik

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 ofval ina.

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 ina along dimensiondim.Ifdim isNone, 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 invals along dimensiondim.

values: af.Array or scalar number

The sum of all elements invals along dimensiondim 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.