HermitianMatrix<T>.AddHermitianOuterProduct Method

Definition

Namespace: Numerics.NET.LinearAlgebra
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.0

Overload List

AddHermitianOuterProduct(T, Matrix<T>, Matrix<T>) Updates a Hermitian matrix with the scaled outer product of a vector and its transpose.
AddHermitianOuterProduct(T, Vector<T>, Vector<T>) Updates a Hermitian matrix with the scaled outer product of a vector and a transposed vector.

AddHermitianOuterProduct(T, Matrix<T>, Matrix<T>)

Updates a Hermitian matrix with the scaled outer product of a vector and its transpose.
C#
public abstract HermitianMatrix<T> AddHermitianOuterProduct(
	T factor,
	Matrix<T> matrix1,
	Matrix<T> matrix2
)

Parameters

factor  T
The scale factor.
matrix1  Matrix<T>
A Vector<T>.
matrix2  Matrix<T>
A Vector<T>.

Return Value

HermitianMatrix<T>
A reference to this instance.

Remarks

The Hermitian outer product of two vectors A and B is defined as ABT + BAT. Where an outer product of two vectors is in general not Hermitian, adding the transpose ensures that the result is Hermitian.

The length of matrix1 must equal the number of rows and columns of this instance.

This method uses the level 3 BLAS routine ZHER2K.

Exceptions

ArgumentNullException

matrix1 is null.

-or-

matrix2 is null.

DimensionMismatchException

The length of matrix1 or matrix2 does not equal the number of rows in this HermitianMatrix<T>.

AddHermitianOuterProduct(T, Vector<T>, Vector<T>)

Updates a Hermitian matrix with the scaled outer product of a vector and a transposed vector.
C#
public abstract HermitianMatrix<T> AddHermitianOuterProduct(
	T factor,
	Vector<T> left,
	Vector<T> right
)

Parameters

factor  T
The scale factor.
left  Vector<T>
A Vector<T>.
right  Vector<T>
A Vector<T>.

Return Value

HermitianMatrix<T>
A reference to this instance.

Remarks

The Hermitian outer product of two vectors A and B is defined as ABT + BAT. Where an outer product of two vectors is in general not Hermitian, adding the transpose ensures that the result is Hermitian.

The length of left must equal the number of rows and columns of this instance.

This method uses the level 2 BLAS routine ZHER2.

Exceptions

ArgumentNullException

left is null.

-or-

right is null.

DimensionMismatchException

The length of left or right does not equal the number of rows in this HermitianMatrix<T>.

See Also