sort by:
Revision Author Date Message Commit Date
9634404 update the example.R 07 December 2020, 16:23:16 UTC
eb525ca restructure the code 07 December 2020, 16:09:42 UTC
77c446f Update README.md 07 December 2020, 15:42:37 UTC
95f86eb Update example.R 07 December 2020, 15:32:44 UTC
3308bc9 Update README.md 07 December 2020, 12:48:57 UTC
5cbecd7 Update README.md 07 December 2020, 12:36:50 UTC
fca72b6 update readme file 05 December 2020, 21:56:30 UTC
655213f update readme file 05 December 2020, 21:34:28 UTC
b478ccc update readme file 05 December 2020, 21:30:23 UTC
0c1cd31 update readme file 05 December 2020, 21:28:56 UTC
5f03814 add png histogram 05 December 2020, 21:23:13 UTC
aad5bbe update the readme file 05 December 2020, 21:16:08 UTC
7ac3f15 update the readme file and remove irrelevant functions 05 December 2020, 21:14:15 UTC
4abf358 add c++ implmentations from working branch 05 December 2020, 15:46:38 UTC
27fa290 add the implementation from working branch 05 December 2020, 00:25:58 UTC
384fbf3 Updated contributing guide and c++ part (#127) * Updated contributing guide and c++ part * Added docker info * Update cpp_interface.md 16 November 2020, 13:46:31 UTC
05bc31e Samplers + Rcpp Interface (Milestone II and III) (#124) * fix example errors and logical checks in sample_points(). Fix errors in InnerBall tests. * add Hpolytope converter from Rcpp::Reference. * comment out te converter in Rvolume.cpp * Reduce if statements in Rvolume to one and fix bug in generate points on sphere function * Add an example of volume computation * Update README.md * Update README.md * Update README.md * return 2d facets for inner ball in zonotopes. Shift polytope in SOB algo to origin, improve ball membership and boundary oracles. * Rvolume: define the input variables, add wrappers to Rvolume function. Add modules for H,V-polytopes and zonotopes. All the exported classes have a field int 'type' in order to declare the representation of the polytope. * modify the generators R functions. Create rcpp function sample_points. * modify sample_points. * add innerball.cpp, sample_points.cpp * create rcpp funtions for exact volume computations, copulas, sliceofsimplex. Modify R functions for rounding, and random rotate. * create rd files for all the rcpp functions and the polytopes modules as well. Delete temp folder. * write the roxygen comments for the documentation. Change inputs for both R and rcpp internal functions of rounding and rotating. Change the roxygen comments accordingly. * create the updated .Rd files and the pdf of the documentation * add generators for H and V random polytopes. Update the documentation and fix bugs in sample_points and exact_vol functions. Make adjustments in the test functions. * add boundary oracles for V-polytopes and zonotopes that use the feasible basis from the first LP for the second one in each HnR step. * fix bug in rounding.cpp. Add Rd files by hand for polytope classes. Fix bugs from devtools::check(). * use switch instead of if-else if. Enable the c++ tests. * use std::numeric_limits::max() and lowest(). * create Rd files for the exposed c++ classes. Use switch in poly_gen. Use break inside case: * update the Rd files of the C++ classes and of the exposed classes through modules. Fix bugs in arbitrary simplex sampler. Fix bugs in examples, and in the SOB function in volume.h in cran header. * update the roxygen comments for the documentation. * use walk_step instead of walk_length.Update the documentation. * use var.cdhr_walk and var.rdhr_walk for the type of HnR. * include volume.h * solve a Note from the devtools::build_win(). Update the cran-comments.md in cran_gen folder. * disable skinny_cube_20 for rounding test * fix rounding test * fix rounding test * change the cran-comments.md file and add the correct date to description file. * update the cran version readme and add the cran-comments.md file into inst folder in cran package. Update fileToMatrix documentation. * update the cran version readme. * modify description and update documentation * fix urls in cran readme.md and remove cran-comments from the inst folder. * fix c++ tests for cg algo. * fix c++ tests * update the documentation and the description file. * fix tests for CG algo in H-rep. * fix c++ tests * Add pararellism to CI * relax V-poly tests * Update config.yml to execute tests in parallel * Fix problem with parallel build * fix cg test for zonotopes * replace Eigen::Random() in rotating.cpp. Modify the return value of rotating and rand_rotate() in order to return the matrix of the linear map as well. Use wrappers in ExtractMatPoly.h and modigy poly_gen.cpp and R generator functions accordingly. Update the documentation and add ' in mis-spells in description file to avoid the cran Notes. * fix namespace and add innerball implementation for the intersection of two V-polytopes and modify InnerBall.cpp, sample_points.cpp and volume.cpp accordingly. Add operater == to point.h. * remove single quotes from description and change the varsion to 1.0.0 * change description. * edit description file to declare contributors. Change \dontrun{} with \donttest{} in Rd files and modify polytope_modules.cpp to declare copyrights. * add COPYRIGHTS file, add copyright and modification declarations in external/minimum_ellipsoid header files. * move lp_solve to externals and modify makevars and lpsolve makefile accordingly, as well as the R script grcran.R * Fixing references in description file * generate new documentation. * add AUTHORS file in inst folder and a reference in description files. This file contains the contributors of other packages. We update the documentation * improve AUTHORS file, update documentation pdf, fix a bug in lp_solve.h for the membership of zonotope * new header file for rotating and fix bugs of solaris building in minimum_ellipsoid in external. * fix non-external bugs from solaris * remove .Rhistory file * Change \` with \' in COPYRIGHTS * commit the version 1.0.2 with ficed bugs and cran violations. * update NEWS file for version 1.0.2 * Update NEWS.md * Delete R documentation pdf * fix bug foe ine files, when the coefficients are seperated by tab. * fix point == operator. * remove unused flags from makevars, fix error in lp_MPS.c, set version 1.0.3 * fix cran warning in lpkit.h * modify NEWS.md file * change date in description file * fix cg algo's c++ tests * add new computation of V-polytope inscribed ball, by coomputing an inscribed cube first. * implement functions is_feasible() and ComputeInnerBall() in intersection of VP class. Use them in Rcpp functions. * remove unused comments and add a reference in point.h * python wrapper for volesti (volestipy) * added short readme * use liblpsolve55.so (somwhere on machine) + clean setup.py * nothing really * updated readme * updated readme * updated readme * some small cleanup, nothing substantial. * removed dead code * Update README.md * Fix some pass by value parameters and useless imports and README in python interface * Passing volume constants by reference (#50) Passing volume constants by reference * removed some typos form readme, added sequence of balls volume, bumped minor release (#52) * Create CONTRIBUTING.md * Create CODE_OF_CONDUCT.md (#53) * Update issue templates * split polytope classes and lp oracles functions in differetnt header files. Use pre-malloc in lp oracles. * add new algo * change the names of functions and inputs * remove printing and fix includes of header files in cran version * add boost header files for the new algo and fix the c++ interface * improve the R documentation * fix the R tests and improve R documentation * fix R tests and bugs in examples of R functions. Fix a bug in c++ tests. * update description, README.md, NEWS.md files for the new version and input variables' names in round_polytope R function. * fix c++ tests * change version and improve c++ code in new volume functions. * implement the PR comments: declare const, improve names of functions and geeral coding * define constants and add max number of iterations to check if the annealing fails. Update sample_points rd file. Fix bug in c++ generator. * update description file and fix windows bug in ball_annealing.h * fix template declarations and minor improvements in ratio_estimation.h * minor improvments in exact_vol.h * implment acceleration of rdhr for both volume and sampling. * resolve PR in ball anealing and increase cdhr sliding window * add billiard walk for volume * add billiard to sample_points interface and fix documentation of R function of volume. * improve rounding in R interface and documentation for sample_points and volume R functions. * fix c++ interface and c++ tests * update descriion file in R-proj * update rd files * fix bugs in Rd files and update the NEWS.md file * improve the initialization of delta (ball_walk) and diameter. fix errors in doxumentation and update Rd files * improve initialization of diameter for billiard walk. Fix C++ tests' bugs. * remove volume.h file from cran version. * use const variables and remove useless comments. * reduce c++ cg volume test * improve c++ interface and fix c++ tests * Merge copula functions and new compute indicators R function (#56) * merge two copulas functions into one. * add compute_indicators R function. * develop compute_indicator R function and copula.cpp in R-proj * improve roxygen comments in compute_indicator R function and copula.cpp in R-proj * fix bugs in copulas.cpp * fix bugs in compute_indicators.R * fix R tests for copulas and set to lowercase the inputvariables in the new functions * improve compute_indicators.R * Exact volume (#57) * merge two copulas functions into one. * add compute_indicators R function. * develop compute_indicator R function and copula.cpp in R-proj * improve roxygen comments in compute_indicator R function and copula.cpp in R-proj * fix bugs in copulas.cpp * fix bugs in compute_indicators.R * fix R tests for copulas and set to lowercase the inputvariables in the new functions * improve compute_indicators.R * add volume field in R module polytope classes * add volume declaration for known polytopes in R interface * modify exact_vol.cpp in R interface * set NaN the volume initialization in Rcpp modules of polytopes, update NEWS.md file * modify namespace * Improve interfaces, generators and bug fixes (#58) * use cdhr in rounding, improve t-test iterations, change diameter of H-polytopes, minor modifications in both interfaces. * improve c++ interface, add c++ test for cooling bodies with billiard walk * improve new c++ test * add random generators * update R random generators * update Rd files * update R volume interface * fix generators in both c++ and R interfaces, improve exact_volume check in c++ interface * fix bug in hpoly zonotope volume approximation * improve c++ documentation (help command) * fix c++ tests * fix c++ tests * improve cpp generator interface * improve cpp generator interface * Zonotope approximation (#59) * use cdhr in rounding, improve t-test iterations, change diameter of H-polytopes, minor mpdifications in both interfaces. * improve c++ interface, add c++ test for cooling bodies with billiard walk * improve new c++ test * add random generators * update R random generators * update Rd files * update R volume interface * fix generators in both c++ and R interfaces, improve exact_volume check in c++ interface * fix bug in hpoly zonotope volume approximation * improve c++ documentation (help command) * add zonotope_approximation in R interface. improve R volume and sample_points documentation * fix c++ tests * fix bug in zonotope approximation Co-authored-by: Vissarion Fisikopoulos <fisikop@gmail.com> * Fix tests and issue #8 (#60) * modify c++ tests * improve input variable names in R functions * check for negative error parameter in both interfaces * update Rd files * Update README.md * Various improvements (tests, documentation, names) (#61) * modify c++ tests * improve input variable names in R functions * check for negative error parameter in both interfaces * update Rd files * update compute_indicators * update rotating R functions * update sample_points.cpp * update volume.cpp and Rd files * update zonotope_approximation functons and the Rd files * fix examples, tests, documentation errors * update rounding and fix a bug in sample_points gaussian sampling, update Rd files, fix cran errors * add the option to set seed for the random polytope generator * fix cran check errors * add boundary sampling in R interface * add references in rounding functions and fix bug in vol.cpp * README: folder name changed from R-prog to R-proj (#63) * Folder name changed from R-prog to R-proj * Delete .Rhistory * Delete .Rhistory * Delete RcppExports.cpp * Readme correction and -help error in generator (#64) * add mode and starting point as inputs in samlpe_points() * fix #65 * add direct_sampling R function * improve comp_diam() function in polytopes * Update README.md Closes #67 * Update README.md * Fix bug in hpolytope print function (#68) * Update readme, add `doc` directory and tutorials (#70) * Use eigen types as internal structures (#29) * Changed class point to store coefficients to Eigen vector instead of std::vector. Made required code updates in polytopes.h, rounding.h,ballintersectconvex.h and updated CMakeLists.txt to include the directory with Eigen. * fixed bug * fix for quicker access to data When accessing the data of class Point don't copy the whole vector, but use the [] operator (changes requested during the pull request). * Eigen clean existing code, make changes in leftover files with previous implementation * Optimizations - avoid creating copies - code cleanup - more coherent coding, using Eigen and eradicating std::vector * Optimizations - Vectorize when possible the operations in line_intersect functions - Change the matrix in HPolytope to be RowMajor * Major - change uses of std::vector to Eigen vector - Change the matrix in HPolytope NOT to be RowMajor (seemed slower, needs more testing) - enabled no debug macro for Eigen in /test/CmakeList - added 2 tests, to compute volume with rdhr and with BiW * Bug Error in creating Point * bug * use cooling balls in test * edit initialization * edit /test/CMakeLists.txt * Optimizations - Use eigen function noalias() to avoid creating temporary copies when multiplying matrices - in getDirection() (samplers.h) don't use std::vector, only Eigen::Vector - fix bug in point.h, in constructor * leftovers from merge - make changes in code from last merge - delete tests I had previously added * cleanup - requested changes * update copyrights * bug * bug * requested changes * use += *= operators with points * use += *= operators with points * Fix non const parameters in rand_exp_range (#71) Remove const from function parameter * update input variable names in sample_points(), direct_sampling() and vpolytope-intersection R class * change 'algo' to 'settings' in volume function. remove unused methods in c++ polytope classes * update R tests and NEWS.md file * update zonotope_approximation input variables * delete cran package files * Fix seed in gen_rand_hpoly (#74) * update input variable names in sample_points(), direct_sampling() and vpolytope-intersection R class * change 'algo' to 'settings' in volume function. remove unused methods in c++ polytope classes * update R tests and NEWS.md file * update zonotope_approximation input variables * delete cran package files * fix seed in rand_hpoly_generator * new volume structure SoB plus random walks * Use billiard walk in SOB algorithm (#75) * fix seed in rand_hpoly_generator * enable SOB algorithm with billiard walk * enable SOB algorithm with billiard walk in c++ interface * correct input list algo in Rcpp volume.cpp * Update readme, add `doc` directory and tutorials (#70) * Cleanup SoB volume algorithm * New volume function example * Optimization: move random generators creation outside of random walk helpers * Expose rnd seed in highest level * Random number generator struct * RNG interface with fixed seed * Design simpler Walk interface * Ball walk for GC algorithm * RDHR walk for GC algorithm * CDHR walk for GC algorithm * Update delta for ball walk and removing unused paremeter passing in gaussing cooling algorithm * Fixing the scope of several variables in gaussian cooling * Fixing the scope of variables and using const where possible in gausian annealing * New design for cooling balls algorithm * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * Fix line_intersect function * Add const refs, missing includes, const vars for tolerance, fix some code styling * Remove unnecessary constructors in random walks, put const refs * Fix non const parameters in rand_exp_range (#71) Remove const from function parameter * update input variable names in sample_points(), direct_sampling() and vpolytope-intersection R class * change 'algo' to 'settings' in volume function. remove unused methods in c++ polytope classes * update R tests and NEWS.md file * update zonotope_approximation input variables * delete cran package files * Fix seed in gen_rand_hpoly (#74) * update input variable names in sample_points(), direct_sampling() and vpolytope-intersection R class * change 'algo' to 'settings' in volume function. remove unused methods in c++ polytope classes * update R tests and NEWS.md file * update zonotope_approximation input variables * delete cran package files * fix seed in rand_hpoly_generator * Use billiard walk in SOB algorithm (#75) * fix seed in rand_hpoly_generator * enable SOB algorithm with billiard walk * enable SOB algorithm with billiard walk in c++ interface * Const references and styling for cooling balls algorithm * Tests for sob algo using hpoly * Benchmarks and tests (sob and gc algorithms) * Tests for CB algorithms and various walks (expect to fail at this stage) * Fix walk initialization for CB algorithm * Fix tests for CB algorithm and hpolytopes * Fixes in cooling gaussian algorithm and tests * Fix accuracy of CDHR in CG * Update delta after walk construction * Tests for CG/vpolytopes * Implementation of cb algorithm with H-polytopes in MMC for zonotopes (#1) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * Fixing tests * Passing walks as objects to volume with runtime arguments * New rounding implementation ans volume approximation for V-poytopes intersection (#2) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * implmentation of diameter computation of all convex bodies except Vpoly-intersection * add Vpolyintersection diameter computation and volume approximation * new implmentation of rounding * add rounding in zonotope volume approximation with Hpoly in MMC * dispatching in ratio estimation * update ratio estimation functions * implmemrnt dispatching for diameter computation * improve ratio estimation code structure * Rcpp functions with the new structure (#3) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * implmentation of diameter computation of all convex bodies except Vpoly-intersection * add Vpolyintersection diameter computation and volume approximation * new implmentation of rounding * add rounding in zonotope volume approximation with Hpoly in MMC * dispatching in ratio estimation * update ratio estimation functions * implmemrnt dispatching for diameter computation * improve ratio estimation code structure * update declaration of parameters in random walks * update parameter declaretion for both ball and billiard walks * modify Rcpp expose for volume and sampling C++ functions * modify Rcpp rounding function * update rounding, sampling, volume rcpp dunctions: typedefs and includes * modify zonotope approximation Rcpp function. minor changes to Rcpp volume and sampling functions * fix compiler errors * update d files * fix compiler errors in c++ tests * add seed in rounding and direct_sampling Rcpp functions * add a second volume function to use fixed seed in Rcpp interface * Restructuring volume algorithms and random walks * Improvements and corrections in Rcpp functions (#4) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * implmentation of diameter computation of all convex bodies except Vpoly-intersection * add Vpolyintersection diameter computation and volume approximation * new implmentation of rounding * add rounding in zonotope volume approximation with Hpoly in MMC * dispatching in ratio estimation * update ratio estimation functions * implmemrnt dispatching for diameter computation * improve ratio estimation code structure * update declaration of parameters in random walks * update parameter declaretion for both ball and billiard walks * modify Rcpp expose for volume and sampling C++ functions * modify Rcpp rounding function * update rounding, sampling, volume rcpp dunctions: typedefs and includes * modify zonotope approximation Rcpp function. minor changes to Rcpp volume and sampling functions * fix compiler errors * update d files * fix compiler errors in c++ tests * add seed in rounding and direct_sampling Rcpp functions * add a second volume function to use fixed seed in Rcpp interface * fix rcpp interface * Removing old implementation files and renaming * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * Remove duplicate seed from rcpp * Enable tests for CB algorithm with V-cubes * Removing unused variables, setting const refs where needed * Add simple github actions CI for gcc and clang (#80) * Fix CRAN interface (#81) * pass cran check * fix billiard initialization, rounding shifting and seeding * add seed to copula computations * cran actions * Improvements on cran tests and R interface (#83) * fix windows errors in cran checks * update Rd files, fix bugs in direct_sampling and boundary sampling * improve R tests, update description file and fix seeding in cooling hpoly * re order template classes in volume functions * remove skiping for 32-bit in R tests * fix declaration of random walks for uniform sampling * fix the default value of the ball walk radius, fix zonotope c++ test * fix c++ tests * fix c++ tests * fix memory leak in cg algorithm. update R examples and tests * remove unused comments * update dicumentation and Rd files * fix error in lpsolve, seeding in vpolytopeintersection and c++ tests * fix vpolytope-intersection c++ test * Update/restructure Readme (#84) * Update README * Update README * Sdpa format (#36) * expose Spectrahedron interface to R - create class spectrahedron - expose function to write sdpa format files in R * expose read_sdpa function to R and documentation * R documentation and examples - fix examples - add data for example - add roxygen comments * tests for sdpa format manager - add copyrights headers - add test that writes and reads a sdpa format file - add the test in test/CMakeLists.txt * add example code for sdpa files - create folder examples in root - add an example main to read / write sdpa format files * fix file format * fix file encoding * use soft wrap with lines * create folder spectrahedra - move in new folder spectrahedron.h, LMI.h - update CMakeLists.txt in folder examples, tests - update Makevars in R-prog/src and in cran_gen - add documentation for sdpa file example * examples/spectrahedra documentation * examples/spectrahedra documentation fix headers * rename R modules - rename module in polytopes_modules.cpp to "polytopes" - rename module in spectrahedron_module.cpp to "spectrahedron" - fix dates in copyrights headers in files - add a newline in end of file spectrahedron.h * make LMI::getMatrices() return std::vector const & Also fix parameters documentation in R for functions - readSDPAFormatFile - loadSDPAFormatFile - writeSDPAFormatFile * rename typedefs in spectrahedron.cpp - rename SPECTRAHEDRON typedef to Spectrahedron - remove unneeded class _Spectrahedron in spectrahedron.cpp * Activate tests in github actions (and clang sanitizer) (#85) * Use actions with -fsanitize=memory * Use actions with -fsanitize=memory * Use actions with -fsanitize=memory * actions for R * fix clang++ segmentation fault (#87) * fix clang++ segmentation fault There was a problem with clang when accessing elements of vector spectrahedron.getLMI().getMatrices() - getMatrices() returns std::vector const &. The fix was to make Spectrahedron class method getLMI() return LMI const & - also make LMI constructor take parameter const &, not just & * fix #include paths * Fix deprecated ftime in lpsolve and update README (#89) * CRAN version 1.1.2 (#118) * fix review comments on R package * update R interface in volume and sample_points * update Rcpp modules and S4 classes * replace modules with R classes * update R documentation * fix R tests * fix R bugs * add hpoly new generator, fix bugs in rounding with biw * update the Rd files * fix c++ tests and a bug in volume.coo * fix c++ test * update polytope random generators in R, update rd files * fix bugs in R interface * seperate sdp functions * Squash commits into one * Revert "Max ball param in generate_samples and rounding (#115)" This reverts commit 1bd54f22a81c869b2054ac91ad45c3fef42bd539. * Remove std::cout * Max ball param in generate_samples and rounding (#115) * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.h * Update setup.py * Update setup_old.py * Update bindings.cpp * Update setup.py * Update setup.py * Update volestipy.pyx * Update test1.py * Create test1_old.py * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volume_cb_hpolytope.cpp * Update test1.py * Update bindings.cpp * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Create .gitignore * Delete test1_old.py * Delete setup_old.py * Delete bindings_old.h * Delete bindings_old.cpp * Delete volestipy_old.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update .gitignore * Update volume_cb_hpolytope.cpp * Update test1.py * Update test2.py * Update bindings.h * Update setup.py * Update credits.md * on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file * first attempt - not working - for rounding * rounding function: does not work; trying to figure it out * round_val now works; still new_A and new_b need to be included * Create metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update volestipy.pyx * Update bindings.cpp * Create test_rounding.py * Create test1.py * Create test2.py * Delete test2.py * Update test1.py * Create metabolic_net_pipeline-checkpoint.ipynb * Update setup.py * Update .gitignore * Delete test1.py git rm test1.py * Delete test2.py git rm test2.py * Update bindings.h new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.h * Update bindings.cpp new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.cpp * Update volestipy.pyx new class for the preprocessing and the get_full_dimensional_polytope() function in the volestipy.pyx * Update bindings.h working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.cpp working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update volestipy.pyx working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.h set member variables for lowDimHPolytopeCPP class * Update bindings.cpp remove unessecary vars * Update volestipy.pyx remove unecessary vars in self.full_dim_polytope * Update bindings.h build the instructor for the full_dimensional_polytope() function * Update bindings.cpp 1st draft for the get_full_dimensional_polytope() function * Update volestipy.pyx 1st draft for the python interface of the get_full_dimensional_polytope() function * Update bindings.h using transpose matrices for N and A_full removing the "extra" from the shift and b_full vectors as it is not needed * Update bindings.cpp 2nd draft for the lowDimHPolytopeCPP class. we changed the N and A_full matrices to transpose to feed them in the cpp file like this. we removed the _extra from the vectors * Update volestipy.pyx 2nd draft for the lowDimHPolytopeCPP class. changed "_extra" vectors when needed. first draft that actually compiles * Create test_get_full_dim_polytope.py test file for the get_full_dimensional_polytope function not ready yet * Update test_get_full_dim_polytope.py changed the Aeq * Update test_get_full_dim_polytope.py final test for the get_full_dimensional_polytope() function * Update bindings.cpp print the N transpose and the full A transpose matrices from the C++ code * Update volestipy.pyx Attention! What C++ returns is the transpose matrix. Thus, the [i,j] element of the full A is the [j,i] of what C++ returns. That is what we fixed here * Update test_get_full_dim_polytope.py print all the outputs of the get_full_dimensional_polytope() function * Update bindings.cpp remove test prints * Update volestipy.pyx remove test printing statements add all the output in the return statement on the get_full_dim_polytope() improved comments * Delete metabolic_net_pipeline.ipynb remove the jupyter notebook * Delete metabolic_net_pipeline-checkpoint.ipynb remove the hidden directory for the jupyter notebook * Update volestipy.pyx Exceptions for the low_dim_polytope_cpp constructor added. Deletion of the A_full and the b_full variables after the initialization of the object. * Update bindings.h CheBall was removed from the case of the lowDimHPolytopeCPP * Update volestipy.pyx just some functions of gurobipy * Update volestipy.pyx first draft for the pre_process() python function * Create test_preprocess.py a test file for the pre_process() function * Update volestipy.pyx correct obj function. Aeq line was replaced by a such from A. * Update volestipy.pyx make dependencies more readable * Update volestipy.pyx test sparse function * Update test_preprocess.py change dimensions * Update volestipy.pyx loop for all the lines of A and models for each of those and its minus * Update test_preprocess.py change the dimensions * Update volestipy.pyx draft to check whether it works fine! * Update volestipy.pyx change name in model.addConstr from "c2" to "c" in all the constraints described, fixed the solutions remove unecessary print statements * Update test_preprocess.py add print statement for the results of the pre_process() function * Update test_preprocess.py build Aeq in a way to be more like to a stoichiometric matrix * Update volestipy.pyx add model.update() and model.display() function every time we add constraints or change the objective function * Update volestipy.pyx correct typo in comment * Update volestipy.pyx add model.update() after the obj function for the minus A[i,] * Update volestipy.pyx add print statements * Update volestipy.pyx attempt to solve the issue with the solutions * Update volestipy.pyx addMConstrs * Update volestipy.pyx setMObjective() * Update volestipy.pyx correct objectives() * Update volestipy.pyx make minus obj function as it should be * Update volestipy.pyx remove print not needed statements make code more readable * Update test_preprocess.py change permission in test * Update test_preprocess.py add import volestipy in test_preprocess.py * Update volestipy.pyx remove solutions and their corresponding print statements add new line in the end of the file * Update volestipy.pyx correct comment * add bigg file of e.coli in .mat format * add a BIGG file in .json format * add function to read bigg files in .json format; keep the Aeq * develop the read json format bigg file function * add test file for reading json bigg files * add function for reading json bigg files * new directory for the bigg example files * improved function for reading json bigg files; Aeq is now m*n * print metabolites and reaction in the test for json * add function to read .mat bigg files * one test file for reading both json and mat bigg files * remove unecessary print statements * comment in the head of the file describing its purpose * update documentation on how to install volestipy * improved documentation for the dependencies * remember to explain how to get lpsolve * remember to explain how to get lpsolve * remember to explain how to get lpsolve * remember to explain how to get lpsolve * test with RECON1 for the pre-processing step were performed successfully * export .npy files with the outcome of the pre_process function so the user can load them any time * change the input file to e_coli_core * print files with the output of get_full_dim() and rounding() ; start function for inner ball * small changes to check data types * convertions to numpy arrays * complete read-preprocess-get_full_dim steps * add data types in .gitignore file * add a test with all the steps of the pipeline * draft for max ball * test for computing max ball * include get_max_ball() function * remove last empty lines * add emppty last line * lp_solve replaced by lpsolve * rounding step included in the full pipeline test * add comput_max_ball in the pipeline * fixed type for the r variable; sre_parse related issue * remove unecessary library * clean up a bit * Update volestipy.pyx empty last line * Update bindings.cpp add empty last line * improve rounding * fix svd rounding * add max_ball arguments in the rounding function * add max_ball if statement in rounding funcion * fix cheball in rounding * change variable name * add max ball in rounding function * add semicolomn * add extra variable inner_point_for_c to feed the .cpp with the inner point * change test file to include the max ball output as parameter to the rounding function * replace integer zero values in the bydefault inner point list, with fload zeros; this way we fixed bug according to which the inner_point_for_c was waiting for double but got long * replace if statement for max ball in rounding * add arguments in generate_samples() for the case that max_ball has been included * add cases for running generate_samples depending max ball input * feed sampling with max_ball params * add part for generate samples * change sampling function to support max ball and L params * change the way set_L and max_ball bool vars are set * python interface initialization * add accelerated_billiard variable * remove wrong '=' sign * remove const from end of void set_InnerBall functions * include sampling on rounded polytope using max ball function * max ball on rounded polytope * change by default number_of_points_to_burn * complete test pipeline * function for mapping sampled points to the initial polytope added * remove blank lines * remove blank line * clean code; split long lines * add blank last line * add features till get full dimensional polytope * before plotiing * plol it * histogram added * reaction 35 for plotting * add print statement for dimension * testing recon1 * testing for recon1 * notebook checkpoints * add returning min and max fluxes vectors in pre-processing * ignore png files * return float numpy types from read function * add tests for e coli and plot samples * e coli full example * further chechpoints Co-authored-by: Tolis <tolis.chal@gmail.com> * Regenerate R docs * Update date field and add redirection to examples * Reorder initializations * Correct example * Add high dimensional test * Add high-dimensional example * Add example for random H-polytope with Gaussian centered at the Chebyshev center Co-authored-by: tolischal <tolis.chal@gmail.com> Co-authored-by: Vissarion Fysikopoulos <vissarion.fysikopoulos@oracle.com> Co-authored-by: Vissarion Fisikopoulos <fisikop@gmail.com> Co-authored-by: pedrozudo <pedrozuidbergdosmartires@gmail.com> Co-authored-by: Sharat-Bhat <45495724+Sharat-Bhat@users.noreply.github.com> Co-authored-by: KunalKatiyar <katiyarkunal2011@gmail.com> Co-authored-by: Vaibhav Thakkar <vaibhav.thakkar.22.12.99@gmail.com> Co-authored-by: Panagiotis Repouskos <panagiotisrep@gmail.com> Co-authored-by: hariszaf <haris-zaf@hcmr.gr> 13 November 2020, 16:08:15 UTC
1bd54f2 Max ball param in generate_samples and rounding (#115) * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.h * Update setup.py * Update setup_old.py * Update bindings.cpp * Update setup.py * Update setup.py * Update volestipy.pyx * Update test1.py * Create test1_old.py * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volume_cb_hpolytope.cpp * Update test1.py * Update bindings.cpp * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Create .gitignore * Delete test1_old.py * Delete setup_old.py * Delete bindings_old.h * Delete bindings_old.cpp * Delete volestipy_old.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update .gitignore * Update volume_cb_hpolytope.cpp * Update test1.py * Update test2.py * Update bindings.h * Update setup.py * Update credits.md * on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file * first attempt - not working - for rounding * rounding function: does not work; trying to figure it out * round_val now works; still new_A and new_b need to be included * Create metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update volestipy.pyx * Update bindings.cpp * Create test_rounding.py * Create test1.py * Create test2.py * Delete test2.py * Update test1.py * Create metabolic_net_pipeline-checkpoint.ipynb * Update setup.py * Update .gitignore * Delete test1.py git rm test1.py * Delete test2.py git rm test2.py * Update bindings.h new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.h * Update bindings.cpp new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.cpp * Update volestipy.pyx new class for the preprocessing and the get_full_dimensional_polytope() function in the volestipy.pyx * Update bindings.h working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.cpp working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update volestipy.pyx working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.h set member variables for lowDimHPolytopeCPP class * Update bindings.cpp remove unessecary vars * Update volestipy.pyx remove unecessary vars in self.full_dim_polytope * Update bindings.h build the instructor for the full_dimensional_polytope() function * Update bindings.cpp 1st draft for the get_full_dimensional_polytope() function * Update volestipy.pyx 1st draft for the python interface of the get_full_dimensional_polytope() function * Update bindings.h using transpose matrices for N and A_full removing the "extra" from the shift and b_full vectors as it is not needed * Update bindings.cpp 2nd draft for the lowDimHPolytopeCPP class. we changed the N and A_full matrices to transpose to feed them in the cpp file like this. we removed the _extra from the vectors * Update volestipy.pyx 2nd draft for the lowDimHPolytopeCPP class. changed "_extra" vectors when needed. first draft that actually compiles * Create test_get_full_dim_polytope.py test file for the get_full_dimensional_polytope function not ready yet * Update test_get_full_dim_polytope.py changed the Aeq * Update test_get_full_dim_polytope.py final test for the get_full_dimensional_polytope() function * Update bindings.cpp print the N transpose and the full A transpose matrices from the C++ code * Update volestipy.pyx Attention! What C++ returns is the transpose matrix. Thus, the [i,j] element of the full A is the [j,i] of what C++ returns. That is what we fixed here * Update test_get_full_dim_polytope.py print all the outputs of the get_full_dimensional_polytope() function * Update bindings.cpp remove test prints * Update volestipy.pyx remove test printing statements add all the output in the return statement on the get_full_dim_polytope() improved comments * Delete metabolic_net_pipeline.ipynb remove the jupyter notebook * Delete metabolic_net_pipeline-checkpoint.ipynb remove the hidden directory for the jupyter notebook * Update volestipy.pyx Exceptions for the low_dim_polytope_cpp constructor added. Deletion of the A_full and the b_full variables after the initialization of the object. * Update bindings.h CheBall was removed from the case of the lowDimHPolytopeCPP * Update volestipy.pyx just some functions of gurobipy * Update volestipy.pyx first draft for the pre_process() python function * Create test_preprocess.py a test file for the pre_process() function * Update volestipy.pyx correct obj function. Aeq line was replaced by a such from A. * Update volestipy.pyx make dependencies more readable * Update volestipy.pyx test sparse function * Update test_preprocess.py change dimensions * Update volestipy.pyx loop for all the lines of A and models for each of those and its minus * Update test_preprocess.py change the dimensions * Update volestipy.pyx draft to check whether it works fine! * Update volestipy.pyx change name in model.addConstr from "c2" to "c" in all the constraints described, fixed the solutions remove unecessary print statements * Update test_preprocess.py add print statement for the results of the pre_process() function * Update test_preprocess.py build Aeq in a way to be more like to a stoichiometric matrix * Update volestipy.pyx add model.update() and model.display() function every time we add constraints or change the objective function * Update volestipy.pyx correct typo in comment * Update volestipy.pyx add model.update() after the obj function for the minus A[i,] * Update volestipy.pyx add print statements * Update volestipy.pyx attempt to solve the issue with the solutions * Update volestipy.pyx addMConstrs * Update volestipy.pyx setMObjective() * Update volestipy.pyx correct objectives() * Update volestipy.pyx make minus obj function as it should be * Update volestipy.pyx remove print not needed statements make code more readable * Update test_preprocess.py change permission in test * Update test_preprocess.py add import volestipy in test_preprocess.py * Update volestipy.pyx remove solutions and their corresponding print statements add new line in the end of the file * Update volestipy.pyx correct comment * add bigg file of e.coli in .mat format * add a BIGG file in .json format * add function to read bigg files in .json format; keep the Aeq * develop the read json format bigg file function * add test file for reading json bigg files * add function for reading json bigg files * new directory for the bigg example files * improved function for reading json bigg files; Aeq is now m*n * print metabolites and reaction in the test for json * add function to read .mat bigg files * one test file for reading both json and mat bigg files * remove unecessary print statements * comment in the head of the file describing its purpose * update documentation on how to install volestipy * improved documentation for the dependencies * remember to explain how to get lpsolve * remember to explain how to get lpsolve * remember to explain how to get lpsolve * remember to explain how to get lpsolve * test with RECON1 for the pre-processing step were performed successfully * export .npy files with the outcome of the pre_process function so the user can load them any time * change the input file to e_coli_core * print files with the output of get_full_dim() and rounding() ; start function for inner ball * small changes to check data types * convertions to numpy arrays * complete read-preprocess-get_full_dim steps * add data types in .gitignore file * add a test with all the steps of the pipeline * draft for max ball * test for computing max ball * include get_max_ball() function * remove last empty lines * add emppty last line * lp_solve replaced by lpsolve * rounding step included in the full pipeline test * add comput_max_ball in the pipeline * fixed type for the r variable; sre_parse related issue * remove unecessary library * clean up a bit * Update volestipy.pyx empty last line * Update bindings.cpp add empty last line * improve rounding * fix svd rounding * add max_ball arguments in the rounding function * add max_ball if statement in rounding funcion * fix cheball in rounding * change variable name * add max ball in rounding function * add semicolomn * add extra variable inner_point_for_c to feed the .cpp with the inner point * change test file to include the max ball output as parameter to the rounding function * replace integer zero values in the bydefault inner point list, with fload zeros; this way we fixed bug according to which the inner_point_for_c was waiting for double but got long * replace if statement for max ball in rounding * add arguments in generate_samples() for the case that max_ball has been included * add cases for running generate_samples depending max ball input * feed sampling with max_ball params * add part for generate samples * change sampling function to support max ball and L params * change the way set_L and max_ball bool vars are set * python interface initialization * add accelerated_billiard variable * remove wrong '=' sign * remove const from end of void set_InnerBall functions * include sampling on rounded polytope using max ball function * max ball on rounded polytope * change by default number_of_points_to_burn * complete test pipeline * function for mapping sampled points to the initial polytope added * remove blank lines * remove blank line * clean code; split long lines * add blank last line * add features till get full dimensional polytope * before plotiing * plol it * histogram added * reaction 35 for plotting * add print statement for dimension * testing recon1 * testing for recon1 * notebook checkpoints * add returning min and max fluxes vectors in pre-processing * ignore png files * return float numpy types from read function * add tests for e coli and plot samples * e coli full example * further chechpoints Co-authored-by: Tolis <tolis.chal@gmail.com> 30 September 2020, 08:24:28 UTC
e547120 Refactoring polytopes (#82) * Eliminating "init" and refactoring of the constructors and introducing std::make_pair * Add implementation for the Big3 * Eliminate calls to Hpolytope.init * Eliminate free_them_all function call * fix R tests and improve c++ polytope generators * fix errors in R interface and cross polytope generator * Polishing according to the review in the PR. * fix bugs on zonotope destructor * remove Chebychev ball computation from the constructor Co-authored-by: TSIGARIDAS Elias <elias.tsigaridas@inria.fr> Co-authored-by: Tolis <tolis.chal@gmail.com> 29 September 2020, 06:38:58 UTC
6b07cf5 Update DESCRIPTION 24 September 2020, 10:26:16 UTC
7080924 Simulated annealing for SDP (#42) * expose Spectrahedron interface to R - create class spectrahedron - expose function to write sdpa format files in R * expose read_sdpa function to R and documentation * R documentation and examples - fix examples - add data for example - add roxygen comments * tests for sdpa format manager - add copyrights headers - add test that writes and reads a sdpa format file - add the test in test/CMakeLists.txt * add example code for sdpa files - create folder examples in root - add an example main to read / write sdpa format files * fix file format * fix file encoding * use soft wrap with lines * create folder spectrahedra - move in new folder spectrahedron.h, LMI.h - update CMakeLists.txt in folder examples, tests - update Makevars in R-prog/src and in cran_gen - add documentation for sdpa file example * examples/spectrahedra documentation * examples/spectrahedra documentation fix headers * rename R modules - rename module in polytopes_modules.cpp to "polytopes" - rename module in spectrahedron_module.cpp to "spectrahedron" - fix dates in copyrights headers in files - add a newline in end of file spectrahedron.h * make LMI::getMatrices() return std::vector const & Also fix parameters documentation in R for functions - readSDPAFormatFile - loadSDPAFormatFile - writeSDPAFormatFile * rename typedefs in spectrahedron.cpp - rename SPECTRAHEDRON typedef to Spectrahedron - remove unneeded class _Spectrahedron in spectrahedron.cpp * SDP Solver Simulated annealing for spectrahedra - add libraries spectra, arpack - add random walks Hamiltonian monte carlo with reflections under Boltzmann distribution and coordinate Hit and Run - in folder matrices there are the classes solving the required eigenvalue problems * fix test/SDP/CMakeLists.txt to include dependencies * fix test/SDP/CMakeLists.txt fix libgfortran * refactor - rename folder matrices to matrix_operations - refactor boltzmann_hmc_walk.hpp to follow the style of the rest random walks - in boost_random_number_generator.hpp create a default (empty) constructor * add example boltzmannHmcWalk.cpp - update examples/spectrahedron/README.md - remove files CoordinateDirectionsHitAndRun_RandomWalk.h and optimization/SDPA-FormatManager.h (duplicate) * fix type * add examples/spectrahedra/semidefiniteProgramming.cpp - fix bug in SimulatedAnnealing.h (minor - missed from previous refactor) - update examples/spectrahedra/readme.md - EigenvaluesProblems.h when calling arpack method findEigenvalues() make sure ncv <= number of rows of matrix * refactor - rename files to match package - in the simulated_annealing.hpp destroy the class and expose the functionality as free functions - update examples and README.md * add tests Add tests in folder tests/SDP to test the sdp solver and the boundary oracles.They have their own CMakeLists.txt * fix README.mde compilation instructions * fix README.md * fix include * fix errors from previous merge Accept everything as was in upstream/develop * newline in end of file * remove wrong #include causes error with R interface * add #include required by spectrahedron.h * add \dontrun{} in R example * try fix in cmakefiles * Create testSDP.yml * try fix in cmakefiles * try fix in cmakefiles * try fix in cmakefiles * fix CMakeLists.txt and readne.md * fix cmakelists (#2) Co-authored-by: Tolis Chalkis <tolis.chal@gmail.com> 24 September 2020, 10:24:23 UTC
eed490b Add examples for computing volume of hpolytopes (#112) 18 September 2020, 14:23:57 UTC
923e449 Dikin, Vaidya, John walk (#88) * implement dikin walk * implement john walk * implement vaidya walk * include random walk * add c++ wrappers for the ellipsoid random walks * update R interface for sampling and parameterized ellipsoid walks * update Rd files and roxygen comments * implement PR comments * use constructors in dikin,vaidya and john walks * improve implementations * improve computation of inner ball for H-polytopes * improve inner ball computation and improve tests * update termination criterions in rounding methods * update Rd file of Birkhoff R generator * improve univariate psrf implemetations * fix c++ tests * update parameters in rounding and minor improvements * fix gcc tests and improve birkhoff generator Rd file * fix c++ tests * update citations 18 September 2020, 14:21:43 UTC
d4fb93c Marginal diagnostics and optimizations (#108) * improve implementations * improve computation of inner ball for H-polytopes * improve inner ball computation and improve tests * update termination criterions in rounding methods * update Rd file of Birkhoff R generator * improve univariate psrf implemetations * fix c++ tests * update parameters in rounding and minor improvements * fix gcc tests and improve birkhoff generator Rd file * fix c++ tests * improve R tests, remove ine and ext files * fix c++ tests * fix c++ tests for clang * fix c++ tests * merge and improve R examples * change r tests and examples for inner_ball function * improve R examples * change priority in inner ball computation * use only lpsolve for inner ball computation 18 September 2020, 10:53:29 UTC
8ce21e2 Pre-processing step for the Python interface (#113) * Create setup_hz.py * Create bindings_hz.cpp * Create volestipy_hz.pyx * Create bindings_hz.h * Update bindings_hz.h * Update bindings_hz.cpp * Create volestipy_old.pyx * Delete volestipy_hz.pyx * Create bindings_old.cpp * Delete bindings_hz.cpp * Update bindings.cpp * Create bindings_old.h * Delete bindings_hz.h * Create setup_old.py * Delete setup_hz.py * Update setup.py * Update volestipy.pyx * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.h * Update setup.py * Update setup_old.py * Update bindings.cpp * Update setup.py * Update setup.py * Update volestipy.pyx * Update test1.py * Create test1_old.py * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volume_cb_hpolytope.cpp * Update test1.py * Update bindings.cpp * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Create .gitignore * Delete test1_old.py * Delete setup_old.py * Delete bindings_old.h * Delete bindings_old.cpp * Delete volestipy_old.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update .gitignore * Update volume_cb_hpolytope.cpp * Update test1.py * Update test2.py * Update bindings.h * Update setup.py * Update credits.md * on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file * first attempt - not working - for rounding * rounding function: does not work; trying to figure it out * round_val now works; still new_A and new_b need to be included * Create metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update volestipy.pyx * Update bindings.cpp * Create test_rounding.py * Create test1.py * Create test2.py * Delete test2.py * Update test1.py * Create metabolic_net_pipeline-checkpoint.ipynb * Update setup.py * Update .gitignore * Delete test1.py git rm test1.py * Delete test2.py git rm test2.py * Update bindings.h new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.h * Update bindings.cpp new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.cpp * Update volestipy.pyx new class for the preprocessing and the get_full_dimensional_polytope() function in the volestipy.pyx * Update bindings.h working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.cpp working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update volestipy.pyx working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.h set member variables for lowDimHPolytopeCPP class * Update bindings.cpp remove unessecary vars * Update volestipy.pyx remove unecessary vars in self.full_dim_polytope * Update bindings.h build the instructor for the full_dimensional_polytope() function * Update bindings.cpp 1st draft for the get_full_dimensional_polytope() function * Update volestipy.pyx 1st draft for the python interface of the get_full_dimensional_polytope() function * Update bindings.h using transpose matrices for N and A_full removing the "extra" from the shift and b_full vectors as it is not needed * Update bindings.cpp 2nd draft for the lowDimHPolytopeCPP class. we changed the N and A_full matrices to transpose to feed them in the cpp file like this. we removed the _extra from the vectors * Update volestipy.pyx 2nd draft for the lowDimHPolytopeCPP class. changed "_extra" vectors when needed. first draft that actually compiles * Create test_get_full_dim_polytope.py test file for the get_full_dimensional_polytope function not ready yet * Update test_get_full_dim_polytope.py changed the Aeq * Update test_get_full_dim_polytope.py final test for the get_full_dimensional_polytope() function * Update bindings.cpp print the N transpose and the full A transpose matrices from the C++ code * Update volestipy.pyx Attention! What C++ returns is the transpose matrix. Thus, the [i,j] element of the full A is the [j,i] of what C++ returns. That is what we fixed here * Update test_get_full_dim_polytope.py print all the outputs of the get_full_dimensional_polytope() function * Update bindings.cpp remove test prints * Update volestipy.pyx remove test printing statements add all the output in the return statement on the get_full_dim_polytope() improved comments * Delete metabolic_net_pipeline.ipynb remove the jupyter notebook * Delete metabolic_net_pipeline-checkpoint.ipynb remove the hidden directory for the jupyter notebook * Update volestipy.pyx Exceptions for the low_dim_polytope_cpp constructor added. Deletion of the A_full and the b_full variables after the initialization of the object. * Update bindings.h CheBall was removed from the case of the lowDimHPolytopeCPP * Update volestipy.pyx just some functions of gurobipy * Update volestipy.pyx first draft for the pre_process() python function * Create test_preprocess.py a test file for the pre_process() function * Update volestipy.pyx correct obj function. Aeq line was replaced by a such from A. * Update volestipy.pyx make dependencies more readable * Update volestipy.pyx test sparse function * Update test_preprocess.py change dimensions * Update volestipy.pyx loop for all the lines of A and models for each of those and its minus * Update test_preprocess.py change the dimensions * Update volestipy.pyx draft to check whether it works fine! * Update volestipy.pyx change name in model.addConstr from "c2" to "c" in all the constraints described, fixed the solutions remove unecessary print statements * Update test_preprocess.py add print statement for the results of the pre_process() function * Update test_preprocess.py build Aeq in a way to be more like to a stoichiometric matrix * Update volestipy.pyx add model.update() and model.display() function every time we add constraints or change the objective function * Update volestipy.pyx correct typo in comment * Update volestipy.pyx add model.update() after the obj function for the minus A[i,] * Update volestipy.pyx add print statements * Update volestipy.pyx attempt to solve the issue with the solutions * Update volestipy.pyx addMConstrs * Update volestipy.pyx setMObjective() * Update volestipy.pyx correct objectives() * Update volestipy.pyx make minus obj function as it should be * Update volestipy.pyx remove print not needed statements make code more readable * Update test_preprocess.py change permission in test * Update test_preprocess.py add import volestipy in test_preprocess.py * Update volestipy.pyx remove solutions and their corresponding print statements add new line in the end of the file * Update volestipy.pyx correct comment * add bigg file of e.coli in .mat format * add a BIGG file in .json format * add function to read bigg files in .json format; keep the Aeq * develop the read json format bigg file function * add test file for reading json bigg files * add function for reading json bigg files * new directory for the bigg example files * improved function for reading json bigg files; Aeq is now m*n * print metabolites and reaction in the test for json * add function to read .mat bigg files * one test file for reading both json and mat bigg files * remove unecessary print statements * comment in the head of the file describing its purpose * update documentation on how to install volestipy * improved documentation for the dependencies * remember to explain how to get lpsolve * remember to explain how to get lpsolve * remember to explain how to get lpsolve * remember to explain how to get lpsolve * test with RECON1 for the pre-processing step were performed successfully * export .npy files with the outcome of the pre_process function so the user can load them any time * change the input file to e_coli_core * print files with the output of get_full_dim() and rounding() ; start function for inner ball * small changes to check data types * convertions to numpy arrays * complete read-preprocess-get_full_dim steps * add data types in .gitignore file * add a test with all the steps of the pipeline * draft for max ball * test for computing max ball * include get_max_ball() function * remove last empty lines * add emppty last line * lp_solve replaced by lpsolve * rounding step included in the full pipeline test * add comput_max_ball in the pipeline * fixed type for the r variable; sre_parse related issue * remove unecessary library * clean up a bit * Update bindings.cpp add empty last line * add empty lines in the end of test files * Update test_compute_max_ball.py add space in last line * Update test_compute_max_ball.py * Update test_compute_volume.py * Update test_get_full_dim_polytope.py * Update test_random_sampling.py * Update test_read_bigg_files.py * Update test_rounding.py * Update bindings.h 10 September 2020, 13:09:49 UTC
48e8716 Fix print issue while initializing hpolytope (#111) * Fix -0 bug while initializing hpolytope * Remove fixed threshold for -0 bug fix 08 September 2020, 07:52:34 UTC
f3da2bd Get full dimensional polytope for the Python interface (#109) * Create setup_hz.py * Create bindings_hz.cpp * Create volestipy_hz.pyx * Create bindings_hz.h * Update bindings_hz.h * Update bindings_hz.cpp * Create volestipy_old.pyx * Delete volestipy_hz.pyx * Create bindings_old.cpp * Delete bindings_hz.cpp * Update bindings.cpp * Create bindings_old.h * Delete bindings_hz.h * Create setup_old.py * Delete setup_hz.py * Update setup.py * Update volestipy.pyx * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.h * Update setup.py * Update setup_old.py * Update bindings.cpp * Update setup.py * Update setup.py * Update volestipy.pyx * Update test1.py * Create test1_old.py * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volume_cb_hpolytope.cpp * Update test1.py * Update bindings.cpp * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Create .gitignore * Delete test1_old.py * Delete setup_old.py * Delete bindings_old.h * Delete bindings_old.cpp * Delete volestipy_old.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update .gitignore * Update volume_cb_hpolytope.cpp * Update test1.py * Update test2.py * Update bindings.h * Update setup.py * Update credits.md * on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file * first attempt - not working - for rounding * rounding function: does not work; trying to figure it out * round_val now works; still new_A and new_b need to be included * Create metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update volestipy.pyx * Update bindings.cpp * Create test_rounding.py * Create test1.py * Create test2.py * Delete test2.py * Update test1.py * Create metabolic_net_pipeline-checkpoint.ipynb * Update setup.py * Update .gitignore * Delete test1.py git rm test1.py * Delete test2.py git rm test2.py * Update bindings.h new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.h * Update bindings.cpp new class for the preprocessing and the get_full_dimensional_polytope() function in the bindings.cpp * Update volestipy.pyx new class for the preprocessing and the get_full_dimensional_polytope() function in the volestipy.pyx * Update bindings.h working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.cpp working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update volestipy.pyx working on the lowDimHPolytopeCPP class - just a draft with the main ideas, not a stable version * Update bindings.h set member variables for lowDimHPolytopeCPP class * Update bindings.cpp remove unessecary vars * Update volestipy.pyx remove unecessary vars in self.full_dim_polytope * Update bindings.h build the instructor for the full_dimensional_polytope() function * Update bindings.cpp 1st draft for the get_full_dimensional_polytope() function * Update volestipy.pyx 1st draft for the python interface of the get_full_dimensional_polytope() function * Update bindings.h using transpose matrices for N and A_full removing the "extra" from the shift and b_full vectors as it is not needed * Update bindings.cpp 2nd draft for the lowDimHPolytopeCPP class. we changed the N and A_full matrices to transpose to feed them in the cpp file like this. we removed the _extra from the vectors * Update volestipy.pyx 2nd draft for the lowDimHPolytopeCPP class. changed "_extra" vectors when needed. first draft that actually compiles * Create test_get_full_dim_polytope.py test file for the get_full_dimensional_polytope function not ready yet * Update test_get_full_dim_polytope.py changed the Aeq * Update test_get_full_dim_polytope.py final test for the get_full_dimensional_polytope() function * Update bindings.cpp print the N transpose and the full A transpose matrices from the C++ code * Update volestipy.pyx Attention! What C++ returns is the transpose matrix. Thus, the [i,j] element of the full A is the [j,i] of what C++ returns. That is what we fixed here * Update test_get_full_dim_polytope.py print all the outputs of the get_full_dimensional_polytope() function * Update bindings.cpp remove test prints * Update volestipy.pyx remove test printing statements add all the output in the return statement on the get_full_dim_polytope() improved comments * Delete metabolic_net_pipeline.ipynb remove the jupyter notebook * Delete metabolic_net_pipeline-checkpoint.ipynb remove the hidden directory for the jupyter notebook * Update volestipy.pyx Exceptions for the low_dim_polytope_cpp constructor added. Deletion of the A_full and the b_full variables after the initialization of the object. * Update bindings.h CheBall was removed from the case of the lowDimHPolytopeCPP 13 August 2020, 16:11:28 UTC
b574878 Rounding (#107) * Create setup_hz.py * Create bindings_hz.cpp * Create volestipy_hz.pyx * Create bindings_hz.h * Update bindings_hz.h * Update bindings_hz.cpp * Create volestipy_old.pyx * Delete volestipy_hz.pyx * Create bindings_old.cpp * Delete bindings_hz.cpp * Update bindings.cpp * Create bindings_old.h * Delete bindings_hz.h * Create setup_old.py * Delete setup_hz.py * Update setup.py * Update volestipy.pyx * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.h * Update setup.py * Update setup_old.py * Update bindings.cpp * Update setup.py * Update setup.py * Update volestipy.pyx * Update test1.py * Create test1_old.py * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volume_cb_hpolytope.cpp * Update test1.py * Update bindings.cpp * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Create .gitignore * Delete test1_old.py * Delete setup_old.py * Delete bindings_old.h * Delete bindings_old.cpp * Delete volestipy_old.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update .gitignore * Update volume_cb_hpolytope.cpp * Update test1.py * Update test2.py * Update bindings.h * Update setup.py * Update credits.md * on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file * first attempt - not working - for rounding * rounding function: does not work; trying to figure it out * round_val now works; still new_A and new_b need to be included * Create metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update metabolic_net_pipeline.ipynb * Update volestipy.pyx * Update bindings.cpp * Create test_rounding.py * Create test1.py * Create test2.py * Delete test2.py * Update test1.py * Create metabolic_net_pipeline-checkpoint.ipynb * Update setup.py * Update .gitignore * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.cpp * Update test1.py * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update test_rounding.py * Create test_rounding.py * Delete test1.py * Update test_rounding.py * Update test1.py * Update bindings.cpp * Update volestipy.pyx * Update test_rounding.py * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update test_rounding.py * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update test_rounding.py * Update bindings.cpp print all dimensions of the variables included in cpp * Update volestipy.pyx print all dimensions of the variables included in cython * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update test_rounding.py * Update bindings.cpp * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp correct the dimensions of the shift and the T_matrix; that was the cause of the strange memory errors we used to get (e.g free(): invalid pointer , Fatal Python error: GC object already tracked etc) * Delete test_rounding.py * Update test_rounding.py * Update setup.py * Update bindings.h * Update bindings.cpp remove print lines for checking dimensions * Update volestipy.pyx remove print lines for checking dimensions * Update bindings.h * Update bindings.cpp better variable names * Update volestipy.pyx better variable names * Update .gitignore * Update test_rounding.py * Update .gitignore add .ipynb to the .gitignore of the branch * Update .gitignore * Update .gitignore * Update .gitignore * Delete metabolic_net_pipeline.ipynb * Update bindings.cpp change variables names * Update bindings.cpp change variable names - correct * Delete metabolic_net_pipeline-checkpoint.ipynb remove jupyter hidden directory * Delete test1.py * Delete test2.py * Create test_compute_volume.py test script for the compute_volume() function * Create test_random_sampling.py test script for the random_sampling() function * Update test_rounding.py test script for the rounding() function 06 August 2020, 12:41:15 UTC
dae7b62 MCMC diagnostics (#106) * implement multivariate psrf * implement multivariate gweke diagnostics * use matrices as input variable and implement R wrapper * request export in R * improve mc diagnostics * initial implmentation of raftery diagnostics * implement empquant subroutine for raftery diagnostic * implement thin subroutine for raftery diagnostic * implement mctest subroutine for raftery diagnostic * implement mctest subroutine for raftery diagnostic * implement indtest subroutine for raftery diagnostic * implement ppnd subroutine for raftery diagnostic * export to R function raftery and fix compiler errors * complete raftery implmentation * remove unused samples and add roxygen comments * update mcmc diagnostics code and comments * remove unused comments and update roxygen comments * fix bugs in billiard and mcmc diagnostics * improve comments and raftery marginal diagnostic * add mcmc diagnostics test * improve raftery implmenation. Add comments to describe mcmc diagnostics * update roxygen comments and variable names in mcmc diagnostics * improve raftery diagnostic * optimizations in prsf and geweke diagnostics, fix params warning in geweke Rcpp function * fix c++ tests and improve raftery diagnostic Co-authored-by: Tolis <tolis.chal@gmail.com> 05 August 2020, 14:55:05 UTC
35ca94f Adding two rounding methods (#96) * initial implementation of billiard walk * improved billiard completed for H-polytopes * modify v-polytopes and zonotopes to be used by improved billiard walk * update polytope intersection ball to be used by new billiard walk * update point and volume rcpp function * expose improved billiard to sample_points R function * fix bugs including header in rcpp interface * fix compile bugs in compute_reflection of ball.h * update contribution comments in new header file * update contribution comments in new header files * implement svd rounding and create new folder for preproccessing methods * update rounding interface in R to use the new method * remove unused comments and improve R interface * update roxygen comments * implement interior point method to compute the chebychev ball * implement maximum volume enclosed ellipsoid method * implement rounding based on mve method * fix errors in mve rounding * fix default random walk in volume computation, remove unused comments * update Rcpp function volume * implement extraction of low dimensional polytope * improve full dimensional polytope extraction * create Aeq in Rcpp module of Hpolytope and import it in Rcpp rounding function * improve computation of null space * fix c++ tests * add return variables-matrices for low dimensional polytopes * expose in R get_full_dimensional_polytope * fix compile errors * improve stability on qr decomposition and fix bugs in rounding a low dimensional polytope * improve stopping criterion in maxx_inner_ball computation * improve full dimensional computation * minor improvements and update roxygen comments in volume.cpp * improve R interface in volume.cpp * remove unused comments * improve r interface in sample_points.cpp * improve mve rounding * fix compiler errors * improve computation of AA in billiard * improve eigenvalue computation and fix compiler errors * improve code comments * fix compiler error and update roxygen comments * update copyright comments * fix R tests and update documentation * remove unused comments and update roxygen comments and Rd files * add polishing comments and improve function names * improve rounding options in R-proj/volume.cpp * update rd files * fix c++ tests and update rd files * fix R tests * fix R tests * PR comments: improve names, variable names and declaration. * change number of varialble inputs in rounding * use std::tuple on rounding algorithms 30 July 2020, 09:53:26 UTC
2b2a598 Fix sampling issue #72 (#101) * set default walk length equal to 1, fix sample_points bug from given starting point * improve Rd files 27 July 2020, 09:24:07 UTC
b8a5b65 Adding R vignette (#99) 23 July 2020, 09:45:34 UTC
3d526f3 Logo and README update (#98) 23 July 2020, 09:07:38 UTC
29266fb Fix R-CMD-ubuntu test (#97) * Initialize report * Add solvers file * WIP: Add Euler ODE Solver * WIP: Add Euler Method * Add boundary reflections to Euler * Fix boundary reflections * Add test for ODE dx/dt = -x for Euler Method * Add test for dx/dt = x in [0, 1] * Add is_in for multiple reflections * Add normalize flag to get_direction * Minor modifications * WIP: Add HMC for log-concave densities * Add tests for HMC * Add details to README * Add tests for leapfrog method * Add leapfrog method * Add HMC and HMC tests * Separate Euler and Leapfrog * Remove ode_solvers.h * Refactor solver implementations 1. Move solvers to separate file 2. Fix includes. The ode_solvers.h base file includes the rest of the solvers and is respon- sible for doing the correct includes. * Add RK methods header file * WIP: Add generic RK methods * Implement RK methods with testing * Add collocation method header files * Fix bug in RK methods * WIP: Collocation method constructors * WIP: Implement collocation method * Add root_finders header file * Add CHECK() statements and fix minor bugs * Bug fix for boundary oracle * Add CHEK() for constrained leapfrog * Add Newton-Raphson method for root finding * Add return statement * Add notice * Add regularization (smoothing) and max_iters * Add const where needed * Add BS method * Add Bulirsch-Stoer implementation * Add Bulirsch-Stoer implementation * Add constrained BS method * WIP: Debug collocation method * WIP: Debug collocation method * Add rational fcn and grad of rational fcn functors * WIP: Add testcase for collocation methods * Fix BS method * Minor changes * Add resources to ODE solvers * Initialize curve_intersect for Hpoly * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Add isinf for well-posedness of denominator in NR * Move func template one level above (for ULD to work later) * Initialize boundary oracles test * Add boundary oracle test CMake targets * Initialize boundary oracles tests * Working boundary oracle for H-polytope 1. Uses Newton-Raphson for solving transcendental equations 2. Can find multiple/one root 3. Tests are implemented for the curves (t, t) and (t, 2t^2) * Initialize NLP oracles (general curve w/ polytope) * Finish boundary oracle tests for H-polytope * Add ifopt and ipopt to CMakeLists.txt * Add wrapper function for nlp oracles * Working nlp H-polyoracle * Rename nlp polyoracles to avoid confusion with lp oracles * Remove old polyoracles file * Document NLP hpolyoracles * Minor refactoring * Add wrapper function * WIP: Initialize NLP oracle for V-polytope * Update readme with GSoC information * Add benchmarks with random polynomials * Modify membership condition * Restrain test to t only * Bug fixes * Code cleanup * Move to old commit (before merge) * Merge ode solvers * Rename testcases * Merge root finders test * Move hmc to sampling/ directory * Partial fix for V polyoracles with ipopt * Fix linear collocation method * Fix collocation with approximate computation * Improve README file * Add precomputation flag * Improve NR solver * Add central method for curve_intersect * Change return type of nlp vpolyoracle to return dummy facet * WIP: Integrate boundary oracles to collocation * Fix collocation method boundary oracles (w/ tests) * Bug fixes * Add mpsolve and gmp to CMakeLists.txt * Implement mpsolve wrapper * WIP: Integrate mpsolve * Fix preprocessor directives * Add boundary oracle with mpsolve * Fix minor issues * Fix existing working tests * Add min_pos optimization problem * WIP: Minor changes in way of reflection * Remove hmc sampler temporarily (move it to temp branch) * Fix reflections * Add dependencies(mpsolve, ipopt/ifopt) to CircleCI * Fix config * Fix config * Fix config * Add dependency at circleci config * Add dependency at circleci config * Add dependency at circleci config * Add dependency at circleci config * Add dependency at circleci config * Add root finders test * Minor fixes in boundary oracles * Fix bounded collocation * Typo fix * Add missing test to cmakelists * Add #undef where it is needed * Remove extraneous dynamic linking * Fix erroneous flag * Remove hmc tests (moved to other branch) * Update clang and g++ workflows * Fix failing R tests * Fix failing R tests * Split checking for ubuntu/macOS * Remove misplaced if statement * Add CMAKE_CXX_COMPILER flag to ifopt * Correct test name * Remove sudo in front of brew cmd * Add automake dependency * Change error_on from "warning" to "error" * Add preprocessor directive to disable NLP oracles * Add flag for disabling oracles * Add macro definitions for disabling oracles * Add windows workflow * Modify windows workflow * Change Makevars.win * Change Makevars.win * Change Makevars.win * Disable NLP oracles to all tests * Modify circleci build * Modify circleci build * Add preprocessor directive * Remove report * Remove GSoC details * Move macro * Remove unused typedefs * Modify copyright notices * Fix typo * Rename rk.h to runge_kutta.hpp * Minor correction * Rename .h to .hpp in ODE solvers * Rename nlp oracles from .h to .hpp * Rename root finders * Remove duplicate include * Reorder #include directives * Refactoring * Rename file * Add velocity reflections * Remove extraneous constructors * Add general docs for solvers * Temp refactoring * Fix minor bugs * Remove flag from richardson implementation * Add facet ignore * Finish oracles refactoring * Consistent copyright notices * Add accidentally removed templates * Consistent copyright notices * Add nlp_oracles.hpp main header file * Minor modifications * Change variable name from oracle to intersection_oracle * Remove unused file * Add higher-order reflections * Add missing ignore_facet * Wrap long lines * Remove print statement * Impose sticky boundary conditions for collocation * Impose sticky boundary conditions for collocation * WIP: Add integral collocation method class prototype * Delete integral_collocation.hpp * Modifications to collocation method * Iteratively solve non-linear equations * Fix bugs * Minor modifications to test routines * Optimize function oracles * Comment for future work * Minor changes * Remove comments from yaml * Restore README * Restore README * Remove unecessary comments * Remove comments * Add 3 badges 20 July 2020, 06:44:53 UTC
b2470c5 Accelerated billiard walk (#92) * initial implementation of billiard walk * improved billiard completed for H-polytopes * modify v-polytopes and zonotopes to be used by improved billiard walk * update polytope intersection ball to be used by new billiard walk * update point and volume rcpp function * expose improved billiard to sample_points R function * fix bugs including header in rcpp interface * fix compile bugs in compute_reflection of ball.h * update contribution comments in new header file * update contribution comments in new header files * fix default random walk in volume computation, remove unused comments * update Rcpp function volume * fix c++ tests * minor improvements and update roxygen comments in volume.cpp * improve R interface in volume.cpp * improve r interface in sample_points.cpp * fix compiler errors * improve computation of AA in billiard * remove useless comments 17 July 2020, 09:08:47 UTC
c0cc48c ODE Solvers (Milestone I) (#90) * Initialize report * Add solvers file * WIP: Add Euler ODE Solver * WIP: Add Euler Method * Add boundary reflections to Euler * Fix boundary reflections * Add test for ODE dx/dt = -x for Euler Method * Add test for dx/dt = x in [0, 1] * Add is_in for multiple reflections * Add normalize flag to get_direction * Minor modifications * WIP: Add HMC for log-concave densities * Add tests for HMC * Add details to README * Add tests for leapfrog method * Add leapfrog method * Add HMC and HMC tests * Separate Euler and Leapfrog * Remove ode_solvers.h * Refactor solver implementations 1. Move solvers to separate file 2. Fix includes. The ode_solvers.h base file includes the rest of the solvers and is respon- sible for doing the correct includes. * Add RK methods header file * WIP: Add generic RK methods * Implement RK methods with testing * Add collocation method header files * Fix bug in RK methods * WIP: Collocation method constructors * WIP: Implement collocation method * Add root_finders header file * Add CHECK() statements and fix minor bugs * Bug fix for boundary oracle * Add CHEK() for constrained leapfrog * Add Newton-Raphson method for root finding * Add return statement * Add notice * Add regularization (smoothing) and max_iters * Add const where needed * Add BS method * Add Bulirsch-Stoer implementation * Add Bulirsch-Stoer implementation * Add constrained BS method * WIP: Debug collocation method * WIP: Debug collocation method * Add rational fcn and grad of rational fcn functors * WIP: Add testcase for collocation methods * Fix BS method * Minor changes * Add resources to ODE solvers * Initialize curve_intersect for Hpoly * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Boundary oracles * WIP: Add isinf for well-posedness of denominator in NR * Move func template one level above (for ULD to work later) * Initialize boundary oracles test * Add boundary oracle test CMake targets * Initialize boundary oracles tests * Working boundary oracle for H-polytope 1. Uses Newton-Raphson for solving transcendental equations 2. Can find multiple/one root 3. Tests are implemented for the curves (t, t) and (t, 2t^2) * Initialize NLP oracles (general curve w/ polytope) * Finish boundary oracle tests for H-polytope * Add ifopt and ipopt to CMakeLists.txt * Add wrapper function for nlp oracles * Working nlp H-polyoracle * Rename nlp polyoracles to avoid confusion with lp oracles * Remove old polyoracles file * Document NLP hpolyoracles * Minor refactoring * Add wrapper function * WIP: Initialize NLP oracle for V-polytope * Update readme with GSoC information * Add benchmarks with random polynomials * Modify membership condition * Restrain test to t only * Bug fixes * Code cleanup * Move to old commit (before merge) * Merge ode solvers * Rename testcases * Merge root finders test * Move hmc to sampling/ directory * Partial fix for V polyoracles with ipopt * Fix linear collocation method * Fix collocation with approximate computation * Improve README file * Add precomputation flag * Improve NR solver * Add central method for curve_intersect * Change return type of nlp vpolyoracle to return dummy facet * WIP: Integrate boundary oracles to collocation * Fix collocation method boundary oracles (w/ tests) * Bug fixes * Add mpsolve and gmp to CMakeLists.txt * Implement mpsolve wrapper * WIP: Integrate mpsolve * Fix preprocessor directives * Add boundary oracle with mpsolve * Fix minor issues * Fix existing working tests * Add min_pos optimization problem * WIP: Minor changes in way of reflection * Remove hmc sampler temporarily (move it to temp branch) * Fix reflections * Add dependencies(mpsolve, ipopt/ifopt) to CircleCI * Fix config * Fix config * Fix config * Add dependency at circleci config * Add dependency at circleci config * Add dependency at circleci config * Add dependency at circleci config * Add dependency at circleci config * Add root finders test * Minor fixes in boundary oracles * Fix bounded collocation * Typo fix * Add missing test to cmakelists * Add #undef where it is needed * Remove extraneous dynamic linking * Fix erroneous flag * Remove hmc tests (moved to other branch) * Update clang and g++ workflows * Fix failing R tests * Fix failing R tests * Split checking for ubuntu/macOS * Remove misplaced if statement * Add CMAKE_CXX_COMPILER flag to ifopt * Correct test name * Remove sudo in front of brew cmd * Add automake dependency * Change error_on from "warning" to "error" * Add preprocessor directive to disable NLP oracles * Add flag for disabling oracles * Add macro definitions for disabling oracles * Add windows workflow * Modify windows workflow * Change Makevars.win * Change Makevars.win * Change Makevars.win * Disable NLP oracles to all tests * Modify circleci build * Modify circleci build * Add preprocessor directive * Remove report * Remove GSoC details * Move macro * Remove unused typedefs * Modify copyright notices * Fix typo * Rename rk.h to runge_kutta.hpp * Minor correction * Rename .h to .hpp in ODE solvers * Rename nlp oracles from .h to .hpp * Rename root finders * Remove duplicate include * Reorder #include directives * Refactoring * Rename file * Add velocity reflections * Remove extraneous constructors * Add general docs for solvers * Temp refactoring * Fix minor bugs * Remove flag from richardson implementation * Add facet ignore * Finish oracles refactoring * Consistent copyright notices * Add accidentally removed templates * Consistent copyright notices * Add nlp_oracles.hpp main header file * Minor modifications * Change variable name from oracle to intersection_oracle * Remove unused file * Add higher-order reflections * Add missing ignore_facet * Wrap long lines * Remove print statement * Impose sticky boundary conditions for collocation * Impose sticky boundary conditions for collocation * WIP: Add integral collocation method class prototype * Delete integral_collocation.hpp * Modifications to collocation method * Iteratively solve non-linear equations * Fix bugs * Minor modifications to test routines * Optimize function oracles * Comment for future work * Minor changes * Remove comments from yaml * Restore README * Restore README 17 July 2020, 07:44:29 UTC
21c6bf5 Update README.md 15 July 2020, 08:21:21 UTC
ac15c1c Update python interface (#94) * Create setup_hz.py * Create bindings_hz.cpp * Create volestipy_hz.pyx * Create bindings_hz.h * Update bindings_hz.h * Update bindings_hz.cpp * Create volestipy_old.pyx * Delete volestipy_hz.pyx * Create bindings_old.cpp * Delete bindings_hz.cpp * Update bindings.cpp * Create bindings_old.h * Delete bindings_hz.h * Create setup_old.py * Delete setup_hz.py * Update setup.py * Update volestipy.pyx * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.h * Update setup.py * Update setup_old.py * Update bindings.cpp * Update setup.py * Update setup.py * Update volestipy.pyx * Update test1.py * Create test1_old.py * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.h * Update bindings.cpp * Update bindings.h * Update setup.py * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volume_cb_hpolytope.cpp * Update test1.py * Update bindings.cpp * Update test1.py * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update bindings.cpp * Update volestipy.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Create .gitignore * Delete test1_old.py * Delete setup_old.py * Delete bindings_old.h * Delete bindings_old.cpp * Delete volestipy_old.pyx * Update volestipy.pyx * Update bindings.cpp * Update bindings.h * Update .gitignore * Update volume_cb_hpolytope.cpp * Update test1.py * Update test2.py * Update bindings.h * Update setup.py * Update credits.md * on .gitignore: files on test/Testing/Temporary/ were removed from the .gitignore file 10 July 2020, 10:06:15 UTC
a74ae6a Fix bug in boundary cdhr random walk (#91) 22 June 2020, 07:13:58 UTC
d8748d8 Fix deprecated ftime in lpsolve and update README (#89) 18 June 2020, 14:18:31 UTC
a91a312 fix clang++ segmentation fault (#87) * fix clang++ segmentation fault There was a problem with clang when accessing elements of vector spectrahedron.getLMI().getMatrices() - getMatrices() returns std::vector const &. The fix was to make Spectrahedron class method getLMI() return LMI const & - also make LMI constructor take parameter const &, not just & * fix #include paths 16 June 2020, 11:45:27 UTC
dc3bade Merge pull request #86 from vissarion/github-actions-cran GitHub actions for R interface 04 June 2020, 14:21:42 UTC
800886c actions for R 04 June 2020, 13:53:22 UTC
d10b749 Activate tests in github actions (and clang sanitizer) (#85) * Use actions with -fsanitize=memory * Use actions with -fsanitize=memory * Use actions with -fsanitize=memory 03 June 2020, 10:41:50 UTC
b354f40 Sdpa format (#36) * expose Spectrahedron interface to R - create class spectrahedron - expose function to write sdpa format files in R * expose read_sdpa function to R and documentation * R documentation and examples - fix examples - add data for example - add roxygen comments * tests for sdpa format manager - add copyrights headers - add test that writes and reads a sdpa format file - add the test in test/CMakeLists.txt * add example code for sdpa files - create folder examples in root - add an example main to read / write sdpa format files * fix file format * fix file encoding * use soft wrap with lines * create folder spectrahedra - move in new folder spectrahedron.h, LMI.h - update CMakeLists.txt in folder examples, tests - update Makevars in R-prog/src and in cran_gen - add documentation for sdpa file example * examples/spectrahedra documentation * examples/spectrahedra documentation fix headers * rename R modules - rename module in polytopes_modules.cpp to "polytopes" - rename module in spectrahedron_module.cpp to "spectrahedron" - fix dates in copyrights headers in files - add a newline in end of file spectrahedron.h * make LMI::getMatrices() return std::vector const & Also fix parameters documentation in R for functions - readSDPAFormatFile - loadSDPAFormatFile - writeSDPAFormatFile * rename typedefs in spectrahedron.cpp - rename SPECTRAHEDRON typedef to Spectrahedron - remove unneeded class _Spectrahedron in spectrahedron.cpp 03 June 2020, 07:27:56 UTC
01a99a2 Update/restructure Readme (#84) * Update README * Update README 01 June 2020, 08:40:23 UTC
de42d90 Improvements on cran tests and R interface (#83) * fix windows errors in cran checks * update Rd files, fix bugs in direct_sampling and boundary sampling * improve R tests, update description file and fix seeding in cooling hpoly * re order template classes in volume functions * remove skiping for 32-bit in R tests * fix declaration of random walks for uniform sampling * fix the default value of the ball walk radius, fix zonotope c++ test * fix c++ tests * fix c++ tests * fix memory leak in cg algorithm. update R examples and tests * remove unused comments * update dicumentation and Rd files * fix error in lpsolve, seeding in vpolytopeintersection and c++ tests * fix vpolytope-intersection c++ test 01 June 2020, 06:58:11 UTC
294b6a2 cran actions 31 May 2020, 19:19:19 UTC
200c02b Fix CRAN interface (#81) * pass cran check * fix billiard initialization, rounding shifting and seeding * add seed to copula computations 25 May 2020, 07:47:16 UTC
95d18a8 Add simple github actions CI for gcc and clang (#80) 22 May 2020, 12:30:18 UTC
58a079f Merge pull request #79 from vissarion/random_walk_strategies_try Refactoring volume algorithms and random walks 21 May 2020, 19:35:33 UTC
f50bbcb Remove unnecessary constructors in random walks, put const refs 17 May 2020, 19:30:19 UTC
a429037 Add const refs, missing includes, const vars for tolerance, fix some code styling 17 May 2020, 19:24:19 UTC
a40a3d1 Removing unused variables, setting const refs where needed 17 May 2020, 19:19:19 UTC
e398712 Enable tests for CB algorithm with V-cubes 18 May 2020, 11:03:06 UTC
154e500 Resolving conflicts after merging with develop 18 May 2020, 09:44:01 UTC
6f24233 Fix line_intersect function 17 May 2020, 06:51:07 UTC
3527a44 Remove duplicate seed from rcpp 17 May 2020, 06:51:07 UTC
79cf540 Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly 18 May 2020, 08:43:38 UTC
ad2fbf2 Removing old implementation files and renaming 18 May 2020, 08:43:38 UTC
a00946e Improvements and corrections in Rcpp functions (#4) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * implmentation of diameter computation of all convex bodies except Vpoly-intersection * add Vpolyintersection diameter computation and volume approximation * new implmentation of rounding * add rounding in zonotope volume approximation with Hpoly in MMC * dispatching in ratio estimation * update ratio estimation functions * implmemrnt dispatching for diameter computation * improve ratio estimation code structure * update declaration of parameters in random walks * update parameter declaretion for both ball and billiard walks * modify Rcpp expose for volume and sampling C++ functions * modify Rcpp rounding function * update rounding, sampling, volume rcpp dunctions: typedefs and includes * modify zonotope approximation Rcpp function. minor changes to Rcpp volume and sampling functions * fix compiler errors * update d files * fix compiler errors in c++ tests * add seed in rounding and direct_sampling Rcpp functions * add a second volume function to use fixed seed in Rcpp interface * fix rcpp interface 18 May 2020, 08:43:38 UTC
28da0e8 Restructuring volume algorithms and random walks 18 May 2020, 08:43:38 UTC
ede4c5b Rcpp functions with the new structure (#3) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * implmentation of diameter computation of all convex bodies except Vpoly-intersection * add Vpolyintersection diameter computation and volume approximation * new implmentation of rounding * add rounding in zonotope volume approximation with Hpoly in MMC * dispatching in ratio estimation * update ratio estimation functions * implmemrnt dispatching for diameter computation * improve ratio estimation code structure * update declaration of parameters in random walks * update parameter declaretion for both ball and billiard walks * modify Rcpp expose for volume and sampling C++ functions * modify Rcpp rounding function * update rounding, sampling, volume rcpp dunctions: typedefs and includes * modify zonotope approximation Rcpp function. minor changes to Rcpp volume and sampling functions * fix compiler errors * update d files * fix compiler errors in c++ tests * add seed in rounding and direct_sampling Rcpp functions * add a second volume function to use fixed seed in Rcpp interface 18 May 2020, 08:43:38 UTC
8021daf New rounding implementation ans volume approximation for V-poytopes intersection (#2) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully * implmentation of diameter computation of all convex bodies except Vpoly-intersection * add Vpolyintersection diameter computation and volume approximation * new implmentation of rounding * add rounding in zonotope volume approximation with Hpoly in MMC * dispatching in ratio estimation * update ratio estimation functions * implmemrnt dispatching for diameter computation * improve ratio estimation code structure 18 May 2020, 08:43:38 UTC
70114b2 Passing walks as objects to volume with runtime arguments 18 May 2020, 08:43:38 UTC
b48b411 Fixing tests 18 May 2020, 08:43:38 UTC
f922c71 Implementation of cb algorithm with H-polytopes in MMC for zonotopes (#1) * correct input list algo in Rcpp volume.cpp * Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly * overloading rotating() function and remove unused comments * implement zonotope volume computation with cb algorithm and hpoly in MMC * fix all bugs in new cooling_hpoly algorithm and improve test function * all tests for zonotopes with c algortihm passed successfully 18 May 2020, 08:43:38 UTC
ade5951 Tests for CG/vpolytopes 18 May 2020, 08:43:38 UTC
c92df0c Update delta after walk construction 18 May 2020, 08:43:38 UTC
38b2f82 Fix accuracy of CDHR in CG 18 May 2020, 08:43:38 UTC
597b37a Fixes in cooling gaussian algorithm and tests 18 May 2020, 08:43:38 UTC
f880d8d Fix tests for CB algorithm and hpolytopes 18 May 2020, 08:43:38 UTC
c138a05 Fix walk initialization for CB algorithm 18 May 2020, 08:43:38 UTC
e15b560 Tests for CB algorithms and various walks (expect to fail at this stage) 18 May 2020, 08:43:38 UTC
2feee11 Benchmarks and tests (sob and gc algorithms) 18 May 2020, 08:43:38 UTC
770feee Tests for sob algo using hpoly 18 May 2020, 08:43:38 UTC
00032c3 Const references and styling for cooling balls algorithm 18 May 2020, 08:43:38 UTC
25d9824 overloading rotating() function and remove unused comments 10 April 2020, 13:56:59 UTC
ef5da16 Improvements in rounding and rotating R functions (#76) * add seed in rotate_polytope and update Rd files * update R rounding function to return the linear map * fix rounding in V-poly 10 April 2020, 13:35:17 UTC
1dbcd6e New design for cooling balls algorithm 04 April 2020, 06:51:07 UTC
c660509 Fixing the scope of variables and using const where possible in gausian annealing 04 April 2020, 06:51:07 UTC
cd56f60 Fixing the scope of several variables in gaussian cooling 04 April 2020, 06:51:07 UTC
2bdf48f Update delta for ball walk and removing unused paremeter passing in gaussing cooling algorithm 04 April 2020, 06:51:07 UTC
ea889a9 CDHR walk for GC algorithm 04 April 2020, 06:51:07 UTC
c3d40df RDHR walk for GC algorithm 04 April 2020, 06:51:07 UTC
63ec811 Ball walk for GC algorithm 04 April 2020, 06:51:07 UTC
2c7024a Design simpler Walk interface 04 April 2020, 06:51:07 UTC
4a4357a RNG interface with fixed seed 04 April 2020, 06:51:07 UTC
9d700f5 Random number generator struct 04 April 2020, 06:51:07 UTC
d507165 Expose rnd seed in highest level 04 April 2020, 06:51:07 UTC
3ac7cdb Optimization: move random generators creation outside of random walk helpers 04 April 2020, 06:51:07 UTC
e173645 New volume function example 04 April 2020, 06:51:07 UTC
209c13a Cleanup SoB volume algorithm 04 April 2020, 06:51:07 UTC
69664de Use billiard walk in SOB algorithm (#75) * fix seed in rand_hpoly_generator * enable SOB algorithm with billiard walk * enable SOB algorithm with billiard walk in c++ interface 04 April 2020, 06:51:07 UTC
fa05bcf Fix seed in gen_rand_hpoly (#74) * update input variable names in sample_points(), direct_sampling() and vpolytope-intersection R class * change 'algo' to 'settings' in volume function. remove unused methods in c++ polytope classes * update R tests and NEWS.md file * update zonotope_approximation input variables * delete cran package files * fix seed in rand_hpoly_generator 18 May 2020, 08:36:29 UTC
e78733f delete cran package files 18 May 2020, 08:36:29 UTC
0a82201 update zonotope_approximation input variables 18 May 2020, 08:36:29 UTC
5235766 update R tests and NEWS.md file 18 May 2020, 08:36:29 UTC
d55ff2b change 'algo' to 'settings' in volume function. remove unused methods in c++ polytope classes 18 May 2020, 08:36:29 UTC
44c9b7c update input variable names in sample_points(), direct_sampling() and vpolytope-intersection R class 18 May 2020, 08:36:29 UTC
back to top