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.Implementation
    • DecompositionOperations(TReal, TComplex) Class
    • IArrayFunctions(T, TShape, TArray) Interface
    • ILinearAlgebraOperations(T) Interface
    • ILinearAlgebraOperations(T, TVector, TMatrix) Interface
    • ISparseLinearAlgebraOperations(T) Interface
    • IVectorFunctions(T) Interface
    • LinearAlgebraOperations(T) Class
    • LinearAlgebraOperations(TReal, TComplex) Class
    • SparseLinearAlgebraOperations(T) Class
    • SparseLinearAlgebraOperations(TReal, TComplex) Class
  • DecompositionOperations(TReal, TComplex) Class
    • DecompositionOperations(TReal, TComplex) Constructor
    • Properties
    • Methods
  • Methods
    • BandCholeskyDecompose Method Overloads
    • BandCholeskyEstimateCondition Method Overloads
    • BandCholeskySolve Method Overloads
    • BandLUDecompose Method Overloads
    • BandLUEstimateCondition Method Overloads
    • BandLUSolve Method Overloads
    • BandTriangularSolve Method
    • CholeskyDecompose Method Overloads
    • CholeskyEstimateCondition Method Overloads
    • CholeskyInvert Method Overloads
    • CholeskySolve Method Overloads
    • EigenvalueDecompose Method Overloads
    • HermitianDecompose Method
    • HermitianEigenvalueDecompose Method
    • HermitianEstimateCondition Method
    • HermitianInvert Method
    • HermitianSolve Method
    • LUDecompose Method Overloads
    • LUEstimateCondition Method Overloads
    • LUInvert Method Overloads
    • LUSolve Method Overloads
    • QRDecompose Method Overloads
    • QROrthogonalMultiply Method
    • QRUnitaryMultiply Method
    • SingularValueDecompose Method Overloads
    • SymmetricDecompose Method
    • SymmetricEigenvalueDecompose Method
    • SymmetricEstimateCondition Method
    • SymmetricInvert Method
    • SymmetricSolve Method
    • TriangularEstimateCondition Method Overloads
    • TriangularInvert Method Overloads
    • TriangularSolve Method Overloads
  • QROrthogonalMultiply Method
DecompositionOperationsTReal, TComplexQROrthogonalMultiply Method Extreme Optimization Numerical Libraries for .NET Professional

Overwrites the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N': Q * C C * Q TRANS = 'T': QT * C C * QT where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(1) H(2) .

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

C#
VB
C++
F#
Copy
public abstract void QROrthogonalMultiply(
	MatrixOperationSide side,
	TransposeOperation trans,
	int m,
	int n,
	int k,
	Array2D<TReal> a,
	Array1D<TReal> tau,
	Array2D<TReal> c,
	out int info
)
Public MustOverride Sub QROrthogonalMultiply ( 
	side As MatrixOperationSide,
	trans As TransposeOperation,
	m As Integer,
	n As Integer,
	k As Integer,
	a As Array2D(Of TReal),
	tau As Array1D(Of TReal),
	c As Array2D(Of TReal),
	<OutAttribute> ByRef info As Integer
)
public:
virtual void QROrthogonalMultiply(
	MatrixOperationSide side, 
	TransposeOperation trans, 
	int m, 
	int n, 
	int k, 
	Array2D<TReal> a, 
	Array1D<TReal> tau, 
	Array2D<TReal> c, 
	[OutAttribute] int% info
) abstract
abstract QROrthogonalMultiply : 
        side : MatrixOperationSide * 
        trans : TransposeOperation * 
        m : int * 
        n : int * 
        k : int * 
        a : Array2D<'TReal> * 
        tau : Array1D<'TReal> * 
        c : Array2D<'TReal> * 
        info : int byref -> unit 

Parameters

side
Type: Extreme.MathematicsMatrixOperationSide
            = 'L': apply Q or QT from the Left;
            = 'R': apply Q or QT from the Right.
            
trans
Type: Extreme.MathematicsTransposeOperation
            = 'N':  No transpose, apply Q;
            = 'T':  Transpose, apply QT.
            
m
Type: SystemInt32
            The number of rows of the matrix C. M >= 0.
            
n
Type: SystemInt32
            The number of columns of the matrix C. N >= 0.
            
k
Type: SystemInt32
            The number of elementary reflectors whose product defines
            the matrix Q.
            If SIDE = 'L', M >= K >= 0;
            if SIDE = 'R', N >= K >= 0.
            
a
Type: Extreme.CollectionsArray2DTReal
            A is TReal array, dimension (LDA,K)
            The i-th column must contain the vector which defines the
            elementary reflector H(i), for i = 1,2,...,k, as returned by
            DGEQRF in the first k columns of its array argument A.
            A is modified by the routine but restored on exit.
            
            The leading dimension of the array A.
            If SIDE = 'L', LDA >= max(1,M);
            if SIDE = 'R', LDA >= max(1,N).
            
tau
Type: Extreme.CollectionsArray1DTReal
            TAU is TReal array, dimension (K)
            TAU(i) must contain the scalar factor of the elementary
            reflector H(i), as returned by DGEQRF.
            
c
Type: Extreme.CollectionsArray2DTReal
            C is TReal array, dimension (LDC,N)
            On entry, the M-by-N matrix C.
            On exit, C is overwritten by Q*C or QT*C or C*QT or C*Q.
            
            The leading dimension of the array C. LDC >= max(1,M).
            
info
Type: SystemInt32
            = 0:  successful exit
            < 0:  if INFO = -i, the i-th argument had an illegal value
            
Remarks

            . . H(k)
            as returned by DGEQRF. Q is of order M if SIDE = 'L' and of order N
            if SIDE = 'R'.
            

This method corresponds to the LAPACK routine ?ORMQR.

Version Information

Numerical Libraries

Supported in: 5.x
See Also

Reference

DecompositionOperationsTReal, TComplex Class
Extreme.Mathematics.Implementation Namespace

Copyright (c) 2004-2017 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.