Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

SumFunction, SubsetSumFunction, BlockFunction #10

Open
epapoutsellis opened this issue Jun 29, 2022 · 0 comments
Open

SumFunction, SubsetSumFunction, BlockFunction #10

epapoutsellis opened this issue Jun 29, 2022 · 0 comments

Comments

@epapoutsellis
Copy link
Contributor

epapoutsellis commented Jun 29, 2022

In the cil directory there is an implementation of the SubsetSumFunction which behave similar to the BlockFunction but they are not the same.

The SubsetSumFunction is

$$f(x) = \sum_{i=1}^{n}f_{i}(x)$$ where $f_{i}$ are Functions and n is the number of subsets

The BlockFunction is

$$f(x) = f(x_{1}, x_{2}, x_{3}, \cdots, x_{n} ) = \sum_{i=1}^{n}f_{i}(x_{i})$$

  1. The __call__ method is similar to both Functions. However, in the BlockFunction a BlockDataContainer is expected. In cases where the BlockFunction is used we have different domain in $f_{1}$ and a different domain in $f_{2}$.
  2. There are no proximal or proximal_conjugate methods in SubsetSumFunction. SubsetSumFunction which inherits from SumFunction has no analytical formulas to compute the proximal.
  3. The gradient method is similar to the __call__ method. However, we have again the difference between a DataContainer for the first class and a BlockDataContainer for the second class.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant