Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
09108d7
Testing unittest workflow
ericahan22 Sep 29, 2023
d5a538a
Trying without conda
ericahan22 Sep 29, 2023
6caae8c
Trying with dependencies listed explicitly
ericahan22 Sep 29, 2023
0bfead1
Trying with requirements.txt
ericahan22 Sep 29, 2023
11cc74a
Fix requirements directory
ericahan22 Sep 29, 2023
ae20f91
Fixed test directory
ericahan22 Sep 29, 2023
575efd9
Fixed bugs in typing
ericahan22 Sep 29, 2023
aaa2c7b
Fixed comment on YAML file
ericahan22 Sep 29, 2023
de91e5b
Added steps to set up MOSEK license
ericahan22 Sep 29, 2023
a8929a9
Remove case sensitivity in classical_sources argument
eliewolfe Nov 5, 2024
49be7e1
Remove unnecessary existence check for classical_sources
apozas Nov 12, 2024
35e8b29
Bugfixes to sdp_utils for compatibility with newer scipy versions.
eliewolfe Nov 5, 2024
9dbcc06
Hack to ensure equality generation proceeds correctly even when apply…
eliewolfe Nov 7, 2024
7da64f1
Revert "Hack to ensure equality generation proceeds correctly even wh…
apozas Nov 12, 2024
8fc9dad
Remove legacy parameters and functions from test
apozas Nov 12, 2024
dcb4ba4
Allow _compatible_measurements to depend on modified _default_notcomm…
eliewolfe Nov 20, 2024
86c98eb
Overhauled construction of physical monomials. Fixes minor bug that I…
eliewolfe Nov 21, 2024
263405d
Update test workflow
apozas Nov 22, 2024
f9e409d
Change unittest by pytest
apozas Nov 22, 2024
8ba3124
Remove tests that need MOSEK license
apozas Nov 22, 2024
27f91f6
Comment setup of MOSEK license
apozas Nov 22, 2024
9e9f72e
Fix fail-fast typo
apozas Nov 22, 2024
b431f6a
Add automatic testing of committed code
apozas Nov 22, 2024
c0ca830
Bring counter outside the verbosity loop
apozas Nov 22, 2024
5d78670
Erase unnecessary comp: _monomials_as_lexorder
apozas Nov 22, 2024
b867595
Performance enhancement (potentially dramatic) such that we use a sin…
eliewolfe Nov 25, 2024
58ad58e
Merge remote-tracking branch 'origin/devel' into devel
eliewolfe Nov 25, 2024
14b1dc0
Move make_numerical to tools
apozas Dec 1, 2024
0a57ed4
Remove deprecated to_symbol
apozas Dec 1, 2024
f64d898
Remove dependency on networkx
apozas Dec 1, 2024
968cff8
Remove duplicate code
apozas Dec 1, 2024
46c4d97
Fix tests of generation of physical monomials
apozas Dec 1, 2024
afe597f
Add test for all_and_maximal_cliques
apozas Dec 1, 2024
2c73993
Choose clique-finding function
apozas Dec 1, 2024
96142a1
A bit of code cleanup
apozas Dec 1, 2024
0cd065a
Renaming internal functions and properties in InflationLP for readabi…
Dec 3, 2024
3ae06d1
Update scipy requirement
apozas Dec 14, 2024
4fa7bfc
Update docs to v2.0.2
apozas Dec 14, 2024
d912513
Update to v2.0.2
apozas Dec 14, 2024
68e4736
Update references in documentation
apozas Dec 14, 2024
3a0d3ce
Update website
apozas Dec 14, 2024
137e6b5
Merge branch 'devel'
apozas Dec 14, 2024
476103a
Update python-unittest-ci.yml
ecboghiu Dec 16, 2024
9146ced
Allow all tests of the suite
apozas Jan 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/python-unittest-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# This workflow will install Python dependencies and run tests

name: test

on:
push:
branches: [ ] # Run tests on pushes to any branch
pull_request:
branches: [ "main" ]

jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install mosek numba numpy scipy sympy tqdm
- name: Set up MOSEK license
env:
MOSEK_LICENSE_KEY: ${{ secrets.MOSEK_LICENSE_KEY }}
run: |
mkdir -p $HOME/mosek
echo "$MOSEK_LICENSE_KEY" > $HOME/mosek/mosek.lic
- name: Test with pytest
run: |
pytest -v
- name: Clean up MOSEK license file
run: |
rm $HOME/mosek/mosek.lic
2 changes: 1 addition & 1 deletion docs/_build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 3499f0084671aa32dd3b76f6907174da
config: 5ac241c6c147f17086ae747d1ca39b93
tags: 645f666f9bcd5a90fca523b33c5a78b7
34 changes: 16 additions & 18 deletions docs/_build/html/_modules/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,22 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Overview: module code &mdash; Inflation 2.0.1 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=92fd9be5" />
<link rel="stylesheet" type="text/css" href="../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />

