Overload List
| # | Signature | Description |
|---|---|---|
| 1 | TMtxVec *Power(double Exponent) const; | Raises base object elements to any power. |
| 2 | TMtxVec *Power(TCplx Exponent) const; | Raises all calling Matrix elements to complex power Exponent in-place. |
| 3 | TMtxVec *Power(double Base, TMtxVec *Exponent) const; | Raises base elements to exponent power. |
| 4 | TMtxVec *Power(TCplx Base, TMtxVec *Exponent) const; | Raises Base complex value to Exponent object values powers and store the results to calling object values. |
| 5 | TMtxVec *Power(TMtxVec *Base, TMtxVec *Exponent) const; | Raises each of Base object elements to corresponding power. |
| 6 | TMtxVec *Power(TMtxVec *Base, TCplx Exponent) const; | Raises each of the Base object elements to complex Exponent power. |
| 7 | TMtxVec *Power(TMtxVec *Base, double Exponent) const; | Raises each of the Base object elements to real Exponent power. |
Overload 1: TMtxVec *Power(double Exponent) const;
Raises base object elements to any power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Exponent | double |
Raises Base calling object elements to any power. The Matrix::IntPower is faster, if Exponent is an integer. Real valued power can handle only positive Exponent. Matrix::IntPower can handle negative exponent also.
Note
To compute a power to the negative exponent in general case or when the base is negative, use the complex version of the function.
Overload 2: TMtxVec *Power(TCplx Exponent) const;
Raises all calling Matrix elements to complex power Exponent in-place.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Exponent | TCplx |
If the calling Matrix is real and has negative elements, the result will be NAN at those entries. To obtain a valid result in this case, extend the calling Matrix to complex with Matrix::ExtendToComplex method. In all real/complex combinations, the Power method will not automatically assume that a number is complex to speed up the computation. Alternatively the user can of course always convert the real numbers to complex before passing them to the Power routine.
Overload 3: TMtxVec *Power(double Base, TMtxVec *Exponent) const;
Raises base elements to exponent power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Base | double | |
| 2 | Exponent | TMtxVec * |
Raises Base value to Exponent object values powers and store the results to calling object values. Size and Matrix::Complex properties of calling object are adjusted automatically.
Overload 4: TMtxVec *Power(TCplx Base, TMtxVec *Exponent) const;
Raises Base complex value to Exponent object values powers and store the results to calling object values.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Base | TCplx | |
| 2 | Exponent | TMtxVec * |
Size and Matrix::Complex properties of calling object are adjusted automatically.
Overload 5: TMtxVec *Power(TMtxVec *Base, TMtxVec *Exponent) const;
Raises each of Base object elements to corresponding power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Base | TMtxVec * | |
| 2 | Exponent | TMtxVec * |
Store the result in Exponenet elements:
Power[i] = Base[i]^Exponent[i]
Size and Matrix::Complex property of calling object are adjusted automatically. An exception is raised if Base and Exponent sizes do not match.
Overload 6: TMtxVec *Power(TMtxVec *Base, TCplx Exponent) const;
Raises each of the Base object elements to complex Exponent power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Base | TMtxVec * | |
| 2 | Exponent | TCplx |
Size and Matrix::Complex properties of calling object are adjusted automatically.
Overload 7: TMtxVec *Power(TMtxVec *Base, double Exponent) const;
Raises each of the Base object elements to real Exponent power.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | Base | TMtxVec * | |
| 2 | Exponent | double |
Size and Matrix::Complex properties of calling object are adjusted automatically.