Version 0.1
#include <bcls.h>
Collaboration diagram for BCLS:
Data Fields | |
void * | print_info |
Transit pointer passed (untouched) to the routine print_hook. | |
int(* | print_hook )(void *info, char *msg) |
User-defined print-hook routine. | |
void * | fault_info |
Transit point passed (untouched) to the routine fault_hook. | |
int(* | fault_hook )(void *info, char *msg) |
User-defined fault-hook routine. | |
int(* | Aprod )(int mode, int m, int n, int nix, int ix[], double x[], double y[], void *UsrWrk) |
User-defined matrix-vector multiply routine. | |
int(* | Usolve )(int mode, int m, int n, int nix, int ix[], double v[], double w[], void *UsrWrk) |
User-defined preconditioning routine. | |
int(* | CallBack )(BCLS *ls, void *UsrWrk) |
User-defined callback function. | |
double * | anorm |
User-defined column weights. Length n. Optional. | |
void * | UsrWrk |
User workspace. Passed (untouched) to Aprod. | |
int | print_level |
Log verbosity. | |
int | proj_search |
Type of linesearch. | |
int | newton_step |
Method for computing Newton step. | |
FILE * | minor_file |
Output file for minor iteration log. Timers. | |
BCLS_timer | stopwatch [4] |
int | itnMaj |
No. of major iterations. | |
int | itnMajLim |
Max no. of major iterations. | |
int | itnMin |
No. of cummulative minor (LSQR) iterations. | |
int | itnMinLim |
Max no. of minor (LSQR) iterations. | |
int | nAprodT |
No. of mat-vec calls, with len(ix) = n. | |
int | nAprodF |
No. of mat-vec calls, with 1 < len(ix) < n. | |
int | nAprod1 |
No. of mat-vec calls, with 1 = len(ix). | |
int | nUsolve |
No. of call to Usolve. | |
int | m |
Number of rows in A. | |
int | n |
Number of columns in A. | |
int | mmax |
Maximum no. of rows in A allocated for. | |
int | nmax |
Maximum no. of columns in A allocated for. | |
int | unconstrained |
Properties of the problem. 0 if constrained; 1 if unconstrained. | |
double | damp |
Set by user. Must be >= 0. | |
double | damp_min |
Only used when there's a linear term. | |
double | damp_actual |
Set in newton_step, used in aprod_free. | |
int | exit |
Exit condition. | |
double | soln_obj |
Objective value. | |
double | soln_rNorm |
Residual at solution. | |
double | soln_dInf |
Dual infeasibility of solution. | |
int | soln_jInf |
Variable with maximum dual infeasibility. | |
int | soln_stat |
Status of the solution. | |
double | optTol |
Optimality tolerance. | |
double | conlim |
Upper limit on cond. no. of [A; gamma I]. | |
double | mu |
Armijo sufficient decrease factor. | |
double | backtrack |
Reduction factor for Armijo linesearch. | |
int | backtrack_limit |
Limit on no. of backtracks in linesearch. | |
double | eps |
Machine precision. | |
double | eps2 |
eps ^ 0.50. | |
double | eps3 |
eps ^ 0.75. | |
double | epsx |
Tolerance for x "on bound". | |
double | epsfixed |
Tolerance for x considered "fixed". | |
double | BigNum |
Biggest number we'll allow in x. | |
double * | x |
x(n) solution (allocated by user). | |
double * | b |
b(m): right-hand-side vector (allocated by user). | |
double * | c |
c(n): linear term (allocated by user). | |
double * | bl |
bl(n): lower bounds (allocated by user). | |
double * | bu |
bu(n): upper bounds (allocated by user). | |
double * | r |
(max(n, m)) Residual. | |
double * | g |
(n) Gradient. | |
double * | dx |
(n) Search direction, full space. | |
double * | dxFree |
(n) Search direction, subspace. | |
double * | aBreak |
(n) Step to each breakpoint. | |
int * | iBreak |
(n) Indices of each breakpoint. | |
int * | ix |
(n) Indices of free variables. | |
double * | wrk_u |
(max(n, m)) Workspace. | |
double * | wrk_v |
(max(n, m)) Workspace. | |
double * | wrk_w |
(max(n, m)) Workspace. | |
jmp_buf | jmp_env |
Long jump environment. |
Definition at line 47 of file bcls.h.
void* BCLS::print_info |
Transit pointer passed (untouched) to the routine print_hook.
Definition at line 50 of file bcls.h.
Referenced by bcls_init_prob(), bcls_print(), and bcls_set_print_hook().
int(* BCLS::print_hook)(void *info, char *msg) |
User-defined print-hook routine.
Referenced by bcls_init_prob(), bcls_print(), and bcls_set_print_hook().
void* BCLS::fault_info |
Transit point passed (untouched) to the routine fault_hook.
Definition at line 56 of file bcls.h.
Referenced by bcls_fault(), bcls_init_prob(), and bcls_set_fault_hook().
int(* BCLS::fault_hook)(void *info, char *msg) |
User-defined fault-hook routine.
Referenced by bcls_fault(), bcls_init_prob(), and bcls_set_fault_hook().
User-defined matrix-vector multiply routine.
Referenced by bcls_aprod(), bcls_init_prob(), and bcls_set_problem_data().
int(* BCLS::Usolve)(int mode, int m, int n, int nix, int ix[], double v[], double w[], void *UsrWrk) |
User-defined preconditioning routine.
Referenced by aprod_free_lsqr(), bcls_init_prob(), bcls_newton_step(), bcls_print_params(), bcls_set_usolve(), bcls_solve_prob(), and bcls_usolve().
int(* BCLS::CallBack)(BCLS *ls, void *UsrWrk) |
User-defined callback function.
Referenced by bcls_callback(), and bcls_init_prob().
double* BCLS::anorm |
User-defined column weights. Length n. Optional.
Definition at line 81 of file bcls.h.
Referenced by bcls_init_prob(), bcls_print_params(), bcls_set_anorm(), bcls_solve_prob(), and hashls().
void* BCLS::UsrWrk |
User workspace. Passed (untouched) to Aprod.
Definition at line 85 of file bcls.h.
Referenced by bcls_aprod(), bcls_callback(), bcls_init_prob(), bcls_set_problem_data(), and bcls_usolve().
Log verbosity.
Definition at line 88 of file bcls.h.
Referenced by bcls_examine_column_scales(), bcls_init_prob(), bcls_print(), and bcls_proj_search().
Type of linesearch.
Definition at line 89 of file bcls.h.
Referenced by bcls_init_prob(), bcls_print_params(), and bcls_solve_prob().
Method for computing Newton step.
Definition at line 92 of file bcls.h.
Referenced by bcls_init_prob(), bcls_print_params(), and bcls_solve_prob().
FILE* BCLS::minor_file |
Output file for minor iteration log. Timers.
Definition at line 95 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_newton_step_cgls().
Definition at line 98 of file bcls.h.
Referenced by bcls_aprod(), bcls_init_prob(), bcls_newton_step_lsqr(), bcls_solve_prob(), and bcls_usolve().
int BCLS::itnMaj |
No. of major iterations.
Definition at line 105 of file bcls.h.
Referenced by bcls_init_prob(), bcls_solve_prob(), and bcls_solver().
int BCLS::itnMajLim |
Max no. of major iterations.
Definition at line 106 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_print_params().
int BCLS::itnMin |
No. of cummulative minor (LSQR) iterations.
Definition at line 107 of file bcls.h.
Referenced by bcls_init_prob(), bcls_solve_prob(), and bcls_solver().
int BCLS::itnMinLim |
Max no. of minor (LSQR) iterations.
Definition at line 108 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_print_params().
int BCLS::nAprodT |
No. of mat-vec calls, with len(ix) = n.
Definition at line 109 of file bcls.h.
Referenced by bcls_aprod(), bcls_init_prob(), and bcls_solve_prob().
int BCLS::nAprodF |
No. of mat-vec calls, with 1 < len(ix) < n.
Definition at line 110 of file bcls.h.
Referenced by bcls_aprod(), and bcls_init_prob().
int BCLS::nAprod1 |
No. of mat-vec calls, with 1 = len(ix).
Definition at line 111 of file bcls.h.
Referenced by bcls_aprod(), bcls_init_prob(), and bcls_solve_prob().
int BCLS::nUsolve |
No. of call to Usolve.
Definition at line 112 of file bcls.h.
Referenced by bcls_init_prob(), bcls_solve_prob(), and bcls_usolve().
int BCLS::m |
Number of rows in A.
Definition at line 115 of file bcls.h.
Referenced by aprod_free_lsqr(), bcls_aprod(), bcls_init_prob(), bcls_print_params(), bcls_set_problem_data(), bcls_solve_prob(), bcls_usolve(), and hashls().
int BCLS::n |
Number of columns in A.
Definition at line 118 of file bcls.h.
Referenced by bcls_aprod(), bcls_examine_column_scales(), bcls_init_prob(), bcls_print_params(), bcls_set_problem_data(), bcls_solve_prob(), bcls_usolve(), and hashls().
int BCLS::mmax |
Maximum no. of rows in A allocated for.
Definition at line 121 of file bcls.h.
Referenced by bcls_create_prob(), and bcls_init_prob().
int BCLS::nmax |
Maximum no. of columns in A allocated for.
Definition at line 124 of file bcls.h.
Referenced by bcls_create_prob(), and bcls_init_prob().
Properties of the problem. 0 if constrained; 1 if unconstrained.
Definition at line 127 of file bcls.h.
Referenced by bcls_examine_bnds(), and bcls_init_prob().
double BCLS::damp |
Set by user. Must be >= 0.
Definition at line 130 of file bcls.h.
Referenced by bcls_init_prob(), bcls_print_params(), bcls_proj_backtrack(), bcls_proj_search(), bcls_set_problem_data(), and bcls_solver().
double BCLS::damp_min |
Only used when there's a linear term.
Definition at line 131 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_newton_step_lsqr().
double BCLS::damp_actual |
Set in newton_step, used in aprod_free.
Definition at line 132 of file bcls.h.
Referenced by aprod_free_lsqr(), and bcls_newton_step_lsqr().
int BCLS::exit |
Exit condition.
Definition at line 135 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_solve_prob().
double BCLS::soln_obj |
double BCLS::soln_rNorm |
double BCLS::soln_dInf |
Dual infeasibility of solution.
Definition at line 150 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_solve_prob().
int BCLS::soln_jInf |
Variable with maximum dual infeasibility.
Definition at line 151 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_solve_prob().
int BCLS::soln_stat |
double BCLS::optTol |
Optimality tolerance.
Definition at line 157 of file bcls.h.
Referenced by bcls_init_prob(), bcls_print_params(), and bcls_solver().
double BCLS::conlim |
Upper limit on cond. no. of [A; gamma I].
Definition at line 158 of file bcls.h.
Referenced by bcls_init_prob().
double BCLS::mu |
Armijo sufficient decrease factor.
Definition at line 159 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_proj_backtrack().
double BCLS::backtrack |
Reduction factor for Armijo linesearch.
Definition at line 160 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_proj_backtrack().
Limit on no. of backtracks in linesearch.
Definition at line 161 of file bcls.h.
Referenced by bcls_init_prob(), and bcls_proj_backtrack().
double BCLS::eps |
Machine precision.
Definition at line 164 of file bcls.h.
Referenced by bcls_free_vars(), bcls_init_prob(), bcls_proj_backtrack(), bcls_proj_search(), and bcls_solve_prob().
double BCLS::eps2 |
double BCLS::eps3 |
double BCLS::epsx |
Tolerance for x "on bound".
Definition at line 167 of file bcls.h.
Referenced by bcls_free_vars(), bcls_init_prob(), bcls_proj_backtrack(), and bcls_proj_search().
double BCLS::epsfixed |
Tolerance for x considered "fixed".
Definition at line 168 of file bcls.h.
Referenced by bcls_examine_bnds(), bcls_init_prob(), and bcls_proj_search().
double BCLS::BigNum |
Biggest number we'll allow in x.
Definition at line 169 of file bcls.h.
Referenced by bcls_examine_bnds(), bcls_init_prob(), bcls_proj_backtrack(), and bcls_proj_search().
double* BCLS::x |
x(n) solution (allocated by user).
Definition at line 173 of file bcls.h.
Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().
double* BCLS::b |
b(m): right-hand-side vector (allocated by user).
Definition at line 176 of file bcls.h.
Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().
double* BCLS::c |
c(n): linear term (allocated by user).
Definition at line 179 of file bcls.h.
Referenced by bcls_print_params(), bcls_set_problem_data(), bcls_solve_prob(), and hashls().
double* BCLS::bl |
bl(n): lower bounds (allocated by user).
Definition at line 182 of file bcls.h.
Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().
double* BCLS::bu |
bu(n): upper bounds (allocated by user).
Definition at line 185 of file bcls.h.
Referenced by bcls_set_problem_data(), bcls_solve_prob(), and hashls().
double* BCLS::r |
(max(n, m)) Residual.
Definition at line 188 of file bcls.h.
Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().
double* BCLS::g |
(n) Gradient.
Definition at line 189 of file bcls.h.
Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().
double* BCLS::dx |
(n) Search direction, full space.
Definition at line 190 of file bcls.h.
Referenced by aprod_free(), aprod_free_lsqr(), bcls_create_prob(), bcls_free_prob(), bcls_newton_step(), bcls_solve_prob(), and hashls().
double* BCLS::dxFree |
(n) Search direction, subspace.
Definition at line 191 of file bcls.h.
Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().
double* BCLS::aBreak |
(n) Step to each breakpoint.
Definition at line 192 of file bcls.h.
Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().
int* BCLS::iBreak |
(n) Indices of each breakpoint.
Definition at line 193 of file bcls.h.
Referenced by bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().
int* BCLS::ix |
(n) Indices of free variables.
Definition at line 194 of file bcls.h.
Referenced by aprod_free(), aprod_free_lsqr(), bcls_compute_anorm(), bcls_create_prob(), bcls_free_prob(), bcls_solve_prob(), and hashls().
double* BCLS::wrk_u |
(max(n, m)) Workspace.
Definition at line 195 of file bcls.h.
Referenced by aprod_free_lsqr(), bcls_compute_anorm(), bcls_create_prob(), bcls_free_prob(), bcls_newton_step_cgls(), and hashls().
double* BCLS::wrk_v |
(max(n, m)) Workspace.
Definition at line 196 of file bcls.h.
Referenced by bcls_compute_anorm(), bcls_create_prob(), bcls_free_prob(), bcls_newton_step_cgls(), bcls_newton_step_lsqr(), and hashls().
double* BCLS::wrk_w |
(max(n, m)) Workspace.
Definition at line 197 of file bcls.h.
Referenced by bcls_create_prob(), bcls_free_prob(), bcls_newton_step_cgls(), and hashls().
jmp_buf BCLS::jmp_env |
Long jump environment.
Definition at line 200 of file bcls.h.
Referenced by bcls_aprod(), bcls_solve_prob(), and bcls_usolve().
Generated on Sun Mar 4 22:50:03 2007 by Doxygen 1.5.1