<title>Overview: module code &mdash; Inflation 2.0.2 documentation</title>
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../_static/copybutton.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../_static/js/html5shiv.min.js"></script>
<![endif]-->

<script src="../_static/jquery.js?v=5d32c60e"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../_static/documentation_options.js?v=f5cff4aa"></script>
<script src="../_static/doctools.js?v=9a2dae69"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../_static/copybutton.js?v=a56c686a"></script>
<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/clipboard.min.js"></script>
<script src="../_static/copybutton.js"></script>
<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script src="../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
Expand All @@ -29,11 +31,7 @@
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >



<a href="../contents.html" class="icon icon-home">
Inflation
<a href="../contents.html" class="icon icon-home"> Inflation
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
Expand Down
257 changes: 74 additions & 183 deletions docs/_build/html/_modules/inflation/InflationProblem.html

Large diffs are not rendered by default.

415 changes: 184 additions & 231 deletions docs/_build/html/_modules/inflation/lp/InflationLP.html

Large diffs are not rendered by default.

65 changes: 29 additions & 36 deletions docs/_build/html/_modules/inflation/lp/lp_utils.html
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@


<!DOCTYPE html>
<html class="writer-html5" lang="en" data-content_root="../../../">
<html class="writer-html5" lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>inflation.lp.lp_utils &mdash; Inflation 2.0.1 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css?v=92fd9be5" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/theme.css?v=e59714d7" />
<link rel="stylesheet" type="text/css" href="../../../_static/copybutton.css?v=76b2166b" />

<title>inflation.lp.lp_utils &mdash; Inflation 2.0.2 documentation</title>
<link rel="stylesheet" href="../../../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../../_static/copybutton.css" type="text/css" />
<!--[if lt IE 9]>
<script src="../../../_static/js/html5shiv.min.js"></script>
<![endif]-->

<script src="../../../_static/jquery.js?v=5d32c60e"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
<script src="../../../_static/documentation_options.js?v=f5cff4aa"></script>
<script src="../../../_static/doctools.js?v=9a2dae69"></script>
<script src="../../../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../../../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../../../_static/copybutton.js?v=a56c686a"></script>
<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script data-url_root="../../../" id="documentation_options" src="../../../_static/documentation_options.js"></script>
<script src="../../../_static/jquery.js"></script>
<script src="../../../_static/underscore.js"></script>
<script src="../../../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../../../_static/doctools.js"></script>
<script src="../../../_static/clipboard.min.js"></script>
<script src="../../../_static/copybutton.js"></script>
<script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
<script src="../../../_static/js/theme.js"></script>
<link rel="index" title="Index" href="../../../genindex.html" />
<link rel="search" title="Search" href="../../../search.html" />
Expand All @@ -29,15 +29,11 @@
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" >



<a href="../../../contents.html" class="icon icon-home">
Inflation
<a href="../../../contents.html" class="icon icon-home"> Inflation
</a>
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
<input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
Expand Down Expand Up @@ -68,9 +64,9 @@
<div class="rst-content">
<div role="navigation" aria-label="Page navigation">
<ul class="wy-breadcrumbs">
<li><a href="../../../contents.html" class="icon icon-home" aria-label="Home"></a></li>
<li class="breadcrumb-item"><a href="../../index.html">Module code</a></li>
<li class="breadcrumb-item active">inflation.lp.lp_utils</li>
<li><a href="../../../contents.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../../index.html">Module code</a> &raquo;</li>
<li>inflation.lp.lp_utils</li>
<li class="wy-breadcrumbs-aside">
</li>
</ul>
Expand Down Expand Up @@ -98,7 +94,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>


