# frac_pow: Evaluate x^(a/b) and |x|^(a/b) with integer a and b with... In genscore: Generalized Score Matching Estimators

## Description

Evaluate x^(a/b) and |x|^(a/b) with integer a and b with extension to conventional operations (listed under details) that would otherwise result in `NaN`.

## Usage

 `1` ```frac_pow(x, a, b, abs) ```

## Arguments

 `x` A number or a vector of numbers. `a` An integer. `b` An integer. `abs` TRUE or FALSE.

## Details

Replace `x` by `abs(x)` below if `abs == TRUE`. If `a == 0 && b == 0`, returns `log(x)`. If `a != 0 && b == 0`, returns `exp(a*x)`. Otherwise, for `b != 0`, evaluates `x^(a/b)` with the following extensions. `0^0` evaluates to `1`. If `x < 0`, returns `(-1)^a * |x|^(a/b)` if `b` is odd, or `NaN` otherwise. If `x == 0 && a < 0`, returns `NaN`.

## Value

A vector of numbers of the same size as `x`. See details.

## Examples

 ```1 2 3 4 5 6``` ```frac_pow(-5:5, 3, 2, TRUE) - abs(-5:5)^(3/2) frac_pow(-5:5, 5, 3, FALSE) - sign(-5:5)^5*abs(-5:5)^(5/3) frac_pow(-5:5, 2, 3, FALSE) - ((-5:5)^2)^(1/3) frac_pow(c(-5:-1,1:5), 0, 0, TRUE) - log(abs(c(-5:-1,1:5))) frac_pow(-5:5, 0, 1, FALSE) - 1 frac_pow(-5:5, 3, 0, FALSE) - exp(3*-5:5) ```

genscore documentation built on April 28, 2020, 1:06 a.m.