Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dia(2rheolef) [debian man page]

dia(2rheolef)							    rheolef-6.1 						     dia(2rheolef)

NAME
dia - diagonal matrix DESCRIPTION
The class implements a diagonal matrix. A declaration whithout any parametrers correspond to a null size matrix: dia<Float> d; The constructor can be invocated whith a ownership parameter (see distributor(2)): dia<Float> d(ownership); or an initialiser, either a vector (see vec(2)): dia<Float> d(v); or a csr matrix (see csr(2)): dia<Float> d(a); The conversion from dia to vec or csr is explicit. When a diagonal matrix is constructed from a csr matrix, the definition of the diagonal of matrix is @emph{always} a vector of size row_ownership which contains the elements in rows 1 to nrow of the matrix that are contained in the diagonal. If the diagonal element falls outside the matrix, i.e. ncol < nrow then it is defined as a zero entry. PRECONDITIONER INTERFACE
The class presents a preconditioner interface, as the solver(2), so that it can be used as preconditioner to the iterative solvers suite (see pcg(4)). IMPLEMENTATION
template<class T, class M = rheo_default_memory_model> class dia : public vec<T,M> { public: // typedefs: typedef typename vec<T,M>::size_type size_type; typedef typename vec<T,M>::iterator iterator; typedef typename vec<T,M>::const_iterator const_iterator; // allocators/deallocators: explicit dia (const distributor& ownership = distributor(), const T& init_val = std::numeric_limits<T>::max()); explicit dia (const vec<T,M>& u); explicit dia (const csr<T,M>& a); dia<T,M>& operator= (const T& lambda); // preconditionner interface: solves d*x=b vec<T,M> solve (const vec<T,M>& b) const; vec<T,M> trans_solve (const vec<T,M>& b) const; }; template <class T, class M> dia<T,M> operator/ (const T& lambda, const dia<T,M>& d); template <class T, class M> vec<T,M> operator* (const dia<T,M>& d, const vec<T,M>& x); SEE ALSO
distributor(2), vec(2), csr(2), solver(2), pcg(4) rheolef-6.1 rheolef-6.1 dia(2rheolef)

Check Out this Related Man Page

distributor(2rheolef)						    rheolef-6.1 					     distributor(2rheolef)

NAME
distributor - data distribution table (rheolef-6.1) SYNOPSYS
Used by "array"(1), "asr"(1) and "csr"(1). and such classes that distribute data as chunk. IMPLEMENTATION
class distributor : public Vector<std::allocator<int>::size_type> { public: // typedefs: typedef std::allocator<int>::size_type size_type; typedef Vector<size_type> _base; typedef _base::iterator iterator; typedef _base::const_iterator const_iterator; typedef int tag_type; typedef communicator communicator_type; // constants: static const size_type decide = size_type(-1); // allocators/deallocators: distributor( size_type dis_size = 0, const communicator_type& c = communicator_type(), size_type loc_size = decide); distributor(const distributor&); ~distributor(); void resize( size_type dis_size = 0, const communicator_type& c = communicator_type(), size_type loc_size = decide); // accessors: const communicator_type& comm() const; /// global and local sizes size_type dis_size () const; /// current process id size_type process () const; /// number of processes size_type n_process () const; /// find iproc associated to a global index dis_i: CPU=log(nproc) size_type find_owner (size_type dis_i) const; /// global index range and local size owned by ip-th process size_type first_index (size_type ip) const; size_type last_index (size_type ip) const; size_type size (size_type ip) const; /// global index range and local size owned by current process size_type first_index () const; size_type last_index () const; size_type size () const; /// true when dis_i in [first_index(ip):last_index(ip)[ bool is_owned (size_type dis_i, size_type ip) const; // the same with ip=current process bool is_owned (size_type dis_i) const; /// returns a new tag static tag_type get_new_tag(); // comparators: bool operator== (const distributor&) const; bool operator!= (const distributor&) const; // data: protected: communicator_type _comm; }; rheolef-6.1 rheolef-6.1 distributor(2rheolef)
Man Page