Overload List
| # | Signature | Description |
|---|---|---|
| 1 | Matrix MulElem(TMtx X, TMtxVec Y, TCplx Z) | Result = X*Y*zScalar, where X is a Matrix |
| 2 | Matrix MulElem(TMtx X, TMtxVec Y, TMtxVec Z) | Result = X*Y*Z, when X is a Matrix |
| 3 | Matrix MulElem(TMtx X, TMtxVec Y, Double Z) | Result = X*Y*zScalar, when X is a Matrix |
| 4 | Vector MulElem(TVec X, TMtxVec Y, TCplx Z) | Result = X*Y*zScalar |
| 5 | Vector MulElem(TVec X, TMtxVec Y, TMtxVec Z) | Result = X*Y*Z |
| 6 | Vector MulElem(TVec X, TMtxVec Y, Double Z) | Result = X*Y*zScalar |
Overload 1: Matrix MulElem(TMtx X, TMtxVec Y, TCplx Z)
Compute X*Y*zScalar, where X is a Matrix
Returns: Matrix
Overload 2: Matrix MulElem(TMtx X, TMtxVec Y, TMtxVec Z)
Compute X*Y*Z, when X is a Matrix
Returns: Matrix
Overload 3: Matrix MulElem(TMtx X, TMtxVec Y, Double Z)
Compute X*Y*zScalar, when X is a Matrix
Returns: Matrix
Remarks:
The operation does only per-element math.
Overload 4: Vector MulElem(TVec X, TMtxVec Y, TCplx Z)
Compute X*Y*zScalar
Returns: Vector
Overload 5: Vector MulElem(TVec X, TMtxVec Y, TMtxVec Z)
Compute X*Y*Z
Returns: Vector
Remarks:
Computes the product X*Y*Z without temporary objects.
Examples
using Dew.Math;
using Dew.Math.Units;
namespace Dew.Examples
{
void Example()
{
Vector X = (Vector) new double[] { 1, 2, 3, 4 };
Vector Y = (Vector) new double[] { 2, 3, 4, 5 };
Vector Z = (Vector) new double[] { 3, 4, 5, 6 };
Vector A1 = X * Y * Z;
Vector A2 = MulElem(X, Y, Z);
Vector A3 = new Vector();
A3.Mul(X, Y, Z);
if (!A2.IsEqual(A1)) Math387.ERaise("Problem");
if (!A3.IsEqual(A1)) Math387.ERaise("Problem");
}
}
Overload 6: Vector MulElem(TVec X, TMtxVec Y, Double Z)
Compute X*Y*zScalar
Returns: Vector
Remarks:
Computes the product of X and Y multiplied by the scalar zScalar without temporary objects.
Examples
using Dew.Math;
using Dew.Math.Units;
namespace Dew.Examples
{
void Example()
{
double zScalar = 2.0;
Vector X = (Vector) new double[] { 1, 2, 3, 4 };
Vector Y = (Vector) new double[] { 2, 3, 4, 5 };
Vector A1 = (X * Y) * zScalar;
Vector A2 = MulElem(X, Y, zScalar);
Vector A3 = new Vector();
A3.Mul(X, Y, zScalar);
if (!A2.IsEqual(A1)) Math387.ERaise("Problem");
if (!A3.IsEqual(A1)) Math387.ERaise("Problem");
}
}