![]() |
CLA3P v0.3.1
Compact Linear Algebra Parallel Portable Package
|
The property class. More...
Public Member Functions | |
| Property () | |
| Default constructor. | |
| Property (prop_t ptype, uplo_t ftype) | |
| Constructs a property with specified type and fill pattern. | |
| ~Property () | |
| Destructor. | |
| Property (const Property &other) | |
| Copy constructor. | |
| Property & | operator= (const Property &other) |
| Copy assignment operator. | |
| bool | operator== (const Property &other) const |
| Equality comparison operator. | |
| bool | operator!= (const Property &other) const |
| Inequality comparison operator. | |
| void | clear () |
| Resets the property to its default state. | |
| prop_t | type () const |
| Retrieves the property type. | |
| uplo_t | uplo () const |
| Retrieves the matrix fill pattern. | |
| char | cuplo () const |
| Retrieves the matrix fill pattern as a character. | |
| void | switchUplo () |
| Toggles the matrix fill pattern. | |
| std::string | name () const |
| Retrieves the property name. | |
| bool | isValid () const |
| Validates the property type. | |
| bool | isSquare () const |
| Determines if the property requires a square matrix. | |
| bool | isGeneral () const |
| Determines if the property type is general. | |
| bool | isSymmetric () const |
| Determines if the property type is symmetric. | |
| bool | isHermitian () const |
| Determines if the property type is Hermitian. | |
| bool | isTriangular () const |
| Determines if the property type is triangular or trapezoidal. | |
| bool | isSkew () const |
| Determines if the property type is skew-symmetric. | |
| bool | isFull () const |
| Determines if the entire matrix is utilized. | |
| bool | isUpper () const |
| Determines if the upper triangular portion is utilized. | |
| bool | isLower () const |
| Determines if the lower triangular portion is utilized. | |
| Property | transpose () const |
| Computes the transposed property. | |
Static Public Member Functions | |
| static Property | General () |
| Factory method for general property. | |
| static Property | SymmetricUpper () |
| Factory method for upper-triangular symmetric property. | |
| static Property | SymmetricLower () |
| Factory method for lower-triangular symmetric property. | |
| static Property | HermitianUpper () |
| Factory method for upper-triangular Hermitian property. | |
| static Property | HermitianLower () |
| Factory method for lower-triangular Hermitian property. | |
| static Property | TriangularUpper () |
| Factory method for upper-triangular property. | |
| static Property | TriangularLower () |
| Factory method for lower-triangular property. | |
| static Property | SkewUpper () |
| Factory method for upper-triangular skew-symmetric property. | |
| static Property | SkewLower () |
| Factory method for lower-triangular skew-symmetric property. | |
The property class.
Used to define matrix properties.
Constructing a matrix with property can accelerate certain operations, but at the same time imposes equivalent constraints on others.
| cla3p::Property::Property | ( | ) |
Default constructor.
Constructs an empty property with default values.
Constructs a property with specified type and fill pattern.
Constructs a property object with the specified property type and upper/lower fill type.
| [in] | ptype | The property type (general, symmetric, hermitian, triangular, or skew). |
| [in] | ftype | The matrix fill pattern (upper, lower, or full). |
| cla3p::Property::~Property | ( | ) |
Destructor.
Destroys the property object.
| cla3p::Property::Property | ( | const Property & | other | ) |
Copy constructor.
Creates a new property object by copying another property object.
| [in] | other | The property object to copy. |
Copy assignment operator.
Copies the contents of another property object to this property object.
| [in] | other | The property object to copy. |
| bool cla3p::Property::operator== | ( | const Property & | other | ) | const |
Equality comparison operator.
Compares two property objects for equality.
| [in] | other | The property object to compare against. |
true if both properties have identical type and fill pattern, false otherwise. | bool cla3p::Property::operator!= | ( | const Property & | other | ) | const |
Inequality comparison operator.
Compares two property objects for inequality.
| [in] | other | The property object to compare against. |
true if properties differ in type or fill pattern, false otherwise. | void cla3p::Property::clear | ( | ) |
Resets the property to its default state.
Clears all property settings and returns the object to its initial default configuration.
| prop_t cla3p::Property::type | ( | ) | const |
Retrieves the property type.
| uplo_t cla3p::Property::uplo | ( | ) | const |
Retrieves the matrix fill pattern.
| char cla3p::Property::cuplo | ( | ) | const |
Retrieves the matrix fill pattern as a character.
| void cla3p::Property::switchUplo | ( | ) |
Toggles the matrix fill pattern.
Switches between upper and lower fill patterns (upper becomes lower and vice versa). The full fill pattern remains unchanged.
| std::string cla3p::Property::name | ( | ) | const |
Retrieves the property name.
| bool cla3p::Property::isValid | ( | ) | const |
Validates the property type.
true if the property has a valid type, false otherwise. | bool cla3p::Property::isSquare | ( | ) | const |
Determines if the property requires a square matrix.
true if the property necessitates a square matrix structure, false otherwise. | bool cla3p::Property::isGeneral | ( | ) | const |
Determines if the property type is general.
true if the property represents a general matrix, false otherwise. | bool cla3p::Property::isSymmetric | ( | ) | const |
Determines if the property type is symmetric.
true if the property represents a symmetric matrix, false otherwise. | bool cla3p::Property::isHermitian | ( | ) | const |
Determines if the property type is Hermitian.
true if the property represents a Hermitian matrix, false otherwise. | bool cla3p::Property::isTriangular | ( | ) | const |
Determines if the property type is triangular or trapezoidal.
true if the property represents a triangular or trapezoidal matrix, false otherwise. | bool cla3p::Property::isSkew | ( | ) | const |
Determines if the property type is skew-symmetric.
true if the property represents a skew-symmetric matrix, false otherwise. | bool cla3p::Property::isFull | ( | ) | const |
Determines if the entire matrix is utilized.
true if both upper and lower matrix parts are used, false otherwise. | bool cla3p::Property::isUpper | ( | ) | const |
Determines if the upper triangular portion is utilized.
true if the upper part of the matrix is used, false otherwise. | bool cla3p::Property::isLower | ( | ) | const |
Determines if the lower triangular portion is utilized.
true if the lower part of the matrix is used, false otherwise. | Property cla3p::Property::transpose | ( | ) | const |
Computes the transposed property.
Determines the property of the transposed (or conjugate-transposed) matrix.
This operation is applicable to general and triangular matrix types.
|
static |
Factory method for general property.
Creates a property object representing a general matrix with no special structure.
|
static |
Factory method for upper-triangular symmetric property.
Creates a property object representing a symmetric matrix where the upper triangular part is stored and utilized.
|
static |
Factory method for lower-triangular symmetric property.
Creates a property object representing a symmetric matrix where the lower triangular part is stored and utilized.
|
static |
Factory method for upper-triangular Hermitian property.
Creates a property object representing a Hermitian matrix where the upper triangular part is stored and utilized.
|
static |
Factory method for lower-triangular Hermitian property.
Creates a property object representing a Hermitian matrix where the lower triangular part is stored and utilized.
|
static |
Factory method for upper-triangular property.
Creates a property object representing an upper triangular or trapezoidal matrix.
|
static |
Factory method for lower-triangular property.
Creates a property object representing a lower triangular or trapezoidal matrix.
|
static |
Factory method for upper-triangular skew-symmetric property.
Creates a property object representing a skew-symmetric matrix where the upper triangular part is stored and utilized.
|
static |
Factory method for lower-triangular skew-symmetric property.
Creates a property object representing a skew-symmetric matrix where the lower triangular part is stored and utilized.