Extreme Optimization™: Complexity made simple.

Numerical Components
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
    • 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
    • Contact us
Introduction
Deployment Guide
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 Statistics Library User's GuideStatistics Library User's Guide
Expand ReferenceReference
  • Home
    • Features
    • Solutions
    • Documentation
    • QuickStart Samples
    • Sample Applications
    • Downloads
    • Technical Support
    • Download trial
    • How to buy
    • Blog
    • Company
    • Resources
  • Documentation
    • Introduction
    • Deployment Guide
    • Using Parallelism
    • Mathematics Library User's Guide
    • Vector and Matrix Library User's Guide
    • Statistics Library User's Guide
    • Reference
  • Reference
    • Extreme.Mathematics Namespace
    • Extreme.Mathematics.Algorithms Namespace
    • Extreme.Mathematics.Calculus Namespace
    • Extreme.Mathematics.Calculus.OrdinaryDifferentialEquations Namespace
    • Extreme.Mathematics.Curves Namespace
    • Extreme.Mathematics.Curves.Nonlinear Namespace
    • Extreme.Mathematics.EquationSolvers Namespace
    • Extreme.Mathematics.Generic Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra Namespace
    • Extreme.Mathematics.Generic.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • Extreme.Mathematics.LinearAlgebra.Complex.Decompositions Namespace
    • Extreme.Mathematics.LinearAlgebra.IO Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace
    • Extreme.Mathematics.LinearAlgebra.IterativeSolvers.Preconditioners Namespace
    • Extreme.Mathematics.LinearAlgebra.Providers Namespace
    • Extreme.Mathematics.LinearAlgebra.Sparse Namespace
    • Extreme.Mathematics.Optimization Namespace
    • Extreme.Mathematics.Optimization.LineSearches Namespace
    • Extreme.Mathematics.SignalProcessing Namespace
    • Extreme.Statistics Namespace
    • Extreme.Statistics.Distributions Namespace
    • Extreme.Statistics.IO Namespace
    • Extreme.Statistics.Multivariate Namespace
    • Extreme.Statistics.Random Namespace
    • Extreme.Statistics.Tests Namespace
    • Extreme.Statistics.TimeSeriesAnalysis Namespace
  • Extreme.Mathematics.LinearAlgebra.Complex Namespace
    • ComplexBandVector Class
    • ComplexCholeskyDecomposition Class
    • ComplexColumnCollection Structure
    • ComplexConstantMatrix Class
    • ComplexConstantVector Class
    • ComplexDecomposition Class
    • ComplexDenseMatrix Class
    • ComplexDenseVector Class
    • ComplexDiagonalMatrix Class
    • ComplexHermitianMatrix Class
    • ComplexLeastSquaresSolver Class
    • ComplexLinearOperator Class
    • ComplexLUDecomposition Class
    • ComplexMatrixView Class
    • ComplexQRDecomposition Class
    • ComplexRowCollection Structure
    • ComplexSingularValueDecomposition Class
    • ComplexTriangularMatrix Class
    • ComplexVectorView Class
    • ComposedComplexMatrix Class
    • ComposedComplexVector Class
    • IComplexLeastSquaresSolver Interface
    • IComplexStorage Interface
    • ISingleComplexLeastSquaresSolver Interface
    • ISingleComplexStorage Interface
    • SingleComplexBandVector Class
    • SingleComplexCholeskyDecomposition Class
    • SingleComplexColumnCollection Structure
    • SingleComplexConstantVector Class
    • SingleComplexDecomposition Class
    • SingleComplexDenseMatrix Class
    • SingleComplexDenseVector Class
    • SingleComplexHermitianMatrix Class
    • SingleComplexLeastSquaresSolver Class
    • SingleComplexLinearTransformation Class
    • SingleComplexLUDecomposition Class
    • SingleComplexMatrixView Class
    • SingleComplexQRDecomposition Class
    • SingleComplexRowCollection Structure
    • SingleComplexSingularValueDecomposition Class
    • SingleComplexTriangularMatrix Class
    • SingleComplexVectorView Class
  • ComplexTriangularMatrix Class
    • Members
    • Constructors
    • Methods
    • Properties
