Performs one of the symmetric rank k operations
C := alpha*A*AT + beta*C,
or
C := alpha*AT*A + beta*C,
where alpha and beta are scalars, C is an n by n symmetric matrix
and A is an n by k matrix in the first case and a k by n matrix
in the second case.
Namespace: Extreme.Mathematics.Generic.LinearAlgebra.ImplementationAssembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
public override void SymmetricRankUpdate(
MatrixTriangle uplo,
TransposeOperation trans,
int n,
int k,
T alpha,
Array2D<T> a,
T beta,
Array2D<T> c
)
Public Overrides Sub SymmetricRankUpdate (
uplo As MatrixTriangle,
trans As TransposeOperation,
n As Integer,
k As Integer,
alpha As T,
a As Array2D(Of T),
beta As T,
c As Array2D(Of T)
)
public:
virtual void SymmetricRankUpdate(
MatrixTriangle uplo,
TransposeOperation trans,
int n,
int k,
T alpha,
Array2D<T> a,
T beta,
Array2D<T> c
) override
abstract SymmetricRankUpdate :
uplo : MatrixTriangle *
trans : TransposeOperation *
n : int *
k : int *
alpha : 'T *
a : Array2D<'T> *
beta : 'T *
c : Array2D<'T> -> unit
override SymmetricRankUpdate :
uplo : MatrixTriangle *
trans : TransposeOperation *
n : int *
k : int *
alpha : 'T *
a : Array2D<'T> *
beta : 'T *
c : Array2D<'T> -> unit
Parameters
- uplo
- Type: Extreme.MathematicsMatrixTriangle
On entry, UPLO specifies whether the upper or lower
triangular part of the array C is to be referenced as
follows:
UPLO = 'U' or 'u' Only the upper triangular part of C
is to be referenced.
UPLO = 'L' or 'l' Only the lower triangular part of C
is to be referenced.
- trans
- Type: Extreme.MathematicsTransposeOperation
On entry, TRANS specifies the operation to be performed as
follows:
TRANS = 'N' or 'n' C := alpha*A*AT + beta*C.
TRANS = 'T' or 't' C := alpha*AT*A + beta*C.
TRANS = 'C' or 'c' C := alpha*AT*A + beta*C.
- n
- Type: SystemInt32
On entry, N specifies the order of the matrix C. N must be
at least zero.
- k
- Type: SystemInt32
On entry with TRANS = 'N' or 'n', K specifies the number
of columns of the matrix A, and on entry with
TRANS = 'T' or 't' or 'C' or 'c', K specifies the number
of rows of the matrix A. K must be at least zero.
- alpha
- Type: T
ALPHA is DOUBLE PRECISION.
On entry, ALPHA specifies the scalar alpha.
- a
- Type: Extreme.CollectionsArray2DT
A is DOUBLE PRECISION array of DIMENSION ( LDA, ka ), where ka is
k when TRANS = 'N' or 'n', and is n otherwise.
Before entry with TRANS = 'N' or 'n', the leading n by k
part of the array A must contain the matrix A, otherwise
the leading k by n part of the array A must contain the
matrix A.
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. When TRANS = 'N' or 'n'
then LDA must be at least max( 1, n ), otherwise LDA must
be at least max( 1, k ).
- beta
- Type: T
BETA is DOUBLE PRECISION.
On entry, BETA specifies the scalar beta.
- c
- Type: Extreme.CollectionsArray2DT
C is DOUBLE PRECISION array of DIMENSION ( LDC, n ).
Before entry with UPLO = 'U' or 'u', the leading n by n
upper triangular part of the array C must contain the upper
triangular part of the symmetric matrix and the strictly
lower triangular part of C is not referenced. On exit, the
upper triangular part of the array C is overwritten by the
upper triangular part of the updated matrix.
Before entry with UPLO = 'L' or 'l', the leading n by n
lower triangular part of the array C must contain the lower
triangular part of the symmetric matrix and the strictly
upper triangular part of C is not referenced. On exit, the
lower triangular part of the array C is overwritten by the
lower triangular part of the updated matrix.
On entry, LDC specifies the first dimension of C as declared
in the calling (sub) program. LDC must be at least
max( 1, n ).
Implements
ILinearAlgebraOperationsTSymmetricRankUpdate(MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DT, T, Array2DT)
Further Details:
Level 3 LinearAlgebra routine.
-- Written on 8-February-1989.
Jack Dongarra, Argonne National Laboratory.
Iain Duff, AERE Harwell.
Jeremy Du Croz, Numerical Algorithms Group Ltd.
Sven Hammarling, Numerical Algorithms Group Ltd.
Authors:
Univ. of Tennessee,
Univ. of California Berkeley,
Univ. of Colorado Denver,
NAG Ltd.
Date: November 2011
Numerical Libraries
Supported in: 5.x
Reference