Overload List
| # | Signature | Description |
|---|---|---|
| 1 | Matrix AddScaledSqr(TMtx X, TCplx xScale, TMtxVec Y, TCplx yScale) | Result = sqr(X*xScale + Y*yScale), where X is a Matrix |
| 2 | Matrix AddScaledSqr(TMtx X, TMtxVec Y, TCplx yScale) | Result = sqr(X + Y*yScale), where X is a Matrix |
| 3 | Matrix AddScaledSqr(TMtx X, TMtxVec Y, Double yScale) | Result = sqr(X + Y*yScale) when X is a matrix |
| 4 | Matrix AddScaledSqr(TMtx X, Double xScale, TMtxVec Y, Double yScale) | Result = sqr(X*xScale + Y*yScale), when X is a Matrix |
| 5 | Vector AddScaledSqr(TVec X, TCplx xScale, TMtxVec Y, TCplx yScale) | Result = sqr(X*xScale + Y*yScale) |
| 6 | Vector AddScaledSqr(TVec X, TMtxVec Y, TCplx yScale) | Result = sqr(X + Y*yScale) |
| 7 | Vector AddScaledSqr(TVec X, TMtxVec Y, Double yScale) | Result = sqr(X + Y*yScale) |
| 8 | Vector AddScaledSqr(TVec X, Double xScale, TMtxVec Y, Double yScale) | Result = sqr(X*xScale + Y*yScale) |
Overload 1: Matrix AddScaledSqr(TMtx X, TCplx xScale, TMtxVec Y, TCplx yScale)
Compute sqr(X*xScale + Y*yScale), where X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx | source TMtx |
| 2 | xScale | TCplx | scalar |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | yScale | TCplx | scalar |
Returns: Matrix
Overload 2: Matrix AddScaledSqr(TMtx X, TMtxVec Y, TCplx yScale)
Compute sqr(X + Y*yScale), where X is a Matrix
Returns: Matrix
Overload 3: Matrix AddScaledSqr(TMtx X, TMtxVec Y, Double yScale)
Compute sqr(X + Y*yScale) when X is a matrix
Returns: Matrix
Remarks:
The operation does only per-element math.
Overload 4: Matrix AddScaledSqr(TMtx X, Double xScale, TMtxVec Y, Double yScale)
Compute sqr(X*xScale + Y*yScale), when X is a Matrix
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TMtx | source TMtx |
| 2 | xScale | Double | scalar |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | yScale | Double | scalar |
Returns: Matrix
Remarks:
The operation does only per-element math.
Overload 5: Vector AddScaledSqr(TVec X, TCplx xScale, TMtxVec Y, TCplx yScale)
Compute sqr(X*xScale + Y*yScale)
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec | source TVec |
| 2 | xScale | TCplx | scalar |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | yScale | TCplx | scalar |
Returns: Vector
Overload 6: Vector AddScaledSqr(TVec X, TMtxVec Y, TCplx yScale)
Compute sqr(X + Y*yScale)
Returns: Vector
Overload 7: Vector AddScaledSqr(TVec X, TMtxVec Y, Double yScale)
Compute sqr(X + Y*yScale)
Returns: Vector
Remarks:
Computes the square of (X + Y*yScale) without temporary objects.
Examples
using Dew.Math;
using Dew.Math.Units;
namespace Dew.Examples
{
void Example()
{
double yScale = 1.5;
Vector X = (Vector) new double[] { 1, 2, 3, 4 };
Vector Y = (Vector) new double[] { 2, 3, 4, 5 };
Vector A1 = MtxExpr.Sqr(X + Y * yScale);
Vector A2 = AddScaledSqr(X, Y, yScale);
Vector A3 = new Vector();
A3.AddScaledSqr(X, Y, yScale);
if (!A2.IsEqual(A1)) Math387.ERaise("Problem");
if (!A3.IsEqual(A1)) Math387.ERaise("Problem");
}
}
Overload 8: Vector AddScaledSqr(TVec X, Double xScale, TMtxVec Y, Double yScale)
Compute sqr(X*xScale + Y*yScale)
| # | Name | Type | Description |
|---|---|---|---|
| 1 | X | TVec | source TVec |
| 2 | xScale | Double | scalar |
| 3 | Y | TMtxVec | source TVec or TMtx |
| 4 | yScale | Double | scalar |
Returns: Vector
Remarks:
Computes the square of the expression X*xScale + Y*yScale without temporary objects.
Examples
using Dew.Math;
using Dew.Math.Units;
namespace Dew.Examples
{
void Example()
{
double xScale = 1.5, yScale = -1.5;
Vector X = (Vector) new double[] { 1, 2, 3, 4 };
Vector Y = (Vector) new double[] { 2, 3, 4, 5 };
Vector A1 = MtxExpr.Sqr(X * xScale + Y * yScale);
Vector A2 = AddScaledSqr(X, xScale, Y, yScale);
Vector A3 = new Vector();
A3.AddScaledSqr(X, xScale, Y, yScale);
if (!A2.IsEqual(A1)) Math387.ERaise("Problem");
if (!A3.IsEqual(A1)) Math387.ERaise("Problem");
}
}