BVDot#
Computes the ‘block-dot’ product of two basis vectors objects.
Synopsis#
Collective
Input Parameters#
X - first basis vectors
Y - second basis vectors
Output Parameter#
M - the resulting matrix
Notes#
This is the generalization of VecDot() for a collection of vectors, M = Y^H*X. The result is a matrix M whose entry m_ij is equal to y_i^H x_j (where y_i^H denotes the conjugate transpose of y_i).
If a non-standard inner product has been specified with BVSetMatrix(), then the result is M = Y^HBX. In this case, both X and Y must have the same associated matrix.
On entry, M must be a sequential dense Mat with dimensions m,n at least, where m is the number of active columns of Y and n is the number of active columns of X. Only rows (resp. columns) of M starting from ly (resp. lx) are computed, where ly (resp. lx) is the number of leading columns of Y (resp. X).
X and Y need not be different objects.
See Also#
BVDotVec(), BVDotColumn(), BVSetActiveColumns(), BVSetMatrix()
Level#
intermediate
Location#
Implementations#
BVDot_Contiguous() in src/sys/classes/bv/impls/contiguous/contig.c
BVDot_Mat() in src/sys/classes/bv/impls/mat/bvmat.c
BVDot_Svec() in src/sys/classes/bv/impls/svec/svec.c
BVDot_Tensor() in src/sys/classes/bv/impls/tensor/bvtensor.c
BVDot_Vecs() in src/sys/classes/bv/impls/vecs/vecs.c
Index of all BV routines Table of Contents for all manual pages Index of all manual pages