Clp 1.17.6

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CoinAbcCommonFactorization.hpp
Go to the documentation of this file.
1 /* $Id: CoinAbcCommonFactorization.hpp 2385 2019-01-06 19:43:06Z unxusr $ */
2 // Copyright (C) 2000, International Business Machines
3 // Corporation and others, Copyright (C) 2012, FasterCoin. All Rights Reserved.
4 // This code is licensed under the terms of the Eclipse Public License (EPL).
5 #ifndef CoinAbcCommonFactorization_H
6 #define CoinAbcCommonFactorization_H
7 /* meaning of ABC_SMALL
8 -1 force copies (and no tests)
9 0 force copy of U
10 2 force no copies (and no tests)
11 */
12
13 #include "CoinAbcCommon.hpp"
14 //#define DONT_USE_SLACKS
15 //#define COIN_ONE_ETA_COPY 100
16 //#define COIN_FAC_NEW 1
17 #define INITIAL_AVERAGE 1.0
18 #define INITIAL_AVERAGE2 1.0
19 #define AVERAGE_SCALE_BACK 0.8
20 //#define SWITCHABLE_STATISTICS
21 #ifndef SWITCHABLE_STATISTICS
22 #define setStatistics(x)
23 #define factorizationStatistics() (true)
24 #else
25 #define setStatistics(x) collectStatistics_ = x
26 #define factorizationStatistics() (collectStatistics_)
27 #endif
28 #include "CoinAbcDenseFactorization.hpp"
29 class CoinPackedMatrix;
30 class CoinFactorization;
31 #define FACTORIZATION_STATISTICS 0 //1
32 typedef struct {
33 double countInput_;
34 double countAfterL_;
35 double countAfterR_;
36 double countAfterU_;
37 double averageAfterL_;
38 double averageAfterR_;
39 double averageAfterU_;
40 #if FACTORIZATION_STATISTICS
41 double twiddleFactor1_;
42 double twiddleFactor2_;
43 #endif
44 CoinSimplexInt numberCounts_;
45 } CoinAbcStatistics;
46 #if FACTORIZATION_STATISTICS
47 #define twiddleFactor1S() (statistics.twiddleFactor1_)
48 #define twiddleFactor2S() (statistics.twiddleFactor2_)
49 #define twiddleFtranFactor1() (ftranTwiddleFactor1_)
50 #define twiddleFtranFTFactor1() (ftranFTTwiddleFactor1_)
51 #define twiddleBtranFactor1() (btranTwiddleFactor1_)
52 #define twiddleFtranFactor2() (ftranTwiddleFactor2_)
53 #define twiddleFtranFTFactor2() (ftranFTTwiddleFactor2_)
54 #define twiddleBtranFactor2() (btranTwiddleFactor2_)
55 #define twiddleBtranFullFactor1() (btranFullTwiddleFactor1_)
56 #else
57 #define twiddleFactor1S() (1.0)
58 #define twiddleFactor2S() (1.0)
59 #define twiddleFtranFactor1() (1.0)
60 #define twiddleFtranFTFactor1() (1.0)
61 #define twiddleBtranFactor1() (1.0)
62 #define twiddleFtranFactor2() (1.0)
63 #define twiddleFtranFTFactor2() (1.0)
64 #define twiddleBtranFactor2() (1.0)
65 #define twiddleBtranFullFactor1() (1.0)
66 #endif
67 #define ABC_FAC_GOT_LCOPY 4
68 #define ABC_FAC_GOT_RCOPY 8
69 #define ABC_FAC_GOT_UCOPY 16
70 #define ABC_FAC_GOT_SPARSE 32
71 typedef struct {
72 CoinBigIndex next;
73 CoinBigIndex start;
74 CoinSimplexUnsignedInt stack;
75 } CoinAbcStack;
76 void CoinAbcDgetrs(char trans, int m, double *a, double *work);
77 int CoinAbcDgetrf(int m, int n, double *a, int lda, int *ipiv
78 #if ABC_PARALLEL == 2
79 ,
80 int parallelMode
81 #endif
82 );
83 void CoinAbcDgetrs(char trans, int m, long double *a, long double *work);
84 int CoinAbcDgetrf(int m, int n, long double *a, int lda, int *ipiv
85 #if ABC_PARALLEL == 2
86 ,
87 int parallelMode
88 #endif
89 );
90 #define SWAP_FACTOR 2
91 #define BLOCKING8 8
92 #define BLOCKING8X8 BLOCKING8 *BLOCKING8
93 #endif
94
95 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
96 */
CoinAbcCommon.hpp
ABC_PARALLEL
#define ABC_PARALLEL
Definition: CoinAbcCommon.hpp:36
CoinAbcStack::start
CoinBigIndex start
Definition: CoinAbcCommonFactorization.hpp:73
CoinAbcStatistics::countInput_
double countInput_
Definition: CoinAbcCommonFactorization.hpp:33
CoinAbcStatistics::averageAfterL_
double averageAfterL_
Definition: CoinAbcCommonFactorization.hpp:37
CoinAbcStack::next
CoinBigIndex next
Definition: CoinAbcCommonFactorization.hpp:72
CoinAbcStatistics::averageAfterR_
double averageAfterR_
Definition: CoinAbcCommonFactorization.hpp:38
CoinAbcStatistics::numberCounts_
CoinSimplexInt numberCounts_
Definition: CoinAbcCommonFactorization.hpp:44
CoinAbcDgetrs
void CoinAbcDgetrs(char trans, int m, double *a, double *work)
CoinAbcDgetrf
int CoinAbcDgetrf(int m, int n, double *a, int lda, int *ipiv)
CoinAbcDenseFactorization.hpp
CoinPackedMatrix
Sparse Matrix Base Class.
Definition: CoinPackedMatrix.hpp:79
CoinAbcStatistics::countAfterU_
double countAfterU_
Definition: CoinAbcCommonFactorization.hpp:36
CoinAbcStack
Definition: CoinAbcCommonFactorization.hpp:71
CoinAbcStatistics
Definition: CoinAbcCommonFactorization.hpp:32
CoinBigIndex
int CoinBigIndex
Definition: Coin_C_defines.h:136
CoinFactorization
This deals with Factorization and Updates.
Definition: CoinFactorization.hpp:50
CoinAbcStatistics::countAfterL_
double countAfterL_
Definition: CoinAbcCommonFactorization.hpp:34
CoinAbcStatistics::averageAfterU_
double averageAfterU_
Definition: CoinAbcCommonFactorization.hpp:39
CoinSimplexInt
int CoinSimplexInt
Definition: CoinAbcCommon.hpp:22
CoinAbcStatistics::countAfterR_
double countAfterR_
Definition: CoinAbcCommonFactorization.hpp:35
CoinSimplexUnsignedInt
unsigned int CoinSimplexUnsignedInt
Definition: CoinAbcCommon.hpp:23
CoinAbcStack::stack
CoinSimplexUnsignedInt stack
Definition: CoinAbcCommonFactorization.hpp:74