[go: nahoru, domu]

Skip to content

Minimizing the Riesz energy using some standard solvers

Notifications You must be signed in to change notification settings

OVlasiuk/RieszEnergyOptimization

Repository files navigation

Description

Minimizing the Riesz energy using some standard solvers. The code tries to find a (local) minimum of an energy functional generated by a discrete subset of the ** d ** -dimensional unit sphere assuming the points of this subset interact via the Riesz kernel: |x1-x2|^-s.

The problem is controlled by a set of parameters specified in the control.inp file:

  • s is the power used in Riesz kernel
  • dim dimension of the ambient space
  • file is an int, controlling whether a starting configuration is provided; if not, a random one is generated
  • numpts total number of points in the configuration
  • outfile name of the output file; .txt extension will be appended
  • LBFGSHistorySize previous iterations of the LBFGS-method that need to be taken into account

Written with Ziqi (Ken) Yang with input from Doug Hardin and his collaborators. Based on a Cpp solver library

The uppercase prefix shows the solver that's being used. Suffixes: _parallel uses OMP, _truncated minimizes an energy produced by the truncated version of the Riesz kernel.

ATTN: since commit 94e0ea4 only L-BFGS_truncated.cpp is used. This is to be changed sometime soon.

Installation

Eigen:

  • sudo apt-get install libeigen3-dev (deb-based distributions)
  • brew install eigen (MacOS)

Usage

  • set parameter values in control.inp
  • cmake .
  • make
  • ./main

About

Minimizing the Riesz energy using some standard solvers

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published