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.IterativeSolvers Namespace
    • BiConjugateGradientSolver Class
    • BiConjugateGradientStabilizedSolver Class
    • ConjugateGradientSolver Class
    • ConjugateGradientSquaredSolver Class
    • GaussSeidelSolver Class
    • GeneralizedMinimalResidualSolver Class
    • IterativeSparseSolver Class
    • JacobiSolver Class
    • QuasiMinimalResidualSolver Class
    • SuccessiveOverRelaxationSolver Class
  • BiConjugateGradientSolver Class
    • Members
    • BiConjugateGradientSolver Constructor
    • Methods
    • Properties
Collapse image Expand Image Copy image CopyHover image
         




BiConjugateGradientSolver Class

Members See Also 
Represents a sparse linear solver that uses the bi-conjugate gradient algorithm.

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

Syntax

C#
                      public class BiConjugateGradientSolver : IterativeSparseSolver
Visual Basic (Declaration)
                      Public Class BiConjugateGradientSolver _
	Inherits IterativeSparseSolver
Visual C++
                      public ref class BiConjugateGradientSolver : public IterativeSparseSolver
F#
                      type BiConjugateGradientSolver =  
    class
        inherit IterativeSparseSolver
    end

Remarks

Use the BiConjugateGradientSolver class to solve large, non-symmetric sparse systems of equations using the Bi-Conjugate Gradient (BiCG) method. For symmetric systems, the method is twice as slow as the Conjugate Graident method (see the ConjugateGradientSolver class).

To solve a system of equations using this class, construct a new instance, passing the matrix of the system to the constructor. You can optionally set a preconditioner by setting the Preconditioner property. By default, a JacobiPreconditioner is used. Finally, the Solve(Vector) method solves the system.

Once the algorithm finished, the Status property indicates whether the algorithm completed successfully.

Inheritance Hierarchy

System..::..Object
  Extreme.Mathematics.Algorithms..::..ManagedIterativeAlgorithm<(Of <(<'DenseVector>)>)>
    Extreme.Mathematics.LinearAlgebra.IterativeSolvers..::..IterativeSparseSolver
      Extreme.Mathematics.LinearAlgebra.IterativeSolvers..::..BiConjugateGradientSolver

See Also

BiConjugateGradientSolver Members
Extreme.Mathematics.LinearAlgebra.IterativeSolvers Namespace

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.