Extreme Optimization™: Complexity made simple.

Math and Statistics
Libraries for .NET

  • Home
  • Features
    • Math Library
    • Vector and Matrix Library
    • Statistics Library
    • Performance
    • Usability
  • Documentation
    • Introduction
    • Math Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Resources
    • Downloads
    • QuickStart Samples
    • Sample Applications
    • Frequently Asked Questions
    • Technical Support
  • Blog
  • Order
  • Company
    • About us
    • Testimonials
    • Customers
    • Press Releases
    • Careers
    • Partners
    • Contact us
Introduction
Deployment Guide
Configuration
Using Parallelism
Expand Mathematics Library User's GuideMathematics Library User's Guide
Expand Vector and Matrix Library User's GuideVector and Matrix Library User's Guide
Expand Data Analysis Library User's GuideData Analysis Library User's Guide
Expand Statistics Library User's GuideStatistics Library User's Guide
Expand Data Access Library User's GuideData Access Library User's Guide
Expand ReferenceReference
  • Extreme Optimization
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Configuration
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Data Analysis Library User's Guide
    • Statistics Library User's Guide
    • Data Access Library User's Guide
    • Reference
  • Reference
    • Extreme
    • Extreme.Collections
    • Extreme.Data
    • Extreme.Data.Json
    • Extreme.Data.Matlab
    • Extreme.Data.R
    • Extreme.Data.Stata
    • Extreme.Data.Text
    • Extreme.DataAnalysis
    • Extreme.DataAnalysis.Linq
    • Extreme.Mathematics
    • Extreme.Mathematics.Algorithms
    • Extreme.Mathematics.Calculus
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations
    • Extreme.Mathematics.Curves
    • Extreme.Mathematics.Curves.Nonlinear
    • Extreme.Mathematics.Distributed
    • Extreme.Mathematics.Distributed.Cuda
    • Extreme.Mathematics.EquationSolvers
    • Extreme.Mathematics.FSharp
    • Extreme.Mathematics.Generic
    • Extreme.Mathematics.Generic.LinearAlgebra
    • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers
    • Extreme.Mathematics.Generic.SignalProcessing
    • Extreme.Mathematics.Implementation
    • Extreme.Mathematics.LinearAlgebra
    • Extreme.Mathematics.LinearAlgebra.Complex
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions
    • Extreme.Mathematics.LinearAlgebra.Implementation
    • Extreme.Mathematics.LinearAlgebra.IO
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners
    • Extreme.Mathematics.LinearAlgebra.Providers
    • Extreme.Mathematics.LinearAlgebra.Sparse
    • Extreme.Mathematics.Optimization
    • Extreme.Mathematics.Optimization.Genetic
    • Extreme.Mathematics.Optimization.LineSearches
    • Extreme.Mathematics.Random
    • Extreme.Mathematics.SignalProcessing
    • Extreme.Numerics.FSharp
    • Extreme.Statistics
    • Extreme.Statistics.Distributions
    • Extreme.Statistics.IO
    • Extreme.Statistics.Linq
    • Extreme.Statistics.Multivariate
    • Extreme.Statistics.Random
    • Extreme.Statistics.Tests
    • Extreme.Statistics.TimeSeriesAnalysis
  • Extreme.Mathematics.Generic.LinearAlgebra.Implementation
    • GenericBlas(T) Class
    • GenericLapack(T) Class
    • GenericSparseLinearAlgebraOperations(T) Class
    • ManagedArrayFunctions(T) Class
  • GenericBlas(T) Class
    • GenericBlas(T) Constructor
    • Properties
    • Methods
  • Methods
    • AbsoluteMaxIndex Method Overloads
    • ApplyModifiedGivensRotation Method
    • BandHermitianMultiplyAndAddInPlace Method
    • BandMultiplyAndAddInPlace Method Overloads
    • BandSymmetricMultiplyAndAddInPlace Method
    • BandTriangularMultiplyInPlace Method Overloads
    • BandTriangularSolveInPlace Method Overloads
    • ConjugateDotProduct Method
    • ConjugateRankUpdate Method
    • Copy Method Overloads
    • CreateGivensRotation Method Overloads
    • CreateModifiedGivensRotation Method
    • Dcabs1 Method
    • DotProduct Method Overloads
    • FullMatrixNorm Method Overloads
    • HermitianMatrixNorm Method
    • HermitianMultiplyAndAddInPlace Method Overloads
    • HermitianRankUpdate Method Overloads
    • MultiplyAndAddInPlace Method Overloads
    • MultiplyInPlace Method Overloads
    • OneNorm Method
    • PackedHermitianMultiplyAndAddInPlace Method
    • PackedHermitianRankUpdate Method Overloads
    • PackedSymmetricMultiplyAndAddInPlace Method
    • PackedSymmetricRankUpdate Method Overloads
    • PackedTriangularMultiplyInPlace Method Overloads
    • PackedTriangularSolveInPlace Method Overloads
    • RankUpdate Method Overloads
    • RealOneNorm Method
    • Rotate Method Overloads
    • Swap Method Overloads
    • SymmetricMatrixNorm Method Overloads
    • SymmetricMultiplyAndAddInPlace Method Overloads
    • SymmetricRankUpdate Method Overloads
    • TriangularMatrixNorm Method Overloads
    • TriangularMultiplyInPlace Method Overloads
    • TriangularSolveInPlace Method Overloads
    • TwoNorm Method Overloads
  • SymmetricRankUpdate Method Overloads
    • SymmetricRankUpdate Method (MatrixTriangle, Int32, T, ArraySlice(T), Array2D(T))
    • SymmetricRankUpdate Method (MatrixTriangle, Int32, T, ArraySlice(T), ArraySlice(T), Array2D(T))
    • SymmetricRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, Complex(T), Array2D(Complex(T)), Complex(T), Array2D(Complex(T)))
    • SymmetricRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D(T), T, Array2D(T))
    • SymmetricRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, Complex(T), Array2D(Complex(T)), Array2D(Complex(T)), Complex(T), Array2D(Complex(T)))
    • SymmetricRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D(T), Array2D(T), T, Array2D(T))
  • SymmetricRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D(T), T, Array2D(T))
GenericBlasTSymmetricRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2DT, T, Array2DT)Extreme Optimization Numerical Libraries for .NET Professional

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.Implementation
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 6.0.16073.0 (6.0.16312.0)
Syntax

C#
VB
C++
F#
Copy
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)
Remarks

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

Version Information

Numerical Libraries

Supported in: 5.x
See Also

Reference

GenericBlasT Class
SymmetricRankUpdate Overload
Extreme.Mathematics.Generic.LinearAlgebra.Implementation Namespace

Copyright (c) 2004-2016 ExoAnalytics Inc.

Send comments on this topic to support@extremeoptimization.com

Copyright © 2004-2018, Extreme Optimization. All rights reserved.
Extreme Optimization, Complexity made simple, M#, and M Sharp are trademarks of ExoAnalytics Inc.
Microsoft, Visual C#, Visual Basic, Visual Studio, Visual Studio.NET, and the Optimized for Visual Studio logo
are registered trademarks of Microsoft Corporation.