HermitianMatrix<T>.AddOuterProduct Method

Definition

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

Overload List

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

AddOuterProduct(Matrix<T>, MatrixOperationSide)

Updates a Hermitian matrix with the product of a matrix and its transpose.
C#
public HermitianMatrix<T> AddOuterProduct(
	Matrix<T> matrix,
	MatrixOperationSide side = MatrixOperationSide.Right
)

Parameters

matrix  Matrix<T>
A Matrix<T>.
side  MatrixOperationSide  (Optional)
Optional. Specifies whether the transposed matrix is the left or right operand. The default is Right.

Return Value

HermitianMatrix<T>
A reference to this instance.

Remarks

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

This method uses the level 3 BLAS routine ZHERK.

Exceptions

ArgumentNullException

matrix is null.

DimensionMismatchException

The number of rows of matrix does not equal the number of rows in this HermitianMatrix<T>.

AddOuterProduct(Vector<T>, MatrixOperationSide)

Updates a Hermitian matrix with the outer product of a vector and itself.
C#
public HermitianMatrix<T> AddOuterProduct(
	Vector<T> vector,
	MatrixOperationSide side = MatrixOperationSide.Right
)

Parameters

vector  Vector<T>
The first (column) vector.
side  MatrixOperationSide  (Optional)
Optional. Specifies whether the transposed vector is the left or right operand. The default is Right.

Return Value

HermitianMatrix<T>
A reference to this instance

Remarks

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

This method uses the level 2 BLAS routine ZHER.

Exceptions

DimensionMismatchException

The length of vector does not equal the number of rows and columns in this HermitianMatrix<T>.

AddOuterProduct(T, Matrix<T>, MatrixOperationSide)

Updates a Hermitian matrix with the scaled outer product of a matrix and its transpose.
C#
public abstract HermitianMatrix<T> AddOuterProduct(
	T factor,
	Matrix<T> matrix,
	MatrixOperationSide side = MatrixOperationSide.Right
)

Parameters

factor  T
The scale factor.
matrix  Matrix<T>
A Matrix<T>.
side  MatrixOperationSide  (Optional)
Optional. Specifies whether the transposed matrix is the left or right operand. The default is Right.

Return Value

HermitianMatrix<T>
A reference to this instance.

Remarks

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

This method uses the level 3 BLAS routine ZHERK.

Exceptions

ArgumentNullException

matrix is null.

DimensionMismatchException

The number of rows of matrix does not equal the number of rows in this HermitianMatrix<T>.

AddOuterProduct(T, Vector<T>, MatrixOperationSide)

Updates a Hermitian matrix with the scaled outer product of a vector and its transpose.
C#
public abstract HermitianMatrix<T> AddOuterProduct(
	T factor,
	Vector<T> vector,
	MatrixOperationSide side = MatrixOperationSide.Right
)

Parameters

factor  T
The scale factor.
vector  Vector<T>
A Vector<T>.
side  MatrixOperationSide  (Optional)
Optional. Specifies whether the transposed vector is the left or right operand. The default is Right.

Return Value

HermitianMatrix<T>
A reference to this instance.

Remarks

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

This method uses the level 2 BLAS routine ZHER.

Exceptions

ArgumentNullException

vector is null.

DimensionMismatchException

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

See Also