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.LinearAlgebra.Implementation
    • DecompositionOperations(T) Class
    • DecompositionOperations(TReal, TComplex) Class
    • GenericDecompositionOperations(T) Class
    • GenericLinearAlgebraOperations(T) Class
    • GenericSparseLinearAlgebraOperations(T) Class
    • IArrayFunctions(T, TShape, TArray) Interface
    • ILinearAlgebraOperations(T) Interface
    • ILinearAlgebraOperations(T, TVector, TMatrix) Interface
    • ISparseLinearAlgebraOperations(T) Interface
    • IVectorFunctions(T) Interface
    • LinearAlgebraOperations(T) Class
    • ManagedArrayFunctions Class
    • ManagedArrayFunctions(T) Class
    • ManagedArrayFunctionsOfSingle Class
    • ManagedLapack Class
    • ManagedLapackOfSingle Class
    • ManagedLinearAlgebraOperations Class
    • ManagedLinearAlgebraOperationsOfSingle Class
    • ManagedSparseLinearAlgebraOperations Class
    • ManagedSparseLinearAlgebraOperationsOfSingle Class
    • SparseLinearAlgebraOperations Class
    • SparseLinearAlgebraOperations(T) Class
    • SparseLinearAlgebraOperationsOfSingle Class
  • GenericLinearAlgebraOperations(T) Class
    • GenericLinearAlgebraOperations(T) Constructor
    • Properties
    • Methods
  • Methods
    • AbsoluteMaxIndex Method Overloads
    • ApplyModifiedGivensRotation Method
    • BandHermitianMultiplyAndAddInPlace Method
    • BandMultiplyAndAddInPlace Method Overloads
    • BandSymmetricMultiplyAndAddInPlace Method
    • BandTriangularMultiplyInPlace Method Overloads
    • BandTriangularSolveInPlace Method Overloads
    • ComplexOneNorm Method
    • ConjugateDotProduct Method Overloads
    • ConjugateRankUpdate Method Overloads
    • Copy Method Overloads
    • CreateGivensRotation Method Overloads
    • CreateModifiedGivensRotation Method
    • DotProduct Method Overloads
    • FullMatrixNorm Method Overloads
    • HermitianMatrixNorm Method Overloads
    • 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 Overloads
    • 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
  • HermitianRankUpdate Method Overloads
    • HermitianRankUpdate Method (MatrixTriangle, Int32, T, ArraySlice(Complex(T)), Array2D(Complex(T)))
    • HermitianRankUpdate Method (MatrixTriangle, Int32, Complex(T), ArraySlice(Complex(T)), ArraySlice(Complex(T)), Array2D(Complex(T)))
    • HermitianRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, T, Array2D(Complex(T)), T, Array2D(Complex(T)))
    • HermitianRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, Complex(T), Array2D(Complex(T)), Array2D(Complex(T)), T, Array2D(Complex(T)))
  • HermitianRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, Complex(T), Array2D(Complex(T)), Array2D(Complex(T)), T, Array2D(Complex(T)))
GenericLinearAlgebraOperationsTHermitianRankUpdate Method (MatrixTriangle, TransposeOperation, Int32, Int32, ComplexT, Array2DComplexT, Array2DComplexT, T, Array2DComplexT)Extreme Optimization Numerical Libraries for .NET Professional

Performs one of the hermitian rank 2k operations C := alpha*A*BH + conjg( alpha )*B*AH + beta*C, or C := alpha*AH*B + conjg( alpha )*BH*A + beta*C, where alpha and beta are scalars with beta real, C is an n by n hermitian matrix and A and B are n by k matrices in the first case and k by n matrices in the second case.

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics.Generic.Net40 (in Extreme.Numerics.Generic.Net40.dll) Version: 6.0.16073.0 (6.0.16096.0)
Syntax

C#
VB
C++
F#
Copy
public override void HermitianRankUpdate(
	MatrixTriangle uplo,
	TransposeOperation trans,
	int n,
	int k,
	Complex<T> alpha,
	Array2D<Complex<T>> a,
	Array2D<Complex<T>> b,
	T beta,
	Array2D<Complex<T>> c
)
Public Overrides Sub HermitianRankUpdate ( 
	uplo As MatrixTriangle,
	trans As TransposeOperation,
	n As Integer,
	k As Integer,
	alpha As Complex(Of T),
	a As Array2D(Of Complex(Of T)),
	b As Array2D(Of Complex(Of T)),
	beta As T,
	c As Array2D(Of Complex(Of T))
)
public:
virtual void HermitianRankUpdate(
	MatrixTriangle uplo, 
	TransposeOperation trans, 
	int n, 
	int k, 
	Complex<T> alpha, 
	Array2D<Complex<T>> a, 
	Array2D<Complex<T>> b, 
	T beta, 
	Array2D<Complex<T>> c
) override
abstract HermitianRankUpdate : 
        uplo : MatrixTriangle * 
        trans : TransposeOperation * 
        n : int * 
        k : int * 
        alpha : Complex<'T> * 
        a : Array2D<Complex<'T>> * 
        b : Array2D<Complex<'T>> * 
        beta : 'T * 
        c : Array2D<Complex<'T>> -> unit 
override HermitianRankUpdate : 
        uplo : MatrixTriangle * 
        trans : TransposeOperation * 
        n : int * 
        k : int * 
        alpha : Complex<'T> * 
        a : Array2D<Complex<'T>> * 
        b : Array2D<Complex<'T>> * 
        beta : 'T * 
        c : Array2D<Complex<'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*BH          +
                                           conjg( alpha )*B*AH +
                                           beta*C.
                TRANS = 'C' or 'c'    C := alpha*AH*B          +
                                           conjg( alpha )*BH*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  matrices  A and B,  and on  entry  with
             TRANS = 'C' or 'c',  K  specifies  the number of rows of the
             matrices  A and B.  K must be at least zero.
            
alpha
Type: Extreme.MathematicsComplexT
            ALPHA is COMPLEX*16 .
             On entry, ALPHA specifies the scalar alpha.
            
a
Type: Extreme.CollectionsArray2DComplexT
            A is COMPLEX*16 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 ).
            
b
Type: Extreme.CollectionsArray2DComplexT
            B is COMPLEX*16 array of DIMENSION ( LDB, kb ), where kb 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  B  must contain the matrix  B,  otherwise
             the leading  k by n  part of the array  B  must contain  the
             matrix B.
            
             On entry, LDB specifies the first dimension of B as declared
             in  the  calling  (sub)  program.   When  TRANS = 'N' or 'n'
             then  LDB must be at least  max( 1, n ), otherwise  LDB must
             be at least  max( 1, k ).
             Unchanged on exit.
            
beta
Type: T
            BETA is DOUBLE PRECISION .
             On entry, BETA specifies the scalar beta.
            
c
Type: Extreme.CollectionsArray2DComplexT
            C is COMPLEX*16 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  hermitian 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  hermitian 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.
             Note that the imaginary parts of the diagonal elements need
             not be set,  they are assumed to be zero,  and on exit they
             are set to zero.
            
             On entry, LDC specifies the first dimension of C as declared
             in  the  calling  (sub)  program.   LDC  must  be  at  least
             max( 1, n ).
            
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.
            -- Modified 8-Nov-93 to set C(J,J) to DBLE( C(J,J) ) when BETA = 1.
               Ed Anderson, Cray Research Inc.
            

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

Date: November 2011

Version Information

Numerical Libraries

Supported in: 6.0
See Also

Reference

GenericLinearAlgebraOperationsT Class
HermitianRankUpdate Overload
Extreme.Mathematics.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.