Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Forrest-Tomlin #29

Merged
merged 37 commits into from
May 7, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
9b0daf5
test
GuyKatzHuji Apr 11, 2018
710e69e
when performing a forward transformation as part of a simplex step,
GuyKatzHuji Apr 12, 2018
12ea680
find the index of a row in the permutation matrix
GuyKatzHuji Apr 12, 2018
8ccb462
more work on pushEtaMatrix(): update the _A matrices according to the
GuyKatzHuji Apr 12, 2018
c5c69be
refactoring: we know that always R=invQ, so just compute it once (when
GuyKatzHuji Apr 15, 2018
ee8955c
use Q, not R
GuyKatzHuji Apr 15, 2018
076ad9f
update the factorization when an eta matrix is pushed
GuyKatzHuji Apr 17, 2018
7a56eea
small bug fix
GuyKatzHuji Apr 17, 2018
4f05c22
done working on pushEtaMatrix, test now passes.
GuyKatzHuji Apr 17, 2018
1fe0578
store and restore operations for the new FT basis
GuyKatzHuji Apr 24, 2018
85e0e6b
added functionality for computing the explicit basis from an FT facto…
GuyKatzHuji Apr 24, 2018
2ef7bef
keep track of the availability of the explicit basis
GuyKatzHuji Apr 25, 2018
ef8031e
dumping functionality
GuyKatzHuji Apr 25, 2018
b6dcb21
unit test + bug fix for explicit basis computation
GuyKatzHuji Apr 25, 2018
9b6ccc1
initial work on basis inversion using FT factorization
GuyKatzHuji Apr 25, 2018
698eb73
bug fix
GuyKatzHuji Apr 26, 2018
9eeca9a
todo
GuyKatzHuji Apr 26, 2018
7e89a0d
removed a too-strong assertion
GuyKatzHuji Apr 26, 2018
24eba59
Merge branch 'master' into ft
GuyKatzHuji Apr 26, 2018
1ff4fb0
use FT by default.
GuyKatzHuji Apr 26, 2018
890a646
get rid of the concept of "storedW"
GuyKatzHuji Apr 29, 2018
e1f443d
bug fixes and optimizations in BTRAN and FTRAN
GuyKatzHuji Apr 29, 2018
ba4ed8b
optimizations
GuyKatzHuji Apr 29, 2018
40422d3
Merge branch 'master' into ft
GuyKatzHuji Apr 30, 2018
dd8dc29
bug fix
GuyKatzHuji Apr 30, 2018
5b23560
comment
GuyKatzHuji May 1, 2018
e4dd007
Merge branch 'master' into ft
GuyKatzHuji May 1, 2018
a8e8e56
minor
GuyKatzHuji May 3, 2018
67b458d
Switching to a non-fixed number of AlmostIdentityMatrices
GuyKatzHuji May 3, 2018
8652ddf
bug fix in LU factorization
GuyKatzHuji May 3, 2018
db5200f
a test for comparing the two factorizations
GuyKatzHuji May 3, 2018
5cd96cf
git ignore
GuyKatzHuji May 3, 2018
4ee7240
refactorize when the number of A matrices exceeds a threshold
GuyKatzHuji May 3, 2018
6cb0ac6
undo a couple of changes before merge
guykatzz May 3, 2018
a7b1fe4
Merge branch 'master' into ft
guykatzz May 4, 2018
dc20e31
fix broken test
guykatzz May 4, 2018
05566e0
allocate work memory once-and-for-all
GuyKatzHuji May 6, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/basis_factorization/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.cxx
26 changes: 18 additions & 8 deletions src/basis_factorization/AlmostIdentityMatrix.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,29 @@
class AlmostIdentityMatrix
{
public:
unsigned _row;
unsigned _column;
double _value;

AlmostIdentityMatrix()
: _identity( true )
{
}

/*
True iff this is the identity matrix.
*/
bool _identity;
AlmostIdentityMatrix( const AlmostIdentityMatrix &other )
: _row( other._row )
, _column( other._column )
, _value( other._value )
{
}

AlmostIdentityMatrix &operator=( const AlmostIdentityMatrix &other )
{
_row = other._row;
_column = other._column;
_value = other._value;

unsigned _row;
unsigned _column;
double _value;
return *this;
}
};

#endif // __AlmostIdentityMatrix_h__
Expand Down
2 changes: 2 additions & 0 deletions src/basis_factorization/BasisFactorizationError.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ class BasisFactorizationError : public Error
ALLOCATION_FAILED = 0,
CANT_INVERT_BASIS_BECAUSE_OF_ETAS = 1,
UNKNOWN_BASIS_FACTORIZATION_TYPE = 2,
CORRUPT_PERMUATION_MATRIX = 3,
CANT_INVERT_BASIS_BECAUSE_BASIS_ISNT_AVAILABLE = 4,
};

BasisFactorizationError( BasisFactorizationError::Code code ) :
Expand Down
2 changes: 1 addition & 1 deletion src/basis_factorization/EtaMatrix.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ EtaMatrix::~EtaMatrix()
}
}

void EtaMatrix::dump()
void EtaMatrix::dump() const
{
printf( "Dumping eta matrix\n" );
printf( "\tm = %u. column index = %u\n", _m, _columnIndex );
Expand Down
2 changes: 1 addition & 1 deletion src/basis_factorization/EtaMatrix.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class EtaMatrix
EtaMatrix &operator=( const EtaMatrix &other );

~EtaMatrix();
void dump();
void dump() const;
void toMatrix( double *A );

void resetToIdentity();
Expand Down
Loading