cyqlone develop
Fast, parallel and vectorized solver for linear systems with optimal control structure.
Loading...
Searching...
No Matches
breakpoint.hpp File Reference
#include <cyqlone/config.hpp>
#include <cyqlone/neumaier.hpp>
#include <guanaqo/tag-invoke.hpp>
#include <span>
#include <vector>

Go to the source code of this file.

Classes

struct  cyqlone::qpalm::Breakpoint
struct  cyqlone::qpalm::ABSums
struct  cyqlone::qpalm::PartitionedBreakpoints
struct  cyqlone::qpalm::BreakpointsResult
struct  cyqlone::qpalm::compute_breakpoints_fn
struct  cyqlone::qpalm::get_partitioned_breakpoints_fn
struct  cyqlone::qpalm::get_breakpoints_fn

Namespaces

namespace  cyqlone
namespace  cyqlone::qpalm

Typedefs

using cyqlone::qpalm::ABSum_t = real_t

Functions

ABSums cyqlone::qpalm::partial_sum_negative (PartitionedBreakpoints breakpoints, real_t η=0, real_t β=0)
template<class Vec>
std::span< Breakpointcyqlone::qpalm::compute_breakpoints_default (std::vector< Breakpoint > &breakpoints, const Vec &Σ, const Vec &y, const Vec &Ad, const Vec &Ax, const Vec &b_min, const Vec &b_max)
 Compute the break points t[i] using formula (3.6) in the QPALM paper.
PartitionedBreakpoints cyqlone::qpalm::partition_breakpoints_default (std::span< Breakpoint > breakpoints)
 Moves any non-finite elements in t to the end of the range, and all negative elements to the front.

Variables

struct cyqlone::qpalm::compute_breakpoints_fn cyqlone::qpalm::compute_breakpoints
struct cyqlone::qpalm::get_partitioned_breakpoints_fn cyqlone::qpalm::get_partitioned_breakpoints
struct cyqlone::qpalm::get_breakpoints_fn cyqlone::qpalm::get_breakpoints

Class Documentation

◆ cyqlone::qpalm::PartitionedBreakpoints

struct cyqlone::qpalm::PartitionedBreakpoints
Class Members
span< Breakpoint > neg_bp
span< Breakpoint > pos_bp

◆ cyqlone::qpalm::BreakpointsResult

struct cyqlone::qpalm::BreakpointsResult
Class Members
PartitionedBreakpoints bp
ABSums ab_neg