├── .github └── workflows │ ├── build.yml │ └── test.yml ├── .gitignore ├── LICENSE ├── README.md ├── gfosd ├── __init__.py ├── components │ ├── __init__.py │ ├── aggregate.py │ ├── base_graph_class.py │ ├── basis_constraints.py │ ├── equality_constraints.py │ ├── finite_set.py │ ├── inequality_constraints.py │ ├── sums.py │ └── utilities.py ├── data_generators.py └── problem.py ├── notebooks ├── L1-trend_OSD.ipynb ├── Simple_convex_example-3_ways.ipynb ├── Simple_convex_example-graph_form.ipynb ├── Simple_convex_example-qss.ipynb ├── Simple_nonconvex_example-qss.ipynb └── canonicalized_problem.pkl ├── osd ├── __init__.py ├── classes │ ├── C │ │ ├── __init__.py │ │ ├── l1_tf │ │ │ ├── COPYING.TXT │ │ │ ├── Makefile │ │ │ ├── Makefile.solaris │ │ │ ├── README.TXT │ │ │ ├── blas.h │ │ │ ├── l1tf │ │ │ ├── l1tf.c │ │ │ ├── l1tf.h │ │ │ ├── lapack.h │ │ │ ├── main.c │ │ │ ├── make.sh │ │ │ ├── result.txt │ │ │ └── snp500.txt │ │ └── make_l1_trend_module.py │ ├── __init__.py │ ├── approx_periodic.py │ ├── asymmetric_noise.py │ ├── base_graph_class.py │ ├── blank.py │ ├── boolean.py │ ├── component.py │ ├── constant.py │ ├── frozen.py │ ├── linear_trend.py │ ├── markov.py │ ├── mean_square_small.py │ ├── norm1_first.py │ ├── norm1_second.py │ ├── one_jump.py │ ├── piecewise_constant.py │ ├── quad_lin.py │ ├── quadlin_utilities.py │ ├── smooth_first.py │ ├── smooth_second.py │ ├── sparse.py │ ├── time_smooth_entry_close.py │ └── wrappers.py ├── generators.py ├── masking.py ├── polish.py ├── problem.py ├── signal_decomp_admm.py ├── signal_decomp_bcd.py ├── utilities.py └── validation.py ├── pyproject.toml ├── requirements.txt └── tests ├── __init__.py ├── fixtures ├── set_columns_equal_test_case_generation.ipynb ├── vector_smooth_low_var.txt ├── vector_smooth_periodic_low_var.txt ├── vector_test_case_generation-periodic.ipynb └── vector_test_case_generation.ipynb └── osd ├── __init__.py ├── test_cols_equal.py ├── test_masking_operators.py ├── test_sine_square.py ├── test_vector_periodic_problem.py └── test_vector_problem.py /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/README.md -------------------------------------------------------------------------------- /gfosd/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/__init__.py -------------------------------------------------------------------------------- /gfosd/components/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/__init__.py -------------------------------------------------------------------------------- /gfosd/components/aggregate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/aggregate.py -------------------------------------------------------------------------------- /gfosd/components/base_graph_class.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/base_graph_class.py -------------------------------------------------------------------------------- /gfosd/components/basis_constraints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/basis_constraints.py -------------------------------------------------------------------------------- /gfosd/components/equality_constraints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/equality_constraints.py -------------------------------------------------------------------------------- /gfosd/components/finite_set.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/finite_set.py -------------------------------------------------------------------------------- /gfosd/components/inequality_constraints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/inequality_constraints.py -------------------------------------------------------------------------------- /gfosd/components/sums.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/sums.py -------------------------------------------------------------------------------- /gfosd/components/utilities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/components/utilities.py -------------------------------------------------------------------------------- /gfosd/data_generators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/data_generators.py -------------------------------------------------------------------------------- /gfosd/problem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/gfosd/problem.py -------------------------------------------------------------------------------- /notebooks/L1-trend_OSD.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/notebooks/L1-trend_OSD.ipynb -------------------------------------------------------------------------------- /notebooks/Simple_convex_example-3_ways.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/notebooks/Simple_convex_example-3_ways.ipynb -------------------------------------------------------------------------------- /notebooks/Simple_convex_example-graph_form.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/notebooks/Simple_convex_example-graph_form.ipynb -------------------------------------------------------------------------------- /notebooks/Simple_convex_example-qss.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/notebooks/Simple_convex_example-qss.ipynb -------------------------------------------------------------------------------- /notebooks/Simple_nonconvex_example-qss.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/notebooks/Simple_nonconvex_example-qss.ipynb -------------------------------------------------------------------------------- /notebooks/canonicalized_problem.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/notebooks/canonicalized_problem.pkl -------------------------------------------------------------------------------- /osd/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/__init__.py -------------------------------------------------------------------------------- /osd/classes/C/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/COPYING.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/COPYING.TXT -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/Makefile -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/Makefile.solaris: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/Makefile.solaris -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/README.TXT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/README.TXT -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/blas.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/blas.h -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/l1tf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/l1tf -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/l1tf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/l1tf.c -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/l1tf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/l1tf.h -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/lapack.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/lapack.h -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/main.c -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/make.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/make.sh -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/result.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/result.txt -------------------------------------------------------------------------------- /osd/classes/C/l1_tf/snp500.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/l1_tf/snp500.txt -------------------------------------------------------------------------------- /osd/classes/C/make_l1_trend_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/C/make_l1_trend_module.py -------------------------------------------------------------------------------- /osd/classes/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/__init__.py -------------------------------------------------------------------------------- /osd/classes/approx_periodic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/approx_periodic.py -------------------------------------------------------------------------------- /osd/classes/asymmetric_noise.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/asymmetric_noise.py -------------------------------------------------------------------------------- /osd/classes/base_graph_class.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/base_graph_class.py -------------------------------------------------------------------------------- /osd/classes/blank.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/blank.py -------------------------------------------------------------------------------- /osd/classes/boolean.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/boolean.py -------------------------------------------------------------------------------- /osd/classes/component.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/component.py -------------------------------------------------------------------------------- /osd/classes/constant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/constant.py -------------------------------------------------------------------------------- /osd/classes/frozen.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/frozen.py -------------------------------------------------------------------------------- /osd/classes/linear_trend.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/linear_trend.py -------------------------------------------------------------------------------- /osd/classes/markov.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/markov.py -------------------------------------------------------------------------------- /osd/classes/mean_square_small.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/mean_square_small.py -------------------------------------------------------------------------------- /osd/classes/norm1_first.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/norm1_first.py -------------------------------------------------------------------------------- /osd/classes/norm1_second.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/norm1_second.py -------------------------------------------------------------------------------- /osd/classes/one_jump.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/one_jump.py -------------------------------------------------------------------------------- /osd/classes/piecewise_constant.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/piecewise_constant.py -------------------------------------------------------------------------------- /osd/classes/quad_lin.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/quad_lin.py -------------------------------------------------------------------------------- /osd/classes/quadlin_utilities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/quadlin_utilities.py -------------------------------------------------------------------------------- /osd/classes/smooth_first.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/smooth_first.py -------------------------------------------------------------------------------- /osd/classes/smooth_second.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/smooth_second.py -------------------------------------------------------------------------------- /osd/classes/sparse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/sparse.py -------------------------------------------------------------------------------- /osd/classes/time_smooth_entry_close.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/time_smooth_entry_close.py -------------------------------------------------------------------------------- /osd/classes/wrappers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/classes/wrappers.py -------------------------------------------------------------------------------- /osd/generators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/generators.py -------------------------------------------------------------------------------- /osd/masking.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/masking.py -------------------------------------------------------------------------------- /osd/polish.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/polish.py -------------------------------------------------------------------------------- /osd/problem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/problem.py -------------------------------------------------------------------------------- /osd/signal_decomp_admm.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/signal_decomp_admm.py -------------------------------------------------------------------------------- /osd/signal_decomp_bcd.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/signal_decomp_bcd.py -------------------------------------------------------------------------------- /osd/utilities.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/utilities.py -------------------------------------------------------------------------------- /osd/validation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/osd/validation.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/pyproject.toml -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/requirements.txt -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/fixtures/set_columns_equal_test_case_generation.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/fixtures/set_columns_equal_test_case_generation.ipynb -------------------------------------------------------------------------------- /tests/fixtures/vector_smooth_low_var.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/fixtures/vector_smooth_low_var.txt -------------------------------------------------------------------------------- /tests/fixtures/vector_smooth_periodic_low_var.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/fixtures/vector_smooth_periodic_low_var.txt -------------------------------------------------------------------------------- /tests/fixtures/vector_test_case_generation-periodic.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/fixtures/vector_test_case_generation-periodic.ipynb -------------------------------------------------------------------------------- /tests/fixtures/vector_test_case_generation.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/fixtures/vector_test_case_generation.ipynb -------------------------------------------------------------------------------- /tests/osd/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/osd/test_cols_equal.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/osd/test_cols_equal.py -------------------------------------------------------------------------------- /tests/osd/test_masking_operators.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/osd/test_masking_operators.py -------------------------------------------------------------------------------- /tests/osd/test_sine_square.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/osd/test_sine_square.py -------------------------------------------------------------------------------- /tests/osd/test_vector_periodic_problem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/osd/test_vector_periodic_problem.py -------------------------------------------------------------------------------- /tests/osd/test_vector_problem.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cvxgrp/signal-decomposition/HEAD/tests/osd/test_vector_problem.py --------------------------------------------------------------------------------