Skip to main content

Null Space Optimizer

nullspace_optimizer is a Python package implementing the null space algorithm for nonlinear constrained optimization. It has been developed in the context of topology optimization problems with the level-set and the density method, but it can in principle be used for solving arbitrary smooth nonlinear equality and inequality constrained optimization problems of the form

\begin{aligned}
\begin{aligned}
    \min_{x\in \mathcal{X}}&  \quad J(x)\\
    \textrm{s.t.} & \left\{\begin{aligned}
 g_i(x)&=0, \text{ for all } 1\leqslant i\leqslant p,\\
 h_j(x)  &\leqslant  0, \text{ for all }1\leqslant j \leqslant q,\\ 
        \end{aligned}\right.
\end{aligned}
\end{aligned}   

Optimization trajectories produced by the Null Space Optimizer for an inequality constrained optimization problem with different initialization.{.align-center width="400px"}

Official documentation

Official documentation

Contribute and support

If I am not responding on the issue tracker, feel free to send me an email to florian.feppon[at]kuleuven.be

Citation

Please cite either of the following references when using this source:

Feppon F., Allaire G. and Dapogny C. Null space gradient flows for constrained optimization with applications to shape optimization. 2020. ESAIM: COCV, 26 90 doi:10.1051/cocv/2020015

Feppon F. Density based topology optimization with the Null Space Optimizer: a tutorial and a comparison (2024).
Structural and Multidisciplinary Optimization, 67(4), 1-34.

@article{feppon2020optim,
   author = {{Feppon, F.} and {Allaire, G.} and {Dapogny, C.}},
   doi = {10.1051/cocv/2020015},
   journal = {ESAIM: COCV},
   pages = {90},
   title = {Null space gradient flows for constrained optimization with applications to shape optimization},
   url = {https://doi.org/10.1051/cocv/2020015},
   volume = 26,
   year = 2020
}
@article{Feppon2024density,
  title     = "Density-based topology optimization with the Null Space Optimizer: a tutorial and a comparison",
  author    = "Feppon, Florian",
  journal   = "Structural and Multidisciplinary Optimization",
  publisher = "Springer",
  volume    =  67,
  number    =  1,
  pages     = "1--34",
  month     =  jan,
  year      =  2024
}

Licence

The Null Space Optimizer is a free software distributed under the terms of the GNU General Public Licence GPL3.

Metadata

Release files for nullspace-optimizer 1.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nullspace-optimizer 1.3.0
File Size Uploaded
nullspace_optimizer-1.3.0.tar.gz 85.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nullspace-optimizer 1.3.0
File Interpreter ABI Platform
nullspace_optimizer-1.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 219.2 kB

Release files / nullspace_optimizer-1.3.0.tar.gz

Download URL nullspace_optimizer-1.3.0.tar.gz
Size 85.1 kB
Tags Source
SHA-256 checksum
How to use checksums
779214302b6d09b36bae8a0fc04cf7381f3d8b4c2a851fb0e918de8feb33fb01
BLAKE2b-256 checksum
How to use checksums
69740b8c958bae9dd03aec8af2010d0c5000cd70fe72c25431e2ffc4b551bdd3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.5

Release files / nullspace_optimizer-1.3.0-py3-none-any.whl

Download URL nullspace_optimizer-1.3.0-py3-none-any.whl
Size 134.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
992ee8cb8753dfaf852e94de9e04fb69e4c836c40d9216a688c2a05e3415ca7e
BLAKE2b-256 checksum
How to use checksums
1223a3fbd0f48767c8712f9572b744ffbf777c81b9211445ece82583388c3c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.5

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 release files

1.2.6

1 release file

1.2.5

1 release file

1.2.4

1 release file

1.2.3

1 release file

1.2.2

1 release file

1.2.1

2 release files

1.2.0

1 release file

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page