<span class="k">def</span> <span class="nf">drop_zero_rows</span><span class="p">(</span><span class="n">coo_mat</span><span class="p">:</span> <span class="n">coo_array</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Drops zero rows from a sparse matrix in place.</span>
<span class="sd">&quot;&quot;&quot;Drops zero rows from a sparse matrix in place.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand All @@ -114,7 +110,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>


<span class="k">def</span> <span class="nf">canonical_order</span><span class="p">(</span><span class="n">coo_mat</span><span class="p">:</span> <span class="n">coo_array</span><span class="p">):</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Puts a sparse matrix in canonical order in place.</span>
<span class="sd">&quot;&quot;&quot;Puts a sparse matrix in canonical order in place.</span>

<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand All @@ -137,7 +133,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>
<span class="n">variables</span><span class="p">:</span> <span class="n">List</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
<span class="o">**</span><span class="n">kwargs</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Wrapper function that converts all dictionaries to sparse matrices to</span>
<span class="sd">&quot;&quot;&quot;Wrapper function that converts all dictionaries to sparse matrices to</span>
<span class="sd"> pass to the solver.</span>

<span class="sd"> Parameters</span>
Expand Down Expand Up @@ -210,9 +206,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>


<span class="n">blank_coo_array</span> <span class="o">=</span> <span class="n">coo_array</span><span class="p">((</span><span class="mi">0</span><span class="p">,</span> <span class="mi">0</span><span class="p">),</span> <span class="n">dtype</span><span class="o">=</span><span class="n">np</span><span class="o">.</span><span class="n">int8</span><span class="p">)</span>
<div class="viewcode-block" id="solveLP_sparse">
<a class="viewcode-back" href="../../../solvers.html#inflation.lp.lp_utils.solveLP_sparse">[docs]</a>
<span class="k">def</span> <span class="nf">solveLP_sparse</span><span class="p">(</span><span class="n">objective</span><span class="p">:</span> <span class="n">coo_array</span> <span class="o">=</span> <span class="n">blank_coo_array</span><span class="p">,</span>
<div class="viewcode-block" id="solveLP_sparse"><a class="viewcode-back" href="../../../solvers.html#inflation.lp.lp_utils.solveLP_sparse">[docs]</a><span class="k">def</span> <span class="nf">solveLP_sparse</span><span class="p">(</span><span class="n">objective</span><span class="p">:</span> <span class="n">coo_array</span> <span class="o">=</span> <span class="n">blank_coo_array</span><span class="p">,</span>
<span class="n">known_vars</span><span class="p">:</span> <span class="n">coo_array</span> <span class="o">=</span> <span class="n">blank_coo_array</span><span class="p">,</span>
<span class="n">inequalities</span><span class="p">:</span> <span class="n">coo_array</span> <span class="o">=</span> <span class="n">blank_coo_array</span><span class="p">,</span>
<span class="n">equalities</span><span class="p">:</span> <span class="n">coo_array</span> <span class="o">=</span> <span class="n">blank_coo_array</span><span class="p">,</span>
Expand All @@ -226,7 +220,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>
<span class="n">solverparameters</span><span class="p">:</span> <span class="n">Dict</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
<span class="n">variables</span><span class="p">:</span> <span class="n">List</span> <span class="o">=</span> <span class="kc">None</span>
<span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Internal function to solve an LP with the Mosek Optimizer API using</span>
<span class="sd">&quot;&quot;&quot;Internal function to solve an LP with the Mosek Optimizer API using</span>
<span class="sd"> sparse matrices. Columns of each matrix correspond to a fixed order of</span>
<span class="sd"> variables in the LP.</span>

Expand Down Expand Up @@ -632,9 +626,8 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>
<span class="p">}</span></div>



<span class="k">def</span> <span class="nf">streamprinter</span><span class="p">(</span><span class="n">text</span><span class="p">:</span> <span class="nb">str</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;A stream printer to get output from Mosek.</span>
<span class="sd">&quot;&quot;&quot;A stream printer to get output from Mosek.</span>
<span class="sd"> </span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand All @@ -652,7 +645,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>

<span class="k">def</span> <span class="nf">to_sparse</span><span class="p">(</span><span class="n">argument</span><span class="p">:</span> <span class="n">Union</span><span class="p">[</span><span class="n">Dict</span><span class="p">,</span> <span class="n">List</span><span class="p">[</span><span class="n">Dict</span><span class="p">]],</span>
<span class="n">variables</span><span class="p">:</span> <span class="n">List</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">coo_array</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert a solver argument to a sparse matrix to pass to the solver.</span>
<span class="sd">&quot;&quot;&quot;Convert a solver argument to a sparse matrix to pass to the solver.</span>
<span class="sd"> </span>
<span class="sd"> Parameters</span>
<span class="sd"> ----------</span>
Expand Down Expand Up @@ -690,7 +683,7 @@ <h1>Source code for inflation.lp.lp_utils</h1><div class="highlight"><pre>
<span class="k">def</span> <span class="nf">convert_dicts</span><span class="p">(</span><span class="n">semiknown_vars</span><span class="p">:</span> <span class="n">Dict</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
<span class="n">variables</span><span class="p">:</span> <span class="n">List</span> <span class="o">=</span> <span class="kc">None</span><span class="p">,</span>
<span class="o">**</span><span class="n">kwargs</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="n">Dict</span><span class="p">:</span>
<span class="w"> </span><span class="sd">&quot;&quot;&quot;Convert any dictionaries to sparse matrices to send to the solver.</span>
<span class="sd">&quot;&quot;&quot;Convert any dictionaries to sparse matrices to send to the solver.</span>
<span class="sd"> Semiknown variables are absorbed into the equality constraints.</span>
<span class="sd"> </span>
<span class="sd"> Parameters</span>
Expand Down
Loading
Loading