Power
From NARS2000
Z←{L} f⍣g R | successively applies the function f (or, if there is a Left argument, the function L∘f) to R until the expression Zn g Zn-1 returns a singleton 1. Zn and Zn-1 represent two consecutive applications of f (or L∘f) to R where Z0←R and Zn←f Zn-1 (or Zn←L∘f Zn-1). | ||
Z←{L} f⍣b R | for non-negative integer scalar b, successively applies the function f (or, if there is a Left argument, the function L∘f) to R, b number of times; for a negative integer scalar b, successively applies the inverse of the function f (or, if there is a Left argument, the inverse to the function L∘f), |b number of times |
||
L and R are arbitrary arrays. | |||
In the first case, Zn g Zn-1 must return a Boolean-valued singleton; otherwise a DOMAIN ERROR is signaled. | |||
In the second case, b must be an integer scalar, otherwise a DOMAIN ERROR is signaled. |
For example,
sqrt←{{0.5×⍵+⍺÷⍵}⍣=⍨⍵} ⍝ Calculate square root using Newton's method sqrt 2 1.414213562373095 fib←{⍵,+/¯2↑⍵} ⍝ Calculate a Fibonacci sequence fib⍣15 ⊢ 1 1 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 pow←{⍵=0:,1 ⋄ ⍺+⍡×⍣(⍵-1) ⍺} ⍝ Raise a polynomial to a non-negative integer power 1 ¯1 pow 5 1 ¯5 10 ¯10 5 ¯1 phi←1+∘÷⍣=1 ⍝ Calculate the Golden Ratio phi 1.618033988749894
Inverses
When the right operand to the Power Operator is a negative integer scalar, the inverse of the function left operand is applied to the right argument. If f f⍣¯1 R ←→ R, then f⍣¯1 is a Right Identity Function, which all of the examples below satisfy. If it is also true that f⍣¯1 f R ←→ R, then f⍣¯1 is a Left Identity Function.
At the moment, only a few inverse functions are available as follows:
Function | Meaning of Inverse | Left/Right Identity Function |
L⊥⍣¯1 R | 10⊥⍣¯1 1234567890 1 2 3 4 5 6 7 8 9 0 10⊥10⊥⍣¯1 1234567890 1234567890 10⊥⍣¯1 10⊥1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 |
L and R |
⊥⍣¯1 R | 2⊥⍣¯1 R ⊥⍣¯1 19 1 0 0 1 1 2⊥⊥⍣¯1 19 19 ⊥⍣¯1 2⊥1 0 0 1 1 1 0 0 1 1 |
L and R |
L⊤⍣¯1 R | L⊥R 10 10 10⊤⍣¯1 2 3 4 234 10 10 10⊤10 10 10⊤⍣¯1 2 3 4 2 3 4 10 10 10⊤⍣¯1 10 10 10⊤234 234 |
L and R |
×/⍣¯1 R | πR, that is, factor R into primes ×/⍣¯1 130 2 5 13 ×/×/⍣¯1 130 130 ×/⍣¯1 ×/2 5 13 2 5 13 |
L and R |
π⍣¯1 R | ×/R, that is, multiply together the prime factors in R π⍣¯1 2 5 13 130 ππ⍣¯1 2 5 13 2 5 13 π⍣¯1 π 130 130 |
L and R |
+\[X]⍣¯1 R | ¯2-\[X] R +\⍣¯1 ⍳4 1 1 1 1 +\+\⍣¯1 ⍳4 1 2 3 4 +\⍣¯1+\ ⍳4 1 2 3 4 |
L and R |
¯2-\[X]⍣¯1 R | +\[X] R ¯2-\⍣¯1 4⍴1 1 2 3 4 ¯2-\¯2-\⍣¯1 4⍴1 1 1 1 1 ¯2-\⍣¯1 ¯2-\4⍴1 1 1 1 1 |
L and R |
-\[X]⍣¯1 R | (2-\[X] R)×[X](⍴R)[X]⍴¯1 1 a←?5⍴10 a 10 8 3 2 6 -\⍣¯1 a 10 2 ¯5 1 4 -\-\⍣¯1 a 10 8 3 2 6 -\⍣¯1-\ a 10 8 3 2 6 |
L and R |
÷\[X]⍣¯1 R | (2÷\[X] R)*[X](⍴R)[X]⍴¯1 1 a←?5⍴10 a 10 8 3 2 6 ÷\⍣¯1 a 10 1.25 0.375 1.5 3 ÷\÷\⍣¯1 a 10 8 3 2 6 ÷\⍣¯1÷\ a 10 8 3 2 6 |
L and R |
+∘÷/⍣¯1 R | Display the Continued Fraction expansion of R to at most ⎕PP terms This function is best used on Multiple Precision numbers +∘÷/⍣¯1 449r303 1 2 13 3 1 2 +∘÷/+∘÷/⍣¯1 449r303 449r303 +∘÷/⍣¯1 +∘÷/1 2 13 3 1 2x 1 2 13 3 1 2 |
L and R |
L+∘÷/⍣¯1 R | Display the Continued Fraction expansion of R to at most L terms This function is best used on Multiple Precision numbers phi←1+∘÷⍣=1 ⍝ Phi -- the Golden Ratio 20 +∘÷/⍣¯1 phi 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 20 +∘÷/⍣¯1 √2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 20 +∘÷/⍣¯1 *1x 2 1 2 1 1 4 1 1 6 1 1 8 1 1 10 1 1 12 1 1 20 +∘÷/⍣¯1 ○1x 3 7 15 1 292 1 1 1 2 1 3 1 14 2 1 1 2 2 2 2 +∘÷/35 +∘÷/⍣¯1 ○1x 3.141592653589793238462643383279502884197 ○1x 3.141592653589793238462643383279502884197 4 +∘÷/⍣¯1 +∘÷/○1x 3 7 15 1 +∘÷\4 +∘÷/⍣¯1 'r' ⎕DC ○1x ⍝ Convergents to Pi 3 22r7 333r106 355r113 |
L and R |