LinearAlgebraOperationsExtensions.RankUpdate Method

Definition

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

Overload List

RankUpdate<T>(ILinearAlgebraOperations<T>, Int32, Int32, T, ReadOnlySpanSlice<T>, ReadOnlySpanSlice<T>, Span2D<T>)

Performs the rank 1 operation A := alpha*x*y**T + 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.

RankUpdate<T, TStorage, TStorage2D>(ILinearAlgebraOperations<T>, Int32, Int32, T, TStorage, TStorage, TStorage2D) Performs a rank one update of a matrix.

RankUpdate<T>(ILinearAlgebraOperations<T>, Int32, Int32, T, ReadOnlySpanSlice<T>, ReadOnlySpanSlice<T>, Span2D<T>)

Performs the rank 1 operation A := alpha*x*y**T + 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 static void RankUpdate<T>(
	this ILinearAlgebraOperations<T> operations,
	int m,
	int n,
	T alpha,
	ReadOnlySpanSlice<T> x,
	ReadOnlySpanSlice<T> y,
	Span2D<T> a
)

Parameters

operations  ILinearAlgebraOperations<T>
The object that performs the operation.
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  T
            ALPHA is DOUBLE PRECISION.
             On entry, ALPHA specifies the scalar alpha.
            
x  ReadOnlySpanSlice<T>
            X is DOUBLE PRECISION 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  ReadOnlySpanSlice<T>
            Y is DOUBLE PRECISION 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  Span2D<T>
            A is DOUBLE PRECISION 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 ).
            

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).

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

RankUpdate<T, TStorage, TStorage2D>(ILinearAlgebraOperations<T>, Int32, Int32, T, TStorage, TStorage, TStorage2D)

Performs a rank one update of a matrix.
C#
public static void RankUpdate<T, TStorage, TStorage2D>(
	this ILinearAlgebraOperations<T> operations,
	int m,
	int n,
	T alpha,
	TStorage x,
	TStorage y,
	TStorage2D a
)
where TStorage : Object, IStorageSlice<T>
where TStorage2D : Object, IStorage2D<T>

Parameters

operations  ILinearAlgebraOperations<T>
The linear algebra operations instance used to perform the calculation.
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  TStorage
A reference to a one-dimensional array containing the elements of the vector x.
y  TStorage
A reference to a one-dimensional array containing the elements of the vector y.
a  TStorage2D
A span that contains the elements of the matrix.

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).

Remarks

This method is similar to the BLAS routine DGER.

See Also