- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Ipopt::TripletToCSRConverter Class Reference

Class for converting symmetric matrices given in triplet format to matrices in compressed sparse row (CSR) format of the upper triangual part (or, equivalently, compressed sparse column (CSC) format for the lower triangular part). More...

`#include <IpTripletToCSRConverter.hpp>`

Inheritance diagram for Ipopt::TripletToCSRConverter:

[legend]
Collaboration diagram for Ipopt::TripletToCSRConverter:

[legend]
List of all members.

## Public Member Functions
Index | InitializeConverter (Index dim, Index nonzeros, const Index *airn, const Index *ajcn)
| Initialize the converter, given the fixed structure of the matrix.
const Index * | IA () const
| Return the IA array for the condensed format.
const Index * | JA () const
| Return the JA array for the condensed format.
void | ConvertValues (Index nonzeros_triplet, const Number *a_triplet, Index nonzeros_compressed, Number *a_compressed)
| Convert the values of the nonzero elements.
Constructor/Destructor
| TripletToCSRConverter (Index offset)
virtual | ~TripletToCSRConverter ()
| Destructor.
## Private Member Functions
Default Compiler Generated Methods
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.
| TripletToCSRConverter ()
| Default Constructor.
| TripletToCSRConverter (const TripletToCSRConverter &)
| Copy Constructor.
void | operator= (const TripletToCSRConverter &)
| Overloaded Equals Operator.
## Private Attributes
Index | offset_
| Offset for CSR numbering.
Index * | ia_
| Array storing the values for IA in the condensed format.
Index * | ja_
| Array storing the values for JA in the condensed format.
Index | dim_
| Dimension of the matrix.
Index | nonzeros_triplet_
| Number of nonzeros in the triplet format.
Index | nonzeros_compressed_
| Number of nonzeros in the compressed format.
bool | initialized_
| Flag indicating if initialize method had been called.
Arrays for cross-positions for the conversion of values.
Index * | ipos_first_
| First elements assignement.
Index * | ipos_double_triplet_
| Position of multiple elements in triplet matrix.
Index * | ipos_double_compressed_
| Position of multiple elements in compressed matrix.
## Classes
class | TripletEntry
| Class for one triplet position entry. More...

## Detailed Description

Class for converting symmetric matrices given in triplet format to matrices in compressed sparse row (CSR) format of the upper triangual part (or, equivalently, compressed sparse column (CSC) format for the lower triangular part).

In the description for this class, we assume that we discuss the CSR format.

Definition at line 23 of file IpTripletToCSRConverter.hpp.

## Constructor & Destructor Documentation

Ipopt::TripletToCSRConverter::TripletToCSRConverter | ( | Index | offset | ) |

virtual Ipopt::TripletToCSRConverter::~TripletToCSRConverter | ( |  | ) | `[virtual]`

Destructor.

Ipopt::TripletToCSRConverter::TripletToCSRConverter | ( |  | ) | `[private]`

Default Constructor.

Ipopt::TripletToCSRConverter::TripletToCSRConverter | ( | const TripletToCSRConverter & |  | ) | `[private]`

Copy Constructor.

## Member Function Documentation

Index Ipopt::TripletToCSRConverter::InitializeConverter | ( | Index | dim,
|  | Index | nonzeros,
|  | const Index * | airn,
|  | const Index * | ajcn |
| ) |  |  |

Initialize the converter, given the fixed structure of the matrix.

There, ndim gives the number of rows and columns of the matrix, nonzeros give the number of nonzero elements, and airn and acjn give the positions of the nonzero elements. The return value is the number of nonzeros in the condensed matrix. (Since nonzero elements can be listed several times in the triplet format, it is possible that this value is different from the input value nonzeros.) This method must be called before the GetIA, GetJA, GetValues methods are called.

const Index* Ipopt::TripletToCSRConverter::IA | ( |  | ) | const`[inline]`

Return the IA array for the condensed format.

Definition at line 144 of file IpTripletToCSRConverter.hpp.

References DBG_ASSERT, ia_, and initialized_.

const Index* Ipopt::TripletToCSRConverter::JA | ( |  | ) | const`[inline]`

Return the JA array for the condensed format.

Definition at line 151 of file IpTripletToCSRConverter.hpp.

References DBG_ASSERT, initialized_, and ja_.

void Ipopt::TripletToCSRConverter::ConvertValues | ( | Index | nonzeros_triplet,
|  | const Number * | a_triplet,
|  | Index | nonzeros_compressed,
|  | Number * | a_compressed |
| ) |  |  |

Convert the values of the nonzero elements.

Given the values a_triplet for the triplet format, return the array of values for the condensed format in a_condensed. nonzeros_condensed is the length of the array a_condensed and must be identical to the return value of InitializeConverter.

void Ipopt::TripletToCSRConverter::operator= | ( | const TripletToCSRConverter & |  | ) | `[private]`

Overloaded Equals Operator.

## Member Data Documentation

Index Ipopt::TripletToCSRConverter::offset_`[private]`

Offset for CSR numbering.

Definition at line 185 of file IpTripletToCSRConverter.hpp.

Index* Ipopt::TripletToCSRConverter::ia_`[private]`

Array storing the values for IA in the condensed format.

Definition at line 188 of file IpTripletToCSRConverter.hpp.

Referenced by IA().

Index* Ipopt::TripletToCSRConverter::ja_`[private]`

Array storing the values for JA in the condensed format.

Definition at line 191 of file IpTripletToCSRConverter.hpp.

Referenced by JA().

Index Ipopt::TripletToCSRConverter::dim_`[private]`

Dimension of the matrix.

Definition at line 194 of file IpTripletToCSRConverter.hpp.

Index Ipopt::TripletToCSRConverter::nonzeros_triplet_`[private]`

Number of nonzeros in the triplet format.

Definition at line 197 of file IpTripletToCSRConverter.hpp.

Index Ipopt::TripletToCSRConverter::nonzeros_compressed_`[private]`

Number of nonzeros in the compressed format.

Definition at line 200 of file IpTripletToCSRConverter.hpp.

bool Ipopt::TripletToCSRConverter::initialized_`[private]`

Flag indicating if initialize method had been called.

Definition at line 203 of file IpTripletToCSRConverter.hpp.

Referenced by IA(), and JA().

Index* Ipopt::TripletToCSRConverter::ipos_first_`[private]`

First elements assignement.

For i with 0 <= i <= nonzeros_compressed-1, the i-th element in the compressed format is obtained from copying the ipos_filter_[i]-th element from the triplet format.

Definition at line 211 of file IpTripletToCSRConverter.hpp.

Index* Ipopt::TripletToCSRConverter::ipos_double_triplet_`[private]`

Position of multiple elements in triplet matrix.

For i = 0,..,nonzeros_triplet_-nonzeros_compressed_, the ipos_double_triplet_[i]-th element in the triplet matrix has to be added to the ipos_double_compressed_[i]-th element in the compressed matrix.

Definition at line 217 of file IpTripletToCSRConverter.hpp.

Index* Ipopt::TripletToCSRConverter::ipos_double_compressed_`[private]`

Position of multiple elements in compressed matrix.

Definition at line 219 of file IpTripletToCSRConverter.hpp.

The documentation for this class was generated from the following file:

- /home/coin/SVN-release/Ipopt-3.2.1/Ipopt/src/Algorithm/LinearSolvers/IpTripletToCSRConverter.hpp