pyva.data.matrixClasses

Module for matrix and vector handling

The matrix classes modules contains classes that deal with numerical tubular data. This comprises state vectors and system matrices that can change over certain frequency or time.

The data_axix class deals with the dimension over which the vectors and matrices are changing.

The Signal class deals with vectors where every coefficient represent the degree of freedom, for example the complex pressure amplitude at different positions in space.

The LinearMatrix class deals with the matrices. The first two dimensions are the rows and columns of system matrices, the third dimension is the DataAxis dimension. One main task of the LinearMatrix is to pick out a system matrix at one specific frequency.

In other words, the LinearMatrix is not real three dimensional dataset, a better description would be the linear externsion of a set of matrices. Most numpy methods are implemented and used in such a way, that the operations are performed along the full depth index.

The DynamicMatrix is an extension of the LinearMatrix class adding excitation and response degrees of freedom.

../_images/LinMat_Sig.png

Sketch of numeric data classes in pyva.

Functions

hermitian(M)

Calculate hermitian of matrix along first dimension.

isdiagonal(data)

Check if all matrices in 3D data set are diagonal.

linearIndex(N, irow, icol[, btriu])

Provides the linear index of triangular matrices

Classes

DataAxis(data, **kwargs)

Class for handling 1D data axis e.g.

DynamicMatrix(data, xdata, excdof, resdof, ...)

data: 3D matrix or 2D when kwargs are used

LinearMatrix(data, **kwargs)

Class for handling 3D data matrices in an efficient way.

ShapeSignal(mesh, xdata, ydata, dof)

Class for Signals with link to shapes ydata can be reprented by ndarrays but also function definition

Signal(xdata, ydata, dof)

Class for test and simulation results