LICENSE

Sun, 11 Dec 2022 23:25:53 +0200

author
Tuomo Valkonen <tuomov@iki.fi>
date
Sun, 11 Dec 2022 23:25:53 +0200
changeset 24
d29d1fcf5423
parent 0
eb3c7813b67a
permissions
-rw-r--r--

Support arbitrary regularisation terms; implement non-positivity-constrained regularisation.

* Fixes the conditional gradient methods that were incorrectly solving
positivity constrained subproblems although the infinite-dimensional
versions do not include such constraints.

* Introduces the `ExperimentV2` struct that has `regularisation` in place
of `α`. The `Experiment` struct is now deprecated.

* The L^2-squared experiments were switch to be unconstrained, as the
Franke-Wolfe implementations do not support constraints. (This would
be easy to add for the “fully corrective” variant, but is not
immediate for the “relaxed” variant.)


# Anti-abuse license

## Rationale

The purpose of this license is to give end-users and developers maximal
freedom to use this software while preventing the authors from being
abused by powerful middle-men that repackage software for convenient
installation by users. Such potentially abusive middle-men include in
particular Linux distributions and similar centralising software
distribution schemes developed for other operating systems.
The ethos of this license is *bollocks to copyright and distributions!*

## Rules

This software is distributed without any warranty whatsoever.

If you redistribute modified versions of this software to the public,
you must clearly mark them as modified.

If you redistribute this software to the public as part of a large
collection of software with the purpose of providing end-users with
a convenient installation method, you must do one of the following:

(a) Always redistribute the **unmodified** and **latest** version
provided by the authors. If the lead author releases a new version (on a
specific branch, such as 'stable' or 'development'), you must promptly
make that new version the default version offered to your users (on
that specific branch).

(b) Rename the software, and make it obvious that your modified or obsolete
software is in no way connected to the authors of the original software.
The users of your version should under no circumstances be under the 
illusion that they can contact the lead author or any of the authors
of the original software if they have any complaints or queries.

(c) Do not in any way directly expose this software to your users. 

Otherwise, do whatever you want with this software. In particular, you may
freely use the software as part of other projects, and redistribute to
the public archival copies of the software (as long as your archive cannot
be considered a “convenient installation method” that will be governed by
the rules above).

mercurial