GithubHelp home page GithubHelp logo

sanurielf / kvxopt Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cvxopt/cvxopt

10.0 10.0 1.0 27.28 MB

KVXOPT -- Python Software for Convex Optimization containing more wrappers suite-sparse.

License: Other

Python 33.72% C 63.24% JetBrains MPS 3.04%

kvxopt's People

Contributors

cuihantao avatar dariomangoni avatar erelson avatar jakirkham avatar jamesjer avatar johnyf avatar martinandersen avatar mattip avatar praecipue avatar sanurielf avatar tujian avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

cuihantao

kvxopt's Issues

user specified ordering

Great package! Just wonder whether the KLU solver supports custom ordering instead of the default AMD? I noticed cholmod supports this feature *1, but awkwardly I cannot find any documents about this for KLU.

BTW, I tried to search KLU as key words in this repo but cannot find any code related. Where should I find the relevant doc and source code? Sorry for this dumb question and thank you in advance!

Again, great package! KLU is FAST!

`pip check` failed, probably due to version number

Hello Uriel,

I hope all is well with you! I'm seeing some weird CI error from the ANDES Conda-forge builder.

Here's the log of a recent CI output:

https://dev.azure.com/conda-forge/84710dde-1620-425b-80d0-4cf5baca359d/_apis/build/builds/870561/logs/7

2024-02-04T21:00:18.2055603Z 
2024-02-04T21:00:18.2056437Z The following NEW packages will be INSTALLED:
2024-02-04T21:00:18.2056725Z 
2024-02-04T21:00:18.2057418Z     _libgcc_mutex:    0.1-conda_forge             conda-forge
2024-02-04T21:00:18.2058129Z     _openmp_mutex:    4.5-2_gnu                   conda-forge
2024-02-04T21:00:18.2058596Z     andes:            1.9.0-pyhd8ed1ab_0          local      
2024-02-04T21:00:18.2059053Z     brotli:           1.1.0-hd590300_1            conda-forge
2024-02-04T21:00:18.2059525Z     brotli-bin:       1.1.0-hd590300_1            conda-forge
2024-02-04T21:00:18.2059974Z     bzip2:            1.0.8-hd590300_5            conda-forge
2024-02-04T21:00:18.2060455Z     ca-certificates:  2024.2.2-hbcca054_0         conda-forge
2024-02-04T21:00:18.2060930Z     certifi:          2024.2.2-pyhd8ed1ab_0       conda-forge
2024-02-04T21:00:18.2061398Z     chardet:          5.2.0-py312h7900ff3_1       conda-forge
2024-02-04T21:00:18.2061862Z     colorama:         0.4.6-pyhd8ed1ab_0          conda-forge
2024-02-04T21:00:18.2062343Z     coloredlogs:      15.0.1-pyhd8ed1ab_3         conda-forge
2024-02-04T21:00:18.2062806Z     contourpy:        1.2.0-py312h8572e83_0       conda-forge
2024-02-04T21:00:18.2063320Z     cycler:           0.12.1-pyhd8ed1ab_0         conda-forge
2024-02-04T21:00:18.2063785Z     dill:             0.3.8-pyhd8ed1ab_0          conda-forge
2024-02-04T21:00:18.2064243Z     dsdp:             5.8-hd9d9efa_1203           conda-forge
2024-02-04T21:00:18.2064698Z     et_xmlfile:       1.1.0-pyhd8ed1ab_0          conda-forge
2024-02-04T21:00:18.2065152Z     fftw:             3.3.10-nompi_hc118613_108   conda-forge
2024-02-04T21:00:18.2065876Z     fonttools:        4.47.2-py312h98912ed_0      conda-forge
2024-02-04T21:00:18.2066385Z     freetype:         2.12.1-h267a509_2           conda-forge
2024-02-04T21:00:18.2066846Z     glpk:             5.0-h445213a_0              conda-forge
2024-02-04T21:00:18.2067299Z     gmp:              6.3.0-h59595ed_0            conda-forge
2024-02-04T21:00:18.2067748Z     gsl:              2.7-he838d99_0              conda-forge
2024-02-04T21:00:18.2068190Z     humanfriendly:    10.0-pyhd8ed1ab_6           conda-forge
2024-02-04T21:00:18.2068653Z     icu:              73.2-h59595ed_0             conda-forge
2024-02-04T21:00:18.2069113Z     kiwisolver:       1.4.5-py312h8572e83_1       conda-forge
2024-02-04T21:00:18.2069581Z     kvxopt:           1.3.2.0-py312h5c6e270_2     conda-forge
... (omitted)

2024-02-04T21:00:18.2103747Z 
2024-02-04T21:00:27.1061043Z Preparing transaction: ...working... done
2024-02-04T21:00:30.4037169Z Verifying transaction: ...working... done
2024-02-04T21:00:42.1839036Z Executing transaction: ...working... done
2024-02-04T21:00:42.2230809Z export PREFIX=/home/conda/feedstock_root/build_artifacts/andes_1707080235100/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_
2024-02-04T21:00:42.2232005Z export SRC_DIR=/home/conda/feedstock_root/build_artifacts/andes_1707080235100/test_tmp
2024-02-04T21:00:42.6251963Z import: 'andes'
2024-02-04T21:00:43.2720397Z import: 'andes.core'
2024-02-04T21:00:43.2721665Z import: 'andes'
2024-02-04T21:00:43.2728591Z import: 'andes.core'
2024-02-04T21:00:43.3655459Z + pip check
2024-02-04T21:00:44.0219538Z andes 1.9.0 has requirement kvxopt>=1.3, but you have kvxopt 0.0.0.
2024-02-04T21:00:44.2317708Z WARNING: Tests failed for andes-1.9.0-pyhd8ed1ab_0.conda - moving package to /home/conda/feedstock_root/build_artifacts/broken

For some reason, the installed KVXOPT 1.3.2.0 is recognized as 0.0.0. I wonder if this is due to the use of non-conventional, four-digit semver by KVXOPT.

CHOLMOD memory leak

When running the tests with valgrind, the following memory leaks were found (repeated several times):

==697== 8 bytes in 1 blocks are still reachable in loss record 10 of 4,759
==697== at 0x483B7F3: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==697== by 0x9700A2B: cholmod_l_malloc (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x96FBCF9: cholmod_l_allocate_work (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x9714A41: cholmod_l_analyze_p2 (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x9682F92: symbolic (cholmod.c:274)
==697== by 0x178751: _PyMethodDef_RawFastCallKeywords (call.c:690)
==697== by 0x1788DA: _PyCFunction_FastCallKeywords (call.c:730)
==697== by 0x222D3A: call_function (ceval.c:4568)
==697== by 0x22ED3F: _PyEval_EvalFrameDefault (ceval.c:3093)
==697== by 0x223E0F: PyEval_EvalFrameEx (ceval.c:547)
==697== by 0x224892: _PyEval_EvalCodeWithName (ceval.c:3930)
==697== by 0x178075: _PyFunction_FastCallKeywords (call.c:433)

and

==697== 40 bytes in 1 blocks are still reachable in loss record 98 of 4,759
==697== at 0x483B723: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==697== by 0x483E017: realloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
==697== by 0x9A182AC: ??? (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0)
==697== by 0x9A27581: ??? (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0)
==697== by 0x9A1E8E0: GOMP_parallel (in /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0)
==697== by 0x97502D8: ??? (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x9753D27: cholmod_l_super_numeric (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x971645F: cholmod_l_factorize_p (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x971671A: cholmod_l_factorize (in /usr/lib/x86_64-linux-gnu/libcholmod.so.3.0.14)
==697== by 0x96813C7: numeric (cholmod.c:359)
==697== by 0x178751: _PyMethodDef_RawFastCallKeywords (call.c:690)
==697== by 0x1788DA: _PyCFunction_FastCallKeywords (call.c:730)

Segfault when linearly indexing a sparse matrix

MWE:

from kvxopt import spdiag, matrix

c = spdiag(matrix(range(1,1000)))
c[0:10000:30]

Segfaults on Python 3.9.7 on Ubuntu 20.04. KVXOPT version is 1.2.7.3. The code works fine with CVXOPT 1.2.7.

Wheels for Linux aarch64

This is a tremendous project, it solved the problem I was having with my Apple M1 processor.
However, I have run into a problem when generating a Docker image. The image creation fails when adding this package, as it does not have wheels for Linux ARM. Is there a possibility to add wheels for Linux aarch64?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.