MyraMath
Classes | Public Types | Public Member Functions | Friends | List of all members
myra::AssemblyTree Class Reference

Symbolic analysis data structure for all multifrontal solvers. More...

#include <AssemblyTree.h>

Classes

class  Node
 

Public Types

typedef std::pair< const int *, const int * > Range
 Useful typedefs.
 
typedef multifrontal::Options Options
 

Public Member Functions

 AssemblyTree ()
 Default constructor, just 0x0 system.
 
 AssemblyTree (const PatternRange &A, const Permutation &P, Options options=Options::create())
 Constructs from a Pattern A with reordering Permutation P.
 
 AssemblyTree (const PatternRange &A, const Match &M, const Permutation &P, Options options=Options::create())
 Constructs from a matched Pattern (A,M) with reordering Permutation P.
 
 AssemblyTree (const AssemblyTree &that)
 Copy constructor (deep).
 
 AssemblyTree (InputStream &in)
 InputStream constructor.
 
void write (OutputStream &out) const
 Writes to OutputStream.
 
void swap (AssemblyTree &that)
 Member swap, O(1)
 
 AssemblyTree (AssemblyTree &&that)
 Move constructor, default construct and swap idiom.
 
AssemblyTreeoperator= (AssemblyTree that)
 Assignment operator, copy construct and swap idiom.
 
int size () const
 Returns size of underlying system A.
 
int n_nodes () const
 Returns number of nodes.
 
const Nodenode (int n) const
 Accesses node n.
 
const Nodeat (int n) const
 
int unknown2node (int i) const
 For each unknown, which node eliminates it?
 
std::vector< int > roots () const
 Returns the ids for all roots (i.e. Node's which lack a parent)
 
std::vector< int > leaves () const
 Returns the ids for all leafs (i.e. Node's which lack any children)
 
std::pair< uint64_t, uint64_t > n_words () const
 Returns storage requirements (factor L in .first, addition workspace W in .second)
 
uint64_t n_work_llt () const
 Returns number of flops required to factor A=LL'.
 
uint64_t n_work_lu () const
 Returns number of flops required to factor A=LU.
 
const Permutationpermutation () const
 Accessors for postordered permutation.
 
intCRange perm () const
 
intCRange iperm () const
 
intCRange swaps () const
 
int perm (int i) const
 
int iperm (int i) const
 
int swaps (int i) const
 
void inspect (std::ostream &out) const
 Inspection routine, prints debugging information on out.
 
 ~AssemblyTree ()
 Frees internal resources.
 

Friends

class SchurTree
 

Detailed Description

Symbolic analysis data structure for all multifrontal solvers.


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