angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter...

576
angel Reference Manual mercurial changeset: Generated by Doxygen 1.5.3 Wed Mar 11 10:33:11 2009

Transcript of angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter...

Page 1: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

angel Reference Manualmercurial changeset:

Generated by Doxygen 1.5.3

Wed Mar 11 10:33:11 2009

Page 2: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation
Page 3: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Contents

1 ANGEL Reference Manual 1

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

2 angel Directory Hierarchy 3

2.1 angel Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 angel Namespace Index 5

3.1 angel Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . 5

4 angel Hierarchical Index 7

4.1 angel Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . 7

5 angel Class Index 11

5.1 angel Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

6 angel File Index 15

6.1 angel File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

7 angel Directory Documentation 17

7.1 angel/ Directory Reference . . . . . . . . . . . . . . . . . . . . . . . 17

7.2 angel/include/ Directory Reference . . . . . . . . . . . . . . . . . . . 18

7.3 angel/src/ Directory Reference . . . . . . . . . . . . . . . . . . . . . 19

8 angel Namespace Documentation 21

8.1 angel Namespace Reference . . . . . . . . . . . . . . . . . . . . . . 21

Page 4: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

ii CONTENTS

8.2 boost Namespace Reference . . . . . . . . . . . . . . . . . . . . . . 192

8.3 GMPI Namespace Reference . . . . . . . . . . . . . . . . . . . . . . 193

8.4 std Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . 200

8.5 xaifBoosterCrossCountryInterface Namespace Reference . . . . . . . 201

9 angel Class Documentation 211

9.1 angel::accu_exp_graph_t Class Reference . . . . . . . . . . . . . . . 211

9.2 angel::accu_exp_t Struct Reference . . . . . . . . . . . . . . . . . . 214

9.3 angel::accu_exp_t::ref_t Union Reference . . . . . . . . . . . . . . . 217

9.4 angel::accu_graph_t Struct Reference . . . . . . . . . . . . . . . . . 218

9.5 angel::base_exception Class Reference . . . . . . . . . . . . . . . . . 221

9.6 angel::base_heuristic_t< Objective_t > Class Template Reference . . 223

9.7 GMPI::buffer_t< Base_t > Class Template Reference . . . . . . . . . 227

9.8 angel::c_graph_t Class Reference . . . . . . . . . . . . . . . . . . . . 235

9.9 GMPI::Comm Class Reference . . . . . . . . . . . . . . . . . . . . . 248

9.10 GMPI::comm_ref_t< Base_t, Object_t > Class Template Reference . 251

9.11 angel::consistency_exception Class Reference . . . . . . . . . . . . . 253

9.12 angel::dec_greater< vertex_t > Struct Template Reference . . . . . . 254

9.13 angel::diste_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 256

9.14 angel::distf_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 257

9.15 angel::edge_address_t Struct Reference . . . . . . . . . . . . . . . . 258

9.16 angel::edge_elim_t Struct Reference . . . . . . . . . . . . . . . . . . 259

9.17 angel::edge_equal_t< Ad_graph_t > Struct Template Reference . . . 260

9.18 angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > Class TemplateReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262

9.19 angel::edge_ij_elim_t Struct Reference . . . . . . . . . . . . . . . . . 264

9.20 angel::edge_less_t< Ad_graph_t > Struct Template Reference . . . . 266

9.21 angel::edge_pair_elim_t Struct Reference . . . . . . . . . . . . . . . 268

9.22 angel::edge_reroute_t Struct Reference . . . . . . . . . . . . . . . . . 269

9.23 angel::edge_vertex_elim_t Struct Reference . . . . . . . . . . . . . . 271

9.24 angel::EdgeElim Class Reference . . . . . . . . . . . . . . . . . . . . 272

9.25 angel::EdgeRef_t Struct Reference . . . . . . . . . . . . . . . . . . . 276

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 5: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

CONTENTS iii

9.26 angel::EdgeType Struct Reference . . . . . . . . . . . . . . . . . . . 278

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class Tem-plate Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

9.28 angel::elimSeq_cost_t Struct Reference . . . . . . . . . . . . . . . . 290

9.29 angel::empty_operator_t< operand_t > Struct Template Reference . . 293

9.30 angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > Class Tem-plate Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

9.31 angel::fiv_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 296

9.32 angel::fixed_temperature_t Class Reference . . . . . . . . . . . . . . 297

9.33 angel::forward_mode_edge_t Class Reference . . . . . . . . . . . . . 299

9.34 angel::forward_mode_face_t Class Reference . . . . . . . . . . . . . 301

9.35 angel::forward_mode_vertex_t Class Reference . . . . . . . . . . . . 303

9.36 angel::gamma_adaption_average_t Class Reference . . . . . . . . . . 305

9.37 angel::gamma_adaption_max_t Class Reference . . . . . . . . . . . . 308

9.38 angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > Class TemplateReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

9.39 angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >Class Template Reference . . . . . . . . . . . . . . . . . . . . . . . . 314

9.40 GMPI::Intracomm Class Reference . . . . . . . . . . . . . . . . . . . 317

9.41 angel::io_exception Class Reference . . . . . . . . . . . . . . . . . . 320

9.42 angel::lex_less_face_line_t Class Reference . . . . . . . . . . . . . . 321

9.43 angel::line_graph_t Class Reference . . . . . . . . . . . . . . . . . . 323

9.44 angel::lme_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 335

9.45 angel::lmf_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 336

9.46 angel::lmmd_edge_t Class Reference . . . . . . . . . . . . . . . . . . 338

9.47 angel::lmmd_vertex_t Class Reference . . . . . . . . . . . . . . . . . 341

9.48 angel::lmmde_op_t Struct Reference . . . . . . . . . . . . . . . . . . 344

9.49 angel::lmmdv_op_t Struct Reference . . . . . . . . . . . . . . . . . . 346

9.50 angel::lmv_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 348

9.51 angel::LOG_temperature_t Class Reference . . . . . . . . . . . . . . 349

9.52 angel::lowest_fill_in_vertex_t Class Reference . . . . . . . . . . . . . 351

9.53 angel::lowest_markowitz_edge_t Class Reference . . . . . . . . . . . 353

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 6: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

iv CONTENTS

9.54 angel::lowest_markowitz_face_complete_t< Heuristic_t > ClassTemplate Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

9.55 angel::lowest_markowitz_face_t Class Reference . . . . . . . . . . . 358

9.56 angel::lowest_markowitz_vertex_t Class Reference . . . . . . . . . . 360

9.57 angel::lowest_relative_markowitz_edge_t Class Reference . . . . . . 362

9.58 angel::lowest_relative_markowitz_vertex_t Class Reference . . . . . 364

9.59 angel::lrm_op_t Struct Reference . . . . . . . . . . . . . . . . . . . . 366

9.60 angel::markowitz_enlargement_back_t Struct Reference . . . . . . . 368

9.61 angel::markowitz_enlargement_front_t Struct Reference . . . . . . . 370

9.62 angel::minimal_distance_edge_t Class Reference . . . . . . . . . . . 372

9.63 angel::minimal_distance_face_t Class Reference . . . . . . . . . . . 374

9.64 angel::momr_edge_t Class Reference . . . . . . . . . . . . . . . . . 376

9.65 angel::momr_face_t Class Reference . . . . . . . . . . . . . . . . . . 378

9.66 angel::momr_vertex_t Class Reference . . . . . . . . . . . . . . . . . 380

9.67 angel::momre_op_t Struct Reference . . . . . . . . . . . . . . . . . . 382

9.68 angel::momrf_op_t Struct Reference . . . . . . . . . . . . . . . . . . 383

9.69 angel::momrv_op_t Struct Reference . . . . . . . . . . . . . . . . . . 384

9.70 angel::moplr_vertex_t Class Reference . . . . . . . . . . . . . . . . . 385

9.71 angel::neighbor_check_meta_t Struct Reference . . . . . . . . . . . . 387

9.72 angel::neighbor_last_removable_t Struct Reference . . . . . . . . . . 389

9.73 angel::neighbor_multi_step_t Class Reference . . . . . . . . . . . . . 391

9.74 angel::neighbor_sequence_check_t Struct Reference . . . . . . . . . 393

9.75 angel::new_iks_t Class Reference . . . . . . . . . . . . . . . . . . . 395

9.76 angel::new_pik_t Class Reference . . . . . . . . . . . . . . . . . . . 397

9.77 angel::no_output_t Struct Reference . . . . . . . . . . . . . . . . . . 399

9.78 angel::not_lex_less_face_line_t Class Reference . . . . . . . . . . . . 401

9.79 angel::oplrv_op_t Struct Reference . . . . . . . . . . . . . . . . . . . 403

9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference . . . 405

9.81 angel::random_init_t Struct Reference . . . . . . . . . . . . . . . . . 410

9.82 angel::Rerouting Class Reference . . . . . . . . . . . . . . . . . . . . 411

9.83 angel::reverse_mode_edge_t Class Reference . . . . . . . . . . . . . 417

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 7: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

CONTENTS v

9.84 angel::reverse_mode_face_t Class Reference . . . . . . . . . . . . . . 419

9.85 angel::reverse_mode_face_whole_vertex_t Class Reference . . . . . . 421

9.86 angel::reverse_mode_vertex_t Class Reference . . . . . . . . . . . . 423

9.87 angel::SA_elimination_cost_t< Heuristic_t > Class Template Reference425

9.88 angel::source_not_independent_t Struct Reference . . . . . . . . . . 427

9.89 angel::stream_output_t Struct Reference . . . . . . . . . . . . . . . . 428

9.90 angel::string_stream_output_t Class Reference . . . . . . . . . . . . 430

9.91 angel::successor_t< Ad_graph_t > Class Template Reference . . . . 433

9.92 angel::target_not_dependent_t Struct Reference . . . . . . . . . . . . 438

9.93 angel::Transformation Class Reference . . . . . . . . . . . . . . . . . 439

9.94 angel::transformationSeq_cost_t Struct Reference . . . . . . . . . . . 443

9.95 angel::triplet_heuristic_t< Face_heuristic_t > Class Template Reference446

9.96 angel::triplet_t Struct Reference . . . . . . . . . . . . . . . . . . . . 448

9.97 angel::VertexVisited Struct Reference . . . . . . . . . . . . . . . . . 450

9.98 angel::vis_display_output_t Struct Reference . . . . . . . . . . . . . 451

9.99 angel::write_edge_bool_op_t Class Reference . . . . . . . . . . . . . 453

9.100angel::write_edge_eliad_op_t Class Reference . . . . . . . . . . . . . 455

9.101angel::write_edge_name_op_t Class Reference . . . . . . . . . . . . 457

9.102angel::write_edge_op_t Class Reference . . . . . . . . . . . . . . . . 459

9.103angel::write_face_number_op_t Class Reference . . . . . . . . . . . 461

9.104angel::write_face_op_t Class Reference . . . . . . . . . . . . . . . . 463

9.105angel::write_vertex_op_t Class Reference . . . . . . . . . . . . . . . 465

10 angel File Documentation 467

10.1 angel/angel.hpp File Reference . . . . . . . . . . . . . . . . . . . . . 467

10.2 angel/include/angel_comm.hpp File Reference . . . . . . . . . . . . . 468

10.3 angel/include/angel_comm_impl.hpp File Reference . . . . . . . . . 469

10.4 angel/include/angel_exceptions.hpp File Reference . . . . . . . . . . 470

10.5 angel/include/angel_io.hpp File Reference . . . . . . . . . . . . . . . 473

10.6 angel/include/angel_tools.hpp File Reference . . . . . . . . . . . . . 477

10.7 angel/include/angel_types.hpp File Reference . . . . . . . . . . . . . 485

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 8: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

vi CONTENTS

10.8 angel/include/eliminations.hpp File Reference . . . . . . . . . . . . . 490

10.9 angel/include/gmpi.hpp File Reference . . . . . . . . . . . . . . . . . 496

10.10angel/include/gmpi_impl.hpp File Reference . . . . . . . . . . . . . . 499

10.11angel/include/graph_generator.hpp File Reference . . . . . . . . . . . 500

10.12angel/include/heuristics.hpp File Reference . . . . . . . . . . . . . . 502

10.13angel/include/heuristics_impl.hpp File Reference . . . . . . . . . . . 511

10.14angel/include/reroutings.hpp File Reference . . . . . . . . . . . . . . 513

10.15angel/include/sa.hpp File Reference . . . . . . . . . . . . . . . . . . 515

10.16angel/include/sa_impl.hpp File Reference . . . . . . . . . . . . . . . 518

10.17angel/include/xaif_interface.hpp File Reference . . . . . . . . . . . . 519

10.18angel/src/angel_comm.cpp File Reference . . . . . . . . . . . . . . . 520

10.19angel/src/angel_io.cpp File Reference . . . . . . . . . . . . . . . . . 521

10.20angel/src/angel_tools.cpp File Reference . . . . . . . . . . . . . . . . 523

10.21angel/src/angel_types.cpp File Reference . . . . . . . . . . . . . . . 526

10.22angel/src/eliminations.cpp File Reference . . . . . . . . . . . . . . . 527

10.23angel/src/graph_generator.cpp File Reference . . . . . . . . . . . . . 530

10.24angel/src/heuristics.cpp File Reference . . . . . . . . . . . . . . . . . 532

10.25angel/src/reroutings.cpp File Reference . . . . . . . . . . . . . . . . 538

10.26angel/src/sa.cpp File Reference . . . . . . . . . . . . . . . . . . . . . 539

10.27angel/src/xaif_interface.cpp File Reference . . . . . . . . . . . . . . 540

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 9: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 1

ANGEL Reference Manual

Author:

Peter Gottschling et.al.

Version:

current snapshot

1.1 Introduction

ANGEL-Automatic differentiation Nested Graph Elimination Library is a template li-brary using the Boost Graph Library and the Standard C++ Library. It provides a sparserepresentation of c-graphs and their dual line graphs, vertex, edge and face elimination,a wide range of heuristics, simulated annealing, and a set of utility functions.

Page 10: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

2 ANGEL Reference Manual

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 11: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 2

angel Directory Hierarchy

2.1 angel Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:

angel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17include . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18src . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Page 12: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

4 angel Directory Hierarchy

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 13: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 3

angel Namespace Index

3.1 angel Namespace List

Here is a list of all namespaces with brief descriptions:

angel (Namespace for the complete library ) . . . . . . . . . . . . . . . . . . 21boost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192GMPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193std . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200xaifBoosterCrossCountryInterface . . . . . . . . . . . . . . . . . . . . . . . 201

Page 14: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

6 angel Namespace Index

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 15: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 4

angel Hierarchical Index

4.1 angel Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:

angel::accu_exp_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211angel::accu_exp_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214angel::accu_exp_t::ref_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217angel::accu_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218angel::base_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

angel::consistency_exception . . . . . . . . . . . . . . . . . . . . . . . . 253angel::io_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

angel::base_heuristic_t< Objective_t > . . . . . . . . . . . . . . . . . . . . 223angel::base_heuristic_t< double > . . . . . . . . . . . . . . . . . . . . . . . 223

angel::forward_mode_edge_t . . . . . . . . . . . . . . . . . . . . . . . . 299angel::forward_mode_face_t . . . . . . . . . . . . . . . . . . . . . . . . 301angel::reverse_mode_edge_t . . . . . . . . . . . . . . . . . . . . . . . . 417angel::reverse_mode_face_t . . . . . . . . . . . . . . . . . . . . . . . . . 419

angel::base_heuristic_t< int > . . . . . . . . . . . . . . . . . . . . . . . . . 223angel::forward_mode_vertex_t . . . . . . . . . . . . . . . . . . . . . . . 303angel::lmmd_edge_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338angel::lmmd_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341angel::lowest_fill_in_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . 351angel::lowest_markowitz_edge_t . . . . . . . . . . . . . . . . . . . . . . 353angel::lowest_markowitz_face_complete_t< Heuristic_t > . . . . . . . . 355angel::lowest_markowitz_face_t . . . . . . . . . . . . . . . . . . . . . . 358angel::lowest_markowitz_vertex_t . . . . . . . . . . . . . . . . . . . . . 360angel::lowest_relative_markowitz_edge_t . . . . . . . . . . . . . . . . . 362angel::lowest_relative_markowitz_vertex_t . . . . . . . . . . . . . . . . 364angel::minimal_distance_edge_t . . . . . . . . . . . . . . . . . . . . . . 372

Page 16: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8 angel Hierarchical Index

angel::minimal_distance_face_t . . . . . . . . . . . . . . . . . . . . . . 374angel::momr_edge_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376angel::momr_face_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378angel::momr_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380angel::moplr_vertex_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385angel::reverse_mode_face_whole_vertex_t . . . . . . . . . . . . . . . . . 421angel::reverse_mode_vertex_t . . . . . . . . . . . . . . . . . . . . . . . 423

GMPI::buffer_t< Base_t > . . . . . . . . . . . . . . . . . . . . . . . . . . . 227angel::c_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235GMPI::Comm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

GMPI::Intracomm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317GMPI::comm_ref_t< Base_t, Object_t > . . . . . . . . . . . . . . . . . . . 251angel::dec_greater< vertex_t > . . . . . . . . . . . . . . . . . . . . . . . . . 254angel::diste_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256angel::distf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257angel::edge_address_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258angel::edge_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259angel::edge_equal_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . 260angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > . . . . . . . . . . . . . 262angel::edge_ij_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264angel::edge_less_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . . 266angel::edge_pair_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268angel::edge_reroute_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269angel::edge_vertex_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 271angel::EdgeElim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272angel::EdgeRef_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276angel::EdgeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278angel::elimination_history_t< Ad_graph_t, El_spec_t > . . . . . . . . . . . 279angel::elimSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290angel::empty_operator_t< operand_t > . . . . . . . . . . . . . . . . . . . . 293angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > . . . . . . . . . . 294angel::fiv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296angel::fixed_temperature_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 297angel::gamma_adaption_average_t . . . . . . . . . . . . . . . . . . . . . . . 305angel::gamma_adaption_max_t . . . . . . . . . . . . . . . . . . . . . . . . . 308angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > . . . . . . . . . . . . . 311angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t > . . . . . 314angel::lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 321angel::line_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323angel::lme_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335angel::lmf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336angel::lmmde_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344angel::lmmdv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346angel::lmv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348angel::LOG_temperature_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 349

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 17: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

4.1 angel Class Hierarchy 9

angel::lrm_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366angel::markowitz_enlargement_back_t . . . . . . . . . . . . . . . . . . . . . 368angel::markowitz_enlargement_front_t . . . . . . . . . . . . . . . . . . . . . 370angel::momre_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382angel::momrf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383angel::momrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384angel::neighbor_check_meta_t . . . . . . . . . . . . . . . . . . . . . . . . . 387angel::neighbor_last_removable_t . . . . . . . . . . . . . . . . . . . . . . . 389angel::neighbor_multi_step_t . . . . . . . . . . . . . . . . . . . . . . . . . . 391angel::neighbor_sequence_check_t . . . . . . . . . . . . . . . . . . . . . . . 393angel::new_iks_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395angel::new_pik_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397angel::no_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399

angel::string_stream_output_t . . . . . . . . . . . . . . . . . . . . . . . 430angel::stream_output_t . . . . . . . . . . . . . . . . . . . . . . . . . 428angel::vis_display_output_t . . . . . . . . . . . . . . . . . . . . . . . 451

angel::not_lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . . 401angel::oplrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403angel::predecessor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . 405angel::random_init_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410angel::Rerouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411angel::SA_elimination_cost_t< Heuristic_t > . . . . . . . . . . . . . . . . . 425angel::source_not_independent_t . . . . . . . . . . . . . . . . . . . . . . . . 427angel::successor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . . 433angel::target_not_dependent_t . . . . . . . . . . . . . . . . . . . . . . . . . 438angel::Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439angel::transformationSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . 443angel::triplet_heuristic_t< Face_heuristic_t > . . . . . . . . . . . . . . . . . 446angel::triplet_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448angel::VertexVisited . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450angel::write_edge_bool_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . 453angel::write_edge_eliad_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . 455angel::write_edge_name_op_t . . . . . . . . . . . . . . . . . . . . . . . . . 457angel::write_edge_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459angel::write_face_number_op_t . . . . . . . . . . . . . . . . . . . . . . . . 461angel::write_face_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463angel::write_vertex_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 18: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10 angel Hierarchical Index

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 19: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 5

angel Class Index

5.1 angel Class List

Here are the classes, structs, unions and interfaces with brief descriptions:

angel::accu_exp_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211angel::accu_exp_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214angel::accu_exp_t::ref_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217angel::accu_graph_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218angel::base_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221angel::base_heuristic_t< Objective_t > . . . . . . . . . . . . . . . . . . . . 223GMPI::buffer_t< Base_t > . . . . . . . . . . . . . . . . . . . . . . . . . . 227angel::c_graph_t (C-graph type ) . . . . . . . . . . . . . . . . . . . . . . . . 235GMPI::Comm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248GMPI::comm_ref_t< Base_t, Object_t > . . . . . . . . . . . . . . . . . . . 251angel::consistency_exception . . . . . . . . . . . . . . . . . . . . . . . . . . 253angel::dec_greater< vertex_t > . . . . . . . . . . . . . . . . . . . . . . . . 254angel::diste_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256angel::distf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257angel::edge_address_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258angel::edge_elim_t (Edge edge to eliminate from c-graph and whether it

should be front or back eliminated ) . . . . . . . . . . . . . . . . . 259angel::edge_equal_t< Ad_graph_t > (Compares edges of different graphs ) . 260angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > (Creates a heuristic for

(i,j,front) type from a heuristic for (edge,front) ) . . . . . . . . . . . 262angel::edge_ij_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264angel::edge_less_t< Ad_graph_t > (Compares edges of different graphs

(lexicographically) ) . . . . . . . . . . . . . . . . . . . . . . . . . . 266angel::edge_pair_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268angel::edge_reroute_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269

Page 20: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

12 angel Class Index

angel::edge_vertex_elim_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 271angel::EdgeElim (Graph-independent edge elimination ) . . . . . . . . . . . 272angel::EdgeRef_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276angel::EdgeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278angel::elimination_history_t< Ad_graph_t, El_spec_t > (Elimination his-

tory ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279angel::elimSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290angel::empty_operator_t< operand_t > (Empty operator class for dummy

arguments ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > (Simulates vertex

elimination heuristics with edge eliminations ) . . . . . . . . . . . . 294angel::fiv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296angel::fixed_temperature_t (Functor that returns fixed temperature ) . . . . . 297angel::forward_mode_edge_t (Operator class for mixed forward edge elimi-

nation ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299angel::forward_mode_face_t (Operator class for forward mode in face elim-

ination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301angel::forward_mode_vertex_t (Operator class for forward mode in vertex

elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303angel::gamma_adaption_average_t (Γ adaption on average min-max-

difference ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305angel::gamma_adaption_max_t (Γ adaption on maximal min-max-difference ) 308angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > (Make a pair of heuris-

tics ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t > (Make

a pair of heuristics ) . . . . . . . . . . . . . . . . . . . . . . . . . . 314GMPI::Intracomm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317angel::io_exception . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320angel::lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . . . . 321angel::line_graph_t (Line graph type ) . . . . . . . . . . . . . . . . . . . . . 323angel::lme_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335angel::lmf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336angel::lmmd_edge_t (Class for lowest Markowitz with minimal damage in

mixed edge elimination ) . . . . . . . . . . . . . . . . . . . . . . . 338angel::lmmd_vertex_t (Class for lowest Markowitz with minimal damage in

vertex elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . 341angel::lmmde_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344angel::lmmdv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346angel::lmv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348angel::LOG_temperature_t (Functor that returns logarithmic temperature for

LSA ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349angel::lowest_fill_in_vertex_t (Operator class for lowest fill-in in vertex

elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351angel::lowest_markowitz_edge_t (Operator class for lowest Markowitz in

mixed edge elimination ) . . . . . . . . . . . . . . . . . . . . . . . 353

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 21: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

5.1 angel Class List 13

angel::lowest_markowitz_face_complete_t< Heuristic_t > (LowestMarkowitz for face elimination with completion of vertexelimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

angel::lowest_markowitz_face_t . . . . . . . . . . . . . . . . . . . . . . . . 358angel::lowest_markowitz_vertex_t (Operator class for lowest Markowitz in

vertex elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . 360angel::lowest_relative_markowitz_edge_t (Operator class for lowest relative

Markowitz in mixed edge elimination ) . . . . . . . . . . . . . . . . 362angel::lowest_relative_markowitz_vertex_t (Operator class for relative low-

est Markowitz in vertex elimination ) . . . . . . . . . . . . . . . . . 364angel::lrm_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366angel::markowitz_enlargement_back_t . . . . . . . . . . . . . . . . . . . . 368angel::markowitz_enlargement_front_t . . . . . . . . . . . . . . . . . . . . 370angel::minimal_distance_edge_t (Minimizes the maximal distance of ver-

tices involved in an edge elimination The motivation is that forsmall distances it is not very probable to re-insert one of new edgeslater ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372

angel::minimal_distance_face_t (Minimal distance for face elimination ) . . . 374angel::momr_edge_t (Operator class for lowest Markowitz in mixed edge

elimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376angel::momr_face_t (Operator class for maximal overall Markowitz degree

reduction in face elimination ) . . . . . . . . . . . . . . . . . . . . 378angel::momr_vertex_t (Operator class for maximal overall Markowitz degree

reduction in vertex elimination ) . . . . . . . . . . . . . . . . . . . 380angel::momre_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382angel::momrf_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383angel::momrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384angel::moplr_vertex_t (Operator class for maximal overall path length reduc-

tion in vertex elimination ) . . . . . . . . . . . . . . . . . . . . . . 385angel::neighbor_check_meta_t (SA neighborhood either eliminate face from

eh.cg or undo some previous elimination ) . . . . . . . . . . . . . . 387angel::neighbor_last_removable_t (SA neighborhood either eliminate sth

from eh.cg or undo last elimination ) . . . . . . . . . . . . . . . . . 389angel::neighbor_multi_step_t (SA neighborhood for multiple eliminations or

re-insertions ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391angel::neighbor_sequence_check_t (SA neighborhood either eliminate face

from eh.cg or undo some previous elimination ) . . . . . . . . . . 393angel::new_iks_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395angel::new_pik_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397angel::no_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399angel::not_lex_less_face_line_t . . . . . . . . . . . . . . . . . . . . . . . . 401angel::oplrv_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403angel::predecessor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . 405angel::random_init_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410angel::Rerouting (Graph-independent rerouting ) . . . . . . . . . . . . . . . 411

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 22: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

14 angel Class Index

angel::reverse_mode_edge_t (Operator class for mixed reverse edge elimina-tion ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417

angel::reverse_mode_face_t (Operator class for reverse mode in vertex elim-ination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419

angel::reverse_mode_face_whole_vertex_t (Operator class for reverse_-mode_face_whole_vertex ) . . . . . . . . . . . . . . . . . . . . . . 421

angel::reverse_mode_vertex_t (Operator class for reverse mode in vertexelimination ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

angel::SA_elimination_cost_t< Heuristic_t > (Computes the eliminationcosts for arbitrary elimination history type ) . . . . . . . . . . . . . 425

angel::source_not_independent_t . . . . . . . . . . . . . . . . . . . . . . . 427angel::stream_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428angel::string_stream_output_t . . . . . . . . . . . . . . . . . . . . . . . . . 430angel::successor_t< Ad_graph_t > . . . . . . . . . . . . . . . . . . . . . . 433angel::target_not_dependent_t . . . . . . . . . . . . . . . . . . . . . . . . . 438angel::Transformation (Graph-independent transformation ) . . . . . . . . . . 439angel::transformationSeq_cost_t . . . . . . . . . . . . . . . . . . . . . . . . 443angel::triplet_heuristic_t< Face_heuristic_t > (Creates a heuristic for triplet

type from a heuristic for faces ) . . . . . . . . . . . . . . . . . . . . 446angel::triplet_t (Triplet of faces, used in face_elimination_history_t ) . . . . . 448angel::VertexVisited (Pure BGL type definition of c-graph ) . . . . . . . . . . 450angel::vis_display_output_t . . . . . . . . . . . . . . . . . . . . . . . . . . 451angel::write_edge_bool_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . 453angel::write_edge_eliad_op_t (Operator used in write_graph_eliad ) . . . . . 455angel::write_edge_name_op_t . . . . . . . . . . . . . . . . . . . . . . . . . 457angel::write_edge_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459angel::write_face_number_op_t . . . . . . . . . . . . . . . . . . . . . . . . 461angel::write_face_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463angel::write_vertex_op_t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 23: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 6

angel File Index

6.1 angel File List

Here is a list of all files with brief descriptions:

angel/angel.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467angel/include/angel_comm.hpp . . . . . . . . . . . . . . . . . . . . . . . . 468angel/include/angel_comm_impl.hpp . . . . . . . . . . . . . . . . . . . . . 469angel/include/angel_exceptions.hpp . . . . . . . . . . . . . . . . . . . . . . 470angel/include/angel_io.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 473angel/include/angel_tools.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 477angel/include/angel_types.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 485angel/include/eliminations.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 490angel/include/gmpi.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496angel/include/gmpi_impl.hpp . . . . . . . . . . . . . . . . . . . . . . . . . 499angel/include/graph_generator.hpp . . . . . . . . . . . . . . . . . . . . . . . 500angel/include/heuristics.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . 502angel/include/heuristics_impl.hpp . . . . . . . . . . . . . . . . . . . . . . . 511angel/include/reroutings.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . 513angel/include/sa.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515angel/include/sa_impl.hpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 518angel/include/xaif_interface.hpp . . . . . . . . . . . . . . . . . . . . . . . . 519angel/src/angel_comm.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 520angel/src/angel_io.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521angel/src/angel_tools.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523angel/src/angel_types.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 526angel/src/eliminations.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . 527angel/src/graph_generator.cpp . . . . . . . . . . . . . . . . . . . . . . . . . 530angel/src/heuristics.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532angel/src/reroutings.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538

Page 24: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

16 angel File Index

angel/src/sa.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539angel/src/xaif_interface.cpp . . . . . . . . . . . . . . . . . . . . . . . . . . 540

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 25: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 7

angel Directory Documentation

7.1 angel/ Directory Reference

angel

include

45

src

35

Directories

• directory include• directory src

Files

• file angel.hpp

Page 26: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

18 angel Directory Documentation

7.2 angel/include/ Directory Reference

angel

include

Files

• file angel_comm.hpp• file angel_comm_impl.hpp• file angel_exceptions.hpp• file angel_io.hpp• file angel_tools.hpp• file angel_types.hpp• file eliminations.hpp• file gmpi.hpp• file gmpi_impl.hpp• file graph_generator.hpp• file heuristics.hpp• file heuristics_impl.hpp• file reroutings.hpp• file sa.hpp• file sa_impl.hpp• file xaif_interface.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 27: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

7.3 angel/src/ Directory Reference 19

7.3 angel/src/ Directory Reference

angel

src

include

35

Files

• file angel_comm.cpp• file angel_io.cpp• file angel_tools.cpp• file angel_types.cpp• file eliminations.cpp• file graph_generator.cpp• file heuristics.cpp• file reroutings.cpp• file sa.cpp• file xaif_interface.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 28: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

20 angel Directory Documentation

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 29: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 8

angel NamespaceDocumentation

8.1 angel Namespace Reference

Namespace for the complete library.

Classes

• class base_exception• class io_exception• class consistency_exception• class write_edge_eliad_op_t

Operator used in write_graph_eliad.

• struct no_output_t• class string_stream_output_t• struct stream_output_t• struct vis_display_output_t• class write_vertex_op_t• class write_edge_op_t• class write_edge_bool_op_t• class write_edge_name_op_t• class write_face_op_t• class write_face_number_op_t• struct edge_equal_t

Compares edges of different graphs.

Page 30: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

22 angel Namespace Documentation

• struct edge_less_tCompares edges of different graphs (lexicographically).

• class lex_less_face_line_t• class not_lex_less_face_line_t• struct dec_greater• struct empty_operator_t

Empty operator class for dummy arguments.

• struct EdgeType• struct VertexVisited

Pure BGL type definition of c-graph.

• class c_graph_tC-graph type.

• class line_graph_tLine graph type.

• struct triplet_tTriplet of faces, used in face_elimination_history_t.

• class predecessor_t• class successor_t• struct edge_elim_t

Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.

• struct edge_pair_elim_t• struct edge_ij_elim_t• struct accu_exp_t• class accu_exp_graph_t• struct accu_graph_t• struct EdgeRef_t• struct edge_reroute_t• class EdgeElim

Graph-independent edge elimination.

• class ReroutingGraph-independent rerouting.

• class Transformation

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 31: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 23

Graph-independent transformation.

• struct elimSeq_cost_t• struct transformationSeq_cost_t• struct edge_vertex_elim_t• class elimination_history_t

Elimination history.

• struct random_init_t• class base_heuristic_t• class forward_mode_vertex_t

Operator class for forward mode in vertex elimination.

• class reverse_mode_vertex_tOperator class for reverse mode in vertex elimination.

• class lowest_markowitz_vertex_tOperator class for lowest Markowitz in vertex elimination.

• class lowest_relative_markowitz_vertex_tOperator class for relative lowest Markowitz in vertex elimination.

• class lowest_fill_in_vertex_tOperator class for lowest fill-in in vertex elimination.

• class lmmd_vertex_tClass for lowest Markowitz with minimal damage in vertex elimination.

• class momr_vertex_tOperator class for maximal overall Markowitz degree reduction in vertex elimination.

• class moplr_vertex_tOperator class for maximal overall path length reduction in vertex elimination.

• class forward_mode_edge_tOperator class for mixed forward edge elimination.

• class reverse_mode_edge_tOperator class for mixed reverse edge elimination.

• class lowest_markowitz_edge_tOperator class for lowest Markowitz in mixed edge elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 32: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

24 angel Namespace Documentation

• class lowest_relative_markowitz_edge_tOperator class for lowest relative Markowitz in mixed edge elimination.

• class lmmd_edge_tClass for lowest Markowitz with minimal damage in mixed edge elimination.

• class momr_edge_tOperator class for lowest Markowitz in mixed edge elimination.

• class minimal_distance_edge_tMinimizes the maximal distance of vertices involved in an edge elimination The moti-vation is that for small distances it is not very probable to re-insert one of new edgeslater.

• class forward_mode_face_tOperator class for forward mode in face elimination.

• class reverse_mode_face_tOperator class for reverse mode in vertex elimination.

• class reverse_mode_face_whole_vertex_tOperator class for reverse_mode_face_whole_vertex.

• class lowest_markowitz_face_t• class lowest_markowitz_face_complete_t

Lowest Markowitz for face elimination with completion of vertex elimination.

• class momr_face_tOperator class for maximal overall Markowitz degree reduction in face elimination.

• class minimal_distance_face_tMinimal distance for face elimination.

• class edge_ij_elim_heuristic_tCreates a heuristic for (i,j,front) type from a heuristic for (edge,front).

• class triplet_heuristic_tCreates a heuristic for triplet type from a heuristic for faces.

• class emulated_vertex_heuristic_tSimulates vertex elimination heuristics with edge eliminations.

• class heuristic_pair_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 33: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 25

Make a pair of heuristics.

• class heuristic_triplet_tMake a pair of heuristics.

• class LOG_temperature_tFunctor that returns logarithmic temperature for LSA.

• class fixed_temperature_tFunctor that returns fixed temperature.

• class SA_elimination_cost_tComputes the elimination costs for arbitrary elimination history type.

• struct neighbor_last_removable_tSA neighborhood either eliminate sth from eh.cg or undo last elimination.

• class neighbor_multi_step_tSA neighborhood for multiple eliminations or re-insertions.

• struct neighbor_sequence_check_tSA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.

• struct neighbor_check_meta_tSA neighborhood either eliminate face from eh.cg or undo some previous elimination.

• class gamma_adaption_max_tΓ adaption on maximal min-max-difference

• class gamma_adaption_average_tΓ adaption on average min-max-difference

• struct lmv_op_t• struct lrm_op_t• struct fiv_op_t• struct markowitz_enlargement_front_t• struct markowitz_enlargement_back_t• struct lmmdv_op_t• struct momrv_op_t• struct oplrv_op_t• struct lme_op_t• struct lmmde_op_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 34: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

26 angel Namespace Documentation

• struct momre_op_t• struct diste_op_t• struct lmf_op_t• class new_pik_t• struct source_not_independent_t• class new_iks_t• struct target_not_dependent_t• struct momrf_op_t• struct distf_op_t• struct edge_address_t

Typedefs

• typedef boost::property< boost::edge_weight_t, int > edge_weight_property• typedef boost::property< boost::edge_index_t, int, edge_weight_property >

edge_index_weight_property• typedef boost::property< EdgeType, int, edge_index_weight_property > edge_-

type_index_weight_property• typedef boost::property< VertexVisited, bool > vertex_visited_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,

vertex_visited_property, edge_type_index_weight_property > pure_c_graph_-t

Pure BGL type definition of c-graph.

• typedef std::pair< c_graph_t::edge_t, bool > edge_bool_tPair of c-graph edge and boolean to specify an edge elimination.

• typedef std::pair< int, int > ad_edge_t• typedef boost::property< boost::vertex_degree_t, int > vertex_degree_property• typedef boost::property< boost::vertex_name_t, ad_edge_t, vertex_degree_-

property > vertex_name_degree_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,

vertex_name_degree_property, boost::no_property > pure_line_graph_tPure BGL type definition of line graph.

• typedef std::vector< edge_elim_t > edge_elim_seq_t• typedef std::vector< edge_pair_elim_t > edge_pair_elim_seq_t• typedef std::vector< edge_ij_elim_t > edge_ij_elim_seq_t• typedef boost::property< boost::vertex_name_t, accu_exp_t > accu_exp_-

property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,

accu_exp_property, boost::no_property > pure_accu_exp_graph_t• typedef std::pair< unsigned int, unsigned int > uint_pair_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 35: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 27

• typedef std::set< c_graph_t::vertex_t > vertex_set_t• typedef std::map< uint_pair_t, vertex_set_t > refillDependenceMap_t• typedef vector< edge_vertex_elim_t > edge_vertex_elim_seq_t

sequences of edges as nodes from line graph

• typedef elimination_history_t< c_graph_t, c_graph_t::vertex_t > vertex_-elimination_history_t

Vertex elimination history for LSA usage.

• typedef elimination_history_t< c_graph_t, edge_ij_elim_t > edge_-elimination_history_t

Edge elimination history for LSA usage.

• typedef elimination_history_t< line_graph_t, triplet_t > face_elimination_-history_t

Face elimination history for LSA usage.

Enumerations

• enum vertex_type_t {

independent, intermediate, dependent, dead_vertex,

undefined_vertex }Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t.

• enum Edge_Type_E { VARIABLE_EDGE, UNIT_EDGE, CONSTANT_EDGE}

• enum EdgeRefType_E { LCG_EDGE, JAE_VERT, UNDEFINED }

Functions

• int read_graph_eliad (const string &file_name, c_graph_t &cg, boolretry=true)

Read graph in EliAD graph format from file.

• void write_face (ostream &stream, line_graph_t::face_t face, const line_graph_t&lg)

Write a face face of lg to stream.

• void write_face (line_graph_t::face_t face, const line_graph_t &lg)Write a face face of lg to standard output.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 36: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

28 angel Namespace Documentation

• void write_face_vector (ostream &stream, const string &s, const vector< line_-graph_t::face_t > &v, const line_graph_t &lg)

Write a vector v of faces from lg to stream with comment s.

• void write_face_vector (const string &s, const vector< line_graph_t::face_t >&v, const line_graph_t &lg)

Write a vector v of faces from lg to standard output with comment s.

• template<typename T1, typename T2>

ostream & operator<< (ostream &stream, const std::pair< T1, T2 > &p)Write pair of arbitrary types to stream if their output operator is defined.

• template<typename Scalar_t>void write_vector (ostream &stream, const string &s, const vector< Scalar_t >&v)

Write STL vector v to stream with comment s if their output operator is defined.

• template<typename Scalar_t>void write_vector (const string &s, const vector< Scalar_t > &v)

Write STL vector v to standard output with comment s if their output operator isdefined.

• template<typename Scalar_t, typename Op_t>void write_vector (ostream &stream, const string &s, const vector< Scalar_t >&v, Op_t op)

Write STL vector to stream.

• template<typename Scalar_t, typename Op_t>void write_vector (const string &s, const vector< Scalar_t > &v, Op_t op)

Write STL vector to standard output.

• template<typename Ad_graph_t>void write_graph (ostream &stream, const string &s, const Ad_graph_t &adg,bool write_edge_weight)

Write c-graph or line graph to stream.

• template<typename Ad_graph_t>void write_graph (const string &s, const Ad_graph_t &adg, bool write_edge_-weight)

Write c-graph or line graph to standard output.

• template<typename Ad_graph_t>void write_graph (const string &file_name, const string &s, const Ad_graph_t&adg, bool write_edge_weight)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 37: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 29

Write c-graph or line graph to file.

• template<typename Ad_graph_t>void write_graph (ostream &stream, const string &s, const Ad_graph_t &adg)

Write c-graph or line graph to stream.

• template<typename Ad_graph_t>void write_graph (const string &s, const Ad_graph_t &adg)

Write c-graph or line graph to standard output.

• template<typename Ad_graph_t>void write_graph (const string &file_name, const string &s, const Ad_graph_t&adg)

Write c-graph or line graph to file.

• template<typename Ad_graph_t>void write_graph_eliad (ostream &stream, const Ad_graph_t &adg)

Write c-graph or line graph in EliAD format to stream.

• template<typename Ad_graph_t>void write_graph_eliad (const Ad_graph_t &adg)

Write c-graph or line graph in EliAD format to standard output.

• template<typename Ad_graph_t>void write_graph_eliad (const string &file_name, const Ad_graph_t &adg)

Write c-graph or line graph in EliAD format to file.

• template<typename Prop_t, typename Ad_graph_t>void write_vertex_property (ostream &stream, const string &s, const Prop_t&prop, const Ad_graph_t &adg)

Write internal vertex property to stream.

• template<typename Prop_t, typename Ad_graph_t>void write_edge_property (ostream &stream, const string &s, const Prop_-t &prop, const Ad_graph_t &adg)

Write internal edge property to stream.

• void open_log_file (int &argc, char ∗∗&argv)• void close_log_file ()• string numbered_filename (const string &basename, const string &suffix, int

number, int width=4)• template<class Value_t>

no_output_t & operator<< (no_output_t &out, const Value_t &)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 38: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

30 angel Namespace Documentation

• template<class Value_t>string_stream_output_t & operator<< (string_stream_output_t &out, constValue_t &value)

• void write_refillDependences (ostream &stream, const refillDependenceMap_t&refillDependences)

• void writeVertexAndEdgeTypes (ostream &stream, c_graph_t &angelLCG)• template<typename Ad_graph_t, typename Op_t>

void for_all_edges (Ad_graph_t &adg, const Op_t &op)Applies op to all edges of adg, graph can be changed.

• template<typename Ad_graph_t, typename Op_t>void for_all_edges (const Ad_graph_t &adg, Op_t &op)

Applies op to all edges of adg, op can be changed, e.g. for outputs.

• template<typename Ad_graph_t, typename Op_t>void for_all_in_edges (typename Ad_graph_t::vertex_descriptor v, Ad_graph_t&adg, const Op_t &op)

Applies op to all in-edges of v, graph can be changed.

• template<typename Ad_graph_t, typename Op_t>void for_all_out_edges (typename Ad_graph_t::vertex_descriptor v, Ad_graph_t&adg, const Op_t &op)

Applies op to all out-edges of v, graph can be changed.

• template<typename Ad_graph_t, typename Op_t>int sum_over_all_in_edges (typename Ad_graph_t::vertex_descriptor v, Ad_-graph_t &adg, const Op_t &op)

Applies op to all in-edges of v and sum it.

• template<typename Ad_graph_t, typename Op_t>int sum_over_all_out_edges (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, const Op_t &op)

Applies op to all out-edges of v and sum it.

• template<typename Ad_graph_t>void successor_set (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)

Returns successor set of v as vector vec.

• template<typename Ad_graph_t>void sorted_successor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 39: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 31

Returns successor set of v as vector vec, vertices are sorted.

• template<typename Ad_graph_t>void predecessor_set (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)

Returns successor set of v as vector vec.

• template<typename Ad_graph_t>void sorted_predecessor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns successor set of v as vector vec, vertices are sorted.

• bool reachable (const c_graph_t::vertex_t src, const c_graph_t::vertex_t tgt, c_-graph_t &angelLCG)

Answers a reachability query from src to tgt.

• void vertex_upset (const c_graph_t::vertex_t v, const c_graph_t &angelLCG,vertex_set_t &upset)

Returns a set of vertices in adg that depend on v.

• void vertex_downset (const c_graph_t::vertex_t v, const c_graph_t &angelLCG,vertex_set_t &downset)

Returns a set of vertices in adg that v depends on.

• template<typename El_t>void unique_vector (std::vector< El_t > &v)

Sorts arbitrary vector and removes double elements.

• template<typename Ad_graph_t>void common_successors (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have common successors with v.

• template<typename Ad_graph_t>void same_successors (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)

Returns set of vertices (in vec) that have same successor set as v.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 40: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

32 angel Namespace Documentation

• template<typename Ad_graph_t>void common_predecessor (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have common predecessors with v.

• template<typename Ad_graph_t>void same_predecessors (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)

Returns set of vertices (in vec) that have same predecessor set as v.

• template<typename Ad_graph_t>void same_neighbors (typename Ad_graph_t::vertex_descriptor v, const Ad_-graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> &vec)

Returns set of vertices (in vec) that have same predecessor and successor set as v.

• template<typename It_t, typename Op_t>std::ostream & write_iterators (std::ostream &stream, const std::string &s, It_tbegin, It_t end, Op_t op)

• template<typename Ad_graph_t>graph_traits< Ad_graph_t >::edge_iterator same_edge (typename Ad_graph_-t::edge_descriptor e, const Ad_graph_t &g1, const Ad_graph_t &g2)

Returns same edge in another graph.

• template<typename Ad_graph_t>vertex_type_t vertex_type (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg)

Functional equivalent for graph class method (more boost-like).

• template<typename Ad_graph_t>int count_parallel_edges (typename Ad_graph_t::edge_descriptor e, const Ad_-graph_t &g)

• c_graph_t::edge_t getEdge (unsigned int i, unsigned int j, const c_graph_t &an-gelLCG)

Returns the edge in angelLCG that has source i and target j.

• bool lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_graph_t&cg)

Returns whether e1 is lexicographically greater than e2 w.r.t. source and target.

• bool lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_graph_-t &cg)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 41: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 33

Returns whether e1 is lexicographically less than e2 w.r.t. source and target.

• bool inv_lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)

Returns whether e1 is lexicographically greater than e2 w.r.t. target and source.

• bool inv_lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_graph_t&cg)

Returns whether e1 is lexicographically less than e2 w.r.t. target and source.

• bool lex_greater (edge_bool_t eb1, edge_bool_t eb2, const c_graph_t &cg)• bool lex_less (edge_bool_t eb1, edge_bool_t eb2, const c_graph_t &cg)• bool lex_less_face (line_graph_t::face_t e1, line_graph_t::face_t e2, const line_-

graph_t &lg)• int random (int min, int max)

Random value between min and max, i.e. from [min, max].

• double random (double n)Random value from [0, n).

• int random (int n)Random value between 0 and n-1, i.e. from [0, n).

• int random_high (int n, int exp=2)Random value from [0, n) where larger values have higher probability (increases withexp).

• int random (const std::vector< double > &p)Random number characterized by p, the accumulated probabities.

• void in_out_path_lengths (const c_graph_t &cg, std::vector< int > &vni,std::vector< int > &vli, std::vector< int > &vno, std::vector< int > &vlo)

Returns for each vertex the number of paths and their overall length.

• bool find_edge (int s, int t, const line_graph_t &lg, std::vector< line_graph_-t::edge_t > &ev)

Searches an edge in line graph that corresponds to (s,t).

• bool is_bipartite (const c_graph_t &cg)Tests if cg is bi-partite.

• bool is_tripartite (const line_graph_t &lg)Tests if lg is tri-partite.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 42: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

34 angel Namespace Documentation

• void number_dependent_vertices (const c_graph_t &cg, std::vector< int >&v)

Returns for each vertex how many dependent vertices depent on it.

• void number_independent_vertices (const c_graph_t &cg, std::vector< int >&v)

Returns for each vertex on how many independent vertices it depends.

• template<typename Ad_graph_t>void reachable_vertices (const Ad_graph_t &adg, std::vector< bool > &rv)

Computes all reachable vertices for c- and line graphs.

• template<typename Ad_graph_t>void relevant_vertices (const Ad_graph_t &adg, std::vector< bool > &rv)

Computes all relevant vertices for c- and line graphs.

• template<typename Neighbor_t>bool search_path (const std::vector< c_graph_t::vertex_t > &from, conststd::vector< c_graph_t::vertex_t > &to, const Neighbor_t &n, std::vector< c_-graph_t::vertex_t > &path, bool breadth_first=false)

• template<typename Neighbor_t>int maximal_paths (c_graph_t::vertex_t v, const Neighbor_t &nin, std::vector<std::vector< c_graph_t::vertex_t > > &paths)

• template<typename Neighbor_t>int minimal_in_out_degree (c_graph_t::vertex_t v, const Neighbor_t &nin)

• void minimal_markowitz_degree (const c_graph_t &cg, std::vector< int >&v)

Minimal Markowitz degree for each vertex.

• int overall_minimal_markowitz_degree (const c_graph_t &cg)

Sum of minimal Markowitz degrees.

• void permutate_vertices (const c_graph_t &gin, const std::vector< c_graph_-t::vertex_t > &p, c_graph_t &gout)

Permutates vertices, vertex v in gin becomes p[v] in gout.

• void independent_vertices_to_front (const c_graph_t &gin, const std::vector<c_graph_t::vertex_t > &indeps, c_graph_t &gout)

Independent vertices, given by indeps, becomes first vertices in gout.

• void put_unit_vertex_weight (line_graph_t &lg)

Sets all vertex labels (in ed) to 1.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 43: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 35

• void put_unit_edge_weight (c_graph_t &cg)Sets all edge labels (in ew) to 1.

• int renumber_edges (c_graph_t &cg)Renumber edges of cg continously, i.e. to [0..num_edges-1].

• void take_over_successors (c_graph_t::vertex_t v1, c_graph_t::vertex_t v2, intoffset, const c_graph_t &g1, int &edge_number, c_graph_t &g2)

• template<typename Ad_graph_t>int remove_irrelevant_edges (typename Ad_graph_t::vertex_descriptor i, Ad_-graph_t &adg, bool fast=false)

Removes irrelevant edges from adg starting with i.

• template<typename Ad_graph_t>int remove_unreachable_edges (typename Ad_graph_t::vertex_descriptor i,Ad_graph_t &adg, bool fast=false)

Removes unreachable edges from adg starting with i.

• template<typename Ad_graph_t>int remove_edges (typename Ad_graph_t::vertex_descriptor i, Ad_graph_-t &adg)

Removes irrelevant and unreachable edges from adg starting with i.

• int remove_hoisting_vertices (c_graph_t &cg)Removes all vertices with one predecessor and one successor from cg.

• void remove_parallel_edges (c_graph_t &cg)Removes parallel edges.

• void remove_trivial_edges (c_graph_t &cg)Eliminates all edges with label 1, front elimination is preferred.

• size_t block_begin (size_t i, size_t p, size_t n)First index in ith of p blocks where overall size is n (indices 0..n-1).

• double gen_prob ()Returns a random number between zero and one.

• unsigned int chooseTarget_sa (std::vector< double > &deltaE)Randomly chooses an index into the vector deltaE.

• int chooseEdgeElimRandomly (std::vector< double > &deltaE)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 44: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

36 angel Namespace Documentation

• int chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)• bool operator== (const c_graph_t &g1, const c_graph_t &g2)

Compares two c-graphs.

• bool operator!= (const c_graph_t &g1, const c_graph_t &g2)

Compares two c-graphs.

• int overall_markowitz_degree (const c_graph_t &cg)

Markowitz degree of all vertices in cg.

• bool vertex_eliminatable (const c_graph_t &cg)

Whether cg can be transformed into bipartite graph by vertex eliminations.

• template<typename Ad_graph_t>std::pair< typename Ad_graph_t::edge_descriptor, bool > edge (typename Ad_-graph_t::vertex_descriptor u, typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &g)

Replaces edge function of BGL.

• void edge_vertex_name (line_graph_t::edge_t e, const line_graph_t &lg, int &i,int &j)

Vertex pair representation of an edge in line graph.

• void face_vertex_name (line_graph_t::face_t f, const line_graph_t &lg, int &i,int &j, int &k)

Vertex triplet representation of a face.

• bool operator== (const line_graph_t &g1, const line_graph_t &g2)

Compares two line graphs.

• bool operator!= (const line_graph_t &g1, const line_graph_t &g2)

Compares two line graphs.

• int overall_markowitz_degree (const line_graph_t &lg)

Markowitz degree of all vertices.

• int markowitz_degree (int j, const line_graph_t &lg)

Markowitz.

• std::ostream & operator<< (std::ostream &stream, const triplet_t &t)

Output operator of triplet_t.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 45: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 37

• std::ostream & operator<< (std::ostream &stream, const edge_pair_elim_-t &ee)

Output operator of edge_pair_elim_t.

• std::ostream & operator<< (std::ostream &stream, const edge_ij_elim_t &ee)Output operator of edge_ij_elim_t.

• std::ostream & operator<< (std::ostream &stream, const accu_exp_t &exp)• int vertex_elimination (c_graph_t::vertex_t v, c_graph_t &cg)• int vertex_elimination (int j, c_graph_t &cg)• int front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int front_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, c_-

graph_t &cg)• int front_edge_elimination (int i, int j, c_graph_t &cg)• int back_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int back_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, c_-

graph_t &cg)• int back_edge_elimination (int i, int j, c_graph_t &cg)• int edge_elimination (c_graph_t::edge_t e, bool front, c_graph_t &cg)• int edge_elimination (edge_bool_t e, c_graph_t &cg)• int edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, bool front, c_-

graph_t &cg)• int edge_elimination (int i, int j, bool front, c_graph_t &cg)• int edge_elimination (edge_ij_elim_t ee, c_graph_t &cg)

Edge elimination specified by ee.

• int vertex_elimination (const vector< int > &seq, c_graph_t &cg)• int edge_elimination (const edge_elim_seq_t &seq, c_graph_t &cg)• int edge_elimination (const edge_pair_elim_seq_t &seq, c_graph_t &cg)• int edge_elimination (const edge_ij_elim_seq_t &seq, c_graph_t &cg)• int vertex_elimination (int j, line_graph_t &lg)• int front_edge_elimination (int i, int j, line_graph_t &lg)• int front_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int back_edge_elimination (int i, int j, line_graph_t &lg)• int back_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int edge_elimination (int i, int j, bool front, line_graph_t &lg)• int edge_elimination (line_graph_t::edge_t vij, bool front, line_graph_t &lg)

Front elimination of edge vij from line graph lg if front=true otherwise backeliminination.

• int edge_elimination (const edge_vertex_elim_seq_t &seq, line_graph_t &lg)Eliminate sequence seq of edges from line graph lg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 46: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

38 angel Namespace Documentation

• int face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg, accu_-graph_t &ac)

• int face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg)• int face_elimination (line_graph_t::face_t f, line_graph_t &lg)• int face_elimination (int i, int j, line_graph_t &lg)• int face_elimination (int i, int j, int kr, line_graph_t &lg)• int face_elimination (int i, int j, int kr, line_graph_t &lg, accu_graph_t &ac)• int face_elimination (triplet_t &t, line_graph_t &lg)• int face_elimination (triplet_t &t, line_graph_t &lg, accu_graph_t &ac)• int was_non_trivial_elimination (int i, int j, int k, const line_graph_t &lg)• int was_non_trivial_elimination (line_graph_t::face_t f, int k, const line_graph_t

&lg)• int eliminate (c_graph_t::vertex_t v, c_graph_t &cg)

Overloaded elimination for templates, here vertex elimination in c-graph.

• int eliminate (int j, c_graph_t &cg)Overloaded elimination for templates, here vertex elimination in c-graph.

• int eliminate (int j, line_graph_t &lg)Overloaded elimination for templates, here vertex elimination in line graph.

• int eliminate (edge_bool_t e, c_graph_t &cg)Overloaded elimination for templates, here vertex elimination in c-graph.

• int eliminate (edge_ij_elim_t ee, c_graph_t &cg)Overloaded elimination for templates, here vertex elimination in c-graph.

• int eliminate (line_graph_t::face_t f, line_graph_t &lg)• int eliminate (triplet_t &t, line_graph_t &lg)• int eliminatable_vertices (const c_graph_t &cg, vector< c_graph_t::vertex_t >

&vv)Returns a set of vertices that can be eliminated from c-graph cg.

• int semi_eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)

Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.

• int eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t >&ev)

Returns a set of edges that can be eliminated from c-graph cg.

• int front_eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t> &ev)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 47: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 39

Returns a set of edges that can be front eliminated from c-graph cg.

• int back_eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t> &ev)

Returns a set of edges that can be back eliminated from c-graph cg.

• int eliminatable_edges (const c_graph_t &cg, vector< edge_bool_t > &ev)

Returns a set of edges that can be eliminated from c-graph cg and how.

• int eliminatable_edges (const c_graph_t &cg, vector< edge_ij_elim_t > &ev)

Returns a set of edges that can be eliminated from c-graph cg and how.

• unsigned int eliminatable_edges (const c_graph_t &cg, vector< EdgeElim >&ev)

Returns a set of edges that can be eliminated from c-graph cg.

• int eliminatable_faces (const line_graph_t &lg, vector< line_graph_t::face_t >&fv)

Returns a set of faces that can be eliminated from line graph lg.

• int eliminatable_triplets (const line_graph_t &lg, vector< triplet_t > &tv)

Returns a set of eliminatable faces as triplets tv from line graph lg.

• int eliminatable_objects (const c_graph_t &cg, vector< c_graph_t::vertex_t >&vv)

Synonym of eliminatable_vertices for usage in templates.

• int eliminatable_objects (const c_graph_t &cg, vector< c_graph_t::edge_t >&ev)

Synonym of eliminatable_edges for usage in templates.

• int eliminatable_objects (const c_graph_t &cg, vector< edge_bool_t > &ev)

Synonym of eliminatable_edges for usage in templates.

• int eliminatable_objects (const c_graph_t &cg, vector< edge_ij_elim_t >&ev)

Synonym of eliminatable_edges for usage in templates.

• int eliminatable_objects (const line_graph_t &lg, vector< line_graph_t::face_t> &fv)

Synonym of eliminatable_faces for usage in templates.

• int eliminatable_objects (const line_graph_t &lg, vector< triplet_t > &tv)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 48: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

40 angel Namespace Documentation

Synonym of eliminatable_triplets for usage in templates.

• bool convert_elimination_sequence (const vector< c_graph_t::vertex_t > &vv,const c_graph_t &cg, vector< edge_ij_elim_t > &ev)

Converts vertex elimination sequence into (mixed) edge elimination sequence.

• bool convert_elimination_sequence (const vector< edge_ij_elim_t > &ev, constline_graph_t &lg, vector< triplet_t > &tv)

Converts (mixed) edge elimination sequence into face elimination sequence.

• EdgeRefType_E getRefType (const c_graph_t::edge_t e, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)

• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ getLCG_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, constlist< EdgeRef_t > &edge_ref_list)

• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, const list<EdgeRef_t > &edge_ref_list)

• void setJaevRef (const c_graph_t::edge_t e, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionVertex &jaev, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)

• void removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG, list<EdgeRef_t > &edge_ref_list)

• unsigned int multiply_edge_pair_directly (const c_graph_t::edge_t e1, const c_-graph_t::edge_t e2, c_graph_t &angelLCG, list< EdgeRef_t > &edge_ref_-list, xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionList&jae_list)

• unsigned int front_eliminate_edge_directly (c_graph_t::edge_t e, c_graph_-t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionList &jae_list)

• unsigned int back_eliminate_edge_directly (c_graph_t::edge_t e, c_graph_-t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionList &jae_list)

• unsigned int pair_elim (c_graph_t::edge_t e1, c_graph_t::edge_t e2, c_graph_-t &angelLCG, const elimSeq_cost_t &currentElimSeq, refillDependenceMap_t&refillDependences)

• unsigned int front_elim (c_graph_t::edge_t e, c_graph_t &angelLCG, constelimSeq_cost_t &currentElimSeq, refillDependenceMap_t &refillDependences)

• unsigned int back_elim (c_graph_t::edge_t e, c_graph_t &angelLCG, constelimSeq_cost_t &currentElimSeq, refillDependenceMap_t &refillDependences)

• unsigned int pairElim_noJAE (c_graph_t::edge_t e1, c_graph_-t::edge_t e2, c_graph_t &angelLCG, const transformationSeq_cost_t∗currentTransformationSequence, refillDependenceMap_t &refillDependences)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 49: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 41

• unsigned int frontEdgeElimination_noJAE (c_graph_t::edge_t e, c_graph_t&angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence,refillDependenceMap_t &refillDependences)

• unsigned int backEdgeElimination_noJAE (c_graph_t::edge_t e, c_graph_t&angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence,refillDependenceMap_t &refillDependences)

• void random_statement (int inputs, int expr, const std::vector< double > &p,c_graph_t &statement)

Generates a random statement.

• void random_statement_vector (int max_expr, double unary, std::vector< c_-graph_t > &statement_vector)

Generates a vector of random statements.

• void stats2block (int inputs, int outputs, const std::vector< c_graph_t > &stats,c_graph_t &block)

Build a block from a list of statements.

• void random_block (int inputs, int outputs, int stats, int max_exp, double unary,c_graph_t &block)

Generates a random basic block.

• void block2loop (const c_graph_t &block, int loops, c_graph_t &loop)

Generates a DAG that represents a loop over the block.

• template<class Object_t, class Ad_graph_t, class Op_t, class Objective_t>int standard_heuristic_op (const vector< Object_t > &v1, const Ad_graph_-t &adg, vector< Object_t > &v2, Op_t op, base_heuristic_t< Objective_t >&h)

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

• int forward_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Forward mode in edge elimination.

• int forward_mode_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Forward mode in front edge elimination.

• int forward_mode_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Forward mode in back edge elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 50: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

42 angel Namespace Documentation

• int reverse_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in edge elimination.

• int reverse_mode_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in front edge elimination.

• int reverse_mode_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in back edge elimination.

• int lowest_markowitz_edge_f (const vector< c_graph_t::edge_t > &ev1, boolfront, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in edge elimination.

• int lowest_markowitz_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in front edge elimination.

• int lowest_markowitz_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in back edge elimination.

• int lowest_relative_markowitz_edge_f (const vector< c_graph_t::edge_t >&ev1, bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest relative Markowitz in edge elimination.

• int lowest_relative_markowitz_edge_front (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest relative Markowitz in front edge elimination.

• int lowest_relative_markowitz_edge_back (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest relative Markowitz in back edge elimination.

• int lowest_fill_in_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Fill-in in edge elimination.

• int lowest_fill_in_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest fill-in in front edge elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 51: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 43

• int lowest_fill_in_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest fill-in in back edge elimination.

• int momr_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in edge elimination.

• int momr_edge_front (const vector< c_graph_t::edge_t > &ev1, const c_-graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in front edge elimination.

• int momr_edge_back (const vector< c_graph_t::edge_t > &ev1, const c_-graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in back edge elimination.

• int moplr_edge (const vector< c_graph_t::edge_t > &ev1, bool front, const c_-graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall path length reduction in mixed edge elimination.

• void markowitz_on_line_graph (const line_graph_t &lg, vector< int > &mde-gree)

• template<class Object_t, class Ad_graph_t, class Heuristic_t>int use_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)

Use heuristic to transform c-/line graph into bi-/tri-partite graph.

• template<class Object_t, class Ad_graph_t, class Heuristic_t>int use_heuristic_noconst (Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)

Use heuristic to transform c-/line graph into bi-/tri-partite graph.

• template<class Object_t, class Ad_graph_t, class Heuristic_t>int use_heuristic_debug (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)

Debugging version of use_heuristic, several outputs.

• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int use_heuristic_trace (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h, Output_t output)

Tracing version of use_heuristic, writes costs for every elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 52: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

44 angel Namespace Documentation

• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int apply_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h, Output_t output)

Applies heuristic and uses output visitor write costs and graphs for every elimination.

• template<class Object_t, class Ad_graph_t, class Heuristic1_t, class Heuristic2_t, class Heuristic3_-t, class Heuristic4_t, class Heuristic5_t>int best_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3, Heuristic4_t h4, Heuristic5_th5)

Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.

• template<class Object_t, class Ad_graph_t, class Op_t>int find_best_subset (const vector< Object_t > &v1, const Ad_graph_t &adg,vector< Object_t > &v2, Op_t op, bool maximize)

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

• int edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion be.

• int edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion ee.

• bool maintaining_edge_eliminations (const vector< EdgeE-lim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets that don’t increase the nontrivial edgecount.

• bool reducing_edge_eliminations (const vector< EdgeE-lim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets that decrease the nontrivial edge count.

• bool refill_avoiding_edge_eliminations (const vector< EdgeElim > &bev1, c_-graph_t &angelLCG, const refillDependenceMap_t refillDependences, vector<EdgeElim > &bev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 53: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 45

Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).

• bool rerouting_considerate_edge_eliminations (const vector< EdgeElim >&bev, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< EdgeElim > &reroutingConsidera-teEdgeElimsV)

• unsigned int lowestMarkowitzEdgeElim (const vector< EdgeElim > &inEEV,const c_graph_t &angelLCG, vector< EdgeElim > &outEEV)

• bool reverseModeEdgeElim (const vector< EdgeElim > &inEEV, const c_-graph_t &angelLCG, vector< EdgeElim > &outEEV)

• size_t noncyclicReroutings (const vector< Rerouting > &erv, const std::vector<Transformation > &transformationsPerformedV, const c_graph_t &angelLCG,vector< Rerouting > &noncyclicReroutingsV)

• bool reducing_reroutings (const vector< Rerout-ing > &erv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Rerouting > &reducingReroutingsV)

• int transformation_effect (const Transformation t, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

• bool all_viable_transformations (c_graph_t &angelLCG, const std::vector<Transformation > &transformationsPerformedV, vector< Transformation >&allViableTransformationsV)

• bool maintaining_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &maintainingTransforma-tionsV)

• bool reducing_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &reducingTransformationsV)

• bool refill_avoiding_transformations (const vector<Transformation > &tv, c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const refillDependenceMap_t &refillDependences,vector< Transformation > &refillAvoidingTransformationsV)

• bool rerouting_considerate_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< Transformation > &reroutingConsider-ateTransformationsV)

• bool lowest_markowitz_transformations (const vector< Transformation > &tv,const c_graph_t &angelLCG, vector< Transformation > &lowestMarkowitz-TransformationsV)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 54: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

46 angel Namespace Documentation

• bool reverse_mode_transformations (const vector< Transformation > &tv, constc_graph_t &angelLCG, vector< Transformation > &reverseModeTransforma-tionsV)

• void reroutable_edges (c_graph_t &angelLCG, vector< edge_reroute_t > &erv)• unsigned int reroutable_edges (c_graph_t &angelLCG, vector< Rerouting >

&allReroutingsV)• int reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,

const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, bool &incrementIsTrivial)

• unsigned int preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)

• unsigned int postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)

• unsigned int prerouteEdge_noJAE (edge_reroute_t er, c_graph_t &angelLCG)• unsigned int postrouteEdge_noJAE (edge_reroute_t er, c_graph_t &angelLCG)• template<class Temp_t>

double SA_acceptance (int diff, int it, Temp_t temp)Probability to accept new object in SA.

• template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t>int SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_t temp, intmax_iter)

Simulated Annealing in a general form.

• template<class Object_t, class Neighbor_t, class Cost_t>int LSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double gamma,int max_iter)

Logarithmic Simulated Annealing in a general form.

• template<class Object_t, class Neighbor_t, class Cost_t>int FTSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double t, intmax_iter)

Metropolis with fixed temperature in a general form.

• template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t>int ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Adaption_tadaption, double &gamma, int max_iter)

Adaptive Logarithmic Simulated Annealing in generic form.

• void neighbor_swap (const std::vector< int > &old_seq, std::vector< int >&seq)

Swap two vertices in sequence (historical, only vertex elimination).

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 55: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 47

• void write_face (std::ostream &stream, line_graph_t::face_t face, const line_-graph_t &lg)

• void write_face_vector (std::ostream &stream, const std::string &s, conststd::vector< line_graph_t::face_t > &v, const line_graph_t &lg)

• void permutate_vertices (const c_graph_t &gin, const vector< c_graph_-t::vertex_t > &p, c_graph_t &gout)

• void independent_vertices_to_front (const c_graph_t &gin, const vector< c_-graph_t::vertex_t > &indeps, c_graph_t &gout)

• int eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_t::edge_t >&ev)

• int front_eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_-t::edge_t > &ev)

• int back_eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_-t::edge_t > &ev)

• int eliminatable_edges (const c_graph_t &cg, std::vector< edge_bool_t > &ev)• int eliminatable_edges (const c_graph_t &cg, std::vector< edge_ij_elim_t >

&ev)• unsigned int eliminatable_edges (const c_graph_t &cg, std::vector< EdgeElim

> &ev)• int eliminatable_faces (const line_graph_t &lg, std::vector< line_graph_-

t::face_t > &fv)• void random_statement (int inputs, int expr, const vector< double > &p, c_-

graph_t &statement)• int new_in_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int new_out_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int markowitz_enlargement_front (c_graph_t::edge_t e, const c_graph_t &cg,

bool eliminate_parallel_edges=false)• int markowitz_enlargement_front (c_graph_t::edge_t e, c_graph_t::edge_t e2,

const c_graph_t &cg)• int markowitz_enlargement_back (c_graph_t::edge_t e, const c_graph_t &cg,

bool eliminate_parallel_edges=false)• int markowitz_enlargement_back (c_graph_t::edge_t e, c_graph_t::edge_t e2,

const c_graph_t &cg)• int markowitz_enlargement_all_neighbors (c_graph_t::vertex_t v, const c_-

graph_t &cg)• int oplr_face (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const vector< int >

&vni, const vector< int > &vli, const vector< int > &vno, const vector< int >&vlo, const c_graph_t &cg)

• int oplr_edge_front (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)

• int oplr_edge_back (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 56: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

48 angel Namespace Documentation

• double fme_obj (edge_bool_t eb, const c_graph_t &cg)• double rme_obj (edge_bool_t eb, const c_graph_t &cg)• int fill_in_front (c_graph_t::edge_t e, const c_graph_t &cg)• int fill_in_back (c_graph_t::edge_t e, const c_graph_t &cg)• int lmmd_edge_front (c_graph_t::edge_t e, double w, const c_graph_t &cg)• int lmmd_edge_back (c_graph_t::edge_t e, double w, const c_graph_t &cg)• int momr_edge_front (c_graph_t::edge_t e, const c_graph_t &cg)• int momr_edge_back (c_graph_t::edge_t e, const c_graph_t &cg)• double fmf_obj (line_graph_t::face_t f, const line_graph_t &lg)• int edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG, const

AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• int edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG, const

AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• bool maintaining_edge_eliminations (const vector< EdgeElim > &bev1, const

c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< EdgeElim > &bev2)

• bool reducing_edge_eliminations (const vector< EdgeElim > &bev1, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< EdgeElim > &bev2)

• bool reducing_reroutings (const vector< Rerouting > &erv, const c_graph_-t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,vector< Rerouting > &reducingReroutingsV)

• int transformation_effect (const Transformation t, const c_graph_t &angelLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)

• bool maintaining_transformations (const vector< Transformation > &tv, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< Transformation > &maintainingTransformationsV)

• bool reducing_transformations (const vector< Transformation > &tv, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< Transformation > &reducingTransformationsV)

• bool refill_avoiding_transformations (const vector< Transformation > &tv,c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const refillDependenceMap_t &refillDependences, vector< Transfor-mation > &refillAvoidingTransformationsV)

• int reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, bool &incre-mentIsTrivial)

• unsigned int preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)

• unsigned int postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 57: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 49

• size_t which_index (const LinearizedComputationalGraphVertex ∗const add,const vector< const LinearizedComputationalGraphVertex ∗ > &av)

• void read_graph_xaif_booster (const LinearizedComputationalGraph &xg, c_-graph_t &cg, vector< const LinearizedComputationalGraphVertex ∗ > &av,vector< edge_address_t > &ae)

• const LinearizedComputationalGraphEdge ∗ xaif_edge_pr (line_graph_-t::edge_t e, const accu_graph_t &ag, const vector< edge_address_t > &ae)

• void write_graph_xaif_booster (const accu_graph_t &ag, const vector< constLinearizedComputationalGraphVertex ∗ > &av, const vector< edge_address_-t > &ae, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)

• unsigned int num_nontrivial_edges (const c_graph_t &angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel)

• unsigned int numIntermediateVertices (const c_graph_t &angelLCG)• unsigned int numIntermediateVerticesWithoutUnitEdge (const c_graph_t &an-

gelLCG)• void ourLCG_to_angelLCG (const LinearizedComputationalGraph &ourLCG,

vector< const LinearizedComputationalGraphVertex ∗ > &ourLCG_verts, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list)

• void populate_remainderGraph_and_correlationLists (const c_graph_t &an-gelLCG, const vector< const LinearizedComputationalGraphVertex ∗ >ourLCG_verts, const list< EdgeRef_t > &edge_ref_list, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)

• unsigned int replay_transformation_seq (c_graph_t &angelLCG, constvector< Transformation > transformationSeqV, unsigned int &previous_-numNontrivialEdges, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, transformationSeq_cost_t &dummy_transformationSeq_cost,refillDependenceMap_t &dummy_refillDependenceMap)

Variables

• ofstream log_file• no_output_t no_output• string_stream_output_t cout_string_output• vis_display_output_t cout_vis_display_output• random_init_t random_init_object• forward_mode_vertex_t forward_mode_vertex

Forward mode in vertex elimination.

• reverse_mode_vertex_t reverse_mode_vertex

Reverse mode in vertex elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 58: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

50 angel Namespace Documentation

• lowest_markowitz_vertex_t lowest_markowitz_vertex

Lowest Markowitz degree first in vertex elimination.

• lowest_relative_markowitz_vertex_t lowest_relative_markowitz_vertex

Lowest relative Markowitz degree first in vertex elimination.

• lowest_fill_in_vertex_t lowest_fill_in_vertex

Lowest fill-in in vertex elimination.

• lmmd_vertex_t lmmd_vertex

Predefined object of lmmd_vertex_t with weight=1.0.

• momr_vertex_t momr_vertex

Instance of momr_vertex_t, can be used as a function and an argument.

• moplr_vertex_t moplr_vertex

Maximal overall path length reduction in vertex elimination.

• forward_mode_edge_t forward_mode_edge

Forward mode in edge elimination (mixed front and back elimination).

• reverse_mode_edge_t reverse_mode_edge

Reverse mode in edge elimination (mixed front and back elimination).

• lowest_markowitz_edge_t lowest_markowitz_edge

Lowest Markowitz in edge elimination (mixed front and back elimination).

• lowest_relative_markowitz_edge_t lowest_relative_markowitz_edge

Lowest relative Markowitz in edge elimination (mixed front and back elimination).

• lmmd_edge_t lmmd_edge

Predefined object of lmmd_edge_t with weight=1.0.

• momr_edge_t momr_edge

Maximal overall Markowitz reduction in mixed edge elimination.

• forward_mode_face_t forward_mode_face

Forward mode in face elimination.

• reverse_mode_face_t reverse_mode_face

Reverse mode in face elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 59: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 51

• reverse_mode_face_whole_vertex_t reverse_mode_face_whole_vertex

Reverse mode emulating vertex elimination with face eliminations.

• lowest_markowitz_face_t lowest_markowitz_face

Lowest Markowitz for face elimination.

• momr_face_t momr_face

Maximal overall Markowitz degree reduction in face elimination.

• ofstream log_file• no_output_t no_output• string_stream_output_t cout_string_output (std::cout)• vis_display_output_t cout_vis_display_output (std::cout)• random_init_t random_init_object• forward_mode_vertex_t forward_mode_vertex

Forward mode in vertex elimination.

• reverse_mode_vertex_t reverse_mode_vertex

Reverse mode in vertex elimination.

• lowest_markowitz_vertex_t lowest_markowitz_vertex

Lowest Markowitz degree first in vertex elimination.

• lowest_relative_markowitz_vertex_t lowest_relative_markowitz_vertex

Lowest relative Markowitz degree first in vertex elimination.

• lowest_fill_in_vertex_t lowest_fill_in_vertex

Lowest fill-in in vertex elimination.

• lmmd_vertex_t lmmd_vertex (1.0)

Predefined object of lmmd_vertex_t with weight=1.0.

• momr_vertex_t momr_vertex

Instance of momr_vertex_t, can be used as a function and an argument.

• moplr_vertex_t moplr_vertex

Maximal overall path length reduction in vertex elimination.

• forward_mode_edge_t forward_mode_edge

Forward mode in edge elimination (mixed front and back elimination).

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 60: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

52 angel Namespace Documentation

• reverse_mode_edge_t reverse_mode_edge

Reverse mode in edge elimination (mixed front and back elimination).

• lowest_markowitz_edge_t lowest_markowitz_edge

Lowest Markowitz in edge elimination (mixed front and back elimination).

• lowest_relative_markowitz_edge_t lowest_relative_markowitz_edge

Lowest relative Markowitz in edge elimination (mixed front and back elimination).

• lmmd_edge_t lmmd_edge (1.0)

Predefined object of lmmd_edge_t with weight=1.0.

• momr_edge_t momr_edge

Maximal overall Markowitz reduction in mixed edge elimination.

• minimal_distance_edge_t minimal_distance_edge• forward_mode_face_t forward_mode_face

Forward mode in face elimination.

• reverse_mode_face_t reverse_mode_face

Reverse mode in face elimination.

• reverse_mode_face_whole_vertex_t reverse_mode_face_whole_vertex

Reverse mode emulating vertex elimination with face eliminations.

• momr_face_t momr_face

Maximal overall Markowitz degree reduction in face elimination.

8.1.1 Detailed Description

Namespace for the complete library.

8.1.2 Typedef Documentation

8.1.2.1 typedef boost::property<boost::vertex_name_t, accu_exp_t>angel::accu_exp_property

Definition at line 638 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 61: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 53

8.1.2.2 typedef std::pair<int, int> angel::ad_edge_t

Definition at line 242 of file angel_types.hpp.

8.1.2.3 typedef std::pair<c_graph_t::edge_t,bool> angel::edge_bool_t

Pair of c-graph edge and boolean to specify an edge elimination.

Definition at line 235 of file angel_types.hpp.

8.1.2.4 typedef std::vector<edge_elim_t> angel::edge_elim_seq_t

Sequences of edges from the compute graph with information which edges shall befront eliminate

Definition at line 598 of file angel_types.hpp.

8.1.2.5 typedef elimination_history_t<c_graph_t, edge_ij_elim_t>angel::edge_elimination_history_t

Edge elimination history for LSA usage.

See also:

elimination_history_t

Definition at line 733 of file eliminations.hpp.

8.1.2.6 typedef std::vector<edge_ij_elim_t> angel::edge_ij_elim_seq_t

Sequences of pairs of vertex numbers with information which edges shall be fronteliminate

Definition at line 606 of file angel_types.hpp.

8.1.2.7 typedef boost::property<boost::edge_index_t, int,edge_weight_property> angel::edge_index_weight_property

Definition at line 50 of file angel_types.hpp.

8.1.2.8 typedef std::vector<edge_pair_elim_t> angel::edge_pair_elim_seq_t

Sequences of pairs of vertices from the compute graph with information which edgesshall be front eliminate

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 62: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

54 angel Namespace Documentation

Definition at line 602 of file angel_types.hpp.

8.1.2.9 typedef boost::property<EdgeType, int, edge_index_weight_property>angel::edge_type_index_weight_property

Definition at line 51 of file angel_types.hpp.

8.1.2.10 typedef vector<edge_vertex_elim_t> angel::edge_vertex_elim_seq_t

sequences of edges as nodes from line graph

Definition at line 256 of file eliminations.hpp.

8.1.2.11 typedef boost::property<boost::edge_weight_t, int>angel::edge_weight_property

Definition at line 49 of file angel_types.hpp.

8.1.2.12 typedef elimination_history_t<line_graph_t, triplet_t>angel::face_elimination_history_t

Face elimination history for LSA usage.

See also:

elimination_history_t

Definition at line 737 of file eliminations.hpp.

8.1.2.13 typedef boost::adjacency_list<boost::vecS, boost::vecS,boost::bidirectionalS, accu_exp_property, boost::no_property>angel::pure_accu_exp_graph_t

Definition at line 642 of file angel_types.hpp.

8.1.2.14 typedef boost::adjacency_list<boost::vecS, boost::vecS,boost::bidirectionalS, vertex_visited_property,edge_type_index_weight_property> angel::pure_c_graph_t

Pure BGL type definition of c-graph.

Definition at line 71 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 63: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 55

8.1.2.15 typedef boost::adjacency_list<boost::vecS, boost::vecS,boost::bidirectionalS, vertex_name_degree_property,boost::no_property> angel::pure_line_graph_t

Pure BGL type definition of line graph.

Definition at line 249 of file angel_types.hpp.

8.1.2.16 typedef std::map< uint_pair_t, vertex_set_t >angel::refillDependenceMap_t

Definition at line 899 of file angel_types.hpp.

8.1.2.17 typedef std::pair<unsigned int,unsigned int> angel::uint_pair_t

Definition at line 897 of file angel_types.hpp.

8.1.2.18 typedef boost::property<boost::vertex_degree_t, int>angel::vertex_degree_property

Definition at line 243 of file angel_types.hpp.

8.1.2.19 typedef elimination_history_t<c_graph_t, c_graph_t::vertex_t>angel::vertex_elimination_history_t

Vertex elimination history for LSA usage.

See also:

elimination_history_t

Definition at line 729 of file eliminations.hpp.

8.1.2.20 typedef boost::property<boost::vertex_name_t, ad_edge_t,vertex_degree_property> angel::vertex_name_degree_property

Definition at line 244 of file angel_types.hpp.

8.1.2.21 typedef std::set<c_graph_t::vertex_t> angel::vertex_set_t

Definition at line 898 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 64: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

56 angel Namespace Documentation

8.1.2.22 typedef boost::property<VertexVisited, bool>angel::vertex_visited_property

Definition at line 63 of file angel_types.hpp.

8.1.3 Enumeration Type Documentation

8.1.3.1 enum angel::Edge_Type_E

Enumerator:

VARIABLE_EDGE

UNIT_EDGE

CONSTANT_EDGE

Definition at line 39 of file angel_types.hpp.

8.1.3.2 enum angel::EdgeRefType_E

Enumerator:

LCG_EDGE

JAE_VERT

UNDEFINED

Definition at line 673 of file angel_types.hpp.

8.1.3.3 enum angel::vertex_type_t

Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t.

Enumerator:

independent Independent vertex.

intermediate Non-empty vertex neither independent nor dependent.

dependent Independent vertex.

dead_vertex Empty vertex, should not be dependent or independent.

undefined_vertex Undefined, e.g. out of range.

Definition at line 32 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 65: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 57

8.1.4 Function Documentation

8.1.4.1 bool angel::all_viable_transformations (c_graph_t & angelLCG, conststd::vector< Transformation > & transformationsPerformedV, vector<Transformation > & allViableTransformationsV)

Filter that populates allViableTransformationsV with all possible edge elim-inations and all possible reroutings that haven’t already been performed (so-called non-cyclic reroutings).

Definition at line 1742 of file heuristics.cpp.

References eliminatable_edges(), noncyclicReroutings(), and reroutable_edges().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random().

Here is the call graph for this function:

angel::all_viable_transformations

angel::eliminatable_edges

angel::noncyclicReroutings

angel::reroutable_edges

angel::edge

angel::reachable

8.1.4.2 template<class Object_t, class Neighbor_t, class Cost_t, classAdaption_t> int angel::ALSA (Object_t & object, Neighbor_t neighbor,Cost_t costs, Adaption_t adaption, double & gamma, int max_iter)[inline]

Adaptive Logarithmic Simulated Annealing in generic form.

Parameters:

object Some state in the configuration space.

neighbor Neighborhood relation applicable to object

costs Cost operator applicable to object

adaption Operator that can change Γgamma Initial Γ in LSA

max_iter Maximal number of iterations

See also:

LSA

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 66: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

58 angel Namespace Documentation

ALSA is LSA with the difference that Γ can be changed adaptively. The adaptionoperator records the costs and may change Γ on this base. Another difference to LSAis that Γ is passed by reference (instead of by value) in order to give feedback aboutthe adaption.

Note:

At the moment there are only applications with face_elimination_history_t asObject_t.

Definition at line 43 of file sa_impl.hpp.

References random().

Here is the call graph for this function:

angel::ALSA angel::random

8.1.4.3 template<class Object_t, class Ad_graph_t, class Heuristic_t, classOutput_t> int angel::apply_heuristic (const Ad_graph_t & adg,vector< Object_t > & el_seq, Heuristic_t h, Output_t output)[inline]

Applies heuristic and uses output visitor write costs and graphs for every elimination.

Parameters:

adg c-graph or line graph

el_seq Obtained elimination sequence

h Heuristic or combination of heuristics

output Visitor to where written is

Returns:

Elimination costs

See also:

use_heuristiceliminatable_objectseliminateheuristic_pair_tno_output_tstring_stream_output_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 67: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 59

Definition at line 1299 of file heuristics.hpp.

References eliminatable_objects(), and eliminate().

Here is the call graph for this function:

angel::apply_heuristic

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

8.1.4.4 int angel::back_edge_elimination (line_graph_t::edge_t vij,line_graph_t & lg)

Back eliminate edge vij in line graph lg

All faces (∗,i,j) are eliminated

Definition at line 212 of file eliminations.cpp.

References face_elimination().

Here is the call graph for this function:

angel::back_edge_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.5 int angel::back_edge_elimination (int i, int j, line_graph_t & lg)

Back eliminate edge from vertex with number i to vertex number j in line graph lg

All faces (∗,i,j) are eliminated

Definition at line 203 of file eliminations.cpp.

References back_edge_elimination(), and find_edge().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 68: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

60 angel Namespace Documentation

Here is the call graph for this function:

angel::back_edge_elimination

angel::back_edge_elimination

angel::find_edge

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.6 int angel::back_edge_elimination (int i, int j, c_graph_t & cg)[inline]

Back elimination of edge from vertex with number i to vertex with number j fromc-graph cg

Returns:

The costs (number of operation)

Definition at line 95 of file eliminations.hpp.

References back_edge_elimination().

Here is the call graph for this function:

angel::back_edge_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.7 int angel::back_edge_elimination (c_graph_t::vertex_t i,c_graph_t::vertex_t j, c_graph_t & cg) [inline]

Back elimination of edge from vertex i to vertex j from c-graph cg

Returns:

The costs (number of operation)

Definition at line 82 of file eliminations.hpp.

References back_edge_elimination(), and edge().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 69: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 61

Here is the call graph for this function:

angel::back_edge_elimination

angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.8 int angel::back_edge_elimination (c_graph_t::edge_t e, c_graph_t & cg)

Back elimination of edge e from c-graph cg

Returns:

The costs (number of operation)

Definition at line 92 of file eliminations.cpp.

References CONSTANT_EDGE, dependent, edge(), independent, angel::c_graph_-t::next_edge_number, UNIT_EDGE, VARIABLE_EDGE, vertex_type(), andangel::c_graph_t::vertex_type().

Referenced by back_edge_elimination(), convert_elimination_sequence(), edge_-elimination(), momr_edge_back(), remove_trivial_edges(), and vertex_elimination().

Here is the call graph for this function:

angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.9 unsigned int angel::back_elim (c_graph_t::edge_t e, c_graph_t& angelLCG, const elimSeq_cost_t & currentElimSeq,refillDependenceMap_t & refillDependences)

Definition at line 814 of file eliminations.cpp.

References dependent, pair_elim(), and vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_elimination_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 70: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

62 angel Namespace Documentation

Here is the call graph for this function:

angel::back_elim

angel::pair_elim

angel::vertex_type

angel::edge

8.1.4.10 int angel::back_eliminatable_edges (const c_graph_t & cg,std::vector< c_graph_t::edge_t > & ev)

Definition at line 384 of file eliminations.cpp.

References independent, and vertex_type().

Here is the call graph for this function:

angel::back_eliminatable_edges angel::vertex_type

8.1.4.11 int angel::back_eliminatable_edges (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev)

Returns a set of edges that can be back eliminated from c-graph cg.

8.1.4.12 unsigned int angel::back_eliminate_edge_directly (c_graph_t::edge_te, c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaif-BoosterCrossCountryInterface::JacobianAccumulationExpressionList& jae_list)

Back eliminate an edge from an angel c_graph_t but go directly to a xaifBoosterCross-CountryInterface::JacobianAccumulationExpression, rather than the internal angel ac-cumulation graph type.

Parameters:

e the edge that will be back eliminated.

angelLCG the c_graph_t (passed by reference) that the elimination is performedon.

edge_ref_list the stl list container that keeps track of the reference (LCG pointeror JAE pointer) for each edge in angelLCG.

jae_list the xaifBooster JAE list that we construct incrementally as we performeliminations.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 71: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 63

Returns:

The cost (in terms of multiplications) of the elimination.

This function is also aware of unit and constant edges. This entails labeling new edgeswith the appropriate type, as well as determining the cost appropriately.

Definition at line 698 of file eliminations.cpp.

References dependent, multiply_edge_pair_directly(), removeRef(), and vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::back_eliminate_edge_directly

angel::multiply_edge_pair_directly

angel::removeRef

angel::vertex_type

angel::edge

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

8.1.4.13 unsigned int angel::backEdgeElimination_noJAE (c_graph_t::edge_te, c_graph_t & angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence, refillDependenceMap_t &refillDependences)

Definition at line 929 of file eliminations.cpp.

References dependent, pairElim_noJAE(), and vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().

Here is the call graph for this function:

angel::backEdgeElimination_noJAE

angel::pairElim_noJAE

angel::vertex_type

angel::edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 72: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

64 angel Namespace Documentation

8.1.4.14 template<class Object_t, class Ad_graph_t, class Heuristic1_t, classHeuristic2_t, class Heuristic3_t, class Heuristic4_t, class Heuristic5_t>int angel::best_heuristic (const Ad_graph_t & adg, vector< Object_t> & el_seq, Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3,Heuristic4_t h4, Heuristic5_t h5) [inline]

Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.

Definition at line 84 of file heuristics_impl.hpp.

References use_heuristic().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

Here is the call graph for this function:

angel::best_heuristic angel::use_heuristic

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

8.1.4.15 void angel::block2loop (const c_graph_t & block, int loops, c_graph_t& loop)

Generates a DAG that represents a loop over the block.

Parameters:

block The used block

loops The number of loops

loop The resulting loop DAG

Definition at line 249 of file graph_generator.cpp.

References angel::c_graph_t::clear_graph(), angel::c_graph_t::dependents,independent_vertices_to_front(), angel::c_graph_t::next_edge_number, renumber_-edges(), angel::c_graph_t::v(), angel::c_graph_t::X, angel::c_graph_t::x(), andangel::c_graph_t::y().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 73: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 65

Here is the call graph for this function:

angel::block2loop

angel::c_graph_t::clear_graph

angel::c_graph_t::v

angel::independent_vertices_to_front

angel::renumber_edges

angel::c_graph_t::x

angel::c_graph_t::y

angel::reachable_vertices

angel::relevant_vertices

8.1.4.16 size_t angel::block_begin (size_t i, size_t p, size_t n) [inline]

First index in ith of p blocks where overall size is n (indices 0..n-1).

Definition at line 896 of file angel_tools.hpp.

8.1.4.17 int angel::chooseEdgeElimRandomly (std::vector< double > & deltaE)

Definition at line 394 of file angel_tools.cpp.

References ECONST, and gen_prob().

Referenced by xaifBoosterCrossCountryInterface::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::chooseEdgeElimRandomly angel::gen_prob

8.1.4.18 int angel::chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)

Definition at line 424 of file angel_tools.cpp.

References ECONST, and gen_prob().

Here is the call graph for this function:

angel::chooseEdgeElimRandomlyGreedy angel::gen_prob

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 74: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

66 angel Namespace Documentation

8.1.4.19 unsigned int angel::chooseTarget_sa (std::vector< double > & deltaE)

Randomly chooses an index into the vector deltaE.

Parameters:

deltaE a vector of changes in energy. Normalized probabilities are calculated foreach entry

See also:

gen_prob

Definition at line 348 of file angel_tools.cpp.

References ECONST, and gen_prob().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), and xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random().

Here is the call graph for this function:

angel::chooseTarget_sa angel::gen_prob

8.1.4.20 void angel::close_log_file () [inline]

Definition at line 469 of file angel_io.hpp.

References log_file.

8.1.4.21 template<typename Ad_graph_t> void angel::common_predecessor(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t & adg,typename std::vector< typename Ad_graph_t::vertex_descriptor > &vec) [inline]

Returns set of vertices (in vec) that have common predecessors with v.

Definition at line 263 of file angel_tools.hpp.

References unique_vector().

Here is the call graph for this function:

angel::common_predecessor angel::unique_vector

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 75: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 67

8.1.4.22 template<typename Ad_graph_t> void angel::common_successors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t & adg,typename std::vector< typename Ad_graph_t::vertex_descriptor > &vec) [inline]

Returns set of vertices (in vec) that have common successors with v.

Definition at line 231 of file angel_tools.hpp.

References unique_vector().

Here is the call graph for this function:

angel::common_successors angel::unique_vector

8.1.4.23 bool angel::convert_elimination_sequence (const vector<edge_ij_elim_t > & ev, const line_graph_t & lg, vector< triplet_t > &tv)

Converts (mixed) edge elimination sequence into face elimination sequence.

Definition at line 472 of file eliminations.cpp.

References back_edge_elimination(), find_edge(), front_edge_elimination(),THROW_EXCEPT_MACRO, write_graph(), and write_vertex_property().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),and xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().

Here is the call graph for this function:

angel::convert_elimination_sequence

angel::back_edge_elimination

angel::find_edge

angel::front_edge_elimination

angel::write_graph

angel::write_vertex_property

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::write_vector

8.1.4.24 bool angel::convert_elimination_sequence (const vector<c_graph_t::vertex_t > & vv, const c_graph_t & cg, vector<edge_ij_elim_t > & ev)

Converts vertex elimination sequence into (mixed) edge elimination sequence.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 76: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

68 angel Namespace Documentation

Definition at line 454 of file eliminations.cpp.

References vertex_elimination().

Here is the call graph for this function:

angel::convert_elimination_sequence angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.25 template<typename Ad_graph_t> int angel::count_parallel_edges(typename Ad_graph_t::edge_descriptor e, const Ad_graph_t & g)[inline]

Definition at line 385 of file angel_tools.hpp.

Referenced by markowitz_enlargement_front().

8.1.4.26 template<typename Ad_graph_t> std::pair<typenameAd_graph_t::edge_descriptor, bool> angel::edge(typename Ad_graph_t::vertex_descriptor u, typenameAd_graph_t::vertex_descriptor v, const Ad_graph_t & g) [inline]

Replaces edge function of BGL.

Parameters:

u Source

v Target

g Graph

Returns:

Face (u, v)

Note:

BGL function crashes if u or v is too large for g

Definition at line 388 of file angel_types.hpp.

Referenced by back_edge_elimination(), edge_elim_effect(), edge_elimination(),face_elimination(), fme_obj(), front_edge_elimination(), getEdge(), multiply_-edge_pair_directly(), angel::triplet_heuristic_t< Face_heuristic_t >::operator()(),

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 77: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 69

angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >::operator()(), oplr_face(),pair_elim(), pairElim_noJAE(), permutate_vertices(), postroute_edge_directly(),postrouteEdge_noJAE(), preroute_edge_directly(), prerouteEdge_noJAE(), read_-graph_eliad(), reducing_reroutings(), remove_parallel_edges(), reroutable_edges(),reroute_effect(), and rme_obj().

8.1.4.27 int angel::edge_elim_effect (const EdgeElim ee, const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Definition at line 1213 of file heuristics.cpp.

References edge_elim_effect(), angel::EdgeElim::getE(), and an-gel::EdgeElim::isFront().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random().

Here is the call graph for this function:

angel::edge_elim_effect

angel::edge_elim_effect

angel::EdgeElim::getE

angel::EdgeElim::isFront

angel::getEdge angel::edge

8.1.4.28 int angel::edge_elim_effect (const edge_bool_t be, const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Definition at line 1125 of file heuristics.cpp.

References dependent, edge(), UNIT_EDGE, VARIABLE_EDGE, and vertex_type().

Here is the call graph for this function:

angel::edge_elim_effect

angel::edge

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 78: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

70 angel Namespace Documentation

8.1.4.29 int angel::edge_elim_effect (const EdgeElimee, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel)

Determines the effect, in terms of nontrivial edge count, of performing edge eliminationee.

Parameters:

ee edge elimination target under consideration

angelLCG The linearized computational graph

ourAwarenessLevel setting such as unit aware, constant aware, or no awareness

Returns:

net effect on nontrivial edge count

8.1.4.30 int angel::edge_elim_effect (constedge_bool_t be, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel)

Determines the effect, in terms of nontrivial edge count, of performing edge eliminationbe.

Parameters:

be edge elimination target under consideration

angelLCG c-graph

ourAwarenessLevel setting such as unit aware, constant aware, or no awareness

Returns:

net effect on nontrivial edge count

Referenced by edge_elim_effect(), maintaining_edge_eliminations(), reducing_edge_-eliminations(), and transformation_effect().

8.1.4.31 int angel::edge_elimination (const edge_vertex_elim_seq_t & seq,line_graph_t & lg) [inline]

Eliminate sequence seq of edges from line graph lg.

Definition at line 259 of file eliminations.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 79: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 71

References edge(), and edge_elimination().

Here is the call graph for this function:

angel::edge_elimination angel::edge

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.32 int angel::edge_elimination (line_graph_t::edge_t vij, bool front,line_graph_t & lg) [inline]

Front elimination of edge vij from line graph lg if front=true otherwise backeliminination.

Definition at line 235 of file eliminations.hpp.

References back_edge_elimination(), and front_edge_elimination().

Here is the call graph for this function:

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.33 int angel::edge_elimination (int i, int j, bool front, line_graph_t & lg)[inline]

Front elimination of edge from vertex i to vertex j from line graph lg iffront=true otherwise back eliminination

Definition at line 229 of file eliminations.hpp.

References back_edge_elimination(), and front_edge_elimination().

Here is the call graph for this function:

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 80: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

72 angel Namespace Documentation

8.1.4.34 int angel::edge_elimination (const edge_ij_elim_seq_t & seq, c_graph_t& cg) [inline]

Eliminate sequence seq of edges from c-graph cg

Returns:

The costs (number of operation)

Definition at line 173 of file eliminations.hpp.

References edge_elimination().

Here is the call graph for this function:

angel::edge_elimination angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.35 int angel::edge_elimination (const edge_pair_elim_seq_t & seq,c_graph_t & cg) [inline]

Eliminate sequence seq of edges from c-graph cg

Returns:

The costs (number of operation)

Definition at line 163 of file eliminations.hpp.

References edge_elimination().

Here is the call graph for this function:

angel::edge_elimination angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.36 int angel::edge_elimination (const edge_elim_seq_t & seq, c_graph_t &cg) [inline]

Eliminate sequence seq of edges from c-graph cg

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 81: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 73

Returns:

The costs (number of operation)

Definition at line 153 of file eliminations.hpp.

References edge(), and edge_elimination().

Here is the call graph for this function:

angel::edge_elimination angel::edge

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.37 int angel::edge_elimination (edge_ij_elim_t ee, c_graph_t & cg)[inline]

Edge elimination specified by ee.

Definition at line 136 of file eliminations.hpp.

References edge_elimination(), angel::edge_ij_elim_t::front, angel::edge_ij_elim_t::i,and angel::edge_ij_elim_t::j.

Here is the call graph for this function:

angel::edge_elimination angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.38 int angel::edge_elimination (int i, int j, bool front, c_graph_t & cg)[inline]

Front elimination of edge from vertex with number i to vertex with number j fromc-graph cg if front=true otherwise back eliminination

Returns:

The costs (number of operation)

Definition at line 130 of file eliminations.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 82: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

74 angel Namespace Documentation

References back_edge_elimination(), and front_edge_elimination().

Here is the call graph for this function:

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.39 int angel::edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_tj, bool front, c_graph_t & cg) [inline]

Front elimination of edge from vertex i to vertex j from c-graph cg if front=trueotherwise back eliminination

Returns:

The costs (number of operation)

Definition at line 119 of file eliminations.hpp.

References back_edge_elimination(), and front_edge_elimination().

Here is the call graph for this function:

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.40 int angel::edge_elimination (edge_bool_t e, c_graph_t & cg)[inline]

Front elimination of edge e.first from c-graph cg if e.second=true otherwiseback eliminination

Returns:

The costs (number of operation)

Definition at line 110 of file eliminations.hpp.

References back_edge_elimination(), and front_edge_elimination().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 83: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 75

Here is the call graph for this function:

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.41 int angel::edge_elimination (c_graph_t::edge_t e, bool front, c_graph_t& cg) [inline]

Front elimination of edge e from c-graph cg if front=true otherwise back elimin-ination

Returns:

The costs (number of operation)

Definition at line 101 of file eliminations.hpp.

References back_edge_elimination(), and front_edge_elimination().

Referenced by edge_elimination(), and eliminate().

Here is the call graph for this function:

angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.42 void angel::edge_vertex_name (line_graph_t::edge_t e, constline_graph_t & lg, int & i, int & j) [inline]

Vertex pair representation of an edge in line graph.

Parameters:

e Edge from line graph

lg Line graph

i Vertex number of edge source in c-graph (output)

j Vertex number of edge target in c-graph (output)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 84: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

76 angel Namespace Documentation

Definition at line 402 of file angel_types.hpp.

Referenced by angel::new_iks_t::operator()(), and angel::new_pik_t::operator()().

8.1.4.43 unsigned int angel::eliminatable_edges (const c_graph_t & cg,std::vector< EdgeElim > & ev)

Definition at line 426 of file eliminations.cpp.

References dependent, independent, and vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_elimination_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::eliminatable_edges angel::vertex_type

8.1.4.44 int angel::eliminatable_edges (const c_graph_t & cg, std::vector<edge_ij_elim_t > & ev)

Definition at line 410 of file eliminations.cpp.

References dependent, angel::edge_ij_elim_t::front, independent, and vertex_type().

Here is the call graph for this function:

angel::eliminatable_edges angel::vertex_type

8.1.4.45 int angel::eliminatable_edges (const c_graph_t & cg, std::vector<edge_bool_t > & ev)

Definition at line 395 of file eliminations.cpp.

References dependent, independent, and vertex_type().

Here is the call graph for this function:

angel::eliminatable_edges angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 85: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 77

8.1.4.46 int angel::eliminatable_edges (const c_graph_t & cg, std::vector<c_graph_t::edge_t > & ev)

Definition at line 363 of file eliminations.cpp.

8.1.4.47 unsigned int angel::eliminatable_edges (const c_graph_t & cg, vector<EdgeElim > & ev)

Returns a set of edges that can be eliminated from c-graph cg.

8.1.4.48 int angel::eliminatable_edges (const c_graph_t & cg, vector<edge_ij_elim_t > & ev)

Returns a set of edges that can be eliminated from c-graph cg and how.

It copies the edges into a vector and distiguishes which edge can be front, (i.e. (i,j,true))and which can be back-eliminated, i.e. (i,j,true). Edges can appear twice in the vector.

8.1.4.49 int angel::eliminatable_edges (const c_graph_t & cg, vector<edge_bool_t > & ev)

Returns a set of edges that can be eliminated from c-graph cg and how.

It copies the edges into a vector and distiguishes which edge can be front, (i.e.pair(e,true)) and which can be back-eliminated, i.e. pair(e,true). Edges can appeartwice in the vector.

8.1.4.50 int angel::eliminatable_edges (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev)

Returns a set of edges that can be eliminated from c-graph cg.

In fact it only copies the edges into a vector for better treatment.

Referenced by all_viable_transformations(), eliminatable_objects(), and reducing_-transformations().

8.1.4.51 int angel::eliminatable_faces (const line_graph_t & lg, std::vector<line_graph_t::face_t > & fv)

Definition at line 441 of file eliminations.cpp.

References dependent, independent, and vertex_type().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 86: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

78 angel Namespace Documentation

Here is the call graph for this function:

angel::eliminatable_faces angel::vertex_type

8.1.4.52 int angel::eliminatable_faces (const line_graph_t & lg, vector<line_graph_t::face_t > & fv)

Returns a set of faces that can be eliminated from line graph lg.

Referenced by eliminatable_objects(), and eliminatable_triplets().

8.1.4.53 int angel::eliminatable_objects (const line_graph_t & lg, vector<triplet_t > & tv) [inline]

Synonym of eliminatable_triplets for usage in templates.

See also:

use_heuristics

Definition at line 562 of file eliminations.hpp.

References eliminatable_triplets().

Here is the call graph for this function:

angel::eliminatable_objects angel::eliminatable_triplets angel::eliminatable_faces

8.1.4.54 int angel::eliminatable_objects (const line_graph_t & lg, vector<line_graph_t::face_t > & fv) [inline]

Synonym of eliminatable_faces for usage in templates.

See also:

use_heuristics

Definition at line 556 of file eliminations.hpp.

References eliminatable_faces().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 87: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 79

Here is the call graph for this function:

angel::eliminatable_objects angel::eliminatable_faces

8.1.4.55 int angel::eliminatable_objects (const c_graph_t & cg, vector<edge_ij_elim_t > & ev) [inline]

Synonym of eliminatable_edges for usage in templates.

See also:

use_heuristics

Definition at line 550 of file eliminations.hpp.

References eliminatable_edges().

Here is the call graph for this function:

angel::eliminatable_objects angel::eliminatable_edges

8.1.4.56 int angel::eliminatable_objects (const c_graph_t & cg, vector<edge_bool_t > & ev) [inline]

Synonym of eliminatable_edges for usage in templates.

See also:

use_heuristics

Definition at line 544 of file eliminations.hpp.

References eliminatable_edges().

Here is the call graph for this function:

angel::eliminatable_objects angel::eliminatable_edges

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 88: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

80 angel Namespace Documentation

8.1.4.57 int angel::eliminatable_objects (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev) [inline]

Synonym of eliminatable_edges for usage in templates.

See also:

use_heuristics

Definition at line 538 of file eliminations.hpp.

References eliminatable_edges().

Here is the call graph for this function:

angel::eliminatable_objects angel::eliminatable_edges

8.1.4.58 int angel::eliminatable_objects (const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv) [inline]

Synonym of eliminatable_vertices for usage in templates.

See also:

use_heuristics

Definition at line 532 of file eliminations.hpp.

References eliminatable_vertices().

Referenced by apply_heuristic(), angel::elimination_history_t< Ad_graph_t,El_spec_t >::complete_sequence(), angel::neighbor_check_meta_t::operator()(),angel::neighbor_sequence_check_t::operator()(), angel::neighbor_multi_step_-t::operator()(), angel::neighbor_last_removable_t::operator()(), use_heuristic(),use_heuristic_debug(), use_heuristic_noconst(), and use_heuristic_trace().

Here is the call graph for this function:

angel::eliminatable_objects angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.59 int angel::eliminatable_triplets (const line_graph_t & lg, vector<triplet_t > & tv) [inline]

Returns a set of eliminatable faces as triplets tv from line graph lg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 89: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 81

The first and second value of each triplet gives the face and the third is -1. Thus thereis no more information than eliminatable_faces but vectors of triplets can be used insituations where vectors of faces cannot.

Definition at line 517 of file eliminations.hpp.

References eliminatable_faces().

Referenced by eliminatable_objects().

Here is the call graph for this function:

angel::eliminatable_triplets angel::eliminatable_faces

8.1.4.60 int angel::eliminatable_vertices (const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv)

Returns a set of vertices that can be eliminated from c-graph cg.

Definition at line 342 of file eliminations.cpp.

References intermediate, and angel::c_graph_t::vertex_type().

Referenced by eliminatable_objects().

Here is the call graph for this function:

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.61 int angel::eliminate (triplet_t & t, line_graph_t & lg) [inline]

Overloaded elimination for templates, here face elimination in line graph

Returns:

The elimination costs.

Therefore, it can be used in template use_heuristic. Since the inserted/absorbing nodeis overwritten in t it can be used in elimination_history_t too.

Definition at line 452 of file eliminations.hpp.

References face_elimination().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 90: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

82 angel Namespace Documentation

Here is the call graph for this function:

angel::eliminate angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.62 int angel::eliminate (line_graph_t::face_t f, line_graph_t & lg)[inline]

Overloaded elimination for templates, here face elimination in line graph

Returns:

The costs, not the resulting line graph node.

Therefore, it can be used in template use_heuristic.

Definition at line 440 of file eliminations.hpp.

References face_elimination(), and was_non_trivial_elimination().

Here is the call graph for this function:

angel::eliminate

angel::face_elimination

angel::was_non_trivial_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighbors

angel::same_predecessors

angel::sorted_predecessor_set

angel::same_successors

angel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 91: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 83

8.1.4.63 int angel::eliminate (edge_ij_elim_t ee, c_graph_t & cg) [inline]

Overloaded elimination for templates, here vertex elimination in c-graph.

Definition at line 431 of file eliminations.hpp.

References edge_elimination().

Here is the call graph for this function:

angel::eliminate angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.64 int angel::eliminate (edge_bool_t e, c_graph_t & cg) [inline]

Overloaded elimination for templates, here vertex elimination in c-graph.

Definition at line 426 of file eliminations.hpp.

References edge_elimination().

Here is the call graph for this function:

angel::eliminate angel::edge_elimination

angel::back_edge_elimination

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.65 int angel::eliminate (int j, line_graph_t & lg) [inline]

Overloaded elimination for templates, here vertex elimination in line graph.

Definition at line 422 of file eliminations.hpp.

References vertex_elimination().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 92: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

84 angel Namespace Documentation

Here is the call graph for this function:

angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.66 int angel::eliminate (int j, c_graph_t & cg) [inline]

Overloaded elimination for templates, here vertex elimination in c-graph.

Definition at line 418 of file eliminations.hpp.

References vertex_elimination().

Here is the call graph for this function:

angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.67 int angel::eliminate (c_graph_t::vertex_t v, c_graph_t & cg)[inline]

Overloaded elimination for templates, here vertex elimination in c-graph.

Definition at line 414 of file eliminations.hpp.

References vertex_elimination().

Referenced by apply_heuristic(), angel::elimination_history_t< Ad_graph_t, El_-spec_t >::check_sequence(), angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination(), angel::neighbor_check_meta_t::operator()(), angel::neighbor_-sequence_check_t::operator()(), angel::neighbor_multi_step_t::operator()(),angel::neighbor_last_removable_t::operator()(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::rebuild_graph(), use_heuristic(), use_heuristic_debug(),use_heuristic_noconst(), and use_heuristic_trace().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 93: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 85

Here is the call graph for this function:

angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.68 int angel::face_elimination (triplet_t & t, line_graph_t & lg,accu_graph_t & ac) [inline]

Eliminate face from line graph

Parameters:

t a triplet of node number (i, j, kr), for meaning of kr see parameter lists of otherface elimination functions

lg the line graph

ac is a container for graphs representing the accumulation code

Returns:

Whether a face was eliminated, i.e. the elimination costs.

The third parameter of t is overwritten if the elimination was successful. So the in-formation on both the resulting node and the elimination costs are provided. We foundthat this version is the most convenient for general-purpose usage, e.g. stochastic algo-rithms.

Definition at line 370 of file eliminations.hpp.

References face_elimination(), angel::triplet_t::i, angel::triplet_t::j, and angel::triplet_-t::k.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 94: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

86 angel Namespace Documentation

Here is the call graph for this function:

angel::face_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.69 int angel::face_elimination (triplet_t & t, line_graph_t & lg)[inline]

Eliminate face from line graph

Parameters:

t a triplet of node number (i, j, kr), for meaning of kr see parameter lists of otherface elimination functions

lg the line graph

Returns:

Whether a face was eliminated, i.e. the elimination costs.

The third parameter of t is overwritten if the elimination was successful. So the infor-mation on both the resulting node and the elimination costs are provided.

Definition at line 353 of file eliminations.hpp.

References face_elimination(), angel::triplet_t::i, angel::triplet_t::j, and angel::triplet_-t::k.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 95: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 87

Here is the call graph for this function:

angel::face_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.70 int angel::face_elimination (int i, int j, int kr, line_graph_t & lg,accu_graph_t & ac) [inline]

Definition at line 338 of file eliminations.hpp.

References edge(), and face_elimination().

Here is the call graph for this function:

angel::face_elimination

angel::edge

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.71 int angel::face_elimination (int i, int j, int kr, line_graph_t & lg)[inline]

Eliminate face from line graph

Parameters:

i node number of the source of the face

j node number of the source of the face

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 96: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

88 angel Namespace Documentation

kr is a request for the number of a new node or the number of the node absorbingthe face, i.e. if face elimination inserts a new node into lg it should benumber with kr and if a new node is immediately absorbed by some nodek then it should be k = kr. If the request cannot be satisfied the face is noteliminated. kr = -1 means no request.

lg the line graph

Returns:

The number of node inserted or where the absorption took place.

Definition at line 332 of file eliminations.hpp.

References edge(), and face_elimination().

Here is the call graph for this function:

angel::face_elimination

angel::edge

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.72 int angel::face_elimination (int i, int j, line_graph_t & lg) [inline]

Eliminate face from line graph

Parameters:

i node number of the source of the face

j node number of the source of the face

lg the line graph

Returns:

The number of node inserted or where the absorption took place.

Definition at line 313 of file eliminations.hpp.

References edge(), and face_elimination().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 97: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 89

Here is the call graph for this function:

angel::face_elimination

angel::edge

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.73 int angel::face_elimination (line_graph_t::face_t f, line_graph_t & lg)[inline]

Eliminate face f from line graph lg

Returns:

The number of node inserted or where the absorption took place.

Definition at line 304 of file eliminations.hpp.

References face_elimination().

Here is the call graph for this function:

angel::face_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.74 int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t& lg) [inline]

Eliminate face f from line graph lg

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 98: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

90 angel Namespace Documentation

Parameters:

f the face

kr is a request for the number of a new node or the number of the node absorbingthe face, i.e. if face elimination inserts a new node into lg it should benumber with kr and if a new node is immediately absorbed by some nodek then it should be k = kr. If the request cannot be satisfied the face is noteliminated. kr = -1 means no request.

lg the line graph

Returns:

The number of node inserted or where the absorption took place.

Definition at line 297 of file eliminations.hpp.

References angel::line_graph_t::cgp, and face_elimination().

Here is the call graph for this function:

angel::face_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.75 int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t& lg, accu_graph_t & ac)

Eliminate face f from line graph lg

Parameters:

f the face

kr is a request for the number of a new node or the number of the absorbing theface, i.e. if face elimination inserts a new node into lg it should be numberwith kr and if a new node is immediately absorbed by some node k then itshould be k = kr. If the request cannot be satisfied the face is not eliminated.kr = -1 means no request.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 99: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 91

lg the line graph

ac is a container for graphs representing the accumulation code

Returns:

The number of node inserted or where the absorption took place.

Definition at line 230 of file eliminations.cpp.

References angel::accu_graph_t::accu_exp, angel::accu_exp_t::add, angel::line_-graph_t::cons_ok, angel::accu_graph_t::exp_nr, angel::accu_exp_t::mult, remove_-irrelevant_edges(), remove_unreachable_edges(), same_neighbors(), same_-predecessors(), same_successors(), sorted_predecessor_set(), sorted_successor_set(),THROW_DEBUG_EXCEPT_MACRO, and angel::line_graph_t::v().

Referenced by back_edge_elimination(), eliminate(), face_elimination(), front_edge_-elimination(), angel::momrf_op_t::operator()(), and vertex_elimination().

Here is the call graph for this function:

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.76 void angel::face_vertex_name (line_graph_t::face_t f, constline_graph_t & lg, int & i, int & j, int & k) [inline]

Vertex triplet representation of a face.

Parameters:

f face

lg Line graph

i Vertex number of face source in c-graph (output)

j Vertex number of face center in c-graph (output)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 100: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

92 angel Namespace Documentation

k Vertex number of face target in c-graph (output)

Definition at line 416 of file angel_types.hpp.

References THROW_DEBUG_EXCEPT_MACRO.

Referenced by fmf_obj(), angel::distf_op_t::operator()(), angel::momrf_op_-t::operator()(), and angel::lmf_op_t::operator()().

8.1.4.77 int angel::fill_in_back (c_graph_t::edge_t e, const c_graph_t & cg)[inline]

Definition at line 631 of file heuristics.cpp.

References new_in_edges().

Referenced by lowest_fill_in_edge_f().

Here is the call graph for this function:

angel::fill_in_back angel::new_in_edges

8.1.4.78 int angel::fill_in_front (c_graph_t::edge_t e, const c_graph_t & cg)[inline]

Definition at line 627 of file heuristics.cpp.

References new_out_edges().

Referenced by lowest_fill_in_edge_f().

Here is the call graph for this function:

angel::fill_in_front angel::new_out_edges

8.1.4.79 template<class Object_t, class Ad_graph_t, class Op_t> intangel::find_best_subset (const vector< Object_t > & v1, constAd_graph_t & adg, vector< Object_t > & v2, Op_t op, bool maximize)[inline]

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

Definition at line 1336 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 101: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 93

8.1.4.80 bool angel::find_edge (int s, int t, const line_graph_t & lg, std::vector<line_graph_t::edge_t > & ev) [inline]

Searches an edge in line graph that corresponds to (s,t).

Definition at line 576 of file angel_tools.hpp.

Referenced by back_edge_elimination(), convert_elimination_sequence(), and front_-edge_elimination().

8.1.4.81 double angel::fme_obj (edge_bool_t eb, const c_graph_t & cg)[inline]

Definition at line 467 of file heuristics.cpp.

References edge(), and angel::c_graph_t::x().

Referenced by angel::forward_mode_edge_t::operator()().

Here is the call graph for this function:

angel::fme_obj

angel::edge

angel::c_graph_t::x

8.1.4.82 double angel::fmf_obj (line_graph_t::face_t f, const line_graph_t & lg)[inline]

Definition at line 875 of file heuristics.cpp.

References face_vertex_name(), and angel::line_graph_t::x().

Referenced by angel::reverse_mode_face_t::operator()(), and angel::forward_mode_-face_t::operator()().

Here is the call graph for this function:

angel::fmf_obj

angel::face_vertex_name

angel::line_graph_t::x

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 102: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

94 angel Namespace Documentation

8.1.4.83 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_edges (const Ad_graph_t & adg, Op_t & op)[inline]

Applies op to all edges of adg, op can be changed, e.g. for outputs.

Definition at line 119 of file angel_tools.hpp.

8.1.4.84 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_edges (Ad_graph_t & adg, const Op_t & op)[inline]

Applies op to all edges of adg, graph can be changed.

Definition at line 111 of file angel_tools.hpp.

Referenced by write_graph_eliad().

8.1.4.85 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_in_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t & adg, const Op_t & op) [inline]

Applies op to all in-edges of v, graph can be changed.

Definition at line 127 of file angel_tools.hpp.

8.1.4.86 template<typename Ad_graph_t, typename Op_t> voidangel::for_all_out_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t & adg, const Op_t & op) [inline]

Applies op to all out-edges of v, graph can be changed.

Definition at line 136 of file angel_tools.hpp.

8.1.4.87 int angel::forward_mode_edge_back (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Forward mode in back edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 103: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 95

Returns:

Size of ev2, always 1 (if ev1 is not empty)

Edges in ev1 that cannot be back eliminated are ignored. It is NOT equivalent toforward mode in vertex and face elimination.

Definition at line 316 of file heuristics.hpp.

References forward_mode_edge_f().

Here is the call graph for this function:

angel::forward_mode_edge_back angel::forward_mode_edge_f

angel::inv_lex_less

angel::lex_less

8.1.4.88 int angel::forward_mode_edge_f (const vector< c_graph_t::edge_t >& ev1, bool front, const c_graph_t & cg, vector< c_graph_t::edge_t >& ev2)

Forward mode in edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

front Used for front elimination if true, otherwise for back elimination

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int forward_mode_-edge (const vector<pair<c_graph_t::edge_t,bool> >& ev1, const c_graph_t& cg,vector<pair<c_graph_t::edge_t,bool> >& ev2).

Definition at line 449 of file heuristics.cpp.

References inv_lex_less(), and lex_less().

Referenced by forward_mode_edge_back(), and forward_mode_edge_front().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 104: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

96 angel Namespace Documentation

Here is the call graph for this function:

angel::forward_mode_edge_f

angel::inv_lex_less

angel::lex_less

8.1.4.89 int angel::forward_mode_edge_front (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Forward mode in front edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

Edges in ev1 that cannot be front eliminated are ignored. It is equivalent to forwardmode in vertex and face elimination when forward mode is used as sole criterion.

Definition at line 301 of file heuristics.hpp.

References forward_mode_edge_f().

Here is the call graph for this function:

angel::forward_mode_edge_front angel::forward_mode_edge_f

angel::inv_lex_less

angel::lex_less

8.1.4.90 int angel::front_edge_elimination (line_graph_t::edge_t vij,line_graph_t & lg)

Front eliminate edge vij in line graph lg

All faces (i,j,∗) are eliminated

Definition at line 189 of file eliminations.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 105: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 97

References face_elimination().

Here is the call graph for this function:

angel::front_edge_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.91 int angel::front_edge_elimination (int i, int j, line_graph_t & lg)

Front eliminate edge from vertex with number i to vertex number j in line graph lg

All faces (i,j,∗) are eliminated

Definition at line 179 of file eliminations.cpp.

References find_edge(), and front_edge_elimination().

Here is the call graph for this function:

angel::front_edge_elimination

angel::find_edge

angel::front_edge_elimination

angel::edge

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.92 int angel::front_edge_elimination (int i, int j, c_graph_t & cg)[inline]

Front elimination of edge from vertex with number i to vertex with number j fromc-graph cg

Returns:

The costs (number of operation)

Definition at line 68 of file eliminations.hpp.

References front_edge_elimination().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 106: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

98 angel Namespace Documentation

Here is the call graph for this function:

angel::front_edge_elimination angel::front_edge_elimination

angel::edge

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.93 int angel::front_edge_elimination (c_graph_t::vertex_t i,c_graph_t::vertex_t j, c_graph_t & cg) [inline]

Front elimination of edge from vertex i to vertex j from c-graph cg

Returns:

The costs (number of operation)

Definition at line 54 of file eliminations.hpp.

References edge(), and front_edge_elimination().

Here is the call graph for this function:

angel::front_edge_elimination

angel::edge

angel::front_edge_elimination angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.94 int angel::front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)

Front elimination of edge e from c-graph cg

Returns:

The costs (number of operation)

Definition at line 38 of file eliminations.cpp.

References CONSTANT_EDGE, dependent, edge(), angel::c_graph_t::next_edge_-number, UNIT_EDGE, VARIABLE_EDGE, and angel::c_graph_t::vertex_type().

Referenced by convert_elimination_sequence(), edge_elimination(), front_edge_-elimination(), momr_edge_front(), and remove_trivial_edges().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 107: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 99

Here is the call graph for this function:

angel::front_edge_elimination

angel::edge

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.95 unsigned int angel::front_elim (c_graph_t::edge_t e, c_graph_t& angelLCG, const elimSeq_cost_t & currentElimSeq,refillDependenceMap_t & refillDependences)

Definition at line 786 of file eliminations.cpp.

References pair_elim().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_elimination_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::front_elim angel::pair_elim angel::edge

8.1.4.96 int angel::front_eliminatable_edges (const c_graph_t & cg,std::vector< c_graph_t::edge_t > & ev)

Definition at line 373 of file eliminations.cpp.

References dependent, and vertex_type().

Here is the call graph for this function:

angel::front_eliminatable_edges angel::vertex_type

8.1.4.97 int angel::front_eliminatable_edges (const c_graph_t & cg, vector<c_graph_t::edge_t > & ev)

Returns a set of edges that can be front eliminated from c-graph cg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 108: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

100 angel Namespace Documentation

8.1.4.98 unsigned int angel::front_eliminate_edge_directly (c_graph_t::edge_te, c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaif-BoosterCrossCountryInterface::JacobianAccumulationExpressionList& jae_list)

Front eliminate an edge from an angel c_graph_t but go directly to a xaifBoosterCross-CountryInterface::JacobianAccumulationExpression, rather than the internal angel ac-cumulation graph type.

Parameters:

e the edge that will be front eliminated.

angelLCG the c_graph_t (passed by reference) that the elimination is performedon.

edge_ref_list the stl list container that keeps track of the reference (LCG pointeror JAE pointer) for each edge in angelLCG.

jae_list the xaifBooster JAE list that we construct incrementally as we performeliminations.

Returns:

The cost (in terms of multiplications) of the elimination.

This function is also aware of unit and constant edges. This entails labeling new edgeswith the appropriate type, as well as determining the cost appropriately.

Definition at line 665 of file eliminations.cpp.

References multiply_edge_pair_directly(), and removeRef().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::front_eliminate_edge_directly

angel::multiply_edge_pair_directly

angel::removeRef

angel::edge

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 109: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 101

8.1.4.99 unsigned int angel::frontEdgeElimination_noJAE (c_graph_t::edge_te, c_graph_t & angelLCG, const transformationSeq_cost_t ∗currentTransformationSequence, refillDependenceMap_t &refillDependences)

Definition at line 901 of file eliminations.cpp.

References pairElim_noJAE().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().

Here is the call graph for this function:

angel::frontEdgeElimination_noJAE angel::pairElim_noJAE angel::edge

8.1.4.100 template<class Object_t, class Neighbor_t, class Cost_t> intangel::FTSA (Object_t & object, Neighbor_t neighbor, Cost_t costs,double t, int max_iter) [inline]

Metropolis with fixed temperature in a general form.

Parameters:

object Some state in the configuration space.

neighbor Neighborhood relation applicable to object

costs Cost operator applicable to object

t temperature

max_iter Maximal number of iterations

Object_t, Neighbor_t and Cost_t can be arbitrary as long as their objects can allowto execute neighbor (object) with change of object and to execute cost (object) whereobject can be const and an int-compatible value is returned.

Note:

At the moment there are only applications with face_elimination_history_t asObject_t.

Definition at line 117 of file sa.hpp.

References SA().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 110: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

102 angel Namespace Documentation

Here is the call graph for this function:

angel::FTSA angel::SA

angel::random

angel::SA_acceptance

8.1.4.101 double angel::gen_prob ()

Returns a random number between zero and one.

See also:

chooseTarget_sa

Definition at line 341 of file angel_tools.cpp.

Referenced by chooseEdgeElimRandomly(), chooseEdgeElimRandomlyGreedy(), andchooseTarget_sa().

8.1.4.102 c_graph_t::edge_t angel::getEdge (unsigned int i, unsigned int j, constc_graph_t & angelLCG)

Returns the edge in angelLCG that has source i and target j.

Definition at line 60 of file angel_tools.cpp.

References edge(), and THROW_EXCEPT_MACRO.

Referenced by angel::EdgeElim::getBool(), angel::Rerouting::getE(), an-gel::EdgeElim::getE(), and angel::Rerouting::getPivotE().

Here is the call graph for this function:

angel::getEdge angel::edge

8.1.4.103 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex∗ angel::getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, const list< EdgeRef_t > & edge_ref_list)

Definition at line 564 of file eliminations.cpp.

References THROW_EXCEPT_MACRO.

Referenced by populate_remainderGraph_and_correlationLists(), and setJaevRef().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 111: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 103

8.1.4.104 const xaifBoosterCrossCountryInter-face::LinearizedComputationalGraphEdge ∗ angel::getLCG_p (constc_graph_t::edge_t e, const c_graph_t & angelLCG, const list<EdgeRef_t > & edge_ref_list)

Definition at line 551 of file eliminations.cpp.

References THROW_EXCEPT_MACRO.

Referenced by populate_remainderGraph_and_correlationLists(), and setJaevRef().

8.1.4.105 EdgeRefType_E angel::getRefType (const c_graph_t::edge_t e, constc_graph_t & angelLCG, const list< EdgeRef_t > & edge_ref_list)

Definition at line 540 of file eliminations.cpp.

References THROW_EXCEPT_MACRO, and UNDEFINED.

Referenced by populate_remainderGraph_and_correlationLists(), and setJaevRef().

8.1.4.106 void angel::in_out_path_lengths (const c_graph_t & cg, std::vector<int > & vni, std::vector< int > & vli, std::vector< int > & vno,std::vector< int > & vlo)

Returns for each vertex the number of paths and their overall length.

Parameters:

cg c-graphvni Number of all incoming paths for each vertexvli Overall path length of all incoming paths for each vertexvno Number of all outgoing paths for each vertexvlo Overall path length of all outgoing paths for each vertex

Note:

Function is not implemented for line graphs because there is no application (now).

Definition at line 95 of file angel_tools.cpp.

References angel::c_graph_t::x().

Referenced by moplr_edge(), and angel::oplrv_op_t::oplrv_op_t().

Here is the call graph for this function:

angel::in_out_path_lengths angel::c_graph_t::x

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 112: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

104 angel Namespace Documentation

8.1.4.107 void angel::independent_vertices_to_front (const c_graph_t & gin,const vector< c_graph_t::vertex_t > & indeps, c_graph_t & gout)

Definition at line 226 of file angel_tools.cpp.

References permutate_vertices(), THROW_EXCEPT_MACRO, angel::c_graph_t::v(),and angel::c_graph_t::x().

Here is the call graph for this function:

angel::independent_vertices_to_front

angel::permutate_vertices

angel::c_graph_t::v

angel::c_graph_t::x

8.1.4.108 void angel::independent_vertices_to_front (const c_graph_t & gin,const std::vector< c_graph_t::vertex_t > & indeps, c_graph_t &gout)

Independent vertices, given by indeps, becomes first vertices in gout.

Referenced by block2loop(), and read_graph_eliad().

8.1.4.109 bool angel::inv_lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_te2, const c_graph_t & cg) [inline]

Returns whether e1 is lexicographically greater than e2 w.r.t. target and source.

Definition at line 425 of file angel_tools.hpp.

Referenced by reverse_mode_edge_f().

8.1.4.110 bool angel::inv_lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const c_graph_t & cg) [inline]

Returns whether e1 is lexicographically less than e2 w.r.t. target and source.

Definition at line 434 of file angel_tools.hpp.

Referenced by forward_mode_edge_f().

8.1.4.111 bool angel::is_bipartite (const c_graph_t & cg) [inline]

Tests if cg is bi-partite.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 113: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 105

Definition at line 591 of file angel_tools.hpp.

References dependent, independent, and vertex_type().

Here is the call graph for this function:

angel::is_bipartite angel::vertex_type

8.1.4.112 bool angel::is_tripartite (const line_graph_t & lg) [inline]

Tests if lg is tri-partite.

Definition at line 601 of file angel_tools.hpp.

References dependent, independent, and vertex_type().

Here is the call graph for this function:

angel::is_tripartite angel::vertex_type

8.1.4.113 bool angel::lex_greater (edge_bool_t eb1, edge_bool_t eb2, constc_graph_t & cg) [inline]

Definition at line 442 of file angel_tools.hpp.

8.1.4.114 bool angel::lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const c_graph_t & cg) [inline]

Returns whether e1 is lexicographically greater than e2 w.r.t. source and target.

Definition at line 405 of file angel_tools.hpp.

Referenced by angel::reverse_mode_edge_t::operator()(), and reverse_mode_edge_-f().

8.1.4.115 bool angel::lex_less (edge_bool_t eb1, edge_bool_t eb2, constc_graph_t & cg) [inline]

Definition at line 460 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 114: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

106 angel Namespace Documentation

8.1.4.116 bool angel::lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const c_graph_t & cg) [inline]

Returns whether e1 is lexicographically less than e2 w.r.t. source and target.

Definition at line 415 of file angel_tools.hpp.

Referenced by forward_mode_edge_f(), and angel::forward_mode_edge_-t::operator()().

8.1.4.117 bool angel::lex_less_face (line_graph_t::face_t e1,line_graph_t::face_t e2, const line_graph_t & lg)

Definition at line 70 of file angel_tools.cpp.

References write_graph(), and write_vertex_property().

Referenced by angel::reverse_mode_face_t::operator()(), angel::forward_mode_face_-t::operator()(), angel::not_lex_less_face_line_t::operator()(), and angel::lex_less_-face_line_t::operator()().

Here is the call graph for this function:

angel::lex_less_face

angel::write_graph

angel::write_vertex_property

angel::write_vector

8.1.4.118 int angel::lmmd_edge_back (c_graph_t::edge_t e, double w, constc_graph_t & cg) [inline]

Definition at line 674 of file heuristics.cpp.

References markowitz_enlargement_back(), and sum_over_all_in_edges().

Referenced by angel::lmmde_op_t::operator()().

Here is the call graph for this function:

angel::lmmd_edge_back

angel::markowitz_enlargement_back

angel::sum_over_all_in_edges

angel::new_in_edges

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 115: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 107

8.1.4.119 int angel::lmmd_edge_front (c_graph_t::edge_t e, double w, constc_graph_t & cg) [inline]

Definition at line 666 of file heuristics.cpp.

References markowitz_enlargement_front(), and sum_over_all_out_edges().

Referenced by angel::lmmde_op_t::operator()().

Here is the call graph for this function:

angel::lmmd_edge_front

angel::markowitz_enlargement_front

angel::sum_over_all_out_edges

angel::new_out_edges

angel::vertex_type

8.1.4.120 int angel::lowest_fill_in_edge_back (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Lowest fill-in in back edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges with lowest fill-in

Returns:

Size of ev2

Edges in ev1 that cannot be back eliminated are ignored.

Definition at line 625 of file heuristics.hpp.

References lowest_fill_in_edge_f().

Here is the call graph for this function:

angel::lowest_fill_in_edge_back angel::lowest_fill_in_edge_f

angel::fill_in_back

angel::fill_in_front

angel::new_in_edges

angel::new_out_edges

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 116: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

108 angel Namespace Documentation

8.1.4.121 int angel::lowest_fill_in_edge_f (const vector< c_graph_t::edge_t >& ev1, bool front, const c_graph_t & cg, vector< c_graph_t::edge_t >& ev2)

Lowest Fill-in in edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

front Used for front elimination if true, otherwise for back elimination

cg c-graph

ev2 Result vector of edges with lowest fill-in

Returns:

Size of ev2

This function is intended for elimination sequences that are either completely front orcompletely back eliminations. For mixed sequences use Note that fill-in by an edge’selimination can be different for front and back elimination.

Definition at line 636 of file heuristics.cpp.

References fill_in_back(), and fill_in_front().

Referenced by lowest_fill_in_edge_back(), and lowest_fill_in_edge_front().

Here is the call graph for this function:

angel::lowest_fill_in_edge_f

angel::fill_in_back

angel::fill_in_front

angel::new_in_edges

angel::new_out_edges

8.1.4.122 int angel::lowest_fill_in_edge_front (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Lowest fill-in in front edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges with lowest fill-in

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 117: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 109

Returns:

Size of ev2

Edges in ev1 that cannot be front eliminated are ignored.

Definition at line 611 of file heuristics.hpp.

References lowest_fill_in_edge_f().

Here is the call graph for this function:

angel::lowest_fill_in_edge_front angel::lowest_fill_in_edge_f

angel::fill_in_back

angel::fill_in_front

angel::new_in_edges

angel::new_out_edges

8.1.4.123 int angel::lowest_markowitz_edge_back (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]

Lowest Markowitz in back edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges with lowest Markowitz degree

Returns:

Size of ev2

Edges in ev1 that cannot be back eliminated are ignored.

Definition at line 477 of file heuristics.hpp.

References lowest_markowitz_edge_f().

Here is the call graph for this function:

angel::lowest_markowitz_edge_back angel::lowest_markowitz_edge_f

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 118: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

110 angel Namespace Documentation

8.1.4.124 int angel::lowest_markowitz_edge_f (const vector<c_graph_t::edge_t > & ev1, bool front, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2)

Lowest Markowitz in edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

front Used for front elimination if true, otherwise for back elimination

cg c-graph

ev2 Result vector of edges with lowest Markowitz degree

Returns:

Size of ev2

This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int lowest_markowitz_-edge (const vector<edge_bool_t>& ev1, const c_graph_t& cg, vector<edge_bool_-t>& ev2). Note that Markowitz degree of an edge can be different for front and backelimination.

Definition at line 554 of file heuristics.cpp.

Referenced by lowest_markowitz_edge_back(), and lowest_markowitz_edge_front().

8.1.4.125 int angel::lowest_markowitz_edge_front (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]

Lowest Markowitz in front edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges with lowest Markowitz degree

Returns:

Size of ev2

Edges in ev1 that cannot be front eliminated are ignored.

Definition at line 462 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 119: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 111

References lowest_markowitz_edge_f().

Here is the call graph for this function:

angel::lowest_markowitz_edge_front angel::lowest_markowitz_edge_f

8.1.4.126 bool angel::lowest_markowitz_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, vector<Transformation > & lowestMarkowitzTransformationsV)

Filter that populates /p lowestMarkowitzTransformationsV with those edge elimina-tions that have the lowest markowitz degree. Any reroutings are passed straightthrough.

Definition at line 1923 of file heuristics.cpp.

References lowestMarkowitzEdgeElim().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::lowest_markowitz_transformations angel::lowestMarkowitzEdgeElim

8.1.4.127 int angel::lowest_relative_markowitz_edge_back (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]

Lowest relative Markowitz in back edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges with lowest relative Markowitz degree

Returns:

Size of ev2

Edges in ev1 that cannot be back eliminated are ignored.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 120: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

112 angel Namespace Documentation

Definition at line 552 of file heuristics.hpp.

References lowest_relative_markowitz_edge_f().

Here is the call graph for this function:

angel::lowest_relative_markowitz_edge_back angel::lowest_relative_markowitz_edge_f

8.1.4.128 int angel::lowest_relative_markowitz_edge_f (const vector<c_graph_t::edge_t > & ev1, bool front, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2)

Lowest relative Markowitz in edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

front Used for front elimination if true, otherwise for back elimination

cg c-graph

ev2 Result vector of edges with lowest relative Markowitz degree

Returns:

Size of ev2

This function is intended for elimination sequences that are either completelyfront or completely back eliminations. For mixed sequences use int lowest_-relative_markowitz_edge (const vector<edge_bool_t>& ev1, const c_graph_t& cg,vector<edge_bool_t>& ev2). Note that the relative Markowitz degree of an edge canbe different for front and back elimination.

Definition at line 596 of file heuristics.cpp.

Referenced by lowest_relative_markowitz_edge_back(), and lowest_relative_-markowitz_edge_front().

8.1.4.129 int angel::lowest_relative_markowitz_edge_front (const vector<c_graph_t::edge_t > & ev1, const c_graph_t & cg, vector<c_graph_t::edge_t > & ev2) [inline]

Lowest relative Markowitz in front edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 121: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 113

cg c-graphev2 Result vector of edges with lowest relative Markowitz degree

Returns:

Size of ev2

Edges in ev1 that cannot be front eliminated are ignored.

Definition at line 538 of file heuristics.hpp.

References lowest_relative_markowitz_edge_f().

Here is the call graph for this function:

angel::lowest_relative_markowitz_edge_front angel::lowest_relative_markowitz_edge_f

8.1.4.130 unsigned int angel::lowestMarkowitzEdgeElim (const vector<EdgeElim > & inEEV, const c_graph_t & angelLCG, vector<EdgeElim > & outEEV)

Definition at line 1373 of file heuristics.cpp.

References lowest_markowitz_edge.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and lowest_markowitz_transformations().

8.1.4.131 template<class Object_t, class Neighbor_t, class Cost_t> intangel::LSA (Object_t & object, Neighbor_t neighbor, Cost_t costs,double gamma, int max_iter) [inline]

Logarithmic Simulated Annealing in a general form.

Parameters:

object Some state in the configuration space.neighbor Neighborhood relation applicable to objectcosts Cost operator applicable to objectgamma Γ in LSAmax_iter Maximal number of iterations

Object_t, Neighbor_t and Cost_t can be arbitrary as long as their objects can allowto execute neighbor (object) with change of object and to execute cost (object) whereobject can be const and an int-compatible value is returned.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 122: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

114 angel Namespace Documentation

Note:

At the moment there are only applications with face_elimination_history_t asObject_t.

Definition at line 98 of file sa.hpp.

References SA().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face(), and xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_vertex().

Here is the call graph for this function:

angel::LSA angel::SA

angel::random

angel::SA_acceptance

8.1.4.132 bool angel::maintaining_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<EdgeElim > & bev2)

Definition at line 1219 of file heuristics.cpp.

References edge_elim_effect().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().

Here is the call graph for this function:

angel::maintaining_edge_eliminations angel::edge_elim_effect

8.1.4.133 bool angel::maintaining_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< EdgeElim > & bev2)

Filter that selects edge elimination targets that don’t increase the nontrivial edge count.

Parameters:

bev1 set of edges that can be eliminated

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 123: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 115

angelLCG c-graph

ourAwarenessLevel needed to assess costs of eliminations

bev2 set of edge elims that don’t increase the nontrivial edge count

Returns:

size of bev2

Referenced by maintaining_transformations().

8.1.4.134 bool angel::maintaining_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<Transformation > & maintainingTransformationsV)

Definition at line 1765 of file heuristics.cpp.

References maintaining_edge_eliminations().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::maintaining_transformations angel::maintaining_edge_eliminations

8.1.4.135 bool angel::maintaining_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Transformation > &maintainingTransformationsV)

Filter that populates /p maintainingTransformationsV with those edge eliminations andreroutings that maintain the nontrivial edge count (in particular, this includes all rerout-ings).

8.1.4.136 int angel::markowitz_degree (int j, const line_graph_t & lg)

Markowitz.

Parameters:

j Vertex number in c-graph

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 124: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

116 angel Namespace Documentation

lg Line graph

Returns:

j’s Markowitz degree, i.e. number of faces like (∗, j, ∗)

Definition at line 377 of file angel_types.cpp.

References dependent, independent, THROW_DEBUG_EXCEPT_MACRO, andangel::line_graph_t::vertex_type().

Here is the call graph for this function:

angel::markowitz_degree angel::line_graph_t::vertex_type angel::line_graph_t::v

8.1.4.137 int angel::markowitz_enlargement_all_neighbors(c_graph_t::vertex_t v, const c_graph_t & cg)

Definition at line 270 of file heuristics.cpp.

References markowitz_enlargement_back(), and markowitz_enlargement_front().

Referenced by angel::momrv_op_t::operator()(), and angel::lmmdv_op_t::operator()().

Here is the call graph for this function:

angel::markowitz_enlargement_all_neighbors

angel::markowitz_enlargement_back

angel::markowitz_enlargement_front

angel::new_in_edges

angel::new_out_edges

angel::vertex_type

8.1.4.138 int angel::markowitz_enlargement_back (c_graph_t::edge_t e,c_graph_t::edge_t e2, const c_graph_t & cg)

Definition at line 247 of file heuristics.cpp.

References THROW_DEBUG_EXCEPT_MACRO.

8.1.4.139 int angel::markowitz_enlargement_back (c_graph_t::edge_t e, constc_graph_t & cg, bool eliminate_parallel_edges = false)

Definition at line 232 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 125: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 117

References new_in_edges().

Referenced by lmmd_edge_back(), markowitz_enlargement_all_neighbors(), momr_-edge_back(), and angel::markowitz_enlargement_back_t::operator()().

Here is the call graph for this function:

angel::markowitz_enlargement_back angel::new_in_edges

8.1.4.140 int angel::markowitz_enlargement_front (c_graph_t::edge_t e,c_graph_t::edge_t e2, const c_graph_t & cg)

Definition at line 206 of file heuristics.cpp.

References count_parallel_edges(), and THROW_DEBUG_EXCEPT_MACRO.

Here is the call graph for this function:

angel::markowitz_enlargement_front angel::count_parallel_edges

8.1.4.141 int angel::markowitz_enlargement_front (c_graph_t::edge_t e, constc_graph_t & cg, bool eliminate_parallel_edges = false)

Definition at line 191 of file heuristics.cpp.

References intermediate, new_out_edges(), and vertex_type().

Referenced by lmmd_edge_front(), markowitz_enlargement_all_neighbors(), momr_-edge_front(), and angel::markowitz_enlargement_front_t::operator()().

Here is the call graph for this function:

angel::markowitz_enlargement_front

angel::new_out_edges

angel::vertex_type

8.1.4.142 void angel::markowitz_on_line_graph (const line_graph_t & lg,vector< int > & mdegree)

Definition at line 944 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 126: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

118 angel Namespace Documentation

Referenced by angel::lmf_op_t::lmf_op_t(), and angel::lowest_markowitz_face_-complete_t< Heuristic_t >::operator()().

8.1.4.143 template<typename Neighbor_t> int angel::maximal_paths(c_graph_t::vertex_t v, const Neighbor_t & nin, std::vector<std::vector< c_graph_t::vertex_t > > & paths) [inline]

Referenced by minimal_in_out_degree().

8.1.4.144 template<typename Neighbor_t> int angel::minimal_in_out_degree(c_graph_t::vertex_t v, const Neighbor_t & nin) [inline]

Definition at line 695 of file angel_tools.hpp.

References maximal_paths().

Referenced by minimal_markowitz_degree().

Here is the call graph for this function:

angel::minimal_in_out_degree angel::maximal_paths

8.1.4.145 void angel::minimal_markowitz_degree (const c_graph_t & cg,std::vector< int > & v) [inline]

Minimal Markowitz degree for each vertex.

Definition at line 701 of file angel_tools.hpp.

References intermediate, minimal_in_out_degree(), angel::c_graph_t::v(), andvertex_type().

Referenced by overall_minimal_markowitz_degree().

Here is the call graph for this function:

angel::minimal_markowitz_degree

angel::minimal_in_out_degree

angel::c_graph_t::v

angel::vertex_type

angel::maximal_paths

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 127: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 119

8.1.4.146 int angel::momr_edge_back (c_graph_t::edge_t e, const c_graph_t &cg) [inline]

Definition at line 729 of file heuristics.cpp.

References back_edge_elimination(), markowitz_enlargement_back(), sum_over_-all_in_edges(), and THROW_DEBUG_EXCEPT_MACRO.

Here is the call graph for this function:

angel::momr_edge_back

angel::back_edge_elimination

angel::markowitz_enlargement_back

angel::sum_over_all_in_edges

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::new_in_edges

8.1.4.147 int angel::momr_edge_back (const vector< c_graph_t::edge_t >& ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Maximal overall Markowitz reduction in back edge elimination.

Parameters:

ev1 Set of edges that can be eliminatedcg c-graphev2 Result vector of edges with maximal overall Markowitz reduction

Returns:

Size of ev2

Edges in ev1 that cannot be back eliminated are ignored.

Definition at line 712 of file heuristics.hpp.

References momr_edge_f().

Referenced by angel::momre_op_t::operator()().

Here is the call graph for this function:

angel::momr_edge_back angel::momr_edge_f

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 128: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

120 angel Namespace Documentation

8.1.4.148 int angel::momr_edge_f (const vector< c_graph_t::edge_t > & ev1,bool front, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)

Maximal overall Markowitz reduction in edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

front Used for front elimination if true, otherwise for back elimination

cg c-graph

ev2 Result vector of edges with maximal overall Markowitz reduction

Returns:

Size of ev2

This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int momr_edge (constvector<edge_bool_t>& ev1, const c_graph_t& cg, vector<edge_bool_t>& ev2).Note that Markowitz degree reduction due to edge elimination can be different forfront and back elimination.

Definition at line 782 of file heuristics.cpp.

Referenced by momr_edge_back(), and momr_edge_front().

8.1.4.149 int angel::momr_edge_front (c_graph_t::edge_t e, const c_graph_t &cg) [inline]

Definition at line 702 of file heuristics.cpp.

References front_edge_elimination(), markowitz_enlargement_front(), overall_-markowitz_degree(), sum_over_all_out_edges(), and THROW_DEBUG_EXCEPT_-MACRO.

Here is the call graph for this function:

angel::momr_edge_front

angel::front_edge_elimination

angel::markowitz_enlargement_front

angel::overall_markowitz_degree

angel::sum_over_all_out_edges

angel::edge

angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::new_out_edges

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 129: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 121

8.1.4.150 int angel::momr_edge_front (const vector< c_graph_t::edge_t >& ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Maximal overall Markowitz reduction in front edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges with maximal overall Markowitz reduction

Returns:

Size of ev2

Edges in ev1 that cannot be front eliminated are ignored.

Definition at line 698 of file heuristics.hpp.

References momr_edge_f().

Referenced by angel::momre_op_t::operator()().

Here is the call graph for this function:

angel::momr_edge_front angel::momr_edge_f

8.1.4.151 int angel::moplr_edge (const vector< c_graph_t::edge_t > & ev1,bool front, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)

Maximal overall path length reduction in mixed edge elimination.

Parameters:

ev1 Set of edges that can be eliminated and how

front indicates if the edge is to be front eliminated

cg c-graph

ev2 Result vector of edges with maximal path length reduction

Returns:

Size of ev2

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 130: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

122 angel Namespace Documentation

Definition at line 841 of file heuristics.cpp.

References in_out_path_lengths(), oplr_edge_back(), and oplr_edge_front().

Here is the call graph for this function:

angel::moplr_edge

angel::in_out_path_lengths

angel::oplr_edge_back

angel::oplr_edge_front

angel::c_graph_t::x

angel::oplr_face angel::edge

8.1.4.152 unsigned int angel::multiply_edge_pair_directly (constc_graph_t::edge_t e1, const c_graph_t::edge_t e2, c_graph_t& angelLCG, list< EdgeRef_t > & edge_ref_list, xaifBooster-CrossCountryInterface::JacobianAccumulationExpressionList &jae_list)

Multiply a contiguous pair of edges in an angel c_graph_t and create a new xaifBoost-erCrossCountryInterface::JacobianAccumulationExpression.

Parameters:

e1 the first edge.

e2 the second edge (its source is the target of e1).

angelLCG the c_graph_t (passed by reference) that the operation is performed on.

edge_ref_list the stl list container that keeps track of the reference (LCG pointeror JAE pointer) for each edge in angelLCG.

jae_list the xaifBooster JAE list that we construct incrementally as we performeliminations.

Returns:

The cost (in terms of multiplications) of the elimination.

If there’s fill-in, a new edge is created and a new edge reference points it to the newJAE. If there’s absorption, the existing edge has its reference updated to point to thenew JAE.

Definition at line 607 of file eliminations.cpp.

References CONSTANT_EDGE, edge(), angel::c_graph_t::next_edge_number, re-moveRef(), setJaevRef(), UNIT_EDGE, and VARIABLE_EDGE.

Referenced by back_eliminate_edge_directly(), and front_eliminate_edge_directly().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 131: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 123

Here is the call graph for this function:

angel::multiply_edge_pair_directly

angel::edge

angel::removeRef

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

8.1.4.153 void angel::neighbor_swap (const std::vector< int > & old_seq,std::vector< int > & seq)

Swap two vertices in sequence (historical, only vertex elimination).

Definition at line 16 of file sa.cpp.

References THROW_DEBUG_EXCEPT_MACRO.

8.1.4.154 int angel::new_in_edges (c_graph_t::edge_t e, const c_graph_t & cg)

Definition at line 109 of file heuristics.cpp.

Referenced by fill_in_back(), and markowitz_enlargement_back().

8.1.4.155 int angel::new_out_edges (c_graph_t::edge_t e, const c_graph_t & cg)

Definition at line 135 of file heuristics.cpp.

Referenced by fill_in_front(), markowitz_enlargement_front(), and angel::fiv_op_-t::operator()().

8.1.4.156 size_t angel::noncyclicReroutings (const vector< Rerouting > & erv,const std::vector< Transformation > & transformationsPerformedV,const c_graph_t & angelLCG, vector< Rerouting > &noncyclicReroutingsV)

Filter that populates noncyclicReroutingsV with (strictly) those reroutings thathave not already been performed, based on transformationsPerformedV

Definition at line 1417 of file heuristics.cpp.

Referenced by all_viable_transformations().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 132: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

124 angel Namespace Documentation

8.1.4.157 unsigned int angel::num_nontrivial_edges (const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Definition at line 223 of file xaif_interface.cpp.

References UNIT_EDGE, and VARIABLE_EDGE.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random(), and replay_transformation_seq().

8.1.4.158 void angel::number_dependent_vertices (const c_graph_t & cg,std::vector< int > & v)

Returns for each vertex how many dependent vertices depent on it.

Definition at line 137 of file angel_tools.cpp.

References angel::c_graph_t::dependents.

Referenced by angel::lrm_op_t::lrm_op_t().

8.1.4.159 void angel::number_independent_vertices (const c_graph_t & cg,std::vector< int > & v)

Returns for each vertex on how many independent vertices it depends.

Definition at line 163 of file angel_tools.cpp.

References angel::c_graph_t::x().

Referenced by angel::lrm_op_t::lrm_op_t().

Here is the call graph for this function:

angel::number_independent_vertices angel::c_graph_t::x

8.1.4.160 string angel::numbered_filename (const string & basename, conststring & suffix, int number, int width = 4)

Definition at line 111 of file angel_io.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 133: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 125

8.1.4.161 unsigned int angel::numIntermediateVertices (const c_graph_t &angelLCG)

Definition at line 237 of file xaif_interface.cpp.

References intermediate, and vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::numIntermediateVertices angel::vertex_type

8.1.4.162 unsigned int angel::numIntermediateVerticesWithoutUnitEdge (constc_graph_t & angelLCG)

Definition at line 245 of file xaif_interface.cpp.

References intermediate, UNIT_EDGE, and vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::numIntermediateVerticesWithoutUnitEdge angel::vertex_type

8.1.4.163 void angel::open_log_file (int & argc, char ∗∗& argv) [inline]

Definition at line 458 of file angel_io.hpp.

References log_file.

8.1.4.164 bool angel::operator!= (const line_graph_t & g1, const line_graph_t& g2) [inline]

Compares two line graphs.

Definition at line 429 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 134: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

126 angel Namespace Documentation

8.1.4.165 bool angel::operator!= (const c_graph_t & g1, const c_graph_t & g2)[inline]

Compares two c-graphs.

Definition at line 221 of file angel_types.hpp.

8.1.4.166 std::ostream& angel::operator<< (std::ostream & stream, constaccu_exp_t & exp) [inline]

Definition at line 630 of file angel_types.hpp.

References angel::accu_exp_t::add, angel::accu_exp_t::exp, angel::accu_exp_t::isop,angel::accu_exp_t::lgn, angel::accu_exp_t::nothing, angel::accu_exp_t::ref, andangel::accu_exp_t::ref_kind.

8.1.4.167 std::ostream& angel::operator<< (std::ostream & stream, constedge_ij_elim_t & ee) [inline]

Output operator of edge_ij_elim_t.

Definition at line 593 of file angel_types.hpp.

References angel::edge_ij_elim_t::front, angel::edge_ij_elim_t::i, and angel::edge_ij_-elim_t::j.

8.1.4.168 std::ostream& angel::operator<< (std::ostream & stream, constedge_pair_elim_t & ee) [inline]

Output operator of edge_pair_elim_t.

Definition at line 580 of file angel_types.hpp.

References angel::edge_pair_elim_t::front, angel::edge_pair_elim_t::i, andangel::edge_pair_elim_t::j.

8.1.4.169 std::ostream& angel::operator<< (std::ostream & stream, consttriplet_t & t) [inline]

Output operator of triplet_t.

Definition at line 455 of file angel_types.hpp.

References angel::triplet_t::i, angel::triplet_t::j, and angel::triplet_t::k.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 135: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 127

8.1.4.170 template<class Value_t> string_stream_output_t&angel::operator<< (string_stream_output_t & out, const Value_t &value) [inline]

Definition at line 503 of file angel_io.hpp.

References angel::string_stream_output_t::mystream.

8.1.4.171 template<class Value_t> no_output_t& angel::operator<<(no_output_t & out, const Value_t &) [inline]

Definition at line 485 of file angel_io.hpp.

8.1.4.172 template<typename T1, typename T2> ostream&angel::operator<< (ostream & stream, const std::pair< T1, T2 > &p) [inline]

Write pair of arbitrary types to stream if their output operator is defined.

Definition at line 73 of file angel_io.hpp.

8.1.4.173 bool angel::operator== (const line_graph_t & g1, const line_graph_t& g2)

Compares two line graphs.

Definition at line 320 of file angel_types.cpp.

References angel::line_graph_t::dependents, angel::line_graph_t::v(), angel::line_-graph_t::x(), angel::line_graph_t::y(), and angel::line_graph_t::z().

Here is the call graph for this function:

angel::operator==

angel::line_graph_t::v

angel::line_graph_t::x

angel::line_graph_t::y

angel::line_graph_t::z

8.1.4.174 bool angel::operator== (const c_graph_t & g1, const c_graph_t & g2)

Compares two c-graphs.

Definition at line 112 of file angel_types.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 136: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

128 angel Namespace Documentation

References angel::c_graph_t::dependents, angel::c_graph_t::v(), angel::c_graph_t::x(),angel::c_graph_t::y(), and angel::c_graph_t::z().

Here is the call graph for this function:

angel::operator==

angel::c_graph_t::v

angel::c_graph_t::x

angel::c_graph_t::y

angel::c_graph_t::z

8.1.4.175 int angel::oplr_edge_back (c_graph_t::edge_t e, const vector< int >& vni, const vector< int > & vli, const vector< int > & vno, constvector< int > & vlo, const c_graph_t & cg)

Definition at line 404 of file heuristics.cpp.

References oplr_face().

Referenced by moplr_edge().

Here is the call graph for this function:

angel::oplr_edge_back angel::oplr_face angel::edge

8.1.4.176 int angel::oplr_edge_front (c_graph_t::edge_t e, const vector< int >& vni, const vector< int > & vli, const vector< int > & vno, constvector< int > & vlo, const c_graph_t & cg)

Definition at line 389 of file heuristics.cpp.

References oplr_face().

Referenced by moplr_edge(), and angel::oplrv_op_t::operator()().

Here is the call graph for this function:

angel::oplr_edge_front angel::oplr_face angel::edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 137: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 129

8.1.4.177 int angel::oplr_face (c_graph_t::edge_t e1, c_graph_t::edge_t e2,const vector< int > & vni, const vector< int > & vli, const vector<int > & vno, const vector< int > & vlo, const c_graph_t & cg)[inline]

Definition at line 370 of file heuristics.cpp.

References edge(), and THROW_DEBUG_EXCEPT_MACRO.

Referenced by oplr_edge_back(), and oplr_edge_front().

Here is the call graph for this function:

angel::oplr_face angel::edge

8.1.4.178 void angel::ourLCG_to_angelLCG (constLinearizedComputationalGraph & ourLCG, vector< constLinearizedComputationalGraphVertex ∗ > & ourLCG_verts,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list)

Definition at line 264 of file xaif_interface.cpp.

References CONSTANT_EDGE, angel::c_graph_t::dependents, THROW_EXCEPT_-MACRO, UNIT_EDGE, VARIABLE_EDGE, which_index(), write_graph(), andangel::c_graph_t::x().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::ourLCG_to_angelLCG

angel::which_index

angel::write_graph

angel::c_graph_t::x

angel::write_vector

8.1.4.179 int angel::overall_markowitz_degree (const line_graph_t & lg)

Markowitz degree of all vertices.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 138: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

130 angel Namespace Documentation

Definition at line 366 of file angel_types.cpp.

References dependent, independent, and angel::line_graph_t::vertex_type().

Here is the call graph for this function:

angel::overall_markowitz_degree angel::line_graph_t::vertex_type angel::line_graph_t::v

8.1.4.180 int angel::overall_markowitz_degree (const c_graph_t & cg)

Markowitz degree of all vertices in cg.

Definition at line 154 of file angel_types.cpp.

Referenced by angel::line_graph_t::line_graph_t(), momr_edge_front(),angel::momrf_op_t::operator()(), and angel::momrv_op_t::operator()().

8.1.4.181 int angel::overall_minimal_markowitz_degree (const c_graph_t & cg)[inline]

Sum of minimal Markowitz degrees.

Definition at line 712 of file angel_tools.hpp.

References minimal_markowitz_degree().

Here is the call graph for this function:

angel::overall_minimal_markowitz_degree angel::minimal_markowitz_degree

angel::minimal_in_out_degree

angel::c_graph_t::v

angel::vertex_type

angel::maximal_paths

8.1.4.182 unsigned int angel::pair_elim (c_graph_t::edge_t e1,c_graph_t::edge_t e2, c_graph_t & angelLCG, const elimSeq_cost_t& currentElimSeq, refillDependenceMap_t & refillDependences)

Definition at line 731 of file eliminations.cpp.

References CONSTANT_EDGE, edge(), angel::elimSeq_cost_-t::edgeElimVector, angel::c_graph_t::next_edge_number, angel::elimSeq_cost_-t::revealedNewDependence, UNIT_EDGE, and VARIABLE_EDGE.

Referenced by back_elim(), and front_elim().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 139: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 131

Here is the call graph for this function:

angel::pair_elim angel::edge

8.1.4.183 unsigned int angel::pairElim_noJAE (c_graph_t::edge_te1, c_graph_t::edge_t e2, c_graph_t & angelLCG, consttransformationSeq_cost_t ∗ currentTransformationSequence,refillDependenceMap_t & refillDependences)

Definition at line 842 of file eliminations.cpp.

References CONSTANT_EDGE, edge(), angel::c_graph_t::next_edge_-number, angel::transformationSeq_cost_t::revealedNewDependence,angel::transformationSeq_cost_t::transformationVector, UNIT_EDGE, andVARIABLE_EDGE.

Referenced by backEdgeElimination_noJAE(), and frontEdgeElimination_noJAE().

Here is the call graph for this function:

angel::pairElim_noJAE angel::edge

8.1.4.184 void angel::permutate_vertices (const c_graph_t & gin, const vector<c_graph_t::vertex_t > & p, c_graph_t & gout)

Definition at line 200 of file angel_tools.cpp.

References angel::c_graph_t::dependents, edge(), renumber_edges(), angel::c_graph_-t::swap(), angel::c_graph_t::v(), and angel::c_graph_t::x().

Here is the call graph for this function:

angel::permutate_vertices

angel::edge

angel::renumber_edges

angel::c_graph_t::swap

angel::c_graph_t::v

angel::c_graph_t::x

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 140: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

132 angel Namespace Documentation

8.1.4.185 void angel::permutate_vertices (const c_graph_t & gin, conststd::vector< c_graph_t::vertex_t > & p, c_graph_t & gout)

Permutates vertices, vertex v in gin becomes p[v] in gout.

Referenced by independent_vertices_to_front().

8.1.4.186 void angel::populate_remainderGraph_and_correlationLists(const c_graph_t & angelLCG, const vector< constLinearizedComputationalGraphVertex ∗ > ourLCG_verts, constlist< EdgeRef_t > & edge_ref_list, LinearizedComputationalGraph& remainderLCG, VertexCorrelationList & v_cor_list,EdgeCorrelationList & e_cor_list)

Definition at line 335 of file xaif_interface.cpp.

References CONSTANT_EDGE, getJAE_p(), getLCG_p(), getRefType(), JAE_VERT,LCG_EDGE, THROW_EXCEPT_MACRO, UNIT_EDGE, and VARIABLE_EDGE.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence(), xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::populate_remainderGraph_and_correlationLists

angel::getJAE_p

angel::getLCG_p

angel::getRefType

8.1.4.187 unsigned int angel::postroute_edge_directly (edge_reroute_ter, c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list,JacobianAccumulationExpressionList & jae_list)

Definition at line 365 of file reroutings.cpp.

References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_graph_-t::next_edge_number, angel::edge_reroute_t::pivot_e, removeRef(), setJaevRef(),UNIT_EDGE, and VARIABLE_EDGE.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 141: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 133

sequence_random().

Here is the call graph for this function:

angel::postroute_edge_directly

angel::edge

angel::removeRef

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

8.1.4.188 unsigned int angel::postroute_edge_directly (edge_reroute_t er,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaifBoost-erCrossCountryInterface::JacobianAccumulationExpressionList &jae_list)

8.1.4.189 unsigned int angel::postrouteEdge_noJAE (edge_reroute_t er,c_graph_t & angelLCG)

Definition at line 556 of file reroutings.cpp.

References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_-graph_t::next_edge_number, angel::edge_reroute_t::pivot_e, UNIT_EDGE, andVARIABLE_EDGE.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().

Here is the call graph for this function:

angel::postrouteEdge_noJAE angel::edge

8.1.4.190 template<typename Ad_graph_t> void angel::predecessor_set(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns successor set of v as vector vec.

Definition at line 187 of file angel_tools.hpp.

Referenced by angel::diste_op_t::operator()(), and sorted_predecessor_set().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 142: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

134 angel Namespace Documentation

8.1.4.191 unsigned int angel::preroute_edge_directly (edge_reroute_t er,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list,JacobianAccumulationExpressionList & jae_list)

Definition at line 230 of file reroutings.cpp.

References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_graph_-t::next_edge_number, angel::edge_reroute_t::pivot_e, removeRef(), setJaevRef(),UNIT_EDGE, and VARIABLE_EDGE.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random().

Here is the call graph for this function:

angel::preroute_edge_directly

angel::edge

angel::removeRef

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

8.1.4.192 unsigned int angel::preroute_edge_directly (edge_reroute_t er,c_graph_t & angelLCG, list< EdgeRef_t > & edge_ref_list, xaifBoost-erCrossCountryInterface::JacobianAccumulationExpressionList &jae_list)

8.1.4.193 unsigned int angel::prerouteEdge_noJAE (edge_reroute_t er,c_graph_t & angelLCG)

Definition at line 499 of file reroutings.cpp.

References CONSTANT_EDGE, angel::edge_reroute_t::e, edge(), angel::c_-graph_t::next_edge_number, angel::edge_reroute_t::pivot_e, UNIT_EDGE, andVARIABLE_EDGE.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random(), and replay_transformation_seq().

Here is the call graph for this function:

angel::prerouteEdge_noJAE angel::edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 143: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 135

8.1.4.194 void angel::put_unit_edge_weight (c_graph_t & cg) [inline]

Sets all edge labels (in ew) to 1.

Definition at line 740 of file angel_tools.hpp.

8.1.4.195 void angel::put_unit_vertex_weight (line_graph_t & lg) [inline]

Sets all vertex labels (in ed) to 1.

Definition at line 733 of file angel_tools.hpp.

8.1.4.196 int angel::random (const std::vector< double > & p) [inline]

Random number characterized by p, the accumulated probabities.

• p[0] is the probability of returning 0

• p[1] the probability of returning 0 or 1

• p.size()-1 is the maximal return value

• p[p.size()-1] must be 1.0

Definition at line 536 of file angel_tools.hpp.

References random(), and THROW_EXCEPT_MACRO.

Here is the call graph for this function:

angel::random angel::random

8.1.4.197 int angel::random (int n) [inline]

Random value between 0 and n-1, i.e. from [0, n).

Definition at line 521 of file angel_tools.hpp.

8.1.4.198 double angel::random (double n) [inline]

Random value from [0, n).

Definition at line 517 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 144: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

136 angel Namespace Documentation

8.1.4.199 int angel::random (int min, int max) [inline]

Random value between min and max, i.e. from [min, max].

Definition at line 513 of file angel_tools.hpp.

Referenced by ALSA(), angel::neighbor_check_meta_t::operator()(),angel::neighbor_sequence_check_t::operator()(), angel::neighbor_multi_step_-t::operator()(), angel::neighbor_last_removable_t::operator()(), random(), random_-statement(), random_statement_vector(), SA(), and stats2block().

8.1.4.200 void angel::random_block (int inputs, int outputs, int stats, intmax_exp, double unary, c_graph_t & block)

Generates a random basic block.

Parameters:

inputs The number of the block’s inputs

outputs The number of the block’s outputs

stats The number of statements

max_exp The maximal number of expressions in each statement

unary The portion of unary expressions, the remainder are binary.

block The resulting block

Definition at line 237 of file graph_generator.cpp.

References random_statement_vector(), and stats2block().

Here is the call graph for this function:

angel::random_block

angel::random_statement_vector

angel::stats2block

angel::random

angel::random_statement

angel::write_graph angel::write_vector

angel::c_graph_t::swap

angel::take_over_successors

angel::c_graph_t::v

angel::c_graph_t::x

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 145: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 137

8.1.4.201 int angel::random_high (int n, int exp = 2) [inline]

Random value from [0, n) where larger values have higher probability (increases withexp).

Definition at line 525 of file angel_tools.hpp.

Referenced by angel::neighbor_check_meta_t::operator()(), and angel::neighbor_-sequence_check_t::operator()().

8.1.4.202 void angel::random_statement (int inputs, int expr, const vector<double > & p, c_graph_t & statement)

Definition at line 24 of file graph_generator.cpp.

References random(), angel::c_graph_t::swap(), and THROW_DEBUG_EXCEPT_-MACRO.

Here is the call graph for this function:

angel::random_statement

angel::random

angel::c_graph_t::swap

8.1.4.203 void angel::random_statement (int inputs, int expr, const std::vector<double > & p, c_graph_t & statement)

Generates a random statement.

Parameters:

inputs The number of inputsexpr The number of expressionsp Probability vector (see description)statement The resulting statement

The number of an expression’s input is characterized by p

• p[0] is the probability that an expression is unary

• p[1] the probability that it is binary at most

• p.size() is the maximal arity

• p[p.size()-1] shall be 1.0

Referenced by random_statement_vector().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 146: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

138 angel Namespace Documentation

8.1.4.204 void angel::random_statement_vector (int max_expr, double unary,std::vector< c_graph_t > & statement_vector)

Generates a vector of random statements.

Parameters:

max_expr The maximal number of expressions in each statement

unary The portion of unary expressions, the remainder are binary.

statement_vector The resulting statement list

The number of statement is determined by the vector size. In contrast to random_-statement() it is restricted to unary and binary expressions.

Definition at line 86 of file graph_generator.cpp.

References random(), random_statement(), THROW_DEBUG_EXCEPT_MACRO,and write_graph().

Referenced by random_block().

Here is the call graph for this function:

angel::random_statement_vector

angel::random

angel::random_statement

angel::write_graph angel::write_vector

8.1.4.205 bool angel::reachable (const c_graph_t::vertex_t src, constc_graph_t::vertex_t tgt, c_graph_t & angelLCG)

Answers a reachability query from src to tgt.

Definition at line 15 of file angel_tools.cpp.

Referenced by refill_avoiding_edge_eliminations(), and reroutable_edges().

8.1.4.206 template<typename Ad_graph_t> void angel::reachable_vertices(const Ad_graph_t & adg, std::vector< bool > & rv) [inline]

Computes all reachable vertices for c- and line graphs.

I.e. there are pathes from independent nodes to these nodes. Uses breadth first searchover all independent vertices.

Definition at line 626 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 147: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 139

Referenced by angel::line_graph_t::clear_graph(), and angel::c_graph_t::clear_-graph().

8.1.4.207 int angel::read_graph_eliad (const string & file_name, c_graph_t &cg, bool retry = true)

Read graph in EliAD graph format from file.

In case file not found a new name is asked for (on cin) if retry == true or ommited.If no name is entered then an exception containing the last tried filename is thrown.Otherwise it is retried with the new name which is returned in the parameter list.

Definition at line 18 of file angel_io.cpp.

References angel::c_graph_t::check_initial(), angel::c_graph_t::dependents, edge(),independent_vertices_to_front(), angel::c_graph_t::swap(), THROW_EXCEPT_-MACRO, and angel::c_graph_t::X.

Here is the call graph for this function:

angel::read_graph_eliad

angel::c_graph_t::check_initial

angel::edge

angel::independent_vertices_to_front

angel::c_graph_t::swap

angel::c_graph_t::check

angel::c_graph_t::vertex_type

angel::write_graph

angel::c_graph_t::v

angel::write_vector

8.1.4.208 void angel::read_graph_xaif_booster (constLinearizedComputationalGraph & xg, c_graph_t & cg, vector<const LinearizedComputationalGraphVertex ∗ > & av, vector<edge_address_t > & ae)

Definition at line 33 of file xaif_interface.cpp.

References CONSTANT_EDGE, angel::c_graph_t::dependents, THROW_EXCEPT_-MACRO, UNIT_EDGE, VARIABLE_EDGE, which_index(), write_graph(), andangel::c_graph_t::X.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 148: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

140 angel Namespace Documentation

Here is the call graph for this function:

angel::read_graph_xaif_booster

angel::which_index

angel::write_graph angel::write_vector

8.1.4.209 bool angel::reducing_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<EdgeElim > & bev2)

Definition at line 1241 of file heuristics.cpp.

References edge_elim_effect().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().

Here is the call graph for this function:

angel::reducing_edge_eliminations angel::edge_elim_effect

8.1.4.210 bool angel::reducing_edge_eliminations (const vector<EdgeElim > & bev1, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< EdgeElim > & bev2)

Filter that selects edge elimination targets that decrease the nontrivial edge count.

Parameters:

bev1 set of edges that can be eliminated

angelLCG c-graph

ourAwarenessLevel needed to assess costs of eliminations

bev2 set of edge elims that decrease the nontrivial edge count

Returns:

size of bev2

Referenced by reducing_transformations().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 149: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 141

8.1.4.211 bool angel::reducing_reroutings (const vector<Rerouting > & erv, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<Rerouting > & reducingReroutingsV)

Definition at line 1492 of file heuristics.cpp.

References dependent, angel::edge_reroute_t::e, edge(), angel::edge_reroute_-t::increment_eliminatable, angel::edge_reroute_t::isPre, angel::edge_reroute_-t::pivot_e, angel::edge_reroute_t::pivot_eliminatable, reroute_effect(), angel::edge_-reroute_t::type3EdgeElimVector, UNIT_EDGE, VARIABLE_EDGE, and vertex_-type().

Here is the call graph for this function:

angel::reducing_reroutings

angel::edge

angel::reroute_effect

angel::vertex_type

8.1.4.212 bool angel::reducing_reroutings (const vector<Rerouting > & erv, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Rerouting > & reducingReroutingsV)

Filter that populates /p reducingReroutingsV with those reroutings that can be followedby an edge elimination with an overall reduction in the nontrivial edgecount.

Referenced by reducing_transformations().

8.1.4.213 bool angel::reducing_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, vector<Transformation > & reducingTransformationsV)

Definition at line 1803 of file heuristics.cpp.

References eliminatable_edges(), reducing_edge_eliminations(), and reducing_-reroutings().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 150: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

142 angel Namespace Documentation

Here is the call graph for this function:

angel::reducing_transformations

angel::eliminatable_edges

angel::reducing_edge_eliminations

angel::reducing_reroutings

8.1.4.214 bool angel::reducing_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Transformation > &reducingTransformationsV)

Filter that populates /p reducingTransformationsV with edge eliminations that reducethe nontrivial edge count and reroutings that can be followed by an edge eliminationwith an overall reduction in the nontrivial edgecount.

8.1.4.215 bool angel::refill_avoiding_edge_eliminations (constvector< EdgeElim > & bev1, c_graph_t & angelLCG, constrefillDependenceMap_t refillDependences, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).

Parameters:

bev1 set of edges that can be eliminated

angelLCG c-graph

refillDependences partial map of edges to a set of vertices that lie on paths fromthe edge sources to the edge targets, used to anticipate refill.

bev2 set of edge elims that dont violate refill dependences (returned by reference)

Returns:

size of bev2

Definition at line 1264 of file heuristics.cpp.

References reachable().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 151: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 143

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and refill_avoiding_transformations().

Here is the call graph for this function:

angel::refill_avoiding_edge_eliminations angel::reachable

8.1.4.216 bool angel::refill_avoiding_transformations (const vector<Transformation > & tv, c_graph_t & angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, constrefillDependenceMap_t & refillDependences, vector< Transformation> & refillAvoidingTransformationsV)

Definition at line 1856 of file heuristics.cpp.

References refill_avoiding_edge_eliminations().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::refill_avoiding_transformations angel::refill_avoiding_edge_eliminations angel::reachable

8.1.4.217 bool angel::refill_avoiding_transformations (const vector<Transformation > & tv, c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, const refillDependenceMap_t& refillDependences, vector< Transformation > &refillAvoidingTransformationsV)

Filter that populates /p refillAvoidingTransformationsV with edge eliminations thataren’t known to be refillable in the future. Any reroutings are passed straight through.

8.1.4.218 template<typename Ad_graph_t> void angel::relevant_vertices(const Ad_graph_t & adg, std::vector< bool > & rv) [inline]

Computes all relevant vertices for c- and line graphs.

I.e. there are pathes from these nodes to dependent nodes. Uses backward breadth firstsearch over all dependent vertices.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 152: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

144 angel Namespace Documentation

Definition at line 658 of file angel_tools.hpp.

Referenced by angel::line_graph_t::clear_graph(), and angel::c_graph_t::clear_-graph().

8.1.4.219 template<typename Ad_graph_t> int angel::remove_edges(typename Ad_graph_t::vertex_descriptor i, Ad_graph_t & adg)[inline]

Removes irrelevant and unreachable edges from adg starting with i.

Definition at line 851 of file angel_tools.hpp.

References remove_irrelevant_edges(), and remove_unreachable_edges().

Here is the call graph for this function:

angel::remove_edges

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

8.1.4.220 int angel::remove_hoisting_vertices (c_graph_t & cg)

Removes all vertices with one predecessor and one successor from cg.

Definition at line 279 of file angel_tools.cpp.

References intermediate, vertex_elimination(), and angel::c_graph_t::vertex_type().

Here is the call graph for this function:

angel::remove_hoisting_vertices

angel::vertex_elimination

angel::c_graph_t::vertex_type

angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::v

8.1.4.221 template<typename Ad_graph_t> int angel::remove_irrelevant_-edges (typename Ad_graph_t::vertex_descriptor i, Ad_graph_t &adg, bool fast = false) [inline]

Removes irrelevant edges from adg starting with i.

It removes all in-edges of vertix i if i has no out-edges and continues, in this case,recursively with the predecessors of i.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 153: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 145

Definition at line 781 of file angel_tools.hpp.

Referenced by face_elimination(), and remove_edges().

8.1.4.222 void angel::remove_parallel_edges (c_graph_t & cg)

Removes parallel edges.

• edges are inserted in the order of their first occurrence e.g. (2, 3), (2, 5), (2, 3),(2, 4), (2, 5) -> (2, 3), (2, 5), (2, 4)

• edge weights are summed for parallel edges

Definition at line 291 of file angel_tools.cpp.

References angel::c_graph_t::dependents, edge(), angel::c_graph_t::swap(), angel::c_-graph_t::v(), and angel::c_graph_t::x().

Here is the call graph for this function:

angel::remove_parallel_edges

angel::edge

angel::c_graph_t::swap

angel::c_graph_t::v

angel::c_graph_t::x

8.1.4.223 void angel::remove_trivial_edges (c_graph_t & cg)

Eliminates all edges with label 1, front elimination is preferred.

Definition at line 319 of file angel_tools.cpp.

References back_edge_elimination(), front_edge_elimination(), independent, andangel::c_graph_t::vertex_type().

Here is the call graph for this function:

angel::remove_trivial_edges

angel::back_edge_elimination

angel::c_graph_t::vertex_type

angel::front_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::v

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 154: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

146 angel Namespace Documentation

8.1.4.224 template<typename Ad_graph_t> int angel::remove_unreachable_-edges (typename Ad_graph_t::vertex_descriptor i, Ad_graph_t &adg, bool fast = false) [inline]

Removes unreachable edges from adg starting with i.

It removes all out-edges of vertix i if i has no in-edges and continues, in this case,recursively with the successors of i.

Definition at line 818 of file angel_tools.hpp.

Referenced by face_elimination(), and remove_edges().

8.1.4.225 void angel::removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG, list< EdgeRef_t > & edge_ref_list)

Definition at line 593 of file eliminations.cpp.

References THROW_EXCEPT_MACRO.

Referenced by back_eliminate_edge_directly(), front_eliminate_edge_directly(),multiply_edge_pair_directly(), postroute_edge_directly(), and preroute_edge_-directly().

8.1.4.226 int angel::renumber_edges (c_graph_t & cg)

Renumber edges of cg continously, i.e. to [0..num_edges-1].

Definition at line 248 of file angel_tools.cpp.

Referenced by block2loop(), angel::line_graph_t::line_graph_t(), and permutate_-vertices().

8.1.4.227 unsigned int angel::replay_transformation_seq (c_graph_t &angelLCG, const vector< Transformation > transformationSeqV,unsigned int & previous_numNontrivialEdges, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel,transformationSeq_cost_t & dummy_transformationSeq_cost,refillDependenceMap_t & dummy_refillDependenceMap)

Definition at line 410 of file xaif_interface.cpp.

References backEdgeElimination_noJAE(), frontEdgeElimination_noJAE(), num_-nontrivial_edges(), postrouteEdge_noJAE(), and prerouteEdge_noJAE().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), and xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 155: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 147

Here is the call graph for this function:

angel::replay_transformation_seq

angel::backEdgeElimination_noJAE

angel::frontEdgeElimination_noJAE

angel::num_nontrivial_edges

angel::postrouteEdge_noJAE

angel::prerouteEdge_noJAE

angel::pairElim_noJAE

angel::vertex_type

angel::edge

8.1.4.228 unsigned int angel::reroutable_edges (c_graph_t & angelLCG,vector< Rerouting > & allReroutingsV)

Definition at line 89 of file reroutings.cpp.

References reroutable_edges().

Here is the call graph for this function:

angel::reroutable_edges angel::reroutable_edges

angel::edge

angel::reachable

8.1.4.229 void angel::reroutable_edges (c_graph_t & angelLCG, vector<edge_reroute_t > & erv)

Populates a list of all viable edge reroutings in angelLCG.

Parameters:

angelLCG the c_graph_t (passed by reference) that the operation is performed on.

erv empty list that will hold all pre-routings and post-routings in angelLCG.

Returns:

List of edge reroutings erv (by reference).

Definition at line 13 of file reroutings.cpp.

References edge(), and reachable().

Referenced by all_viable_transformations(), and reroutable_edges().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 156: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

148 angel Namespace Documentation

Here is the call graph for this function:

angel::reroutable_edges

angel::edge

angel::reachable

8.1.4.230 int angel::reroute_effect (const edge_reroute_t er, const c_graph_t& angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, bool & incrementIsTrivial)

Definition at line 102 of file reroutings.cpp.

References angel::edge_reroute_t::e, edge(), angel::edge_reroute_t::isPre,angel::edge_reroute_t::pivot_e, THROW_EXCEPT_MACRO, UNIT_EDGE, andVARIABLE_EDGE.

Here is the call graph for this function:

angel::reroute_effect angel::edge

8.1.4.231 int angel::reroute_effect (const edge_-reroute_t er, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, bool & incrementIsTrivial)

Calculates the change in nontrivial edge count from er without actually performing it.In addition, incrementIsTrivial is returned by reference

Referenced by reducing_reroutings(), and transformation_effect().

8.1.4.232 bool angel::rerouting_considerate_edge_eliminations (const vector<EdgeElim > & bev, const c_graph_t & angelLCG, const std::vector<Transformation > & transformationsPerformedV, vector< EdgeElim> & reroutingConsiderateEdgeElimsV)

Filter for selecting those edge eliminations that don’t undo a rerouting (a front-elimination can undo a pre-routing, and a back-elimination can undo a post-routing)

Definition at line 1325 of file heuristics.cpp.

Referenced by rerouting_considerate_transformations().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 157: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 149

8.1.4.233 bool angel::rerouting_considerate_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, conststd::vector< Transformation > & transformationsPerformedV,vector< Transformation > & reroutingConsiderateTransformationsV)

Filter that populates /p reroutingConsiderateTransformationsV with edge eliminationsthat don’t undo reroutings. Any reroutings are passed straight through.

Definition at line 1890 of file heuristics.cpp.

References rerouting_considerate_edge_eliminations().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::rerouting_considerate_transformations angel::rerouting_considerate_edge_eliminations

8.1.4.234 int angel::reverse_mode_edge_back (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Reverse mode in back edge elimination.

Parameters:

ev1 Set of edges that can be eliminatedcg c-graphev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

Edges in ev1 that cannot be back eliminated are ignored.

Definition at line 395 of file heuristics.hpp.

References reverse_mode_edge_f().

Here is the call graph for this function:

angel::reverse_mode_edge_back angel::reverse_mode_edge_f

angel::inv_lex_greater

angel::lex_greater

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 158: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

150 angel Namespace Documentation

8.1.4.235 int angel::reverse_mode_edge_f (const vector< c_graph_t::edge_t >& ev1, bool front, const c_graph_t & cg, vector< c_graph_t::edge_t >& ev2)

Reverse mode in edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

front Used for front elimination if true, otherwise for back elimination

cg c-graph

ev2 Result vector of edges, contains highest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

This function is intended for elimination sequences that are either completely frontor completely back eliminations. For mixed sequences use int reverse_mode_-edge (const vector<pair<c_graph_t::edge_t,bool> >& ev1, const c_graph_t& cg,vector<pair<c_graph_t::edge_t,bool> >& ev2).

Definition at line 501 of file heuristics.cpp.

References inv_lex_greater(), and lex_greater().

Referenced by reverse_mode_edge_back(), and reverse_mode_edge_front().

Here is the call graph for this function:

angel::reverse_mode_edge_f

angel::inv_lex_greater

angel::lex_greater

8.1.4.236 int angel::reverse_mode_edge_front (const vector< c_graph_t::edge_t> & ev1, const c_graph_t & cg, vector< c_graph_t::edge_t > & ev2)[inline]

Reverse mode in front edge elimination.

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 159: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 151

Returns:

Size of ev2, always 1 (if ev1 is not empty)

Edges in ev1 that cannot be front eliminated are ignored.

Definition at line 381 of file heuristics.hpp.

References reverse_mode_edge_f().

Here is the call graph for this function:

angel::reverse_mode_edge_front angel::reverse_mode_edge_f

angel::inv_lex_greater

angel::lex_greater

8.1.4.237 bool angel::reverse_mode_transformations (const vector<Transformation > & tv, const c_graph_t & angelLCG, vector<Transformation > & reverseModeTransformationsV)

Filter that populates /p lowestMarkowitzTransformationsV with an edge eliminationthat is chosen by reverse topological order. Any reroutings are passed straight through.

Definition at line 1946 of file heuristics.cpp.

References reverseModeEdgeElim().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Here is the call graph for this function:

angel::reverse_mode_transformations angel::reverseModeEdgeElim

8.1.4.238 bool angel::reverseModeEdgeElim (const vector< EdgeElim > &inEEV, const c_graph_t & angelLCG, vector< EdgeElim > &outEEV)

Definition at line 1393 of file heuristics.cpp.

References reverse_mode_edge.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and reverse_mode_transformations().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 160: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

152 angel Namespace Documentation

8.1.4.239 double angel::rme_obj (edge_bool_t eb, const c_graph_t & cg)[inline]

Definition at line 519 of file heuristics.cpp.

References edge(), and angel::c_graph_t::x().

Referenced by angel::reverse_mode_edge_t::operator()().

Here is the call graph for this function:

angel::rme_obj

angel::edge

angel::c_graph_t::x

8.1.4.240 template<class Object_t, class Neighbor_t, class Cost_t, classTemp_t> int angel::SA (Object_t & object, Neighbor_t neighbor,Cost_t costs, Temp_t temp, int max_iter) [inline]

Simulated Annealing in a general form.

Parameters:

object Some state in the configuration space.

neighbor Neighborhood relation applicable to object

costs Cost operator applicable to object

temp Temperature operator depending on iteration number, e.g. LOG_-temperature_t

max_iter Maximal number of iterations

Object_t, Neighbor_t and Cost_t can be arbitrary as long as their objects can allowto execute neighbor (object) with change of object and to execute cost (object) whereobject can be const and an int-compatible value is returned. The temperature operatoris expected to take an int parameter and to return a double result.

Note:

At the moment there are only applications with instantiations of elimination_-history_t as Object_t.

Definition at line 11 of file sa_impl.hpp.

References random(), and SA_acceptance().

Referenced by FTSA(), and LSA().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 161: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 153

Here is the call graph for this function:

angel::SA

angel::random

angel::SA_acceptance

8.1.4.241 template<class Temp_t> double angel::SA_acceptance (int diff, int it,Temp_t temp) [inline]

Probability to accept new object in SA.

Parameters:

diff The difference between old and new costs, must be < 0.

it Current number of iterations

temp Functor that computes temperature for iteration number it

Definition at line 60 of file sa.hpp.

Referenced by SA().

8.1.4.242 template<typename Ad_graph_t> graph_traits<Ad_-graph_t>::edge_iterator angel::same_edge (typenameAd_graph_t::edge_descriptor e, const Ad_graph_t & g1, constAd_graph_t & g2) [inline]

Returns same edge in another graph.

e is an edge of g1, same_egde returns an edge_iterator to the same edge (equal sourceand equal target) in g2 (or e_end if not found)

Definition at line 333 of file angel_tools.hpp.

Referenced by angel::momrf_op_t::operator()().

8.1.4.243 template<typename Ad_graph_t> void angel::same_neighbors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns set of vertices (in vec) that have same predecessor and successor set as v.

Definition at line 295 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 162: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

154 angel Namespace Documentation

References same_predecessors(), and same_successors().

Referenced by face_elimination().

Here is the call graph for this function:

angel::same_neighbors

angel::same_predecessors

angel::same_successors

angel::sorted_predecessor_set

angel::unique_vector

angel::predecessor_set

angel::sorted_successor_set angel::successor_set

8.1.4.244 template<typename Ad_graph_t> void angel::same_predecessors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns set of vertices (in vec) that have same predecessor set as v.

Definition at line 277 of file angel_tools.hpp.

References sorted_predecessor_set(), and unique_vector().

Referenced by face_elimination(), and same_neighbors().

Here is the call graph for this function:

angel::same_predecessors

angel::sorted_predecessor_set

angel::unique_vector

angel::predecessor_set

8.1.4.245 template<typename Ad_graph_t> void angel::same_successors(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns set of vertices (in vec) that have same successor set as v.

Definition at line 245 of file angel_tools.hpp.

References sorted_successor_set(), and unique_vector().

Referenced by face_elimination(), and same_neighbors().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 163: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 155

Here is the call graph for this function:

angel::same_successors

angel::sorted_successor_set

angel::unique_vector

angel::successor_set

8.1.4.246 template<typename Neighbor_t> bool angel::search_path (conststd::vector< c_graph_t::vertex_t > & from, const std::vector<c_graph_t::vertex_t > & to, const Neighbor_t & n, std::vector<c_graph_t::vertex_t > & path, bool breadth_first = false)[inline]

8.1.4.247 int angel::semi_eliminatable_vertices (const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv)

Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.

Besides intermediate vertices, dependent vertices with outgoing edges are included.

Definition at line 351 of file eliminations.cpp.

References dependent, intermediate, and angel::c_graph_t::vertex_type().

Here is the call graph for this function:

angel::semi_eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.248 void angel::setJaevRef (const c_graph_t::edge_t e, xaifBooster-CrossCountryInterface::JacobianAccumulationExpressionVertex& jaev, const c_graph_t & angelLCG, const list< EdgeRef_t > &edge_ref_list)

Definition at line 577 of file eliminations.cpp.

References getJAE_p(), getLCG_p(), getRefType(), JAE_VERT, LCG_EDGE, andTHROW_EXCEPT_MACRO.

Referenced by multiply_edge_pair_directly(), postroute_edge_directly(), andpreroute_edge_directly().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 164: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

156 angel Namespace Documentation

Here is the call graph for this function:

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

8.1.4.249 template<typename Ad_graph_t> void angel::sorted_predecessor_-set (typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns successor set of v as vector vec, vertices are sorted.

Definition at line 198 of file angel_tools.hpp.

References predecessor_set().

Referenced by face_elimination(), and same_predecessors().

Here is the call graph for this function:

angel::sorted_predecessor_set angel::predecessor_set

8.1.4.250 template<typename Ad_graph_t> void angel::sorted_successor_set(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns successor set of v as vector vec, vertices are sorted.

Definition at line 178 of file angel_tools.hpp.

References successor_set().

Referenced by face_elimination(), and same_successors().

Here is the call graph for this function:

angel::sorted_successor_set angel::successor_set

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 165: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 157

8.1.4.251 template<class Object_t, class Ad_graph_t, class Op_t, classObjective_t> int angel::standard_heuristic_op (const vector<Object_t > & v1, const Ad_graph_t & adg, vector< Object_t > & v2,Op_t op, base_heuristic_t< Objective_t > & h) [inline]

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

Definition at line 144 of file heuristics_impl.hpp.

References angel::base_heuristic_t< Objective_t >::set_objective(), and angel::base_-heuristic_t< Objective_t >::to_maximize().

Referenced by angel::minimal_distance_face_t::operator()(), angel::momr_face_-t::operator()(), angel::lowest_markowitz_face_t::operator()(), angel::minimal_-distance_edge_t::operator()(), angel::momr_edge_t::operator()(), angel::lmmd_edge_-t::operator()(), angel::lowest_relative_markowitz_edge_t::operator()(), angel::lowest_-markowitz_edge_t::operator()(), angel::moplr_vertex_t::operator()(), angel::momr_-vertex_t::operator()(), angel::lmmd_vertex_t::operator()(), angel::lowest_fill_in_-vertex_t::operator()(), angel::lowest_relative_markowitz_vertex_t::operator()(), andangel::lowest_markowitz_vertex_t::operator()().

Here is the call graph for this function:

angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

8.1.4.252 void angel::stats2block (int inputs, int outputs, const std::vector<c_graph_t > & stats, c_graph_t & block)

Build a block from a list of statements.

Parameters:

inputs The number of the block’s inputs

outputs The number of the block’s outputs

stats List of statements

block The resulting block

Definition at line 110 of file graph_generator.cpp.

References angel::c_graph_t::dependents, random(), angel::c_graph_t::swap(), take_-over_successors(), THROW_DEBUG_EXCEPT_MACRO, THROW_EXCEPT_-MACRO, angel::c_graph_t::v(), and angel::c_graph_t::x().

Referenced by random_block().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 166: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

158 angel Namespace Documentation

Here is the call graph for this function:

angel::stats2block

angel::random

angel::c_graph_t::swap

angel::take_over_successors

angel::c_graph_t::v

angel::c_graph_t::x

8.1.4.253 template<typename Ad_graph_t> void angel::successor_set(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_descriptor> & vec) [inline]

Returns successor set of v as vector vec.

Definition at line 167 of file angel_tools.hpp.

Referenced by angel::diste_op_t::operator()(), and sorted_successor_set().

8.1.4.254 template<typename Ad_graph_t, typename Op_t> int angel::sum_-over_all_in_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t & adg, const Op_t & op) [inline]

Applies op to all in-edges of v and sum it.

Definition at line 145 of file angel_tools.hpp.

Referenced by lmmd_edge_back(), momr_edge_back(), and angel::momrf_op_-t::operator()().

8.1.4.255 template<typename Ad_graph_t, typename Op_t>int angel::sum_over_all_out_edges (typenameAd_graph_t::vertex_descriptor v, const Ad_graph_t & adg, constOp_t & op) [inline]

Applies op to all out-edges of v and sum it.

Definition at line 156 of file angel_tools.hpp.

Referenced by lmmd_edge_front(), momr_edge_front(), and angel::momrf_op_-t::operator()().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 167: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 159

8.1.4.256 void angel::take_over_successors (c_graph_t::vertex_t v1,c_graph_t::vertex_t v2, int offset, const c_graph_t & g1, int &edge_number, c_graph_t & g2)

Definition at line 259 of file angel_tools.cpp.

References THROW_DEBUG_EXCEPT_MACRO, and angel::c_graph_t::v().

Referenced by stats2block().

Here is the call graph for this function:

angel::take_over_successors angel::c_graph_t::v

8.1.4.257 int angel::transformation_effect (const Transformation t, constc_graph_t & angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Definition at line 1729 of file heuristics.cpp.

References edge_elim_effect(), angel::Transformation::getEdgeElim(),angel::Rerouting::getER(), angel::Transformation::getRerouting(), an-gel::Transformation::isRerouting(), and reroute_effect().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random().

Here is the call graph for this function:

angel::transformation_effect

angel::edge_elim_effect

angel::Transformation::getEdgeElim

angel::Rerouting::getER

angel::Transformation::getRerouting

angel::Transformation::isRerouting

angel::reroute_effect

angel::Rerouting::getE

angel::Rerouting::getPivotE

angel::getEdge angel::edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 168: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

160 angel Namespace Documentation

8.1.4.258 int angel::transformation_effect (constTransformation t, const c_graph_t & angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel)

Assesses the change in nontrivial edge count that results from applying the transforma-tion t

8.1.4.259 template<typename El_t> void angel::unique_vector (std::vector<El_t > & v) [inline]

Sorts arbitrary vector and removes double elements.

Definition at line 222 of file angel_tools.hpp.

Referenced by common_predecessor(), common_successors(), same_predecessors(),and same_successors().

8.1.4.260 template<class Object_t, class Ad_graph_t, class Heuristic_t> intangel::use_heuristic (const Ad_graph_t & adg, vector< Object_t > &el_seq, Heuristic_t h) [inline]

Use heuristic to transform c-/line graph into bi-/tri-partite graph.

Parameters:

adg c-graph or line graph

el_seq Obtained elimination sequence

h Heuristic or combination of heuristics

Returns:

Elimination costs

At first graph adg is copied. The type of elimination is determined by the element typeof vector el_seq. Then all objects (vertex, edge, face) chosen by h are eliminated fromthe graph copy.

See also:

eliminatable_objectseliminate()heuristic_pair_t

Definition at line 1155 of file heuristics.hpp.

References eliminatable_objects(), and eliminate().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 169: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 161

Referenced by best_heuristic(), and angel::SA_elimination_cost_t< Heuristic_-t >::operator()().

Here is the call graph for this function:

angel::use_heuristic

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

8.1.4.261 template<class Object_t, class Ad_graph_t, class Heuristic_t> intangel::use_heuristic_debug (const Ad_graph_t & adg, vector<Object_t > & el_seq, Heuristic_t h) [inline]

Debugging version of use_heuristic, several outputs.

Parameters:

adg c-graph or line graph

el_seq Obtained elimination sequence

h Heuristic or combination of heuristics

Returns:

Elimination costs

See also:

use_heuristiceliminatable_objectseliminate()heuristic_pair_t

Definition at line 1217 of file heuristics.hpp.

References eliminatable_objects(), eliminate(), write_graph(), and write_vector().

Here is the call graph for this function:

angel::use_heuristic_debug

angel::eliminatable_objects

angel::eliminate

angel::write_graph

angel::write_vector

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 170: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

162 angel Namespace Documentation

8.1.4.262 template<class Object_t, class Ad_graph_t, class Heuristic_t> intangel::use_heuristic_noconst (Ad_graph_t & adg, vector< Object_t> & el_seq, Heuristic_t h) [inline]

Use heuristic to transform c-/line graph into bi-/tri-partite graph.

Parameters:

adg c-graph or line graph

el_seq Obtained elimination sequence

h Heuristic or combination of heuristics

Returns:

Elimination costs

Same as use_heuristic but the graph is changed not copied.

See also:

use_heuristiceliminatable_objectseliminate()heuristic_pair_t

Definition at line 1187 of file heuristics.hpp.

References eliminatable_objects(), and eliminate().

Here is the call graph for this function:

angel::use_heuristic_noconst

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

8.1.4.263 template<class Object_t, class Ad_graph_t, class Heuristic_t, classOutput_t> int angel::use_heuristic_trace (const Ad_graph_t & adg,vector< Object_t > & el_seq, Heuristic_t h, Output_t output)[inline]

Tracing version of use_heuristic, writes costs for every elimination.

Parameters:

adg c-graph or line graph

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 171: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 163

el_seq Obtained elimination sequence

h Heuristic or combination of heuristics

output

Returns:

Elimination costs

See also:

use_heuristiceliminatable_objectseliminateheuristic_pair_t

Definition at line 1263 of file heuristics.hpp.

References eliminatable_objects(), and eliminate().

Here is the call graph for this function:

angel::use_heuristic_trace

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

8.1.4.264 void angel::vertex_downset (const c_graph_t::vertex_t v, constc_graph_t & angelLCG, vertex_set_t & downset)

Returns a set of vertices in adg that v depends on.

Definition at line 46 of file angel_tools.cpp.

8.1.4.265 bool angel::vertex_eliminatable (const c_graph_t & cg) [inline]

Whether cg can be transformed into bipartite graph by vertex eliminations.

Definition at line 228 of file angel_types.hpp.

References angel::c_graph_t::dependents.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

8.1.4.266 int angel::vertex_elimination (int j, line_graph_t & lg)

Eliminate vertex with number j in line graph lg

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 172: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

164 angel Namespace Documentation

All faces (∗,j,∗) are eliminated

Definition at line 159 of file eliminations.cpp.

References face_elimination().

Here is the call graph for this function:

angel::vertex_elimination angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighborsangel::same_predecessors

angel::sorted_predecessor_set

angel::same_successorsangel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

8.1.4.267 int angel::vertex_elimination (const vector< int > & seq, c_graph_t& cg)

Elimination of vertices in sequence seq from c-graph cg

Returns:

The costs (number of operation)

8.1.4.268 int angel::vertex_elimination (int j, c_graph_t & cg) [inline]

Elimination of vertex with number j from c-graph cg

Returns:

The costs (number of operation)

Definition at line 36 of file eliminations.hpp.

References vertex_elimination().

Here is the call graph for this function:

angel::vertex_elimination angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 173: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 165

8.1.4.269 int angel::vertex_elimination (c_graph_t::vertex_t v, c_graph_t & cg)

Elimination of vertex v from c-graph cg

Returns:

The costs (number of operation)

Definition at line 19 of file eliminations.cpp.

References back_edge_elimination().

Referenced by convert_elimination_sequence(), eliminate(), angel::momrv_op_-t::operator()(), remove_hoisting_vertices(), and vertex_elimination().

Here is the call graph for this function:

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

8.1.4.270 template<typename Ad_graph_t> vertex_type_t angel::vertex_type(typename Ad_graph_t::vertex_descriptor v, const Ad_graph_t &adg) [inline]

Functional equivalent for graph class method (more boost-like).

Definition at line 347 of file angel_tools.hpp.

Referenced by back_edge_elimination(), back_elim(), back_eliminatable_edges(),back_eliminate_edge_directly(), backEdgeElimination_noJAE(), edge_elim_effect(),eliminatable_edges(), eliminatable_faces(), front_eliminatable_edges(), is_bipartite(),is_tripartite(), markowitz_enlargement_front(), minimal_markowitz_degree(), nu-mIntermediateVertices(), numIntermediateVerticesWithoutUnitEdge(), angel::target_-not_dependent_t::operator()(), angel::new_iks_t::operator()(), angel::source_not_-independent_t::operator()(), angel::new_pik_t::operator()(), reducing_reroutings(),and writeVertexAndEdgeTypes().

8.1.4.271 void angel::vertex_upset (const c_graph_t::vertex_t v, constc_graph_t & angelLCG, vertex_set_t & upset)

Returns a set of vertices in adg that depend on v.

Definition at line 32 of file angel_tools.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 174: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

166 angel Namespace Documentation

8.1.4.272 int angel::was_non_trivial_elimination (line_graph_t::face_t f, int k,const line_graph_t & lg) [inline]

Returns whether face elimination induces an operation during Jacobian accumulation

Parameters:

f the face

k is the number of a new node or the number of the node absorbing the face

lg the line graph

Returns:

1 if elimination induces operation (+, ∗, or fused multiply add) otherwise 0

Definition at line 399 of file eliminations.hpp.

References was_non_trivial_elimination().

Here is the call graph for this function:

angel::was_non_trivial_elimination angel::was_non_trivial_elimination angel::line_graph_t::v

8.1.4.273 int angel::was_non_trivial_elimination (int i, int j, int k, constline_graph_t & lg) [inline]

Returns whether face elimination induces an operation during Jacobian accumulation

Parameters:

i node number of the source of the face

j node number of the source of the face

k is the number of a new node or the number of the node absorbing the face

lg the line graph

Returns:

1 if elimination induces operation (+, ∗, or fused multiply add) otherwise 0

Definition at line 385 of file eliminations.hpp.

References angel::line_graph_t::v().

Referenced by eliminate(), and was_non_trivial_elimination().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 175: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 167

Here is the call graph for this function:

angel::was_non_trivial_elimination angel::line_graph_t::v

8.1.4.274 size_t angel::which_index (const LinearizedCompu-tationalGraphVertex ∗const add, const vector< constLinearizedComputationalGraphVertex ∗ > & av) [inline]

Definition at line 21 of file xaif_interface.cpp.

Referenced by ourLCG_to_angelLCG(), and read_graph_xaif_booster().

8.1.4.275 template<typename Prop_t, typename Ad_graph_t> voidangel::write_edge_property (ostream & stream, const string & s,const Prop_t & prop, const Ad_graph_t & adg) [inline]

Write internal edge property to stream.

Parameters:

streams Commenting string

prop Edge property

adg C-graph or line graph

Definition at line 417 of file angel_io.hpp.

8.1.4.276 void angel::write_face (std::ostream & stream, line_graph_t::face_tface, const line_graph_t & lg)

Definition at line 78 of file angel_io.cpp.

References THROW_DEBUG_EXCEPT_MACRO.

8.1.4.277 void angel::write_face (line_graph_t::face_t face, const line_graph_t& lg) [inline]

Write a face face of lg to standard output.

Definition at line 50 of file angel_io.hpp.

References write_face().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 176: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

168 angel Namespace Documentation

Here is the call graph for this function:

angel::write_face angel::write_face

8.1.4.278 void angel::write_face (ostream & stream, line_graph_t::face_t face,const line_graph_t & lg)

Write a face face of lg to stream.

Referenced by write_face(), and write_face_vector().

8.1.4.279 void angel::write_face_vector (std::ostream & stream, conststd::string & s, const std::vector< line_graph_t::face_t > & v, constline_graph_t & lg)

Definition at line 93 of file angel_io.cpp.

References write_face().

Here is the call graph for this function:

angel::write_face_vector angel::write_face

8.1.4.280 void angel::write_face_vector (const string & s, const vector<line_graph_t::face_t > & v, const line_graph_t & lg) [inline]

Write a vector v of faces from lg to standard output with comment s.

Definition at line 61 of file angel_io.hpp.

References write_face_vector().

Here is the call graph for this function:

angel::write_face_vector angel::write_face_vector

8.1.4.281 void angel::write_face_vector (ostream & stream, const string & s,const vector< line_graph_t::face_t > & v, const line_graph_t & lg)

Write a vector v of faces from lg to stream with comment s.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 177: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 169

Referenced by write_face_vector().

8.1.4.282 template<typename Ad_graph_t> void angel::write_graph (conststring & file_name, const string & s, const Ad_graph_t & adg)[inline]

Write c-graph or line graph to file.

Parameters:

file_name File will be overwritten

s Commenting string

adg C-graph or line graph

Definition at line 171 of file angel_io.hpp.

References write_graph().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::write_graph angel::write_graph angel::write_vector

8.1.4.283 template<typename Ad_graph_t> void angel::write_graph (conststring & s, const Ad_graph_t & adg) [inline]

Write c-graph or line graph to standard output.

Parameters:

s Commenting string

adg C-graph or line graph

Definition at line 161 of file angel_io.hpp.

References write_graph().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 178: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

170 angel Namespace Documentation

Here is the call graph for this function:

angel::write_graph angel::write_graph angel::write_vector

8.1.4.284 template<typename Ad_graph_t> void angel::write_graph (ostream& stream, const string & s, const Ad_graph_t & adg) [inline]

Write c-graph or line graph to stream.

Parameters:

stream

s Commenting string

adg C-graph or line graph

Definition at line 392 of file angel_io.hpp.

References write_vector().

Here is the call graph for this function:

angel::write_graph angel::write_vector

8.1.4.285 template<typename Ad_graph_t> void angel::write_graph (conststring & file_name, const string & s, const Ad_graph_t & adg, boolwrite_edge_weight) [inline]

Write c-graph or line graph to file.

Parameters:

file_name File will be overwritten

s Commenting string

adg C-graph or line graph

write_edge_weight Write edge labels, only defined for c-graph

Definition at line 140 of file angel_io.hpp.

References write_graph().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 179: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 171

Here is the call graph for this function:

angel::write_graph angel::write_graph angel::write_vector

8.1.4.286 template<typename Ad_graph_t> void angel::write_graph (conststring & s, const Ad_graph_t & adg, bool write_edge_weight)[inline]

Write c-graph or line graph to standard output.

Parameters:

s Commenting string

adg C-graph or line graph

write_edge_weight Write edge labels, only defined for c-graph

Definition at line 128 of file angel_io.hpp.

References write_graph().

Here is the call graph for this function:

angel::write_graph angel::write_graph angel::write_vector

8.1.4.287 template<typename Ad_graph_t> void angel::write_graph(ostream & stream, const string & s, const Ad_graph_t & adg, boolwrite_edge_weight) [inline]

Write c-graph or line graph to stream.

Parameters:

streams Commenting string

adg C-graph or line graph

write_edge_weight Write edge labels, only defined for c-graph

Definition at line 351 of file angel_io.hpp.

References write_vector().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 180: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

172 angel Namespace Documentation

Referenced by angel::c_graph_t::check(), angel::elimination_history_t< Ad_graph_t,El_spec_t >::check_sequence(), convert_elimination_sequence(), lex_less_face(),angel::momrf_op_t::operator()(), ourLCG_to_angelLCG(), random_statement_-vector(), read_graph_xaif_booster(), use_heuristic_debug(), angel::stream_output_-t::write_graph(), and write_graph().

Here is the call graph for this function:

angel::write_graph angel::write_vector

8.1.4.288 template<typename Ad_graph_t> void angel::write_graph_eliad(const string & file_name, const Ad_graph_t & adg) [inline]

Write c-graph or line graph in EliAD format to file.

Parameters:

file_name File will be overwrittenadg C-graph or line graph

Note:

Can be read by read_graph_eliad (const char∗ file_name, c_graph_t& cg)

Definition at line 204 of file angel_io.hpp.

References write_graph_eliad().

Here is the call graph for this function:

angel::write_graph_eliad angel::write_graph_eliad angel::for_all_edges

8.1.4.289 template<typename Ad_graph_t> void angel::write_graph_eliad(const Ad_graph_t & adg) [inline]

Write c-graph or line graph in EliAD format to standard output.

Parameters:

adg C-graph or line graph

Note:

Can be read by read_graph_eliad (const char∗ file_name, c_graph_t& cg)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 181: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 173

Definition at line 194 of file angel_io.hpp.

References write_graph_eliad().

Here is the call graph for this function:

angel::write_graph_eliad angel::write_graph_eliad angel::for_all_edges

8.1.4.290 template<typename Ad_graph_t> void angel::write_graph_eliad(ostream & stream, const Ad_graph_t & adg) [inline]

Write c-graph or line graph in EliAD format to stream.

Parameters:

streamadg C-graph or line graph

Note:

Can be read by read_graph_eliad (const char∗ file_name, c_graph_t& cg)

Definition at line 221 of file angel_io.hpp.

References for_all_edges().

Referenced by write_graph_eliad().

Here is the call graph for this function:

angel::write_graph_eliad angel::for_all_edges

8.1.4.291 void angel::write_graph_xaif_booster (const accu_graph_t &ag, const vector< const LinearizedComputationalGraphVertex∗ > & av, const vector< edge_address_t > & ae,JacobianAccumulationExpressionList & JAElist,LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)

Definition at line 120 of file xaif_interface.cpp.

References angel::accu_graph_t::accu_exp, angel::accu_exp_t::add, angel::accu_-exp_t::exp, angel::accu_exp_t::isop, angel::accu_graph_t::jacobi_entries, JAE_-VERT, angel::accu_exp_t::lgn, angel::accu_exp_t::nothing, angel::accu_exp_t::ref,

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 182: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

174 angel Namespace Documentation

angel::accu_exp_t::ref_kind, THROW_DEBUG_EXCEPT_MACRO, THROW_-EXCEPT_MACRO, angel::accu_exp_graph_t::v(), and xaif_edge_pr().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().

Here is the call graph for this function:

angel::write_graph_xaif_booster

angel::accu_exp_graph_t::v

angel::xaif_edge_pr angel::line_graph_t::x

8.1.4.292 template<typename It_t, typename Op_t> std::ostream&angel::write_iterators (std::ostream & stream, const std::string & s,It_t begin, It_t end, Op_t op) [inline]

Definition at line 311 of file angel_tools.hpp.

8.1.4.293 void angel::write_refillDependences (ostream & stream, constrefillDependenceMap_t & refillDependences)

Definition at line 128 of file angel_io.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

8.1.4.294 template<typename Scalar_t, typename Op_t> voidangel::write_vector (const string & s, const vector< Scalar_t > & v,Op_t op) [inline]

Write STL vector to standard output.

Parameters:

s string

v Vector

op Output operator, op (s, v[i]) must write element v[i] to s

Definition at line 103 of file angel_io.hpp.

References write_vector().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 183: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 175

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

Here is the call graph for this function:

angel::write_vector angel::write_vector

8.1.4.295 template<typename Scalar_t, typename Op_t> voidangel::write_vector (ostream & stream, const string & s, constvector< Scalar_t > & v, Op_t op) [inline]

Write STL vector to stream.

Parameters:

streams Commenting string

v Vector

op Output operator, op (s, v[i]) must write element v[i] to s

Definition at line 289 of file angel_io.hpp.

8.1.4.296 template<typename Scalar_t> void angel::write_vector (const string& s, const vector< Scalar_t > & v) [inline]

Write STL vector v to standard output with comment s if their output operator isdefined.

Definition at line 83 of file angel_io.hpp.

References write_vector().

Here is the call graph for this function:

angel::write_vector angel::write_vector

8.1.4.297 template<typename Scalar_t> void angel::write_vector (ostream &stream, const string & s, const vector< Scalar_t > & v) [inline]

Write STL vector v to stream with comment s if their output operator is defined.

Definition at line 273 of file angel_io.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 184: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

176 angel Namespace Documentation

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_-sequence(), use_heuristic_debug(), write_graph(), and write_vector().

8.1.4.298 template<typename Prop_t, typename Ad_graph_t> voidangel::write_vertex_property (ostream & stream, const string & s,const Prop_t & prop, const Ad_graph_t & adg) [inline]

Write internal vertex property to stream.

Parameters:

stream

s Commenting string

prop Vertex property

adg C-graph or line graph

Definition at line 241 of file angel_io.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),convert_elimination_sequence(), lex_less_face(), and angel::momrf_op_-t::operator()().

8.1.4.299 void angel::writeVertexAndEdgeTypes (ostream & stream, c_graph_t& angelLCG)

Definition at line 140 of file angel_io.cpp.

References CONSTANT_EDGE, dependent, UNIT_EDGE, VARIABLE_EDGE, andvertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random(), xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence_random(), and xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom().

Here is the call graph for this function:

angel::writeVertexAndEdgeTypes angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 185: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 177

8.1.4.300 const LinearizedComputationalGraphEdge∗ angel::xaif_edge_pr(line_graph_t::edge_t e, const accu_graph_t & ag, const vector<edge_address_t > & ae) [inline]

Definition at line 109 of file xaif_interface.cpp.

References angel::accu_graph_t::lg, and angel::line_graph_t::x().

Referenced by write_graph_xaif_booster().

Here is the call graph for this function:

angel::xaif_edge_pr angel::line_graph_t::x

8.1.5 Variable Documentation

8.1.5.1 string_stream_output_t angel::cout_string_output(std::cout)

8.1.5.2 string_stream_output_t angel::cout_string_output

8.1.5.3 vis_display_output_t angel::cout_vis_display_output(std::cout)

8.1.5.4 vis_display_output_t angel::cout_vis_display_output

8.1.5.5 forward_mode_edge_t angel::forward_mode_edge

Forward mode in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

If lowest edge appears twice in ev1 than front elimination is used. Mixed edge forwardmode is realised such that the same eliminations are effectively done as in vertex andface elimination when forward mode is used as sole criterion.

Definition at line 491 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 186: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

178 angel Namespace Documentation

8.1.5.6 forward_mode_edge_t angel::forward_mode_edge

Forward mode in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

If lowest edge appears twice in ev1 than front elimination is used. Mixed edge forwardmode is realised such that the same eliminations are effectively done as in vertex andface elimination when forward mode is used as sole criterion.

Definition at line 491 of file heuristics.cpp.

8.1.5.7 forward_mode_face_t angel::forward_mode_face

Forward mode in face elimination.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Result vector of faces, contains face with lowest number (see description)

Returns:

Size of fv2, always 1 (if fv1 is not empty)

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to forward mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when forwardmode is used as sole criterion.

Definition at line 896 of file heuristics.cpp.

8.1.5.8 forward_mode_face_t angel::forward_mode_face

Forward mode in face elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 187: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 179

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Result vector of faces, contains face with lowest number (see description)

Returns:

Size of fv2, always 1 (if fv1 is not empty)

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to forward mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when forwardmode is used as sole criterion.

Definition at line 896 of file heuristics.cpp.

8.1.5.9 forward_mode_vertex_t angel::forward_mode_vertex

Forward mode in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Result vector of vertices, contains vertex with lowest number

Returns:

Size of vv2, always 1 (if vv1 is not empty)

Definition at line 36 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

8.1.5.10 forward_mode_vertex_t angel::forward_mode_vertex

Forward mode in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Result vector of vertices, contains vertex with lowest number

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 188: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

180 angel Namespace Documentation

Returns:

Size of vv2, always 1 (if vv1 is not empty)

Definition at line 36 of file heuristics.cpp.

8.1.5.11 lmmd_edge_t angel::lmmd_edge(1.0)

Predefined object of lmmd_edge_t with weight=1.0.

This object is introduced for syntactical coherence with other heuristics since lmmd_-edge can be called like a function.

8.1.5.12 lmmd_edge_t angel::lmmd_edge

Predefined object of lmmd_edge_t with weight=1.0.

This object is introduced for syntactical coherence with other heuristics since lmmd_-edge can be called like a function.

8.1.5.13 lmmd_vertex_t angel::lmmd_vertex(1.0)

Predefined object of lmmd_vertex_t with weight=1.0.

This object is introduced for syntactical coherence with other heuristics since lmmd_-vertex can be called like a function.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

8.1.5.14 lmmd_vertex_t angel::lmmd_vertex

Predefined object of lmmd_vertex_t with weight=1.0.

This object is introduced for syntactical coherence with other heuristics since lmmd_-vertex can be called like a function.

8.1.5.15 ofstream angel::log_file

Definition at line 109 of file angel_io.cpp.

8.1.5.16 ofstream angel::log_file

Definition at line 109 of file angel_io.cpp.

Referenced by close_log_file(), and open_log_file().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 189: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 181

8.1.5.17 lowest_fill_in_vertex_t angel::lowest_fill_in_vertex

Lowest fill-in in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices whose elimination induces miniminal fill-in

Returns:

Size of vv2

Definition at line 183 of file heuristics.cpp.

8.1.5.18 lowest_fill_in_vertex_t angel::lowest_fill_in_vertex

Lowest fill-in in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices whose elimination induces miniminal fill-in

Returns:

Size of vv2

Definition at line 183 of file heuristics.cpp.

8.1.5.19 lowest_markowitz_edge_t angel::lowest_markowitz_edge

Lowest Markowitz in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and howcg c-graphev2 Result vector of edges with lowest Markowitz degree

Returns:

Size of ev2

Definition at line 590 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 190: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

182 angel Namespace Documentation

8.1.5.20 lowest_markowitz_edge_t angel::lowest_markowitz_edge

Lowest Markowitz in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges with lowest Markowitz degree

Returns:

Size of ev2

Definition at line 590 of file heuristics.cpp.

Referenced by lowestMarkowitzEdgeElim().

8.1.5.21 lowest_markowitz_face_t angel::lowest_markowitz_face

Lowest Markowitz for face elimination.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Set of faces with the lowest Markowitz degree (see description)

Returns:

Size of fv2

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). With this representation the definition of Markowitzdegree can be generalized to line graphs. The Markowitz degree of vertex j in linegraph is the number of faces with j as second value, Markowitz(j) = |{(∗, j, ∗)}| Forall vertices j where some face like (∗, j, ∗) exist in fv1, the Markowitz degrees arecomputed and their minimum determined. Returned are all faces from fv1 where j hasminimal Markowitz degree.

8.1.5.22 lowest_markowitz_vertex_t angel::lowest_markowitz_vertex

Lowest Markowitz degree first in vertex elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 191: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 183

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Set of vertices with lowest Markowitz degree

Returns:

Size of vv2

Definition at line 74 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

8.1.5.23 lowest_markowitz_vertex_t angel::lowest_markowitz_vertex

Lowest Markowitz degree first in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Set of vertices with lowest Markowitz degree

Returns:

Size of vv2

Definition at line 74 of file heuristics.cpp.

8.1.5.24 lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_-edge

Lowest relative Markowitz in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges with lowest relative Markowitz degree

Returns:

Size of ev2

Definition at line 621 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 192: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

184 angel Namespace Documentation

8.1.5.25 lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_-edge

Lowest relative Markowitz in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges with lowest relative Markowitz degree

Returns:

Size of ev2

Definition at line 621 of file heuristics.cpp.

8.1.5.26 lowest_relative_markowitz_vertex_t angel::lowest_relative_-markowitz_vertex

Lowest relative Markowitz degree first in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Set of vertices with lowest relative Markowitz degree

Returns:

Size of vv2

Definition at line 102 of file heuristics.cpp.

8.1.5.27 lowest_relative_markowitz_vertex_t angel::lowest_relative_-markowitz_vertex

Lowest relative Markowitz degree first in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Set of vertices with lowest relative Markowitz degree

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 193: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 185

Returns:

Size of vv2

Definition at line 102 of file heuristics.cpp.

8.1.5.28 minimal_distance_edge_t angel::minimal_distance_edge

Definition at line 835 of file heuristics.cpp.

8.1.5.29 momr_edge_t angel::momr_edge

Maximal overall Markowitz reduction in mixed edge elimination.

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges with maximal overall Markowitz reduction

Returns:

Size of ev2

Definition at line 807 of file heuristics.cpp.

8.1.5.30 momr_edge_t angel::momr_edge

Maximal overall Markowitz reduction in mixed edge elimination.

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges with maximal overall Markowitz reduction

Returns:

Size of ev2

Definition at line 807 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 194: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

186 angel Namespace Documentation

8.1.5.31 momr_face_t angel::momr_face

Maximal overall Markowitz degree reduction in face elimination.

Parameters:

fv1 Set of faces that can be eliminated

lg line graph

fv2 Set of faces with maximal overall Markowitz degree reduction

Returns:

Size of fv2

Implemenation rests on an old definition of face elimination. It is not yet tested whetherit works properly . In face elimination MOMR and LMMD are identical.

Definition at line 1102 of file heuristics.cpp.

8.1.5.32 momr_face_t angel::momr_face

Maximal overall Markowitz degree reduction in face elimination.

Parameters:

fv1 Set of faces that can be eliminated

lg line graph

fv2 Set of faces with maximal overall Markowitz degree reduction

Returns:

Size of fv2

Implemenation rests on an old definition of face elimination. It is not yet tested whetherit works properly . In face elimination MOMR and LMMD are identical.

Definition at line 1102 of file heuristics.cpp.

8.1.5.33 momr_vertex_t angel::momr_vertex

Instance of momr_vertex_t, can be used as a function and an argument.

Definition at line 363 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 195: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 187

8.1.5.34 momr_vertex_t angel::momr_vertex

Instance of momr_vertex_t, can be used as a function and an argument.

Definition at line 363 of file heuristics.cpp.

8.1.5.35 moplr_vertex_t angel::moplr_vertex

Maximal overall path length reduction in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices with maximal overall path length reduction

Returns:

Size of vv2

Definition at line 443 of file heuristics.cpp.

8.1.5.36 moplr_vertex_t angel::moplr_vertex

Maximal overall path length reduction in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices with maximal overall path length reduction

Returns:

Size of vv2

Definition at line 443 of file heuristics.cpp.

8.1.5.37 no_output_t angel::no_output

Definition at line 120 of file angel_io.cpp.

8.1.5.38 no_output_t angel::no_output

Definition at line 120 of file angel_io.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 196: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

188 angel Namespace Documentation

8.1.5.39 random_init_t angel::random_init_object

Definition at line 323 of file graph_generator.cpp.

8.1.5.40 random_init_t angel::random_init_object

Definition at line 323 of file graph_generator.cpp.

8.1.5.41 reverse_mode_edge_t angel::reverse_mode_edge

Reverse mode in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

If lowest edge appears twice in ev1 than front elimination is used. Mixed edge reversemode is realised such that the same eliminations are effectively done as in vertex andface elimination when reverse mode is used as sole criterion.

Definition at line 544 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence().

8.1.5.42 reverse_mode_edge_t angel::reverse_mode_edge

Reverse mode in edge elimination (mixed front and back elimination).

Parameters:

ev1 Set of edges that can be eliminated and how

cg c-graph

ev2 Result vector of edges, contains lowest edge in lexicographical order

Returns:

Size of ev2, always 1 (if ev1 is not empty)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 197: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 189

If lowest edge appears twice in ev1 than front elimination is used. Mixed edge reversemode is realised such that the same eliminations are effectively done as in vertex andface elimination when reverse mode is used as sole criterion.

Definition at line 544 of file heuristics.cpp.

Referenced by reverseModeEdgeElim().

8.1.5.43 reverse_mode_face_t angel::reverse_mode_face

Reverse mode in face elimination.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Result vector of faces, contains face with highest number (see description)

Returns:

Size of fv2, always 1 (if fv1 is not empty)

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to reverse mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when reversemode is used as sole criterion.

Definition at line 917 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face().

8.1.5.44 reverse_mode_face_t angel::reverse_mode_face

Reverse mode in face elimination.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Result vector of faces, contains face with highest number (see description)

Returns:

Size of fv2, always 1 (if fv1 is not empty)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 198: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

190 angel Namespace Documentation

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces are compared lexicographically with j as firstcriterion followed by i and k. It is equivalent to reverse mode in vertex eliminationand edge elimination (with front elimination only or mixed eliminations) when reversemode is used as sole criterion.

Definition at line 917 of file heuristics.cpp.

8.1.5.45 reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_-vertex

Reverse mode emulating vertex elimination with face eliminations.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Set of faces that belong to vertex with the highest number (see description)

Returns:

Size of fv2

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). All faces with highest j are returned.

Definition at line 938 of file heuristics.cpp.

8.1.5.46 reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_-vertex

Reverse mode emulating vertex elimination with face eliminations.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

fv2 Set of faces that belong to vertex with the highest number (see description)

Returns:

Size of fv2

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). All faces with highest j are returned.

Definition at line 938 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 199: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.1 angel Namespace Reference 191

8.1.5.47 reverse_mode_vertex_t angel::reverse_mode_vertex

Reverse mode in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Result vector of vertices, contains vertex with highest number

Returns:

Size of vv2, always 1 (if vv1 is not empty)

Definition at line 55 of file heuristics.cpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),and xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().

8.1.5.48 reverse_mode_vertex_t angel::reverse_mode_vertex

Reverse mode in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Result vector of vertices, contains vertex with highest number

Returns:

Size of vv2, always 1 (if vv1 is not empty)

Definition at line 55 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 200: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

192 angel Namespace Documentation

8.2 boost Namespace Reference

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 201: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.3 GMPI Namespace Reference 193

8.3 GMPI Namespace Reference

Classes

• class buffer_t• class comm_ref_t• class Comm• class Intracomm

Functions

• MPI::Datatype which_mpi_t (char)Returns MPI data type for all available base types.

• MPI::Datatype which_mpi_t (signed short)• MPI::Datatype which_mpi_t (unsigned char)• MPI::Datatype which_mpi_t (double)• MPI::Datatype which_mpi_t (long double)• MPI::Datatype which_mpi_t (pair< int, int >)• MPI::Datatype which_mpi_t (pair< float, int >)• MPI::Datatype which_mpi_t (pair< double, int >)• MPI::Datatype which_mpi_t (pair< long double, int >)• MPI::Datatype which_mpi_t (pair< short, int >)• template<typename Base_t>

const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,Base_t &input)

Read one entry of buffer’s base type.

• template<typename Base_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const Base_t&output)

Write one entry of buffer’s base type.

• template<typename Base_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,vector< Base_t > &input)

Read a vector of buffer’s base type in faster mode than arbitrary vectors.

• template<typename Base_t>const buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, constvector< Base_t > &output)

Write a vector of buffer’s base type in faster mode than arbitrary vectors.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 202: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

194 angel Namespace Documentation

• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,pair< Scalar1_t, Scalar2_t > &input)

Reads a pair of arbitrary types.

• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const pair<Scalar1_t, Scalar2_t > &output)

Writes a pair of arbitrary types.

• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,vector< Scalar_t > &input)

Reads a vector of an arbitrary type.

• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const vector<Scalar_t > &output)

Writes (appends to) a vector of an arbitrary type.

• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,list< Scalar_t > &input)

Reads a list of an arbitrary type.

• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const list<Scalar_t > &output)

Writes (appends to) a list of an arbitrary type.

• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & operator>> (const buffer_t< Base_t > &buffer,deque< Scalar_t > &input)

Reads a deque of an arbitrary type.

• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & operator<< (buffer_t< Base_t > &buffer, const deque<Scalar_t > &output)

Writes (appends to) a deque of an arbitrary type.

Variables

• const MPI::Datatype mpi_size_t = which_mpi_t (size_t())

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 203: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.3 GMPI Namespace Reference 195

MPI data type to communicate sizes.

8.3.1 Function Documentation

8.3.1.1 template<typename Base_t, typename Scalar_t> buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const deque<Scalar_t > & output) [inline]

Writes (appends to) a deque of an arbitrary type.

Definition at line 220 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::size().

Here is the call graph for this function:

GMPI::operator<< GMPI::buffer_t::size

8.3.1.2 template<typename Base_t, typename Scalar_t> buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const list< Scalar_t> & output) [inline]

Writes (appends to) a list of an arbitrary type.

Definition at line 202 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::size().

Here is the call graph for this function:

GMPI::operator<< GMPI::buffer_t::size

8.3.1.3 template<typename Base_t, typename Scalar_t> buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const vector<Scalar_t > & output) [inline]

Writes (appends to) a vector of an arbitrary type.

Definition at line 184 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::size().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 204: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

196 angel Namespace Documentation

Here is the call graph for this function:

GMPI::operator<< GMPI::buffer_t::size

8.3.1.4 template<typename Base_t, typename Scalar1_t, typename Scalar2_t>buffer_t<Base_t>& GMPI::operator<< (buffer_t< Base_t > & buffer,const pair< Scalar1_t, Scalar2_t > & output) [inline]

Writes a pair of arbitrary types.

Definition at line 169 of file gmpi.hpp.

8.3.1.5 template<typename Base_t> const buffer_t<Base_t>&GMPI::operator<< (buffer_t< Base_t > & buffer, const vector<Base_t > & output) [inline]

Write a vector of buffer’s base type in faster mode than arbitrary vectors.

Definition at line 153 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::size().

Here is the call graph for this function:

GMPI::operator<< GMPI::buffer_t::size

8.3.1.6 template<typename Base_t> buffer_t<Base_t>& GMPI::operator<<(buffer_t< Base_t > & buffer, const Base_t & output) [inline]

Write one entry of buffer’s base type.

Definition at line 139 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::write().

Here is the call graph for this function:

GMPI::operator<< GMPI::buffer_t::write GMPI::buffer_t::reserve

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 205: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.3 GMPI Namespace Reference 197

8.3.1.7 template<typename Base_t, typename Scalar_t> constbuffer_t<Base_t>& GMPI::operator>> (const buffer_t< Base_t > &buffer, deque< Scalar_t > & input) [inline]

Reads a deque of an arbitrary type.

Definition at line 211 of file gmpi.hpp.

8.3.1.8 template<typename Base_t, typename Scalar_t> constbuffer_t<Base_t>& GMPI::operator>> (const buffer_t< Base_t > &buffer, list< Scalar_t > & input) [inline]

Reads a list of an arbitrary type.

Definition at line 193 of file gmpi.hpp.

8.3.1.9 template<typename Base_t, typename Scalar_t> constbuffer_t<Base_t>& GMPI::operator>> (const buffer_t< Base_t > &buffer, vector< Scalar_t > & input) [inline]

Reads a vector of an arbitrary type.

Definition at line 175 of file gmpi.hpp.

8.3.1.10 template<typename Base_t, typename Scalar1_t, typenameScalar2_t> const buffer_t<Base_t>& GMPI::operator>> (constbuffer_t< Base_t > & buffer, pair< Scalar1_t, Scalar2_t > & input)[inline]

Reads a pair of arbitrary types.

Definition at line 163 of file gmpi.hpp.

8.3.1.11 template<typename Base_t> const buffer_t<Base_t>&GMPI::operator>> (const buffer_t< Base_t > & buffer, vector<Base_t > & input) [inline]

Read a vector of buffer’s base type in faster mode than arbitrary vectors.

Definition at line 144 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::load(), and GMPI::buffer_t< Base_-t >::remaining().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 206: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

198 angel Namespace Documentation

Here is the call graph for this function:

GMPI::operator>>

GMPI::buffer_t::load

GMPI::buffer_t::remaining

8.3.1.12 template<typename Base_t> const buffer_t<Base_t>&GMPI::operator>> (const buffer_t< Base_t > & buffer, Base_t &input) [inline]

Read one entry of buffer’s base type.

Definition at line 134 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::read().

Here is the call graph for this function:

GMPI::operator>> GMPI::buffer_t::read

8.3.1.13 MPI::Datatype GMPI::which_mpi_t (pair< short, int >) [inline]

Definition at line 41 of file gmpi.hpp.

8.3.1.14 MPI::Datatype GMPI::which_mpi_t (pair< long double, int >)[inline]

Definition at line 40 of file gmpi.hpp.

8.3.1.15 MPI::Datatype GMPI::which_mpi_t (pair< double, int >)[inline]

Definition at line 39 of file gmpi.hpp.

8.3.1.16 MPI::Datatype GMPI::which_mpi_t (pair< float, int >) [inline]

Definition at line 38 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 207: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.3 GMPI Namespace Reference 199

8.3.1.17 MPI::Datatype GMPI::which_mpi_t (pair< int, int >) [inline]

Definition at line 37 of file gmpi.hpp.

8.3.1.18 MPI::Datatype GMPI::which_mpi_t (long double) [inline]

Definition at line 32 of file gmpi.hpp.

8.3.1.19 MPI::Datatype GMPI::which_mpi_t (double) [inline]

Definition at line 31 of file gmpi.hpp.

8.3.1.20 MPI::Datatype GMPI::which_mpi_t (unsigned char) [inline]

Definition at line 26 of file gmpi.hpp.

8.3.1.21 MPI::Datatype GMPI::which_mpi_t (signed short) [inline]

Definition at line 23 of file gmpi.hpp.

8.3.1.22 MPI::Datatype GMPI::which_mpi_t (char) [inline]

Returns MPI data type for all available base types.

Definition at line 20 of file gmpi.hpp.

8.3.2 Variable Documentation

8.3.2.1 const MPI::Datatype GMPI::mpi_size_t = which_mpi_t (size_t())

MPI data type to communicate sizes.

Definition at line 44 of file gmpi.hpp.

Referenced by GMPI::Intracomm::Bcast().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 208: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

200 angel Namespace Documentation

8.4 std Namespace Reference

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 209: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.5 xaifBoosterCrossCountryInterface Namespace Reference 201

8.5 xaifBoosterCrossCountryInterface NamespaceReference

Functions

• void compute_partial_elimination_sequence_random (const LinearizedCompu-tationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const bool allowMaintainingFlag, JacobianAccumulationExpression-List &jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorrela-tionList &v_cor_list, EdgeCorrelationList &e_cor_list)

• void compute_partial_elimination_sequence (const LinearizedComputation-alGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const bool allowMaintainingFlag, JacobianAccumulationExpression-List &jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorrela-tionList &v_cor_list, EdgeCorrelationList &e_cor_list)

• void compute_partial_transformation_sequence_random (const Linearized-ComputationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const bool allowMaintainingFlag, JacobianAccumula-tionExpressionList &jae_list, LinearizedComputationalGraph &remainderLCG,VertexCorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list, unsignedint &numReroutings)

• void compute_partial_transformation_sequence (const LinearizedComputa-tionalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, const bool allowMaintainingFlag, JacobianAccumulationExpression-List &jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorre-lationList &v_cor_list, EdgeCorrelationList &e_cor_list, unsigned int &num-Reroutings)

• void computeEliminationSequenceRandom (const LinearizedComputation-alGraph &ourLCG, JacobianAccumulationExpressionList &jae_list, Lin-earizedComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_-list, EdgeCorrelationList &e_cor_list)

• void compute_elimination_sequence (const LinearizedComputationalGraph&xgraph, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)

• void compute_elimination_sequence_lsa_face (const LinearizedComputational-Graph &xgraph, int iterations, double gamma, JacobianAccumulationExpres-sionList &JAElist, LinearizedComputationalGraph &remainderLCG, Vertex-CorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list)

• void compute_elimination_sequence_lsa_vertex (const LinearizedComputation-alGraph &xgraph, int iterations, double gamma, JacobianAccumulationExpres-sionList &JAElist, LinearizedComputationalGraph &remainderLCG, Vertex-CorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 210: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

202 angel Namespace Documentation

8.5.1 Function Documentation

8.5.1.1 void xaifBoosterCrossCountryInterface::compute_-elimination_sequence (const LinearizedComputationalGraph& xgraph, JacobianAccumulationExpressionList &JAElist, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)

Definition at line 1140 of file xaif_interface.cpp.

References angel::accu_graph_t::accu_exp, angel::best_heuristic(), angel::convert_-elimination_sequence(), angel::face_elimination(), angel::forward_mode_edge,angel::forward_mode_vertex, angel::accu_graph_t::jacobi_entries, angel::lmmd_-vertex, angel::lowest_markowitz_vertex, angel::momr_vertex, angel::read_graph_-xaif_booster(), angel::reverse_mode_edge, angel::reverse_mode_vertex, angel::accu_-graph_t::set_jacobi_entries(), angel::vertex_eliminatable(), angel::write_graph(),angel::write_graph_xaif_booster(), angel::write_vector(), and angel::write_vertex_-property().

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_elimination_sequence

angel::best_heuristic

angel::convert_elimination_sequence

angel::write_vertex_property

angel::face_elimination

angel::read_graph_xaif_booster

angel::accu_graph_t::set_jacobi_entries

angel::vertex_eliminatable

angel::write_graph

angel::write_graph_xaif_booster

angel::write_vector

angel::use_heuristic

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices

angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination

angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::find_edge

angel::front_edge_elimination

angel::write_graph

angel::write_vector

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighbors

angel::same_predecessors

angel::sorted_predecessor_set

angel::same_successors

angel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

angel::which_index

angel::line_graph_t::check

angel::line_graph_t::is_tripartite

angel::line_graph_t::vertex_type

angel::line_graph_t::x

angel::line_graph_t::y

angel::accu_exp_graph_t::v

angel::xaif_edge_pr

8.5.1.2 void xaifBoosterCrossCountryInterface::compute_elimination_-sequence_lsa_face (const LinearizedComputationalGraph & xgraph,int iterations, double gamma, JacobianAccumulationExpressionList& JAElist, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)

Definition at line 1227 of file xaif_interface.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 211: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.5 xaifBoosterCrossCountryInterface Namespace Reference 203

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_-sequence(), angel::face_elimination(), angel::LSA(), angel::read_graph_xaif_-booster(), angel::reverse_mode_face, angel::elimination_history_t< Ad_graph_t,El_spec_t >::seq, angel::accu_graph_t::set_jacobi_entries(), and angel::write_graph_-xaif_booster().

Referenced by compute_elimination_sequence_lsa_vertex().

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face

angel::elimination_history_t::complete_sequence

angel::face_elimination

angel::LSA

angel::read_graph_xaif_booster

angel::accu_graph_t::set_jacobi_entries

angel::write_graph_xaif_booster

angel::eliminatable_objects

angel::elimination_history_t::elimination

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::eliminate angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighbors

angel::same_predecessors

angel::sorted_predecessor_set

angel::same_successors

angel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

angel::SA

angel::random

angel::SA_acceptance

angel::which_index

angel::write_graph angel::write_vector

angel::line_graph_t::check

angel::line_graph_t::is_tripartite

angel::line_graph_t::vertex_type

angel::line_graph_t::x

angel::line_graph_t::y

angel::accu_exp_graph_t::v

angel::xaif_edge_pr

8.5.1.3 void xaifBoosterCrossCountryInterface::compute_elimination_-sequence_lsa_vertex (const LinearizedComputationalGraph & xgraph,int iterations, double gamma, JacobianAccumulationExpressionList& JAElist, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)

Definition at line 1259 of file xaif_interface.cpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_-sequence(), compute_elimination_sequence_lsa_face(), angel::convert_elimination_-sequence(), angel::c_graph_t::dependents, angel::face_elimination(), angel::LSA(),angel::read_graph_xaif_booster(), angel::reverse_mode_vertex, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq, angel::accu_graph_t::set_jacobi_entries(),and angel::write_graph_xaif_booster().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 212: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

204 angel Namespace Documentation

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex

angel::elimination_history_t::complete_sequence

xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face

angel::face_elimination

angel::LSA

angel::read_graph_xaif_booster

angel::accu_graph_t::set_jacobi_entries

angel::write_graph_xaif_booster

angel::convert_elimination_sequence

angel::eliminatable_objects

angel::elimination_history_t::elimination

angel::eliminatable_vertices

angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::face_elimination

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighbors

angel::same_predecessors

angel::sorted_predecessor_set

angel::same_successors

angel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

angel::SAangel::random

angel::SA_acceptance

angel::which_index

angel::write_graph angel::write_vector

angel::line_graph_t::check

angel::line_graph_t::is_tripartite

angel::line_graph_t::vertex_type

angel::line_graph_t::x

angel::line_graph_t::y

angel::accu_exp_graph_t::v

angel::xaif_edge_pr

angel::find_edge

angel::front_edge_elimination

angel::write_vertex_property

8.5.1.4 void xaifBoosterCrossCountryInterface::compute_partial_-elimination_sequence (const LinearizedComputationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,const bool allowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)

Definition at line 564 of file xaif_interface.cpp.

References angel::back_elim(), angel::back_eliminate_edge_directly(),angel::elimSeq_cost_t::bestNumNontrivialEdges, angel::elimSeq_cost_-t::cost, angel::elimSeq_cost_t::costAtBestEdgecount, angel::elimSeq_-cost_t::edgeElimVector, angel::eliminatable_edges(), angel::front_elim(),angel::front_eliminate_edge_directly(), angel::EdgeElim::getE(), an-gel::EdgeElim::isFront(), angel::lowestMarkowitzEdgeElim(), angel::maintaining_-edge_eliminations(), angel::num_nontrivial_edges(), angel::elimSeq_-cost_t::numIntermediatesWithoutUnitEdgeAtBestEdgecount, an-gel::numIntermediateVertices(), angel::numIntermediateVerticesWithoutUnitEdge(),angel::ourLCG_to_angelLCG(), angel::populate_remainderGraph_and_-correlationLists(), angel::reducing_edge_eliminations(), angel::refill_avoiding_-edge_eliminations(), angel::elimSeq_cost_t::revealedNewDependence, an-gel::reverseModeEdgeElim(), angel::write_graph(), angel::write_refillDependences(),and angel::writeVertexAndEdgeTypes().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 213: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.5 xaifBoosterCrossCountryInterface Namespace Reference 205

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_partial_elimination_sequence

angel::back_elim

angel::back_eliminate_edge_directly

angel::eliminatable_edges

angel::front_elim

angel::front_eliminate_edge_directly

angel::EdgeElim::getE

angel::EdgeElim::isFront

angel::lowestMarkowitzEdgeElim

angel::maintaining_edge_eliminations

angel::num_nontrivial_edges

angel::numIntermediateVertices

angel::numIntermediateVerticesWithoutUnitEdge

angel::ourLCG_to_angelLCG

angel::populate_remainderGraph_and_correlationLists

angel::reducing_edge_eliminations

angel::refill_avoiding_edge_eliminations

angel::reverseModeEdgeElim

angel::write_graph

angel::write_refillDependences

angel::writeVertexAndEdgeTypes

angel::pair_elim

angel::vertex_type

angel::edge

angel::multiply_edge_pair_directly

angel::removeRef

angel::setJaevRef angel::getJAE_p

angel::getLCG_p

angel::getRefType

angel::getEdge

angel::edge_elim_effect

angel::which_index

angel::write_graph

angel::c_graph_t::x

angel::write_vector

angel::reachable

8.5.1.5 void xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random (const LinearizedComputationalGraph & ourLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, constbool allowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list)

Definition at line 444 of file xaif_interface.cpp.

References angel::back_elim(), angel::back_eliminate_edge_directly(),angel::chooseTarget_sa(), angel::edge_elim_effect(), angel::eliminatable_edges(),angel::front_elim(), angel::front_eliminate_edge_directly(), angel::num_nontrivial_-edges(), angel::ourLCG_to_angelLCG(), angel::populate_remainderGraph_and_-correlationLists(), angel::replay_transformation_seq(), angel::write_graph(), andangel::writeVertexAndEdgeTypes().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 214: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

206 angel Namespace Documentation

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_partial_elimination_sequence_random angel::back_elim

angel::back_eliminate_edge_directly

angel::chooseTarget_sa

angel::edge_elim_effect

angel::eliminatable_edges

angel::front_elim

angel::front_eliminate_edge_directly

angel::num_nontrivial_edges

angel::ourLCG_to_angelLCG

angel::populate_remainderGraph_and_correlationLists

angel::replay_transformation_seq

angel::write_graph

angel::writeVertexAndEdgeTypes

angel::pair_elim

angel::vertex_type

angel::edge

angel::multiply_edge_pair_directly

angel::removeRef

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

angel::gen_prob

angel::edge_elim_effect

angel::EdgeElim::getE

angel::EdgeElim::isFrontangel::getEdge

angel::which_index

angel::write_graph

angel::c_graph_t::x

angel::write_vector

angel::backEdgeElimination_noJAE

angel::frontEdgeElimination_noJAEangel::postrouteEdge_noJAE

angel::prerouteEdge_noJAE

angel::pairElim_noJAE

8.5.1.6 void xaifBoosterCrossCountryInterface::compute_partial_-transformation_sequence (const LinearizedComputationalGraph &ourLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,const bool allowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list,unsigned int & numReroutings)

Definition at line 861 of file xaif_interface.cpp.

References angel::all_viable_transformations(), angel::back_eliminate_edge_-directly(), angel::backEdgeElimination_noJAE(), angel::transformationSeq_-cost_t::bestNumNontrivialEdges, angel::transformationSeq_cost_t::cost,angel::transformationSeq_cost_t::costAtBestEdgecount, angel::front_eliminate_-edge_directly(), angel::frontEdgeElimination_noJAE(), angel::EdgeElim::getE(),angel::Transformation::getEdgeElim(), angel::Rerouting::getER(), an-gel::Transformation::getRerouting(), angel::EdgeElim::isFront(),angel::Rerouting::isPre(), angel::Transformation::isRerouting(),

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 215: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.5 xaifBoosterCrossCountryInterface Namespace Reference 207

angel::lowest_markowitz_transformations(), angel::maintaining_-transformations(), angel::num_nontrivial_edges(), angel::transformationSeq_-cost_t::numIntermediatesWithoutUnitEdgeAtBestEdgecount, an-gel::numIntermediateVertices(), angel::numIntermediateVerticesWithoutUnitEdge(),angel::ourLCG_to_angelLCG(), angel::populate_remainderGraph_and_-correlationLists(), angel::postroute_edge_directly(), angel::postrouteEdge_-noJAE(), angel::preroute_edge_directly(), angel::prerouteEdge_noJAE(),angel::reducing_transformations(), angel::refill_avoiding_transformations(),angel::rerouting_considerate_transformations(), angel::transformationSeq_-cost_t::revealedNewDependence, angel::reverse_mode_transformations(),angel::transformationSeq_cost_t::transformationVector, and angel::write_-refillDependences().

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_partial_transformation_sequence

angel::all_viable_transformations

angel::back_eliminate_edge_directly

angel::backEdgeElimination_noJAE

angel::front_eliminate_edge_directly

angel::frontEdgeElimination_noJAE angel::EdgeElim::getE

angel::Transformation::getEdgeElim

angel::Rerouting::getER

angel::Transformation::getRerouting

angel::EdgeElim::isFront

angel::Rerouting::isPre

angel::Transformation::isRerouting

angel::lowest_markowitz_transformations

angel::maintaining_transformations

angel::num_nontrivial_edges

angel::numIntermediateVertices

angel::numIntermediateVerticesWithoutUnitEdge

angel::ourLCG_to_angelLCG

angel::populate_remainderGraph_and_correlationLists

angel::postroute_edge_directly

angel::postrouteEdge_noJAE

angel::preroute_edge_directly

angel::prerouteEdge_noJAE

angel::reducing_transformations

angel::refill_avoiding_transformations

angel::rerouting_considerate_transformations

angel::reverse_mode_transformations

angel::write_refillDependences

angel::eliminatable_edges

angel::noncyclicReroutings

angel::reroutable_edges

angel::edge

angel::multiply_edge_pair_directly angel::removeRef

angel::vertex_type

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

angel::pairElim_noJAE

angel::getEdgeangel::Rerouting::getE

angel::Rerouting::getPivotE

angel::lowestMarkowitzEdgeElim

angel::maintaining_edge_eliminations

angel::which_index

angel::write_graph

angel::c_graph_t::x

angel::reducing_edge_eliminations

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 216: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

208 angel Namespace Documentation

8.5.1.7 void xaifBoosterCrossCountryInterface::compute_-partial_transformation_sequence_random (constLinearizedComputationalGraph & ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const boolallowMaintainingFlag, JacobianAccumulationExpressionList& jae_list, LinearizedComputationalGraph & remainderLCG,VertexCorrelationList & v_cor_list, EdgeCorrelationList & e_cor_list,unsigned int & numReroutings)

Definition at line 722 of file xaif_interface.cpp.

References angel::all_viable_transformations(), angel::back_eliminate_-edge_directly(), angel::backEdgeElimination_noJAE(), angel::chooseTarget_-sa(), angel::front_eliminate_edge_directly(), angel::frontEdgeElimination_-noJAE(), angel::num_nontrivial_edges(), angel::ourLCG_to_angelLCG(),angel::populate_remainderGraph_and_correlationLists(), angel::postroute_-edge_directly(), angel::postrouteEdge_noJAE(), angel::preroute_edge_-directly(), angel::prerouteEdge_noJAE(), angel::replay_transformation_-seq(), angel::transformation_effect(), angel::write_graph(), and an-gel::writeVertexAndEdgeTypes().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 217: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

8.5 xaifBoosterCrossCountryInterface Namespace Reference 209

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::compute_partial_transformation_sequence_random

angel::all_viable_transformations

angel::back_eliminate_edge_directly

angel::backEdgeElimination_noJAE

angel::chooseTarget_sa

angel::front_eliminate_edge_directly

angel::frontEdgeElimination_noJAE

angel::num_nontrivial_edges

angel::ourLCG_to_angelLCGangel::populate_remainderGraph_and_correlationLists

angel::postroute_edge_directly

angel::postrouteEdge_noJAE

angel::preroute_edge_directly

angel::prerouteEdge_noJAE

angel::replay_transformation_seq

angel::transformation_effect

angel::write_graph

angel::writeVertexAndEdgeTypes

angel::eliminatable_edges

angel::noncyclicReroutings

angel::reroutable_edges

angel::edge

angel::reachable

angel::multiply_edge_pair_directly angel::removeRef

angel::vertex_type

angel::setJaevRef angel::getJAE_p

angel::getLCG_p

angel::getRefType

angel::pairElim_noJAE

angel::gen_prob

angel::which_index

angel::write_graph

angel::c_graph_t::x

angel::write_vector

angel::edge_elim_effect

angel::Transformation::getEdgeElim

angel::Rerouting::getER

angel::Transformation::getRerouting

angel::Transformation::isRerouting

angel::reroute_effect

angel::Rerouting::getE

angel::Rerouting::getPivotE angel::getEdge

8.5.1.8 void xaifBoosterCrossCountryInter-face::computeEliminationSequenceRandom (constLinearizedComputationalGraph & ourLCG, JacobianAccumula-tionExpressionList & jae_list, LinearizedComputationalGraph &remainderLCG, VertexCorrelationList & v_cor_list, EdgeCorrelationList& e_cor_list)

Definition at line 1024 of file xaif_interface.cpp.

References angel::back_elim(), angel::back_eliminate_edge_directly(), an-gel::chooseEdgeElimRandomly(), angel::eliminatable_edges(), angel::front_-elim(), angel::front_eliminate_edge_directly(), angel::ourLCG_to_angelLCG(),angel::populate_remainderGraph_and_correlationLists(), angel::write_graph(), andangel::writeVertexAndEdgeTypes().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 218: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

210 angel Namespace Documentation

Here is the call graph for this function:

xaifBoosterCrossCountryInterface::computeEliminationSequenceRandom

angel::back_elim

angel::back_eliminate_edge_directly

angel::chooseEdgeElimRandomly

angel::eliminatable_edges

angel::front_elim

angel::front_eliminate_edge_directly

angel::ourLCG_to_angelLCG

angel::populate_remainderGraph_and_correlationLists

angel::write_graph

angel::writeVertexAndEdgeTypes

angel::pair_elim

angel::vertex_type

angel::edge

angel::multiply_edge_pair_directly

angel::removeRef

angel::setJaevRef

angel::getJAE_p

angel::getLCG_p

angel::getRefType

angel::gen_prob

angel::which_index

angel::write_graph

angel::c_graph_t::x

angel::write_vector

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 219: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 9

angel Class Documentation

9.1 angel::accu_exp_graph_t Class Reference

#include <angel_types.hpp>

Public Member Functions

• void set_graph (line_graph_t::edge_t e_out, line_graph_t::edge_t e1, line_-graph_t::edge_t e2, std::vector< int > exp_nr)

• void set_graph (accu_exp_t::op_t op, line_graph_t::edge_t e1, line_graph_-t::edge_t e2, std::vector< int > exp_nr)

• void set_graph (line_graph_t::edge_t edge)

• int x () const

• int y () const

• int v () const

• int z () const

Public Attributes

• std::vector< pure_accu_exp_graph_t::vertex_descriptor > dependents

Private Attributes

• int X

Page 220: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

212 angel Class Documentation

9.1.1 Detailed Description

Definition at line 644 of file angel_types.hpp.

9.1.2 Member Function Documentation

9.1.2.1 void angel::accu_exp_graph_t::set_graph (line_graph_t::edge_t e_out,line_graph_t::edge_t e1, line_graph_t::edge_t e2, std::vector< int >exp_nr)

Definition at line 407 of file angel_types.cpp.

References angel::accu_exp_t::add, dependents, angel::accu_exp_t::mult, and X.

9.1.2.2 void angel::accu_exp_graph_t::set_graph (accu_exp_t::op_t op,line_graph_t::edge_t e1, line_graph_t::edge_t e2, std::vector< int >exp_nr)

Definition at line 419 of file angel_types.cpp.

References dependents, and X.

9.1.2.3 void angel::accu_exp_graph_t::set_graph (line_graph_t::edge_t edge)

Definition at line 431 of file angel_types.cpp.

References X.

9.1.2.4 int angel::accu_exp_graph_t::x () const [inline]

Definition at line 653 of file angel_types.hpp.

References X.

Referenced by z().

9.1.2.5 int angel::accu_exp_graph_t::y () const [inline]

Definition at line 654 of file angel_types.hpp.

References dependents.

Referenced by z().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 221: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.1 angel::accu_exp_graph_t Class Reference 213

9.1.2.6 int angel::accu_exp_graph_t::v () const [inline]

Definition at line 655 of file angel_types.hpp.

Referenced by angel::write_graph_xaif_booster(), and z().

9.1.2.7 int angel::accu_exp_graph_t::z () const [inline]

Definition at line 656 of file angel_types.hpp.

References v(), x(), and y().

Here is the call graph for this function:

angel::accu_exp_graph_t::z

angel::accu_exp_graph_t::v

angel::accu_exp_graph_t::x

angel::accu_exp_graph_t::y

9.1.3 Member Data Documentation

9.1.3.1 int angel::accu_exp_graph_t::X [private]

Definition at line 645 of file angel_types.hpp.

Referenced by set_graph(), and x().

9.1.3.2 std::vector<pure_accu_exp_graph_t::vertex_descriptor>angel::accu_exp_graph_t::dependents

Definition at line 652 of file angel_types.hpp.

Referenced by set_graph(), and y().

The documentation for this class was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 222: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

214 angel Class Documentation

9.2 angel::accu_exp_t Struct Reference

#include <angel_types.hpp>

Collaboration diagram for angel::accu_exp_t:

angel::accu_exp_t

angel::accu_exp_t::ref_t

ref

Public Types

• enum ref_kind_t { nothing, exp, lgn, isop }

• enum op_t { add, mult }

Public Member Functions

• void set_exp (int _exp_nr)

• void set_node (line_graph_t::edge_t _node)

• void set_op (op_t _op)

Public Attributes

• ref_t ref

• ref_kind_t ref_kind

Classes

• union ref_t

9.2.1 Detailed Description

Definition at line 610 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 223: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.2 angel::accu_exp_t Struct Reference 215

9.2.2 Member Enumeration Documentation

9.2.2.1 enum angel::accu_exp_t::ref_kind_t

Enumerator:

nothing

exp

lgn

isop

Definition at line 611 of file angel_types.hpp.

9.2.2.2 enum angel::accu_exp_t::op_t

Enumerator:

add

mult

Definition at line 612 of file angel_types.hpp.

9.2.3 Member Function Documentation

9.2.3.1 void angel::accu_exp_t::set_exp (int _exp_nr) [inline]

Definition at line 621 of file angel_types.hpp.

References exp, angel::accu_exp_t::ref_t::exp_nr, ref, and ref_kind.

9.2.3.2 void angel::accu_exp_t::set_node (line_graph_t::edge_t _node)[inline]

Definition at line 622 of file angel_types.hpp.

References lgn, angel::accu_exp_t::ref_t::node, ref, and ref_kind.

9.2.3.3 void angel::accu_exp_t::set_op (op_t _op) [inline]

Definition at line 623 of file angel_types.hpp.

References isop, angel::accu_exp_t::ref_t::op, ref, and ref_kind.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 224: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

216 angel Class Documentation

9.2.4 Member Data Documentation

9.2.4.1 ref_t angel::accu_exp_t::ref

Definition at line 618 of file angel_types.hpp.

Referenced by angel::operator<<(), set_exp(), set_node(), set_op(), and angel::write_-graph_xaif_booster().

9.2.4.2 ref_kind_t angel::accu_exp_t::ref_kind

Definition at line 619 of file angel_types.hpp.

Referenced by angel::operator<<(), set_exp(), set_node(), set_op(), and angel::write_-graph_xaif_booster().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 225: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.3 angel::accu_exp_t::ref_t Union Reference 217

9.3 angel::accu_exp_t::ref_t Union Reference

#include <angel_types.hpp>

Public Attributes

• line_graph_t::edge_t node• int exp_nr• op_t op

9.3.1 Detailed Description

Definition at line 613 of file angel_types.hpp.

9.3.2 Member Data Documentation

9.3.2.1 line_graph_t::edge_t angel::accu_exp_t::ref_t::node

Definition at line 614 of file angel_types.hpp.

Referenced by angel::accu_exp_t::set_node().

9.3.2.2 int angel::accu_exp_t::ref_t::exp_nr

Definition at line 615 of file angel_types.hpp.

Referenced by angel::accu_exp_t::set_exp().

9.3.2.3 op_t angel::accu_exp_t::ref_t::op

Definition at line 616 of file angel_types.hpp.

Referenced by angel::accu_exp_t::set_op().

The documentation for this union was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 226: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

218 angel Class Documentation

9.4 angel::accu_graph_t Struct Reference

#include <angel_types.hpp>

Collaboration diagram for angel::accu_graph_t:

angel::accu_graph_t

angel::line_graph_t

lg

angel::c_graph_t

cg

cgp

Public Member Functions

• accu_graph_t (const c_graph_t &_cg, const line_graph_t &_lg)• void set_jacobi_entries ()

Public Attributes

• const c_graph_t & cg• const line_graph_t & lg• std::vector< accu_exp_graph_t > accu_exp• std::vector< ad_edge_t > jacobi_entries• std::vector< int > exp_nr

9.4.1 Detailed Description

Definition at line 659 of file angel_types.hpp.

9.4.2 Constructor & Destructor Documentation

9.4.2.1 angel::accu_graph_t::accu_graph_t (const c_graph_t & _cg, constline_graph_t & _lg) [inline]

Definition at line 666 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 227: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.4 angel::accu_graph_t Struct Reference 219

9.4.3 Member Function Documentation

9.4.3.1 void angel::accu_graph_t::set_jacobi_entries ()

Definition at line 437 of file angel_types.cpp.

References accu_exp, angel::line_graph_t::check(), exp_nr, angel::intermediate,angel::line_graph_t::is_tripartite(), jacobi_entries, lg, THROW_DEBUG_EXCEPT_-MACRO, angel::line_graph_t::v(), and angel::line_graph_t::vertex_type().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_face(), andxaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex().

Here is the call graph for this function:

angel::accu_graph_t::set_jacobi_entries

angel::line_graph_t::check

angel::line_graph_t::v

angel::line_graph_t::is_tripartite angel::line_graph_t::vertex_type

angel::line_graph_t::x

angel::line_graph_t::y

9.4.4 Member Data Documentation

9.4.4.1 const c_graph_t& angel::accu_graph_t::cg

Definition at line 660 of file angel_types.hpp.

9.4.4.2 const line_graph_t& angel::accu_graph_t::lg

Definition at line 661 of file angel_types.hpp.

Referenced by set_jacobi_entries(), and angel::xaif_edge_pr().

9.4.4.3 std::vector<accu_exp_graph_t> angel::accu_graph_t::accu_exp

Definition at line 662 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),angel::face_elimination(), set_jacobi_entries(), and angel::write_graph_xaif_-booster().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 228: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

220 angel Class Documentation

9.4.4.4 std::vector<ad_edge_t> angel::accu_graph_t::jacobi_entries

Definition at line 663 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence(),set_jacobi_entries(), and angel::write_graph_xaif_booster().

9.4.4.5 std::vector<int> angel::accu_graph_t::exp_nr

Definition at line 664 of file angel_types.hpp.

Referenced by angel::face_elimination(), and set_jacobi_entries().

The documentation for this struct was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 229: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.5 angel::base_exception Class Reference 221

9.5 angel::base_exception Class Reference

#include <angel_exceptions.hpp>

Inheritance diagram for angel::base_exception:

angel::base_exception

angel::consistency_exception angel::io_exception

Collaboration diagram for angel::base_exception:

angel::base_exception

string

reason

Public Member Functions

• base_exception (std::string filename, int linenumber, std::string what)

Save file name, line number and reason of exception.

• void say_reason ()

Write file name, line number and reason to cerr.

• const std::string & what_reason () const

return file name, line number and reason as string

Protected Attributes

• std::string reason

9.5.1 Detailed Description

Definition at line 12 of file angel_exceptions.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 230: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

222 angel Class Documentation

9.5.2 Constructor & Destructor Documentation

9.5.2.1 angel::base_exception::base_exception (std::string filename, intlinenumber, std::string what) [inline]

Save file name, line number and reason of exception.

Definition at line 17 of file angel_exceptions.hpp.

References reason.

9.5.3 Member Function Documentation

9.5.3.1 void angel::base_exception::say_reason () [inline]

Write file name, line number and reason to cerr.

Definition at line 22 of file angel_exceptions.hpp.

References reason.

9.5.3.2 const std::string& angel::base_exception::what_reason () const[inline]

return file name, line number and reason as string

Definition at line 25 of file angel_exceptions.hpp.

References reason.

9.5.4 Member Data Documentation

9.5.4.1 std::string angel::base_exception::reason [protected]

Definition at line 14 of file angel_exceptions.hpp.

Referenced by base_exception(), say_reason(), and what_reason().

The documentation for this class was generated from the following file:

• angel/include/angel_exceptions.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 231: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.6 angel::base_heuristic_t< Objective_t > Class Template Reference 223

9.6 angel::base_heuristic_t< Objective_t > Class Tem-plate Reference

#include <heuristics.hpp>

Inheritance diagram for angel::base_heuristic_t< Objective_t >:

angel::base_heuristic_t< Objective_t >

angel::base_heuristic_t< double >

< double >

angel::base_heuristic_t< int >

< int >

angel::forward_mode_edge_t

angel::forward_mode_face_t

angel::reverse_mode_edge_t

angel::reverse_mode_face_t

angel::forward_mode_vertex_t

angel::lmmd_edge_t

angel::lmmd_vertex_t

angel::lowest_fill_in_vertex_t

angel::lowest_markowitz_edge_t

angel::lowest_markowitz_face_complete_t< Heuristic_t >

angel::lowest_markowitz_face_t

angel::lowest_markowitz_vertex_t

angel::lowest_relative_markowitz_edge_t

angel::lowest_relative_markowitz_vertex_t

angel::minimal_distance_edge_t

angel::minimal_distance_face_t

angel::momr_edge_t

angel::momr_face_t

angel::momr_vertex_t

angel::moplr_vertex_t

angel::reverse_mode_face_whole_vertex_t

angel::reverse_mode_vertex_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 232: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

224 angel Class Documentation

Collaboration diagram for angel::base_heuristic_t< Objective_t >:

angel::base_heuristic_t< Objective_t >

Objective_t

my_objective

Public Types

• typedef Objective_t objective_t

Public Member Functions

• base_heuristic_t (bool _m)• Objective_t objective () const• void set_objective (Objective_t o)• void set_empty_objective ()• bool to_maximize () const

Protected Attributes

• Objective_t my_objective• bool is_set• bool my_maximize

9.6.1 Detailed Description

template<class Objective_t = int> class angel::base_heuristic_t< Objective_t >

Definition at line 28 of file heuristics.hpp.

9.6.2 Member Typedef Documentation

9.6.2.1 template<class Objective_t = int> typedef Objective_tangel::base_heuristic_t< Objective_t >::objective_t

Definition at line 34 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 233: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.6 angel::base_heuristic_t< Objective_t > Class Template Reference 225

9.6.3 Constructor & Destructor Documentation

9.6.3.1 template<class Objective_t = int> angel::base_heuristic_t< Objective_t>::base_heuristic_t (bool _m) [inline]

Definition at line 35 of file heuristics.hpp.

9.6.4 Member Function Documentation

9.6.4.1 template<class Objective_t = int> Objective_t angel::base_heuristic_t<Objective_t >::objective () const [inline]

Definition at line 36 of file heuristics.hpp.

9.6.4.2 template<class Objective_t = int> void angel::base_heuristic_t<Objective_t >::set_objective (Objective_t o) [inline]

Definition at line 38 of file heuristics.hpp.

Referenced by angel::standard_heuristic_op().

9.6.4.3 template<class Objective_t = int> void angel::base_heuristic_t<Objective_t >::set_empty_objective () [inline]

Definition at line 40 of file heuristics.hpp.

9.6.4.4 template<class Objective_t = int> bool angel::base_heuristic_t<Objective_t >::to_maximize () const [inline]

Definition at line 44 of file heuristics.hpp.

Referenced by angel::standard_heuristic_op().

9.6.5 Member Data Documentation

9.6.5.1 template<class Objective_t = int> Objective_t angel::base_heuristic_t<Objective_t >::my_objective [protected]

Definition at line 30 of file heuristics.hpp.

Referenced by angel::base_heuristic_t< int >::objective(), angel::base_heuristic_t<int >::set_empty_objective(), and angel::base_heuristic_t< int >::set_objective().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 234: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

226 angel Class Documentation

9.6.5.2 template<class Objective_t = int> bool angel::base_heuristic_t<Objective_t >::is_set [protected]

Definition at line 31 of file heuristics.hpp.

Referenced by angel::base_heuristic_t< int >::objective(), angel::base_heuristic_t<int >::set_empty_objective(), and angel::base_heuristic_t< int >::set_objective().

9.6.5.3 template<class Objective_t = int> bool angel::base_heuristic_t<Objective_t >::my_maximize [protected]

Definition at line 32 of file heuristics.hpp.

Referenced by angel::base_heuristic_t< int >::set_empty_objective(), andangel::base_heuristic_t< int >::to_maximize().

The documentation for this class was generated from the following file:

• angel/include/heuristics.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 235: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.7 GMPI::buffer_t< Base_t > Class Template Reference 227

9.7 GMPI::buffer_t< Base_t > Class Template Refer-ence

#include <gmpi.hpp>

Public Types

• typedef Base_t base_t

The base type of the buffer.

Public Member Functions

• buffer_t ()

Set an empty configuration.

• buffer_t (size_t n)

Reserve n entries of base type at the beginning.

• void reserve (size_t n)

Reserve memory for another n entries of base type.

• bool empty () const

Whether all data is read.

• size_t remaining () const

The number of remaining entries to read.

• Base_t read () const

Read one entry of base type from buffer.

• void unread () const

Undo effect of last reading.

• void write (Base_t output)

Write one entry of base type into buffer.

• void load (Base_t ∗address, size_t n) const

Load n entries from the buffer into address.

• void store (Base_t ∗address, size_t n)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 236: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

228 angel Class Documentation

Store n entries from address into the buffer.

• size_t size () const

Buffer size, e.g. to send or receive data.

• Base_t ∗ address ()

Buffer address (as non-const), e.g. to receive data.

• const Base_t ∗ buffer_address () const

Buffer address (as const), e.g. to send data.

• void free ()

Explicit memory release.

Public Attributes

• MPI::Datatype mpi_t

MPI data type used in operations.

• const int base_t_size

Base type’s size in byte.

Private Attributes

• vector< Base_t > my_buffer

• size_t write_pos

• size_t read_pos

• bool read_write

9.7.1 Detailed Description

template<typename Base_t> class GMPI::buffer_t< Base_t >

Definition at line 47 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 237: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.7 GMPI::buffer_t< Base_t > Class Template Reference 229

9.7.2 Member Typedef Documentation

9.7.2.1 template<typename Base_t> typedef Base_t GMPI::buffer_t< Base_t>::base_t

The base type of the buffer.

Definition at line 49 of file gmpi.hpp.

9.7.3 Constructor & Destructor Documentation

9.7.3.1 template<typename Base_t> GMPI::buffer_t< Base_t >::buffer_t ()[inline]

Set an empty configuration.

Definition at line 59 of file gmpi.hpp.

9.7.3.2 template<typename Base_t> GMPI::buffer_t< Base_t >::buffer_t(size_t n) [inline]

Reserve n entries of base type at the beginning.

Definition at line 63 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::reserve().

Here is the call graph for this function:

GMPI::buffer_t::buffer_t GMPI::buffer_t::reserve

9.7.4 Member Function Documentation

9.7.4.1 template<typename Base_t> void GMPI::buffer_t< Base_t >::reserve(size_t n) [inline]

Reserve memory for another n entries of base type.

Definition at line 68 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_write, and GMPI::buffer_t< Base_t >::write_pos.

Referenced by GMPI::Intracomm::Bcast(), GMPI::buffer_t< Base_t >::buffer_t(),GMPI::Comm::Recv(), GMPI::buffer_t< Base_t >::store(), and GMPI::buffer_t<Base_t >::write().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 238: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

230 angel Class Documentation

9.7.4.2 template<typename Base_t> bool GMPI::buffer_t< Base_t >::empty() const [inline]

Whether all data is read.

Definition at line 74 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::read_pos, and GMPI::buffer_t< Base_-t >::write_pos.

9.7.4.3 template<typename Base_t> size_t GMPI::buffer_t< Base_t>::remaining () const [inline]

The number of remaining entries to read.

Definition at line 78 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::read_pos, and GMPI::buffer_t< Base_-t >::write_pos.

Referenced by GMPI::operator>>().

9.7.4.4 template<typename Base_t> Base_t GMPI::buffer_t< Base_t >::read() const [inline]

Read one entry of base type from buffer.

Definition at line 82 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_pos, and GMPI::buffer_t< Base_t >::read_write.

Referenced by GMPI::operator>>().

9.7.4.5 template<typename Base_t> void GMPI::buffer_t< Base_t >::unread() const [inline]

Undo effect of last reading.

Definition at line 89 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::read_pos.

9.7.4.6 template<typename Base_t> void GMPI::buffer_t< Base_t >::write(Base_t output) [inline]

Write one entry of base type into buffer.

Definition at line 95 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 239: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.7 GMPI::buffer_t< Base_t > Class Template Reference 231

References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_write, GMPI::buffer_t< Base_t >::reserve(), and GMPI::buffer_t< Base_t>::write_pos.

Referenced by GMPI::operator<<().

Here is the call graph for this function:

GMPI::buffer_t::write GMPI::buffer_t::reserve

9.7.4.7 template<typename Base_t> void GMPI::buffer_t< Base_t >::load(Base_t ∗ address, size_t n) const [inline]

Load n entries from the buffer into address.

Definition at line 103 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::base_t_size, GMPI::buffer_t< Base_-t >::my_buffer, GMPI::buffer_t< Base_t >::read_pos, and GMPI::buffer_t< Base_t>::read_write.

Referenced by GMPI::operator>>().

9.7.4.8 template<typename Base_t> void GMPI::buffer_t< Base_t >::store(Base_t ∗ address, size_t n) [inline]

Store n entries from address into the buffer.

Definition at line 111 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::base_t_size, GMPI::buffer_t< Base_-t >::my_buffer, GMPI::buffer_t< Base_t >::read_write, GMPI::buffer_t< Base_-t >::reserve(), and GMPI::buffer_t< Base_t >::write_pos.

Here is the call graph for this function:

GMPI::buffer_t::store GMPI::buffer_t::reserve

9.7.4.9 template<typename Base_t> size_t GMPI::buffer_t< Base_t >::size ()const [inline]

Buffer size, e.g. to send or receive data.

Definition at line 119 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 240: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

232 angel Class Documentation

References GMPI::buffer_t< Base_t >::my_buffer.

Referenced by GMPI::Intracomm::Bcast(), GMPI::operator<<(), andGMPI::Comm::Send().

9.7.4.10 template<typename Base_t> Base_t∗ GMPI::buffer_t< Base_t>::address () [inline]

Buffer address (as non-const), e.g. to receive data.

Definition at line 122 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::my_buffer.

Referenced by GMPI::Intracomm::Bcast(), GMPI::Comm::Recv(), andGMPI::Comm::Send().

9.7.4.11 template<typename Base_t> const Base_t∗ GMPI::buffer_t< Base_t>::buffer_address () const [inline]

Buffer address (as const), e.g. to send data.

Definition at line 125 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::my_buffer.

9.7.4.12 template<typename Base_t> void GMPI::buffer_t< Base_t >::free ()[inline]

Explicit memory release.

Definition at line 128 of file gmpi.hpp.

References GMPI::buffer_t< Base_t >::my_buffer, GMPI::buffer_t< Base_t>::read_pos, GMPI::buffer_t< Base_t >::read_write, and GMPI::buffer_t< Base_t>::write_pos.

9.7.5 Member Data Documentation

9.7.5.1 template<typename Base_t> MPI::Datatype GMPI::buffer_t< Base_t>::mpi_t

MPI data type used in operations.

Definition at line 50 of file gmpi.hpp.

Referenced by GMPI::Intracomm::Bcast(), GMPI::Comm::Recv(), andGMPI::Comm::Send().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 241: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.7 GMPI::buffer_t< Base_t > Class Template Reference 233

9.7.5.2 template<typename Base_t> const int GMPI::buffer_t< Base_t>::base_t_size

Base type’s size in byte.

Definition at line 51 of file gmpi.hpp.

Referenced by GMPI::buffer_t< Base_t >::load(), and GMPI::buffer_t< Base_-t >::store().

9.7.5.3 template<typename Base_t> vector<Base_t> GMPI::buffer_t< Base_t>::my_buffer [private]

Definition at line 53 of file gmpi.hpp.

Referenced by GMPI::buffer_t< Base_t >::address(), GMPI::buffer_t< Base_-t >::buffer_address(), GMPI::buffer_t< Base_t >::free(), GMPI::buffer_t< Base_-t >::load(), GMPI::buffer_t< Base_t >::read(), GMPI::buffer_t< Base_t >::reserve(),GMPI::buffer_t< Base_t >::size(), GMPI::buffer_t< Base_t >::store(), andGMPI::buffer_t< Base_t >::write().

9.7.5.4 template<typename Base_t> size_t GMPI::buffer_t< Base_t>::write_pos [mutable, private]

Definition at line 54 of file gmpi.hpp.

Referenced by GMPI::buffer_t< Base_t >::empty(), GMPI::buffer_t< Base_-t >::free(), GMPI::buffer_t< Base_t >::remaining(), GMPI::buffer_t< Base_-t >::reserve(), GMPI::buffer_t< Base_t >::store(), and GMPI::buffer_t< Base_-t >::write().

9.7.5.5 template<typename Base_t> size_t GMPI::buffer_t< Base_t>::read_pos [mutable, private]

Definition at line 54 of file gmpi.hpp.

Referenced by GMPI::buffer_t< Base_t >::empty(), GMPI::buffer_t< Base_-t >::free(), GMPI::buffer_t< Base_t >::load(), GMPI::buffer_t< Base_t >::read(),GMPI::buffer_t< Base_t >::remaining(), and GMPI::buffer_t< Base_t >::unread().

9.7.5.6 template<typename Base_t> bool GMPI::buffer_t< Base_t>::read_write [mutable, private]

Definition at line 56 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 242: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

234 angel Class Documentation

Referenced by GMPI::buffer_t< Base_t >::free(), GMPI::buffer_t< Base_t>::load(), GMPI::buffer_t< Base_t >::read(), GMPI::buffer_t< Base_t >::reserve(),GMPI::buffer_t< Base_t >::store(), and GMPI::buffer_t< Base_t >::write().

The documentation for this class was generated from the following file:

• angel/include/gmpi.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 243: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 235

9.8 angel::c_graph_t Class Reference

C-graph type.

#include <angel_types.hpp>

Public Types

• typedef pure_c_graph_t pure_graph_tType of basic type from BGL.

• typedef pure_c_graph_t::vertex_descriptor vertex_tVertex type.

• typedef pure_c_graph_t::edge_descriptor edge_tEdge type.

• typedef boost::graph_traits< pure_c_graph_t >::vertex_iterator vi_tVertex iterator type.

• typedef boost::graph_traits< pure_c_graph_t >::edge_iterator ei_tEdge iterator type.

• typedef boost::graph_traits< pure_c_graph_t >::in_edge_iterator iei_tIterator type of a vertex’s incoming edges.

• typedef boost::graph_traits< pure_c_graph_t >::out_edge_iterator oei_tIterator type of a vertex’s outgoing edges.

• typedef boost::property_map< pure_c_graph_t, boost::edge_weight_t>::const_type const_ew_t

Type of property edge label for const c_graph_t.

• typedef boost::property_map< pure_c_graph_t, boost::edge_weight_t >::typeew_t

Type of property edge label for non-const c_graph_t.

• typedef boost::property_map< pure_c_graph_t, boost::edge_index_t >::const_-type const_eind_t

Type of property edge index for const c_graph_t.

• typedef boost::property_map< pure_c_graph_t, boost::edge_index_t >::typeeind_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 244: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

236 angel Class Documentation

Type of property edge index for non-const c_graph_t.

• typedef boost::property_map< pure_c_graph_t, EdgeType >::const_typeconst_etype_t

Type of property edge isUnit for const c_graph_t.

• typedef boost::property_map< pure_c_graph_t, EdgeType >::type etype_t

Type of property edge isUnit for non-const c_graph_t.

Public Member Functions

• c_graph_t ()

Default constructor.

• c_graph_t (int V_, int X_, const std::vector< vertex_t > &deps)

Constructor with vertex specification.

• c_graph_t (int X_, int Z_, int Y_)

Constructor with vertex specification.

• c_graph_t (const c_graph_t &_g)

Copy constructor.

• c_graph_t & operator= (const c_graph_t &_g)

Assign operator.

• void swap (c_graph_t &_g)

Swap.

• int x () const

Number of independent variables.

• void x (int x)

Number of independent variables.

• int y () const

Number of dependent variables.

• int v () const

Number of variables.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 245: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 237

• int z () const

Number of intermediate vertices.

• enum vertex_type_t vertex_type (vertex_t ve) const

Vertex type of v.

• bool check () const

Check consistency of graph.

• bool check_initial () const

Check consistency of initial graph.

• void remove_dependents_with_successors ()

Change dependent vertices with successor into intermediate vertices.

• void clear_edges ()

Removes edges explicitly.

• void clear_graph ()

Remove all vertices that are not connected to dependent and inpedendent vertices.

Public Attributes

• int next_edge_number

useful for insertion of new edges

• std::vector< vertex_t > dependents

set of dependent vertices

Private Attributes

• int X

Friends

• int read_graph_eliad (const std::string &file_name, c_graph_t &cg, bool retry)• void stats2block (int inputs, int outputs, const std::vector< c_graph_t > &stats,

c_graph_t &block)

Build a block from a list of statements.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 246: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

238 angel Class Documentation

• void block2loop (const c_graph_t &block, int loops, c_graph_t &loop)

Generates a DAG that represents a loop over the block.

• void unpack_graph (const graph_package_t &gp, c_graph_t &cg)• void read_graph_xaif_booster (const xaifBoosterCrossCountryInter-

face::LinearizedComputationalGraph &xg, c_graph_t &cg, std::vector<const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphVertex∗ > &av, std::vector< edge_address_t > &ev)

9.8.1 Detailed Description

C-graph type.

Definition at line 79 of file angel_types.hpp.

9.8.2 Member Typedef Documentation

9.8.2.1 typedef pure_c_graph_t angel::c_graph_t::pure_graph_t

Type of basic type from BGL.

Definition at line 84 of file angel_types.hpp.

9.8.2.2 typedef pure_c_graph_t::vertex_descriptor angel::c_graph_t::vertex_t

Vertex type.

Definition at line 86 of file angel_types.hpp.

9.8.2.3 typedef pure_c_graph_t::edge_descriptor angel::c_graph_t::edge_t

Edge type.

Definition at line 88 of file angel_types.hpp.

9.8.2.4 typedef boost::graph_traits<pure_c_graph_t>::vertex_iteratorangel::c_graph_t::vi_t

Vertex iterator type.

Definition at line 90 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 247: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 239

9.8.2.5 typedef boost::graph_traits<pure_c_graph_t>::edge_iteratorangel::c_graph_t::ei_t

Edge iterator type.

Definition at line 92 of file angel_types.hpp.

9.8.2.6 typedef boost::graph_traits<pure_c_graph_t>::in_edge_iteratorangel::c_graph_t::iei_t

Iterator type of a vertex’s incoming edges.

Definition at line 94 of file angel_types.hpp.

9.8.2.7 typedef boost::graph_traits<pure_c_graph_t>::out_edge_iteratorangel::c_graph_t::oei_t

Iterator type of a vertex’s outgoing edges.

Definition at line 96 of file angel_types.hpp.

9.8.2.8 typedef boost::property_map<pure_c_graph_t,boost::edge_weight_t>::const_type angel::c_graph_t::const_ew_t

Type of property edge label for const c_graph_t.

Definition at line 98 of file angel_types.hpp.

9.8.2.9 typedef boost::property_map<pure_c_graph_t,boost::edge_weight_t>::type angel::c_graph_t::ew_t

Type of property edge label for non-const c_graph_t.

Definition at line 100 of file angel_types.hpp.

9.8.2.10 typedef boost::property_map<pure_c_graph_t,boost::edge_index_t>::const_type angel::c_graph_t::const_eind_t

Type of property edge index for const c_graph_t.

Definition at line 102 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 248: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

240 angel Class Documentation

9.8.2.11 typedef boost::property_map<pure_c_graph_t,boost::edge_index_t>::type angel::c_graph_t::eind_t

Type of property edge index for non-const c_graph_t.

Definition at line 104 of file angel_types.hpp.

9.8.2.12 typedef boost::property_map<pure_c_graph_t,EdgeType>::const_type angel::c_graph_t::const_etype_t

Type of property edge isUnit for const c_graph_t.

Definition at line 106 of file angel_types.hpp.

9.8.2.13 typedef boost::property_map<pure_c_graph_t, EdgeType>::typeangel::c_graph_t::etype_t

Type of property edge isUnit for non-const c_graph_t.

Definition at line 108 of file angel_types.hpp.

9.8.3 Constructor & Destructor Documentation

9.8.3.1 angel::c_graph_t::c_graph_t () [inline]

Default constructor.

Definition at line 115 of file angel_types.hpp.

9.8.3.2 angel::c_graph_t::c_graph_t (int V_, int X_, const std::vector< vertex_t> & deps) [inline]

Constructor with vertex specification.

Parameters:

V_ number of all vertices

X_ number of independent vertices

deps set of dependent vertices

Definition at line 123 of file angel_types.hpp.

References dependents, and THROW_EXCEPT_MACRO.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 249: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 241

9.8.3.3 angel::c_graph_t::c_graph_t (int X_, int Z_, int Y_) [inline]

Constructor with vertex specification.

Parameters:

X_ number of independent vertices

Z_ number of intermediated vertices

Y_ number of dependent vertices, will be located at the end

Definition at line 140 of file angel_types.hpp.

References dependents.

9.8.3.4 angel::c_graph_t::c_graph_t (const c_graph_t & _g) [inline]

Copy constructor.

Definition at line 151 of file angel_types.hpp.

9.8.4 Member Function Documentation

9.8.4.1 c_graph_t& angel::c_graph_t::operator= (const c_graph_t & _g)[inline]

Assign operator.

Definition at line 156 of file angel_types.hpp.

References clear_edges(), dependents, next_edge_number, and X.

Here is the call graph for this function:

angel::c_graph_t::operator= angel::c_graph_t::clear_edges

9.8.4.2 void angel::c_graph_t::swap (c_graph_t & _g) [inline]

Swap.

Definition at line 164 of file angel_types.hpp.

References dependents, next_edge_number, and X.

Referenced by angel::permutate_vertices(), angel::random_statement(), angel::read_-graph_eliad(), angel::remove_parallel_edges(), and angel::stats2block().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 250: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

242 angel Class Documentation

9.8.4.3 int angel::c_graph_t::x () const [inline]

Number of independent variables.

Definition at line 169 of file angel_types.hpp.

References X.

Referenced by angel::block2loop(), angel::fme_obj(), angel::in_out_path_lengths(),angel::independent_vertices_to_front(), angel::line_graph_t::line_graph_t(),angel::number_independent_vertices(), angel::operator==(), angel::ourLCG_-to_angelLCG(), angel::permutate_vertices(), angel::remove_parallel_edges(),angel::rme_obj(), angel::stats2block(), and z().

9.8.4.4 void angel::c_graph_t::x (int x) [inline]

Number of independent variables.

Definition at line 170 of file angel_types.hpp.

References X.

9.8.4.5 int angel::c_graph_t::y () const [inline]

Number of dependent variables.

Definition at line 171 of file angel_types.hpp.

References dependents.

Referenced by angel::block2loop(), angel::line_graph_t::line_graph_t(), an-gel::operator==(), and z().

9.8.4.6 int angel::c_graph_t::v () const [inline]

Number of variables.

Definition at line 172 of file angel_types.hpp.

Referenced by angel::block2loop(), clear_graph(), angel::independent_vertices_to_-front(), angel::minimal_markowitz_degree(), angel::operator==(), angel::permutate_-vertices(), angel::remove_parallel_edges(), angel::stats2block(), angel::take_over_-successors(), vertex_type(), and z().

9.8.4.7 int angel::c_graph_t::z () const [inline]

Number of intermediate vertices.

Definition at line 173 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 251: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 243

References v(), x(), and y().

Referenced by angel::operator==().

Here is the call graph for this function:

angel::c_graph_t::z

angel::c_graph_t::v

angel::c_graph_t::x

angel::c_graph_t::y

9.8.4.8 enum vertex_type_t angel::c_graph_t::vertex_type (vertex_t ve) const[inline]

Vertex type of v.

Definition at line 176 of file angel_types.hpp.

References angel::dead_vertex, angel::dependent, dependents, angel::independent, an-gel::intermediate, angel::undefined_vertex, v(), and X.

Referenced by angel::back_edge_elimination(), check(), check_initial(),angel::eliminatable_vertices(), angel::front_edge_elimination(), angel::remove_-hoisting_vertices(), angel::remove_trivial_edges(), and angel::semi_eliminatable_-vertices().

Here is the call graph for this function:

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.8.4.9 bool angel::c_graph_t::check () const

Check consistency of graph.

Definition at line 22 of file angel_types.cpp.

References angel::dependent, angel::independent, vertex_type(), and angel::write_-graph().

Referenced by check_initial().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 252: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

244 angel Class Documentation

Here is the call graph for this function:

angel::c_graph_t::check

angel::c_graph_t::vertex_type

angel::write_graph

angel::c_graph_t::v

angel::write_vector

9.8.4.10 bool angel::c_graph_t::check_initial () const

Check consistency of initial graph.

Definition at line 55 of file angel_types.cpp.

References check(), angel::dependent, angel::independent, and vertex_type().

Referenced by angel::read_graph_eliad().

Here is the call graph for this function:

angel::c_graph_t::check_initial

angel::c_graph_t::check

angel::c_graph_t::vertex_type

angel::write_graph

angel::c_graph_t::v

angel::write_vector

9.8.4.11 void angel::c_graph_t::remove_dependents_with_successors ()

Change dependent vertices with successor into intermediate vertices.

Definition at line 71 of file angel_types.cpp.

References dependents.

9.8.4.12 void angel::c_graph_t::clear_edges () [inline]

Removes edges explicitly.

Note:

It seems that BGL does not remove all edges in assignment.

Definition at line 192 of file angel_types.hpp.

Referenced by operator=().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 253: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 245

9.8.4.13 void angel::c_graph_t::clear_graph ()

Remove all vertices that are not connected to dependent and inpedendent vertices.

Definition at line 80 of file angel_types.cpp.

References dependents, angel::reachable_vertices(), angel::relevant_vertices(), v(),and X.

Referenced by angel::block2loop().

Here is the call graph for this function:

angel::c_graph_t::clear_graph

angel::reachable_vertices

angel::relevant_vertices

angel::c_graph_t::v

9.8.5 Friends And Related Function Documentation

9.8.5.1 int read_graph_eliad (const std::string & file_name, c_graph_t & cg,bool retry) [friend]

9.8.5.2 void stats2block (int inputs, int outputs, const std::vector< c_graph_t >& stats, c_graph_t & block) [friend]

Build a block from a list of statements.

Parameters:

inputs The number of the block’s inputs

outputs The number of the block’s outputs

stats List of statements

block The resulting block

9.8.5.3 void block2loop (const c_graph_t & block, int loops, c_graph_t & loop)[friend]

Generates a DAG that represents a loop over the block.

Parameters:

block The used block

loops The number of loops

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 254: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

246 angel Class Documentation

loop The resulting loop DAG

9.8.5.4 void unpack_graph (const graph_package_t & gp, c_graph_t & cg)[friend]

9.8.5.5 void read_graph_xaif_booster (const xaifBoosterCrossCountry-Interface::LinearizedComputationalGraph & xg, c_graph_t& cg, std::vector< const xaifBoosterCrossCountryInter-face::LinearizedComputationalGraphVertex ∗ > & av, std::vector<edge_address_t > & ev) [friend]

9.8.6 Member Data Documentation

9.8.6.1 int angel::c_graph_t::X [private]

Definition at line 81 of file angel_types.hpp.

Referenced by angel::block2loop(), clear_graph(), operator=(), angel::read_graph_-eliad(), angel::read_graph_xaif_booster(), swap(), vertex_type(), and x().

9.8.6.2 int angel::c_graph_t::next_edge_number

useful for insertion of new edges

Definition at line 110 of file angel_types.hpp.

Referenced by angel::back_edge_elimination(), angel::block2loop(),angel::front_edge_elimination(), angel::multiply_edge_pair_directly(), opera-tor=(), angel::pair_elim(), angel::pairElim_noJAE(), angel::postroute_edge_-directly(), angel::postrouteEdge_noJAE(), angel::preroute_edge_directly(),angel::prerouteEdge_noJAE(), and swap().

9.8.6.3 std::vector<vertex_t> angel::c_graph_t::dependents

set of dependent vertices

Definition at line 112 of file angel_types.hpp.

Referenced by angel::block2loop(), c_graph_t(), clear_graph(),xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_vertex(),angel::line_graph_t::line_graph_t(), angel::number_dependent_vertices(), operator=(),angel::operator==(), angel::ourLCG_to_angelLCG(), angel::permutate_vertices(),angel::read_graph_eliad(), angel::read_graph_xaif_booster(), remove_dependents_-with_successors(), angel::remove_parallel_edges(), angel::stats2block(), swap(),angel::vertex_eliminatable(), vertex_type(), and y().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 255: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.8 angel::c_graph_t Class Reference 247

The documentation for this class was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 256: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

248 angel Class Documentation

9.9 GMPI::Comm Class Reference

#include <gmpi.hpp>

Inheritance diagram for GMPI::Comm:

GMPI::Comm

GMPI::Intracomm

Public Member Functions

• Comm (const MPI::Intracomm &mpi_comm)• MPI::Intracomm & mpi_comm_ref ()• const MPI::Intracomm & mpi_comm_ref () const• template<typename Comm_ref_t>

void Send (const Comm_ref_t &data, int dest, int tag) const

Send data to dest marked with tag.

• template<typename Comm_ref_t>void Recv (Comm_ref_t &data, int source, int tag, MPI::Status &status) const

• int Get_size () const• int Get_rank () const

Protected Attributes

• MPI::Intracomm my_comm

9.9.1 Detailed Description

Definition at line 240 of file gmpi.hpp.

9.9.2 Constructor & Destructor Documentation

9.9.2.1 GMPI::Comm::Comm (const MPI::Intracomm & mpi_comm)[inline]

Definition at line 244 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 257: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.9 GMPI::Comm Class Reference 249

9.9.3 Member Function Documentation

9.9.3.1 MPI::Intracomm& GMPI::Comm::mpi_comm_ref () [inline]

Definition at line 246 of file gmpi.hpp.

References my_comm.

9.9.3.2 const MPI::Intracomm& GMPI::Comm::mpi_comm_ref () const[inline]

Definition at line 247 of file gmpi.hpp.

References my_comm.

9.9.3.3 template<class Comm_ref_t> void GMPI::Comm::Send (constComm_ref_t & data, int dest, int tag) const [inline]

Send data to dest marked with tag.

Definition at line 6 of file gmpi_impl.hpp.

References GMPI::buffer_t< Base_t >::address(), GMPI::buffer_t< Base_t >::mpi_t,my_comm, and GMPI::buffer_t< Base_t >::size().

Here is the call graph for this function:

GMPI::Comm::Send

GMPI::buffer_t::address

GMPI::buffer_t::size

9.9.3.4 template<class Comm_ref_t> void GMPI::Comm::Recv (Comm_ref_t& data, int source, int tag, MPI::Status & status) const [inline]

Definition at line 16 of file gmpi_impl.hpp.

References GMPI::buffer_t< Base_t >::address(), GMPI::buffer_t< Base_t >::mpi_t,my_comm, and GMPI::buffer_t< Base_t >::reserve().

Here is the call graph for this function:

GMPI::Comm::Recv

GMPI::buffer_t::address

GMPI::buffer_t::reserve

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 258: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

250 angel Class Documentation

9.9.3.5 int GMPI::Comm::Get_size () const [inline]

Definition at line 256 of file gmpi.hpp.

References my_comm.

9.9.3.6 int GMPI::Comm::Get_rank () const [inline]

Definition at line 258 of file gmpi.hpp.

References my_comm.

Referenced by GMPI::Intracomm::Bcast().

9.9.4 Member Data Documentation

9.9.4.1 MPI::Intracomm GMPI::Comm::my_comm [protected]

Definition at line 242 of file gmpi.hpp.

Referenced by GMPI::Intracomm::Allreduce(), GMPI::Intracomm::Barrier(),GMPI::Intracomm::Bcast(), GMPI::Intracomm::Gather(), Get_rank(), Get_size(),mpi_comm_ref(), Recv(), and Send().

The documentation for this class was generated from the following files:

• angel/include/gmpi.hpp• angel/include/gmpi_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 259: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.10 GMPI::comm_ref_t< Base_t, Object_t > Class Template Reference 251

9.10 GMPI::comm_ref_t< Base_t, Object_t > ClassTemplate Reference

#include <gmpi.hpp>

Public Types

• typedef Base_t base_t• typedef Object_t object_t

Public Member Functions

• comm_ref_t (object_t &o)• object_t & object_ref ()• const object_t & object_ref () const

Private Attributes

• object_t & my_object_ref

9.10.1 Detailed Description

template<typename Base_t, typename Object_t> class GMPI::comm_ref_t<Base_t, Object_t >

Definition at line 228 of file gmpi.hpp.

9.10.2 Member Typedef Documentation

9.10.2.1 template<typename Base_t, typename Object_t> typedef Base_tGMPI::comm_ref_t< Base_t, Object_t >::base_t

Definition at line 230 of file gmpi.hpp.

9.10.2.2 template<typename Base_t, typename Object_t> typedef Object_tGMPI::comm_ref_t< Base_t, Object_t >::object_t

Definition at line 231 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 260: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

252 angel Class Documentation

9.10.3 Constructor & Destructor Documentation

9.10.3.1 template<typename Base_t, typename Object_t>GMPI::comm_ref_t< Base_t, Object_t >::comm_ref_t (object_t & o)[inline]

Definition at line 235 of file gmpi.hpp.

9.10.4 Member Function Documentation

9.10.4.1 template<typename Base_t, typename Object_t> object_t&GMPI::comm_ref_t< Base_t, Object_t >::object_ref () [inline]

Definition at line 236 of file gmpi.hpp.

References GMPI::comm_ref_t< Base_t, Object_t >::my_object_ref.

9.10.4.2 template<typename Base_t, typename Object_t> const object_t&GMPI::comm_ref_t< Base_t, Object_t >::object_ref () const[inline]

Definition at line 237 of file gmpi.hpp.

References GMPI::comm_ref_t< Base_t, Object_t >::my_object_ref.

9.10.5 Member Data Documentation

9.10.5.1 template<typename Base_t, typename Object_t> object_t&GMPI::comm_ref_t< Base_t, Object_t >::my_object_ref[private]

Definition at line 233 of file gmpi.hpp.

Referenced by GMPI::comm_ref_t< Base_t, Object_t >::object_ref().

The documentation for this class was generated from the following file:

• angel/include/gmpi.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 261: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.11 angel::consistency_exception Class Reference 253

9.11 angel::consistency_exception Class Reference

#include <angel_exceptions.hpp>

Inheritance diagram for angel::consistency_exception:

angel::consistency_exception

angel::base_exception

Collaboration diagram for angel::consistency_exception:

angel::consistency_exception

angel::base_exception

string

reason

Public Member Functions

• consistency_exception (std::string filename, int linenumber, std::string what)

9.11.1 Detailed Description

Definition at line 34 of file angel_exceptions.hpp.

9.11.2 Constructor & Destructor Documentation

9.11.2.1 angel::consistency_exception::consistency_exception (std::stringfilename, int linenumber, std::string what) [inline]

Definition at line 36 of file angel_exceptions.hpp.

The documentation for this class was generated from the following file:

• angel/include/angel_exceptions.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 262: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

254 angel Class Documentation

9.12 angel::dec_greater< vertex_t > Struct TemplateReference

#include <angel_tools.hpp>

Collaboration diagram for angel::dec_greater< vertex_t >:

angel::dec_greater< vertex_t >

vertex_t

vc

Public Member Functions

• dec_greater (vertex_t _vc)• void operator() (vertex_t &v)

Public Attributes

• vertex_t vc

9.12.1 Detailed Description

template<typename vertex_t> struct angel::dec_greater< vertex_t >

Definition at line 862 of file angel_tools.hpp.

9.12.2 Constructor & Destructor Documentation

9.12.2.1 template<typename vertex_t> angel::dec_greater< vertex_t>::dec_greater (vertex_t _vc) [inline]

Definition at line 864 of file angel_tools.hpp.

9.12.3 Member Function Documentation

9.12.3.1 template<typename vertex_t> void angel::dec_greater< vertex_t>::operator() (vertex_t & v) [inline]

Definition at line 865 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 263: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.12 angel::dec_greater< vertex_t > Struct Template Reference 255

References angel::dec_greater< vertex_t >::vc.

9.12.4 Member Data Documentation

9.12.4.1 template<typename vertex_t> vertex_t angel::dec_greater< vertex_t>::vc

Definition at line 863 of file angel_tools.hpp.

Referenced by angel::dec_greater< vertex_t >::operator()().

The documentation for this struct was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 264: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

256 angel Class Documentation

9.13 angel::diste_op_t Struct Reference

Public Member Functions

• int operator() (edge_bool_t eb, const c_graph_t &cg)

9.13.1 Detailed Description

Definition at line 814 of file heuristics.cpp.

9.13.2 Member Function Documentation

9.13.2.1 int angel::diste_op_t::operator() (edge_bool_t eb, const c_graph_t &cg) [inline]

Definition at line 815 of file heuristics.cpp.

References angel::predecessor_set(), angel::successor_set(), and THROW_DEBUG_-EXCEPT_MACRO.

Here is the call graph for this function:

angel::diste_op_t::operator()

angel::predecessor_set

angel::successor_set

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 265: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.14 angel::distf_op_t Struct Reference 257

9.14 angel::distf_op_t Struct Reference

Public Member Functions

• int operator() (line_graph_t::face_t f, const line_graph_t &lg)

9.14.1 Detailed Description

Definition at line 1109 of file heuristics.cpp.

9.14.2 Member Function Documentation

9.14.2.1 int angel::distf_op_t::operator() (line_graph_t::face_t f, constline_graph_t & lg) [inline]

Definition at line 1110 of file heuristics.cpp.

References angel::face_vertex_name().

Here is the call graph for this function:

angel::distf_op_t::operator() angel::face_vertex_name

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 266: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

258 angel Class Documentation

9.15 angel::edge_address_t Struct Reference

Public Member Functions

• edge_address_t (int _i, int _j, const LinearizedComputationalGraphEdge ∗_-address)

Public Attributes

• ad_edge_t e• const LinearizedComputationalGraphEdge ∗ address

9.15.1 Detailed Description

Definition at line 26 of file xaif_interface.cpp.

9.15.2 Constructor & Destructor Documentation

9.15.2.1 angel::edge_address_t::edge_address_t (int _i, int _j, constLinearizedComputationalGraphEdge ∗ _address) [inline]

Definition at line 29 of file xaif_interface.cpp.

9.15.3 Member Data Documentation

9.15.3.1 ad_edge_t angel::edge_address_t::e

Definition at line 27 of file xaif_interface.cpp.

9.15.3.2 const LinearizedComputationalGraphEdge∗angel::edge_address_t::address

Definition at line 28 of file xaif_interface.cpp.

The documentation for this struct was generated from the following file:

• angel/src/xaif_interface.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 267: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.16 angel::edge_elim_t Struct Reference 259

9.16 angel::edge_elim_t Struct Reference

Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.

#include <angel_types.hpp>

Public Attributes

• c_graph_t::edge_t edge• bool front

9.16.1 Detailed Description

Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.

Definition at line 567 of file angel_types.hpp.

9.16.2 Member Data Documentation

9.16.2.1 c_graph_t::edge_t angel::edge_elim_t::edge

Definition at line 568 of file angel_types.hpp.

9.16.2.2 bool angel::edge_elim_t::front

Definition at line 569 of file angel_types.hpp.

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 268: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

260 angel Class Documentation

9.17 angel::edge_equal_t< Ad_graph_t > Struct Tem-plate Reference

Compares edges of different graphs.

#include <angel_tools.hpp>

Collaboration diagram for angel::edge_equal_t< Ad_graph_t >:

angel::edge_equal_t< Ad_graph_t >

Ad_graph_t

g1g2

Public Member Functions

• edge_equal_t (const Ad_graph_t &_g1, const Ad_graph_t &_g2)

Both graphs are given in the constructor.

• bool operator() (typename Ad_graph_t::edge_descriptor e1, typename Ad_-graph_t::edge_descriptor e2)

Tests whether e1 and e2 have same source and target.

Public Attributes

• const Ad_graph_t & g1

• const Ad_graph_t & g2

9.17.1 Detailed Description

template<typename Ad_graph_t> struct angel::edge_equal_t< Ad_graph_t >

Compares edges of different graphs.

Definition at line 354 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 269: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.17 angel::edge_equal_t< Ad_graph_t > Struct Template Reference 261

9.17.2 Constructor & Destructor Documentation

9.17.2.1 template<typename Ad_graph_t> angel::edge_equal_t< Ad_graph_t>::edge_equal_t (const Ad_graph_t & _g1, const Ad_graph_t & _g2)[inline]

Both graphs are given in the constructor.

Definition at line 359 of file angel_tools.hpp.

9.17.3 Member Function Documentation

9.17.3.1 template<typename Ad_graph_t> bool angel::edge_equal_t<Ad_graph_t >::operator() (typename Ad_graph_t::edge_descriptore1, typename Ad_graph_t::edge_descriptor e2) [inline]

Tests whether e1 and e2 have same source and target.

Definition at line 362 of file angel_tools.hpp.

References angel::edge_equal_t< Ad_graph_t >::g1, and angel::edge_equal_t< Ad_-graph_t >::g2.

9.17.4 Member Data Documentation

9.17.4.1 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_equal_t< Ad_graph_t >::g1

Definition at line 356 of file angel_tools.hpp.

Referenced by angel::edge_equal_t< Ad_graph_t >::operator()().

9.17.4.2 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_equal_t< Ad_graph_t >::g2

Definition at line 357 of file angel_tools.hpp.

Referenced by angel::edge_equal_t< Ad_graph_t >::operator()().

The documentation for this struct was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 270: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

262 angel Class Documentation

9.18 angel::edge_ij_elim_heuristic_t< Edge_-heuristic_t > Class Template Reference

Creates a heuristic for (i,j,front) type from a heuristic for (edge,front).

#include <heuristics.hpp>

Collaboration diagram for angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >:

angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >

Edge_heuristic_t

h

Public Member Functions

• edge_ij_elim_heuristic_t (Edge_heuristic_t _h)Constructor stores the face-based heuristic to be used.

• int operator() (const vector< edge_ij_elim_t > &eev1, const c_graph_t &cg,vector< edge_ij_elim_t > &eev2)

Private Attributes

• Edge_heuristic_t h

9.18.1 Detailed Description

template<class Edge_heuristic_t> class angel::edge_ij_elim_heuristic_t< Edge_-heuristic_t >

Creates a heuristic for (i,j,front) type from a heuristic for (edge,front).

Definition at line 1009 of file heuristics.hpp.

9.18.2 Constructor & Destructor Documentation

9.18.2.1 template<class Edge_heuristic_t> angel::edge_ij_elim_heuristic_t<Edge_heuristic_t >::edge_ij_elim_heuristic_t (Edge_heuristic_t _h)[inline]

Constructor stores the face-based heuristic to be used.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 271: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.18 angel::edge_ij_elim_heuristic_t< Edge_heuristic_t > Class TemplateReference 263

Definition at line 1013 of file heuristics.hpp.

9.18.3 Member Function Documentation

9.18.3.1 template<class Edge_heuristic_t> int angel::edge_ij_elim_heuristic_-t< Edge_heuristic_t >::operator() (const vector< edge_ij_elim_t >& eev1, const c_graph_t & cg, vector< edge_ij_elim_t > & eev2)[inline]

Definition at line 1014 of file heuristics.hpp.

References angel::edge(), and angel::edge_ij_elim_heuristic_t< Edge_heuristic_-t >::h.

Here is the call graph for this function:

angel::edge_ij_elim_heuristic_t::operator() angel::edge

9.18.4 Member Data Documentation

9.18.4.1 template<class Edge_heuristic_t> Edge_heuristic_tangel::edge_ij_elim_heuristic_t< Edge_heuristic_t >::h [private]

Definition at line 1010 of file heuristics.hpp.

Referenced by angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >::operator()().

The documentation for this class was generated from the following file:

• angel/include/heuristics.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 272: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

264 angel Class Documentation

9.19 angel::edge_ij_elim_t Struct Reference

#include <angel_types.hpp>

Public Member Functions

• edge_ij_elim_t (int _i, int _j, bool _front)• edge_ij_elim_t ()

Public Attributes

• int i• int j• bool front

9.19.1 Detailed Description

Edge from vertex with number i to vertex with number j to eliminate from c-graphand whether it should be front or back eliminated

Definition at line 585 of file angel_types.hpp.

9.19.2 Constructor & Destructor Documentation

9.19.2.1 angel::edge_ij_elim_t::edge_ij_elim_t (int _i, int _j, bool _front)[inline]

Definition at line 588 of file angel_types.hpp.

9.19.2.2 angel::edge_ij_elim_t::edge_ij_elim_t () [inline]

Definition at line 589 of file angel_types.hpp.

9.19.3 Member Data Documentation

9.19.3.1 int angel::edge_ij_elim_t::i

Definition at line 586 of file angel_types.hpp.

Referenced by angel::edge_elimination(), and angel::operator<<().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 273: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.19 angel::edge_ij_elim_t Struct Reference 265

9.19.3.2 int angel::edge_ij_elim_t::j

Definition at line 586 of file angel_types.hpp.

Referenced by angel::edge_elimination(), and angel::operator<<().

9.19.3.3 bool angel::edge_ij_elim_t::front

Definition at line 587 of file angel_types.hpp.

Referenced by angel::edge_elimination(), angel::eliminatable_edges(), andangel::operator<<().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 274: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

266 angel Class Documentation

9.20 angel::edge_less_t< Ad_graph_t > Struct Tem-plate Reference

Compares edges of different graphs (lexicographically).

#include <angel_tools.hpp>

Collaboration diagram for angel::edge_less_t< Ad_graph_t >:

angel::edge_less_t< Ad_graph_t >

Ad_graph_t

g1g2

Public Member Functions

• edge_less_t (const Ad_graph_t &_g1, const Ad_graph_t &_g2)

Both graphs are given in the constructor.

• bool operator() (typename Ad_graph_t::edge_descriptor e1, typename Ad_-graph_t::edge_descriptor e2)

Returns whether e1 is lexicographically less than e2 w.r.t. source and target.

Public Attributes

• const Ad_graph_t & g1

• const Ad_graph_t & g2

9.20.1 Detailed Description

template<typename Ad_graph_t> struct angel::edge_less_t< Ad_graph_t >

Compares edges of different graphs (lexicographically).

Definition at line 370 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 275: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.20 angel::edge_less_t< Ad_graph_t > Struct Template Reference 267

9.20.2 Constructor & Destructor Documentation

9.20.2.1 template<typename Ad_graph_t> angel::edge_less_t< Ad_graph_t>::edge_less_t (const Ad_graph_t & _g1, const Ad_graph_t & _g2)[inline]

Both graphs are given in the constructor.

Definition at line 375 of file angel_tools.hpp.

9.20.3 Member Function Documentation

9.20.3.1 template<typename Ad_graph_t> bool angel::edge_less_t<Ad_graph_t >::operator() (typename Ad_graph_t::edge_descriptore1, typename Ad_graph_t::edge_descriptor e2) [inline]

Returns whether e1 is lexicographically less than e2 w.r.t. source and target.

Definition at line 378 of file angel_tools.hpp.

References angel::edge_less_t< Ad_graph_t >::g1, and angel::edge_less_t< Ad_-graph_t >::g2.

9.20.4 Member Data Documentation

9.20.4.1 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_less_t< Ad_graph_t >::g1

Definition at line 372 of file angel_tools.hpp.

Referenced by angel::edge_less_t< Ad_graph_t >::operator()().

9.20.4.2 template<typename Ad_graph_t> const Ad_graph_t&angel::edge_less_t< Ad_graph_t >::g2

Definition at line 373 of file angel_tools.hpp.

Referenced by angel::edge_less_t< Ad_graph_t >::operator()().

The documentation for this struct was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 276: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

268 angel Class Documentation

9.21 angel::edge_pair_elim_t Struct Reference

#include <angel_types.hpp>

Public Attributes

• c_graph_t::vertex_t i• c_graph_t::vertex_t j• bool front

9.21.1 Detailed Description

Edge from vertex i to vertex j to eliminate from c-graph and whether it should befront or back eliminated

Definition at line 574 of file angel_types.hpp.

9.21.2 Member Data Documentation

9.21.2.1 c_graph_t::vertex_t angel::edge_pair_elim_t::i

Definition at line 575 of file angel_types.hpp.

Referenced by angel::operator<<().

9.21.2.2 c_graph_t::vertex_t angel::edge_pair_elim_t::j

Definition at line 575 of file angel_types.hpp.

Referenced by angel::operator<<().

9.21.2.3 bool angel::edge_pair_elim_t::front

Definition at line 576 of file angel_types.hpp.

Referenced by angel::operator<<().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 277: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.22 angel::edge_reroute_t Struct Reference 269

9.22 angel::edge_reroute_t Struct Reference

#include <angel_types.hpp>

Public Member Functions

• edge_reroute_t ()• edge_reroute_t (const c_graph_t::edge_t _e, const c_graph_t::edge_t _pivot_e,

bool _isPre)

Public Attributes

• c_graph_t::edge_t e• c_graph_t::edge_t pivot_e• bool isPre• bool pivot_eliminatable• bool increment_eliminatable• std::vector< c_graph_t::vertex_t > type3EdgeElimVector

9.22.1 Detailed Description

Definition at line 698 of file angel_types.hpp.

9.22.2 Constructor & Destructor Documentation

9.22.2.1 angel::edge_reroute_t::edge_reroute_t () [inline]

Definition at line 708 of file angel_types.hpp.

9.22.2.2 angel::edge_reroute_t::edge_reroute_t (const c_graph_t::edge_t _e,const c_graph_t::edge_t _pivot_e, bool _isPre) [inline]

Definition at line 710 of file angel_types.hpp.

References type3EdgeElimVector.

9.22.3 Member Data Documentation

9.22.3.1 c_graph_t::edge_t angel::edge_reroute_t::e

Definition at line 699 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 278: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

270 angel Class Documentation

Referenced by angel::postroute_edge_directly(), angel::postrouteEdge_noJAE(),angel::preroute_edge_directly(), angel::prerouteEdge_noJAE(), angel::reducing_-reroutings(), angel::reroute_effect(), and angel::Rerouting::Rerouting().

9.22.3.2 c_graph_t::edge_t angel::edge_reroute_t::pivot_e

Definition at line 700 of file angel_types.hpp.

Referenced by angel::postroute_edge_directly(), angel::postrouteEdge_noJAE(),angel::preroute_edge_directly(), angel::prerouteEdge_noJAE(), angel::reducing_-reroutings(), angel::reroute_effect(), and angel::Rerouting::Rerouting().

9.22.3.3 bool angel::edge_reroute_t::isPre

Definition at line 701 of file angel_types.hpp.

Referenced by angel::reducing_reroutings(), angel::reroute_effect(), and an-gel::Rerouting::Rerouting().

9.22.3.4 bool angel::edge_reroute_t::pivot_eliminatable [mutable]

Definition at line 703 of file angel_types.hpp.

Referenced by angel::reducing_reroutings().

9.22.3.5 bool angel::edge_reroute_t::increment_eliminatable [mutable]

Definition at line 704 of file angel_types.hpp.

Referenced by angel::reducing_reroutings().

9.22.3.6 std::vector<c_graph_t::vertex_t> angel::edge_reroute_-t::type3EdgeElimVector [mutable]

Definition at line 706 of file angel_types.hpp.

Referenced by edge_reroute_t(), and angel::reducing_reroutings().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 279: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.23 angel::edge_vertex_elim_t Struct Reference 271

9.23 angel::edge_vertex_elim_t Struct Reference

#include <eliminations.hpp>

Public Attributes

• line_graph_t::edge_t edge• bool front

9.23.1 Detailed Description

Edge edge (as node of line graph) to eliminate from c-graph and whether it should befront or back eliminated

Definition at line 250 of file eliminations.hpp.

9.23.2 Member Data Documentation

9.23.2.1 line_graph_t::edge_t angel::edge_vertex_elim_t::edge

Definition at line 251 of file eliminations.hpp.

9.23.2.2 bool angel::edge_vertex_elim_t::front

Definition at line 252 of file eliminations.hpp.

The documentation for this struct was generated from the following file:

• angel/include/eliminations.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 280: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

272 angel Class Documentation

9.24 angel::EdgeElim Class Reference

Graph-independent edge elimination.

#include <angel_types.hpp>

Public Member Functions

• EdgeElim ()• EdgeElim (const c_graph_t::edge_t &e, bool isFront, const c_graph_t &an-

gelLCG)• EdgeElim (const edge_bool_t &be, const c_graph_t &angelLCG)• EdgeElim (const edge_ij_elim_t &eij)• std::string debug () const• bool isFront () const• unsigned int getSource () const• unsigned int getTarget () const• c_graph_t::edge_t getE (const c_graph_t &angelLCG) const• edge_bool_t getBool (const c_graph_t &angelLCG) const• unsigned int getCost (const c_graph_t &angelLCG) const

returns cost (nontrivial mults) of performing this edge elim on angelLCG

Private Attributes

• bool myIsFrontFlag• unsigned int mySource• unsigned int myTarget

9.24.1 Detailed Description

Graph-independent edge elimination.

Class for representing an edge elimination. The edge is represented by the unsignedints that correspond to its source and target. This allows us to represent a reroutingindependently of a particular graph instance.

Definition at line 725 of file angel_types.hpp.

9.24.2 Constructor & Destructor Documentation

9.24.2.1 angel::EdgeElim::EdgeElim ()

Definition at line 459 of file angel_types.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 281: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.24 angel::EdgeElim Class Reference 273

9.24.2.2 angel::EdgeElim::EdgeElim (const c_graph_t::edge_t & e, boolisFront, const c_graph_t & angelLCG)

Definition at line 462 of file angel_types.cpp.

9.24.2.3 angel::EdgeElim::EdgeElim (const edge_bool_t & be, const c_graph_t& angelLCG)

Definition at line 470 of file angel_types.cpp.

9.24.2.4 angel::EdgeElim::EdgeElim (const edge_ij_elim_t & eij)

Definition at line 477 of file angel_types.cpp.

9.24.3 Member Function Documentation

9.24.3.1 std::string angel::EdgeElim::debug () const

Definition at line 483 of file angel_types.cpp.

References myIsFrontFlag, mySource, and myTarget.

Referenced by angel::Transformation::debug().

9.24.3.2 bool angel::EdgeElim::isFront () const

Definition at line 491 of file angel_types.cpp.

References myIsFrontFlag.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::edge_elim_effect().

9.24.3.3 unsigned int angel::EdgeElim::getSource () const

Definition at line 495 of file angel_types.cpp.

References mySource.

9.24.3.4 unsigned int angel::EdgeElim::getTarget () const

Definition at line 499 of file angel_types.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 282: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

274 angel Class Documentation

References myTarget.

9.24.3.5 c_graph_t::edge_t angel::EdgeElim::getE (const c_graph_t &angelLCG) const

Definition at line 503 of file angel_types.cpp.

References angel::getEdge(), mySource, and myTarget.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), angel::edge_elim_effect(), and getCost().

Here is the call graph for this function:

angel::EdgeElim::getE angel::getEdge angel::edge

9.24.3.6 edge_bool_t angel::EdgeElim::getBool (const c_graph_t & angelLCG)const

Definition at line 507 of file angel_types.cpp.

References angel::getEdge(), myIsFrontFlag, mySource, and myTarget.

Here is the call graph for this function:

angel::EdgeElim::getBool angel::getEdge angel::edge

9.24.3.7 unsigned int angel::EdgeElim::getCost (const c_graph_t & angelLCG)const

returns cost (nontrivial mults) of performing this edge elim on angelLCG

Definition at line 511 of file angel_types.cpp.

References getE(), myIsFrontFlag, mySource, myTarget, and angel::UNIT_EDGE.

Here is the call graph for this function:

angel::EdgeElim::getCost angel::EdgeElim::getE angel::getEdge angel::edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 283: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.24 angel::EdgeElim Class Reference 275

9.24.4 Member Data Documentation

9.24.4.1 bool angel::EdgeElim::myIsFrontFlag [private]

Definition at line 756 of file angel_types.hpp.

Referenced by debug(), getBool(), getCost(), and isFront().

9.24.4.2 unsigned int angel::EdgeElim::mySource [private]

Definition at line 757 of file angel_types.hpp.

Referenced by debug(), getBool(), getCost(), getE(), and getSource().

9.24.4.3 unsigned int angel::EdgeElim::myTarget [private]

Definition at line 758 of file angel_types.hpp.

Referenced by debug(), getBool(), getCost(), getE(), and getTarget().

The documentation for this class was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 284: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

276 angel Class Documentation

9.25 angel::EdgeRef_t Struct Reference

#include <angel_types.hpp>

Public Member Functions

• EdgeRef_t (c_graph_t::edge_t _e, const xaifBoosterCrossCountryInter-face::LinearizedComputationalGraphEdge ∗_LCGedge_p)

• EdgeRef_t (c_graph_t::edge_t _e, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionVertex ∗_JAEvert_p)

Public Attributes

• c_graph_t::edge_t my_angelLCGedge

• EdgeRefType_E my_type

• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ my_LCG_edge_p

• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗my_JAE_vertex_p

9.25.1 Detailed Description

Definition at line 677 of file angel_types.hpp.

9.25.2 Constructor & Destructor Documentation

9.25.2.1 angel::EdgeRef_t::EdgeRef_t (c_graph_t::edge_t _e, const xaifBoost-erCrossCountryInterface::LinearizedComputationalGraphEdge ∗_LCGedge_p) [inline]

Definition at line 683 of file angel_types.hpp.

9.25.2.2 angel::EdgeRef_t::EdgeRef_t (c_graph_t::edge_t _e, xaifBooster-CrossCountryInterface::JacobianAccumulationExpressionVertex ∗_JAEvert_p) [inline]

Definition at line 690 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 285: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.25 angel::EdgeRef_t Struct Reference 277

9.25.3 Member Data Documentation

9.25.3.1 c_graph_t::edge_t angel::EdgeRef_t::my_angelLCGedge

Definition at line 678 of file angel_types.hpp.

9.25.3.2 EdgeRefType_E angel::EdgeRef_t::my_type

Definition at line 679 of file angel_types.hpp.

9.25.3.3 constxaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗angel::EdgeRef_t::my_LCG_edge_p

Definition at line 680 of file angel_types.hpp.

9.25.3.4 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex∗angel::EdgeRef_t::my_JAE_vertex_p

Definition at line 681 of file angel_types.hpp.

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 286: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

278 angel Class Documentation

9.26 angel::EdgeType Struct Reference

#include <angel_types.hpp>

Public Types

• enum { num = 129 }• typedef boost::edge_property_tag kind

9.26.1 Detailed Description

Definition at line 43 of file angel_types.hpp.

9.26.2 Member Typedef Documentation

9.26.2.1 typedef boost::edge_property_tag angel::EdgeType::kind

Definition at line 45 of file angel_types.hpp.

9.26.3 Member Enumeration Documentation

9.26.3.1 anonymous enum

Enumerator:

num

Definition at line 44 of file angel_types.hpp.

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 287: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 279

9.27 angel::elimination_history_t< Ad_graph_t, El_-spec_t > Class Template Reference

Elimination history.

#include <eliminations.hpp>

Collaboration diagram for angel::elimination_history_t< Ad_graph_t, El_spec_t >:

angel::elimination_history_t< Ad_graph_t, El_spec_t >

Ad_graph_t

cgog

Public Types

• typedef Ad_graph_t ad_graph_t• typedef El_spec_t el_spec_t

Public Member Functions

• elimination_history_t ()Default constructor.

• elimination_history_t (const Ad_graph_t &_cg)Constructor with empty sequence.

• elimination_history_t (const Ad_graph_t &_og, const vector< El_spec_t > &_-seq, const Ad_graph_t &_cg, int _ccosts=0)

Constructor.

• elimination_history_t (const Ad_graph_t &_og, const vector< El_spec_t > &_-seq)

Constructor.

• elimination_history_t (const elimination_history_t &eh)Copy constructor.

• elimination_history_t & operator= (const elimination_history_t &eh)Assign operator.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 288: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

280 angel Class Documentation

• void swap (elimination_history_t &eh)

Swap.

• int elimination (El_spec_t el)

Eliminate el from cg.

• bool check_sequence () const

Checks if og –seq–> cg.

• bool check () const

Checks if og –seq–> cg and consistency of both graphs.

• bool rebuild_graph ()

Rebuild cg from og and seq.

• template<typename Heuristic_t>void complete_sequence (Heuristic_t h)

Complete sequence by heuristic h.

Public Attributes

• const Ad_graph_t og

The original graph.

• vector< El_spec_t > seq

Elimination sequence.

• Ad_graph_t cg

Current graph.

• int ccosts

Current costs (og -> cg).

9.27.1 Detailed Description

template<typename Ad_graph_t, typename El_spec_t> classangel::elimination_history_t< Ad_graph_t, El_spec_t >

Elimination history.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 289: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 281

Stores a c- or line graph and an elimination sequence, where the application of thesequence to the original graph shall result in this graph. This class is introduced to usevertex, edge, and face elimination in LSA (see sa.hpp).

Definition at line 579 of file eliminations.hpp.

9.27.2 Member Typedef Documentation

9.27.2.1 template<typename Ad_graph_t, typename El_spec_t> typedefAd_graph_t angel::elimination_history_t< Ad_graph_t, El_spec_t>::ad_graph_t

Definition at line 588 of file eliminations.hpp.

9.27.2.2 template<typename Ad_graph_t, typename El_spec_t> typedefEl_spec_t angel::elimination_history_t< Ad_graph_t, El_spec_t>::el_spec_t

Definition at line 589 of file eliminations.hpp.

9.27.3 Constructor & Destructor Documentation

9.27.3.1 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t () [inline]

Default constructor.

Only for completeness, better not use.

Definition at line 595 of file eliminations.hpp.

9.27.3.2 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const Ad_graph_t & _cg) [inline]

Constructor with empty sequence.

Parameters:

_cg Graph, which is copied into og and cg

Definition at line 600 of file eliminations.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 290: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

282 angel Class Documentation

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(), andTHROW_EXCEPT_MACRO.

Here is the call graph for this function:

angel::elimination_history_t::elimination_history_t angel::elimination_history_t::check angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.3.3 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const Ad_graph_t & _og, const vector<El_spec_t > & _seq, const Ad_graph_t & _cg, int _ccosts = 0)[inline]

Constructor.

Parameters:

_og Original line graph

_seq Elimination sequence

_cg Current line graph

_ccosts Current costs In debug mode it is checked if application of _seq to _ogyields _cg

Definition at line 611 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(), andTHROW_EXCEPT_MACRO.

Here is the call graph for this function:

angel::elimination_history_t::elimination_history_t angel::elimination_history_t::check angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.3.4 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const Ad_graph_t & _og, const vector<El_spec_t > & _seq) [inline]

Constructor.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 291: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 283

Parameters:

_og Original line graph

_seq Elimination sequence

Current line graph _cg is built by application of _seq to _og

Definition at line 622 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::og,angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andTHROW_EXCEPT_MACRO.

Here is the call graph for this function:

angel::elimination_history_t::elimination_history_t angel::elimination_history_t::rebuild_graph angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.3.5 template<typename Ad_graph_t, typename El_spec_t>angel::elimination_history_t< Ad_graph_t, El_spec_t>::elimination_history_t (const elimination_history_t< Ad_graph_t,El_spec_t > & eh) [inline]

Copy constructor.

Definition at line 630 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::og, and THROW_-EXCEPT_MACRO.

Here is the call graph for this function:

angel::elimination_history_t::elimination_history_t angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 292: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

284 angel Class Documentation

9.27.4 Member Function Documentation

9.27.4.1 template<typename Ad_graph_t, typename El_spec_t>elimination_history_t& angel::elimination_history_t< Ad_graph_t,El_spec_t >::operator= (const elimination_history_t< Ad_graph_t,El_spec_t > & eh) [inline]

Assign operator.

Definition at line 638 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::check(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::og, angel::elimination_history_t< Ad_graph_t, El_spec_t>::seq, and THROW_DEBUG_EXCEPT_MACRO.

Here is the call graph for this function:

angel::elimination_history_t::operator= angel::elimination_history_t::check angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.4.2 template<typename Ad_graph_t, typename El_spec_t> voidangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap(elimination_history_t< Ad_graph_t, El_spec_t > & eh) [inline]

Swap.

Definition at line 644 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::check(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::og, angel::elimination_history_t< Ad_graph_t, El_spec_t>::seq, and THROW_DEBUG_EXCEPT_MACRO.

Here is the call graph for this function:

angel::elimination_history_t::swap angel::elimination_history_t::check angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 293: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 285

9.27.4.3 template<typename Ad_graph_t, typename El_spec_t> intangel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(El_spec_t el) [inline]

Eliminate el from cg.

See also:

eliminate_object

It calls eliminate_objects (el, cg). The first parameter of eliminate_objects may be anon-const reference, which is for instance useful for triplet_t to return the line graphnode inserted or where the absorption took place. The return value of eliminate_objects(el, cg) must be the elimination costs. Costs greater than zero are assumed as successfulelimination (trivial eliminations are not considered at this point) and el is appended toseq. If el is passed as non-const reference its value after the elimination is appended.

Definition at line 660 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::eliminate(),and angel::elimination_history_t< Ad_graph_t, El_spec_t >::seq.

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_-sequence(), angel::neighbor_check_meta_t::operator()(), angel::neighbor_-sequence_check_t::operator()(), angel::neighbor_multi_step_t::operator()(), andangel::neighbor_last_removable_t::operator()().

Here is the call graph for this function:

angel::elimination_history_t::elimination angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.4.4 template<typename Ad_graph_t, typename El_spec_t>bool angel::elimination_history_t< Ad_graph_t, El_spec_t>::check_sequence () const [inline]

Checks if og –seq–> cg.

Definition at line 666 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::eliminate(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::og, angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq, angel::write_graph(), and angel::write_-vector().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 294: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

286 angel Class Documentation

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_history_t().

Here is the call graph for this function:

angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.4.5 template<typename Ad_graph_t, typename El_spec_t> boolangel::elimination_history_t< Ad_graph_t, El_spec_t >::check ()const [inline]

Checks if og –seq–> cg and consistency of both graphs.

Definition at line 700 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::og.

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_-history_t(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::operator=(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().

Here is the call graph for this function:

angel::elimination_history_t::check angel::elimination_history_t::check_sequence

angel::eliminate

angel::write_graph

angel::write_vector

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.4.6 template<typename Ad_graph_t, typename El_spec_t>bool angel::elimination_history_t< Ad_graph_t, El_spec_t>::rebuild_graph () [inline]

Rebuild cg from og and seq.

Definition at line 706 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::eliminate(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::og, and angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 295: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 287

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_-history_t(), angel::neighbor_check_meta_t::operator()(), angel::neighbor_-sequence_check_t::operator()(), angel::neighbor_multi_step_t::operator()(), andangel::neighbor_last_removable_t::operator()().

Here is the call graph for this function:

angel::elimination_history_t::rebuild_graph angel::eliminate angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

angel::c_graph_t::vertex_type angel::c_graph_t::v

9.27.4.7 template<typename Ad_graph_t, typename El_spec_t>template<typename Heuristic_t> void angel::elimination_history_t<Ad_graph_t, El_spec_t >::complete_sequence (Heuristic_t h)[inline]

Complete sequence by heuristic h.

In SA applications h must be the same heuristic used cost operator (ANGEL cannotcheck this).

Definition at line 720 of file eliminations.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), and angel::elimination_history_t< Ad_graph_t,El_spec_t >::elimination().

Referenced by xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face(), and xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_vertex().

Here is the call graph for this function:

angel::elimination_history_t::complete_sequence

angel::eliminatable_objects

angel::elimination_history_t::elimination

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::eliminate angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

9.27.5 Member Data Documentation

9.27.5.1 template<typename Ad_graph_t, typename El_spec_t> constAd_graph_t angel::elimination_history_t< Ad_graph_t, El_spec_t>::og

The original graph.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 296: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

288 angel Class Documentation

Definition at line 583 of file eliminations.hpp.

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_history_-t(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::operator=(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().

9.27.5.2 template<typename Ad_graph_t, typename El_spec_t>vector<El_spec_t> angel::elimination_history_t< Ad_graph_t,El_spec_t >::seq

Elimination sequence.

Definition at line 584 of file eliminations.hpp.

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_-sequence(), xaifBoosterCrossCountryInterface::compute_elimination_sequence_-lsa_face(), xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_-vertex(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(),angel::neighbor_check_meta_t::operator()(), angel::neighbor_sequence_check_-t::operator()(), angel::neighbor_multi_step_t::operator()(), angel::neighbor_last_-removable_t::operator()(), angel::elimination_history_t< Ad_graph_t, El_spec_t>::operator=(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_-graph(), and angel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().

9.27.5.3 template<typename Ad_graph_t, typename El_spec_t> Ad_graph_tangel::elimination_history_t< Ad_graph_t, El_spec_t >::cg

Current graph.

Definition at line 585 of file eliminations.hpp.

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::complete_sequence(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_history_t(),angel::neighbor_check_meta_t::operator()(), angel::neighbor_sequence_check_-t::operator()(), angel::neighbor_multi_step_t::operator()(), angel::neighbor_-last_removable_t::operator()(), angel::SA_elimination_cost_t< Heuristic_t>::operator()(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::operator=(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::swap().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 297: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.27 angel::elimination_history_t< Ad_graph_t, El_spec_t > Class TemplateReference 289

9.27.5.4 template<typename Ad_graph_t, typename El_spec_t> intangel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts

Current costs (og -> cg).

Definition at line 586 of file eliminations.hpp.

Referenced by angel::elimination_history_t< Ad_graph_t, El_spec_t >::check_-sequence(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination(),angel::SA_elimination_cost_t< Heuristic_t >::operator()(), angel::elimination_-history_t< Ad_graph_t, El_spec_t >::operator=(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::rebuild_graph(), and angel::elimination_history_t<Ad_graph_t, El_spec_t >::swap().

The documentation for this class was generated from the following file:

• angel/include/eliminations.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 298: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

290 angel Class Documentation

9.28 angel::elimSeq_cost_t Struct Reference

#include <angel_types.hpp>

Public Member Functions

• elimSeq_cost_t (unsigned int _bestNumNontrivialEdges, un-signed int _cost, unsigned int _costAtBestEdgecount, un-signed int _numIntermediatesAtBestEdgecount, unsigned int _-numIntermediatesWithoutUnitEdgeAtBestEdgecount, size_t _lastDesiredElim)

Public Attributes

• std::vector< EdgeElim > edgeElimVector• unsigned int bestNumNontrivialEdges• unsigned int cost• unsigned int costAtBestEdgecount• unsigned int numIntermediatesAtBestEdgecount• unsigned int numIntermediatesWithoutUnitEdgeAtBestEdgecount• size_t lastDesiredElim• bool revealedNewDependence

9.28.1 Detailed Description

Definition at line 847 of file angel_types.hpp.

9.28.2 Constructor & Destructor Documentation

9.28.2.1 angel::elimSeq_cost_t::elimSeq_cost_t (unsigned int_bestNumNontrivialEdges, unsigned int _cost, unsigned int _-costAtBestEdgecount, unsigned int _numIntermediatesAtBestEdgecount,unsigned int _numIntermediatesWithoutUnitEdgeAtBestEdgecount,size_t _lastDesiredElim) [inline]

Definition at line 857 of file angel_types.hpp.

9.28.3 Member Data Documentation

9.28.3.1 std::vector<EdgeElim> angel::elimSeq_cost_t::edgeElimVector

Definition at line 848 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 299: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.28 angel::elimSeq_cost_t Struct Reference 291

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and angel::pair_elim().

9.28.3.2 unsigned int angel::elimSeq_cost_t::bestNumNontrivialEdges

Definition at line 849 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().

9.28.3.3 unsigned int angel::elimSeq_cost_t::cost

Definition at line 850 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().

9.28.3.4 unsigned int angel::elimSeq_cost_t::costAtBestEdgecount

Definition at line 851 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().

9.28.3.5 unsigned int angel::elimSeq_cost_-t::numIntermediatesAtBestEdgecount

Definition at line 852 of file angel_types.hpp.

9.28.3.6 unsigned int angel::elimSeq_cost_-t::numIntermediatesWithoutUnitEdgeAtBestEdgecount

Definition at line 853 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence().

9.28.3.7 size_t angel::elimSeq_cost_t::lastDesiredElim

Definition at line 854 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 300: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

292 angel Class Documentation

9.28.3.8 bool angel::elimSeq_cost_t::revealedNewDependence [mutable]

Definition at line 855 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence(), and angel::pair_elim().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 301: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.29 angel::empty_operator_t< operand_t > Struct Template Reference 293

9.29 angel::empty_operator_t< operand_t > StructTemplate Reference

Empty operator class for dummy arguments.

#include <angel_tools.hpp>

Public Member Functions

• void operator() (const operand_t &)• void operator() (operand_t &)

9.29.1 Detailed Description

template<class operand_t> struct angel::empty_operator_t< operand_t >

Empty operator class for dummy arguments.

Definition at line 890 of file angel_tools.hpp.

9.29.2 Member Function Documentation

9.29.2.1 template<class operand_t> void angel::empty_operator_t< operand_t>::operator() (const operand_t &) [inline]

Definition at line 891 of file angel_tools.hpp.

9.29.2.2 template<class operand_t> void angel::empty_operator_t< operand_t>::operator() (operand_t &) [inline]

Definition at line 892 of file angel_tools.hpp.

The documentation for this struct was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 302: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

294 angel Class Documentation

9.30 angel::emulated_vertex_heuristic_t< Vertex_-heuristic_t > Class Template Reference

Simulates vertex elimination heuristics with edge eliminations.

#include <heuristics.hpp>

Collaboration diagram for angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >:

angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >

Vertex_heuristic_t

h

Public Member Functions

• emulated_vertex_heuristic_t (Vertex_heuristic_t _h)

Constructor stores the vertex-based heuristic to be used.

• int operator() (const vector< edge_ij_elim_t > &tv1, const c_graph_t &cg,vector< edge_ij_elim_t > &tv2)

Private Attributes

• Vertex_heuristic_t h

• c_graph_t::vertex_t last_vertex

9.30.1 Detailed Description

template<class Vertex_heuristic_t> class angel::emulated_vertex_heuristic_t<Vertex_heuristic_t >

Simulates vertex elimination heuristics with edge eliminations.

Egde eliminations belonging to one vertex elimination are executed successively. Canbe applied to c-graphs containing dependents with out-degree > 0. If multiple vertexheuristics are used it is better to combine them first and to derive and edge heuristicfrom it than combining the derived edge heuristics.

Definition at line 1074 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 303: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.30 angel::emulated_vertex_heuristic_t< Vertex_heuristic_t > Class TemplateReference 295

9.30.2 Constructor & Destructor Documentation

9.30.2.1 template<class Vertex_heuristic_t> angel::emulated_vertex_-heuristic_t< Vertex_heuristic_t >::emulated_vertex_heuristic_t(Vertex_heuristic_t _h) [inline]

Constructor stores the vertex-based heuristic to be used.

Definition at line 1079 of file heuristics.hpp.

9.30.3 Member Function Documentation

9.30.3.1 template<class Vertex_heuristic_t> int angel::emulated_vertex_-heuristic_t< Vertex_heuristic_t >::operator() (const vector<edge_ij_elim_t > & tv1, const c_graph_t & cg, vector< edge_ij_elim_t> & tv2) [inline]

Definition at line 59 of file heuristics_impl.hpp.

References angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >::h, andangel::emulated_vertex_heuristic_t< Vertex_heuristic_t >::last_vertex.

9.30.4 Member Data Documentation

9.30.4.1 template<class Vertex_heuristic_t> Vertex_heuristic_tangel::emulated_vertex_heuristic_t< Vertex_heuristic_t >::h[private]

Definition at line 1075 of file heuristics.hpp.

Referenced by angel::emulated_vertex_heuristic_t< Vertex_heuristic_-t >::operator()().

9.30.4.2 template<class Vertex_heuristic_t> c_graph_t::vertex_tangel::emulated_vertex_heuristic_t< Vertex_heuristic_t>::last_vertex [private]

Definition at line 1076 of file heuristics.hpp.

Referenced by angel::emulated_vertex_heuristic_t< Vertex_heuristic_-t >::operator()().

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/include/heuristics_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 304: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

296 angel Class Documentation

9.31 angel::fiv_op_t Struct Reference

Public Member Functions

• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)

9.31.1 Detailed Description

Definition at line 167 of file heuristics.cpp.

9.31.2 Member Function Documentation

9.31.2.1 int angel::fiv_op_t::operator() (c_graph_t::vertex_t v, const c_graph_t& cg) [inline]

Definition at line 168 of file heuristics.cpp.

References angel::new_out_edges().

Here is the call graph for this function:

angel::fiv_op_t::operator() angel::new_out_edges

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 305: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.32 angel::fixed_temperature_t Class Reference 297

9.32 angel::fixed_temperature_t Class Reference

Functor that returns fixed temperature.

#include <sa.hpp>

Public Member Functions

• fixed_temperature_t (double p_t)Set t in constructor.

• double operator() (int it) constFixed temperature in iteration it.

Private Attributes

• double t

9.32.1 Detailed Description

Functor that returns fixed temperature.

Definition at line 44 of file sa.hpp.

9.32.2 Constructor & Destructor Documentation

9.32.2.1 angel::fixed_temperature_t::fixed_temperature_t (double p_t)[inline]

Set t in constructor.

Definition at line 48 of file sa.hpp.

9.32.3 Member Function Documentation

9.32.3.1 double angel::fixed_temperature_t::operator() (int it) const[inline]

Fixed temperature in iteration it.

Definition at line 50 of file sa.hpp.

References t.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 306: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

298 angel Class Documentation

9.32.4 Member Data Documentation

9.32.4.1 double angel::fixed_temperature_t::t [private]

Definition at line 45 of file sa.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/sa.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 307: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.33 angel::forward_mode_edge_t Class Reference 299

9.33 angel::forward_mode_edge_t Class Reference

Operator class for mixed forward edge elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::forward_mode_edge_t:

angel::forward_mode_edge_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Collaboration diagram for angel::forward_mode_edge_t:

angel::forward_mode_edge_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Objective_t

my_objective

Public Member Functions

• forward_mode_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,

vector< edge_bool_t > &ev2)

9.33.1 Detailed Description

Operator class for mixed forward edge elimination.

operator() is equivalent to forward_mode_edge ( const vector<pair<c_graph_t::edge_-t,bool> >& ev1, const c_graph_t& cg, vector<pair<c_graph_t::edge_t,bool> >&ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 308: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

300 angel Class Documentation

See also:

forward_mode_vertex_t

Definition at line 330 of file heuristics.hpp.

9.33.2 Constructor & Destructor Documentation

9.33.2.1 angel::forward_mode_edge_t::forward_mode_edge_t () [inline]

Definition at line 332 of file heuristics.hpp.

9.33.3 Member Function Documentation

9.33.3.1 int angel::forward_mode_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)

Definition at line 476 of file heuristics.cpp.

References angel::fme_obj(), angel::lex_less(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().

Here is the call graph for this function:

angel::forward_mode_edge_t::operator()

angel::fme_obj

angel::lex_less

angel::base_heuristic_t< double >::set_empty_objective

angel::base_heuristic_t< double >::set_objective

angel::edge

angel::c_graph_t::x

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 309: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.34 angel::forward_mode_face_t Class Reference 301

9.34 angel::forward_mode_face_t Class Reference

Operator class for forward mode in face elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::forward_mode_face_t:

angel::forward_mode_face_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Collaboration diagram for angel::forward_mode_face_t:

angel::forward_mode_face_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Objective_t

my_objective

Public Member Functions

• forward_mode_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t

&lg, vector< line_graph_t::face_t > &fv2)

9.34.1 Detailed Description

Operator class for forward mode in face elimination.

operator() is equivalent to forward_mode_face

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 310: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

302 angel Class Documentation

See also:

forward_mode_faceforward_mode_vertex_t

Definition at line 788 of file heuristics.hpp.

9.34.2 Constructor & Destructor Documentation

9.34.2.1 angel::forward_mode_face_t::forward_mode_face_t () [inline]

Definition at line 790 of file heuristics.hpp.

9.34.3 Member Function Documentation

9.34.3.1 int angel::forward_mode_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)

Definition at line 881 of file heuristics.cpp.

References angel::fmf_obj(), angel::lex_less_face(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().

Here is the call graph for this function:

angel::forward_mode_face_t::operator()

angel::fmf_obj

angel::lex_less_face

angel::base_heuristic_t< double >::set_empty_objective

angel::base_heuristic_t< double >::set_objective

angel::face_vertex_name

angel::line_graph_t::x

angel::write_graph

angel::write_vertex_property

angel::write_vector

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 311: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.35 angel::forward_mode_vertex_t Class Reference 303

9.35 angel::forward_mode_vertex_t Class Reference

Operator class for forward mode in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::forward_mode_vertex_t:

angel::forward_mode_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::forward_mode_vertex_t:

angel::forward_mode_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• forward_mode_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

9.35.1 Detailed Description

Operator class for forward mode in vertex elimination.

Since operator() behaves like forward_mode_vertex objects of this class can be calledlike the function. For instance, forward_mode_vertex_t fm; fm (v1, cg, v2); is identical

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 312: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

304 angel Class Documentation

with forward_mode_vertex (v1, cg, v2);. However, the object fm can be more easylyused in templates.

See also:

forward_mode_vertex

Definition at line 64 of file heuristics.hpp.

9.35.2 Constructor & Destructor Documentation

9.35.2.1 angel::forward_mode_vertex_t::forward_mode_vertex_t ()[inline]

Definition at line 66 of file heuristics.hpp.

9.35.3 Member Function Documentation

9.35.3.1 int angel::forward_mode_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Definition at line 23 of file heuristics.cpp.

References angel::base_heuristic_t< int >::set_empty_objective(), and angel::base_-heuristic_t< int >::set_objective().

Here is the call graph for this function:

angel::forward_mode_vertex_t::operator()

angel::base_heuristic_t< int >::set_empty_objective

angel::base_heuristic_t< int >::set_objective

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 313: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.36 angel::gamma_adaption_average_t Class Reference 305

9.36 angel::gamma_adaption_average_t Class Refer-ence

Γ adaption on average min-max-difference

#include <sa.hpp>

Public Member Functions

• gamma_adaption_average_t (int p_D, double p_scaling=1.0)

Constructor.

• void operator() (int costs, double &gamma)

Operator, which finally changes Γ.

Private Attributes

• int D• int sum_diff• int last_min• int last_max• int imp• double scaling

9.36.1 Detailed Description

Γ adaption on average min-max-difference

Same as gamma_adaption_max_t with average instead of maximal difference.

Warning:

In contrast to other operator classes (e.g. neighbor_sequence_check_t), objectsof this class can only be used in one run! For another run a new object must becreated to set private variables to their initial state.

See also:

gamma_adaption_max_tALSA

Definition at line 287 of file sa.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 314: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

306 angel Class Documentation

9.36.2 Constructor & Destructor Documentation

9.36.2.1 angel::gamma_adaption_average_t::gamma_adaption_average_t (intp_D, double p_scaling = 1.0) [inline]

Constructor.

Parameters:

p_D The number of improvement before Γ is changed

p_scaling Scaling factor for Γ, if omitted 1.0 is taken (no scaling)

Definition at line 295 of file sa.hpp.

References D, scaling, and THROW_DEBUG_EXCEPT_MACRO.

9.36.3 Member Function Documentation

9.36.3.1 void angel::gamma_adaption_average_t::operator() (int costs, double& gamma)

Operator, which finally changes Γ.

Parameters:

costs The costs (objective function) of current iteration, must be larger than 0

gamma Γ in current iteration, may be changed

Definition at line 191 of file sa_impl.hpp.

References D, imp, last_max, last_min, scaling, and sum_diff.

9.36.4 Member Data Documentation

9.36.4.1 int angel::gamma_adaption_average_t::D [private]

Definition at line 288 of file sa.hpp.

Referenced by gamma_adaption_average_t(), and operator()().

9.36.4.2 int angel::gamma_adaption_average_t::sum_diff [private]

Definition at line 288 of file sa.hpp.

Referenced by operator()().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 315: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.36 angel::gamma_adaption_average_t Class Reference 307

9.36.4.3 int angel::gamma_adaption_average_t::last_min [private]

Definition at line 288 of file sa.hpp.

Referenced by operator()().

9.36.4.4 int angel::gamma_adaption_average_t::last_max [private]

Definition at line 288 of file sa.hpp.

Referenced by operator()().

9.36.4.5 int angel::gamma_adaption_average_t::imp [private]

Definition at line 288 of file sa.hpp.

Referenced by operator()().

9.36.4.6 double angel::gamma_adaption_average_t::scaling [private]

Definition at line 289 of file sa.hpp.

Referenced by gamma_adaption_average_t(), and operator()().

The documentation for this class was generated from the following files:

• angel/include/sa.hpp• angel/include/sa_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 316: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

308 angel Class Documentation

9.37 angel::gamma_adaption_max_t Class Reference

Γ adaption on maximal min-max-difference

#include <sa.hpp>

Public Member Functions

• gamma_adaption_max_t (int p_D, double p_scaling=1.0)Constructor.

• void operator() (int costs, double &gamma)Operator, which finally changes Γ.

Private Attributes

• int D• int diff• int max_diff• int last_min• int last_max• int imp• double scaling

9.37.1 Detailed Description

Γ adaption on maximal min-max-difference

Between two improvements of the objective functions the maximal (worst) value issubtracted from the minimal (best) value. This difference is computed for D improve-ments. Then the maximal difference is used as Γ.

Warning:

In contrast to other operator classes (e.g. neighbor_sequence_check_t), objectsof this class can only be used in one run! For another run a new object must becreated to set private variables to their initial state.

See also:

ALSA

Definition at line 257 of file sa.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 317: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.37 angel::gamma_adaption_max_t Class Reference 309

9.37.2 Constructor & Destructor Documentation

9.37.2.1 angel::gamma_adaption_max_t::gamma_adaption_max_t (int p_D,double p_scaling = 1.0) [inline]

Constructor.

Parameters:

p_D The number of improvement before Γ is changed

p_scaling Scaling factor for Γ, if omitted 1.0 is taken (no scaling)

Definition at line 265 of file sa.hpp.

References D, scaling, and THROW_DEBUG_EXCEPT_MACRO.

9.37.3 Member Function Documentation

9.37.3.1 void angel::gamma_adaption_max_t::operator() (int costs, double &gamma)

Operator, which finally changes Γ.

Parameters:

costs The costs (objective function) of current iteration, must be larger than 0

gamma Γ in current iteration, may be changed

Definition at line 180 of file sa_impl.hpp.

References D, diff, imp, last_max, last_min, max_diff, and scaling.

9.37.4 Member Data Documentation

9.37.4.1 int angel::gamma_adaption_max_t::D [private]

Definition at line 258 of file sa.hpp.

Referenced by gamma_adaption_max_t(), and operator()().

9.37.4.2 int angel::gamma_adaption_max_t::diff [private]

Definition at line 258 of file sa.hpp.

Referenced by operator()().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 318: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

310 angel Class Documentation

9.37.4.3 int angel::gamma_adaption_max_t::max_diff [private]

Definition at line 258 of file sa.hpp.

Referenced by operator()().

9.37.4.4 int angel::gamma_adaption_max_t::last_min [private]

Definition at line 258 of file sa.hpp.

Referenced by operator()().

9.37.4.5 int angel::gamma_adaption_max_t::last_max [private]

Definition at line 258 of file sa.hpp.

Referenced by operator()().

9.37.4.6 int angel::gamma_adaption_max_t::imp [private]

Definition at line 258 of file sa.hpp.

Referenced by operator()().

9.37.4.7 double angel::gamma_adaption_max_t::scaling [private]

Definition at line 259 of file sa.hpp.

Referenced by gamma_adaption_max_t(), and operator()().

The documentation for this class was generated from the following files:

• angel/include/sa.hpp• angel/include/sa_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 319: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.38 angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > Class TemplateReference 311

9.38 angel::heuristic_pair_t< Heuristic1_t,Heuristic2_t > Class Template Reference

Make a pair of heuristics.

#include <heuristics.hpp>

Collaboration diagram for angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >:

angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >

Heuristic1_t

h1

Heuristic2_t

h2

Public Member Functions

• heuristic_pair_t (Heuristic1_t _h1, Heuristic2_t _h2)

Constructor with.

• template<class Vector_t, class Ad_graph_t>int operator() (const Vector_t &v1, const Ad_graph_t &adg, Vector_t &v2)

Operator that behaves like one heuristic function.

Private Attributes

• Heuristic1_t h1• Heuristic2_t h2

9.38.1 Detailed Description

template<class Heuristic1_t, class Heuristic2_t> class angel::heuristic_pair_t<Heuristic1_t, Heuristic2_t >

Make a pair of heuristics.

Two heuristics are semantically and syntactically combined to one heuristic. Objects ofthis class can passed where a heuristic is used in a template or can be called like heuris-tic functions. For instance, heuristic_pair_t<lowest_markowitz_vertex_t, reverse_-mode_vertex_t> lmrm; lmrm (v1, cg, v2); is identical with lowest_markowitz_vertex(v1, cg, vtmp); reverse_mode_vertex (vtmp, cg, v2).

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 320: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

312 angel Class Documentation

See also:

use_heuristic

Definition at line 1100 of file heuristics.hpp.

9.38.2 Constructor & Destructor Documentation

9.38.2.1 template<class Heuristic1_t, class Heuristic2_t>angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t>::heuristic_pair_t (Heuristic1_t _h1, Heuristic2_t _h2) [inline]

Constructor with.

Definition at line 1106 of file heuristics.hpp.

9.38.3 Member Function Documentation

9.38.3.1 template<class Heuristic1_t, class Heuristic2_t> template<classVector_t, class Ad_graph_t> int angel::heuristic_pair_t< Heuristic1_t,Heuristic2_t >::operator() (const Vector_t & v1, const Ad_graph_t &adg, Vector_t & v2) [inline]

Operator that behaves like one heuristic function.

Definition at line 1110 of file heuristics.hpp.

References angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h1, andangel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h2.

9.38.4 Member Data Documentation

9.38.4.1 template<class Heuristic1_t, class Heuristic2_t> Heuristic1_tangel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h1[private]

Definition at line 1102 of file heuristics.hpp.

Referenced by angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::operator()().

9.38.4.2 template<class Heuristic1_t, class Heuristic2_t> Heuristic2_tangel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::h2[private]

Definition at line 1103 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 321: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.38 angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t > Class TemplateReference 313

Referenced by angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >::operator()().

The documentation for this class was generated from the following file:

• angel/include/heuristics.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 322: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

314 angel Class Documentation

9.39 angel::heuristic_triplet_t< Heuristic1_t,Heuristic2_t, Heuristic3_t > Class TemplateReference

Make a pair of heuristics.

#include <heuristics.hpp>

Collaboration diagram for angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >:

angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >

Heuristic1_t

h1

Heuristic3_t

h3

Heuristic2_t

h2

Public Member Functions

• heuristic_triplet_t (Heuristic1_t _h1, Heuristic2_t _h2, Heuristic3_t _h3)• template<class Vector_t, class Ad_graph_t>

int operator() (const Vector_t &v1, const Ad_graph_t &adg, Vector_t &v2)

Private Attributes

• Heuristic1_t h1• Heuristic2_t h2• Heuristic3_t h3

9.39.1 Detailed Description

template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t> classangel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >

Make a pair of heuristics.

Three heuristics are semantically and syntactically combined to one heuristic.

See also:

use_heuristicheuristic_pair_t

Definition at line 1121 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 323: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.39 angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t > ClassTemplate Reference 315

9.39.2 Constructor & Destructor Documentation

9.39.2.1 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t>::heuristic_triplet_t (Heuristic1_t _h1, Heuristic2_t _h2, Heuristic3_t_h3) [inline]

Definition at line 1127 of file heuristics.hpp.

9.39.3 Member Function Documentation

9.39.3.1 template<class Heuristic1_t, class Heuristic2_t, classHeuristic3_t> template<class Vector_t, class Ad_graph_t> intangel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t>::operator() (const Vector_t & v1, const Ad_graph_t & adg, Vector_t& v2) [inline]

Definition at line 1131 of file heuristics.hpp.

References angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >::h1,angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >::h2, andangel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >::h3.

9.39.4 Member Data Documentation

9.39.4.1 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>Heuristic1_t angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >::h1 [private]

Definition at line 1123 of file heuristics.hpp.

Referenced by angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_-t >::operator()().

9.39.4.2 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>Heuristic2_t angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >::h2 [private]

Definition at line 1124 of file heuristics.hpp.

Referenced by angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_-t >::operator()().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 324: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

316 angel Class Documentation

9.39.4.3 template<class Heuristic1_t, class Heuristic2_t, class Heuristic3_t>Heuristic3_t angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t,Heuristic3_t >::h3 [private]

Definition at line 1125 of file heuristics.hpp.

Referenced by angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_-t >::operator()().

The documentation for this class was generated from the following file:

• angel/include/heuristics.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 325: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.40 GMPI::Intracomm Class Reference 317

9.40 GMPI::Intracomm Class Reference

#include <gmpi.hpp>

Inheritance diagram for GMPI::Intracomm:

GMPI::Intracomm

GMPI::Comm

Collaboration diagram for GMPI::Intracomm:

GMPI::Intracomm

GMPI::Comm

Public Member Functions

• Intracomm (MPI::Intracomm &mpi_comm)• void Barrier () const• template<typename Comm_ref_t>

void Bcast (Comm_ref_t &data, int root) const• void Bcast (void ∗buffer, int count, const MPI::Datatype &datatype, int root)

const• template<typename Comm_ref_t>

void Reduce (const Comm_ref_t &senddata, Comm_ref_t &recvdata, constMPI::Op &op, int root) const

• template<typename Comm_ref_t>void Allreduce (const Comm_ref_t &senddata, Comm_ref_t &recvdata, constMPI::Op &op) const

• void Allreduce (const void ∗sendbuf, void ∗recvbuf, int count, constMPI::Datatype &datatype, const MPI::Op &op) const

• void Gather (const void ∗sendbuf, int sendcount, const MPI::Datatype &send-type, void ∗recvbuf, int recvcount, const MPI::Datatype &recvtype, int root)const

9.40.1 Detailed Description

Definition at line 261 of file gmpi.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 326: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

318 angel Class Documentation

9.40.2 Constructor & Destructor Documentation

9.40.2.1 GMPI::Intracomm::Intracomm (MPI::Intracomm & mpi_comm)[inline]

Definition at line 263 of file gmpi.hpp.

9.40.3 Member Function Documentation

9.40.3.1 void GMPI::Intracomm::Barrier () const [inline]

Definition at line 265 of file gmpi.hpp.

References GMPI::Comm::my_comm.

9.40.3.2 template<class Comm_ref_t> void GMPI::Intracomm::Bcast(Comm_ref_t & data, int root) const [inline]

Definition at line 31 of file gmpi_impl.hpp.

References GMPI::buffer_t< Base_t >::address(), GMPI::Comm::Get_rank(),GMPI::mpi_size_t, GMPI::buffer_t< Base_t >::mpi_t, GMPI::Comm::my_comm,GMPI::buffer_t< Base_t >::reserve(), and GMPI::buffer_t< Base_t >::size().

Here is the call graph for this function:

GMPI::Intracomm::Bcast

GMPI::buffer_t::address

GMPI::Comm::Get_rank

GMPI::buffer_t::reserve

GMPI::buffer_t::size

9.40.3.3 void GMPI::Intracomm::Bcast (void ∗ buffer, int count, constMPI::Datatype & datatype, int root) const [inline]

Definition at line 270 of file gmpi.hpp.

References GMPI::Comm::my_comm.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 327: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.40 GMPI::Intracomm Class Reference 319

9.40.3.4 template<typename Comm_ref_t> void GMPI::Intracomm::Reduce(const Comm_ref_t & senddata, Comm_ref_t & recvdata, constMPI::Op & op, int root) const [inline]

9.40.3.5 template<typename Comm_ref_t> voidGMPI::Intracomm::Allreduce (const Comm_ref_t & senddata,Comm_ref_t & recvdata, const MPI::Op & op) const [inline]

9.40.3.6 void GMPI::Intracomm::Allreduce (const void ∗ sendbuf, void ∗recvbuf, int count, const MPI::Datatype & datatype, const MPI::Op &op) const [inline]

Definition at line 285 of file gmpi.hpp.

References GMPI::Comm::my_comm.

9.40.3.7 void GMPI::Intracomm::Gather (const void ∗ sendbuf, int sendcount,const MPI::Datatype & sendtype, void ∗ recvbuf, int recvcount, constMPI::Datatype & recvtype, int root) const [inline]

Definition at line 289 of file gmpi.hpp.

References GMPI::Comm::my_comm.

The documentation for this class was generated from the following files:

• angel/include/gmpi.hpp• angel/include/gmpi_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 328: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

320 angel Class Documentation

9.41 angel::io_exception Class Reference

#include <angel_exceptions.hpp>

Inheritance diagram for angel::io_exception:

angel::io_exception

angel::base_exception

Collaboration diagram for angel::io_exception:

angel::io_exception

angel::base_exception

string

reason

Public Member Functions

• io_exception (std::string filename, int linenumber, std::string what)

9.41.1 Detailed Description

Definition at line 28 of file angel_exceptions.hpp.

9.41.2 Constructor & Destructor Documentation

9.41.2.1 angel::io_exception::io_exception (std::string filename, int linenumber,std::string what) [inline]

Definition at line 30 of file angel_exceptions.hpp.

The documentation for this class was generated from the following file:

• angel/include/angel_exceptions.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 329: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.42 angel::lex_less_face_line_t Class Reference 321

9.42 angel::lex_less_face_line_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::lex_less_face_line_t:

angel::lex_less_face_line_t

angel::line_graph_t

lg

angel::c_graph_t

cgp

Public Member Functions

• lex_less_face_line_t (const line_graph_t &g)• bool operator() (const line_graph_t::face_t &e1, const line_graph_t::face_t &e2)

Private Attributes

• const line_graph_t & lg

9.42.1 Detailed Description

Definition at line 482 of file angel_tools.hpp.

9.42.2 Constructor & Destructor Documentation

9.42.2.1 angel::lex_less_face_line_t::lex_less_face_line_t (const line_graph_t &g) [inline]

Definition at line 486 of file angel_tools.hpp.

9.42.3 Member Function Documentation

9.42.3.1 bool angel::lex_less_face_line_t::operator() (const line_graph_t::face_t& e1, const line_graph_t::face_t & e2) [inline]

Definition at line 488 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 330: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

322 angel Class Documentation

References angel::lex_less_face(), and lg.

Here is the call graph for this function:

angel::lex_less_face_line_t::operator() angel::lex_less_face

angel::write_graph

angel::write_vertex_property

angel::write_vector

9.42.4 Member Data Documentation

9.42.4.1 const line_graph_t& angel::lex_less_face_line_t::lg [private]

Definition at line 483 of file angel_tools.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 331: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.43 angel::line_graph_t Class Reference 323

9.43 angel::line_graph_t Class Reference

Line graph type.

#include <angel_types.hpp>

Collaboration diagram for angel::line_graph_t:

angel::line_graph_t

angel::c_graph_t

cgp

Public Types

• typedef pure_line_graph_t pure_graph_tType of basic type from BGL.

• typedef pure_line_graph_t::vertex_descriptor edge_tEdge type.

• typedef pure_line_graph_t::edge_descriptor face_tFace type.

• typedef boost::graph_traits< pure_line_graph_t >::vertex_iterator ei_tEdge iterator type.

• typedef boost::graph_traits< pure_line_graph_t >::edge_iterator fi_tFace iterator type.

• typedef boost::graph_traits< pure_line_graph_t >::in_edge_iterator ifi_tIterator type of a edge’s incoming faces.

• typedef boost::graph_traits< pure_line_graph_t >::out_edge_iterator ofi_tIterator type of a edge’s outgoing faces.

• typedef boost::property_map< pure_line_graph_t, boost::vertex_degree_t>::const_type const_ed_t

Type of property edge label for const line_graph_t.

• typedef boost::property_map< pure_line_graph_t, boost::vertex_degree_t>::type ed_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 332: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

324 angel Class Documentation

Type of property edge label for non-const line_graph_t.

• typedef boost::property_map< pure_line_graph_t, boost::vertex_name_t>::const_type const_evn_t

• typedef boost::property_map< pure_line_graph_t, boost::vertex_name_t>::type evn_t

Public Member Functions

• int x () const

Number of independent vertices.

• int y () const

Number of dependent vertices.

• int v () const

Number of all vertices, including empty.

• int z () const

Number of intermediate vertices.

• line_graph_t ()

Default constructor.

• line_graph_t (int V_, int X_, const std::vector< edge_t > &deps)

Constructor with vertex specification.

• line_graph_t (const c_graph_t &cg)

Constructor that builds line graph from c-graph.

• line_graph_t (const line_graph_t &_g)

Copy constructor.

• ∼line_graph_t ()

Destructor.

• line_graph_t & operator= (const line_graph_t &_g)

Assign operator.

• void swap (line_graph_t &_g)

Swap.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 333: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.43 angel::line_graph_t Class Reference 325

• enum vertex_type_t vertex_type (edge_t e) const

Type of edge e.

• void copy_properties (const line_graph_t &_g)

Copies properties explicitly.

• void clear_edges ()

Removes edges explicitly.

• void clear_graph ()

Remove all vertices that are not connected to dependent and inpedendent vertices.

• bool check () const

Check consistency of graph.

• bool is_tripartite () const

Whether graph is tripartite.

Public Attributes

• std::vector< edge_t > dependents

set of dependent vertices

• const c_graph_t ∗ cgp

Pointer to corresponding c-graph.

Private Attributes

• int X• bool cons_ok

Friends

• int face_elimination (face_t face, int kr, line_graph_t &lg, accu_graph_t &ac)• void unpack_graph (const graph_package_t &gp, line_graph_t &lg)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 334: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

326 angel Class Documentation

9.43.1 Detailed Description

Line graph type.

Type names are related to the c-graph. For instance, a vertex of the line graph is definedas edge_t (since it represent an edge). The types c_graph_t::edge_t and line_graph_-t::edge_t are not compatible (see edge_vertex_name and find_edge).

Definition at line 257 of file angel_types.hpp.

9.43.2 Member Typedef Documentation

9.43.2.1 typedef pure_line_graph_t angel::line_graph_t::pure_graph_t

Type of basic type from BGL.

Definition at line 263 of file angel_types.hpp.

9.43.2.2 typedef pure_line_graph_t::vertex_descriptorangel::line_graph_t::edge_t

Edge type.

Definition at line 265 of file angel_types.hpp.

9.43.2.3 typedef pure_line_graph_t::edge_descriptorangel::line_graph_t::face_t

Face type.

Definition at line 267 of file angel_types.hpp.

9.43.2.4 typedef boost::graph_traits<pure_line_graph_t>::vertex_iteratorangel::line_graph_t::ei_t

Edge iterator type.

Definition at line 269 of file angel_types.hpp.

9.43.2.5 typedef boost::graph_traits<pure_line_graph_t>::edge_iteratorangel::line_graph_t::fi_t

Face iterator type.

Definition at line 271 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 335: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.43 angel::line_graph_t Class Reference 327

9.43.2.6 typedef boost::graph_traits<pure_line_graph_t>::in_edge_iteratorangel::line_graph_t::ifi_t

Iterator type of a edge’s incoming faces.

Definition at line 273 of file angel_types.hpp.

9.43.2.7 typedef boost::graph_traits<pure_line_graph_t>::out_edge_iteratorangel::line_graph_t::ofi_t

Iterator type of a edge’s outgoing faces.

Definition at line 275 of file angel_types.hpp.

9.43.2.8 typedef boost::property_map<pure_line_graph_t,boost::vertex_degree_t>::const_type angel::line_graph_t::const_ed_t

Type of property edge label for const line_graph_t.

Definition at line 277 of file angel_types.hpp.

9.43.2.9 typedef boost::property_map<pure_line_graph_t,boost::vertex_degree_t>::type angel::line_graph_t::ed_t

Type of property edge label for non-const line_graph_t.

Definition at line 279 of file angel_types.hpp.

9.43.2.10 typedef boost::property_map<pure_line_graph_t,boost::vertex_name_t>::const_type angel::line_graph_t::const_evn_t

Type of edge-vertex-name property for const line_graph_t

This means an edge from line graph corresponds/belongs to an edge in c-graph, whichis represented as two integers for the source and the target vertex

Definition at line 285 of file angel_types.hpp.

9.43.2.11 typedef boost::property_map<pure_line_graph_t,boost::vertex_name_t>::type angel::line_graph_t::evn_t

Type of edge-vertex-name property for non-const line_graph_t

This means an edge from line graph corresponds/belongs to an edge in c-graph, whichis represented as two integers for the source and the target vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 336: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

328 angel Class Documentation

Definition at line 291 of file angel_types.hpp.

9.43.3 Constructor & Destructor Documentation

9.43.3.1 angel::line_graph_t::line_graph_t () [inline]

Default constructor.

Definition at line 303 of file angel_types.hpp.

9.43.3.2 angel::line_graph_t::line_graph_t (int V_, int X_, const std::vector<edge_t > & deps) [inline]

Constructor with vertex specification.

Parameters:

V_ number of all vertices

X_ number of independent vertices

deps set of dependent vertices

Definition at line 310 of file angel_types.hpp.

References dependents, and THROW_EXCEPT_MACRO.

9.43.3.3 angel::line_graph_t::line_graph_t (const c_graph_t & cg)

Constructor that builds line graph from c-graph.

Definition at line 170 of file angel_types.cpp.

References cons_ok, dependents, angel::c_graph_t::dependents, angel::overall_-markowitz_degree(), angel::renumber_edges(), THROW_DEBUG_EXCEPT_-MACRO, X, angel::c_graph_t::x(), and angel::c_graph_t::y().

Here is the call graph for this function:

angel::line_graph_t::line_graph_t

angel::overall_markowitz_degree

angel::renumber_edges

angel::c_graph_t::x

angel::c_graph_t::y

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 337: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.43 angel::line_graph_t Class Reference 329

9.43.3.4 angel::line_graph_t::line_graph_t (const line_graph_t & _g)[inline]

Copy constructor.

Definition at line 326 of file angel_types.hpp.

9.43.3.5 angel::line_graph_t::∼line_graph_t () [inline]

Destructor.

Definition at line 331 of file angel_types.hpp.

References clear_edges().

Here is the call graph for this function:

angel::line_graph_t::~line_graph_t angel::line_graph_t::clear_edges

9.43.4 Member Function Documentation

9.43.4.1 int angel::line_graph_t::x () const [inline]

Number of independent vertices.

Definition at line 295 of file angel_types.hpp.

References X.

Referenced by check(), angel::fmf_obj(), angel::operator==(), angel::xaif_edge_pr(),and z().

9.43.4.2 int angel::line_graph_t::y () const [inline]

Number of dependent vertices.

Definition at line 296 of file angel_types.hpp.

References dependents.

Referenced by check(), angel::operator==(), and z().

9.43.4.3 int angel::line_graph_t::v () const [inline]

Number of all vertices, including empty.

Definition at line 297 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 338: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

330 angel Class Documentation

Referenced by check(), clear_graph(), angel::face_elimination(), angel::operator==(),angel::accu_graph_t::set_jacobi_entries(), vertex_type(), angel::was_non_trivial_-elimination(), and z().

9.43.4.4 int angel::line_graph_t::z () const [inline]

Number of intermediate vertices.

Definition at line 298 of file angel_types.hpp.

References v(), x(), and y().

Referenced by angel::operator==().

Here is the call graph for this function:

angel::line_graph_t::z

angel::line_graph_t::v

angel::line_graph_t::x

angel::line_graph_t::y

9.43.4.5 line_graph_t& angel::line_graph_t::operator= (const line_graph_t &_g) [inline]

Assign operator.

Definition at line 334 of file angel_types.hpp.

References cgp, clear_edges(), cons_ok, dependents, and X.

Here is the call graph for this function:

angel::line_graph_t::operator= angel::line_graph_t::clear_edges

9.43.4.6 void angel::line_graph_t::swap (line_graph_t & _g) [inline]

Swap.

Note:

Properties not swapped properly!

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 339: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.43 angel::line_graph_t Class Reference 331

Definition at line 343 of file angel_types.hpp.

References cgp, cons_ok, dependents, and X.

9.43.4.7 enum vertex_type_t angel::line_graph_t::vertex_type (edge_t e) const[inline]

Type of edge e.

Definition at line 350 of file angel_types.hpp.

References angel::dead_vertex, angel::dependent, angel::independent, an-gel::intermediate, angel::undefined_vertex, and v().

Referenced by is_tripartite(), angel::markowitz_degree(), angel::overall_markowitz_-degree(), and angel::accu_graph_t::set_jacobi_entries().

Here is the call graph for this function:

angel::line_graph_t::vertex_type angel::line_graph_t::v

9.43.4.8 void angel::line_graph_t::copy_properties (const line_graph_t & _g)

Copies properties explicitly.

Definition at line 395 of file angel_types.cpp.

9.43.4.9 void angel::line_graph_t::clear_edges () [inline]

Removes edges explicitly.

Note:

It seems that BGL does not remove all edges in assignment.

Definition at line 361 of file angel_types.hpp.

Referenced by operator=(), and ∼line_graph_t().

9.43.4.10 void angel::line_graph_t::clear_graph ()

Remove all vertices that are not connected to dependent and inpedendent vertices.

Definition at line 291 of file angel_types.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 340: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

332 angel Class Documentation

References dependents, angel::reachable_vertices(), angel::relevant_vertices(), v(),and X.

Here is the call graph for this function:

angel::line_graph_t::clear_graph

angel::reachable_vertices

angel::relevant_vertices

angel::line_graph_t::v

9.43.4.11 bool angel::line_graph_t::check () const

Check consistency of graph.

Definition at line 232 of file angel_types.cpp.

References dependents, v(), x(), and y().

Referenced by angel::accu_graph_t::set_jacobi_entries().

Here is the call graph for this function:

angel::line_graph_t::check

angel::line_graph_t::v

angel::line_graph_t::x

angel::line_graph_t::y

9.43.4.12 bool angel::line_graph_t::is_tripartite () const

Whether graph is tripartite.

Definition at line 279 of file angel_types.cpp.

References angel::dependent, angel::independent, angel::intermediate, and vertex_-type().

Referenced by angel::accu_graph_t::set_jacobi_entries().

Here is the call graph for this function:

angel::line_graph_t::is_tripartite angel::line_graph_t::vertex_type angel::line_graph_t::v

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 341: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.43 angel::line_graph_t Class Reference 333

9.43.5 Friends And Related Function Documentation

9.43.5.1 int face_elimination (line_graph_t::face_t f, int kr, line_graph_t & lg,accu_graph_t & ac) [friend]

Eliminate face f from line graph lg

Parameters:

f the face

kr is a request for the number of a new node or the number of the absorbing theface, i.e. if face elimination inserts a new node into lg it should be numberwith kr and if a new node is immediately absorbed by some node k then itshould be k = kr. If the request cannot be satisfied the face is not eliminated.kr = -1 means no request.

lg the line graph

ac is a container for graphs representing the accumulation code

Returns:

The number of node inserted or where the absorption took place.

9.43.5.2 void unpack_graph (const graph_package_t & gp, line_graph_t & lg)[friend]

9.43.6 Member Data Documentation

9.43.6.1 int angel::line_graph_t::X [private]

Definition at line 259 of file angel_types.hpp.

Referenced by clear_graph(), line_graph_t(), operator=(), swap(), and x().

9.43.6.2 bool angel::line_graph_t::cons_ok [private]

Definition at line 260 of file angel_types.hpp.

Referenced by angel::face_elimination(), line_graph_t(), operator=(), and swap().

9.43.6.3 std::vector<edge_t> angel::line_graph_t::dependents

set of dependent vertices

Definition at line 293 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 342: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

334 angel Class Documentation

Referenced by check(), clear_graph(), line_graph_t(), operator=(), an-gel::operator==(), swap(), and y().

9.43.6.4 const c_graph_t∗ angel::line_graph_t::cgp

Pointer to corresponding c-graph.

Definition at line 300 of file angel_types.hpp.

Referenced by angel::face_elimination(), operator=(), and swap().

The documentation for this class was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 343: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.44 angel::lme_op_t Struct Reference 335

9.44 angel::lme_op_t Struct Reference

Public Member Functions

• int operator() (edge_bool_t eb, const c_graph_t &cg)

9.44.1 Detailed Description

Definition at line 577 of file heuristics.cpp.

9.44.2 Member Function Documentation

9.44.2.1 int angel::lme_op_t::operator() (edge_bool_t eb, const c_graph_t & cg)[inline]

Definition at line 578 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 344: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

336 angel Class Documentation

9.45 angel::lmf_op_t Struct Reference

Public Member Functions

• lmf_op_t (const line_graph_t &lg)• int operator() (line_graph_t::face_t f, const line_graph_t &lg)

Public Attributes

• vector< int > mdegree

9.45.1 Detailed Description

Definition at line 970 of file heuristics.cpp.

9.45.2 Constructor & Destructor Documentation

9.45.2.1 angel::lmf_op_t::lmf_op_t (const line_graph_t & lg) [inline]

Definition at line 972 of file heuristics.cpp.

References angel::markowitz_on_line_graph().

Here is the call graph for this function:

angel::lmf_op_t::lmf_op_t angel::markowitz_on_line_graph

9.45.3 Member Function Documentation

9.45.3.1 int angel::lmf_op_t::operator() (line_graph_t::face_t f, constline_graph_t & lg) [inline]

Definition at line 974 of file heuristics.cpp.

References angel::face_vertex_name(), and THROW_DEBUG_EXCEPT_MACRO.

Here is the call graph for this function:

angel::lmf_op_t::operator() angel::face_vertex_name

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 345: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.45 angel::lmf_op_t Struct Reference 337

9.45.4 Member Data Documentation

9.45.4.1 vector<int> angel::lmf_op_t::mdegree

Definition at line 971 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 346: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

338 angel Class Documentation

9.46 angel::lmmd_edge_t Class Reference

Class for lowest Markowitz with minimal damage in mixed edge elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lmmd_edge_t:

angel::lmmd_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lmmd_edge_t:

angel::lmmd_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lmmd_edge_t (double w)

Weight is set in the constructor.

• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,vector< edge_bool_t > &ev2)

Private Attributes

• double weight

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 347: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.46 angel::lmmd_edge_t Class Reference 339

9.46.1 Detailed Description

Class for lowest Markowitz with minimal damage in mixed edge elimination.

It searches for edges with minimal sum of Markowitz degree and weighted damaged.The damage of a edge’s elimination is defined as the increase of Markowitz degrees ofall other edges. Note that this values can be different for front and back elimination

Definition at line 643 of file heuristics.hpp.

9.46.2 Constructor & Destructor Documentation

9.46.2.1 angel::lmmd_edge_t::lmmd_edge_t (double w) [inline]

Weight is set in the constructor.

Definition at line 647 of file heuristics.hpp.

9.46.3 Member Function Documentation

9.46.3.1 int angel::lmmd_edge_t::operator() (const vector< edge_bool_t > &ev1, const c_graph_t & cg, vector< edge_bool_t > & ev2)

Heuristic computed in operator

Parameters:

ev1 Set of edges that can be eliminated

cg c-graph

ev2 Set of edges with lowest lmmd-value

Returns:

Size of vv2

Definition at line 690 of file heuristics.cpp.

References angel::standard_heuristic_op(), and weight.

Here is the call graph for this function:

angel::lmmd_edge_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 348: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

340 angel Class Documentation

9.46.4 Member Data Documentation

9.46.4.1 double angel::lmmd_edge_t::weight [private]

Definition at line 644 of file heuristics.hpp.

Referenced by operator()().

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 349: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.47 angel::lmmd_vertex_t Class Reference 341

9.47 angel::lmmd_vertex_t Class Reference

Class for lowest Markowitz with minimal damage in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lmmd_vertex_t:

angel::lmmd_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lmmd_vertex_t:

angel::lmmd_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lmmd_vertex_t (double w)

Weight is set in the constructor.

• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,vector< c_graph_t::vertex_t > &vv2)

Private Attributes

• double weight

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 350: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

342 angel Class Documentation

9.47.1 Detailed Description

Class for lowest Markowitz with minimal damage in vertex elimination.

It searches for vertices with minimal sum of Markowitz degree and weighted damaged.The damage of a vertex’s elimination is defined as the increase of Markowitz degreesof all other vertices.

Definition at line 194 of file heuristics.hpp.

9.47.2 Constructor & Destructor Documentation

9.47.2.1 angel::lmmd_vertex_t::lmmd_vertex_t (double w) [inline]

Weight is set in the constructor.

Definition at line 198 of file heuristics.hpp.

9.47.3 Member Function Documentation

9.47.3.1 int angel::lmmd_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Heuristic computed in operator

Parameters:

vv1 Set of vertices that can be eliminated

cg c-graph

vv2 Set of vertices with lowest lmmd-value

Returns:

Size of vv2

Definition at line 330 of file heuristics.cpp.

References angel::standard_heuristic_op(), and weight.

Here is the call graph for this function:

angel::lmmd_vertex_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 351: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.47 angel::lmmd_vertex_t Class Reference 343

9.47.4 Member Data Documentation

9.47.4.1 double angel::lmmd_vertex_t::weight [private]

Definition at line 195 of file heuristics.hpp.

Referenced by operator()().

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 352: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

344 angel Class Documentation

9.48 angel::lmmde_op_t Struct Reference

Public Member Functions

• lmmde_op_t (double _w)

• int operator() (edge_bool_t eb, const c_graph_t &cg)

Public Attributes

• double w

9.48.1 Detailed Description

Definition at line 682 of file heuristics.cpp.

9.48.2 Constructor & Destructor Documentation

9.48.2.1 angel::lmmde_op_t::lmmde_op_t (double _w) [inline]

Definition at line 684 of file heuristics.cpp.

9.48.3 Member Function Documentation

9.48.3.1 int angel::lmmde_op_t::operator() (edge_bool_t eb, const c_graph_t &cg) [inline]

Definition at line 685 of file heuristics.cpp.

References angel::lmmd_edge_back(), and angel::lmmd_edge_front().

Here is the call graph for this function:

angel::lmmde_op_t::operator()

angel::lmmd_edge_back

angel::lmmd_edge_front

angel::markowitz_enlargement_back

angel::sum_over_all_in_edges

angel::new_in_edges

angel::markowitz_enlargement_front

angel::sum_over_all_out_edges

angel::new_out_edges

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 353: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.48 angel::lmmde_op_t Struct Reference 345

9.48.4 Member Data Documentation

9.48.4.1 double angel::lmmde_op_t::w

Definition at line 683 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 354: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

346 angel Class Documentation

9.49 angel::lmmdv_op_t Struct Reference

Public Member Functions

• lmmdv_op_t (double _w)

• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)

Public Attributes

• double w

9.49.1 Detailed Description

Definition at line 321 of file heuristics.cpp.

9.49.2 Constructor & Destructor Documentation

9.49.2.1 angel::lmmdv_op_t::lmmdv_op_t (double _w) [inline]

Definition at line 323 of file heuristics.cpp.

9.49.3 Member Function Documentation

9.49.3.1 int angel::lmmdv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]

Definition at line 324 of file heuristics.cpp.

References angel::markowitz_enlargement_all_neighbors().

Here is the call graph for this function:

angel::lmmdv_op_t::operator() angel::markowitz_enlargement_all_neighbors

angel::markowitz_enlargement_back

angel::markowitz_enlargement_front

angel::new_in_edges

angel::new_out_edges

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 355: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.49 angel::lmmdv_op_t Struct Reference 347

9.49.4 Member Data Documentation

9.49.4.1 double angel::lmmdv_op_t::w

Definition at line 322 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 356: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

348 angel Class Documentation

9.50 angel::lmv_op_t Struct Reference

Public Member Functions

• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)

9.50.1 Detailed Description

Definition at line 62 of file heuristics.cpp.

9.50.2 Member Function Documentation

9.50.2.1 int angel::lmv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]

Definition at line 63 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 357: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.51 angel::LOG_temperature_t Class Reference 349

9.51 angel::LOG_temperature_t Class Reference

Functor that returns logarithmic temperature for LSA.

#include <sa.hpp>

Public Member Functions

• LOG_temperature_t (double p_gamma)Set Gamma in constructor.

• double operator() (int it) constLOG temperature in iteration it.

Private Attributes

• double gamma

9.51.1 Detailed Description

Functor that returns logarithmic temperature for LSA.

Definition at line 33 of file sa.hpp.

9.51.2 Constructor & Destructor Documentation

9.51.2.1 angel::LOG_temperature_t::LOG_temperature_t (double p_gamma)[inline]

Set Gamma in constructor.

Definition at line 37 of file sa.hpp.

9.51.3 Member Function Documentation

9.51.3.1 double angel::LOG_temperature_t::operator() (int it) const[inline]

LOG temperature in iteration it.

Definition at line 39 of file sa.hpp.

References gamma.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 358: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

350 angel Class Documentation

9.51.4 Member Data Documentation

9.51.4.1 double angel::LOG_temperature_t::gamma [private]

Definition at line 34 of file sa.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/sa.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 359: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.52 angel::lowest_fill_in_vertex_t Class Reference 351

9.52 angel::lowest_fill_in_vertex_t Class Reference

Operator class for lowest fill-in in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_fill_in_vertex_t:

angel::lowest_fill_in_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_fill_in_vertex_t:

angel::lowest_fill_in_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lowest_fill_in_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

9.52.1 Detailed Description

Operator class for lowest fill-in in vertex elimination.

operator() is equivalent to lowest_fill_in_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 360: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

352 angel Class Documentation

See also:

lowest_fill_in_vertexforward_mode_vertex_t

Definition at line 168 of file heuristics.hpp.

9.52.2 Constructor & Destructor Documentation

9.52.2.1 angel::lowest_fill_in_vertex_t::lowest_fill_in_vertex_t () [inline]

Definition at line 170 of file heuristics.hpp.

9.52.3 Member Function Documentation

9.52.3.1 int angel::lowest_fill_in_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Definition at line 176 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::lowest_fill_in_vertex_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 361: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.53 angel::lowest_markowitz_edge_t Class Reference 353

9.53 angel::lowest_markowitz_edge_t Class Reference

Operator class for lowest Markowitz in mixed edge elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_markowitz_edge_t:

angel::lowest_markowitz_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_markowitz_edge_t:

angel::lowest_markowitz_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lowest_markowitz_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,

vector< edge_bool_t > &ev2)

9.53.1 Detailed Description

Operator class for lowest Markowitz in mixed edge elimination.

operator() is equivalent to lowest_markowitz_edge ( const vector<edge_bool_t>&ev1, const c_graph_t& cg, vector<edge_bool_t>& ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 362: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

354 angel Class Documentation

See also:

forward_mode_vertex_t

Definition at line 491 of file heuristics.hpp.

9.53.2 Constructor & Destructor Documentation

9.53.2.1 angel::lowest_markowitz_edge_t::lowest_markowitz_edge_t ()[inline]

Definition at line 493 of file heuristics.hpp.

9.53.3 Member Function Documentation

9.53.3.1 int angel::lowest_markowitz_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)

Definition at line 583 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::lowest_markowitz_edge_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 363: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.54 angel::lowest_markowitz_face_complete_t< Heuristic_t > Class TemplateReference 355

9.54 angel::lowest_markowitz_face_complete_t<Heuristic_t > Class Template Reference

Lowest Markowitz for face elimination with completion of vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:

angel::lowest_markowitz_face_complete_t< Heuristic_t >

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_markowitz_face_complete_t< Heuristic_t >:

angel::lowest_markowitz_face_complete_t< Heuristic_t >

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Heuristic_t

tiebreaker

Public Member Functions

• lowest_markowitz_face_complete_t (Heuristic_t t)

Constructor with tie-breaker heuristic.

• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t&lg, vector< line_graph_t::face_t > &fv2)

Heuristic computed in operator.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 364: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

356 angel Class Documentation

Private Attributes

• int lastv• Heuristic_t tiebreaker

9.54.1 Detailed Description

template<class Heuristic_t> class angel::lowest_markowitz_face_complete_t<Heuristic_t >

Lowest Markowitz for face elimination with completion of vertex elimination.

Computation of Markowitz degree as in lowest_markowitz_face(). Tie-breaker heuris-tic used to find unique vertex j to eliminate. Multiple faces can be returned by thetie-breaker but they belong to the same vertex, e.g. like reverse_mode_face_whole_-vertex(). The vertex j is saved and all following calls return faces belonging to j as longas their are any in fv1. If all faces belonging to j are contained in fv1, the vertex iscompletely eliminated.

Definition at line 932 of file heuristics.hpp.

9.54.2 Constructor & Destructor Documentation

9.54.2.1 template<class Heuristic_t> angel::lowest_markowitz_face_-complete_t< Heuristic_t >::lowest_markowitz_face_complete_t(Heuristic_t t) [inline]

Constructor with tie-breaker heuristic.

Definition at line 937 of file heuristics.hpp.

9.54.3 Member Function Documentation

9.54.3.1 template<typename Heuristic_t> int angel::lowest_markowitz_-face_complete_t< Heuristic_t >::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2) [inline]

Heuristic computed in operator.

Parameters:

fv1 Set of faces that can be eliminated

lg Line graph

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 365: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.54 angel::lowest_markowitz_face_complete_t< Heuristic_t > Class TemplateReference 357

fv2 Set of faces with the lowest Markowitz degree (see description)

Returns:

Size of fv2

Definition at line 12 of file heuristics_impl.hpp.

References angel::lowest_markowitz_face_complete_t< Heuristic_t >::lastv,angel::markowitz_on_line_graph(), THROW_DEBUG_EXCEPT_MACRO,THROW_EXCEPT_MACRO, and angel::lowest_markowitz_face_complete_t<Heuristic_t >::tiebreaker.

Here is the call graph for this function:

angel::lowest_markowitz_face_complete_t::operator() angel::markowitz_on_line_graph

9.54.4 Member Data Documentation

9.54.4.1 template<class Heuristic_t> int angel::lowest_-markowitz_face_complete_t< Heuristic_t >::lastv[private]

Definition at line 933 of file heuristics.hpp.

Referenced by angel::lowest_markowitz_face_complete_t< Heuristic_-t >::operator()().

9.54.4.2 template<class Heuristic_t> Heuristic_t angel::lowest_-markowitz_face_complete_t< Heuristic_t >::tiebreaker[private]

Definition at line 934 of file heuristics.hpp.

Referenced by angel::lowest_markowitz_face_complete_t< Heuristic_-t >::operator()().

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/include/heuristics_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 366: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

358 angel Class Documentation

9.55 angel::lowest_markowitz_face_t Class Reference

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_markowitz_face_t:

angel::lowest_markowitz_face_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_markowitz_face_t:

angel::lowest_markowitz_face_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lowest_markowitz_face_t ()

• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t&lg, vector< line_graph_t::face_t > &fv2)

9.55.1 Detailed Description

Definition at line 874 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 367: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.55 angel::lowest_markowitz_face_t Class Reference 359

9.55.2 Constructor & Destructor Documentation

9.55.2.1 angel::lowest_markowitz_face_t::lowest_markowitz_face_t ()[inline]

Definition at line 876 of file heuristics.hpp.

9.55.3 Member Function Documentation

9.55.3.1 int angel::lowest_markowitz_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)

Definition at line 980 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::lowest_markowitz_face_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 368: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

360 angel Class Documentation

9.56 angel::lowest_markowitz_vertex_t Class Refer-ence

Operator class for lowest Markowitz in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_markowitz_vertex_t:

angel::lowest_markowitz_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_markowitz_vertex_t:

angel::lowest_markowitz_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lowest_markowitz_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

9.56.1 Detailed Description

Operator class for lowest Markowitz in vertex elimination.

operator() is equivalent to lowest_markowitz_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 369: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.56 angel::lowest_markowitz_vertex_t Class Reference 361

See also:

lowest_markowitz_vertexforward_mode_vertex_t

Definition at line 116 of file heuristics.hpp.

9.56.2 Constructor & Destructor Documentation

9.56.2.1 angel::lowest_markowitz_vertex_t::lowest_markowitz_vertex_t ()[inline]

Definition at line 118 of file heuristics.hpp.

9.56.3 Member Function Documentation

9.56.3.1 int angel::lowest_markowitz_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Definition at line 67 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::lowest_markowitz_vertex_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 370: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

362 angel Class Documentation

9.57 angel::lowest_relative_markowitz_edge_t ClassReference

Operator class for lowest relative Markowitz in mixed edge elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_relative_markowitz_edge_t:

angel::lowest_relative_markowitz_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_relative_markowitz_edge_t:

angel::lowest_relative_markowitz_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lowest_relative_markowitz_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,

vector< edge_bool_t > &ev2)

9.57.1 Detailed Description

Operator class for lowest relative Markowitz in mixed edge elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 371: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.57 angel::lowest_relative_markowitz_edge_t Class Reference 363

operator() is equivalent to lowest_relative_markowitz_edge ( const vector<edge_-bool_t>& ev1, const c_graph_t& cg, vector<edge_bool_t>& ev2)

See also:

forward_mode_vertex_t

Definition at line 567 of file heuristics.hpp.

9.57.2 Constructor & Destructor Documentation

9.57.2.1 angel::lowest_relative_markowitz_edge_t::lowest_relative_-markowitz_edge_t () [inline]

Definition at line 569 of file heuristics.hpp.

9.57.3 Member Function Documentation

9.57.3.1 int angel::lowest_relative_markowitz_edge_t::operator() (constvector< edge_bool_t > & ev1, const c_graph_t & cg, vector<edge_bool_t > & ev2)

Definition at line 614 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::lowest_relative_markowitz_edge_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 372: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

364 angel Class Documentation

9.58 angel::lowest_relative_markowitz_vertex_t ClassReference

Operator class for relative lowest Markowitz in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::lowest_relative_markowitz_vertex_t:

angel::lowest_relative_markowitz_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::lowest_relative_markowitz_vertex_t:

angel::lowest_relative_markowitz_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• lowest_relative_markowitz_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

9.58.1 Detailed Description

Operator class for relative lowest Markowitz in vertex elimination.

operator() is equivalent to lowest_relative_markowitz_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 373: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.58 angel::lowest_relative_markowitz_vertex_t Class Reference 365

See also:

lowest_relative_markowitz_vertexforward_mode_vertex_t

Definition at line 142 of file heuristics.hpp.

9.58.2 Constructor & Destructor Documentation

9.58.2.1 angel::lowest_relative_markowitz_vertex_t::lowest_relative_-markowitz_vertex_t () [inline]

Definition at line 144 of file heuristics.hpp.

9.58.3 Member Function Documentation

9.58.3.1 int angel::lowest_relative_markowitz_vertex_t::operator() (constvector< c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Definition at line 95 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::lowest_relative_markowitz_vertex_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 374: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

366 angel Class Documentation

9.59 angel::lrm_op_t Struct Reference

Public Member Functions

• lrm_op_t (const c_graph_t &cg)• int operator() (bool front, c_graph_t::edge_t edge, const c_graph_t &cg)• int operator() (edge_bool_t eb, const c_graph_t &cg)• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)

Public Attributes

• vector< int > indep• vector< int > dep

9.59.1 Detailed Description

Definition at line 81 of file heuristics.cpp.

9.59.2 Constructor & Destructor Documentation

9.59.2.1 angel::lrm_op_t::lrm_op_t (const c_graph_t & cg) [inline]

Definition at line 83 of file heuristics.cpp.

References angel::number_dependent_vertices(), and angel::number_independent_-vertices().

Here is the call graph for this function:

angel::lrm_op_t::lrm_op_t

angel::number_dependent_vertices

angel::number_independent_vertices angel::c_graph_t::x

9.59.3 Member Function Documentation

9.59.3.1 int angel::lrm_op_t::operator() (bool front, c_graph_t::edge_t edge,const c_graph_t & cg) [inline]

Definition at line 85 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 375: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.59 angel::lrm_op_t Struct Reference 367

9.59.3.2 int angel::lrm_op_t::operator() (edge_bool_t eb, const c_graph_t & cg)[inline]

Definition at line 88 of file heuristics.cpp.

9.59.3.3 int angel::lrm_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]

Definition at line 91 of file heuristics.cpp.

9.59.4 Member Data Documentation

9.59.4.1 vector<int> angel::lrm_op_t::indep

Definition at line 82 of file heuristics.cpp.

9.59.4.2 vector<int> angel::lrm_op_t::dep

Definition at line 82 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 376: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

368 angel Class Documentation

9.60 angel::markowitz_enlargement_back_t StructReference

Public Member Functions

• markowitz_enlargement_back_t (c_graph_t::edge_t e)• int operator() (c_graph_t::edge_t e2, const c_graph_t &cg) const

Public Attributes

• c_graph_t::edge_t _e

9.60.1 Detailed Description

Definition at line 308 of file heuristics.cpp.

9.60.2 Constructor & Destructor Documentation

9.60.2.1 angel::markowitz_enlargement_back_t::markowitz_enlargement_-back_t (c_graph_t::edge_t e) [inline]

Definition at line 310 of file heuristics.cpp.

9.60.3 Member Function Documentation

9.60.3.1 int angel::markowitz_enlargement_back_t::operator()(c_graph_t::edge_t e2, const c_graph_t & cg) const [inline]

Definition at line 311 of file heuristics.cpp.

References angel::markowitz_enlargement_back().

Here is the call graph for this function:

angel::markowitz_enlargement_back_t::operator() angel::markowitz_enlargement_back angel::new_in_edges

9.60.4 Member Data Documentation

9.60.4.1 c_graph_t::edge_t angel::markowitz_enlargement_back_t::_e

Definition at line 309 of file heuristics.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 377: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.60 angel::markowitz_enlargement_back_t Struct Reference 369

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 378: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

370 angel Class Documentation

9.61 angel::markowitz_enlargement_front_t StructReference

Public Member Functions

• markowitz_enlargement_front_t (c_graph_t::edge_t e)

• int operator() (c_graph_t::edge_t e2, const c_graph_t &cg) const

Public Attributes

• c_graph_t::edge_t _e

9.61.1 Detailed Description

Definition at line 301 of file heuristics.cpp.

9.61.2 Constructor & Destructor Documentation

9.61.2.1 angel::markowitz_enlargement_front_t::markowitz_-enlargement_front_t (c_graph_t::edge_t e)[inline]

Definition at line 303 of file heuristics.cpp.

9.61.3 Member Function Documentation

9.61.3.1 int angel::markowitz_enlargement_front_t::operator()(c_graph_t::edge_t e2, const c_graph_t & cg) const [inline]

Definition at line 304 of file heuristics.cpp.

References angel::markowitz_enlargement_front().

Here is the call graph for this function:

angel::markowitz_enlargement_front_t::operator() angel::markowitz_enlargement_front

angel::new_out_edges

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 379: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.61 angel::markowitz_enlargement_front_t Struct Reference 371

9.61.4 Member Data Documentation

9.61.4.1 c_graph_t::edge_t angel::markowitz_enlargement_front_t::_e

Definition at line 302 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 380: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

372 angel Class Documentation

9.62 angel::minimal_distance_edge_t Class Reference

Minimizes the maximal distance of vertices involved in an edge elimination The mo-tivation is that for small distances it is not very probable to re-insert one of new edgeslater.

#include <heuristics.hpp>

Inheritance diagram for angel::minimal_distance_edge_t:

angel::minimal_distance_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::minimal_distance_edge_t:

angel::minimal_distance_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• minimal_distance_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,

vector< edge_bool_t > &ev2)

9.62.1 Detailed Description

Minimizes the maximal distance of vertices involved in an edge elimination The mo-tivation is that for small distances it is not very probable to re-insert one of new edges

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 381: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.62 angel::minimal_distance_edge_t Class Reference 373

later.

Definition at line 749 of file heuristics.hpp.

9.62.2 Constructor & Destructor Documentation

9.62.2.1 angel::minimal_distance_edge_t::minimal_distance_edge_t ()[inline]

Definition at line 751 of file heuristics.hpp.

9.62.3 Member Function Documentation

9.62.3.1 int angel::minimal_distance_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)

Definition at line 830 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::minimal_distance_edge_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 382: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

374 angel Class Documentation

9.63 angel::minimal_distance_face_t Class Reference

Minimal distance for face elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::minimal_distance_face_t:

angel::minimal_distance_face_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::minimal_distance_face_t:

angel::minimal_distance_face_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• minimal_distance_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t

&lg, vector< line_graph_t::face_t > &fv2)

9.63.1 Detailed Description

Minimal distance for face elimination.

Parameters:

fv1 Set of faces that can be eliminated

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 383: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.63 angel::minimal_distance_face_t Class Reference 375

lg Line graph

fv2 Set of faces with minimal distance (see description)

Returns:

Size of fv2

In terms of vertex numbers, each face has a representation (i, j, k) (whereby severalfaces may have the same triplet). Faces where k - i is minimal are returned. Themotivation is that for small k-i it is not very probable to re-insert this face later.

Definition at line 996 of file heuristics.hpp.

9.63.2 Constructor & Destructor Documentation

9.63.2.1 angel::minimal_distance_face_t::minimal_distance_face_t ()[inline]

Definition at line 998 of file heuristics.hpp.

9.63.3 Member Function Documentation

9.63.3.1 int angel::minimal_distance_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)

Definition at line 1115 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::minimal_distance_face_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 384: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

376 angel Class Documentation

9.64 angel::momr_edge_t Class Reference

Operator class for lowest Markowitz in mixed edge elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::momr_edge_t:

angel::momr_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::momr_edge_t:

angel::momr_edge_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• momr_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,

vector< edge_bool_t > &ev2)

9.64.1 Detailed Description

Operator class for lowest Markowitz in mixed edge elimination.

operator() is equivalent to momr_edge ( const vector<edge_bool_t>& ev1, const c_-graph_t& cg, vector<edge_bool_t>& ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 385: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.64 angel::momr_edge_t Class Reference 377

See also:

forward_mode_vertex_t

Definition at line 726 of file heuristics.hpp.

9.64.2 Constructor & Destructor Documentation

9.64.2.1 angel::momr_edge_t::momr_edge_t () [inline]

Definition at line 728 of file heuristics.hpp.

9.64.3 Member Function Documentation

9.64.3.1 int angel::momr_edge_t::operator() (const vector< edge_bool_t > &ev1, const c_graph_t & cg, vector< edge_bool_t > & ev2)

Definition at line 801 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::momr_edge_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 386: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

378 angel Class Documentation

9.65 angel::momr_face_t Class Reference

Operator class for maximal overall Markowitz degree reduction in face elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::momr_face_t:

angel::momr_face_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::momr_face_t:

angel::momr_face_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• momr_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t

&lg, vector< line_graph_t::face_t > &fv2)

9.65.1 Detailed Description

Operator class for maximal overall Markowitz degree reduction in face elimination.

operator() is equivalent to momr_face

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 387: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.65 angel::momr_face_t Class Reference 379

See also:

momr_faceforward_mode_vertex_t

Definition at line 961 of file heuristics.hpp.

9.65.2 Constructor & Destructor Documentation

9.65.2.1 angel::momr_face_t::momr_face_t () [inline]

Definition at line 963 of file heuristics.hpp.

9.65.3 Member Function Documentation

9.65.3.1 int angel::momr_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)

Definition at line 1095 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::momr_face_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 388: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

380 angel Class Documentation

9.66 angel::momr_vertex_t Class Reference

Operator class for maximal overall Markowitz degree reduction in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::momr_vertex_t:

angel::momr_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::momr_vertex_t:

angel::momr_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• momr_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

Maximal overall Markowitz degree reduction in vertex elimination.

9.66.1 Detailed Description

Operator class for maximal overall Markowitz degree reduction in vertex elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 389: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.66 angel::momr_vertex_t Class Reference 381

See also:

momr_vertexforward_mode_vertex_t

Definition at line 226 of file heuristics.hpp.

9.66.2 Constructor & Destructor Documentation

9.66.2.1 angel::momr_vertex_t::momr_vertex_t () [inline]

Definition at line 228 of file heuristics.hpp.

9.66.3 Member Function Documentation

9.66.3.1 int angel::momr_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Maximal overall Markowitz degree reduction in vertex elimination.

Parameters:

vv1 Set of vertices that can be eliminatedcg c-graphvv2 Set of vertices with maximal overall Markowitz degree reduction

Returns:

Size of vv2

Definition at line 356 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::momr_vertex_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 390: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

382 angel Class Documentation

9.67 angel::momre_op_t Struct Reference

Public Member Functions

• int operator() (bool front, c_graph_t::edge_t edge, const c_graph_t &cg)• int operator() (edge_bool_t eb, const c_graph_t &cg)

9.67.1 Detailed Description

Definition at line 775 of file heuristics.cpp.

9.67.2 Member Function Documentation

9.67.2.1 int angel::momre_op_t::operator() (bool front, c_graph_t::edge_t edge,const c_graph_t & cg) [inline]

Definition at line 776 of file heuristics.cpp.

References angel::momr_edge_back(), and angel::momr_edge_front().

Here is the call graph for this function:

angel::momre_op_t::operator()

angel::momr_edge_back

angel::momr_edge_front

angel::momr_edge_f

9.67.2.2 int angel::momre_op_t::operator() (edge_bool_t eb, const c_graph_t &cg) [inline]

Definition at line 778 of file heuristics.cpp.

References angel::momr_edge_back(), and angel::momr_edge_front().

Here is the call graph for this function:

angel::momre_op_t::operator()

angel::momr_edge_back

angel::momr_edge_front

angel::momr_edge_f

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 391: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.68 angel::momrf_op_t Struct Reference 383

9.68 angel::momrf_op_t Struct Reference

Public Member Functions

• int operator() (line_graph_t::face_t f, const line_graph_t &lg)

9.68.1 Detailed Description

Definition at line 1045 of file heuristics.cpp.

9.68.2 Member Function Documentation

9.68.2.1 int angel::momrf_op_t::operator() (line_graph_t::face_t f, constline_graph_t & lg) [inline]

Definition at line 1046 of file heuristics.cpp.

References angel::face_elimination(), angel::face_vertex_name(), angel::overall_-markowitz_degree(), angel::same_edge(), angel::sum_over_all_in_edges(),angel::sum_over_all_out_edges(), THROW_DEBUG_EXCEPT_MACRO,angel::write_graph(), and angel::write_vertex_property().

Here is the call graph for this function:

angel::momrf_op_t::operator()

angel::face_elimination

angel::face_vertex_name

angel::overall_markowitz_degree

angel::same_edge

angel::sum_over_all_in_edges

angel::sum_over_all_out_edges

angel::write_graph

angel::write_vertex_property

angel::remove_irrelevant_edges

angel::remove_unreachable_edges

angel::same_neighbors

angel::same_predecessors

angel::sorted_predecessor_set

angel::same_successors

angel::sorted_successor_set

angel::line_graph_t::v

angel::unique_vector

angel::predecessor_set

angel::successor_set

angel::write_vector

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 392: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

384 angel Class Documentation

9.69 angel::momrv_op_t Struct Reference

Public Member Functions

• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)

9.69.1 Detailed Description

Definition at line 344 of file heuristics.cpp.

9.69.2 Member Function Documentation

9.69.2.1 int angel::momrv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]

Definition at line 345 of file heuristics.cpp.

References angel::markowitz_enlargement_all_neighbors(), angel::overall_-markowitz_degree(), THROW_DEBUG_EXCEPT_MACRO, and angel::vertex_-elimination().

Here is the call graph for this function:

angel::momrv_op_t::operator()

angel::markowitz_enlargement_all_neighbors

angel::overall_markowitz_degree

angel::vertex_elimination

angel::markowitz_enlargement_back

angel::markowitz_enlargement_front

angel::new_in_edges

angel::new_out_edges

angel::vertex_type

angel::back_edge_elimination angel::edge

angel::c_graph_t::vertex_type angel::c_graph_t::v

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 393: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.70 angel::moplr_vertex_t Class Reference 385

9.70 angel::moplr_vertex_t Class Reference

Operator class for maximal overall path length reduction in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::moplr_vertex_t:

angel::moplr_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::moplr_vertex_t:

angel::moplr_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• moplr_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

9.70.1 Detailed Description

Operator class for maximal overall path length reduction in vertex elimination.

operator() is equivalent to moplr_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 394: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

386 angel Class Documentation

See also:

moplr_vertexforward_mode_vertex_t

Definition at line 253 of file heuristics.hpp.

9.70.2 Constructor & Destructor Documentation

9.70.2.1 angel::moplr_vertex_t::moplr_vertex_t () [inline]

Definition at line 255 of file heuristics.hpp.

9.70.3 Member Function Documentation

9.70.3.1 int angel::moplr_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Definition at line 436 of file heuristics.cpp.

References angel::standard_heuristic_op().

Here is the call graph for this function:

angel::moplr_vertex_t::operator() angel::standard_heuristic_op

angel::base_heuristic_t::set_objective

angel::base_heuristic_t::to_maximize

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 395: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.71 angel::neighbor_check_meta_t Struct Reference 387

9.71 angel::neighbor_check_meta_t Struct Reference

SA neighborhood either eliminate face from eh.cg or undo some previous elimination.

#include <sa.hpp>

Public Member Functions

• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)

9.71.1 Detailed Description

SA neighborhood either eliminate face from eh.cg or undo some previous elimination.

Parameters:

eh

Returns:

If it was successful

Some element is removed from the elimination sequence and then it is check if theremaining sequence can be applied to the original graph eh.og. In addition it ischecked if the resulting graph is a predecessor of eh.cg in the meta-graph. In caseof failure the elimination sequence is restored and another element is tried until someshortened sequence is applicable.

Definition at line 238 of file sa.hpp.

9.71.2 Member Function Documentation

9.71.2.1 template<class Ad_graph_t, class El_spec_t> boolangel::neighbor_check_meta_t::operator() (elimination_history_t<Ad_graph_t, El_spec_t > & eh) [inline]

Definition at line 146 of file sa_impl.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::elimination(), angel::random(), angel::random_high(),angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::seq.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 396: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

388 angel Class Documentation

Here is the call graph for this function:

angel::neighbor_check_meta_t::operator()

angel::eliminatable_objects

angel::eliminateangel::elimination_history_t::elimination

angel::random

angel::random_high

angel::elimination_history_t::rebuild_graph

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

The documentation for this struct was generated from the following files:

• angel/include/sa.hpp• angel/include/sa_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 397: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.72 angel::neighbor_last_removable_t Struct Reference 389

9.72 angel::neighbor_last_removable_t Struct Refer-ence

SA neighborhood either eliminate sth from eh.cg or undo last elimination.

#include <sa.hpp>

Public Member Functions

• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)

9.72.1 Detailed Description

SA neighborhood either eliminate sth from eh.cg or undo last elimination.

Parameters:

eh (for operator())

Returns:

If it was successful

Definition at line 181 of file sa.hpp.

9.72.2 Member Function Documentation

9.72.2.1 template<class Ad_graph_t, class El_spec_t> boolangel::neighbor_last_removable_t::operator() (elimination_history_t<Ad_graph_t, El_spec_t > & eh) [inline]

Definition at line 81 of file sa_impl.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t< Ad_-graph_t, El_spec_t >::elimination(), angel::random(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::rebuild_graph(), and angel::elimination_history_t<Ad_graph_t, El_spec_t >::seq.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 398: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

390 angel Class Documentation

Here is the call graph for this function:

angel::neighbor_last_removable_t::operator()

angel::eliminatable_objects

angel::eliminateangel::elimination_history_t::elimination

angel::random

angel::elimination_history_t::rebuild_graph

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

The documentation for this struct was generated from the following files:

• angel/include/sa.hpp• angel/include/sa_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 399: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.73 angel::neighbor_multi_step_t Class Reference 391

9.73 angel::neighbor_multi_step_t Class Reference

SA neighborhood for multiple eliminations or re-insertions.

#include <sa.hpp>

Public Member Functions

• neighbor_multi_step_t (int m)

Constructor defining the maximal number of steps.

• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)

Private Attributes

• int max_steps

9.73.1 Detailed Description

SA neighborhood for multiple eliminations or re-insertions.

It either eliminate between 1 and max_steps faces from eh.cg or undo last one tomax_steps eliminations.

Definition at line 191 of file sa.hpp.

9.73.2 Constructor & Destructor Documentation

9.73.2.1 angel::neighbor_multi_step_t::neighbor_multi_step_t (int m)[inline]

Constructor defining the maximal number of steps.

Definition at line 195 of file sa.hpp.

9.73.3 Member Function Documentation

9.73.3.1 template<class Ad_graph_t, class El_spec_t> boolangel::neighbor_multi_step_t::operator() (elimination_history_t<Ad_graph_t, El_spec_t > & eh) [inline]

Definition at line 98 of file sa_impl.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 400: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

392 angel Class Documentation

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t< Ad_-graph_t, El_spec_t >::elimination(), max_steps, angel::random(), angel::elimination_-history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), and angel::elimination_-history_t< Ad_graph_t, El_spec_t >::seq.

Here is the call graph for this function:

angel::neighbor_multi_step_t::operator()

angel::eliminatable_objects

angel::eliminateangel::elimination_history_t::elimination

angel::random

angel::elimination_history_t::rebuild_graph

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

9.73.4 Member Data Documentation

9.73.4.1 int angel::neighbor_multi_step_t::max_steps [private]

Definition at line 192 of file sa.hpp.

Referenced by operator()().

The documentation for this class was generated from the following files:

• angel/include/sa.hpp• angel/include/sa_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 401: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.74 angel::neighbor_sequence_check_t Struct Reference 393

9.74 angel::neighbor_sequence_check_t Struct Refer-ence

SA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.

#include <sa.hpp>

Public Member Functions

• template<class Ad_graph_t, class El_spec_t>bool operator() (elimination_history_t< Ad_graph_t, El_spec_t > &eh)

9.74.1 Detailed Description

SA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.

Parameters:

eh

Returns:

If it was successful

Some element is removed from the elimination sequence and then it is checked if theremaining sequence can be applied to the original graph eh.og. In case of failurethe elimination sequence is restored and another element is tried until some shortenedsequence is applicable.

Definition at line 209 of file sa.hpp.

9.74.2 Member Function Documentation

9.74.2.1 template<class Ad_graph_t, class El_spec_t> bool angel::neighbor_-sequence_check_t::operator() (elimination_history_t< Ad_graph_t,El_spec_t > & eh) [inline]

Definition at line 120 of file sa_impl.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg,angel::eliminatable_objects(), angel::eliminate(), angel::elimination_history_t<Ad_graph_t, El_spec_t >::elimination(), angel::random(), angel::random_high(),

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 402: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

394 angel Class Documentation

angel::elimination_history_t< Ad_graph_t, El_spec_t >::rebuild_graph(), andangel::elimination_history_t< Ad_graph_t, El_spec_t >::seq.

Here is the call graph for this function:

angel::neighbor_sequence_check_t::operator()

angel::eliminatable_objects

angel::eliminateangel::elimination_history_t::elimination

angel::random

angel::random_high

angel::elimination_history_t::rebuild_graph

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination

angel::edge

angel::vertex_type

The documentation for this struct was generated from the following files:

• angel/include/sa.hpp• angel/include/sa_impl.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 403: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.75 angel::new_iks_t Class Reference 395

9.75 angel::new_iks_t Class Reference

Public Member Functions

• new_iks_t (int _i, int _k)

• int operator() (line_graph_t::face_t jks, const line_graph_t &lg) const

Private Attributes

• int i

• int k

9.75.1 Detailed Description

Definition at line 1020 of file heuristics.cpp.

9.75.2 Constructor & Destructor Documentation

9.75.2.1 angel::new_iks_t::new_iks_t (int _i, int _k) [inline]

Definition at line 1023 of file heuristics.cpp.

9.75.3 Member Function Documentation

9.75.3.1 int angel::new_iks_t::operator() (line_graph_t::face_t jks, constline_graph_t & lg) const [inline]

Definition at line 1024 of file heuristics.cpp.

References angel::dependent, angel::edge_vertex_name(), THROW_DEBUG_-EXCEPT_MACRO, and angel::vertex_type().

Here is the call graph for this function:

angel::new_iks_t::operator()

angel::edge_vertex_name

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 404: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

396 angel Class Documentation

9.75.4 Member Data Documentation

9.75.4.1 int angel::new_iks_t::i [private]

Definition at line 1021 of file heuristics.cpp.

9.75.4.2 int angel::new_iks_t::k [private]

Definition at line 1021 of file heuristics.cpp.

The documentation for this class was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 405: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.76 angel::new_pik_t Class Reference 397

9.76 angel::new_pik_t Class Reference

Public Member Functions

• new_pik_t (int _i, int _k)

• int operator() (line_graph_t::face_t pij, const line_graph_t &lg) const

Private Attributes

• int i

• int k

9.76.1 Detailed Description

Definition at line 994 of file heuristics.cpp.

9.76.2 Constructor & Destructor Documentation

9.76.2.1 angel::new_pik_t::new_pik_t (int _i, int _k) [inline]

Definition at line 997 of file heuristics.cpp.

9.76.3 Member Function Documentation

9.76.3.1 int angel::new_pik_t::operator() (line_graph_t::face_t pij, constline_graph_t & lg) const [inline]

Definition at line 998 of file heuristics.cpp.

References angel::edge_vertex_name(), angel::independent, THROW_DEBUG_-EXCEPT_MACRO, and angel::vertex_type().

Here is the call graph for this function:

angel::new_pik_t::operator()

angel::edge_vertex_name

angel::vertex_type

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 406: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

398 angel Class Documentation

9.76.4 Member Data Documentation

9.76.4.1 int angel::new_pik_t::i [private]

Definition at line 995 of file heuristics.cpp.

9.76.4.2 int angel::new_pik_t::k [private]

Definition at line 995 of file heuristics.cpp.

The documentation for this class was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 407: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.77 angel::no_output_t Struct Reference 399

9.77 angel::no_output_t Struct Reference

#include <angel_io.hpp>

Inheritance diagram for angel::no_output_t:

angel::no_output_t

angel::string_stream_output_t

angel::stream_output_t angel::vis_display_output_t

Public Member Functions

• void operator() (const std::string &)

• void operator() (const std::ostringstream &)

• template<class Ad_graph_t>void write_graph (const std::string &, const Ad_graph_t &)

9.77.1 Detailed Description

Definition at line 476 of file angel_io.hpp.

9.77.2 Member Function Documentation

9.77.2.1 void angel::no_output_t::operator() (const std::string &) [inline]

Reimplemented in angel::string_stream_output_t.

Definition at line 477 of file angel_io.hpp.

9.77.2.2 void angel::no_output_t::operator() (const std::ostringstream &)[inline]

Reimplemented in angel::string_stream_output_t.

Definition at line 478 of file angel_io.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 408: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

400 angel Class Documentation

9.77.2.3 template<class Ad_graph_t> void angel::no_output_t::write_graph(const std::string &, const Ad_graph_t &) [inline]

Reimplemented in angel::stream_output_t, and angel::vis_display_output_t.

Definition at line 480 of file angel_io.hpp.

The documentation for this struct was generated from the following file:

• angel/include/angel_io.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 409: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.78 angel::not_lex_less_face_line_t Class Reference 401

9.78 angel::not_lex_less_face_line_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::not_lex_less_face_line_t:

angel::not_lex_less_face_line_t

angel::line_graph_t

lg

angel::c_graph_t

cgp

Public Member Functions

• not_lex_less_face_line_t (const line_graph_t &g)

• bool operator() (const line_graph_t::face_t &e1, const line_graph_t::face_t &e2)

Private Attributes

• const line_graph_t & lg

9.78.1 Detailed Description

Definition at line 497 of file angel_tools.hpp.

9.78.2 Constructor & Destructor Documentation

9.78.2.1 angel::not_lex_less_face_line_t::not_lex_less_face_line_t (constline_graph_t & g) [inline]

Definition at line 501 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 410: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

402 angel Class Documentation

9.78.3 Member Function Documentation

9.78.3.1 bool angel::not_lex_less_face_line_t::operator() (constline_graph_t::face_t & e1, const line_graph_t::face_t & e2)[inline]

Definition at line 503 of file angel_tools.hpp.

References angel::lex_less_face(), and lg.

Here is the call graph for this function:

angel::not_lex_less_face_line_t::operator() angel::lex_less_face

angel::write_graph

angel::write_vertex_property

angel::write_vector

9.78.4 Member Data Documentation

9.78.4.1 const line_graph_t& angel::not_lex_less_face_line_t::lg [private]

Definition at line 498 of file angel_tools.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 411: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.79 angel::oplrv_op_t Struct Reference 403

9.79 angel::oplrv_op_t Struct Reference

Public Member Functions

• oplrv_op_t (const c_graph_t &cg)• int operator() (c_graph_t::vertex_t v, const c_graph_t &cg)

Public Attributes

• vector< int > vni• vector< int > vli• vector< int > vno• vector< int > vlo

9.79.1 Detailed Description

Definition at line 424 of file heuristics.cpp.

9.79.2 Constructor & Destructor Documentation

9.79.2.1 angel::oplrv_op_t::oplrv_op_t (const c_graph_t & cg) [inline]

Definition at line 426 of file heuristics.cpp.

References angel::in_out_path_lengths().

Here is the call graph for this function:

angel::oplrv_op_t::oplrv_op_t angel::in_out_path_lengths angel::c_graph_t::x

9.79.3 Member Function Documentation

9.79.3.1 int angel::oplrv_op_t::operator() (c_graph_t::vertex_t v, constc_graph_t & cg) [inline]

Definition at line 428 of file heuristics.cpp.

References angel::oplr_edge_front().

Here is the call graph for this function:

angel::oplrv_op_t::operator() angel::oplr_edge_front angel::oplr_face angel::edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 412: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

404 angel Class Documentation

9.79.4 Member Data Documentation

9.79.4.1 vector<int> angel::oplrv_op_t::vni

Definition at line 425 of file heuristics.cpp.

9.79.4.2 vector<int> angel::oplrv_op_t::vli

Definition at line 425 of file heuristics.cpp.

9.79.4.3 vector<int> angel::oplrv_op_t::vno

Definition at line 425 of file heuristics.cpp.

9.79.4.4 vector<int> angel::oplrv_op_t::vlo

Definition at line 425 of file heuristics.cpp.

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 413: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference 405

9.80 angel::predecessor_t< Ad_graph_t > Class Tem-plate Reference

#include <angel_types.hpp>

Collaboration diagram for angel::predecessor_t< Ad_graph_t >:

angel::predecessor_t< Ad_graph_t >

Ad_graph_t

adg

Public Types

• typedef Ad_graph_t::vertex_descriptor vd_t• typedef Ad_graph_t::edge_descriptor ed_t• typedef boost::graph_traits< Ad_graph_t >::vertex_iterator vi_t• typedef boost::graph_traits< Ad_graph_t >::edge_iterator gei_t• typedef boost::graph_traits< Ad_graph_t >::in_edge_iterator ei_t• typedef boost::graph_traits< Ad_graph_t >::out_edge_iterator rei_t• typedef boost::graph_traits< Ad_graph_t >::degree_size_type ds_t

Public Member Functions

• predecessor_t (const Ad_graph_t &_adg)• ds_t degree (vd_t v) const• std::pair< ei_t, ei_t > edges (vd_t v) const• vd_t neighbor (ed_t e) const• vd_t neighbor (ei_t ei) const• ds_t rdegree (vd_t v) const• std::pair< rei_t, rei_t > redges (vd_t v) const• vd_t rneighbor (ed_t e) const• vd_t rneighbor (rei_t rei) const• const std::vector< vd_t > & first () const• const std::vector< vd_t > & last () const• void clear_vertices (const std::vector< vd_t > &vv)

Public Attributes

• const Ad_graph_t & adg

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 414: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

406 angel Class Documentation

Private Attributes

• std::vector< vd_t > independents

9.80.1 Detailed Description

template<typename Ad_graph_t> class angel::predecessor_t< Ad_graph_t >

Definition at line 464 of file angel_types.hpp.

9.80.2 Member Typedef Documentation

9.80.2.1 template<typename Ad_graph_t> typedef Ad_graph_-t::vertex_descriptor angel::predecessor_t< Ad_graph_t>::vd_t

Definition at line 466 of file angel_types.hpp.

9.80.2.2 template<typename Ad_graph_t> typedef Ad_graph_-t::edge_descriptor angel::predecessor_t< Ad_graph_t>::ed_t

Definition at line 467 of file angel_types.hpp.

9.80.2.3 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::vertex_iterator angel::predecessor_t< Ad_graph_t>::vi_t

Definition at line 468 of file angel_types.hpp.

9.80.2.4 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::edge_iterator angel::predecessor_t< Ad_graph_t>::gei_t

Definition at line 469 of file angel_types.hpp.

9.80.2.5 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::in_edge_iterator angel::predecessor_t< Ad_graph_t>::ei_t

Definition at line 470 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 415: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference 407

9.80.2.6 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::out_edge_iterator angel::predecessor_t< Ad_graph_t>::rei_t

Definition at line 471 of file angel_types.hpp.

9.80.2.7 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::degree_size_type angel::predecessor_t< Ad_graph_t>::ds_t

Definition at line 472 of file angel_types.hpp.

9.80.3 Constructor & Destructor Documentation

9.80.3.1 template<typename Ad_graph_t> angel::predecessor_t< Ad_graph_t>::predecessor_t (const Ad_graph_t & _adg) [inline]

Definition at line 478 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg, and angel::predecessor_t<Ad_graph_t >::independents.

9.80.4 Member Function Documentation

9.80.4.1 template<typename Ad_graph_t> ds_t angel::predecessor_t<Ad_graph_t >::degree (vd_t v) const [inline]

Definition at line 485 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.2 template<typename Ad_graph_t> std::pair<ei_t, ei_t>angel::predecessor_t< Ad_graph_t >::edges (vd_t v) const[inline]

Definition at line 487 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.3 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::neighbor (ed_t e) const [inline]

Definition at line 489 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 416: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

408 angel Class Documentation

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.4 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::neighbor (ei_t ei) const [inline]

Definition at line 491 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.5 template<typename Ad_graph_t> ds_t angel::predecessor_t<Ad_graph_t >::rdegree (vd_t v) const [inline]

Definition at line 493 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.6 template<typename Ad_graph_t> std::pair<rei_t, rei_t>angel::predecessor_t< Ad_graph_t >::redges (vd_t v) const[inline]

Definition at line 495 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.7 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::rneighbor (ed_t e) const [inline]

Definition at line 497 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.8 template<typename Ad_graph_t> vd_t angel::predecessor_t<Ad_graph_t >::rneighbor (rei_t rei) const [inline]

Definition at line 499 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.4.9 template<typename Ad_graph_t> const std::vector<vd_t>&angel::predecessor_t< Ad_graph_t >::first () const [inline]

Definition at line 501 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 417: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.80 angel::predecessor_t< Ad_graph_t > Class Template Reference 409

9.80.4.10 template<typename Ad_graph_t> const std::vector<vd_t>&angel::predecessor_t< Ad_graph_t >::last () const [inline]

Definition at line 503 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::independents.

9.80.4.11 template<typename Ad_graph_t> void angel::predecessor_t<Ad_graph_t >::clear_vertices (const std::vector< vd_t > & vv)[inline]

Definition at line 505 of file angel_types.hpp.

References angel::predecessor_t< Ad_graph_t >::adg.

9.80.5 Member Data Documentation

9.80.5.1 template<typename Ad_graph_t> std::vector<vd_t>angel::predecessor_t< Ad_graph_t >::independents [private]

Definition at line 474 of file angel_types.hpp.

Referenced by angel::predecessor_t< Ad_graph_t >::last(), and angel::predecessor_-t< Ad_graph_t >::predecessor_t().

9.80.5.2 template<typename Ad_graph_t> const Ad_graph_t&angel::predecessor_t< Ad_graph_t >::adg

Definition at line 476 of file angel_types.hpp.

Referenced by angel::predecessor_t< Ad_graph_t >::clear_vertices(),angel::predecessor_t< Ad_graph_t >::degree(), angel::predecessor_t< Ad_graph_t>::edges(), angel::predecessor_t< Ad_graph_t >::first(), angel::predecessor_t<Ad_graph_t >::neighbor(), angel::predecessor_t< Ad_graph_t >::predecessor_t(),angel::predecessor_t< Ad_graph_t >::rdegree(), angel::predecessor_t< Ad_graph_t>::redges(), and angel::predecessor_t< Ad_graph_t >::rneighbor().

The documentation for this class was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 418: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

410 angel Class Documentation

9.81 angel::random_init_t Struct Reference

#include <graph_generator.hpp>

Public Member Functions

• random_init_t ()

Public Attributes

• int dummy

9.81.1 Detailed Description

Definition at line 74 of file graph_generator.hpp.

9.81.2 Constructor & Destructor Documentation

9.81.2.1 angel::random_init_t::random_init_t () [inline]

Definition at line 76 of file graph_generator.hpp.

9.81.3 Member Data Documentation

9.81.3.1 int angel::random_init_t::dummy

Definition at line 75 of file graph_generator.hpp.

The documentation for this struct was generated from the following file:

• angel/include/graph_generator.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 419: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.82 angel::Rerouting Class Reference 411

9.82 angel::Rerouting Class Reference

Graph-independent rerouting.

#include <angel_types.hpp>

Public Member Functions

• Rerouting ()• Rerouting (const c_graph_t::edge_t e, const c_graph_t::edge_t pivot_e, bool is-

Pre, const c_graph_t &angelLCG)• Rerouting (const edge_reroute_t &er, const c_graph_t &angelLCG)• std::string debug () const• bool isPre () const• c_graph_t::edge_t getE (const c_graph_t &angelLCG) const• c_graph_t::edge_t getPivotE (const c_graph_t &angelLCG) const• edge_reroute_t getER (const c_graph_t &angelLCG) const• unsigned int getI () const• unsigned int getJ () const• unsigned int getK () const• bool operator== (const Rerouting &anotherRerouting) const

Private Member Functions

• void init (const c_graph_t::edge_t &e, const c_graph_t::edge_t &pivot_e, boolisPre, const c_graph_t &angelLCG)

Private Attributes

• unsigned int i• unsigned int j• unsigned int k• bool pre

9.82.1 Detailed Description

Graph-independent rerouting.

Class for representing a rerouting. The relevant edges are represented by the unsignedints that correspond to their source and target. This allows us to represent a reroutingindependently of a particular graph instance.

Definition at line 767 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 420: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

412 angel Class Documentation

9.82.2 Constructor & Destructor Documentation

9.82.2.1 angel::Rerouting::Rerouting ()

Definition at line 532 of file angel_types.cpp.

9.82.2.2 angel::Rerouting::Rerouting (const c_graph_t::edge_t e, constc_graph_t::edge_t pivot_e, bool isPre, const c_graph_t & angelLCG)

Definition at line 535 of file angel_types.cpp.

References init().

Here is the call graph for this function:

angel::Rerouting::Rerouting angel::Rerouting::init

9.82.2.3 angel::Rerouting::Rerouting (const edge_reroute_t & er, constc_graph_t & angelLCG)

Definition at line 542 of file angel_types.cpp.

References angel::edge_reroute_t::e, init(), angel::edge_reroute_t::isPre, andangel::edge_reroute_t::pivot_e.

Here is the call graph for this function:

angel::Rerouting::Rerouting angel::Rerouting::init

9.82.3 Member Function Documentation

9.82.3.1 std::string angel::Rerouting::debug () const

Definition at line 547 of file angel_types.cpp.

References i, j, k, and pre.

Referenced by angel::Transformation::debug().

9.82.3.2 bool angel::Rerouting::isPre () const

Definition at line 554 of file angel_types.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 421: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.82 angel::Rerouting Class Reference 413

References pre.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and operator==().

9.82.3.3 c_graph_t::edge_t angel::Rerouting::getE (const c_graph_t &angelLCG) const

Definition at line 558 of file angel_types.cpp.

References angel::getEdge(), i, and k.

Referenced by getER().

Here is the call graph for this function:

angel::Rerouting::getE angel::getEdge angel::edge

9.82.3.4 c_graph_t::edge_t angel::Rerouting::getPivotE (const c_graph_t &angelLCG) const

Definition at line 563 of file angel_types.cpp.

References angel::getEdge(), i, j, k, and pre.

Referenced by getER().

Here is the call graph for this function:

angel::Rerouting::getPivotE angel::getEdge angel::edge

9.82.3.5 edge_reroute_t angel::Rerouting::getER (const c_graph_t &angelLCG) const

Definition at line 568 of file angel_types.cpp.

References getE(), getPivotE(), and pre.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 422: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

414 angel Class Documentation

Here is the call graph for this function:

angel::Rerouting::getER

angel::Rerouting::getE

angel::Rerouting::getPivotE

angel::getEdge angel::edge

9.82.3.6 unsigned int angel::Rerouting::getI () const

Definition at line 572 of file angel_types.cpp.

References i.

Referenced by operator==().

9.82.3.7 unsigned int angel::Rerouting::getJ () const

Definition at line 576 of file angel_types.cpp.

References j.

Referenced by operator==().

9.82.3.8 unsigned int angel::Rerouting::getK () const

Definition at line 580 of file angel_types.cpp.

References k.

Referenced by operator==().

9.82.3.9 bool angel::Rerouting::operator== (const Rerouting &anotherRerouting) const

Definition at line 584 of file angel_types.cpp.

References getI(), getJ(), getK(), and isPre().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 423: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.82 angel::Rerouting Class Reference 415

Here is the call graph for this function:

angel::Rerouting::operator==

angel::Rerouting::getI

angel::Rerouting::getJ

angel::Rerouting::getK

angel::Rerouting::isPre

9.82.3.10 void angel::Rerouting::init (const c_graph_t::edge_t & e, constc_graph_t::edge_t & pivot_e, bool isPre, const c_graph_t &angelLCG) [private]

Definition at line 594 of file angel_types.cpp.

References i, j, k, pre, and THROW_EXCEPT_MACRO.

Referenced by Rerouting().

9.82.4 Member Data Documentation

9.82.4.1 unsigned int angel::Rerouting::i [private]

Definition at line 803 of file angel_types.hpp.

Referenced by debug(), getE(), getI(), getPivotE(), and init().

9.82.4.2 unsigned int angel::Rerouting::j [private]

Definition at line 803 of file angel_types.hpp.

Referenced by debug(), getJ(), getPivotE(), and init().

9.82.4.3 unsigned int angel::Rerouting::k [private]

Definition at line 803 of file angel_types.hpp.

Referenced by debug(), getE(), getK(), getPivotE(), and init().

9.82.4.4 bool angel::Rerouting::pre [private]

Definition at line 804 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 424: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

416 angel Class Documentation

Referenced by debug(), getER(), getPivotE(), init(), and isPre().

The documentation for this class was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 425: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.83 angel::reverse_mode_edge_t Class Reference 417

9.83 angel::reverse_mode_edge_t Class Reference

Operator class for mixed reverse edge elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::reverse_mode_edge_t:

angel::reverse_mode_edge_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Collaboration diagram for angel::reverse_mode_edge_t:

angel::reverse_mode_edge_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Objective_t

my_objective

Public Member Functions

• reverse_mode_edge_t ()• int operator() (const vector< edge_bool_t > &ev1, const c_graph_t &cg,

vector< edge_bool_t > &ev2)

9.83.1 Detailed Description

Operator class for mixed reverse edge elimination.

operator() is equivalent to reverse_mode_edge ( const vector<pair<c_graph_t::edge_-t,bool> >& ev1, const c_graph_t& cg, vector<pair<c_graph_t::edge_t,bool> >&ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 426: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

418 angel Class Documentation

See also:

forward_mode_vertex_t

Definition at line 409 of file heuristics.hpp.

9.83.2 Constructor & Destructor Documentation

9.83.2.1 angel::reverse_mode_edge_t::reverse_mode_edge_t () [inline]

Definition at line 411 of file heuristics.hpp.

9.83.3 Member Function Documentation

9.83.3.1 int angel::reverse_mode_edge_t::operator() (const vector<edge_bool_t > & ev1, const c_graph_t & cg, vector< edge_bool_t > &ev2)

Definition at line 528 of file heuristics.cpp.

References angel::lex_greater(), angel::rme_obj(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().

Here is the call graph for this function:

angel::reverse_mode_edge_t::operator()

angel::lex_greater

angel::rme_obj

angel::base_heuristic_t< double >::set_empty_objective

angel::base_heuristic_t< double >::set_objective

angel::edge

angel::c_graph_t::x

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 427: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.84 angel::reverse_mode_face_t Class Reference 419

9.84 angel::reverse_mode_face_t Class Reference

Operator class for reverse mode in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::reverse_mode_face_t:

angel::reverse_mode_face_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Collaboration diagram for angel::reverse_mode_face_t:

angel::reverse_mode_face_t

angel::base_heuristic_t< double >

angel::base_heuristic_t< Objective_t >

< double >

Objective_t

my_objective

Public Member Functions

• reverse_mode_face_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t

&lg, vector< line_graph_t::face_t > &fv2)

9.84.1 Detailed Description

Operator class for reverse mode in vertex elimination.

operator() is equivalent to reverse_mode_face

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 428: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

420 angel Class Documentation

See also:

reverse_mode_faceforward_mode_vertex_t

Definition at line 821 of file heuristics.hpp.

9.84.2 Constructor & Destructor Documentation

9.84.2.1 angel::reverse_mode_face_t::reverse_mode_face_t () [inline]

Definition at line 823 of file heuristics.hpp.

9.84.3 Member Function Documentation

9.84.3.1 int angel::reverse_mode_face_t::operator() (const vector<line_graph_t::face_t > & fv1, const line_graph_t & lg, vector<line_graph_t::face_t > & fv2)

Definition at line 902 of file heuristics.cpp.

References angel::fmf_obj(), angel::lex_less_face(), angel::base_heuristic_t< double>::set_empty_objective(), and angel::base_heuristic_t< double >::set_objective().

Here is the call graph for this function:

angel::reverse_mode_face_t::operator()

angel::fmf_obj

angel::lex_less_face

angel::base_heuristic_t< double >::set_empty_objective

angel::base_heuristic_t< double >::set_objective

angel::face_vertex_name

angel::line_graph_t::x

angel::write_graph

angel::write_vertex_property

angel::write_vector

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 429: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.85 angel::reverse_mode_face_whole_vertex_t Class Reference 421

9.85 angel::reverse_mode_face_whole_vertex_t ClassReference

Operator class for reverse_mode_face_whole_vertex.

#include <heuristics.hpp>

Inheritance diagram for angel::reverse_mode_face_whole_vertex_t:

angel::reverse_mode_face_whole_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::reverse_mode_face_whole_vertex_t:

angel::reverse_mode_face_whole_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• reverse_mode_face_whole_vertex_t ()• int operator() (const vector< line_graph_t::face_t > &fv1, const line_graph_t

&lg, vector< line_graph_t::face_t > &fv2)

9.85.1 Detailed Description

Operator class for reverse_mode_face_whole_vertex.

operator() is equivalent to reverse_mode_face_whole_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 430: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

422 angel Class Documentation

See also:

reverse_mode_face_whole_vertexforward_mode_vertex_t

Definition at line 850 of file heuristics.hpp.

9.85.2 Constructor & Destructor Documentation

9.85.2.1 angel::reverse_mode_face_whole_vertex_t::reverse_mode_face_-whole_vertex_t () [inline]

Definition at line 852 of file heuristics.hpp.

9.85.3 Member Function Documentation

9.85.3.1 int angel::reverse_mode_face_whole_vertex_t::operator() (constvector< line_graph_t::face_t > & fv1, const line_graph_t & lg,vector< line_graph_t::face_t > & fv2)

Definition at line 919 of file heuristics.cpp.

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 431: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.86 angel::reverse_mode_vertex_t Class Reference 423

9.86 angel::reverse_mode_vertex_t Class Reference

Operator class for reverse mode in vertex elimination.

#include <heuristics.hpp>

Inheritance diagram for angel::reverse_mode_vertex_t:

angel::reverse_mode_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Collaboration diagram for angel::reverse_mode_vertex_t:

angel::reverse_mode_vertex_t

angel::base_heuristic_t< int >

angel::base_heuristic_t< Objective_t >

< int >

Objective_t

my_objective

Public Member Functions

• reverse_mode_vertex_t ()• int operator() (const vector< c_graph_t::vertex_t > &vv1, const c_graph_t &cg,

vector< c_graph_t::vertex_t > &vv2)

9.86.1 Detailed Description

Operator class for reverse mode in vertex elimination.

operator() is equivalent to reverse_mode_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 432: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

424 angel Class Documentation

See also:

reverse_mode_vertexforward_mode_vertex_t

Definition at line 90 of file heuristics.hpp.

9.86.2 Constructor & Destructor Documentation

9.86.2.1 angel::reverse_mode_vertex_t::reverse_mode_vertex_t () [inline]

Definition at line 92 of file heuristics.hpp.

9.86.3 Member Function Documentation

9.86.3.1 int angel::reverse_mode_vertex_t::operator() (const vector<c_graph_t::vertex_t > & vv1, const c_graph_t & cg, vector<c_graph_t::vertex_t > & vv2)

Definition at line 42 of file heuristics.cpp.

References angel::base_heuristic_t< int >::set_empty_objective(), and angel::base_-heuristic_t< int >::set_objective().

Here is the call graph for this function:

angel::reverse_mode_vertex_t::operator()

angel::base_heuristic_t< int >::set_empty_objective

angel::base_heuristic_t< int >::set_objective

The documentation for this class was generated from the following files:

• angel/include/heuristics.hpp• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 433: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.87 angel::SA_elimination_cost_t< Heuristic_t > Class Template Reference 425

9.87 angel::SA_elimination_cost_t< Heuristic_t >Class Template Reference

Computes the elimination costs for arbitrary elimination history type.

#include <sa.hpp>

Collaboration diagram for angel::SA_elimination_cost_t< Heuristic_t >:

angel::SA_elimination_cost_t< Heuristic_t >

Heuristic_t

h

Public Member Functions

• SA_elimination_cost_t (Heuristic_t p_h)

Constructor defining the heuristic h.

• template<class Ad_graph_t, class El_spec_t>int operator() (const elimination_history_t< Ad_graph_t, El_spec_t > &eh)

Operator() computes the costs of eh.

Private Attributes

• Heuristic_t h

9.87.1 Detailed Description

template<class Heuristic_t> class angel::SA_elimination_cost_t< Heuristic_t >

Computes the elimination costs for arbitrary elimination history type.

Costs for an object eh are

1. the costs for reaching eh.cg from eh.og (stored in eh.ccosts) and

2. the costs for transforming eh.cg into final graph (bi-/tri-partite) using heuristich

Definition at line 155 of file sa.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 434: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

426 angel Class Documentation

9.87.2 Constructor & Destructor Documentation

9.87.2.1 template<class Heuristic_t> angel::SA_elimination_cost_t<Heuristic_t >::SA_elimination_cost_t (Heuristic_t p_h) [inline]

Constructor defining the heuristic h.

Definition at line 159 of file sa.hpp.

9.87.3 Member Function Documentation

9.87.3.1 template<class Heuristic_t> template<class Ad_graph_t, classEl_spec_t> int angel::SA_elimination_cost_t< Heuristic_t>::operator() (const elimination_history_t< Ad_graph_t, El_spec_t >& eh) [inline]

Operator() computes the costs of eh.

Definition at line 163 of file sa.hpp.

References angel::elimination_history_t< Ad_graph_t, El_spec_t >::ccosts,angel::elimination_history_t< Ad_graph_t, El_spec_t >::cg, angel::SA_elimination_-cost_t< Heuristic_t >::h, and angel::use_heuristic().

Here is the call graph for this function:

angel::SA_elimination_cost_t::operator() angel::use_heuristic

angel::eliminatable_objects

angel::eliminate

angel::eliminatable_vertices angel::c_graph_t::vertex_type angel::c_graph_t::v

angel::vertex_elimination angel::back_edge_elimination angel::edge

angel::vertex_type

9.87.4 Member Data Documentation

9.87.4.1 template<class Heuristic_t> Heuristic_tangel::SA_elimination_cost_t< Heuristic_t >::h [private]

Definition at line 156 of file sa.hpp.

Referenced by angel::SA_elimination_cost_t< Heuristic_t >::operator()().

The documentation for this class was generated from the following file:

• angel/include/sa.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 435: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.88 angel::source_not_independent_t Struct Reference 427

9.88 angel::source_not_independent_t Struct Refer-ence

Public Member Functions

• int operator() (line_graph_t::face_t f, const line_graph_t &lg) const

9.88.1 Detailed Description

Definition at line 1013 of file heuristics.cpp.

9.88.2 Member Function Documentation

9.88.2.1 int angel::source_not_independent_t::operator() (line_graph_t::face_tf, const line_graph_t & lg) const [inline]

Definition at line 1014 of file heuristics.cpp.

References angel::independent, and angel::vertex_type().

Here is the call graph for this function:

angel::source_not_independent_t::operator() angel::vertex_type

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 436: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

428 angel Class Documentation

9.89 angel::stream_output_t Struct Reference

#include <angel_io.hpp>

Inheritance diagram for angel::stream_output_t:

angel::stream_output_t

angel::string_stream_output_t

angel::no_output_t

Collaboration diagram for angel::stream_output_t:

angel::stream_output_t

angel::string_stream_output_t

angel::no_output_t

Public Member Functions

• stream_output_t (std::ostream &s)• template<class Ad_graph_t>

void write_graph (const std::string &str, const Ad_graph_t &adg)

9.89.1 Detailed Description

Definition at line 506 of file angel_io.hpp.

9.89.2 Constructor & Destructor Documentation

9.89.2.1 angel::stream_output_t::stream_output_t (std::ostream & s)[inline]

Definition at line 507 of file angel_io.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 437: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.89 angel::stream_output_t Struct Reference 429

9.89.3 Member Function Documentation

9.89.3.1 template<class Ad_graph_t> void angel::stream_output_-t::write_graph (const std::string & str, const Ad_graph_t & adg)[inline]

Reimplemented from angel::no_output_t.

Definition at line 509 of file angel_io.hpp.

References angel::string_stream_output_t::mystream, and angel::write_graph().

Here is the call graph for this function:

angel::stream_output_t::write_graph angel::write_graph angel::write_vector

The documentation for this struct was generated from the following file:

• angel/include/angel_io.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 438: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

430 angel Class Documentation

9.90 angel::string_stream_output_t Class Reference

#include <angel_io.hpp>

Inheritance diagram for angel::string_stream_output_t:

angel::string_stream_output_t

angel::stream_output_t angel::vis_display_output_t

angel::no_output_t

Collaboration diagram for angel::string_stream_output_t:

angel::string_stream_output_t

angel::no_output_t

Public Member Functions

• string_stream_output_t (std::ostream &s)• void operator() (const std::string &str)• void operator() (const std::ostringstream &sstr)

Protected Attributes

• ostream & mystream

Friends

• template<class Value_t>string_stream_output_t & operator<< (string_stream_output_t &, const Value_t&)

9.90.1 Detailed Description

Definition at line 488 of file angel_io.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 439: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.90 angel::string_stream_output_t Class Reference 431

9.90.2 Constructor & Destructor Documentation

9.90.2.1 angel::string_stream_output_t::string_stream_output_t (std::ostream& s) [inline]

Definition at line 492 of file angel_io.hpp.

9.90.3 Member Function Documentation

9.90.3.1 void angel::string_stream_output_t::operator() (const std::string &str) [inline]

Reimplemented from angel::no_output_t.

Definition at line 493 of file angel_io.hpp.

References mystream.

9.90.3.2 void angel::string_stream_output_t::operator() (conststd::ostringstream & sstr) [inline]

Reimplemented from angel::no_output_t.

Definition at line 495 of file angel_io.hpp.

References mystream.

9.90.4 Friends And Related Function Documentation

9.90.4.1 template<class Value_t> string_stream_output_t& operator<<(string_stream_output_t & out, const Value_t & value) [friend]

Definition at line 503 of file angel_io.hpp.

9.90.5 Member Data Documentation

9.90.5.1 ostream& angel::string_stream_output_t::mystream [protected]

Definition at line 490 of file angel_io.hpp.

Referenced by operator()(), angel::operator<<(), angel::vis_display_output_t::write_-graph(), and angel::stream_output_t::write_graph().

The documentation for this class was generated from the following file:

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 440: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

432 angel Class Documentation

• angel/include/angel_io.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 441: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.91 angel::successor_t< Ad_graph_t > Class Template Reference 433

9.91 angel::successor_t< Ad_graph_t > Class Tem-plate Reference

#include <angel_types.hpp>

Collaboration diagram for angel::successor_t< Ad_graph_t >:

angel::successor_t< Ad_graph_t >

Ad_graph_t

adg

Public Types

• typedef Ad_graph_t::vertex_descriptor vd_t• typedef Ad_graph_t::edge_descriptor ed_t• typedef boost::graph_traits< Ad_graph_t >::vertex_iterator vi_t• typedef boost::graph_traits< Ad_graph_t >::edge_iterator gei_t• typedef boost::graph_traits< Ad_graph_t >::out_edge_iterator ei_t• typedef boost::graph_traits< Ad_graph_t >::in_edge_iterator rei_t• typedef boost::graph_traits< Ad_graph_t >::degree_size_type ds_t

Public Member Functions

• successor_t (const Ad_graph_t &_adg)• ds_t degree (vd_t v) const• std::pair< ei_t, ei_t > edges (vd_t v) const• vd_t neighbor (ed_t e) const• vd_t neighbor (ei_t ei) const• ds_t rdegree (vd_t v) const• std::pair< rei_t, rei_t > redges (vd_t v) const• vd_t rneighbor (ed_t e) const• vd_t rneighbor (rei_t rei) const• const std::vector< vd_t > & first () const• const std::vector< vd_t > & last () const• void clear_vertices (const std::vector< vd_t > &vv)

Public Attributes

• const Ad_graph_t & adg

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 442: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

434 angel Class Documentation

Private Attributes

• std::vector< vd_t > independents

9.91.1 Detailed Description

template<typename Ad_graph_t> class angel::successor_t< Ad_graph_t >

Definition at line 512 of file angel_types.hpp.

9.91.2 Member Typedef Documentation

9.91.2.1 template<typename Ad_graph_t> typedef Ad_graph_-t::vertex_descriptor angel::successor_t< Ad_graph_t>::vd_t

Definition at line 514 of file angel_types.hpp.

9.91.2.2 template<typename Ad_graph_t> typedef Ad_graph_-t::edge_descriptor angel::successor_t< Ad_graph_t>::ed_t

Definition at line 515 of file angel_types.hpp.

9.91.2.3 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::vertex_iterator angel::successor_t< Ad_graph_t>::vi_t

Definition at line 516 of file angel_types.hpp.

9.91.2.4 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::edge_iterator angel::successor_t< Ad_graph_t>::gei_t

Definition at line 517 of file angel_types.hpp.

9.91.2.5 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::out_edge_iterator angel::successor_t< Ad_graph_t>::ei_t

Definition at line 518 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 443: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.91 angel::successor_t< Ad_graph_t > Class Template Reference 435

9.91.2.6 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::in_edge_iterator angel::successor_t< Ad_graph_t>::rei_t

Definition at line 519 of file angel_types.hpp.

9.91.2.7 template<typename Ad_graph_t> typedef boost::graph_traits<Ad_-graph_t>::degree_size_type angel::successor_t< Ad_graph_t>::ds_t

Definition at line 520 of file angel_types.hpp.

9.91.3 Constructor & Destructor Documentation

9.91.3.1 template<typename Ad_graph_t> angel::successor_t< Ad_graph_t>::successor_t (const Ad_graph_t & _adg) [inline]

Definition at line 526 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg, and angel::successor_t< Ad_-graph_t >::independents.

9.91.4 Member Function Documentation

9.91.4.1 template<typename Ad_graph_t> ds_t angel::successor_t<Ad_graph_t >::degree (vd_t v) const [inline]

Definition at line 533 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.2 template<typename Ad_graph_t> std::pair<ei_t, ei_t>angel::successor_t< Ad_graph_t >::edges (vd_t v) const [inline]

Definition at line 535 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.3 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::neighbor (ed_t e) const [inline]

Definition at line 537 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 444: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

436 angel Class Documentation

9.91.4.4 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::neighbor (ei_t ei) const [inline]

Definition at line 539 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.5 template<typename Ad_graph_t> ds_t angel::successor_t<Ad_graph_t >::rdegree (vd_t v) const [inline]

Definition at line 541 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.6 template<typename Ad_graph_t> std::pair<rei_t, rei_t>angel::successor_t< Ad_graph_t >::redges (vd_t v) const [inline]

Definition at line 543 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.7 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::rneighbor (ed_t e) const [inline]

Definition at line 545 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.8 template<typename Ad_graph_t> vd_t angel::successor_t<Ad_graph_t >::rneighbor (rei_t rei) const [inline]

Definition at line 547 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.9 template<typename Ad_graph_t> const std::vector<vd_t>&angel::successor_t< Ad_graph_t >::first () const [inline]

Definition at line 549 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::independents.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 445: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.91 angel::successor_t< Ad_graph_t > Class Template Reference 437

9.91.4.10 template<typename Ad_graph_t> const std::vector<vd_t>&angel::successor_t< Ad_graph_t >::last () const [inline]

Definition at line 551 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.4.11 template<typename Ad_graph_t> void angel::successor_t<Ad_graph_t >::clear_vertices (const std::vector< vd_t > & vv)[inline]

Definition at line 553 of file angel_types.hpp.

References angel::successor_t< Ad_graph_t >::adg.

9.91.5 Member Data Documentation

9.91.5.1 template<typename Ad_graph_t> std::vector<vd_t>angel::successor_t< Ad_graph_t >::independents [private]

Definition at line 522 of file angel_types.hpp.

Referenced by angel::successor_t< Ad_graph_t >::first(), and angel::successor_t<Ad_graph_t >::successor_t().

9.91.5.2 template<typename Ad_graph_t> const Ad_graph_t&angel::successor_t< Ad_graph_t >::adg

Definition at line 524 of file angel_types.hpp.

Referenced by angel::successor_t< Ad_graph_t >::clear_vertices(),angel::successor_t< Ad_graph_t >::degree(), angel::successor_t< Ad_graph_-t >::edges(), angel::successor_t< Ad_graph_t >::last(), angel::successor_-t< Ad_graph_t >::neighbor(), angel::successor_t< Ad_graph_t >::rdegree(),angel::successor_t< Ad_graph_t >::redges(), angel::successor_t< Ad_graph_t>::rneighbor(), and angel::successor_t< Ad_graph_t >::successor_t().

The documentation for this class was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 446: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

438 angel Class Documentation

9.92 angel::target_not_dependent_t Struct Reference

Public Member Functions

• int operator() (line_graph_t::face_t f, const line_graph_t &lg) const

9.92.1 Detailed Description

Definition at line 1039 of file heuristics.cpp.

9.92.2 Member Function Documentation

9.92.2.1 int angel::target_not_dependent_t::operator() (line_graph_t::face_t f,const line_graph_t & lg) const [inline]

Definition at line 1040 of file heuristics.cpp.

References angel::dependent, and angel::vertex_type().

Here is the call graph for this function:

angel::target_not_dependent_t::operator() angel::vertex_type

The documentation for this struct was generated from the following file:

• angel/src/heuristics.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 447: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.93 angel::Transformation Class Reference 439

9.93 angel::Transformation Class Reference

Graph-independent transformation.

#include <angel_types.hpp>

Collaboration diagram for angel::Transformation:

angel::Transformation

angel::EdgeElim

myEdgeElim

angel::Rerouting

myRerouting

Public Member Functions

• Transformation (const EdgeElim &anEdgeElim)

• Transformation (const edge_bool_t &be, const c_graph_t &angelLCG)

• Transformation (const edge_ij_elim_t &an_ij_elim)

• Transformation (const Rerouting &aRerouting)

• Transformation (const edge_reroute_t &aRerouteElim, const c_graph_t &an-gelLCG)

• std::string debug () const

• bool isRerouting () const

returns true iff this Transformation is a rerouting

• const EdgeElim & getEdgeElim () const

• const Rerouting & getRerouting () const

Private Member Functions

• Transformation ()

Private Attributes

• bool myIsReroutingFlag

• Rerouting myRerouting

• EdgeElim myEdgeElim

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 448: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

440 angel Class Documentation

9.93.1 Detailed Description

Graph-independent transformation.

Class for representing either a rerouting or an edge elimination. The relevant edges arerepresented by the unsigned ints that correspond to their source and target. This allowsus to represent a transformation independently of a particular graph instance.

Definition at line 813 of file angel_types.hpp.

9.93.2 Constructor & Destructor Documentation

9.93.2.1 angel::Transformation::Transformation (const EdgeElim &anEdgeElim)

Definition at line 617 of file angel_types.cpp.

9.93.2.2 angel::Transformation::Transformation (const edge_bool_t & be, constc_graph_t & angelLCG)

Definition at line 622 of file angel_types.cpp.

9.93.2.3 angel::Transformation::Transformation (const edge_ij_elim_t &an_ij_elim)

Definition at line 628 of file angel_types.cpp.

9.93.2.4 angel::Transformation::Transformation (const Rerouting &aRerouting)

Definition at line 633 of file angel_types.cpp.

9.93.2.5 angel::Transformation::Transformation (const edge_reroute_t &aRerouteElim, const c_graph_t & angelLCG)

Definition at line 638 of file angel_types.cpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 449: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.93 angel::Transformation Class Reference 441

9.93.2.6 angel::Transformation::Transformation () [private]

9.93.3 Member Function Documentation

9.93.3.1 std::string angel::Transformation::debug () const

Definition at line 644 of file angel_types.cpp.

References angel::EdgeElim::debug(), angel::Rerouting::debug(), myEdgeElim, myIs-ReroutingFlag, and myRerouting.

Here is the call graph for this function:

angel::Transformation::debug

angel::EdgeElim::debug

angel::Rerouting::debug

9.93.3.2 bool angel::Transformation::isRerouting () const

returns true iff this Transformation is a rerouting

Definition at line 651 of file angel_types.cpp.

References myIsReroutingFlag.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().

9.93.3.3 const EdgeElim & angel::Transformation::getEdgeElim () const

Definition at line 655 of file angel_types.cpp.

References myEdgeElim.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().

9.93.3.4 const Rerouting & angel::Transformation::getRerouting () const

Definition at line 659 of file angel_types.cpp.

References myRerouting.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::transformation_effect().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 450: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

442 angel Class Documentation

9.93.4 Member Data Documentation

9.93.4.1 bool angel::Transformation::myIsReroutingFlag [private]

Definition at line 840 of file angel_types.hpp.

Referenced by debug(), and isRerouting().

9.93.4.2 Rerouting angel::Transformation::myRerouting [private]

Definition at line 842 of file angel_types.hpp.

Referenced by debug(), and getRerouting().

9.93.4.3 EdgeElim angel::Transformation::myEdgeElim [private]

Definition at line 843 of file angel_types.hpp.

Referenced by debug(), and getEdgeElim().

The documentation for this class was generated from the following files:

• angel/include/angel_types.hpp• angel/src/angel_types.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 451: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.94 angel::transformationSeq_cost_t Struct Reference 443

9.94 angel::transformationSeq_cost_t Struct Refer-ence

#include <angel_types.hpp>

Public Member Functions

• transformationSeq_cost_t (unsigned int _bestNumNontrivialEdges,unsigned int _cost, unsigned int _costAtBestEdgecount, un-signed int _numIntermediatesAtBestEdgecount, unsigned int _-numIntermediatesWithoutUnitEdgeAtBestEdgecount, size_t _-lastDesiredTransformation)

Public Attributes

• std::vector< Transformation > transformationVector• unsigned int bestNumNontrivialEdges• unsigned int cost• unsigned int costAtBestEdgecount• unsigned int numIntermediatesAtBestEdgecount• unsigned int numIntermediatesWithoutUnitEdgeAtBestEdgecount• size_t lastDesiredTransformation• bool revealedNewDependence

9.94.1 Detailed Description

Definition at line 872 of file angel_types.hpp.

9.94.2 Constructor & Destructor Documentation

9.94.2.1 angel::transformationSeq_cost_t::transformationSeq_cost_t(unsigned int _bestNumNontrivialEdges, unsigned int_cost, unsigned int _costAtBestEdgecount, unsignedint _numIntermediatesAtBestEdgecount, unsigned int_numIntermediatesWithoutUnitEdgeAtBestEdgecount, size_t_lastDesiredTransformation) [inline]

Definition at line 882 of file angel_types.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 452: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

444 angel Class Documentation

9.94.3 Member Data Documentation

9.94.3.1 std::vector<Transformation> angel::transformationSeq_cost_-t::transformationVector

Definition at line 873 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::pairElim_noJAE().

9.94.3.2 unsigned int angel::transformationSeq_cost_-t::bestNumNontrivialEdges

Definition at line 874 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

9.94.3.3 unsigned int angel::transformationSeq_cost_t::cost

Definition at line 875 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

9.94.3.4 unsigned int angel::transformationSeq_cost_t::costAtBestEdgecount

Definition at line 876 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

9.94.3.5 unsigned int angel::transformationSeq_cost_-t::numIntermediatesAtBestEdgecount

Definition at line 877 of file angel_types.hpp.

9.94.3.6 unsigned int angel::transformationSeq_cost_-t::numIntermediatesWithoutUnitEdgeAtBestEdgecount

Definition at line 878 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 453: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.94 angel::transformationSeq_cost_t Struct Reference 445

9.94.3.7 size_t angel::transformationSeq_cost_t::lastDesiredTransformation

Definition at line 879 of file angel_types.hpp.

9.94.3.8 bool angel::transformationSeq_cost_t::revealedNewDependence[mutable]

Definition at line 880 of file angel_types.hpp.

Referenced by xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence(), and angel::pairElim_noJAE().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 454: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

446 angel Class Documentation

9.95 angel::triplet_heuristic_t< Face_heuristic_t >Class Template Reference

Creates a heuristic for triplet type from a heuristic for faces.

#include <heuristics.hpp>

Collaboration diagram for angel::triplet_heuristic_t< Face_heuristic_t >:

angel::triplet_heuristic_t< Face_heuristic_t >

Face_heuristic_t

h

Public Member Functions

• triplet_heuristic_t (Face_heuristic_t _h)

Constructor stores the face-based heuristic to be used.

• int operator() (const vector< triplet_t > &tv1, const line_graph_t &lg, vector<triplet_t > &tv2)

Private Attributes

• Face_heuristic_t h

9.95.1 Detailed Description

template<class Face_heuristic_t> class angel::triplet_heuristic_t< Face_-heuristic_t >

Creates a heuristic for triplet type from a heuristic for faces.

Third entry in each triplet is ignored but it will be kept.

Definition at line 1042 of file heuristics.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 455: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.95 angel::triplet_heuristic_t< Face_heuristic_t > Class Template Reference447

9.95.2 Constructor & Destructor Documentation

9.95.2.1 template<class Face_heuristic_t> angel::triplet_heuristic_t<Face_heuristic_t >::triplet_heuristic_t (Face_heuristic_t _h)[inline]

Constructor stores the face-based heuristic to be used.

Definition at line 1046 of file heuristics.hpp.

9.95.3 Member Function Documentation

9.95.3.1 template<class Face_heuristic_t> int angel::triplet_heuristic_t<Face_heuristic_t >::operator() (const vector< triplet_t > & tv1, constline_graph_t & lg, vector< triplet_t > & tv2) [inline]

Definition at line 1047 of file heuristics.hpp.

References angel::edge(), and angel::triplet_heuristic_t< Face_heuristic_t >::h.

Here is the call graph for this function:

angel::triplet_heuristic_t::operator() angel::edge

9.95.4 Member Data Documentation

9.95.4.1 template<class Face_heuristic_t> Face_heuristic_tangel::triplet_heuristic_t< Face_heuristic_t >::h [private]

Definition at line 1043 of file heuristics.hpp.

Referenced by angel::triplet_heuristic_t< Face_heuristic_t >::operator()().

The documentation for this class was generated from the following file:

• angel/include/heuristics.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 456: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

448 angel Class Documentation

9.96 angel::triplet_t Struct Reference

Triplet of faces, used in face_elimination_history_t.

#include <angel_types.hpp>

Public Member Functions

• triplet_t (int _i, int _j, int _k)• triplet_t ()

Public Attributes

• int i• int j• int k

9.96.1 Detailed Description

Triplet of faces, used in face_elimination_history_t.

Definition at line 448 of file angel_types.hpp.

9.96.2 Constructor & Destructor Documentation

9.96.2.1 angel::triplet_t::triplet_t (int _i, int _j, int _k) [inline]

Definition at line 450 of file angel_types.hpp.

9.96.2.2 angel::triplet_t::triplet_t () [inline]

Definition at line 451 of file angel_types.hpp.

9.96.3 Member Data Documentation

9.96.3.1 int angel::triplet_t::i

Definition at line 449 of file angel_types.hpp.

Referenced by angel::face_elimination(), and angel::operator<<().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 457: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.96 angel::triplet_t Struct Reference 449

9.96.3.2 int angel::triplet_t::j

Definition at line 449 of file angel_types.hpp.

Referenced by angel::face_elimination(), and angel::operator<<().

9.96.3.3 int angel::triplet_t::k

Definition at line 449 of file angel_types.hpp.

Referenced by angel::face_elimination(), and angel::operator<<().

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 458: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

450 angel Class Documentation

9.97 angel::VertexVisited Struct Reference

Pure BGL type definition of c-graph.

#include <angel_types.hpp>

Public Types

• typedef boost::vertex_property_tag kind

9.97.1 Detailed Description

Pure BGL type definition of c-graph.

Definition at line 57 of file angel_types.hpp.

9.97.2 Member Typedef Documentation

9.97.2.1 typedef boost::vertex_property_tag angel::VertexVisited::kind

Definition at line 59 of file angel_types.hpp.

The documentation for this struct was generated from the following file:

• angel/include/angel_types.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 459: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.98 angel::vis_display_output_t Struct Reference 451

9.98 angel::vis_display_output_t Struct Reference

#include <angel_io.hpp>

Inheritance diagram for angel::vis_display_output_t:

angel::vis_display_output_t

angel::string_stream_output_t

angel::no_output_t

Collaboration diagram for angel::vis_display_output_t:

angel::vis_display_output_t

angel::string_stream_output_t

angel::no_output_t

Public Member Functions

• vis_display_output_t (std::ostream &s)• template<class Ad_graph_t>

void write_graph (const std::string &str, const Ad_graph_t &adg)

9.98.1 Detailed Description

Definition at line 514 of file angel_io.hpp.

9.98.2 Constructor & Destructor Documentation

9.98.2.1 angel::vis_display_output_t::vis_display_output_t (std::ostream & s)[inline]

Definition at line 515 of file angel_io.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 460: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

452 angel Class Documentation

9.98.3 Member Function Documentation

9.98.3.1 template<class Ad_graph_t> void angel::vis_display_output_-t::write_graph (const std::string & str, const Ad_graph_t & adg)[inline]

Reimplemented from angel::no_output_t.

Definition at line 517 of file angel_io.hpp.

References angel::string_stream_output_t::mystream.

The documentation for this struct was generated from the following file:

• angel/include/angel_io.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 461: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.99 angel::write_edge_bool_op_t Class Reference 453

9.99 angel::write_edge_bool_op_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::write_edge_bool_op_t:

angel::write_edge_bool_op_t

angel::c_graph_t

cg

Public Member Functions

• write_edge_bool_op_t (const c_graph_t &_cg)• std::ostream & operator() (std::ostream &stream, std::pair< c_graph_t::edge_t,

bool > eb)

Private Attributes

• const c_graph_t & cg

9.99.1 Detailed Description

Definition at line 54 of file angel_tools.hpp.

9.99.2 Constructor & Destructor Documentation

9.99.2.1 angel::write_edge_bool_op_t::write_edge_bool_op_t (const c_graph_t& _cg) [inline]

Definition at line 57 of file angel_tools.hpp.

9.99.3 Member Function Documentation

9.99.3.1 std::ostream& angel::write_edge_bool_op_t::operator() (std::ostream& stream, std::pair< c_graph_t::edge_t, bool > eb) [inline]

Definition at line 58 of file angel_tools.hpp.

References cg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 462: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

454 angel Class Documentation

9.99.4 Member Data Documentation

9.99.4.1 const c_graph_t& angel::write_edge_bool_op_t::cg [private]

Definition at line 55 of file angel_tools.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 463: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.100 angel::write_edge_eliad_op_t Class Reference 455

9.100 angel::write_edge_eliad_op_t Class Reference

Operator used in write_graph_eliad.

#include <angel_io.hpp>

Public Member Functions

• write_edge_eliad_op_t (ostream &s)

• template<typename Ad_graph_t>void operator() (typename Ad_graph_t::edge_descriptor e, const Ad_graph_-t &adg)

Private Attributes

• ostream & stream

9.100.1 Detailed Description

Operator used in write_graph_eliad.

Definition at line 210 of file angel_io.hpp.

9.100.2 Constructor & Destructor Documentation

9.100.2.1 angel::write_edge_eliad_op_t::write_edge_eliad_op_t (ostream & s)[inline]

Definition at line 213 of file angel_io.hpp.

9.100.3 Member Function Documentation

9.100.3.1 template<typename Ad_graph_t> void angel::write_edge_eliad_-op_t::operator() (typename Ad_graph_t::edge_descriptor e, constAd_graph_t & adg) [inline]

Definition at line 215 of file angel_io.hpp.

References stream.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 464: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

456 angel Class Documentation

9.100.4 Member Data Documentation

9.100.4.1 ostream& angel::write_edge_eliad_op_t::stream [private]

Definition at line 211 of file angel_io.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/angel_io.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 465: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.101 angel::write_edge_name_op_t Class Reference 457

9.101 angel::write_edge_name_op_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::write_edge_name_op_t:

angel::write_edge_name_op_t

angel::line_graph_t

lg

angel::c_graph_t

cgp

Public Member Functions

• write_edge_name_op_t (const line_graph_t &_lg)

• std::ostream & operator() (std::ostream &stream, line_graph_t::edge_t e)

Private Attributes

• const line_graph_t & lg

• line_graph_t::const_evn_t evn

9.101.1 Detailed Description

Definition at line 66 of file angel_tools.hpp.

9.101.2 Constructor & Destructor Documentation

9.101.2.1 angel::write_edge_name_op_t::write_edge_name_op_t (constline_graph_t & _lg) [inline]

Definition at line 70 of file angel_tools.hpp.

References evn, and lg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 466: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

458 angel Class Documentation

9.101.3 Member Function Documentation

9.101.3.1 std::ostream& angel::write_edge_name_op_t::operator()(std::ostream & stream, line_graph_t::edge_t e) [inline]

Definition at line 72 of file angel_tools.hpp.

References evn.

9.101.4 Member Data Documentation

9.101.4.1 const line_graph_t& angel::write_edge_name_op_t::lg [private]

Definition at line 67 of file angel_tools.hpp.

Referenced by write_edge_name_op_t().

9.101.4.2 line_graph_t::const_evn_t angel::write_edge_name_op_t::evn[private]

Definition at line 68 of file angel_tools.hpp.

Referenced by operator()(), and write_edge_name_op_t().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 467: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.102 angel::write_edge_op_t Class Reference 459

9.102 angel::write_edge_op_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::write_edge_op_t:

angel::write_edge_op_t

angel::c_graph_t

cg

Public Member Functions

• write_edge_op_t (const c_graph_t &_cg)• std::ostream & operator() (std::ostream &stream, c_graph_t::edge_t e)

Private Attributes

• const c_graph_t & cg

9.102.1 Detailed Description

Definition at line 44 of file angel_tools.hpp.

9.102.2 Constructor & Destructor Documentation

9.102.2.1 angel::write_edge_op_t::write_edge_op_t (const c_graph_t & _cg)[inline]

Definition at line 47 of file angel_tools.hpp.

9.102.3 Member Function Documentation

9.102.3.1 std::ostream& angel::write_edge_op_t::operator() (std::ostream &stream, c_graph_t::edge_t e) [inline]

Definition at line 48 of file angel_tools.hpp.

References cg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 468: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

460 angel Class Documentation

9.102.4 Member Data Documentation

9.102.4.1 const c_graph_t& angel::write_edge_op_t::cg [private]

Definition at line 45 of file angel_tools.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 469: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.103 angel::write_face_number_op_t Class Reference 461

9.103 angel::write_face_number_op_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::write_face_number_op_t:

angel::write_face_number_op_t

angel::line_graph_t

lg

angel::c_graph_t

cgp

Public Member Functions

• write_face_number_op_t (const line_graph_t &_lg)• std::ostream & operator() (std::ostream &stream, line_graph_t::face_t f)

Private Attributes

• const line_graph_t & lg

9.103.1 Detailed Description

Definition at line 94 of file angel_tools.hpp.

9.103.2 Constructor & Destructor Documentation

9.103.2.1 angel::write_face_number_op_t::write_face_number_op_t (constline_graph_t & _lg) [inline]

Definition at line 97 of file angel_tools.hpp.

9.103.3 Member Function Documentation

9.103.3.1 std::ostream& angel::write_face_number_op_t::operator()(std::ostream & stream, line_graph_t::face_t f) [inline]

Definition at line 98 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 470: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

462 angel Class Documentation

References lg.

9.103.4 Member Data Documentation

9.103.4.1 const line_graph_t& angel::write_face_number_op_t::lg[private]

Definition at line 95 of file angel_tools.hpp.

Referenced by operator()().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 471: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.104 angel::write_face_op_t Class Reference 463

9.104 angel::write_face_op_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::write_face_op_t:

angel::write_face_op_t

angel::line_graph_t

lg

angel::c_graph_t

cgp

Public Member Functions

• write_face_op_t (const line_graph_t &_lg)

• std::ostream & operator() (std::ostream &stream, line_graph_t::face_t f)

Private Attributes

• const line_graph_t & lg

• line_graph_t::const_evn_t evn

9.104.1 Detailed Description

Definition at line 78 of file angel_tools.hpp.

9.104.2 Constructor & Destructor Documentation

9.104.2.1 angel::write_face_op_t::write_face_op_t (const line_graph_t & _lg)[inline]

Definition at line 82 of file angel_tools.hpp.

References evn, and lg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 472: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

464 angel Class Documentation

9.104.3 Member Function Documentation

9.104.3.1 std::ostream& angel::write_face_op_t::operator() (std::ostream &stream, line_graph_t::face_t f) [inline]

Definition at line 84 of file angel_tools.hpp.

References evn, lg, and THROW_DEBUG_EXCEPT_MACRO.

9.104.4 Member Data Documentation

9.104.4.1 const line_graph_t& angel::write_face_op_t::lg [private]

Definition at line 79 of file angel_tools.hpp.

Referenced by operator()(), and write_face_op_t().

9.104.4.2 line_graph_t::const_evn_t angel::write_face_op_t::evn [private]

Definition at line 80 of file angel_tools.hpp.

Referenced by operator()(), and write_face_op_t().

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 473: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

9.105 angel::write_vertex_op_t Class Reference 465

9.105 angel::write_vertex_op_t Class Reference

#include <angel_tools.hpp>

Collaboration diagram for angel::write_vertex_op_t:

angel::write_vertex_op_t

angel::c_graph_t

cg

Public Member Functions

• write_vertex_op_t (const c_graph_t &_cg)• std::ostream & operator() (std::ostream &stream, c_graph_t::vertex_t v)

Private Attributes

• const c_graph_t & cg

9.105.1 Detailed Description

Definition at line 34 of file angel_tools.hpp.

9.105.2 Constructor & Destructor Documentation

9.105.2.1 angel::write_vertex_op_t::write_vertex_op_t (const c_graph_t & _cg)[inline]

Definition at line 37 of file angel_tools.hpp.

9.105.3 Member Function Documentation

9.105.3.1 std::ostream& angel::write_vertex_op_t::operator() (std::ostream &stream, c_graph_t::vertex_t v) [inline]

Definition at line 38 of file angel_tools.hpp.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 474: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

466 angel Class Documentation

9.105.4 Member Data Documentation

9.105.4.1 const c_graph_t& angel::write_vertex_op_t::cg [private]

Definition at line 35 of file angel_tools.hpp.

The documentation for this class was generated from the following file:

• angel/include/angel_tools.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 475: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Chapter 10

angel File Documentation

10.1 angel/angel.hpp File Reference

#include <angel/include/angel_comm.hpp>

#include <angel/include/angel_exceptions.hpp>

#include <angel/include/angel_io.hpp>

#include <angel/include/angel_tools.hpp>

#include <angel/include/angel_types.hpp>

#include <angel/include/eliminations.hpp>

#include <angel/include/graph_generator.hpp>

#include <angel/include/heuristics.hpp>

#include <angel/include/sa.hpp>

#include <angel/include/xaif_interface.hpp>

Include dependency graph for angel.hpp:

angel/angel.hpp

angel/include/angel_comm.hpp

angel/include/angel_exceptions.hpp

angel/include/angel_io.hpp

angel_types.hpp

angel_tools.hpp

angel/include/eliminations.hpp

angel/include/graph_generator.hpp

angel/include/heuristics.hpp

angel/include/sa.hpp angel/include/xaif_interface.hpp

stringiostreamsstream

vector

fstream ctime

algorithmboost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

cstdlib queue cmath numericdeque

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

reroutings.hpp

heuristics_impl.hpp

limits.h

sa_impl.hpp xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp

Page 476: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

468 angel File Documentation

10.2 angel/include/angel_comm.hpp File Reference

This graph shows which files directly or indirectly include this file:

angel/include/angel_comm.hpp

angel/angel.hpp angel/src/angel_comm.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 477: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.3 angel/include/angel_comm_impl.hpp File Reference 469

10.3 angel/include/angel_comm_impl.hpp File Refer-ence

Namespaces

• namespace angel

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 478: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

470 angel File Documentation

10.4 angel/include/angel_exceptions.hpp File Refer-ence

#include <string>

#include <iostream>

#include <sstream>

Include dependency graph for angel_exceptions.hpp:

angel/include/angel_exceptions.hpp

string iostream sstream

This graph shows which files directly or indirectly include this file:

angel/include/angel_exceptions.hpp

angel/angel.hpp

angel/include/angel_types.hpp

angel/include/sa.hpp angel/src/heuristics.cpp

angel/src/angel_tools.cpp

angel/src/angel_io.cppangel/src/graph_generator.cpp

angel/include/angel_tools.hpp angel/include/heuristics_impl.hpp

angel/include/angel_io.hpp

angel/include/eliminations.hpp

angel/include/heuristics.hppangel/src/angel_types.cpp

angel/include/graph_generator.hpp

angel/include/reroutings.hpp

angel/include/xaif_interface.hpp

angel/src/xaif_interface.cpp

angel/src/eliminations.cpp angel/src/reroutings.cpp

angel/src/sa.cpp

Namespaces

• namespace angel

Classes

• class angel::base_exception• class angel::io_exception• class angel::consistency_exception

Defines

• #define THROW_DEBUG_EXCEPT_MACRO(Test, Exception, Message)• #define THROW_EXCEPT_MACRO(Test, Exception, Message)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 479: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.4 angel/include/angel_exceptions.hpp File Reference 471

10.4.1 Define Documentation

10.4.1.1 #define THROW_DEBUG_EXCEPT_MACRO(Test, Exception,Message)

Value:

{ \if (Test) { \

throw Exception(__FILE__, __LINE__, Message); }\}

Definition at line 42 of file angel_exceptions.hpp.

Referenced by angel::face_elimination(), angel::face_vertex_name(), angel::gamma_-adaption_average_t::gamma_adaption_average_t(), angel::gamma_adaption_max_-t::gamma_adaption_max_t(), angel::line_graph_t::line_graph_t(), angel::markowitz_-degree(), angel::markowitz_enlargement_back(), angel::markowitz_enlargement_-front(), angel::momr_edge_back(), angel::momr_edge_front(), angel::neighbor_-swap(), angel::base_heuristic_t< int >::objective(), angel::momrf_op_t::operator()(),angel::new_iks_t::operator()(), angel::new_pik_t::operator()(), angel::lmf_op_-t::operator()(), angel::diste_op_t::operator()(), angel::momrv_op_t::operator()(),angel::lowest_markowitz_face_complete_t< Heuristic_t >::operator()(),angel::write_face_op_t::operator()(), angel::elimination_history_t< Ad_graph_-t, El_spec_t >::operator=(), angel::oplr_face(), angel::random_statement(),angel::random_statement_vector(), angel::accu_graph_t::set_jacobi_entries(), an-gel::stats2block(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::swap(),angel::take_over_successors(), angel::write_face(), and angel::write_graph_xaif_-booster().

10.4.1.2 #define THROW_EXCEPT_MACRO(Test, Exception, Message)

Value:

{ \if (Test) { \

throw Exception(__FILE__, __LINE__, Message); }\}

Definition at line 51 of file angel_exceptions.hpp.

Referenced by angel::c_graph_t::c_graph_t(), angel::convert_elimination_-sequence(), angel::elimination_history_t< Ad_graph_t, El_spec_t >::elimination_-history_t(), angel::getEdge(), angel::getJAE_p(), angel::getLCG_p(), an-gel::getRefType(), angel::independent_vertices_to_front(), angel::Rerouting::init(),angel::line_graph_t::line_graph_t(), angel::lowest_markowitz_face_complete_t<

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 480: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

472 angel File Documentation

Heuristic_t >::operator()(), angel::ourLCG_to_angelLCG(), angel::populate_-remainderGraph_and_correlationLists(), angel::random(), angel::read_graph_eliad(),angel::read_graph_xaif_booster(), angel::removeRef(), angel::reroute_effect(),angel::setJaevRef(), angel::stats2block(), and angel::write_graph_xaif_booster().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 481: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.5 angel/include/angel_io.hpp File Reference 473

10.5 angel/include/angel_io.hpp File Reference

#include <vector>

#include <iostream>

#include <fstream>

#include <sstream>

#include <string>

#include <ctime>

#include "angel_types.hpp"

#include "angel_tools.hpp"

Include dependency graph for angel_io.hpp:

angel/include/angel_io.hpp

vector

iostream

fstream

sstream string

ctime

angel_types.hpp

angel_tools.hpp

algorithmboost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

cstdlib queue cmath numeric deque

This graph shows which files directly or indirectly include this file:

angel/include/angel_io.hpp

angel/angel.hpp

angel/include/eliminations.hpp

angel/include/heuristics.hpp

angel/include/sa.hpp

angel/src/xaif_interface.cpp

angel/src/angel_tools.cpp angel/src/angel_types.cpp angel/src/eliminations.cpp

angel/src/angel_io.cpp angel/src/graph_generator.cpp

angel/src/reroutings.cpp

angel/src/heuristics.cpp

angel/src/sa.cpp

Namespaces

• namespace angel

Classes

• class angel::write_edge_eliad_op_t

Operator used in write_graph_eliad.

• struct angel::no_output_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 482: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

474 angel File Documentation

• class angel::string_stream_output_t• struct angel::stream_output_t• struct angel::vis_display_output_t

Functions

• int angel::read_graph_eliad (const string &file_name, c_graph_t &cg, boolretry=true)

Read graph in EliAD graph format from file.

• void angel::write_face (ostream &stream, line_graph_t::face_t face, const line_-graph_t &lg)

Write a face face of lg to stream.

• void angel::write_face (line_graph_t::face_t face, const line_graph_t &lg)

Write a face face of lg to standard output.

• void angel::write_face_vector (ostream &stream, const string &s, const vector<line_graph_t::face_t > &v, const line_graph_t &lg)

Write a vector v of faces from lg to stream with comment s.

• void angel::write_face_vector (const string &s, const vector< line_graph_-t::face_t > &v, const line_graph_t &lg)

Write a vector v of faces from lg to standard output with comment s.

• template<typename T1, typename T2>

ostream & angel::operator<< (ostream &stream, const std::pair< T1, T2 >&p)

Write pair of arbitrary types to stream if their output operator is defined.

• template<typename Scalar_t>void angel::write_vector (ostream &stream, const string &s, const vector<Scalar_t > &v)

Write STL vector v to stream with comment s if their output operator is defined.

• template<typename Scalar_t>void angel::write_vector (const string &s, const vector< Scalar_t > &v)

Write STL vector v to standard output with comment s if their output operator isdefined.

• template<typename Scalar_t, typename Op_t>void angel::write_vector (ostream &stream, const string &s, const vector<Scalar_t > &v, Op_t op)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 483: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.5 angel/include/angel_io.hpp File Reference 475

Write STL vector to stream.

• template<typename Scalar_t, typename Op_t>void angel::write_vector (const string &s, const vector< Scalar_t > &v, Op_top)

Write STL vector to standard output.

• template<typename Ad_graph_t>void angel::write_graph (ostream &stream, const string &s, const Ad_graph_t&adg, bool write_edge_weight)

Write c-graph or line graph to stream.

• template<typename Ad_graph_t>void angel::write_graph (const string &s, const Ad_graph_t &adg, bool write_-edge_weight)

Write c-graph or line graph to standard output.

• template<typename Ad_graph_t>void angel::write_graph (const string &file_name, const string &s, const Ad_-graph_t &adg, bool write_edge_weight)

Write c-graph or line graph to file.

• template<typename Ad_graph_t>void angel::write_graph (ostream &stream, const string &s, const Ad_graph_t&adg)

Write c-graph or line graph to stream.

• template<typename Ad_graph_t>void angel::write_graph (const string &s, const Ad_graph_t &adg)

Write c-graph or line graph to standard output.

• template<typename Ad_graph_t>void angel::write_graph (const string &file_name, const string &s, const Ad_-graph_t &adg)

Write c-graph or line graph to file.

• template<typename Ad_graph_t>void angel::write_graph_eliad (ostream &stream, const Ad_graph_t &adg)

Write c-graph or line graph in EliAD format to stream.

• template<typename Ad_graph_t>void angel::write_graph_eliad (const Ad_graph_t &adg)

Write c-graph or line graph in EliAD format to standard output.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 484: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

476 angel File Documentation

• template<typename Ad_graph_t>void angel::write_graph_eliad (const string &file_name, const Ad_graph_-t &adg)

Write c-graph or line graph in EliAD format to file.

• template<typename Prop_t, typename Ad_graph_t>void angel::write_vertex_property (ostream &stream, const string &s, constProp_t &prop, const Ad_graph_t &adg)

Write internal vertex property to stream.

• template<typename Prop_t, typename Ad_graph_t>void angel::write_edge_property (ostream &stream, const string &s, constProp_t &prop, const Ad_graph_t &adg)

Write internal edge property to stream.

• void angel::open_log_file (int &argc, char ∗∗&argv)• void angel::close_log_file ()• string angel::numbered_filename (const string &basename, const string &suffix,

int number, int width=4)• template<class Value_t>

no_output_t & angel::operator<< (no_output_t &out, const Value_t &)• template<class Value_t>

string_stream_output_t & angel::operator<< (string_stream_output_t &out,const Value_t &value)

• void angel::write_refillDependences (ostream &stream, constrefillDependenceMap_t &refillDependences)

• void angel::writeVertexAndEdgeTypes (ostream &stream, c_graph_t &an-gelLCG)

Variables

• ofstream angel::log_file• no_output_t angel::no_output• string_stream_output_t angel::cout_string_output• vis_display_output_t angel::cout_vis_display_output

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 485: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.6 angel/include/angel_tools.hpp File Reference 477

10.6 angel/include/angel_tools.hpp File Reference

#include <cstdlib>

#include <string>

#include <vector>

#include <queue>

#include <algorithm>

#include <cmath>

#include <numeric>

#include <iostream>

#include <deque>

#include "angel_exceptions.hpp"

#include "angel_types.hpp"

Include dependency graph for angel_tools.hpp:

angel/include/angel_tools.hpp

cstdlib

string

vector

queue

algorithm

cmath numeric

iostream

deque

angel_exceptions.hpp

angel_types.hpp

sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp mapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

This graph shows which files directly or indirectly include this file:

angel/include/angel_tools.hpp

angel/angel.hpp

angel/include/angel_io.hpp

angel/include/sa.hpp

angel/src/xaif_interface.cpp

angel/src/heuristics.cpp

angel/src/angel_tools.cpp angel/src/angel_types.cpp angel/src/eliminations.cpp angel/src/reroutings.cpp

angel/src/angel_io.cpp angel/src/graph_generator.cppangel/include/eliminations.hpp

angel/include/heuristics.hpp

angel/src/sa.cpp

Namespaces

• namespace angel

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 486: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

478 angel File Documentation

Classes

• class angel::write_vertex_op_t• class angel::write_edge_op_t• class angel::write_edge_bool_op_t• class angel::write_edge_name_op_t• class angel::write_face_op_t• class angel::write_face_number_op_t• struct angel::edge_equal_t< Ad_graph_t >

Compares edges of different graphs.

• struct angel::edge_less_t< Ad_graph_t >

Compares edges of different graphs (lexicographically).

• class angel::lex_less_face_line_t• class angel::not_lex_less_face_line_t• struct angel::dec_greater< vertex_t >

• struct angel::empty_operator_t< operand_t >

Empty operator class for dummy arguments.

Functions

• template<typename Ad_graph_t, typename Op_t>void angel::for_all_edges (Ad_graph_t &adg, const Op_t &op)

Applies op to all edges of adg, graph can be changed.

• template<typename Ad_graph_t, typename Op_t>void angel::for_all_edges (const Ad_graph_t &adg, Op_t &op)

Applies op to all edges of adg, op can be changed, e.g. for outputs.

• template<typename Ad_graph_t, typename Op_t>void angel::for_all_in_edges (typename Ad_graph_t::vertex_descriptor v, Ad_-graph_t &adg, const Op_t &op)

Applies op to all in-edges of v, graph can be changed.

• template<typename Ad_graph_t, typename Op_t>void angel::for_all_out_edges (typename Ad_graph_t::vertex_descriptor v, Ad_-graph_t &adg, const Op_t &op)

Applies op to all out-edges of v, graph can be changed.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 487: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.6 angel/include/angel_tools.hpp File Reference 479

• template<typename Ad_graph_t, typename Op_t>int angel::sum_over_all_in_edges (typename Ad_graph_t::vertex_descriptor v,Ad_graph_t &adg, const Op_t &op)

Applies op to all in-edges of v and sum it.

• template<typename Ad_graph_t, typename Op_t>int angel::sum_over_all_out_edges (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, const Op_t &op)

Applies op to all out-edges of v and sum it.

• template<typename Ad_graph_t>void angel::successor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns successor set of v as vector vec.

• template<typename Ad_graph_t>void angel::sorted_successor_set (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns successor set of v as vector vec, vertices are sorted.

• template<typename Ad_graph_t>void angel::predecessor_set (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns successor set of v as vector vec.

• template<typename Ad_graph_t>void angel::sorted_predecessor_set (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns successor set of v as vector vec, vertices are sorted.

• bool angel::reachable (const c_graph_t::vertex_t src, const c_graph_t::vertex_ttgt, c_graph_t &angelLCG)

Answers a reachability query from src to tgt.

• void angel::vertex_upset (const c_graph_t::vertex_t v, const c_graph_t &an-gelLCG, vertex_set_t &upset)

Returns a set of vertices in adg that depend on v.

• void angel::vertex_downset (const c_graph_t::vertex_t v, const c_graph_t &an-gelLCG, vertex_set_t &downset)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 488: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

480 angel File Documentation

Returns a set of vertices in adg that v depends on.

• template<typename El_t>void angel::unique_vector (std::vector< El_t > &v)

Sorts arbitrary vector and removes double elements.

• template<typename Ad_graph_t>void angel::common_successors (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have common successors with v.

• template<typename Ad_graph_t>void angel::same_successors (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have same successor set as v.

• template<typename Ad_graph_t>void angel::common_predecessor (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have common predecessors with v.

• template<typename Ad_graph_t>void angel::same_predecessors (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have same predecessor set as v.

• template<typename Ad_graph_t>void angel::same_neighbors (typename Ad_graph_t::vertex_descriptor v, constAd_graph_t &adg, typename std::vector< typename Ad_graph_t::vertex_-descriptor > &vec)

Returns set of vertices (in vec) that have same predecessor and successor set as v.

• template<typename It_t, typename Op_t>std::ostream & angel::write_iterators (std::ostream &stream, const std::string&s, It_t begin, It_t end, Op_t op)

• template<typename Ad_graph_t>graph_traits< Ad_graph_t >::edge_iterator angel::same_edge (typename Ad_-graph_t::edge_descriptor e, const Ad_graph_t &g1, const Ad_graph_t &g2)

Returns same edge in another graph.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 489: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.6 angel/include/angel_tools.hpp File Reference 481

• template<typename Ad_graph_t>vertex_type_t angel::vertex_type (typename Ad_graph_t::vertex_descriptor v,const Ad_graph_t &adg)

Functional equivalent for graph class method (more boost-like).

• template<typename Ad_graph_t>int angel::count_parallel_edges (typename Ad_graph_t::edge_descriptor e, constAd_graph_t &g)

• c_graph_t::edge_t angel::getEdge (unsigned int i, unsigned int j, const c_graph_t&angelLCG)

Returns the edge in angelLCG that has source i and target j.

• bool angel::lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)

Returns whether e1 is lexicographically greater than e2 w.r.t. source and target.

• bool angel::lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)

Returns whether e1 is lexicographically less than e2 w.r.t. source and target.

• bool angel::inv_lex_greater (c_graph_t::edge_t e1, c_graph_t::edge_t e2, constc_graph_t &cg)

Returns whether e1 is lexicographically greater than e2 w.r.t. target and source.

• bool angel::inv_lex_less (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const c_-graph_t &cg)

Returns whether e1 is lexicographically less than e2 w.r.t. target and source.

• bool angel::lex_greater (edge_bool_t eb1, edge_bool_t eb2, const c_graph_-t &cg)

• bool angel::lex_less (edge_bool_t eb1, edge_bool_t eb2, const c_graph_t &cg)• bool angel::lex_less_face (line_graph_t::face_t e1, line_graph_t::face_t e2, const

line_graph_t &lg)• int angel::random (int min, int max)

Random value between min and max, i.e. from [min, max].

• double angel::random (double n)

Random value from [0, n).

• int angel::random (int n)

Random value between 0 and n-1, i.e. from [0, n).

• int angel::random_high (int n, int exp=2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 490: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

482 angel File Documentation

Random value from [0, n) where larger values have higher probability (increases withexp).

• int angel::random (const std::vector< double > &p)

Random number characterized by p, the accumulated probabities.

• void angel::in_out_path_lengths (const c_graph_t &cg, std::vector< int > &vni,std::vector< int > &vli, std::vector< int > &vno, std::vector< int > &vlo)

Returns for each vertex the number of paths and their overall length.

• bool angel::find_edge (int s, int t, const line_graph_t &lg, std::vector< line_-graph_t::edge_t > &ev)

Searches an edge in line graph that corresponds to (s,t).

• bool angel::is_bipartite (const c_graph_t &cg)

Tests if cg is bi-partite.

• bool angel::is_tripartite (const line_graph_t &lg)

Tests if lg is tri-partite.

• void angel::number_dependent_vertices (const c_graph_t &cg, std::vector< int> &v)

Returns for each vertex how many dependent vertices depent on it.

• void angel::number_independent_vertices (const c_graph_t &cg, std::vector<int > &v)

Returns for each vertex on how many independent vertices it depends.

• template<typename Ad_graph_t>void angel::reachable_vertices (const Ad_graph_t &adg, std::vector< bool >&rv)

Computes all reachable vertices for c- and line graphs.

• template<typename Ad_graph_t>void angel::relevant_vertices (const Ad_graph_t &adg, std::vector< bool >&rv)

Computes all relevant vertices for c- and line graphs.

• template<typename Neighbor_t>bool angel::search_path (const std::vector< c_graph_t::vertex_t > &from, conststd::vector< c_graph_t::vertex_t > &to, const Neighbor_t &n, std::vector< c_-graph_t::vertex_t > &path, bool breadth_first=false)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 491: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.6 angel/include/angel_tools.hpp File Reference 483

• template<typename Neighbor_t>int angel::maximal_paths (c_graph_t::vertex_t v, const Neighbor_t &nin,std::vector< std::vector< c_graph_t::vertex_t > > &paths)

• template<typename Neighbor_t>int angel::minimal_in_out_degree (c_graph_t::vertex_t v, const Neighbor_-t &nin)

• void angel::minimal_markowitz_degree (const c_graph_t &cg, std::vector< int> &v)

Minimal Markowitz degree for each vertex.

• int angel::overall_minimal_markowitz_degree (const c_graph_t &cg)

Sum of minimal Markowitz degrees.

• void angel::permutate_vertices (const c_graph_t &gin, const std::vector< c_-graph_t::vertex_t > &p, c_graph_t &gout)

Permutates vertices, vertex v in gin becomes p[v] in gout.

• void angel::independent_vertices_to_front (const c_graph_t &gin, conststd::vector< c_graph_t::vertex_t > &indeps, c_graph_t &gout)

Independent vertices, given by indeps, becomes first vertices in gout.

• void angel::put_unit_vertex_weight (line_graph_t &lg)

Sets all vertex labels (in ed) to 1.

• void angel::put_unit_edge_weight (c_graph_t &cg)

Sets all edge labels (in ew) to 1.

• int angel::renumber_edges (c_graph_t &cg)

Renumber edges of cg continously, i.e. to [0..num_edges-1].

• void angel::take_over_successors (c_graph_t::vertex_t v1, c_graph_t::vertex_-t v2, int offset, const c_graph_t &g1, int &edge_number, c_graph_t &g2)

• template<typename Ad_graph_t>int angel::remove_irrelevant_edges (typename Ad_graph_t::vertex_descriptor i,Ad_graph_t &adg, bool fast=false)

Removes irrelevant edges from adg starting with i.

• template<typename Ad_graph_t>int angel::remove_unreachable_edges (typename Ad_graph_t::vertex_descriptori, Ad_graph_t &adg, bool fast=false)

Removes unreachable edges from adg starting with i.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 492: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

484 angel File Documentation

• template<typename Ad_graph_t>int angel::remove_edges (typename Ad_graph_t::vertex_descriptor i, Ad_-graph_t &adg)

Removes irrelevant and unreachable edges from adg starting with i.

• int angel::remove_hoisting_vertices (c_graph_t &cg)Removes all vertices with one predecessor and one successor from cg.

• void angel::remove_parallel_edges (c_graph_t &cg)Removes parallel edges.

• void angel::remove_trivial_edges (c_graph_t &cg)Eliminates all edges with label 1, front elimination is preferred.

• size_t angel::block_begin (size_t i, size_t p, size_t n)First index in ith of p blocks where overall size is n (indices 0..n-1).

• double angel::gen_prob ()Returns a random number between zero and one.

• unsigned int angel::chooseTarget_sa (std::vector< double > &deltaE)Randomly chooses an index into the vector deltaE.

• int angel::chooseEdgeElimRandomly (std::vector< double > &deltaE)• int angel::chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 493: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.7 angel/include/angel_types.hpp File Reference 485

10.7 angel/include/angel_types.hpp File Reference

#include <vector>

#include <string>

#include <algorithm>

#include <iostream>

#include <sstream>

#include "boost/graph/adjacency_list.hpp"

#include "boost/graph/graph_traits.hpp"

#include "boost/property_map.hpp"

#include <map>

#include <set>

#include "xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp"

#include "xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp"

#include "xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp"

#include "angel_exceptions.hpp"

Include dependency graph for angel_types.hpp:

angel/include/angel_types.hpp

vector

string

algorithm

iostream sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hppangel_exceptions.hpp

This graph shows which files directly or indirectly include this file:

angel/include/angel_types.hpp

angel/angel.hpp

angel/include/angel_io.hpp

angel/include/eliminations.hpp

angel/include/heuristics.hpp

angel/include/sa.hpp

angel/src/angel_types.cpp

angel/src/graph_generator.cpp

angel/include/angel_tools.hpp

angel/include/graph_generator.hpp

angel/include/reroutings.hpp

angel/include/xaif_interface.hpp

angel/src/xaif_interface.cpp

angel/src/angel_tools.cppangel/src/eliminations.cpp

angel/src/angel_io.cpp

angel/src/reroutings.cpp

angel/src/heuristics.cpp

angel/src/sa.cpp

Namespaces

• namespace angel

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 494: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

486 angel File Documentation

Classes

• struct angel::EdgeType• struct angel::VertexVisited

Pure BGL type definition of c-graph.

• class angel::c_graph_t

C-graph type.

• class angel::line_graph_t

Line graph type.

• struct angel::triplet_t

Triplet of faces, used in face_elimination_history_t.

• class angel::predecessor_t< Ad_graph_t >

• class angel::successor_t< Ad_graph_t >

• struct angel::edge_elim_t

Edge edge to eliminate from c-graph and whether it should be front or back elimi-nated.

• struct angel::edge_pair_elim_t• struct angel::edge_ij_elim_t• struct angel::accu_exp_t• union angel::accu_exp_t::ref_t• class angel::accu_exp_graph_t• struct angel::accu_graph_t• struct angel::EdgeRef_t• struct angel::edge_reroute_t• class angel::EdgeElim

Graph-independent edge elimination.

• class angel::Rerouting

Graph-independent rerouting.

• class angel::Transformation

Graph-independent transformation.

• struct angel::elimSeq_cost_t• struct angel::transformationSeq_cost_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 495: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.7 angel/include/angel_types.hpp File Reference 487

Typedefs

• typedef boost::property< boost::edge_weight_t, int > angel::edge_weight_-property

• typedef boost::property< boost::edge_index_t, int, edge_weight_property >angel::edge_index_weight_property

• typedef boost::property< EdgeType, int, edge_index_weight_property >angel::edge_type_index_weight_property

• typedef boost::property< VertexVisited, bool > angel::vertex_visited_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,

vertex_visited_property, edge_type_index_weight_property > angel::pure_c_-graph_t

Pure BGL type definition of c-graph.

• typedef std::pair< c_graph_t::edge_t, bool > angel::edge_bool_tPair of c-graph edge and boolean to specify an edge elimination.

• typedef std::pair< int, int > angel::ad_edge_t• typedef boost::property< boost::vertex_degree_t, int > angel::vertex_degree_-

property• typedef boost::property< boost::vertex_name_t, ad_edge_t, vertex_degree_-

property > angel::vertex_name_degree_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,

vertex_name_degree_property, boost::no_property > angel::pure_line_graph_-t

Pure BGL type definition of line graph.

• typedef std::vector< edge_elim_t > angel::edge_elim_seq_t• typedef std::vector< edge_pair_elim_t > angel::edge_pair_elim_seq_t• typedef std::vector< edge_ij_elim_t > angel::edge_ij_elim_seq_t• typedef boost::property< boost::vertex_name_t, accu_exp_t > angel::accu_-

exp_property• typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS,

accu_exp_property, boost::no_property > angel::pure_accu_exp_graph_t• typedef std::pair< unsigned int, unsigned int > angel::uint_pair_t• typedef std::set< c_graph_t::vertex_t > angel::vertex_set_t• typedef std::map< uint_pair_t, vertex_set_t > angel::refillDependenceMap_t

Enumerations

• enum angel::vertex_type_t {

angel::independent, angel::intermediate, angel::dependent, angel::dead_vertex,

angel::undefined_vertex }

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 496: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

488 angel File Documentation

Vertex type for vertex_t in c_graph_t and edge_t in line_graph_t.

• enum angel::Edge_Type_E { angel::VARIABLE_EDGE, angel::UNIT_EDGE,angel::CONSTANT_EDGE }

• enum angel::EdgeRefType_E { angel::LCG_EDGE, angel::JAE_VERT, an-gel::UNDEFINED }

Functions

• bool angel::operator== (const c_graph_t &g1, const c_graph_t &g2)Compares two c-graphs.

• bool angel::operator!= (const c_graph_t &g1, const c_graph_t &g2)Compares two c-graphs.

• int angel::overall_markowitz_degree (const c_graph_t &cg)Markowitz degree of all vertices in cg.

• bool angel::vertex_eliminatable (const c_graph_t &cg)Whether cg can be transformed into bipartite graph by vertex eliminations.

• template<typename Ad_graph_t>std::pair< typename Ad_graph_t::edge_descriptor, bool > angel::edge(typename Ad_graph_t::vertex_descriptor u, typename Ad_graph_t::vertex_-descriptor v, const Ad_graph_t &g)

Replaces edge function of BGL.

• void angel::edge_vertex_name (line_graph_t::edge_t e, const line_graph_t &lg,int &i, int &j)

Vertex pair representation of an edge in line graph.

• void angel::face_vertex_name (line_graph_t::face_t f, const line_graph_t &lg,int &i, int &j, int &k)

Vertex triplet representation of a face.

• bool angel::operator== (const line_graph_t &g1, const line_graph_t &g2)Compares two line graphs.

• bool angel::operator!= (const line_graph_t &g1, const line_graph_t &g2)Compares two line graphs.

• int angel::overall_markowitz_degree (const line_graph_t &lg)Markowitz degree of all vertices.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 497: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.7 angel/include/angel_types.hpp File Reference 489

• int angel::markowitz_degree (int j, const line_graph_t &lg)Markowitz.

• std::ostream & angel::operator<< (std::ostream &stream, const triplet_t &t)Output operator of triplet_t.

• std::ostream & angel::operator<< (std::ostream &stream, const edge_pair_-elim_t &ee)

Output operator of edge_pair_elim_t.

• std::ostream & angel::operator<< (std::ostream &stream, const edge_ij_elim_t&ee)

Output operator of edge_ij_elim_t.

• std::ostream & angel::operator<< (std::ostream &stream, const accu_exp_-t &exp)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 498: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

490 angel File Documentation

10.8 angel/include/eliminations.hpp File Reference

#include "angel_types.hpp"

#include "angel_io.hpp"

#include "xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp"

Include dependency graph for eliminations.hpp:

angel/include/eliminations.hpp

angel_types.hpp

angel_io.hpp xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

vector

string

algorithm

iostreamsstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp mapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

fstream ctimeangel_tools.hpp

cstdlib queue cmath numeric deque

This graph shows which files directly or indirectly include this file:

angel/include/eliminations.hpp

angel/angel.hpp

angel/include/heuristics.hpp

angel/include/sa.hpp

angel/src/xaif_interface.cpp

angel/src/angel_tools.cpp angel/src/angel_types.cpp angel/src/eliminations.cpp angel/src/reroutings.cpp

angel/src/heuristics.cpp

angel/src/sa.cpp

Namespaces

• namespace angel

Classes

• struct angel::edge_vertex_elim_t• class angel::elimination_history_t< Ad_graph_t, El_spec_t >

Elimination history.

Typedefs

• typedef vector< edge_vertex_elim_t > angel::edge_vertex_elim_seq_t

sequences of edges as nodes from line graph

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 499: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.8 angel/include/eliminations.hpp File Reference 491

• typedef elimination_history_t< c_graph_t, c_graph_t::vertex_t >angel::vertex_elimination_history_t

Vertex elimination history for LSA usage.

• typedef elimination_history_t< c_graph_t, edge_ij_elim_t > angel::edge_-elimination_history_t

Edge elimination history for LSA usage.

• typedef elimination_history_t< line_graph_t, triplet_t > angel::face_-elimination_history_t

Face elimination history for LSA usage.

Functions

• int angel::vertex_elimination (c_graph_t::vertex_t v, c_graph_t &cg)• int angel::vertex_elimination (int j, c_graph_t &cg)• int angel::front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::front_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j,

c_graph_t &cg)• int angel::front_edge_elimination (int i, int j, c_graph_t &cg)• int angel::back_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::back_edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j,

c_graph_t &cg)• int angel::back_edge_elimination (int i, int j, c_graph_t &cg)• int angel::edge_elimination (c_graph_t::edge_t e, bool front, c_graph_t &cg)• int angel::edge_elimination (edge_bool_t e, c_graph_t &cg)• int angel::edge_elimination (c_graph_t::vertex_t i, c_graph_t::vertex_t j, bool

front, c_graph_t &cg)• int angel::edge_elimination (int i, int j, bool front, c_graph_t &cg)• int angel::edge_elimination (edge_ij_elim_t ee, c_graph_t &cg)

Edge elimination specified by ee.

• int angel::vertex_elimination (const vector< int > &seq, c_graph_t &cg)• int angel::edge_elimination (const edge_elim_seq_t &seq, c_graph_t &cg)• int angel::edge_elimination (const edge_pair_elim_seq_t &seq, c_graph_t &cg)• int angel::edge_elimination (const edge_ij_elim_seq_t &seq, c_graph_t &cg)• int angel::vertex_elimination (int j, line_graph_t &lg)• int angel::front_edge_elimination (int i, int j, line_graph_t &lg)• int angel::front_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::back_edge_elimination (int i, int j, line_graph_t &lg)• int angel::back_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::edge_elimination (int i, int j, bool front, line_graph_t &lg)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 500: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

492 angel File Documentation

• int angel::edge_elimination (line_graph_t::edge_t vij, bool front, line_graph_t&lg)

Front elimination of edge vij from line graph lg if front=true otherwise backeliminination.

• int angel::edge_elimination (const edge_vertex_elim_seq_t &seq, line_graph_t&lg)

Eliminate sequence seq of edges from line graph lg.

• int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg,accu_graph_t &ac)

• int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg)• int angel::face_elimination (line_graph_t::face_t f, line_graph_t &lg)• int angel::face_elimination (int i, int j, line_graph_t &lg)• int angel::face_elimination (int i, int j, int kr, line_graph_t &lg)• int angel::face_elimination (int i, int j, int kr, line_graph_t &lg, accu_graph_t

&ac)• int angel::face_elimination (triplet_t &t, line_graph_t &lg)• int angel::face_elimination (triplet_t &t, line_graph_t &lg, accu_graph_t &ac)• int angel::was_non_trivial_elimination (int i, int j, int k, const line_graph_t &lg)• int angel::was_non_trivial_elimination (line_graph_t::face_t f, int k, const line_-

graph_t &lg)• int angel::eliminate (c_graph_t::vertex_t v, c_graph_t &cg)

Overloaded elimination for templates, here vertex elimination in c-graph.

• int angel::eliminate (int j, c_graph_t &cg)

Overloaded elimination for templates, here vertex elimination in c-graph.

• int angel::eliminate (int j, line_graph_t &lg)

Overloaded elimination for templates, here vertex elimination in line graph.

• int angel::eliminate (edge_bool_t e, c_graph_t &cg)

Overloaded elimination for templates, here vertex elimination in c-graph.

• int angel::eliminate (edge_ij_elim_t ee, c_graph_t &cg)

Overloaded elimination for templates, here vertex elimination in c-graph.

• int angel::eliminate (line_graph_t::face_t f, line_graph_t &lg)• int angel::eliminate (triplet_t &t, line_graph_t &lg)• int angel::eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-

t::vertex_t > &vv)

Returns a set of vertices that can be eliminated from c-graph cg.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 501: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.8 angel/include/eliminations.hpp File Reference 493

• int angel::semi_eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)

Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.

• int angel::eliminatable_edges (const c_graph_t &cg, vector< c_graph_t::edge_t> &ev)

Returns a set of edges that can be eliminated from c-graph cg.

• int angel::front_eliminatable_edges (const c_graph_t &cg, vector< c_graph_-t::edge_t > &ev)

Returns a set of edges that can be front eliminated from c-graph cg.

• int angel::back_eliminatable_edges (const c_graph_t &cg, vector< c_graph_-t::edge_t > &ev)

Returns a set of edges that can be back eliminated from c-graph cg.

• int angel::eliminatable_edges (const c_graph_t &cg, vector< edge_bool_t >&ev)

Returns a set of edges that can be eliminated from c-graph cg and how.

• int angel::eliminatable_edges (const c_graph_t &cg, vector< edge_ij_elim_t >&ev)

Returns a set of edges that can be eliminated from c-graph cg and how.

• unsigned int angel::eliminatable_edges (const c_graph_t &cg, vector< EdgeE-lim > &ev)

Returns a set of edges that can be eliminated from c-graph cg.

• int angel::eliminatable_faces (const line_graph_t &lg, vector< line_graph_-t::face_t > &fv)

Returns a set of faces that can be eliminated from line graph lg.

• int angel::eliminatable_triplets (const line_graph_t &lg, vector< triplet_t >&tv)

Returns a set of eliminatable faces as triplets tv from line graph lg.

• int angel::eliminatable_objects (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)

Synonym of eliminatable_vertices for usage in templates.

• int angel::eliminatable_objects (const c_graph_t &cg, vector< c_graph_-t::edge_t > &ev)

Synonym of eliminatable_edges for usage in templates.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 502: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

494 angel File Documentation

• int angel::eliminatable_objects (const c_graph_t &cg, vector< edge_bool_t >&ev)

Synonym of eliminatable_edges for usage in templates.

• int angel::eliminatable_objects (const c_graph_t &cg, vector< edge_ij_elim_t >&ev)

Synonym of eliminatable_edges for usage in templates.

• int angel::eliminatable_objects (const line_graph_t &lg, vector< line_graph_-t::face_t > &fv)

Synonym of eliminatable_faces for usage in templates.

• int angel::eliminatable_objects (const line_graph_t &lg, vector< triplet_t >&tv)

Synonym of eliminatable_triplets for usage in templates.

• bool angel::convert_elimination_sequence (const vector< c_graph_t::vertex_t >&vv, const c_graph_t &cg, vector< edge_ij_elim_t > &ev)

Converts vertex elimination sequence into (mixed) edge elimination sequence.

• bool angel::convert_elimination_sequence (const vector< edge_ij_elim_t >&ev, const line_graph_t &lg, vector< triplet_t > &tv)

Converts (mixed) edge elimination sequence into face elimination sequence.

• EdgeRefType_E angel::getRefType (const c_graph_t::edge_t e, const c_graph_t&angelLCG, const list< EdgeRef_t > &edge_ref_list)

• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ angel::getLCG_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG,const list< EdgeRef_t > &edge_ref_list)

• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗angel::getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, constlist< EdgeRef_t > &edge_ref_list)

• void angel::setJaevRef (const c_graph_t::edge_t e, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionVertex &jaev, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)

• void angel::removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list)

• unsigned int angel::multiply_edge_pair_directly (const c_graph_-t::edge_t e1, const c_graph_t::edge_t e2, c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 503: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.8 angel/include/eliminations.hpp File Reference 495

• unsigned int angel::front_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)

• unsigned int angel::back_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)

• unsigned int angel::pair_elim (c_graph_t::edge_t e1, c_graph_t::edge_-t e2, c_graph_t &angelLCG, const elimSeq_cost_t &currentElimSeq,refillDependenceMap_t &refillDependences)

• unsigned int angel::front_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t &currentElimSeq, refillDependenceMap_t &refillDepen-dences)

• unsigned int angel::back_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t &currentElimSeq, refillDependenceMap_t &refillDepen-dences)

• unsigned int angel::pairElim_noJAE (c_graph_t::edge_t e1, c_graph_-t::edge_t e2, c_graph_t &angelLCG, const transformationSeq_cost_t∗currentTransformationSequence, refillDependenceMap_t &refillDependences)

• unsigned int angel::frontEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)

• unsigned int angel::backEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 504: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

496 angel File Documentation

10.9 angel/include/gmpi.hpp File Reference

#include "mpi.h"

#include <utility>

#include <vector>

#include <list>

#include <deque>

#include "gmpi_impl.hpp"

Include dependency graph for gmpi.hpp:

angel/include/gmpi.hpp

mpi.h utility vector list deque gmpi_impl.hpp

Namespaces

• namespace GMPI

Classes

• class GMPI::buffer_t< Base_t >

• class GMPI::comm_ref_t< Base_t, Object_t >

• class GMPI::Comm• class GMPI::Intracomm

Functions

• MPI::Datatype GMPI::which_mpi_t (char)

Returns MPI data type for all available base types.

• MPI::Datatype GMPI::which_mpi_t (signed short)• MPI::Datatype GMPI::which_mpi_t (unsigned char)• MPI::Datatype GMPI::which_mpi_t (double)• MPI::Datatype GMPI::which_mpi_t (long double)• MPI::Datatype GMPI::which_mpi_t (pair< int, int >)• MPI::Datatype GMPI::which_mpi_t (pair< float, int >)• MPI::Datatype GMPI::which_mpi_t (pair< double, int >)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 505: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.9 angel/include/gmpi.hpp File Reference 497

• MPI::Datatype GMPI::which_mpi_t (pair< long double, int >)• MPI::Datatype GMPI::which_mpi_t (pair< short, int >)• template<typename Base_t>

const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, Base_t &input)

Read one entry of buffer’s base type.

• template<typename Base_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constBase_t &output)

Write one entry of buffer’s base type.

• template<typename Base_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, vector< Base_t > &input)

Read a vector of buffer’s base type in faster mode than arbitrary vectors.

• template<typename Base_t>const buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer,const vector< Base_t > &output)

Write a vector of buffer’s base type in faster mode than arbitrary vectors.

• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, pair< Scalar1_t, Scalar2_t > &input)

Reads a pair of arbitrary types.

• template<typename Base_t, typename Scalar1_t, typename Scalar2_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constpair< Scalar1_t, Scalar2_t > &output)

Writes a pair of arbitrary types.

• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, vector< Scalar_t > &input)

Reads a vector of an arbitrary type.

• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constvector< Scalar_t > &output)

Writes (appends to) a vector of an arbitrary type.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 506: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

498 angel File Documentation

• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, list< Scalar_t > &input)

Reads a list of an arbitrary type.

• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constlist< Scalar_t > &output)

Writes (appends to) a list of an arbitrary type.

• template<typename Base_t, typename Scalar_t>const buffer_t< Base_t > & GMPI::operator>> (const buffer_t< Base_t >&buffer, deque< Scalar_t > &input)

Reads a deque of an arbitrary type.

• template<typename Base_t, typename Scalar_t>buffer_t< Base_t > & GMPI::operator<< (buffer_t< Base_t > &buffer, constdeque< Scalar_t > &output)

Writes (appends to) a deque of an arbitrary type.

Variables

• const MPI::Datatype GMPI::mpi_size_t = which_mpi_t (size_t())MPI data type to communicate sizes.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 507: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.10 angel/include/gmpi_impl.hpp File Reference 499

10.10 angel/include/gmpi_impl.hpp File Reference

This graph shows which files directly or indirectly include this file:

angel/include/gmpi_impl.hpp

angel/include/gmpi.hpp

Namespaces

• namespace GMPI

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 508: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

500 angel File Documentation

10.11 angel/include/graph_generator.hpp File Refer-ence

#include <vector>

#include "angel_types.hpp"

Include dependency graph for graph_generator.hpp:

angel/include/graph_generator.hpp

vector

angel_types.hpp

string

algorithm

iostream sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

This graph shows which files directly or indirectly include this file:

angel/include/graph_generator.hpp

angel/angel.hpp angel/src/graph_generator.cpp

Namespaces

• namespace angel

Classes

• struct angel::random_init_t

Functions

• void angel::random_statement (int inputs, int expr, const std::vector< double >&p, c_graph_t &statement)

Generates a random statement.

• void angel::random_statement_vector (int max_expr, double unary, std::vector<c_graph_t > &statement_vector)

Generates a vector of random statements.

• void angel::stats2block (int inputs, int outputs, const std::vector< c_graph_t >&stats, c_graph_t &block)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 509: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.11 angel/include/graph_generator.hpp File Reference 501

Build a block from a list of statements.

• void angel::random_block (int inputs, int outputs, int stats, int max_exp, doubleunary, c_graph_t &block)

Generates a random basic block.

• void angel::block2loop (const c_graph_t &block, int loops, c_graph_t &loop)Generates a DAG that represents a loop over the block.

Variables

• random_init_t angel::random_init_object

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 510: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

502 angel File Documentation

10.12 angel/include/heuristics.hpp File Reference

#include <vector>

#include "angel_types.hpp"

#include "angel_io.hpp"

#include "eliminations.hpp"

#include "reroutings.hpp"

#include "heuristics_impl.hpp"

Include dependency graph for heuristics.hpp:

angel/include/heuristics.hpp

vector

angel_types.hpp

angel_io.hpp

eliminations.hpp reroutings.hpp

heuristics_impl.hpp

string

algorithm

iostream sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map setxaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hppxaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

fstream ctime angel_tools.hpp

cstdlib queue cmath numeric deque

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

limits.h

This graph shows which files directly or indirectly include this file:

angel/include/heuristics.hpp

angel/angel.hpp

angel/include/sa.hpp

angel/src/xaif_interface.cpp

angel/src/heuristics.cpp

angel/src/sa.cpp

Namespaces

• namespace angel

Classes

• class angel::base_heuristic_t< Objective_t >

• class angel::forward_mode_vertex_t

Operator class for forward mode in vertex elimination.

• class angel::reverse_mode_vertex_t

Operator class for reverse mode in vertex elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 511: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.12 angel/include/heuristics.hpp File Reference 503

• class angel::lowest_markowitz_vertex_tOperator class for lowest Markowitz in vertex elimination.

• class angel::lowest_relative_markowitz_vertex_tOperator class for relative lowest Markowitz in vertex elimination.

• class angel::lowest_fill_in_vertex_tOperator class for lowest fill-in in vertex elimination.

• class angel::lmmd_vertex_tClass for lowest Markowitz with minimal damage in vertex elimination.

• class angel::momr_vertex_tOperator class for maximal overall Markowitz degree reduction in vertex elimination.

• class angel::moplr_vertex_tOperator class for maximal overall path length reduction in vertex elimination.

• class angel::forward_mode_edge_tOperator class for mixed forward edge elimination.

• class angel::reverse_mode_edge_tOperator class for mixed reverse edge elimination.

• class angel::lowest_markowitz_edge_tOperator class for lowest Markowitz in mixed edge elimination.

• class angel::lowest_relative_markowitz_edge_tOperator class for lowest relative Markowitz in mixed edge elimination.

• class angel::lmmd_edge_tClass for lowest Markowitz with minimal damage in mixed edge elimination.

• class angel::momr_edge_tOperator class for lowest Markowitz in mixed edge elimination.

• class angel::minimal_distance_edge_tMinimizes the maximal distance of vertices involved in an edge elimination The moti-vation is that for small distances it is not very probable to re-insert one of new edgeslater.

• class angel::forward_mode_face_tOperator class for forward mode in face elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 512: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

504 angel File Documentation

• class angel::reverse_mode_face_tOperator class for reverse mode in vertex elimination.

• class angel::reverse_mode_face_whole_vertex_tOperator class for reverse_mode_face_whole_vertex.

• class angel::lowest_markowitz_face_t• class angel::lowest_markowitz_face_complete_t< Heuristic_t >

Lowest Markowitz for face elimination with completion of vertex elimination.

• class angel::momr_face_tOperator class for maximal overall Markowitz degree reduction in face elimination.

• class angel::minimal_distance_face_tMinimal distance for face elimination.

• class angel::edge_ij_elim_heuristic_t< Edge_heuristic_t >

Creates a heuristic for (i,j,front) type from a heuristic for (edge,front).

• class angel::triplet_heuristic_t< Face_heuristic_t >

Creates a heuristic for triplet type from a heuristic for faces.

• class angel::emulated_vertex_heuristic_t< Vertex_heuristic_t >

Simulates vertex elimination heuristics with edge eliminations.

• class angel::heuristic_pair_t< Heuristic1_t, Heuristic2_t >

Make a pair of heuristics.

• class angel::heuristic_triplet_t< Heuristic1_t, Heuristic2_t, Heuristic3_t >

Make a pair of heuristics.

Functions

• template<class Object_t, class Ad_graph_t, class Op_t, class Objective_t>int angel::standard_heuristic_op (const vector< Object_t > &v1, const Ad_-graph_t &adg, vector< Object_t > &v2, Op_t op, base_heuristic_t< Objective_t> &h)

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

• int angel::forward_mode_edge_f (const vector< c_graph_t::edge_t > &ev1,bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 513: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.12 angel/include/heuristics.hpp File Reference 505

Forward mode in edge elimination.

• int angel::forward_mode_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Forward mode in front edge elimination.

• int angel::forward_mode_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Forward mode in back edge elimination.

• int angel::reverse_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, boolfront, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in edge elimination.

• int angel::reverse_mode_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in front edge elimination.

• int angel::reverse_mode_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in back edge elimination.

• int angel::lowest_markowitz_edge_f (const vector< c_graph_t::edge_t > &ev1,bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in edge elimination.

• int angel::lowest_markowitz_edge_front (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in front edge elimination.

• int angel::lowest_markowitz_edge_back (const vector< c_graph_t::edge_t >&ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in back edge elimination.

• int angel::lowest_relative_markowitz_edge_f (const vector< c_graph_t::edge_t> &ev1, bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest relative Markowitz in edge elimination.

• int angel::lowest_relative_markowitz_edge_front (const vector< c_graph_-t::edge_t > &ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest relative Markowitz in front edge elimination.

• int angel::lowest_relative_markowitz_edge_back (const vector< c_graph_-t::edge_t > &ev1, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 514: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

506 angel File Documentation

Lowest relative Markowitz in back edge elimination.

• int angel::lowest_fill_in_edge_f (const vector< c_graph_t::edge_t > &ev1, boolfront, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Fill-in in edge elimination.

• int angel::lowest_fill_in_edge_front (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest fill-in in front edge elimination.

• int angel::lowest_fill_in_edge_back (const vector< c_graph_t::edge_t > &ev1,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest fill-in in back edge elimination.

• int angel::momr_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in edge elimination.

• int angel::momr_edge_front (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in front edge elimination.

• int angel::momr_edge_back (const vector< c_graph_t::edge_t > &ev1, constc_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in back edge elimination.

• int angel::moplr_edge (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall path length reduction in mixed edge elimination.

• void angel::markowitz_on_line_graph (const line_graph_t &lg, vector< int >&mdegree)

• template<class Object_t, class Ad_graph_t, class Heuristic_t>int angel::use_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic_t h)

Use heuristic to transform c-/line graph into bi-/tri-partite graph.

• template<class Object_t, class Ad_graph_t, class Heuristic_t>int angel::use_heuristic_noconst (Ad_graph_t &adg, vector< Object_t > &el_-seq, Heuristic_t h)

Use heuristic to transform c-/line graph into bi-/tri-partite graph.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 515: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.12 angel/include/heuristics.hpp File Reference 507

• template<class Object_t, class Ad_graph_t, class Heuristic_t>int angel::use_heuristic_debug (const Ad_graph_t &adg, vector< Object_t >&el_seq, Heuristic_t h)

Debugging version of use_heuristic, several outputs.

• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int angel::use_heuristic_trace (const Ad_graph_t &adg, vector< Object_t >&el_seq, Heuristic_t h, Output_t output)

Tracing version of use_heuristic, writes costs for every elimination.

• template<class Object_t, class Ad_graph_t, class Heuristic_t, class Output_t>int angel::apply_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_-seq, Heuristic_t h, Output_t output)

Applies heuristic and uses output visitor write costs and graphs for every elimination.

• template<class Object_t, class Ad_graph_t, class Heuristic1_t, class Heuristic2_t, class Heuristic3_-t, class Heuristic4_t, class Heuristic5_t>int angel::best_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3, Heuristic4_t h4, Heuristic5_th5)

Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.

• template<class Object_t, class Ad_graph_t, class Op_t>int angel::find_best_subset (const vector< Object_t > &v1, const Ad_graph_t&adg, vector< Object_t > &v2, Op_t op, bool maximize)

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

• int angel::edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion be.

• int angel::edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

Determines the effect, in terms of nontrivial edge count, of performing edge elimina-tion ee.

• bool angel::maintaining_edge_eliminations (const vector<EdgeElim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets that don’t increase the nontrivial edgecount.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 516: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

508 angel File Documentation

• bool angel::reducing_edge_eliminations (const vector<EdgeElim > &bev1, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets that decrease the nontrivial edge count.

• bool angel::refill_avoiding_edge_eliminations (const vector< EdgeElim >&bev1, c_graph_t &angelLCG, const refillDependenceMap_t refillDepen-dences, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).

• bool angel::rerouting_considerate_edge_eliminations (const vector< EdgeE-lim > &bev, const c_graph_t &angelLCG, const std::vector< Transformation> &transformationsPerformedV, vector< EdgeElim > &reroutingConsidera-teEdgeElimsV)

• unsigned int angel::lowestMarkowitzEdgeElim (const vector< EdgeElim >&inEEV, const c_graph_t &angelLCG, vector< EdgeElim > &outEEV)

• bool angel::reverseModeEdgeElim (const vector< EdgeElim > &inEEV, constc_graph_t &angelLCG, vector< EdgeElim > &outEEV)

• size_t angel::noncyclicReroutings (const vector< Rerouting > &erv, conststd::vector< Transformation > &transformationsPerformedV, const c_graph_t&angelLCG, vector< Rerouting > &noncyclicReroutingsV)

• bool angel::reducing_reroutings (const vector< Rerout-ing > &erv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Rerouting > &reducingReroutingsV)

• int angel::transformation_effect (const Transfor-mation t, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel)

• bool angel::all_viable_transformations (c_graph_t &angelLCG, conststd::vector< Transformation > &transformationsPerformedV, vector< Trans-formation > &allViableTransformationsV)

• bool angel::maintaining_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &maintainingTransforma-tionsV)

• bool angel::reducing_transformations (const vector< Trans-formation > &tv, const c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &reducingTransformationsV)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 517: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.12 angel/include/heuristics.hpp File Reference 509

• bool angel::refill_avoiding_transformations (const vector<Transformation > &tv, c_graph_t &angelLCG, constxaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const refillDependenceMap_t &refillDependences,vector< Transformation > &refillAvoidingTransformationsV)

• bool angel::rerouting_considerate_transformations (const vector< Transforma-tion > &tv, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< Transformation > &reroutingConsider-ateTransformationsV)

• bool angel::lowest_markowitz_transformations (const vector< Transformation> &tv, const c_graph_t &angelLCG, vector< Transformation > &lowest-MarkowitzTransformationsV)

• bool angel::reverse_mode_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, vector< Transformation > &reverseMode-TransformationsV)

Variables

• forward_mode_vertex_t angel::forward_mode_vertexForward mode in vertex elimination.

• reverse_mode_vertex_t angel::reverse_mode_vertexReverse mode in vertex elimination.

• lowest_markowitz_vertex_t angel::lowest_markowitz_vertexLowest Markowitz degree first in vertex elimination.

• lowest_relative_markowitz_vertex_t angel::lowest_relative_markowitz_vertexLowest relative Markowitz degree first in vertex elimination.

• lowest_fill_in_vertex_t angel::lowest_fill_in_vertexLowest fill-in in vertex elimination.

• lmmd_vertex_t angel::lmmd_vertexPredefined object of lmmd_vertex_t with weight=1.0.

• momr_vertex_t angel::momr_vertexInstance of momr_vertex_t, can be used as a function and an argument.

• moplr_vertex_t angel::moplr_vertexMaximal overall path length reduction in vertex elimination.

• forward_mode_edge_t angel::forward_mode_edge

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 518: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

510 angel File Documentation

Forward mode in edge elimination (mixed front and back elimination).

• reverse_mode_edge_t angel::reverse_mode_edgeReverse mode in edge elimination (mixed front and back elimination).

• lowest_markowitz_edge_t angel::lowest_markowitz_edgeLowest Markowitz in edge elimination (mixed front and back elimination).

• lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_edgeLowest relative Markowitz in edge elimination (mixed front and back elimination).

• lmmd_edge_t angel::lmmd_edgePredefined object of lmmd_edge_t with weight=1.0.

• momr_edge_t angel::momr_edgeMaximal overall Markowitz reduction in mixed edge elimination.

• forward_mode_face_t angel::forward_mode_faceForward mode in face elimination.

• reverse_mode_face_t angel::reverse_mode_faceReverse mode in face elimination.

• reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_vertexReverse mode emulating vertex elimination with face eliminations.

• lowest_markowitz_face_t angel::lowest_markowitz_faceLowest Markowitz for face elimination.

• momr_face_t angel::momr_faceMaximal overall Markowitz degree reduction in face elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 519: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.13 angel/include/heuristics_impl.hpp File Reference 511

10.13 angel/include/heuristics_impl.hpp File Reference

#include <set>

#include <limits.h>

#include "angel_exceptions.hpp"

Include dependency graph for heuristics_impl.hpp:

angel/include/heuristics_impl.hpp

set limits.h angel_exceptions.hpp

string iostream sstream

This graph shows which files directly or indirectly include this file:

angel/include/heuristics_impl.hpp

angel/include/heuristics.hpp

angel/angel.hpp

angel/include/sa.hpp

angel/src/xaif_interface.cpp

angel/src/heuristics.cpp

angel/src/sa.cpp

Namespaces

• namespace angel

Functions

• template<class Object_t, class Ad_graph_t, class Heuristic1_t, class Heuristic2_t, class Heuristic3_-t, class Heuristic4_t, class Heuristic5_t>int angel::best_heuristic (const Ad_graph_t &adg, vector< Object_t > &el_seq,Heuristic1_t h1, Heuristic2_t h2, Heuristic3_t h3, Heuristic4_t h4, Heuristic5_th5)

Applies 5 heuristics to adg and returns the elimination sequence of the cheapest one.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 520: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

512 angel File Documentation

• template<class Object_t, class Ad_graph_t, class Op_t, class Objective_t>int angel::standard_heuristic_op (const vector< Object_t > &v1, const Ad_-graph_t &adg, vector< Object_t > &v2, Op_t op, base_heuristic_t< Objective_t> &h)

Find best subset of v1 w.r.t. op, skeleton for new heuristics.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 521: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.14 angel/include/reroutings.hpp File Reference 513

10.14 angel/include/reroutings.hpp File Reference

#include "angel_types.hpp"

#include "xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp"

Include dependency graph for reroutings.hpp:

angel/include/reroutings.hpp

angel_types.hpp xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

vector

string

algorithm

iostream sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hppangel_exceptions.hpp

This graph shows which files directly or indirectly include this file:

angel/include/reroutings.hpp

angel/include/heuristics.hpp

angel/src/xaif_interface.cpp

angel/src/heuristics.cpp

angel/src/reroutings.cpp

angel/angel.hpp

angel/include/sa.hpp

angel/src/sa.cpp

Namespaces

• namespace angel

Functions

• void angel::reroutable_edges (c_graph_t &angelLCG, vector< edge_reroute_t> &erv)

• unsigned int angel::reroutable_edges (c_graph_t &angelLCG, vector< Rerout-ing > &allReroutingsV)

• int angel::reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_EourAwarenessLevel, bool &incrementIsTrivial)

• unsigned int angel::preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)

• unsigned int angel::postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 522: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

514 angel File Documentation

• unsigned int angel::prerouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)

• unsigned int angel::postrouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 523: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.15 angel/include/sa.hpp File Reference 515

10.15 angel/include/sa.hpp File Reference

#include <cmath>

#include <numeric>

#include <vector>

#include "angel_exceptions.hpp"

#include "angel_types.hpp"

#include "angel_tools.hpp"

#include "angel_io.hpp"

#include "eliminations.hpp"

#include "heuristics.hpp"

#include "sa_impl.hpp"

Include dependency graph for sa.hpp:

angel/include/sa.hpp

cmath numeric

vector angel_exceptions.hpp

angel_types.hpp

angel_tools.hpp

angel_io.hpp

eliminations.hpp

heuristics.hpp sa_impl.hpp

string iostream sstream

algorithm boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap setxaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

cstdlib queue deque

fstream ctime

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

reroutings.hpp

heuristics_impl.hpp

limits.h

This graph shows which files directly or indirectly include this file:

angel/include/sa.hpp

angel/angel.hpp angel/src/sa.cpp angel/src/xaif_interface.cpp

Namespaces

• namespace angel

Classes

• class angel::LOG_temperature_t

Functor that returns logarithmic temperature for LSA.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 524: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

516 angel File Documentation

• class angel::fixed_temperature_t

Functor that returns fixed temperature.

• class angel::SA_elimination_cost_t< Heuristic_t >

Computes the elimination costs for arbitrary elimination history type.

• struct angel::neighbor_last_removable_t

SA neighborhood either eliminate sth from eh.cg or undo last elimination.

• class angel::neighbor_multi_step_t

SA neighborhood for multiple eliminations or re-insertions.

• struct angel::neighbor_sequence_check_t

SA neighborhood either eliminate face from eh.cg or undo some previous elimina-tion.

• struct angel::neighbor_check_meta_t

SA neighborhood either eliminate face from eh.cg or undo some previous elimination.

• class angel::gamma_adaption_max_t

Γ adaption on maximal min-max-difference

• class angel::gamma_adaption_average_t

Γ adaption on average min-max-difference

Functions

• template<class Temp_t>double angel::SA_acceptance (int diff, int it, Temp_t temp)

Probability to accept new object in SA.

• template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t>int angel::SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_ttemp, int max_iter)

Simulated Annealing in a general form.

• template<class Object_t, class Neighbor_t, class Cost_t>int angel::LSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, doublegamma, int max_iter)

Logarithmic Simulated Annealing in a general form.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 525: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.15 angel/include/sa.hpp File Reference 517

• template<class Object_t, class Neighbor_t, class Cost_t>int angel::FTSA (Object_t &object, Neighbor_t neighbor, Cost_t costs, double t,int max_iter)

Metropolis with fixed temperature in a general form.

• template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t>int angel::ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs,Adaption_t adaption, double &gamma, int max_iter)

Adaptive Logarithmic Simulated Annealing in generic form.

• void angel::neighbor_swap (const std::vector< int > &old_seq, std::vector< int> &seq)

Swap two vertices in sequence (historical, only vertex elimination).

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 526: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

518 angel File Documentation

10.16 angel/include/sa_impl.hpp File Reference

This graph shows which files directly or indirectly include this file:

angel/include/sa_impl.hpp

angel/include/sa.hpp

angel/angel.hpp angel/src/sa.cpp angel/src/xaif_interface.cpp

Namespaces

• namespace angel

Functions

• template<class Object_t, class Neighbor_t, class Cost_t, class Temp_t>int angel::SA (Object_t &object, Neighbor_t neighbor, Cost_t costs, Temp_ttemp, int max_iter)

Simulated Annealing in a general form.

• template<class Object_t, class Neighbor_t, class Cost_t, class Adaption_t>int angel::ALSA (Object_t &object, Neighbor_t neighbor, Cost_t costs,Adaption_t adaption, double &gamma, int max_iter)

Adaptive Logarithmic Simulated Annealing in generic form.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 527: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.17 angel/include/xaif_interface.hpp File Reference 519

10.17 angel/include/xaif_interface.hpp File Reference

#include "angel_types.hpp"

#include "xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp"

#include "xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp"

Include dependency graph for xaif_interface.hpp:

angel/include/xaif_interface.hpp

angel_types.hpp xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp

vector

string

algorithm

iostream sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hppangel_exceptions.hpp

This graph shows which files directly or indirectly include this file:

angel/include/xaif_interface.hpp

angel/angel.hpp angel/src/xaif_interface.cpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 528: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

520 angel File Documentation

10.18 angel/src/angel_comm.cpp File Reference

#include "angel/include/angel_comm.hpp"

Include dependency graph for angel_comm.cpp:

angel/src/angel_comm.cpp

angel/include/angel_comm.hpp

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 529: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.19 angel/src/angel_io.cpp File Reference 521

10.19 angel/src/angel_io.cpp File Reference

#include "angel/include/angel_io.hpp"

#include <fstream>

#include <string.h>

#include <cstdio>

#include <vector>

#include "angel/include/angel_tools.hpp"

#include "angel/include/angel_exceptions.hpp"

Include dependency graph for angel_io.cpp:

angel/src/angel_io.cpp

angel/include/angel_io.hpp

vector

fstream

angel_exceptions.hpp

angel_tools.hpp

string.h cstdio

iostreamsstream string

ctime

angel_types.hpp

algorithmboost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

cstdlib queuecmath numeric deque

Namespaces

• namespace angel• namespace std• namespace boost

Functions

• int angel::read_graph_eliad (const string &file_name, c_graph_t &cg, boolretry=true)

Read graph in EliAD graph format from file.

• void angel::write_face (std::ostream &stream, line_graph_t::face_t face, constline_graph_t &lg)

• void angel::write_face_vector (std::ostream &stream, const std::string &s, conststd::vector< line_graph_t::face_t > &v, const line_graph_t &lg)

• string angel::numbered_filename (const string &basename, const string &suffix,int number, int width=4)

• void angel::write_refillDependences (ostream &stream, constrefillDependenceMap_t &refillDependences)

• void angel::writeVertexAndEdgeTypes (ostream &stream, c_graph_t &an-gelLCG)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 530: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

522 angel File Documentation

Variables

• ofstream angel::log_file• no_output_t angel::no_output• string_stream_output_t angel::cout_string_output (std::cout)• vis_display_output_t angel::cout_vis_display_output (std::cout)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 531: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.20 angel/src/angel_tools.cpp File Reference 523

10.20 angel/src/angel_tools.cpp File Reference

#include "angel/include/angel_tools.hpp"

#include <queue>

#include "angel/include/angel_exceptions.hpp"

#include "angel/include/angel_io.hpp"

#include "angel/include/eliminations.hpp"

Include dependency graph for angel_tools.cpp:

angel/src/angel_tools.cpp

angel/include/angel_tools.hpp

queue

angel_exceptions.hpp

angel/include/angel_io.hpp

angel/include/eliminations.hpp

cstdlib

string

vectoralgorithm

cmath numeric

iostream

dequeangel_types.hpp

sstream

boost/graph/adjacency_list.hppboost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

fstreamctime

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

Namespaces

• namespace angel

Defines

• #define ECONST 2.71828• #define ECONST 2.71828• #define ECONST 2.71828

Functions

• bool angel::reachable (const c_graph_t::vertex_t src, const c_graph_t::vertex_ttgt, c_graph_t &angelLCG)

Answers a reachability query from src to tgt.

• void angel::vertex_upset (const c_graph_t::vertex_t v, const c_graph_t &an-gelLCG, vertex_set_t &upset)

Returns a set of vertices in adg that depend on v.

• void angel::vertex_downset (const c_graph_t::vertex_t v, const c_graph_t &an-gelLCG, vertex_set_t &downset)

Returns a set of vertices in adg that v depends on.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 532: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

524 angel File Documentation

• c_graph_t::edge_t angel::getEdge (unsigned int i, unsigned int j, const c_graph_t&angelLCG)

Returns the edge in angelLCG that has source i and target j.

• bool angel::lex_less_face (line_graph_t::face_t e1, line_graph_t::face_t e2, constline_graph_t &lg)

• void angel::in_out_path_lengths (const c_graph_t &cg, std::vector< int > &vni,std::vector< int > &vli, std::vector< int > &vno, std::vector< int > &vlo)

Returns for each vertex the number of paths and their overall length.

• void angel::number_dependent_vertices (const c_graph_t &cg, std::vector< int> &v)

Returns for each vertex how many dependent vertices depent on it.

• void angel::number_independent_vertices (const c_graph_t &cg, std::vector<int > &v)

Returns for each vertex on how many independent vertices it depends.

• void angel::permutate_vertices (const c_graph_t &gin, const vector< c_graph_-t::vertex_t > &p, c_graph_t &gout)

• void angel::independent_vertices_to_front (const c_graph_t &gin, const vector<c_graph_t::vertex_t > &indeps, c_graph_t &gout)

• int angel::renumber_edges (c_graph_t &cg)Renumber edges of cg continously, i.e. to [0..num_edges-1].

• void angel::take_over_successors (c_graph_t::vertex_t v1, c_graph_t::vertex_-t v2, int offset, const c_graph_t &g1, int &edge_number, c_graph_t &g2)

• int angel::remove_hoisting_vertices (c_graph_t &cg)Removes all vertices with one predecessor and one successor from cg.

• void angel::remove_parallel_edges (c_graph_t &cg)Removes parallel edges.

• void angel::remove_trivial_edges (c_graph_t &cg)Eliminates all edges with label 1, front elimination is preferred.

• double angel::gen_prob ()Returns a random number between zero and one.

• unsigned int angel::chooseTarget_sa (std::vector< double > &deltaE)Randomly chooses an index into the vector deltaE.

• int angel::chooseEdgeElimRandomly (std::vector< double > &deltaE)• int angel::chooseEdgeElimRandomlyGreedy (std::vector< double > &deltaE)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 533: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.20 angel/src/angel_tools.cpp File Reference 525

10.20.1 Define Documentation

10.20.1.1 #define ECONST 2.71828

10.20.1.2 #define ECONST 2.71828

10.20.1.3 #define ECONST 2.71828

Referenced by angel::chooseEdgeElimRandomly(), an-gel::chooseEdgeElimRandomlyGreedy(), and angel::chooseTarget_sa().

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 534: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

526 angel File Documentation

10.21 angel/src/angel_types.cpp File Reference

#include "angel/include/angel_types.hpp"

#include <iostream>

#include <string>

#include "angel/include/eliminations.hpp"

#include "angel/include/angel_tools.hpp"

#include "angel/include/angel_io.hpp"

Include dependency graph for angel_types.cpp:

angel/src/angel_types.cpp

angel/include/angel_types.hpp

stringiostream

angel/include/eliminations.hpp

angel_io.hpp

angel_tools.hpp

vector algorithm

sstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

fstream ctime

cstdlib queue cmath numeric deque

Namespaces

• namespace angel

Functions

• bool angel::operator== (const c_graph_t &g1, const c_graph_t &g2)Compares two c-graphs.

• int angel::overall_markowitz_degree (const c_graph_t &cg)Markowitz degree of all vertices in cg.

• bool angel::operator== (const line_graph_t &g1, const line_graph_t &g2)Compares two line graphs.

• int angel::overall_markowitz_degree (const line_graph_t &lg)Markowitz degree of all vertices.

• int angel::markowitz_degree (int j, const line_graph_t &lg)Markowitz.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 535: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.22 angel/src/eliminations.cpp File Reference 527

10.22 angel/src/eliminations.cpp File Reference

#include "angel/include/eliminations.hpp"

#include "angel/include/angel_tools.hpp"

#include "angel/include/angel_io.hpp"

Include dependency graph for eliminations.cpp:

angel/src/eliminations.cpp

angel/include/eliminations.hpp

angel_io.hpp

angel_tools.hpp

angel_types.hpp

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

vector

string

algorithm

iostreamsstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

fstream ctime

cstdlib queue cmath numeric deque

Namespaces

• namespace angel

Functions

• int angel::vertex_elimination (c_graph_t::vertex_t v, c_graph_t &cg)• int angel::front_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::back_edge_elimination (c_graph_t::edge_t e, c_graph_t &cg)• int angel::vertex_elimination (int j, line_graph_t &lg)• int angel::front_edge_elimination (int i, int j, line_graph_t &lg)• int angel::front_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::back_edge_elimination (int i, int j, line_graph_t &lg)• int angel::back_edge_elimination (line_graph_t::edge_t vij, line_graph_t &lg)• int angel::face_elimination (line_graph_t::face_t f, int kr, line_graph_t &lg,

accu_graph_t &ac)• int angel::eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-

t::vertex_t > &vv)

Returns a set of vertices that can be eliminated from c-graph cg.

• int angel::semi_eliminatable_vertices (const c_graph_t &cg, vector< c_graph_-t::vertex_t > &vv)

Returns a set of vertices that can be eliminated from c-graph cg by edge elimination.

• int angel::eliminatable_edges (const c_graph_t &cg, std::vector< c_graph_-t::edge_t > &ev)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 536: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

528 angel File Documentation

• int angel::front_eliminatable_edges (const c_graph_t &cg, std::vector< c_-graph_t::edge_t > &ev)

• int angel::back_eliminatable_edges (const c_graph_t &cg, std::vector< c_-graph_t::edge_t > &ev)

• int angel::eliminatable_edges (const c_graph_t &cg, std::vector< edge_bool_t> &ev)

• int angel::eliminatable_edges (const c_graph_t &cg, std::vector< edge_ij_-elim_t > &ev)

• unsigned int angel::eliminatable_edges (const c_graph_t &cg, std::vector<EdgeElim > &ev)

• int angel::eliminatable_faces (const line_graph_t &lg, std::vector< line_graph_-t::face_t > &fv)

• bool angel::convert_elimination_sequence (const vector< c_graph_t::vertex_t >&vv, const c_graph_t &cg, vector< edge_ij_elim_t > &ev)

Converts vertex elimination sequence into (mixed) edge elimination sequence.

• bool angel::convert_elimination_sequence (const vector< edge_ij_elim_t >&ev, const line_graph_t &lg, vector< triplet_t > &tv)

Converts (mixed) edge elimination sequence into face elimination sequence.

• EdgeRefType_E angel::getRefType (const c_graph_t::edge_t e, const c_graph_t&angelLCG, const list< EdgeRef_t > &edge_ref_list)

• const xaifBoosterCrossCountryInterface::LinearizedComputationalGraphEdge∗ angel::getLCG_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG,const list< EdgeRef_t > &edge_ref_list)

• xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionVertex ∗angel::getJAE_p (const c_graph_t::edge_t e, const c_graph_t &angelLCG, constlist< EdgeRef_t > &edge_ref_list)

• void angel::setJaevRef (const c_graph_t::edge_t e, xaifBoosterCrossCountryIn-terface::JacobianAccumulationExpressionVertex &jaev, const c_graph_t &an-gelLCG, const list< EdgeRef_t > &edge_ref_list)

• void angel::removeRef (const c_graph_t::edge_t e, const c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list)

• unsigned int angel::multiply_edge_pair_directly (const c_graph_-t::edge_t e1, const c_graph_t::edge_t e2, c_graph_t &angelLCG,list< EdgeRef_t > &edge_ref_list, xaifBoosterCrossCountryInter-face::JacobianAccumulationExpressionList &jae_list)

• unsigned int angel::front_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)

• unsigned int angel::back_eliminate_edge_directly (c_graph_t::edge_t e, c_-graph_t &angelLCG, list< EdgeRef_t > &edge_ref_list, xaifBoosterCross-CountryInterface::JacobianAccumulationExpressionList &jae_list)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 537: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.22 angel/src/eliminations.cpp File Reference 529

• unsigned int angel::pair_elim (c_graph_t::edge_t e1, c_graph_t::edge_-t e2, c_graph_t &angelLCG, const elimSeq_cost_t &currentElimSeq,refillDependenceMap_t &refillDependences)

• unsigned int angel::front_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t &currentElimSeq, refillDependenceMap_t &refillDepen-dences)

• unsigned int angel::back_elim (c_graph_t::edge_t e, c_graph_t &angelLCG,const elimSeq_cost_t &currentElimSeq, refillDependenceMap_t &refillDepen-dences)

• unsigned int angel::pairElim_noJAE (c_graph_t::edge_t e1, c_graph_-t::edge_t e2, c_graph_t &angelLCG, const transformationSeq_cost_t∗currentTransformationSequence, refillDependenceMap_t &refillDependences)

• unsigned int angel::frontEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)

• unsigned int angel::backEdgeElimination_noJAE (c_graph_t::edge_-t e, c_graph_t &angelLCG, const transformationSeq_cost_-t ∗currentTransformationSequence, refillDependenceMap_t &refillDepen-dences)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 538: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

530 angel File Documentation

10.23 angel/src/graph_generator.cpp File Reference

#include "angel/include/graph_generator.hpp"

#include <vector>

#include <cstdlib>

#include <numeric>

#include "angel/include/angel_exceptions.hpp"

#include "angel/include/angel_types.hpp"

#include "angel/include/angel_tools.hpp"

#include "angel/include/angel_io.hpp"

Include dependency graph for graph_generator.cpp:

angel/src/graph_generator.cpp

angel/include/graph_generator.hpp

vector

angel_types.hpp

angel_exceptions.hpp

cstdlib numeric

angel/include/angel_tools.hpp

angel/include/angel_io.hpp

string

algorithm

iostream sstream

boost/graph/adjacency_list.hppboost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

queue cmathdeque

fstream ctime

Namespaces

• namespace angel

Functions

• void angel::random_statement (int inputs, int expr, const vector< double > &p,c_graph_t &statement)

• void angel::random_statement_vector (int max_expr, double unary, std::vector<c_graph_t > &statement_vector)

Generates a vector of random statements.

• void angel::stats2block (int inputs, int outputs, const std::vector< c_graph_t >&stats, c_graph_t &block)

Build a block from a list of statements.

• void angel::random_block (int inputs, int outputs, int stats, int max_exp, doubleunary, c_graph_t &block)

Generates a random basic block.

• void angel::block2loop (const c_graph_t &block, int loops, c_graph_t &loop)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 539: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.23 angel/src/graph_generator.cpp File Reference 531

Generates a DAG that represents a loop over the block.

Variables

• random_init_t angel::random_init_object

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 540: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

532 angel File Documentation

10.24 angel/src/heuristics.cpp File Reference

#include <limits.h>

#include <algorithm>

#include "angel/include/heuristics.hpp"

#include "angel/include/angel_exceptions.hpp"

#include "angel/include/angel_tools.hpp"

#include "angel/include/reroutings.hpp"

Include dependency graph for heuristics.cpp:

angel/src/heuristics.cpp

limits.h

algorithm

angel/include/heuristics.hpp

angel_exceptions.hpp

angel_tools.hpp

reroutings.hpp

vector

angel_types.hpp

angel_io.hpp

eliminations.hppheuristics_impl.hpp

stringiostreamsstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hppboost/property_map.hpp mapset xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

fstream ctime

cstdlibqueue cmath numeric deque

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

Namespaces

• namespace angel

Classes

• struct angel::lmv_op_t• struct angel::lrm_op_t• struct angel::fiv_op_t• struct angel::markowitz_enlargement_front_t• struct angel::markowitz_enlargement_back_t• struct angel::lmmdv_op_t• struct angel::momrv_op_t• struct angel::oplrv_op_t• struct angel::lme_op_t• struct angel::lmmde_op_t• struct angel::momre_op_t• struct angel::diste_op_t• struct angel::lmf_op_t• class angel::new_pik_t• struct angel::source_not_independent_t• class angel::new_iks_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 541: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.24 angel/src/heuristics.cpp File Reference 533

• struct angel::target_not_dependent_t• struct angel::momrf_op_t• struct angel::distf_op_t

Functions

• int angel::new_in_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::new_out_edges (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::markowitz_enlargement_front (c_graph_t::edge_t e, const c_graph_t

&cg, bool eliminate_parallel_edges=false)• int angel::markowitz_enlargement_front (c_graph_t::edge_t e, c_graph_-

t::edge_t e2, const c_graph_t &cg)• int angel::markowitz_enlargement_back (c_graph_t::edge_t e, const c_graph_t

&cg, bool eliminate_parallel_edges=false)• int angel::markowitz_enlargement_back (c_graph_t::edge_t e, c_graph_-

t::edge_t e2, const c_graph_t &cg)• int angel::markowitz_enlargement_all_neighbors (c_graph_t::vertex_t v, const

c_graph_t &cg)• int angel::oplr_face (c_graph_t::edge_t e1, c_graph_t::edge_t e2, const vector<

int > &vni, const vector< int > &vli, const vector< int > &vno, const vector<int > &vlo, const c_graph_t &cg)

• int angel::oplr_edge_front (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)

• int angel::oplr_edge_back (c_graph_t::edge_t e, const vector< int > &vni, constvector< int > &vli, const vector< int > &vno, const vector< int > &vlo, constc_graph_t &cg)

• int angel::forward_mode_edge_f (const vector< c_graph_t::edge_t > &ev1,bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Forward mode in edge elimination.

• double angel::fme_obj (edge_bool_t eb, const c_graph_t &cg)• int angel::reverse_mode_edge_f (const vector< c_graph_t::edge_t > &ev1, bool

front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Reverse mode in edge elimination.

• double angel::rme_obj (edge_bool_t eb, const c_graph_t &cg)• int angel::lowest_markowitz_edge_f (const vector< c_graph_t::edge_t > &ev1,

bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Markowitz in edge elimination.

• int angel::lowest_relative_markowitz_edge_f (const vector< c_graph_t::edge_t> &ev1, bool front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 542: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

534 angel File Documentation

Lowest relative Markowitz in edge elimination.

• int angel::fill_in_front (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::fill_in_back (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::lowest_fill_in_edge_f (const vector< c_graph_t::edge_t > &ev1, bool

front, const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Lowest Fill-in in edge elimination.

• int angel::lmmd_edge_front (c_graph_t::edge_t e, double w, const c_graph_t&cg)

• int angel::lmmd_edge_back (c_graph_t::edge_t e, double w, const c_graph_-t &cg)

• int angel::momr_edge_front (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::momr_edge_back (c_graph_t::edge_t e, const c_graph_t &cg)• int angel::momr_edge_f (const vector< c_graph_t::edge_t > &ev1, bool front,

const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall Markowitz reduction in edge elimination.

• int angel::moplr_edge (const vector< c_graph_t::edge_t > &ev1, bool front,const c_graph_t &cg, vector< c_graph_t::edge_t > &ev2)

Maximal overall path length reduction in mixed edge elimination.

• double angel::fmf_obj (line_graph_t::face_t f, const line_graph_t &lg)• void angel::markowitz_on_line_graph (const line_graph_t &lg, vector< int >

&mdegree)• int angel::edge_elim_effect (const edge_bool_t be, const c_graph_t &angelLCG,

const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• int angel::edge_elim_effect (const EdgeElim ee, const c_graph_t &angelLCG,

const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)• bool angel::maintaining_edge_eliminations (const vector< EdgeElim >

&bev1, const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< EdgeElim > &bev2)

• bool angel::reducing_edge_eliminations (const vector< EdgeElim > &bev1,const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< EdgeElim > &bev2)

• bool angel::refill_avoiding_edge_eliminations (const vector< EdgeElim >&bev1, c_graph_t &angelLCG, const refillDependenceMap_t refillDepen-dences, vector< EdgeElim > &bev2)

Filter that selects edge elimination targets whose refill dependences (a possibly emptyset of vertices) have been met (meaning that there is no alternate path for the edgethrough the vertex).

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 543: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.24 angel/src/heuristics.cpp File Reference 535

• bool angel::rerouting_considerate_edge_eliminations (const vector< EdgeE-lim > &bev, const c_graph_t &angelLCG, const std::vector< Transformation> &transformationsPerformedV, vector< EdgeElim > &reroutingConsidera-teEdgeElimsV)

• unsigned int angel::lowestMarkowitzEdgeElim (const vector< EdgeElim >&inEEV, const c_graph_t &angelLCG, vector< EdgeElim > &outEEV)

• bool angel::reverseModeEdgeElim (const vector< EdgeElim > &inEEV, constc_graph_t &angelLCG, vector< EdgeElim > &outEEV)

• size_t angel::noncyclicReroutings (const vector< Rerouting > &erv, conststd::vector< Transformation > &transformationsPerformedV, const c_graph_t&angelLCG, vector< Rerouting > &noncyclicReroutingsV)

• bool angel::reducing_reroutings (const vector< Rerouting > &erv, constc_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, vector< Rerouting > &reducingReroutingsV)

• int angel::transformation_effect (const Transformation t, const c_graph_t &an-gelLCG, const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel)

• bool angel::all_viable_transformations (c_graph_t &angelLCG, conststd::vector< Transformation > &transformationsPerformedV, vector< Trans-formation > &allViableTransformationsV)

• bool angel::maintaining_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_-E ourAwarenessLevel, vector< Transformation > &maintainingTransforma-tionsV)

• bool angel::reducing_transformations (const vector< Transformation > &tv,const c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, vector< Transformation > &reducingTransformationsV)

• bool angel::refill_avoiding_transformations (const vector< Transformation> &tv, c_graph_t &angelLCG, const AwarenessLevel::AwarenessLevel_EourAwarenessLevel, const refillDependenceMap_t &refillDependences, vector<Transformation > &refillAvoidingTransformationsV)

• bool angel::rerouting_considerate_transformations (const vector< Transforma-tion > &tv, const c_graph_t &angelLCG, const std::vector< Transformation >&transformationsPerformedV, vector< Transformation > &reroutingConsider-ateTransformationsV)

• bool angel::lowest_markowitz_transformations (const vector< Transformation> &tv, const c_graph_t &angelLCG, vector< Transformation > &lowest-MarkowitzTransformationsV)

• bool angel::reverse_mode_transformations (const vector< Transformation >&tv, const c_graph_t &angelLCG, vector< Transformation > &reverseMode-TransformationsV)

Variables

• forward_mode_vertex_t angel::forward_mode_vertex

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 544: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

536 angel File Documentation

Forward mode in vertex elimination.

• reverse_mode_vertex_t angel::reverse_mode_vertexReverse mode in vertex elimination.

• lowest_markowitz_vertex_t angel::lowest_markowitz_vertexLowest Markowitz degree first in vertex elimination.

• lowest_relative_markowitz_vertex_t angel::lowest_relative_markowitz_vertexLowest relative Markowitz degree first in vertex elimination.

• lowest_fill_in_vertex_t angel::lowest_fill_in_vertexLowest fill-in in vertex elimination.

• lmmd_vertex_t angel::lmmd_vertex (1.0)Predefined object of lmmd_vertex_t with weight=1.0.

• momr_vertex_t angel::momr_vertexInstance of momr_vertex_t, can be used as a function and an argument.

• moplr_vertex_t angel::moplr_vertexMaximal overall path length reduction in vertex elimination.

• forward_mode_edge_t angel::forward_mode_edgeForward mode in edge elimination (mixed front and back elimination).

• reverse_mode_edge_t angel::reverse_mode_edgeReverse mode in edge elimination (mixed front and back elimination).

• lowest_markowitz_edge_t angel::lowest_markowitz_edgeLowest Markowitz in edge elimination (mixed front and back elimination).

• lowest_relative_markowitz_edge_t angel::lowest_relative_markowitz_edgeLowest relative Markowitz in edge elimination (mixed front and back elimination).

• lmmd_edge_t angel::lmmd_edge (1.0)Predefined object of lmmd_edge_t with weight=1.0.

• momr_edge_t angel::momr_edgeMaximal overall Markowitz reduction in mixed edge elimination.

• minimal_distance_edge_t angel::minimal_distance_edge• forward_mode_face_t angel::forward_mode_face

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 545: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.24 angel/src/heuristics.cpp File Reference 537

Forward mode in face elimination.

• reverse_mode_face_t angel::reverse_mode_faceReverse mode in face elimination.

• reverse_mode_face_whole_vertex_t angel::reverse_mode_face_whole_vertexReverse mode emulating vertex elimination with face eliminations.

• momr_face_t angel::momr_faceMaximal overall Markowitz degree reduction in face elimination.

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 546: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

538 angel File Documentation

10.25 angel/src/reroutings.cpp File Reference

#include "angel/include/angel_tools.hpp"

#include "angel/include/eliminations.hpp"

#include "angel/include/reroutings.hpp"

Include dependency graph for reroutings.cpp:

angel/src/reroutings.cpp

angel/include/angel_tools.hpp

angel/include/eliminations.hppangel/include/reroutings.hpp

cstdlib

string

vector

queue

algorithm

cmath numeric

iostream

deque

angel_exceptions.hpp

angel_types.hpp

sstream

boost/graph/adjacency_list.hppboost/graph/graph_traits.hpp boost/property_map.hpp map set xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

angel_io.hppxaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

fstream ctime

Namespaces

• namespace angel

Functions

• void angel::reroutable_edges (c_graph_t &angelLCG, vector< edge_reroute_t> &erv)

• unsigned int angel::reroutable_edges (c_graph_t &angelLCG, vector< Rerout-ing > &allReroutingsV)

• int angel::reroute_effect (const edge_reroute_t er, const c_graph_t &angelLCG,const AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, bool &incre-mentIsTrivial)

• unsigned int angel::preroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)

• unsigned int angel::postroute_edge_directly (edge_reroute_t er, c_graph_t &an-gelLCG, list< EdgeRef_t > &edge_ref_list, JacobianAccumulationExpression-List &jae_list)

• unsigned int angel::prerouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)

• unsigned int angel::postrouteEdge_noJAE (edge_reroute_t er, c_graph_t &an-gelLCG)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 547: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.26 angel/src/sa.cpp File Reference 539

10.26 angel/src/sa.cpp File Reference

#include "angel/include/sa.hpp"

#include <cmath>

Include dependency graph for sa.cpp:

angel/src/sa.cpp

angel/include/sa.hpp

cmath numeric

vector angel_exceptions.hpp

angel_types.hpp

angel_tools.hpp

angel_io.hpp

eliminations.hpp

heuristics.hpp sa_impl.hpp

string iostream sstream

algorithm boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hppmap setxaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hpp xaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp

cstdlib queue deque

fstream ctime

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

reroutings.hpp

heuristics_impl.hpp

limits.h

Namespaces

• namespace angel

Functions

• void angel::neighbor_swap (const std::vector< int > &old_seq, std::vector< int> &seq)

Swap two vertices in sequence (historical, only vertex elimination).

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 548: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

540 angel File Documentation

10.27 angel/src/xaif_interface.cpp File Reference

#include <set>

#include "angel/include/xaif_interface.hpp"

#include "angel/include/eliminations.hpp"

#include "angel/include/heuristics.hpp"

#include "angel/include/reroutings.hpp"

#include "angel/include/angel_tools.hpp"

#include "angel/include/angel_io.hpp"

#include "angel/include/sa.hpp"

Include dependency graph for xaif_interface.cpp:

angel/src/xaif_interface.cpp

set

angel/include/xaif_interface.hpp

angel/include/eliminations.hpp

angel_io.hpp

angel_tools.hpp

angel/include/heuristics.hpp

reroutings.hpp

angel/include/sa.hpp

angel_types.hpp

xaifBooster/algorithms/CrossCountryInterface/inc/EliminationException.hpp xaifBooster/algorithms/CrossCountryInterface/inc/Elimination.hpp

vector

string

algorithm

iostreamsstream

boost/graph/adjacency_list.hpp boost/graph/graph_traits.hpp boost/property_map.hpp map xaifBooster/algorithms/CrossCountryInterface/inc/LinearizedComputationalGraph.hppxaifBooster/algorithms/CrossCountryInterface/inc/JacobianAccumulationExpressionList.hpp xaifBooster/algorithms/CrossCountryInterface/inc/GraphCorrelations.hpp angel_exceptions.hpp

xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp

fstream ctime

cstdlib queue cmath numericdequeheuristics_impl.hpp

limits.h

sa_impl.hpp

Namespaces

• namespace angel• namespace xaifBoosterCrossCountryInterface

Classes

• struct angel::edge_address_t

Functions

• size_t angel::which_index (const LinearizedComputationalGraphVertex ∗constadd, const vector< const LinearizedComputationalGraphVertex ∗ > &av)

• void angel::read_graph_xaif_booster (const LinearizedComputationalGraph&xg, c_graph_t &cg, vector< const LinearizedComputationalGraphVertex ∗ >&av, vector< edge_address_t > &ae)

• const LinearizedComputationalGraphEdge ∗ angel::xaif_edge_pr (line_graph_-t::edge_t e, const accu_graph_t &ag, const vector< edge_address_t > &ae)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 549: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

10.27 angel/src/xaif_interface.cpp File Reference 541

• void angel::write_graph_xaif_booster (const accu_graph_t &ag, const vector<const LinearizedComputationalGraphVertex ∗ > &av, const vector< edge_-address_t > &ae, JacobianAccumulationExpressionList &JAElist, Lin-earizedComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_-list, EdgeCorrelationList &e_cor_list)

• unsigned int angel::num_nontrivial_edges (const c_graph_t &angelLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel)

• unsigned int angel::numIntermediateVertices (const c_graph_t &angelLCG)• unsigned int angel::numIntermediateVerticesWithoutUnitEdge (const c_graph_t

&angelLCG)• void angel::ourLCG_to_angelLCG (const LinearizedComputationalGraph

&ourLCG, vector< const LinearizedComputationalGraphVertex ∗ >&ourLCG_verts, c_graph_t &angelLCG, list< EdgeRef_t > &edge_ref_-list)

• void angel::populate_remainderGraph_and_correlationLists (const c_graph_-t &angelLCG, const vector< const LinearizedComputationalGraphVertex ∗ >ourLCG_verts, const list< EdgeRef_t > &edge_ref_list, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)

• unsigned int angel::replay_transformation_seq (c_graph_t &angelLCG, constvector< Transformation > transformationSeqV, unsigned int &previous_-numNontrivialEdges, const AwarenessLevel::AwarenessLevel_E ourAware-nessLevel, transformationSeq_cost_t &dummy_transformationSeq_cost,refillDependenceMap_t &dummy_refillDependenceMap)

• void xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence_random (const LinearizedComputationalGraph &ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list)

• void xaifBoosterCrossCountryInterface::compute_partial_elimination_-sequence (const LinearizedComputationalGraph &ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list)

• void xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence_random (const LinearizedComputationalGraph &ourLCG, constAwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list, unsigned int &numReroutings)

• void xaifBoosterCrossCountryInterface::compute_partial_transformation_-sequence (const LinearizedComputationalGraph &ourLCG, const

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 550: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

542 angel File Documentation

AwarenessLevel::AwarenessLevel_E ourAwarenessLevel, const bool allow-MaintainingFlag, JacobianAccumulationExpressionList &jae_list, Linearized-ComputationalGraph &remainderLCG, VertexCorrelationList &v_cor_list,EdgeCorrelationList &e_cor_list, unsigned int &numReroutings)

• void xaifBoosterCrossCountryInterface::computeEliminationSequenceRandom(const LinearizedComputationalGraph &ourLCG, JacobianAccumulationEx-pressionList &jae_list, LinearizedComputationalGraph &remainderLCG, Ver-texCorrelationList &v_cor_list, EdgeCorrelationList &e_cor_list)

• void xaifBoosterCrossCountryInterface::compute_elimination_sequence (constLinearizedComputationalGraph &xgraph, JacobianAccumulationExpression-List &JAElist, LinearizedComputationalGraph &remainderLCG, VertexCorre-lationList &v_cor_list, EdgeCorrelationList &e_cor_list)

• void xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_-face (const LinearizedComputationalGraph &xgraph, int iterations, doublegamma, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)

• void xaifBoosterCrossCountryInterface::compute_elimination_sequence_lsa_-vertex (const LinearizedComputationalGraph &xgraph, int iterations, doublegamma, JacobianAccumulationExpressionList &JAElist, LinearizedComputa-tionalGraph &remainderLCG, VertexCorrelationList &v_cor_list, EdgeCorrela-tionList &e_cor_list)

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 551: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

Index

∼line_graph_tangel::line_graph_t, 329

_eangel::markowitz_enlargement_-

back_t, 368angel::markowitz_enlargement_-

front_t, 371

accu_expangel::accu_graph_t, 219

accu_exp_propertyangel, 52

accu_graph_tangel::accu_graph_t, 218

ad_edge_tangel, 52

ad_graph_tangel::elimination_history_t, 281

addangel::accu_exp_t, 215

addressangel::edge_address_t, 258GMPI::buffer_t, 232

adgangel::predecessor_t, 409angel::successor_t, 437

all_viable_transformationsangel, 57

AllreduceGMPI::Intracomm, 319

ALSAangel, 57

angel, 21accu_exp_property, 52ad_edge_t, 52all_viable_transformations, 57ALSA, 57

apply_heuristic, 58back_edge_elimination, 59–61back_elim, 61back_eliminatable_edges, 62back_eliminate_edge_directly, 62backEdgeElimination_noJAE, 63best_heuristic, 63block2loop, 64block_begin, 65chooseEdgeElimRandomly, 65chooseEdgeElimRandomlyGreedy,

65chooseTarget_sa, 66close_log_file, 66common_predecessor, 66common_successors, 66CONSTANT_EDGE, 56convert_elimination_sequence, 67count_parallel_edges, 68cout_string_output, 177cout_vis_display_output, 177dead_vertex, 56dependent, 56edge, 68edge_bool_t, 53edge_elim_effect, 69, 70edge_elim_seq_t, 53edge_elimination, 70–75edge_elimination_history_t, 53edge_ij_elim_seq_t, 53edge_index_weight_property, 53edge_pair_elim_seq_t, 53Edge_Type_E, 56edge_type_index_weight_property,

54edge_vertex_elim_seq_t, 54edge_vertex_name, 75

Page 552: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

544 INDEX

edge_weight_property, 54EdgeRefType_E, 56eliminatable_edges, 76, 77eliminatable_faces, 77, 78eliminatable_objects, 78–80eliminatable_triplets, 80eliminatable_vertices, 81eliminate, 81–84face_elimination, 85–90face_elimination_history_t, 54face_vertex_name, 91fill_in_back, 92fill_in_front, 92find_best_subset, 92find_edge, 92fme_obj, 93fmf_obj, 93for_all_edges, 93, 94for_all_in_edges, 94for_all_out_edges, 94forward_mode_edge, 177forward_mode_edge_back, 94forward_mode_edge_f, 95forward_mode_edge_front, 96forward_mode_face, 178forward_mode_vertex, 179front_edge_elimination, 96–98front_elim, 99front_eliminatable_edges, 99front_eliminate_edge_directly, 99frontEdgeElimination_noJAE, 100FTSA, 101gen_prob, 102getEdge, 102getJAE_p, 102getLCG_p, 102getRefType, 103in_out_path_lengths, 103independent, 56independent_vertices_to_front, 103,

104intermediate, 56inv_lex_greater, 104inv_lex_less, 104is_bipartite, 104is_tripartite, 105

JAE_VERT, 56LCG_EDGE, 56lex_greater, 105lex_less, 105lex_less_face, 106lmmd_edge, 180lmmd_edge_back, 106lmmd_edge_front, 106lmmd_vertex, 180log_file, 180lowest_fill_in_edge_back, 107lowest_fill_in_edge_f, 107lowest_fill_in_edge_front, 108lowest_fill_in_vertex, 180, 181lowest_markowitz_edge, 181lowest_markowitz_edge_back, 109lowest_markowitz_edge_f, 109lowest_markowitz_edge_front, 110lowest_markowitz_face, 182lowest_markowitz_transformations,

111lowest_markowitz_vertex, 182, 183lowest_relative_markowitz_edge,

183lowest_relative_markowitz_edge_-

back, 111lowest_relative_markowitz_edge_f,

112lowest_relative_markowitz_edge_-

front, 112lowest_relative_markowitz_vertex,

184lowestMarkowitzEdgeElim, 113LSA, 113maintaining_edge_eliminations, 114maintaining_transformations, 115markowitz_degree, 115markowitz_enlargement_all_-

neighbors, 116markowitz_enlargement_back, 116markowitz_enlargement_front, 117markowitz_on_line_graph, 117maximal_paths, 118minimal_distance_edge, 185minimal_in_out_degree, 118minimal_markowitz_degree, 118

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 553: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 545

momr_edge, 185momr_edge_back, 118, 119momr_edge_f, 119momr_edge_front, 120momr_face, 185, 186momr_vertex, 186moplr_edge, 121moplr_vertex, 187multiply_edge_pair_directly, 122neighbor_swap, 123new_in_edges, 123new_out_edges, 123no_output, 187noncyclicReroutings, 123num_nontrivial_edges, 123number_dependent_vertices, 124number_independent_vertices, 124numbered_filename, 124numIntermediateVertices, 124numIntermediateVerticesWithoutU-

nitEdge, 125open_log_file, 125operator!=, 125operator<<, 126, 127operator==, 127oplr_edge_back, 128oplr_edge_front, 128oplr_face, 128ourLCG_to_angelLCG, 129overall_markowitz_degree, 129, 130overall_minimal_markowitz_degree,

130pair_elim, 130pairElim_noJAE, 131permutate_vertices, 131populate_remainderGraph_and_-

correlationLists, 132postroute_edge_directly, 132, 133postrouteEdge_noJAE, 133predecessor_set, 133preroute_edge_directly, 133, 134prerouteEdge_noJAE, 134pure_accu_exp_graph_t, 54pure_c_graph_t, 54pure_line_graph_t, 54put_unit_edge_weight, 134

put_unit_vertex_weight, 135random, 135random_block, 136random_high, 136random_init_object, 187, 188random_statement, 137random_statement_vector, 137reachable, 138reachable_vertices, 138read_graph_eliad, 139read_graph_xaif_booster, 139reducing_edge_eliminations, 140reducing_reroutings, 140, 141reducing_transformations, 141, 142refill_avoiding_edge_eliminations,

142refill_avoiding_transformations, 143refillDependenceMap_t, 55relevant_vertices, 143remove_edges, 144remove_hoisting_vertices, 144remove_irrelevant_edges, 144remove_parallel_edges, 145remove_trivial_edges, 145remove_unreachable_edges, 145removeRef, 146renumber_edges, 146replay_transformation_seq, 146reroutable_edges, 147reroute_effect, 148rerouting_considerate_edge_-

eliminations, 148rerouting_considerate_-

transformations, 148reverse_mode_edge, 188reverse_mode_edge_back, 149reverse_mode_edge_f, 149reverse_mode_edge_front, 150reverse_mode_face, 189reverse_mode_face_whole_vertex,

190reverse_mode_transformations, 151reverse_mode_vertex, 190, 191reverseModeEdgeElim, 151rme_obj, 151SA, 152

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 554: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

546 INDEX

SA_acceptance, 153same_edge, 153same_neighbors, 153same_predecessors, 154same_successors, 154search_path, 155semi_eliminatable_vertices, 155setJaevRef, 155sorted_predecessor_set, 156sorted_successor_set, 156standard_heuristic_op, 156stats2block, 157successor_set, 158sum_over_all_in_edges, 158sum_over_all_out_edges, 158take_over_successors, 158transformation_effect, 159uint_pair_t, 55UNDEFINED, 56undefined_vertex, 56unique_vector, 160UNIT_EDGE, 56use_heuristic, 160use_heuristic_debug, 161use_heuristic_noconst, 161use_heuristic_trace, 162VARIABLE_EDGE, 56vertex_degree_property, 55vertex_downset, 163vertex_eliminatable, 163vertex_elimination, 163–165vertex_elimination_history_t, 55vertex_name_degree_property, 55vertex_set_t, 55vertex_type, 165vertex_type_t, 56vertex_upset, 165vertex_visited_property, 55was_non_trivial_elimination, 165,

166which_index, 167write_edge_property, 167write_face, 167, 168write_face_vector, 168write_graph, 169–171write_graph_eliad, 172, 173

write_graph_xaif_booster, 173write_iterators, 174write_refillDependences, 174write_vector, 174, 175write_vertex_property, 176writeVertexAndEdgeTypes, 176xaif_edge_pr, 176

angel/ Directory Reference, 17angel/angel.hpp, 467angel/include/ Directory Reference, 18angel/include/angel_comm.hpp, 468angel/include/angel_comm_impl.hpp,

469angel/include/angel_exceptions.hpp, 470angel/include/angel_io.hpp, 473angel/include/angel_tools.hpp, 477angel/include/angel_types.hpp, 485angel/include/eliminations.hpp, 490angel/include/gmpi.hpp, 496angel/include/gmpi_impl.hpp, 499angel/include/graph_generator.hpp, 500angel/include/heuristics.hpp, 502angel/include/heuristics_impl.hpp, 511angel/include/reroutings.hpp, 513angel/include/sa.hpp, 515angel/include/sa_impl.hpp, 518angel/include/xaif_interface.hpp, 519angel/src/ Directory Reference, 19angel/src/angel_comm.cpp, 520angel/src/angel_io.cpp, 521angel/src/angel_tools.cpp, 523angel/src/angel_types.cpp, 526angel/src/eliminations.cpp, 527angel/src/graph_generator.cpp, 530angel/src/heuristics.cpp, 532angel/src/reroutings.cpp, 538angel/src/sa.cpp, 539angel/src/xaif_interface.cpp, 540angel::accu_exp_graph_t, 211

dependents, 213set_graph, 212v, 212X, 213x, 212y, 212z, 213

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 555: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 547

angel::accu_exp_tadd, 215exp, 215isop, 215lgn, 215mult, 215nothing, 215

angel::accu_exp_t, 214op_t, 215ref, 216ref_kind, 216ref_kind_t, 215set_exp, 215set_node, 215set_op, 215

angel::accu_exp_t::ref_t, 217exp_nr, 217node, 217op, 217

angel::accu_graph_t, 218accu_exp, 219accu_graph_t, 218cg, 219exp_nr, 220jacobi_entries, 219lg, 219set_jacobi_entries, 219

angel::base_exception, 221base_exception, 222reason, 222say_reason, 222what_reason, 222

angel::base_heuristic_t, 223base_heuristic_t, 225is_set, 225my_maximize, 226my_objective, 225objective, 225objective_t, 224set_empty_objective, 225set_objective, 225to_maximize, 225

angel::c_graph_t, 235block2loop, 245c_graph_t, 240, 241check, 243

check_initial, 244clear_edges, 244clear_graph, 244const_eind_t, 239const_etype_t, 240const_ew_t, 239dependents, 246edge_t, 238ei_t, 238eind_t, 239etype_t, 240ew_t, 239iei_t, 239next_edge_number, 246oei_t, 239operator=, 241pure_graph_t, 238read_graph_eliad, 245read_graph_xaif_booster, 246remove_dependents_with_-

successors, 244stats2block, 245swap, 241unpack_graph, 246v, 242vertex_t, 238vertex_type, 243vi_t, 238X, 246x, 241, 242y, 242z, 242

angel::consistency_exception, 253consistency_exception, 253

angel::dec_greater, 254dec_greater, 254operator(), 254vc, 255

angel::diste_op_t, 256operator(), 256

angel::distf_op_t, 257operator(), 257

angel::edge_address_t, 258address, 258e, 258edge_address_t, 258

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 556: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

548 INDEX

angel::edge_elim_t, 259edge, 259front, 259

angel::edge_equal_t, 260edge_equal_t, 261g1, 261g2, 261operator(), 261

angel::edge_ij_elim_heuristic_t, 262edge_ij_elim_heuristic_t, 262h, 263operator(), 263

angel::edge_ij_elim_t, 264edge_ij_elim_t, 264front, 265i, 264j, 264

angel::edge_less_t, 266edge_less_t, 267g1, 267g2, 267operator(), 267

angel::edge_pair_elim_t, 268front, 268i, 268j, 268

angel::edge_reroute_t, 269e, 269edge_reroute_t, 269increment_eliminatable, 270isPre, 270pivot_e, 270pivot_eliminatable, 270type3EdgeElimVector, 270

angel::edge_vertex_elim_t, 271edge, 271front, 271

angel::EdgeElim, 272debug, 273EdgeElim, 272, 273getBool, 274getCost, 274getE, 274getSource, 273getTarget, 273isFront, 273

myIsFrontFlag, 275mySource, 275myTarget, 275

angel::EdgeRef_t, 276EdgeRef_t, 276my_angelLCGedge, 277my_JAE_vertex_p, 277my_LCG_edge_p, 277my_type, 277

angel::EdgeType, 278kind, 278num, 278

angel::elimination_history_t, 279ad_graph_t, 281ccosts, 288cg, 288check, 286check_sequence, 285complete_sequence, 287el_spec_t, 281elimination, 284elimination_history_t, 281–283og, 287operator=, 284rebuild_graph, 286seq, 288swap, 284

angel::elimSeq_cost_t, 290bestNumNontrivialEdges, 291cost, 291costAtBestEdgecount, 291edgeElimVector, 290elimSeq_cost_t, 290lastDesiredElim, 291numIntermediatesAtBestEdgecount,

291numIntermediatesWithoutUnit-

EdgeAtBestEdgecount, 291revealedNewDependence, 291

angel::empty_operator_t, 293operator(), 293

angel::emulated_vertex_heuristic_t, 294emulated_vertex_heuristic_t, 295h, 295last_vertex, 295operator(), 295

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 557: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 549

angel::fiv_op_t, 296operator(), 296

angel::fixed_temperature_t, 297fixed_temperature_t, 297operator(), 297t, 298

angel::forward_mode_edge_t, 299forward_mode_edge_t, 300operator(), 300

angel::forward_mode_face_t, 301forward_mode_face_t, 302operator(), 302

angel::forward_mode_vertex_t, 303forward_mode_vertex_t, 304operator(), 304

angel::gamma_adaption_average_t, 305D, 306gamma_adaption_average_t, 306imp, 307last_max, 307last_min, 306operator(), 306scaling, 307sum_diff, 306

angel::gamma_adaption_max_t, 308D, 309diff, 309gamma_adaption_max_t, 309imp, 310last_max, 310last_min, 310max_diff, 309operator(), 309scaling, 310

angel::heuristic_pair_t, 311h1, 312h2, 312heuristic_pair_t, 312operator(), 312

angel::heuristic_triplet_t, 314h1, 315h2, 315h3, 315heuristic_triplet_t, 315operator(), 315

angel::io_exception, 320

io_exception, 320angel::lex_less_face_line_t, 321

lex_less_face_line_t, 321lg, 322operator(), 321

angel::line_graph_t, 323∼line_graph_t, 329cgp, 334check, 332clear_edges, 331clear_graph, 331cons_ok, 333const_ed_t, 327const_evn_t, 327copy_properties, 331dependents, 333ed_t, 327edge_t, 326ei_t, 326evn_t, 327face_elimination, 333face_t, 326fi_t, 326ifi_t, 326is_tripartite, 332line_graph_t, 328ofi_t, 327operator=, 330pure_graph_t, 326swap, 330unpack_graph, 333v, 329vertex_type, 331X, 333x, 329y, 329z, 330

angel::lme_op_t, 335operator(), 335

angel::lmf_op_t, 336lmf_op_t, 336mdegree, 337operator(), 336

angel::lmmd_edge_t, 338lmmd_edge_t, 339operator(), 339

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 558: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

550 INDEX

weight, 340angel::lmmd_vertex_t, 341

lmmd_vertex_t, 342operator(), 342weight, 343

angel::lmmde_op_t, 344lmmde_op_t, 344operator(), 344w, 345

angel::lmmdv_op_t, 346lmmdv_op_t, 346operator(), 346w, 347

angel::lmv_op_t, 348operator(), 348

angel::LOG_temperature_t, 349gamma, 350LOG_temperature_t, 349operator(), 349

angel::lowest_fill_in_vertex_t, 351lowest_fill_in_vertex_t, 352operator(), 352

angel::lowest_markowitz_edge_t, 353lowest_markowitz_edge_t, 354operator(), 354

angel::lowest_markowitz_face_-complete_t, 355

lastv, 357lowest_markowitz_face_complete_t,

356operator(), 356tiebreaker, 357

angel::lowest_markowitz_face_t, 358lowest_markowitz_face_t, 359operator(), 359

angel::lowest_markowitz_vertex_t, 360lowest_markowitz_vertex_t, 361operator(), 361

angel::lowest_relative_markowitz_edge_-t, 362

lowest_relative_markowitz_edge_t,363

operator(), 363angel::lowest_relative_markowitz_-

vertex_t, 364

lowest_relative_markowitz_vertex_-t, 365

operator(), 365angel::lrm_op_t, 366

dep, 367indep, 367lrm_op_t, 366operator(), 366, 367

angel::markowitz_enlargement_back_t,368

_e, 368markowitz_enlargement_back_t,

368operator(), 368

angel::markowitz_enlargement_front_t,370

_e, 371markowitz_enlargement_front_t,

370operator(), 370

angel::minimal_distance_edge_t, 372minimal_distance_edge_t, 373operator(), 373

angel::minimal_distance_face_t, 374minimal_distance_face_t, 375operator(), 375

angel::momr_edge_t, 376momr_edge_t, 377operator(), 377

angel::momr_face_t, 378momr_face_t, 379operator(), 379

angel::momr_vertex_t, 380momr_vertex_t, 381operator(), 381

angel::momre_op_t, 382operator(), 382

angel::momrf_op_t, 383operator(), 383

angel::momrv_op_t, 384operator(), 384

angel::moplr_vertex_t, 385moplr_vertex_t, 386operator(), 386

angel::neighbor_check_meta_t, 387operator(), 387

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 559: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 551

angel::neighbor_last_removable_t, 389operator(), 389

angel::neighbor_multi_step_t, 391max_steps, 392neighbor_multi_step_t, 391operator(), 391

angel::neighbor_sequence_check_t, 393operator(), 393

angel::new_iks_t, 395i, 396k, 396new_iks_t, 395operator(), 395

angel::new_pik_t, 397i, 398k, 398new_pik_t, 397operator(), 397

angel::no_output_t, 399operator(), 399write_graph, 399

angel::not_lex_less_face_line_t, 401lg, 402not_lex_less_face_line_t, 401operator(), 402

angel::oplrv_op_t, 403operator(), 403oplrv_op_t, 403vli, 404vlo, 404vni, 404vno, 404

angel::predecessor_t, 405adg, 409clear_vertices, 409degree, 407ds_t, 407ed_t, 406edges, 407ei_t, 406first, 408gei_t, 406independents, 409last, 408neighbor, 407, 408predecessor_t, 407

rdegree, 408redges, 408rei_t, 406rneighbor, 408vd_t, 406vi_t, 406

angel::random_init_t, 410dummy, 410random_init_t, 410

angel::Rerouting, 411debug, 412getE, 413getER, 413getI, 414getJ, 414getK, 414getPivotE, 413i, 415init, 415isPre, 412j, 415k, 415operator==, 414pre, 415Rerouting, 412

angel::reverse_mode_edge_t, 417operator(), 418reverse_mode_edge_t, 418

angel::reverse_mode_face_t, 419operator(), 420reverse_mode_face_t, 420

angel::reverse_mode_face_whole_-vertex_t, 421

operator(), 422reverse_mode_face_whole_vertex_t,

422angel::reverse_mode_vertex_t, 423

operator(), 424reverse_mode_vertex_t, 424

angel::SA_elimination_cost_t, 425h, 426operator(), 426SA_elimination_cost_t, 426

angel::source_not_independent_t, 427operator(), 427

angel::stream_output_t, 428

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 560: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

552 INDEX

stream_output_t, 428write_graph, 429

angel::string_stream_output_t, 430mystream, 431operator(), 431operator<<, 431string_stream_output_t, 431

angel::successor_t, 433adg, 437clear_vertices, 437degree, 435ds_t, 435ed_t, 434edges, 435ei_t, 434first, 436gei_t, 434independents, 437last, 436neighbor, 435rdegree, 436redges, 436rei_t, 434rneighbor, 436successor_t, 435vd_t, 434vi_t, 434

angel::target_not_dependent_t, 438operator(), 438

angel::Transformation, 439debug, 441getEdgeElim, 441getRerouting, 441isRerouting, 441myEdgeElim, 442myIsReroutingFlag, 442myRerouting, 442Transformation, 440

angel::transformationSeq_cost_t, 443bestNumNontrivialEdges, 444cost, 444costAtBestEdgecount, 444lastDesiredTransformation, 444numIntermediatesAtBestEdgecount,

444

numIntermediatesWithoutUnit-EdgeAtBestEdgecount, 444

revealedNewDependence, 445transformationSeq_cost_t, 443transformationVector, 444

angel::triplet_heuristic_t, 446h, 447operator(), 447triplet_heuristic_t, 447

angel::triplet_t, 448i, 448j, 448k, 449triplet_t, 448

angel::VertexVisited, 450kind, 450

angel::vis_display_output_t, 451vis_display_output_t, 451write_graph, 452

angel::write_edge_bool_op_t, 453cg, 454operator(), 453write_edge_bool_op_t, 453

angel::write_edge_eliad_op_t, 455operator(), 455stream, 456write_edge_eliad_op_t, 455

angel::write_edge_name_op_t, 457evn, 458lg, 458operator(), 458write_edge_name_op_t, 457

angel::write_edge_op_t, 459cg, 460operator(), 459write_edge_op_t, 459

angel::write_face_number_op_t, 461lg, 462operator(), 461write_face_number_op_t, 461

angel::write_face_op_t, 463evn, 464lg, 464operator(), 464write_face_op_t, 463

angel::write_vertex_op_t, 465

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 561: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 553

cg, 466operator(), 465write_vertex_op_t, 465

angel_exceptions.hppTHROW_DEBUG_EXCEPT_-

MACRO, 471THROW_EXCEPT_MACRO, 471

angel_tools.cppECONST, 525

apply_heuristicangel, 58

back_edge_eliminationangel, 59–61

back_elimangel, 61

back_eliminatable_edgesangel, 62

back_eliminate_edge_directlyangel, 62

backEdgeElimination_noJAEangel, 63

BarrierGMPI::Intracomm, 318

base_exceptionangel::base_exception, 222

base_heuristic_tangel::base_heuristic_t, 225

base_tGMPI::buffer_t, 229GMPI::comm_ref_t, 251

base_t_sizeGMPI::buffer_t, 232

BcastGMPI::Intracomm, 318

best_heuristicangel, 63

bestNumNontrivialEdgesangel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,

444block2loop

angel, 64angel::c_graph_t, 245

block_beginangel, 65

boost, 192buffer_address

GMPI::buffer_t, 232buffer_t

GMPI::buffer_t, 229

c_graph_tangel::c_graph_t, 240, 241

ccostsangel::elimination_history_t, 288

cgangel::accu_graph_t, 219angel::elimination_history_t, 288angel::write_edge_bool_op_t, 454angel::write_edge_op_t, 460angel::write_vertex_op_t, 466

cgpangel::line_graph_t, 334

checkangel::c_graph_t, 243angel::elimination_history_t, 286angel::line_graph_t, 332

check_initialangel::c_graph_t, 244

check_sequenceangel::elimination_history_t, 285

chooseEdgeElimRandomlyangel, 65

chooseEdgeElimRandomlyGreedyangel, 65

chooseTarget_saangel, 66

clear_edgesangel::c_graph_t, 244angel::line_graph_t, 331

clear_graphangel::c_graph_t, 244angel::line_graph_t, 331

clear_verticesangel::predecessor_t, 409angel::successor_t, 437

close_log_fileangel, 66

CommGMPI::Comm, 248

comm_ref_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 562: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

554 INDEX

GMPI::comm_ref_t, 252common_predecessor

angel, 66common_successors

angel, 66complete_sequence

angel::elimination_history_t, 287compute_elimination_sequence

xaifBoosterCrossCountryInterface,202

compute_elimination_sequence_lsa_facexaifBoosterCrossCountryInterface,

202compute_elimination_sequence_lsa_-

vertexxaifBoosterCrossCountryInterface,

203compute_partial_elimination_sequence

xaifBoosterCrossCountryInterface,204

compute_partial_elimination_sequence_-random

xaifBoosterCrossCountryInterface,205

compute_partial_transformation_-sequence

xaifBoosterCrossCountryInterface,206

compute_partial_transformation_-sequence_random

xaifBoosterCrossCountryInterface,207

computeEliminationSequenceRandomxaifBoosterCrossCountryInterface,

209cons_ok

angel::line_graph_t, 333consistency_exception

angel::consistency_exception, 253const_ed_t

angel::line_graph_t, 327const_eind_t

angel::c_graph_t, 239const_etype_t

angel::c_graph_t, 240const_evn_t

angel::line_graph_t, 327const_ew_t

angel::c_graph_t, 239CONSTANT_EDGE

angel, 56convert_elimination_sequence

angel, 67copy_properties

angel::line_graph_t, 331cost

angel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,

444costAtBestEdgecount

angel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,

444count_parallel_edges

angel, 68cout_string_output

angel, 177cout_vis_display_output

angel, 177

Dangel::gamma_adaption_average_t,

306angel::gamma_adaption_max_t, 309

dead_vertexangel, 56

debugangel::EdgeElim, 273angel::Rerouting, 412angel::Transformation, 441

dec_greaterangel::dec_greater, 254

degreeangel::predecessor_t, 407angel::successor_t, 435

depangel::lrm_op_t, 367

dependentangel, 56

dependentsangel::accu_exp_graph_t, 213angel::c_graph_t, 246

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 563: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 555

angel::line_graph_t, 333diff

angel::gamma_adaption_max_t, 309ds_t

angel::predecessor_t, 407angel::successor_t, 435

dummyangel::random_init_t, 410

eangel::edge_address_t, 258angel::edge_reroute_t, 269

ECONSTangel_tools.cpp, 525

ed_tangel::line_graph_t, 327angel::predecessor_t, 406angel::successor_t, 434

edgeangel, 68angel::edge_elim_t, 259angel::edge_vertex_elim_t, 271

edge_address_tangel::edge_address_t, 258

edge_bool_tangel, 53

edge_elim_effectangel, 69, 70

edge_elim_seq_tangel, 53

edge_eliminationangel, 70–75

edge_elimination_history_tangel, 53

edge_equal_tangel::edge_equal_t, 261

edge_ij_elim_heuristic_tangel::edge_ij_elim_heuristic_t, 262

edge_ij_elim_seq_tangel, 53

edge_ij_elim_tangel::edge_ij_elim_t, 264

edge_index_weight_propertyangel, 53

edge_less_tangel::edge_less_t, 267

edge_pair_elim_seq_tangel, 53

edge_reroute_tangel::edge_reroute_t, 269

edge_tangel::c_graph_t, 238angel::line_graph_t, 326

Edge_Type_Eangel, 56

edge_type_index_weight_propertyangel, 54

edge_vertex_elim_seq_tangel, 54

edge_vertex_nameangel, 75

edge_weight_propertyangel, 54

EdgeElimangel::EdgeElim, 272, 273

edgeElimVectorangel::elimSeq_cost_t, 290

EdgeRef_tangel::EdgeRef_t, 276

EdgeRefType_Eangel, 56

edgesangel::predecessor_t, 407angel::successor_t, 435

ei_tangel::c_graph_t, 238angel::line_graph_t, 326angel::predecessor_t, 406angel::successor_t, 434

eind_tangel::c_graph_t, 239

el_spec_tangel::elimination_history_t, 281

eliminatable_edgesangel, 76, 77

eliminatable_facesangel, 77, 78

eliminatable_objectsangel, 78–80

eliminatable_tripletsangel, 80

eliminatable_vertices

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 564: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

556 INDEX

angel, 81eliminate

angel, 81–84elimination

angel::elimination_history_t, 284elimination_history_t

angel::elimination_history_t, 281–283

elimSeq_cost_tangel::elimSeq_cost_t, 290

emptyGMPI::buffer_t, 229

emulated_vertex_heuristic_tangel::emulated_vertex_heuristic_t,

295etype_t

angel::c_graph_t, 240evn

angel::write_edge_name_op_t, 458angel::write_face_op_t, 464

evn_tangel::line_graph_t, 327

ew_tangel::c_graph_t, 239

expangel::accu_exp_t, 215

exp_nrangel::accu_exp_t::ref_t, 217angel::accu_graph_t, 220

face_eliminationangel, 85–90angel::line_graph_t, 333

face_elimination_history_tangel, 54

face_tangel::line_graph_t, 326

face_vertex_nameangel, 91

fi_tangel::line_graph_t, 326

fill_in_backangel, 92

fill_in_frontangel, 92

find_best_subset

angel, 92find_edge

angel, 92first

angel::predecessor_t, 408angel::successor_t, 436

fixed_temperature_tangel::fixed_temperature_t, 297

fme_objangel, 93

fmf_objangel, 93

for_all_edgesangel, 93, 94

for_all_in_edgesangel, 94

for_all_out_edgesangel, 94

forward_mode_edgeangel, 177

forward_mode_edge_backangel, 94

forward_mode_edge_fangel, 95

forward_mode_edge_frontangel, 96

forward_mode_edge_tangel::forward_mode_edge_t, 300

forward_mode_faceangel, 178

forward_mode_face_tangel::forward_mode_face_t, 302

forward_mode_vertexangel, 179

forward_mode_vertex_tangel::forward_mode_vertex_t, 304

freeGMPI::buffer_t, 232

frontangel::edge_elim_t, 259angel::edge_ij_elim_t, 265angel::edge_pair_elim_t, 268angel::edge_vertex_elim_t, 271

front_edge_eliminationangel, 96–98

front_elim

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 565: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 557

angel, 99front_eliminatable_edges

angel, 99front_eliminate_edge_directly

angel, 99frontEdgeElimination_noJAE

angel, 100FTSA

angel, 101

g1angel::edge_equal_t, 261angel::edge_less_t, 267

g2angel::edge_equal_t, 261angel::edge_less_t, 267

gammaangel::LOG_temperature_t, 350

gamma_adaption_average_tangel::gamma_adaption_average_t,

306gamma_adaption_max_t

angel::gamma_adaption_max_t, 309Gather

GMPI::Intracomm, 319gei_t

angel::predecessor_t, 406angel::successor_t, 434

gen_probangel, 102

Get_rankGMPI::Comm, 250

Get_sizeGMPI::Comm, 249

getBoolangel::EdgeElim, 274

getCostangel::EdgeElim, 274

getEangel::EdgeElim, 274angel::Rerouting, 413

getEdgeangel, 102

getEdgeElimangel::Transformation, 441

getER

angel::Rerouting, 413getI

angel::Rerouting, 414getJ

angel::Rerouting, 414getJAE_p

angel, 102getK

angel::Rerouting, 414getLCG_p

angel, 102getPivotE

angel::Rerouting, 413getRefType

angel, 103getRerouting

angel::Transformation, 441getSource

angel::EdgeElim, 273getTarget

angel::EdgeElim, 273GMPI, 193

mpi_size_t, 199operator<<, 195, 196operator>>, 196–198which_mpi_t, 198, 199

GMPI::buffer_t, 227address, 232base_t, 229base_t_size, 232buffer_address, 232buffer_t, 229empty, 229free, 232load, 231mpi_t, 232my_buffer, 233read, 230read_pos, 233read_write, 233remaining, 230reserve, 229size, 231store, 231unread, 230write, 230

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 566: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

558 INDEX

write_pos, 233GMPI::Comm, 248

Comm, 248Get_rank, 250Get_size, 249mpi_comm_ref, 249my_comm, 250Recv, 249Send, 249

GMPI::comm_ref_t, 251base_t, 251comm_ref_t, 252my_object_ref, 252object_ref, 252object_t, 251

GMPI::Intracomm, 317Allreduce, 319Barrier, 318Bcast, 318Gather, 319Intracomm, 318Reduce, 318

hangel::edge_ij_elim_heuristic_t, 263angel::emulated_vertex_heuristic_t,

295angel::SA_elimination_cost_t, 426angel::triplet_heuristic_t, 447

h1angel::heuristic_pair_t, 312angel::heuristic_triplet_t, 315

h2angel::heuristic_pair_t, 312angel::heuristic_triplet_t, 315

h3angel::heuristic_triplet_t, 315

heuristic_pair_tangel::heuristic_pair_t, 312

heuristic_triplet_tangel::heuristic_triplet_t, 315

iangel::edge_ij_elim_t, 264angel::edge_pair_elim_t, 268angel::new_iks_t, 396

angel::new_pik_t, 398angel::Rerouting, 415angel::triplet_t, 448

iei_tangel::c_graph_t, 239

ifi_tangel::line_graph_t, 326

impangel::gamma_adaption_average_t,

307angel::gamma_adaption_max_t, 310

in_out_path_lengthsangel, 103

increment_eliminatableangel::edge_reroute_t, 270

indepangel::lrm_op_t, 367

independentangel, 56

independent_vertices_to_frontangel, 103, 104

independentsangel::predecessor_t, 409angel::successor_t, 437

initangel::Rerouting, 415

intermediateangel, 56

IntracommGMPI::Intracomm, 318

inv_lex_greaterangel, 104

inv_lex_lessangel, 104

io_exceptionangel::io_exception, 320

is_bipartiteangel, 104

is_setangel::base_heuristic_t, 225

is_tripartiteangel, 105angel::line_graph_t, 332

isFrontangel::EdgeElim, 273

isop

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 567: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 559

angel::accu_exp_t, 215isPre

angel::edge_reroute_t, 270angel::Rerouting, 412

isReroutingangel::Transformation, 441

jangel::edge_ij_elim_t, 264angel::edge_pair_elim_t, 268angel::Rerouting, 415angel::triplet_t, 448

jacobi_entriesangel::accu_graph_t, 219

JAE_VERTangel, 56

kangel::new_iks_t, 396angel::new_pik_t, 398angel::Rerouting, 415angel::triplet_t, 449

kindangel::EdgeType, 278angel::VertexVisited, 450

lastangel::predecessor_t, 408angel::successor_t, 436

last_maxangel::gamma_adaption_average_t,

307angel::gamma_adaption_max_t, 310

last_minangel::gamma_adaption_average_t,

306angel::gamma_adaption_max_t, 310

last_vertexangel::emulated_vertex_heuristic_t,

295lastDesiredElim

angel::elimSeq_cost_t, 291lastDesiredTransformation

angel::transformationSeq_cost_t,444

lastv

angel::lowest_markowitz_face_-complete_t, 357

LCG_EDGEangel, 56

lex_greaterangel, 105

lex_lessangel, 105

lex_less_faceangel, 106

lex_less_face_line_tangel::lex_less_face_line_t, 321

lgangel::accu_graph_t, 219angel::lex_less_face_line_t, 322angel::not_lex_less_face_line_t, 402angel::write_edge_name_op_t, 458angel::write_face_number_op_t, 462angel::write_face_op_t, 464

lgnangel::accu_exp_t, 215

line_graph_tangel::line_graph_t, 328

lmf_op_tangel::lmf_op_t, 336

lmmd_edgeangel, 180

lmmd_edge_backangel, 106

lmmd_edge_frontangel, 106

lmmd_edge_tangel::lmmd_edge_t, 339

lmmd_vertexangel, 180

lmmd_vertex_tangel::lmmd_vertex_t, 342

lmmde_op_tangel::lmmde_op_t, 344

lmmdv_op_tangel::lmmdv_op_t, 346

loadGMPI::buffer_t, 231

log_fileangel, 180

LOG_temperature_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 568: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

560 INDEX

angel::LOG_temperature_t, 349lowest_fill_in_edge_back

angel, 107lowest_fill_in_edge_f

angel, 107lowest_fill_in_edge_front

angel, 108lowest_fill_in_vertex

angel, 180, 181lowest_fill_in_vertex_t

angel::lowest_fill_in_vertex_t, 352lowest_markowitz_edge

angel, 181lowest_markowitz_edge_back

angel, 109lowest_markowitz_edge_f

angel, 109lowest_markowitz_edge_front

angel, 110lowest_markowitz_edge_t

angel::lowest_markowitz_edge_t,354

lowest_markowitz_faceangel, 182

lowest_markowitz_face_complete_tangel::lowest_markowitz_face_-

complete_t, 356lowest_markowitz_face_t

angel::lowest_markowitz_face_t,359

lowest_markowitz_transformationsangel, 111

lowest_markowitz_vertexangel, 182, 183

lowest_markowitz_vertex_tangel::lowest_markowitz_vertex_t,

361lowest_relative_markowitz_edge

angel, 183lowest_relative_markowitz_edge_back

angel, 111lowest_relative_markowitz_edge_f

angel, 112lowest_relative_markowitz_edge_front

angel, 112lowest_relative_markowitz_edge_t

angel::lowest_relative_markowitz_-edge_t, 363

lowest_relative_markowitz_vertexangel, 184

lowest_relative_markowitz_vertex_tangel::lowest_relative_markowitz_-

vertex_t, 365lowestMarkowitzEdgeElim

angel, 113lrm_op_t

angel::lrm_op_t, 366LSA

angel, 113

maintaining_edge_eliminationsangel, 114

maintaining_transformationsangel, 115

markowitz_degreeangel, 115

markowitz_enlargement_all_neighborsangel, 116

markowitz_enlargement_backangel, 116

markowitz_enlargement_back_tangel::markowitz_enlargement_-

back_t, 368markowitz_enlargement_front

angel, 117markowitz_enlargement_front_t

angel::markowitz_enlargement_-front_t, 370

markowitz_on_line_graphangel, 117

max_diffangel::gamma_adaption_max_t, 309

max_stepsangel::neighbor_multi_step_t, 392

maximal_pathsangel, 118

mdegreeangel::lmf_op_t, 337

minimal_distance_edgeangel, 185

minimal_distance_edge_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 569: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 561

angel::minimal_distance_edge_t,373

minimal_distance_face_tangel::minimal_distance_face_t, 375

minimal_in_out_degreeangel, 118

minimal_markowitz_degreeangel, 118

momr_edgeangel, 185

momr_edge_backangel, 118, 119

momr_edge_fangel, 119

momr_edge_frontangel, 120

momr_edge_tangel::momr_edge_t, 377

momr_faceangel, 185, 186

momr_face_tangel::momr_face_t, 379

momr_vertexangel, 186

momr_vertex_tangel::momr_vertex_t, 381

moplr_edgeangel, 121

moplr_vertexangel, 187

moplr_vertex_tangel::moplr_vertex_t, 386

mpi_comm_refGMPI::Comm, 249

mpi_size_tGMPI, 199

mpi_tGMPI::buffer_t, 232

multangel::accu_exp_t, 215

multiply_edge_pair_directlyangel, 122

my_angelLCGedgeangel::EdgeRef_t, 277

my_bufferGMPI::buffer_t, 233

my_commGMPI::Comm, 250

my_JAE_vertex_pangel::EdgeRef_t, 277

my_LCG_edge_pangel::EdgeRef_t, 277

my_maximizeangel::base_heuristic_t, 226

my_object_refGMPI::comm_ref_t, 252

my_objectiveangel::base_heuristic_t, 225

my_typeangel::EdgeRef_t, 277

myEdgeElimangel::Transformation, 442

myIsFrontFlagangel::EdgeElim, 275

myIsReroutingFlagangel::Transformation, 442

myReroutingangel::Transformation, 442

mySourceangel::EdgeElim, 275

mystreamangel::string_stream_output_t, 431

myTargetangel::EdgeElim, 275

neighborangel::predecessor_t, 407, 408angel::successor_t, 435

neighbor_multi_step_tangel::neighbor_multi_step_t, 391

neighbor_swapangel, 123

new_iks_tangel::new_iks_t, 395

new_in_edgesangel, 123

new_out_edgesangel, 123

new_pik_tangel::new_pik_t, 397

next_edge_numberangel::c_graph_t, 246

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 570: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

562 INDEX

no_outputangel, 187

nodeangel::accu_exp_t::ref_t, 217

noncyclicReroutingsangel, 123

not_lex_less_face_line_tangel::not_lex_less_face_line_t, 401

nothingangel::accu_exp_t, 215

numangel::EdgeType, 278

num_nontrivial_edgesangel, 123

number_dependent_verticesangel, 124

number_independent_verticesangel, 124

numbered_filenameangel, 124

numIntermediatesAtBestEdgecountangel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,

444numIntermediatesWithoutUnitEdgeAtBestEdgecount

angel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,

444numIntermediateVertices

angel, 124numIntermediateVerticesWithoutUnitEdge

angel, 125

object_refGMPI::comm_ref_t, 252

object_tGMPI::comm_ref_t, 251

objectiveangel::base_heuristic_t, 225

objective_tangel::base_heuristic_t, 224

oei_tangel::c_graph_t, 239

ofi_tangel::line_graph_t, 327

og

angel::elimination_history_t, 287op

angel::accu_exp_t::ref_t, 217op_t

angel::accu_exp_t, 215open_log_file

angel, 125operator!=

angel, 125operator()

angel::dec_greater, 254angel::diste_op_t, 256angel::distf_op_t, 257angel::edge_equal_t, 261angel::edge_ij_elim_heuristic_t, 263angel::edge_less_t, 267angel::empty_operator_t, 293angel::emulated_vertex_heuristic_t,

295angel::fiv_op_t, 296angel::fixed_temperature_t, 297angel::forward_mode_edge_t, 300angel::forward_mode_face_t, 302angel::forward_mode_vertex_t, 304angel::gamma_adaption_average_t,

306angel::gamma_adaption_max_t, 309angel::heuristic_pair_t, 312angel::heuristic_triplet_t, 315angel::lex_less_face_line_t, 321angel::lme_op_t, 335angel::lmf_op_t, 336angel::lmmd_edge_t, 339angel::lmmd_vertex_t, 342angel::lmmde_op_t, 344angel::lmmdv_op_t, 346angel::lmv_op_t, 348angel::LOG_temperature_t, 349angel::lowest_fill_in_vertex_t, 352angel::lowest_markowitz_edge_t,

354angel::lowest_markowitz_face_-

complete_t, 356angel::lowest_markowitz_face_t,

359

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 571: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 563

angel::lowest_markowitz_vertex_t,361

angel::lowest_relative_markowitz_-edge_t, 363

angel::lowest_relative_markowitz_-vertex_t, 365

angel::lrm_op_t, 366, 367angel::markowitz_enlargement_-

back_t, 368angel::markowitz_enlargement_-

front_t, 370angel::minimal_distance_edge_t,

373angel::minimal_distance_face_t, 375angel::momr_edge_t, 377angel::momr_face_t, 379angel::momr_vertex_t, 381angel::momre_op_t, 382angel::momrf_op_t, 383angel::momrv_op_t, 384angel::moplr_vertex_t, 386angel::neighbor_check_meta_t, 387angel::neighbor_last_removable_t,

389angel::neighbor_multi_step_t, 391angel::neighbor_sequence_check_t,

393angel::new_iks_t, 395angel::new_pik_t, 397angel::no_output_t, 399angel::not_lex_less_face_line_t, 402angel::oplrv_op_t, 403angel::reverse_mode_edge_t, 418angel::reverse_mode_face_t, 420angel::reverse_mode_face_whole_-

vertex_t, 422angel::reverse_mode_vertex_t, 424angel::SA_elimination_cost_t, 426angel::source_not_independent_t,

427angel::string_stream_output_t, 431angel::target_not_dependent_t, 438angel::triplet_heuristic_t, 447angel::write_edge_bool_op_t, 453angel::write_edge_eliad_op_t, 455angel::write_edge_name_op_t, 458

angel::write_edge_op_t, 459angel::write_face_number_op_t, 461angel::write_face_op_t, 464angel::write_vertex_op_t, 465

operator<<angel, 126, 127angel::string_stream_output_t, 431GMPI, 195, 196

operator=angel::c_graph_t, 241angel::elimination_history_t, 284angel::line_graph_t, 330

operator==angel, 127angel::Rerouting, 414

operator>>GMPI, 196–198

oplr_edge_backangel, 128

oplr_edge_frontangel, 128

oplr_faceangel, 128

oplrv_op_tangel::oplrv_op_t, 403

ourLCG_to_angelLCGangel, 129

overall_markowitz_degreeangel, 129, 130

overall_minimal_markowitz_degreeangel, 130

pair_elimangel, 130

pairElim_noJAEangel, 131

permutate_verticesangel, 131

pivot_eangel::edge_reroute_t, 270

pivot_eliminatableangel::edge_reroute_t, 270

populate_remainderGraph_and_-correlationLists

angel, 132postroute_edge_directly

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 572: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

564 INDEX

angel, 132, 133postrouteEdge_noJAE

angel, 133pre

angel::Rerouting, 415predecessor_set

angel, 133predecessor_t

angel::predecessor_t, 407preroute_edge_directly

angel, 133, 134prerouteEdge_noJAE

angel, 134pure_accu_exp_graph_t

angel, 54pure_c_graph_t

angel, 54pure_graph_t

angel::c_graph_t, 238angel::line_graph_t, 326

pure_line_graph_tangel, 54

put_unit_edge_weightangel, 134

put_unit_vertex_weightangel, 135

randomangel, 135

random_blockangel, 136

random_highangel, 136

random_init_objectangel, 187, 188

random_init_tangel::random_init_t, 410

random_statementangel, 137

random_statement_vectorangel, 137

rdegreeangel::predecessor_t, 408angel::successor_t, 436

reachableangel, 138

reachable_verticesangel, 138

readGMPI::buffer_t, 230

read_graph_eliadangel, 139angel::c_graph_t, 245

read_graph_xaif_boosterangel, 139angel::c_graph_t, 246

read_posGMPI::buffer_t, 233

read_writeGMPI::buffer_t, 233

reasonangel::base_exception, 222

rebuild_graphangel::elimination_history_t, 286

RecvGMPI::Comm, 249

redgesangel::predecessor_t, 408angel::successor_t, 436

ReduceGMPI::Intracomm, 318

reducing_edge_eliminationsangel, 140

reducing_reroutingsangel, 140, 141

reducing_transformationsangel, 141, 142

refangel::accu_exp_t, 216

ref_kindangel::accu_exp_t, 216

ref_kind_tangel::accu_exp_t, 215

refill_avoiding_edge_eliminationsangel, 142

refill_avoiding_transformationsangel, 143

refillDependenceMap_tangel, 55

rei_tangel::predecessor_t, 406angel::successor_t, 434

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 573: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 565

relevant_verticesangel, 143

remainingGMPI::buffer_t, 230

remove_dependents_with_successorsangel::c_graph_t, 244

remove_edgesangel, 144

remove_hoisting_verticesangel, 144

remove_irrelevant_edgesangel, 144

remove_parallel_edgesangel, 145

remove_trivial_edgesangel, 145

remove_unreachable_edgesangel, 145

removeRefangel, 146

renumber_edgesangel, 146

replay_transformation_seqangel, 146

reroutable_edgesangel, 147

reroute_effectangel, 148

Reroutingangel::Rerouting, 412

rerouting_considerate_edge_eliminationsangel, 148

rerouting_considerate_transformationsangel, 148

reserveGMPI::buffer_t, 229

revealedNewDependenceangel::elimSeq_cost_t, 291angel::transformationSeq_cost_t,

445reverse_mode_edge

angel, 188reverse_mode_edge_back

angel, 149reverse_mode_edge_f

angel, 149

reverse_mode_edge_frontangel, 150

reverse_mode_edge_tangel::reverse_mode_edge_t, 418

reverse_mode_faceangel, 189

reverse_mode_face_tangel::reverse_mode_face_t, 420

reverse_mode_face_whole_vertexangel, 190

reverse_mode_face_whole_vertex_tangel::reverse_mode_face_whole_-

vertex_t, 422reverse_mode_transformations

angel, 151reverse_mode_vertex

angel, 190, 191reverse_mode_vertex_t

angel::reverse_mode_vertex_t, 424reverseModeEdgeElim

angel, 151rme_obj

angel, 151rneighbor

angel::predecessor_t, 408angel::successor_t, 436

SAangel, 152

SA_acceptanceangel, 153

SA_elimination_cost_tangel::SA_elimination_cost_t, 426

same_edgeangel, 153

same_neighborsangel, 153

same_predecessorsangel, 154

same_successorsangel, 154

say_reasonangel::base_exception, 222

scalingangel::gamma_adaption_average_t,

307

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 574: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

566 INDEX

angel::gamma_adaption_max_t, 310search_path

angel, 155semi_eliminatable_vertices

angel, 155Send

GMPI::Comm, 249seq

angel::elimination_history_t, 288set_empty_objective

angel::base_heuristic_t, 225set_exp

angel::accu_exp_t, 215set_graph

angel::accu_exp_graph_t, 212set_jacobi_entries

angel::accu_graph_t, 219set_node

angel::accu_exp_t, 215set_objective

angel::base_heuristic_t, 225set_op

angel::accu_exp_t, 215setJaevRef

angel, 155size

GMPI::buffer_t, 231sorted_predecessor_set

angel, 156sorted_successor_set

angel, 156standard_heuristic_op

angel, 156stats2block

angel, 157angel::c_graph_t, 245

std, 200store

GMPI::buffer_t, 231stream

angel::write_edge_eliad_op_t, 456stream_output_t

angel::stream_output_t, 428string_stream_output_t

angel::string_stream_output_t, 431successor_set

angel, 158successor_t

angel::successor_t, 435sum_diff

angel::gamma_adaption_average_t,306

sum_over_all_in_edgesangel, 158

sum_over_all_out_edgesangel, 158

swapangel::c_graph_t, 241angel::elimination_history_t, 284angel::line_graph_t, 330

tangel::fixed_temperature_t, 298

take_over_successorsangel, 158

THROW_DEBUG_EXCEPT_MACROangel_exceptions.hpp, 471

THROW_EXCEPT_MACROangel_exceptions.hpp, 471

tiebreakerangel::lowest_markowitz_face_-

complete_t, 357to_maximize

angel::base_heuristic_t, 225Transformation

angel::Transformation, 440transformation_effect

angel, 159transformationSeq_cost_t

angel::transformationSeq_cost_t,443

transformationVectorangel::transformationSeq_cost_t,

444triplet_heuristic_t

angel::triplet_heuristic_t, 447triplet_t

angel::triplet_t, 448type3EdgeElimVector

angel::edge_reroute_t, 270

uint_pair_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 575: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

INDEX 567

angel, 55UNDEFINED

angel, 56undefined_vertex

angel, 56unique_vector

angel, 160UNIT_EDGE

angel, 56unpack_graph

angel::c_graph_t, 246angel::line_graph_t, 333

unreadGMPI::buffer_t, 230

use_heuristicangel, 160

use_heuristic_debugangel, 161

use_heuristic_noconstangel, 161

use_heuristic_traceangel, 162

vangel::accu_exp_graph_t, 212angel::c_graph_t, 242angel::line_graph_t, 329

VARIABLE_EDGEangel, 56

vcangel::dec_greater, 255

vd_tangel::predecessor_t, 406angel::successor_t, 434

vertex_degree_propertyangel, 55

vertex_downsetangel, 163

vertex_eliminatableangel, 163

vertex_eliminationangel, 163–165

vertex_elimination_history_tangel, 55

vertex_name_degree_propertyangel, 55

vertex_set_tangel, 55

vertex_tangel::c_graph_t, 238

vertex_typeangel, 165angel::c_graph_t, 243angel::line_graph_t, 331

vertex_type_tangel, 56

vertex_upsetangel, 165

vertex_visited_propertyangel, 55

vi_tangel::c_graph_t, 238angel::predecessor_t, 406angel::successor_t, 434

vis_display_output_tangel::vis_display_output_t, 451

vliangel::oplrv_op_t, 404

vloangel::oplrv_op_t, 404

vniangel::oplrv_op_t, 404

vnoangel::oplrv_op_t, 404

wangel::lmmde_op_t, 345angel::lmmdv_op_t, 347

was_non_trivial_eliminationangel, 165, 166

weightangel::lmmd_edge_t, 340angel::lmmd_vertex_t, 343

what_reasonangel::base_exception, 222

which_indexangel, 167

which_mpi_tGMPI, 198, 199

writeGMPI::buffer_t, 230

write_edge_bool_op_t

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen

Page 576: angel Reference Manualangellib.sourceforge.net/refman.pdf · ANGEL Reference Manual Author: Peter Gottschling et.al. Version: current snapshot 1.1 Introduction ANGEL-Automatic differentiation

568 INDEX

angel::write_edge_bool_op_t, 453write_edge_eliad_op_t

angel::write_edge_eliad_op_t, 455write_edge_name_op_t

angel::write_edge_name_op_t, 457write_edge_op_t

angel::write_edge_op_t, 459write_edge_property

angel, 167write_face

angel, 167, 168write_face_number_op_t

angel::write_face_number_op_t, 461write_face_op_t

angel::write_face_op_t, 463write_face_vector

angel, 168write_graph

angel, 169–171angel::no_output_t, 399angel::stream_output_t, 429angel::vis_display_output_t, 452

write_graph_eliadangel, 172, 173

write_graph_xaif_boosterangel, 173

write_iteratorsangel, 174

write_posGMPI::buffer_t, 233

write_refillDependencesangel, 174

write_vectorangel, 174, 175

write_vertex_op_tangel::write_vertex_op_t, 465

write_vertex_propertyangel, 176

writeVertexAndEdgeTypesangel, 176

Xangel::accu_exp_graph_t, 213angel::c_graph_t, 246angel::line_graph_t, 333

x

angel::accu_exp_graph_t, 212angel::c_graph_t, 241, 242angel::line_graph_t, 329

xaif_edge_prangel, 176

xaifBoosterCrossCountryInterface, 201compute_elimination_sequence, 202compute_elimination_sequence_-

lsa_face, 202compute_elimination_sequence_-

lsa_vertex, 203compute_partial_elimination_-

sequence, 204compute_partial_elimination_-

sequence_random, 205compute_partial_transformation_-

sequence, 206compute_partial_transformation_-

sequence_random, 207computeEliminationSequenceRan-

dom, 209

yangel::accu_exp_graph_t, 212angel::c_graph_t, 242angel::line_graph_t, 329

zangel::accu_exp_graph_t, 213angel::c_graph_t, 242angel::line_graph_t, 330

Generated on Wed Mar 11 10:33:11 2009 for angel by Doxygen