Matrix.Sqrt Method

Overload List

#SignatureDescription
1TMtxVec SqrtSquare root.
└ indexed: TMtxVec Sqrt(Int32 Index, Int32 Len)
2TMtxVec Sqrt(TMtxVec X)Calculate the square root of all X object elements and store the results in the calling object.
└ indexed: TMtxVec Sqrt(TMtxVec X, Int32 XIndex, Int32 Index, Int32 Len)

Overload 1: TMtxVec Sqrt

Square root.

Result: stored in self (calling object), returns self for chaining

Remarks:

Calculate the square root of all caling object elements in-place.

Examples
Matrix a = new Matrix();
a.SetIt(2, 2, false, new double[] { 1.0, 4.0, 9.0, 16.0 });
a.Sqrt();
Matrix expected = new Matrix();
expected.SetIt(2, 2, false, new double[] { 1.0, 2.0, 3.0, 4.0 });
if (!a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute))
    throw new Exception("Matrix.Sqrt: mismatch");
Matrix a;
a.SetIt(2,2,false,new double[] {1,4,9,16});
a.Sqrt; // a= [1, 2,
//     3, 4]
See Also: Matrix.Sqr

Indexed: TMtxVec Sqrt(Int32 Index, Int32 Len)

Calculate the square root of calling object elements [Index]...[Index+Len-1] in-place.

#NameTypeDescription
1IndexInt32start index
2LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

An exception is raised if array borders are overrun.

Overload 2: TMtxVec Sqrt(TMtxVec X)

Calculate the square root of all X object elements and store the results in the calling object.

#NameTypeDescription
1XTMtxVecsource TVec or TMtx

Result: stored in self (calling object), returns self for chaining

Remarks:

Size and Dew.Math.Matrix.Complex properties of the calling object are adjusted automatically.

Examples
Matrix a = new Matrix();
Matrix x = new Matrix();
x.SetIt(2, 2, false, new double[] { 1.0, 4.0, 9.0, 16.0 });
a.Sqrt(x);
Matrix expected = new Matrix();
expected.SetIt(2, 2, false, new double[] { 1.0, 2.0, 3.0, 4.0 });
if (!a.IsEqual(expected, 1e-10, TCompare.cmpAbsolute))
    throw new Exception("Matrix.Sqrt: mismatch");

Indexed: TMtxVec Sqrt(TMtxVec X, Int32 XIndex, Int32 Index, Int32 Len)

Calculate the square root of X object elements [XIndex]..[XIndex+Len-1]. The results are stored in calling object elements [Index]..[Index+Len-1].

#NameTypeDescription
1XTMtxVecsource TVec or TMtx
2XIndexInt32X start index
3IndexInt32start index
4LenInt32element count

Result: stored in self (calling object), returns self for chaining

Remarks:

Size and Dew.Math.Matrix.Complex properties of calling object are not changed. An exception is raised if array borders are overrun.