SymmetricTensor

class SymmetricTensor(*args)

Symmetric tensor.

Available constructors:

SymmetricTensor(n_rows, n_sheets)

SymmetricTensor(n_rows, n_sheets, values)

SymmetricTensor(sequence)

Parameters
n_rowsint, n_r > 0

Number of rows and columns.

n_sheetsint, n_s > 0

Number of sheets.

valuessequence of float with size n_r \times n_r \times n_s, optional

Values. column-major ordering is used (like Fortran) for reshaping the flat list of values. If not mentioned, a zero tensor is created.

sequencesequence of float

Values.

Examples

>>> import openturns as ot
>>> print(ot.SymmetricTensor(2, 2, [0, 1]))
sheet #0
[[ 0 1 ]
 [ 1 0 ]]
sheet #1
[[ 0 0 ]
 [ 0 0 ]]
>>> T = ot.SymmetricTensor(2, 3, range(2*2*3))
>>> print(T)
sheet #0
[[  0  1 ]
 [  1  3 ]]
sheet #1
[[  4  5 ]
 [  5  7 ]]
sheet #2
[[  8  9 ]
 [  9 11 ]]

Get or set terms:

>>> print(T[0, 0, 0])
0.0
>>> T[0, 0, 0] = 1.0
>>> print(T[0, 0, 0])
1.0

Create an openturns tensor from a sequence:

>>> T = ot.SymmetricTensor([[[1.0, 2.0, 3.0], [7.0, 8.0, 9.0]], [[7.0, 8.0, 9.0], [10.0, 11.0, 12.0]]])
>>> print(T)
sheet #0
[[  1  7 ]
 [  7 10 ]]
sheet #1
[[  2  8 ]
 [  8 11 ]]
sheet #2
[[  3  9 ]
 [  9 12 ]]

Methods

checkSymmetry(self)

Check if the internal representation is really symmetric.

clean(self, threshold)

Set elements smaller than a threshold to zero.

getClassName(self)

Accessor to the object’s name.

getId(self)

Accessor to the object’s id.

getImplementation(self, \*args)

Accessor to the underlying implementation.

getName(self)

Accessor to the object’s name.

getNbColumns(self)

Accessor to the number of columns.

getNbRows(self)

Accessor to the number of rows.

getNbSheets(self)

Accessor to the number of sheets.

getSheet(self, k)

Get a sheet of the tensor.

isEmpty(self)

Tell if the tensor is empty.

setName(self, name)

Accessor to the object’s name.

setSheet(self, k, m)

Set a matrix as a sheet of the complex tensor.

__init__(self, *args)

Initialize self. See help(type(self)) for accurate signature.

checkSymmetry(self)

Check if the internal representation is really symmetric.

clean(self, threshold)

Set elements smaller than a threshold to zero.

Parameters
thresholdfloat

Threshold for zeroing elements.

Returns
cleaned_tensorTensor

Input tensor with elements smaller than the threshold set to zero.

getClassName(self)

Accessor to the object’s name.

Returns
class_namestr

The object class name (object.__class__.__name__).

getId(self)

Accessor to the object’s id.

Returns
idint

Internal unique identifier.

getImplementation(self, *args)

Accessor to the underlying implementation.

Returns
implImplementation

The implementation class.

getName(self)

Accessor to the object’s name.

Returns
namestr

The name of the object.

getNbColumns(self)

Accessor to the number of columns.

Returns
n_columnsint
getNbRows(self)

Accessor to the number of rows.

Returns
n_rowsint
getNbSheets(self)

Accessor to the number of sheets.

Returns
n_sheetsint

Examples

>>> import openturns as ot
>>> T = ot.Tensor(2, 2, 3, range(2*2*3))
>>> print(T.getNbSheets())
3
getSheet(self, k)

Get a sheet of the tensor.

Parameters
sheetint

Index of sheet element.

Returns
MMatrix

The sheet element.

Examples

>>> import openturns as ot
>>> T = ot.Tensor(2, 2, 3, range(2*2*3))
>>> print(T.getSheet(1))
[[ 4 6 ]
 [ 5 7 ]]
isEmpty(self)

Tell if the tensor is empty.

Returns
is_emptybool

True if the tensor contains no element.

Examples

>>> import openturns as ot
>>> T = ot.Tensor()
>>> T.isEmpty()
True
setName(self, name)

Accessor to the object’s name.

Parameters
namestr

The name of the object.

setSheet(self, k, m)

Set a matrix as a sheet of the complex tensor.

Parameters
sheetint

Index of sheet element.

MMatrix

The matrix.

Examples

>>> import openturns as ot
>>> T = ot.Tensor(2, 2, 3, range(2*2*3))
>>> print(T)
sheet #0
[[  0  2 ]
 [  1  3 ]]
sheet #1
[[  4  6 ]
 [  5  7 ]]
sheet #2
[[  8 10 ]
 [  9 11 ]]
>>> M = ot.Matrix([[1, 2],[3, 4]])
>>> T.setSheet(0, M)
>>> print(T)
sheet #0
[[  1  2 ]
 [  3  4 ]]
sheet #1
[[  4  6 ]
 [  5  7 ]]
sheet #2
[[  8 10 ]
 [  9 11 ]]