LinearAlgebraOperations<T>.ConjugateRankUpdate Method

Definition

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23

Overload List

ConjugateRankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>) Performs a rank one update of a matrix.
ConjugateRankUpdate(Int32, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<T>>)

Performs the rank 1 operation A := alpha*x*y**H + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

ConjugateRankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>)

Performs a rank one update of a matrix.
C#
public void ConjugateRankUpdate(
	int m,
	int n,
	T alpha,
	ArraySlice<T> x,
	ArraySlice<T> y,
	Array2D<T> a
)

Parameters

m  Int32
The number of rows in the matrix a.
n  Int32
The number of columns in the matrix a.
alpha  T
The scalar used to multiply the outer product.
x  ArraySlice<T>
A reference to a one-dimensional array containing the elements of the vector x.
y  ArraySlice<T>
A reference to a one-dimensional array containing the elements of the vector y.
a  Array2D<T>
Reference to the first element in a one-dimensional array that contains the elements of the matrix.

ConjugateRankUpdate(Int32, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<T>>)

Performs the rank 1 operation A := alpha*x*y**H + A, where alpha is a scalar, x is an m element vector, y is an n element vector and A is an m by n matrix.

C#
public abstract void ConjugateRankUpdate(
	int m,
	int n,
	Complex<T> alpha,
	ArraySlice<Complex<T>> x,
	ArraySlice<Complex<T>> y,
	Array2D<Complex<T>> a
)

Parameters

m  Int32
             On entry, M specifies the number of rows of the matrix A.
             M must be at least zero.
            
n  Int32
             On entry, N specifies the number of columns of the matrix A.
             N must be at least zero.
            
alpha  Complex<T>
             On entry, ALPHA specifies the scalar alpha.
            
x  ArraySlice<Complex<T>>
            X is complex array of dimension at least
             ( 1 + ( m - 1 )*abs( INCX ) ).
             Before entry, the incremented array X must contain the m
             element vector x.
            
             On entry, INCX specifies the increment for the elements of
             X. INCX must not be zero.
            
y  ArraySlice<Complex<T>>
            Y is complex array of dimension at least
             ( 1 + ( n - 1 )*abs( INCY ) ).
             Before entry, the incremented array Y must contain the n
             element vector y.
            
             On entry, INCY specifies the increment for the elements of
             Y. INCY must not be zero.
            
a  Array2D<Complex<T>>
            A is complex array of DIMENSION ( LDA, n ).
             Before entry, the leading m by n part of the array A must
             contain the matrix of coefficients. On exit, A is
             overwritten by the updated matrix.
            
             On entry, LDA specifies the first dimension of A as declared
             in the calling (sub) program. LDA must be at least
             max( 1, m ).
            

Implements

ILinearAlgebraOperations<T>.ConjugateRankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<T>)

Remarks

Further Details:

            Level 2 LinearAlgebra routine.
            -- Written on 22-October-1986.
               Jack Dongarra, Argonne National Lab.
               Jeremy Du Croz, Nag Central Office.
               Sven Hammarling, Nag Central Office.
               Richard Hanson, Sandia National Labs.
            

Authors: Univ. of Tennessee, Univ. of California Berkeley, Univ. of Colorado Denver, NAG Ltd.

Date: November 2011

See Also