Tensor

class libadcc.Tensor

Bases: pybind11_builtins.pybind11_object

Class representing the Tensor objects used for computations in adcc

Attributes Summary

mutable

ndim

shape

size

Methods Summary

add_linear_combination(self, arg0, arg1)

Add a linear combination of tensors to this tensor

antisymmetrise_to(self, arg0, arg1)

copy(self)

Returns a deep copy of the tensor.

copy_to(self, arg0)

Writes a deep copy of the tensor to another tensor

describe_symmetry(self)

Return a string providing a hopefully discriptive rerpesentation of the symmetry information stored inside the tensor.

dot(*args, **kwargs)

Overloaded function.

empty_like(self)

is_allowed(self, arg0)

Is a particular index allowed by symmetry

nosym_like(self)

ones_like(self)

select_n_absmax(self, arg0)

Select the n absolute maximal elements.

select_n_absmin(self, arg0)

Select the n absolute minimal elements.

select_n_max(self, arg0)

Select the n maximal elements.

select_n_min(self, arg0)

Select the n minimal elements.

set_from_ndarray(*args, **kwargs)

Overloaded function.

set_immutable(self)

Set the tensor as immutable, allowing some optimisations to be performed.

set_mask(self, arg0, arg1)

Set all elements corresponding to an index mask, which is given by a string eg.

set_random(self)

Set all tensor elements to random data, adhering to the internal symmetry.

symmetrise_to(self, arg0, arg1)

to_ndarray(self)

Export the tensor data to a standard np::ndarray by making a copy.

transpose(*args, **kwargs)

Overloaded function.

zeros_like(self)

Attributes Documentation

mutable
ndim
shape
size

Methods Documentation

add_linear_combination(self: libadcc.Tensor, arg0: numpy.ndarray[float64], arg1: list) → libadcc.Tensor

Add a linear combination of tensors to this tensor

antisymmetrise_to(self: libadcc.Tensor, arg0: libadcc.Tensor, arg1: list) → None
copy(self: libadcc.Tensor) → libadcc.Tensor

Returns a deep copy of the tensor.

copy_to(self: libadcc.Tensor, arg0: libadcc.Tensor) → None

Writes a deep copy of the tensor to another tensor

describe_symmetry(self: libadcc.Tensor) → str

Return a string providing a hopefully discriptive rerpesentation of the symmetry information stored inside the tensor.

dot(*args, **kwargs)

Overloaded function.

  1. dot(self: libadcc.Tensor, arg0: libadcc.Tensor) -> float

  2. dot(self: libadcc.Tensor, arg0: list) -> numpy.ndarray[float64]

empty_like(self: libadcc.Tensor) → libadcc.Tensor
is_allowed(self: libadcc.Tensor, arg0: tuple) → bool

Is a particular index allowed by symmetry

nosym_like(self: libadcc.Tensor) → libadcc.Tensor
ones_like(self: libadcc.Tensor) → libadcc.Tensor
select_n_absmax(self: libadcc.Tensor, arg0: int) → list

Select the n absolute maximal elements.

select_n_absmin(self: libadcc.Tensor, arg0: int) → list

Select the n absolute minimal elements.

select_n_max(self: libadcc.Tensor, arg0: int) → list

Select the n maximal elements.

select_n_min(self: libadcc.Tensor, arg0: int) → list

Select the n minimal elements.

set_from_ndarray(*args, **kwargs)

Overloaded function.

  1. set_from_ndarray(self: libadcc.Tensor, arg0: array) -> None

Set all tensor elements from a standard np::ndarray by making a copy. Provide an optional tolerance argument to increase the tolerance for the check for symmetry consistency.

  1. set_from_ndarray(self: libadcc.Tensor, arg0: numpy.ndarray[float64], arg1: float) -> None

Set all tensor elements from a standard np::ndarray by making a copy. Provide an optional tolerance argument to increase the tolerance for the check for symmetry consistency.

set_immutable(self: libadcc.Tensor) → None

Set the tensor as immutable, allowing some optimisations to be performed.

set_mask(self: libadcc.Tensor, arg0: str, arg1: float) → None

Set all elements corresponding to an index mask, which is given by a string eg. ‘iijkli’ sets elements T_{iijkli}

set_random(self: libadcc.Tensor) → None

Set all tensor elements to random data, adhering to the internal symmetry.

symmetrise_to(self: libadcc.Tensor, arg0: libadcc.Tensor, arg1: list) → None
to_ndarray(self: libadcc.Tensor) → numpy.ndarray[float64]

Export the tensor data to a standard np::ndarray by making a copy.

transpose(*args, **kwargs)

Overloaded function.

  1. transpose(self: libadcc.Tensor) -> libadcc.Tensor

  2. transpose(self: libadcc.Tensor, arg0: tuple) -> libadcc.Tensor

zeros_like(self: libadcc.Tensor) → libadcc.Tensor