/// <summary> /// Just to compare linear equation set solvers /// </summary> protected override bool CheckCommodity() { linEquationContext.TCPELinProgMatrix = new LinEquationsMatrix(); ILinEqsAlgorithmProvider linEqsAlgorithmProvider = configuration.Get <ILinEqsAlgorithmProvider>(); LinEqsSetBuilder tcpeLinProgBuilder = linEqsAlgorithmProvider.GetLinEquationsSetBuilder( meapContext, tapeSegContext, linEquationContext); tcpeLinProgBuilder.CreateTCPEPLinProgEqsSet(); AddCommodityCheckEquation(); String linEqSetQuery = linEquationContext.TCPELinProgMatrix.GetLinEqSetQuery(); tapeSegContext.MathQueryString = linEqSetQuery + "LinearSolve[A,b]"; MathKernelConnector mathKernelConnector = configuration.Get <MathKernelConnector>(); String linEqSetOutput = mathKernelConnector.MathKernel.EvaluateToOutputForm(tapeSegContext.MathQueryString, 0); return(!linEqSetOutput.Contains(linEqSetStr)); }
public void Run(string[] args) { AppStatistics appStatistics = configuration.Get <AppStatistics>(); ICommonOptions commonOptions = configuration.Get <ICommonOptions>(); try { MathKernelConnector mathKernelConnector = configuration.Get <MathKernelConnector>(); mathKernelConnector.LoadMathKernel(); Ensure.That(ThreadPool.SetMinThreads(32, 2)).IsTrue(); IVerificator verificator = configuration.Get <OrdinaryVerificator>(); verificator.Run(); mathKernelConnector.UnloadMathKernel(); } catch (Exception exception) { appStatistics.ThereWereErrors = true; log.Error(exception.ToString()); } }