14 private readonly
int rows;
15 private readonly
int columns;
31 public int Rows => this.rows;
45 if (this.zero is
null)
47 Complex[,] v =
new Complex[this.rows, this.columns];
50 for (y = 0; y < this.rows; y++)
52 for (x = 0; x < this.columns; x++)
53 v[y, x] = Complex.
Zero;
68 get {
return this.columns == 1 && this.rows == 1; }
79 return M.Rows == this.rows && M.Columns == this.columns;
89 public override bool Equals(
object obj)
91 return (obj is
ComplexMatrices S && S.rows ==
this.rows && S.columns ==
this.columns);
100 return this.rows.GetHashCode() ^ (this.columns.GetHashCode() << 16);
Base class for all types of elements.
Base class for all types of rings.
Pseudo-ring of Complex-valued matrices.
int Columns
Number of columns.
override IAbelianGroupElement Zero
Returns the zero element of the group.
override int GetHashCode()
Calculates a hash code of the element.
override bool Contains(IElement Element)
Checks if the set contains an element.
override bool Equals(object obj)
Compares the element to another.
override bool IsCommutative
If the ring * operator is commutative or not.
ComplexMatrices(int Rows, int Columns)
Pseudo-ring of Complex-valued matrices.
Basic interface for all types of abelian group elements.
IAbelianGroupElement Zero
Returns the zero element of the group.
Basic interface for all types of elements.