transform_vars_blockrotation.c File Reference

Implementation of performing a block-rotation transformation on decision values. More...

#include <assert.h>
#include "coco.h"
#include "coco_problem.c"
#include "transform_vars_blockrotation_helpers.c"

Data Structures

struct  transform_vars_blockrotation_t
 Data type for transform_vars_blockrotation. More...
 

Functions

static void transform_vars_blockrotation_get_row (coco_problem_t *problem, size_t i, double *y)
 
static void transform_vars_blockrotation_apply (coco_problem_t *problem, const double *x, double *y)
 
static void transform_vars_blockrotation_evaluate (coco_problem_t *problem, const double *x, double *y)
 
static void transform_vars_blockrotation_free (void *stuff)
 
static void transform_vars_blockrotation_test (coco_problem_t *problem, double precision)
 
static coco_problem_ttransform_vars_blockrotation (coco_problem_t *inner_problem, const double *const *B, const size_t number_of_variables, const size_t *block_sizes, const size_t nb_blocks)
 

Detailed Description

Implementation of performing a block-rotation transformation on decision values.

x |-> Bx The matrix B is stored in a 2-D array. Only the content of the blocks are stored

Function Documentation

static coco_problem_t* transform_vars_blockrotation ( coco_problem_t inner_problem,
const double *const *  B,
const size_t  number_of_variables,
const size_t *  block_sizes,
const size_t  nb_blocks 
)
static
static void transform_vars_blockrotation_apply ( coco_problem_t problem,
const double *  x,
double *  y 
)
static
static void transform_vars_blockrotation_evaluate ( coco_problem_t problem,
const double *  x,
double *  y 
)
static
static void transform_vars_blockrotation_free ( void *  stuff)
static
static void transform_vars_blockrotation_get_row ( coco_problem_t problem,
size_t  i,
double *  y 
)
static
static void transform_vars_blockrotation_test ( coco_problem_t problem,
double  precision 
)
static