Collapse image Expand Image Copy image CopyHover image
         




ComplexTriangularMatrix Class

Members See Also 
Represents a ComplexMatrix whose elements above or below the main diagonal are zero.

Namespace: Extreme.Mathematics.LinearAlgebra.Complex
Assembly: Extreme.Numerics.Net40 (in Extreme.Numerics.Net40.dll) Version: 4.2.11333.0 (4.2.12253.0)

Syntax

C#
                      public sealed class ComplexTriangularMatrix : ComplexMatrix
Visual Basic (Declaration)
                      Public NotInheritable Class ComplexTriangularMatrix _
	Inherits ComplexMatrix
Visual C++
                      public ref class ComplexTriangularMatrix sealed : public ComplexMatrix
F#
[<SealedAttribute>]
type ComplexTriangularMatrix =  
    class
        inherit ComplexMatrix
    end

Remarks

Use the ComplexTriangularMatrix class to represent dense matrices whose elements above or below the diagonal are zero. The name is derived from the shape of the non-zero elements, which form a triangle. However, this class also represents rectangular matrices, whose non-zero elements may form a trapezoid.

A ComplexTriangularMatrix can be either upper or lower-triangular, depending on which components are non-zero. This property is available as the TriangleMode property. It is of type MatrixTriangle, and must be specified at construction.

Sometimes, the components on the diagonal are all equal to one. In this case, the matrix is said to be unit-diagonal, and the IsUnitDiagonal property will be trueTruetruetrue (True in Visual Basic). Once again, this must be specified at the time the matrix is constructed.

Only the non-zero components of a triangular matrix can be modified. The diagonal components of a unit-diagonal matrix can't be modified. An attempt to do so will result in an ComponentReadOnlyException. You can verify if a component can be modified by calling the IsComponentWritable(Int32, Int32) method.

The components of a ComplexTriangularMatrix are stored in a one-dimensional array of DoubleComplex values. By default, components that are adjacent in a column of the matrix are adjacent in the storage array. The components are said to be stored in column major order. It is also possible to have elements stored in row major order.

Triangular matrices can be constructed from scratch, or they can be derived or extracted from a ComplexDenseMatrix using one of the ExtractLowerTriangle(ComplexDenseMatrix, Int32, Int32, MatrixDiagonal) or ExtractUpperTriangle(ComplexDenseMatrix) methods.

The rows and column vectors of a triangular matrix are of type ComplexBandVector.

The ComplexTriangularMatrix class implements algorithms using the triangular matrix BLAS and LAPACK routines. These routines assume matrix components are stored in column major order. However, any necessary conversions are performed transparantly. No additional work is needed. In some cases there might be a small performance penalty.

ComplexTriangularMatrix objects are used as properties of many matrix decompositions. Both factors of the LU decomposition are triangular. So is at least one factor of the Cholesky ComplexDecomposition and the QR ComplexDecomposition.

Inheritance Hierarchy

System..::..Object
  Extreme.Mathematics.LinearAlgebra.Complex..::..ComplexLinearOperator
    Extreme.Mathematics..::..ComplexMatrix
      Extreme.Mathematics.LinearAlgebra.Complex..::..ComplexTriangularMatrix

See Also

ComplexTriangularMatrix Members
Extreme.Mathematics.LinearAlgebra.Complex Namespace
Extreme.Mathematics.LinearAlgebra.Complex..::..ComplexCholeskyDecomposition
Extreme.Mathematics.LinearAlgebra.Complex..::..ComplexLUDecomposition
Extreme.Mathematics.LinearAlgebra.Complex..::..ComplexQRDecomposition
Extreme.Mathematics.LinearAlgebra.Complex..::..ComplexBandVector

Send comments on this topic to support@extremeoptimization.com

Copyright (c) 2004-2011 ExoAnalytics Inc.

Copyright © 2003-2013, 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.