LinearAlgebraOperationsExtensions.HermitianMultiplyAndAddInPlace Method

Definition

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

Overload List

HermitianMultiplyAndAddInPlace<T>(ILinearAlgebraOperations<T>, MatrixTriangle, Int32, T, ReadOnlySpan2D<T>, ReadOnlySpanSlice<T>, T, SpanSlice<T>)

Product of a hermitian matrix and a vector.
C#
public static void HermitianMultiplyAndAddInPlace<T>(
	this ILinearAlgebraOperations<T> operations,
	MatrixTriangle storedTriangle,
	int n,
	T alpha,
	ReadOnlySpan2D<T> a,
	ReadOnlySpanSlice<T> x,
	T beta,
	SpanSlice<T> y
)

Parameters

operations  ILinearAlgebraOperations<T>
The object that performs the operation.
storedTriangle  MatrixTriangle
Specifies whether the matrix is an upper or lower triangular matrix.
n  Int32
The number of rows and columns in the matrix a.
alpha  T
The scalar used to multiply the matrix-vector product.
a  ReadOnlySpan2D<T>
A span that contains the elements of the matrix.
x  ReadOnlySpanSlice<T>
A reference to a one-dimensional array containing the elements of the vector x.
beta  T
The scalar used to multiply y.
y  SpanSlice<T>
A reference to a one-dimensional array containing the elements of the vector y. The elements of y are overwritten with the result.

Type Parameters

T

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ILinearAlgebraOperations<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

HermitianMultiplyAndAddInPlace<T, TStorage, TStorage2D>(ILinearAlgebraOperations<T>, MatrixTriangle, Int32, T, TStorage2D, TStorage, T, TStorage)

Product of a hermitian matrix and a vector.
C#
public static void HermitianMultiplyAndAddInPlace<T, TStorage, TStorage2D>(
	this ILinearAlgebraOperations<T> operations,
	MatrixTriangle storedTriangle,
	int n,
	T alpha,
	TStorage2D a,
	TStorage x,
	T beta,
	TStorage y
)
where TStorage : Object, IStorageSlice<T>
where TStorage2D : Object, IStorage2D<T>

Parameters

operations  ILinearAlgebraOperations<T>
The linear algebra operations instance used to perform the calculation.
storedTriangle  MatrixTriangle
Specifies whether the matrix is an upper or lower triangular matrix.
n  Int32
The number of rows and columns in the matrix a.
alpha  T
The scalar used to multiply the matrix-vector product.
a  TStorage2D
A span that contains the elements of the matrix.
x  TStorage
A reference to a one-dimensional array containing the elements of the vector x.
beta  T
The scalar used to multiply y.
y  TStorage
A reference to a one-dimensional array containing the elements of the vector y. The elements of y are overwritten with the result.

Type Parameters

T
TStorage
TStorage2D

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ILinearAlgebraOperations<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

HermitianMultiplyAndAddInPlace<T>(ILinearAlgebraOperations<T>, MatrixOperationSide, MatrixTriangle, Int32, Int32, T, ReadOnlySpan2D<T>, ReadOnlySpan2D<T>, T, Span2D<T>)

Sum of the product of a hermitian and a general matrix and a scaled matrix.
C#
public static void HermitianMultiplyAndAddInPlace<T>(
	this ILinearAlgebraOperations<T> operations,
	MatrixOperationSide side,
	MatrixTriangle storedTriangle,
	int m,
	int n,
	T alpha,
	ReadOnlySpan2D<T> a,
	ReadOnlySpan2D<T> b,
	T beta,
	Span2D<T> c
)

Parameters

operations  ILinearAlgebraOperations<T>
The object that performs the operation.
side  MatrixOperationSide
Specifies on which side the hermitian matrix a is to be multiplied.
storedTriangle  MatrixTriangle
Specifies whether the elements of the matrix a are stored in the upper or lower triangular part.
m  Int32
The number of rows in the matrix a and the matrix c.
n  Int32
The number of columns in the matrix b and the matrix c.
alpha  T
The scalar used to multiply the matrix-vector product.
a  ReadOnlySpan2D<T>
A span that contains the elements of the first matrix.
b  ReadOnlySpan2D<T>
A span that contains the elements of the second matrix.
beta  T
The scalar used to multiply c.
c  Span2D<T>
A span that contains the elements of the third matrix.

Type Parameters

T

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ILinearAlgebraOperations<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

HermitianMultiplyAndAddInPlace<T, TStorage2D>(ILinearAlgebraOperations<T>, MatrixOperationSide, MatrixTriangle, Int32, Int32, T, TStorage2D, TStorage2D, T, TStorage2D)

Sum of the product of a hermitian and a general matrix and a scaled matrix.
C#
public static void HermitianMultiplyAndAddInPlace<T, TStorage2D>(
	this ILinearAlgebraOperations<T> operations,
	MatrixOperationSide side,
	MatrixTriangle storedTriangle,
	int m,
	int n,
	T alpha,
	TStorage2D a,
	TStorage2D b,
	T beta,
	TStorage2D c
)
where TStorage2D : Object, IStorage2D<T>

Parameters

operations  ILinearAlgebraOperations<T>
The linear algebra operations instance used to perform the calculation.
side  MatrixOperationSide
Specifies on which side the hermitian matrix a is to be multiplied.
storedTriangle  MatrixTriangle
Specifies whether the elements of the matrix a are stored in the upper or lower triangular part.
m  Int32
The number of rows in the matrix a and the matrix c.
n  Int32
The number of columns in the matrix b and the matrix c.
alpha  T
The scalar used to multiply the matrix-vector product.
a  TStorage2D
A span that contains the elements of the first matrix.
b  TStorage2D
A span that contains the elements of the second matrix.
beta  T
The scalar used to multiply c.
c  TStorage2D
A span that contains the elements of the third matrix.

Type Parameters

T
TStorage2D

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type ILinearAlgebraOperations<T>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).

See Also