This module relates to the nilpotent matrix used by SMG2S. More...
Classes | |
class | Nilpotent< S > |
A class which determines the information of a nilpotent matrix. More... | |
Functions | |
Nilpotent< S >::Nilpotent (S nbOne, S size) | |
A constructor of class `Nilpotent`. More... | |
Nilpotent< S >::Nilpotent (S nbOne, S diag, S size) | |
A constructor of class `Nilpotent`. More... | |
Nilpotent< S >::Nilpotent (std::vector< S > nilpvec, S size) | |
A constructor of class `Nilpotent`. More... | |
Nilpotent< S >::Nilpotent (std::vector< S > nilpvec, S diag, S size) | |
A constructor of class `Nilpotent`. More... | |
S | Nilpotent< S >::computeDegree (std::vector< S > nilpvec) |
compute the degree of a nilpotent with its off-diagonal entries stored in a vector `nilpvec`. More... | |
void | Nilpotent< S >::show () |
Display the information of a nilpotent matrix. More... | |
Nilpotent< S >::~Nilpotent () | |
A destructor of class `Nilpotent`. | |
This module relates to the nilpotent matrix used by SMG2S.
S Nilpotent< S >::computeDegree | ( | std::vector< S > | nilpvec | ) |
compute the degree of a nilpotent with its off-diagonal entries stored in a vector `nilpvec`.
This is a member function of class `Nilpotent`, which computes the degree of a nilpotent with its off-diagonal entries stored in a vector `nilpvec`.
[in] | nilpvec | user provided vector |
A constructor of class `Nilpotent`.
This is a constructor of class `Nilpotent`. With this constructor, the nilpotent has single off-diagonal with index `diag`. On this diagonal, the entries starts with a number `k` of continuous `1`, in which `k` is randomly generated as an integer between `0` and `nbOne`. Then a new `k` is re-generated, for a continuous `k` of zero-entries.
In this pattern, the nilpotency is not trivial and it can be computed by Nilpotent<S>::computeDegree.
[in] | nbOne | determines the maximum lengths of continous `1` and `0` on the off-diagonal. The lengths are randomly generated between `0` and `nbOne`, step by step. |
[in] | diag | offset of the single off-diagonal of nilpotent matrix |
[in] | size | size of nilpotent matrix |
A constructor of class `Nilpotent`.
This is a constructor of class `Nilpotent`. With this constructor, the nilpotent has single off-diagonal with index `1`. On this diagonal, the entries starts with `nbOne` number of continuous `1`, then one single entry to be `0`, then `nbOne` number of continuous `1`. The pattern repeats until to the end.
In this pattern, the nilpotency is easy to be determined as .
[in] | nbOne | number of continuous `1` on the single off-diagonal |
[in] | size | size of nilpotent matrix |
A constructor of class `Nilpotent`.
This is a constructor of class `Nilpotent`. It determines a nilpotent with user provided vector `nilpvec`, and set it onto the off-diagonal indexing `diag`.
In this pattern, the nilpotency is not trivial and it can be computed by Nilpotent<S>::computeDegree.
[in] | nilpvec | user provided vector |
[in] | diag | offset of the single off-diagonal of nilpotent matrix |
[in] | size | size of nilpotent matrix |
A constructor of class `Nilpotent`.
This is a constructor of class `Nilpotent`. It determines a nilpotent with user provided vector `nilpvec`, and set it onto the off-diagonal indexing `1`.
In this pattern, the nilpotency is not trivial and it can be computed by Nilpotent<S>::computeDegree.
[in] | nilpvec | user provided vector |
[in] | size | size of nilpotent matrix |
void Nilpotent< S >::show |
Display the information of a nilpotent matrix.
print Nilpotent<S>::probSize, Nilpotent<S>::degree, Nilpotent<S>::offset, and Nilpotent<S>::indOfZeros