LinearAlgebraOperations<T>.RankUpdate Method

Definition

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

Overload List

RankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<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(Int32, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<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(Int32, Int32, Complex<T>, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Span2D<Complex<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(Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

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(Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

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

RankUpdate(Int32, Int32, T, ArraySlice<T>, ArraySlice<T>, Array2D<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 void RankUpdate(
	int m,
	int n,
	T alpha,
	ArraySlice<T> x,
	ArraySlice<T> y,
	Array2D<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  T
            ALPHA is DOUBLE PRECISION.
             On entry, ALPHA specifies the scalar alpha.
            
x  ArraySlice<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  ArraySlice<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  Array2D<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 ).
            

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(Int32, Int32, Complex<T>, ArraySlice<Complex<T>>, ArraySlice<Complex<T>>, Array2D<Complex<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 void RankUpdate(
	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 ).
            

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(Int32, Int32, Complex<T>, ReadOnlySpanSlice<Complex<T>>, ReadOnlySpanSlice<Complex<T>>, Span2D<Complex<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 void RankUpdate(
	int m,
	int n,
	Complex<T> alpha,
	ReadOnlySpanSlice<Complex<T>> x,
	ReadOnlySpanSlice<Complex<T>> y,
	Span2D<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  ReadOnlySpanSlice<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  ReadOnlySpanSlice<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  Span2D<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 ).
            

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(Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

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 abstract void RankUpdate(
	int m,
	int n,
	T alpha,
	ReadOnlySpan<T> x,
	int incx,
	ReadOnlySpan<T> y,
	int incy,
	Span<T> a,
	int lda
)

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  T
            ALPHA is DOUBLE PRECISION.
             On entry, ALPHA specifies the scalar alpha.
            
x  ReadOnlySpan<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.
            
incx  Int32
             On entry, INCX specifies the increment for the elements of
             X. INCX must not be zero.
            
y  ReadOnlySpan<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.
            
incy  Int32
             On entry, INCY specifies the increment for the elements of
             Y. INCY must not be zero.
            
a  Span<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.
            
lda  Int32
             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>.RankUpdate(Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

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(Int32, Int32, Complex<T>, ReadOnlySpan<Complex<T>>, Int32, ReadOnlySpan<Complex<T>>, Int32, Span<Complex<T>>, Int32)

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

C#
public abstract void RankUpdate(
	int m,
	int n,
	Complex<T> alpha,
	ReadOnlySpan<Complex<T>> x,
	int incx,
	ReadOnlySpan<Complex<T>> y,
	int incy,
	Span<Complex<T>> a,
	int lda
)

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  ReadOnlySpan<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.
            
incx  Int32
             On entry, INCX specifies the increment for the elements of
             X. INCX must not be zero.
            
y  ReadOnlySpan<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.
            
incy  Int32
             On entry, INCY specifies the increment for the elements of
             Y. INCY must not be zero.
            
a  Span<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.
            
lda  Int32
             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>.RankUpdate(Int32, Int32, T, ReadOnlySpan<T>, Int32, ReadOnlySpan<T>, Int32, Span<T>, Int32)

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