A templated (N x N) diagonal matrix of objects of <Type>, effectively containing N elements, derived from List. More...
Public Member Functions | |
DiagonalMatrix ()=default | |
Default construct. More... | |
DiagonalMatrix (const DiagonalMatrix &)=default | |
Copy construct. More... | |
DiagonalMatrix & | operator= (const DiagonalMatrix &)=default |
Copy assignment. More... | |
DiagonalMatrix (const label n) | |
Construct empty from size. More... | |
DiagonalMatrix (const label n, const Foam::zero) | |
Construct from size and initialise all elems to zero. More... | |
DiagonalMatrix (const label n, const Type &val) | |
Construct from size and initialise all elems to value. More... | |
template<class Form > | |
DiagonalMatrix (const Matrix< Form, Type > &mat) | |
Construct from the diagonal of a Matrix. More... | |
void | invert () |
Return the matrix inverse into itself if no elem is equal to zero. More... | |
template<class CompOp > | |
List< label > | sortPermutation (CompOp &compare) const |
void | applyPermutation (const List< label > &p) |
template<class CompOp > | |
Foam::List< Foam::label > | sortPermutation (CompOp &compare) const |
![]() | |
constexpr | List () noexcept |
Default construct. More... | |
List (const label len) | |
Construct with given size. More... | |
List (const label len, const Type &val) | |
Construct with given size and value for all elements. More... | |
List (const label len, const Foam::zero) | |
Construct with given size initializing all elements to zero. More... | |
List (const Foam::one, const Type &val) | |
Construct with length=1, copying the value as the only content. More... | |
List (const Foam::one, Type &&val) | |
Construct with length=1, moving the value as the only content. More... | |
List (const Foam::one, const Foam::zero) | |
Construct with length=1, initializing content to zero. More... | |
List (const List< Type > &a) | |
Copy construct from list. More... | |
List (const UList< Type > &a) | |
Copy construct contents from list. More... | |
List (List< Type > &a, bool reuse) | |
Construct as copy or re-use as specified. More... | |
List (const UList< Type > &list, const labelUList &indices) | |
Copy construct subset of list. More... | |
List (const UList< Type > &list, const FixedList< label, N > &indices) | |
Copy construct subset of list. More... | |
List (const FixedList< Type, N > &list) | |
Construct as copy of FixedList<T, N> More... | |
List (const PtrList< Type > &list) | |
Construct as copy of PtrList<T> More... | |
List (const SLList< Type > &list) | |
Construct as copy of SLList<T> More... | |
List (const IndirectListBase< Type, Addr > &list) | |
Construct as copy of IndirectList contents. More... | |
List (std::initializer_list< Type > list) | |
Construct from an initializer list. More... | |
List (List< Type > &&list) | |
Move construct from List. More... | |
List (DynamicList< Type, SizeMin > &&list) | |
Move construct from DynamicList. More... | |
List (SortableList< Type > &&list) | |
Move construct from SortableList. More... | |
List (SLList< Type > &&list) | |
Move construct from SLList. More... | |
List (Istream &is) | |
Construct from Istream. More... | |
autoPtr< List< Type > > | clone () const |
Clone. More... | |
~List () | |
Destructor. More... | |
void | clear () |
Clear the list, i.e. set size to zero. More... | |
void | resize (const label len) |
Adjust allocated size of list. More... | |
void | resize (const label len, const Type &val) |
Adjust allocated size of list and set val for new elements. More... | |
void | resize (const label newLen) |
void | resize_nocopy (const label len) |
Adjust allocated size of list without necessarily. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
void | setSize (const label n, const Type &val) |
Alias for resize() More... | |
void | append (const Type &val) |
Append an element at the end of the list. More... | |
void | append (Type &&val) |
Move append an element at the end of the list. More... | |
void | append (const UList< Type > &list) |
Append a List to the end of this list. More... | |
void | append (const IndirectListBase< Type, Addr > &list) |
Append IndirectList contents at the end of this list. More... | |
label | appendUniq (const Type &val) |
Append an element if not already in the list. More... | |
void | transfer (List< Type > &list) |
void | transfer (DynamicList< Type, SizeMin > &list) |
void | transfer (SortableList< Type > &list) |
Type & | newElmt (const label i) |
void | operator= (const UList< Type > &a) |
Assignment to UList operator. Takes linear time. More... | |
void | operator= (const List< Type > &list) |
Assignment operator. Takes linear time. More... | |
void | operator= (const SLList< Type > &list) |
Assignment to SLList operator. Takes linear time. More... | |
void | operator= (const IndirectListBase< Type, Addr > &list) |
Assignment from IndirectList. Takes linear time. More... | |
void | operator= (const FixedList< Type, N > &list) |
Copy assignment from FixedList. More... | |
void | operator= (std::initializer_list< Type > list) |
Assignment to an initializer list. More... | |
void | operator= (const Type &val) |
Assignment of all entries to the given value. More... | |
void | operator= (const Foam::zero) |
Assignment of all entries to zero. More... | |
void | operator= (List< Type > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (DynamicList< Type, SizeMin > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SortableList< Type > &&list) |
Move assignment. Takes constant time. More... | |
void | operator= (SLList< Type > &&list) |
Move assignment. Takes constant time. More... | |
Istream & | readList (Istream &is) |
Read List from Istream, discarding contents of existing List. More... | |
Istream & | readList (Istream &is) |
Istream & | readList (Istream &is) |
void | shallowCopy (const UList< Type > &)=delete |
No shallowCopy permitted. More... | |
std::enable_if< std::is_same< bool, TypeT >::value, bool >::type | set (const label i, bool val=true) |
A bitSet::set() method for a list of bool. More... | |
Additional Inherited Members | |
![]() | |
typedef SubList< Type > | subList |
Declare type of subList. More... | |
![]() | |
static const List< Type > & | null () |
Return a null List. More... | |
A templated (N x N) diagonal matrix of objects of <Type>, effectively containing N elements, derived from List.
Definition at line 60 of file DiagonalMatrix.H.
|
default |
Default construct.
|
default |
Copy construct.
|
explicit |
Construct empty from size.
Definition at line 34 of file DiagonalMatrix.C.
DiagonalMatrix | ( | const label | n, |
const Foam::zero | |||
) |
Construct from size and initialise all elems to zero.
Definition at line 41 of file DiagonalMatrix.C.
DiagonalMatrix | ( | const label | n, |
const Type & | val | ||
) |
Construct from size and initialise all elems to value.
Definition at line 48 of file DiagonalMatrix.C.
DiagonalMatrix | ( | const Matrix< Form, Type > & | mat | ) |
Construct from the diagonal of a Matrix.
Definition at line 56 of file DiagonalMatrix.C.
|
default |
Copy assignment.
void invert | ( | ) |
Return the matrix inverse into itself if no elem is equal to zero.
Definition at line 73 of file DiagonalMatrix.C.
List<label> sortPermutation | ( | CompOp & | compare | ) | const |
Return a sort permutation labelList according to a given comparison on the diagonal entries
void applyPermutation | ( | const List< label > & | p | ) |
Column-reorder this Matrix according to a given permutation labelList
Definition at line 110 of file DiagonalMatrix.C.
Foam::List<Foam::label> sortPermutation | ( | CompOp & | compare | ) | const |
Definition at line 92 of file DiagonalMatrix.C.