System Function DC: Difference between revisions

From NARS2000
Jump to navigationJump to search
Line 5: Line 5:
{{BoxLine |<apll>R</apll> is a numeric array.}}
{{BoxLine |<apll>R</apll> is a numeric array.}}
{{BoxEnd  |
{{BoxEnd  |
<ul><li>For simple numeric (a.k.a. Hypercomplex 1-dimensional &mdash; BOOL, INT, APA, FLOAT, RAT, or VFP) <apll>R</apll> where the number of columns of <apll>R</apll> (call that <apll>NC</apll>) is <apll>1</apll>, <apll>2</apll>, <apll>4</apll>, or <apll>8</apll>, <apll>Z</apll> is the corresponding Hypercomplex array whose Hypercomplex dimension is the same as the number of columns of <apll>R</apll>, and whose shape is <apll>¯1↓⍴R</apll>.  That is, the values in the last coordinate of <apll>R</apll> are treated as the coefficients of a Hypercomplex number and <apll>Z</apll> is the corresponding Hypercomplex number.</li>
<ul><li>For simple numeric (a.k.a. Hypercomplex 1-dimensional &mdash; BOOL, INT, APA, FLOAT, RAT, or VFP) <apll>R</apll> where the number of columns of <apll>R</apll> (call that <apll>NC</apll>) is <apll>1</apll>, <apll>2</apll>, <apll>4</apll>, or <apll>8</apll>, <apll>Z</apll> is the corresponding Hypercomplex array whose Hypercomplex dimension is the same as the number of columns of <apll>R</apll>, and whose shape is <apll>¯1↓⍴R</apll>.  That is, the values in the last coordinate of <apll>R</apll> are treated as the coefficients of a Hypercomplex number and <apll>Z</apll> is the corresponding Hypercomplex number. '''This capability has been replaced by the [[Condense]] function (<apll>&lt;R</apll>).'''</li>
<li>For Hypercomplex 2-, 4-, or 8-dimensional <apll>R</apll>, <apll>Z</apll> is the corresponding simple array (INT, FLOAT, RAT, or VFP) with a new coordinate on the right consisting of the coefficients of the Hypercomplex numbers in <apll>R</apll>, and whose shape is <apll>(⍴R),NC</apll>.  That is, <apll>Z</apll> contains the coefficients of the Hypercomplex number <apll>R</apll>.</li></ul>}}
<li>For Hypercomplex 2-, 4-, or 8-dimensional <apll>R</apll>, <apll>Z</apll> is the corresponding simple array (INT, FLOAT, RAT, or VFP) with a new coordinate on the right consisting of the coefficients of the Hypercomplex numbers in <apll>R</apll>, and whose shape is <apll>(⍴R),NC</apll>.  That is, <apll>Z</apll> contains the coefficients of the Hypercomplex number <apll>R</apll>. '''This capability has been replaced by the [[Dilate]] function (<apll>&gt;R</apll>).'''</li></ul>}}
<br />
<br />
<br />
<br />

Revision as of 17:33, 9 April 2017

This function is available in both monadic and dyadic forms.

Monadic Function

Z←⎕DC R converts R between the coefficients of a Hypercomplex number and the corresponding Hypercomplex number.
R is a numeric array.
  • For simple numeric (a.k.a. Hypercomplex 1-dimensional — BOOL, INT, APA, FLOAT, RAT, or VFP) R where the number of columns of R (call that NC) is 1, 2, 4, or 8, Z is the corresponding Hypercomplex array whose Hypercomplex dimension is the same as the number of columns of R, and whose shape is ¯1↓⍴R. That is, the values in the last coordinate of R are treated as the coefficients of a Hypercomplex number and Z is the corresponding Hypercomplex number. This capability has been replaced by the Condense function (<R).
  • For Hypercomplex 2-, 4-, or 8-dimensional R, Z is the corresponding simple array (INT, FLOAT, RAT, or VFP) with a new coordinate on the right consisting of the coefficients of the Hypercomplex numbers in R, and whose shape is (⍴R),NC. That is, Z contains the coefficients of the Hypercomplex number R. This capability has been replaced by the Dilate function (>R).



For example,

      ⎕←a←⎕DC 4 2⍴1 0 ¯1 0 0 1 0 ¯1
1 ¯1 0i1 0i¯1      ⍝
The four units for Complex numbers
      ⎕DC a
 1  0
¯1  0
 0  1
 0 ¯1


Dyadic Function

Z←L ⎕DC R converts the coefficients of R to the datatype indicated by L.
R is a numeric array.
L is a character scalar or one-element vector datatype ('I', 'F', 'R', or 'V') indicating the datatype to which the coefficients should be converted.
Z is R where all of the coefficients of each of the values are converted to the datatype indicated by L. The shape of Z is the same as that of R.


For example,

      'R' ⎕DC 1.5i3
3r2i3
      'R' ⎕DC 1.1i3
2476979795053773r2251799813685248i3
      'F' ⎕DC 3r2 2476979795053773r2251799813685248
1.5 1.1



Note: ⎕DC is available as both a monadic and dyadic form system function, you cannot assign a value to it.

System Variables (A value may be assigned to these except for ⎕DM)
ALX CT DM DT ELX FC FEATURE FPC IC IO
LR LX PP PR PW RL SA WSID
Niladic System Functions (a value cannot be assigned to these)
A AV EM ET LC NNAMES NNUMS SI SYSID SYSVER
T TC TCBEL TCBS TCESC TCFF TCHT TCLF TCNL TCNUL
TS WA
Monadic or dyadic system functions (a value cannot be assigned to these)
AT CR DC DFT DL DR EA EC ERROR ES
EX FMT FX MF NAPPEND NC NCREATE NERASE NINFO NL
NLOCK NREAD NRENAME NREPLACE NRESIZE NSIZE NTIE NUNTIE STOP TF
TRACE UCS VR
Note that quad functions and variables (except for the ⎕A family of functions) are case insensitive


See Also
System Commands System Variables and Functions Operators


Keyboard
Alt+Shift
Alt ¨ ¯ < > × ÷
Shift ~ ! @ # $ % ^ & * ( ) _ +
Key ` 1 2 3 4 5 6 7 8 9 0 - =
Alt+Shift
Alt ? § π
Shift Q W E R T Y U I O P { } |
Key q w e r t y u i o p [ ] \
Alt+Shift
Alt
Shift A S D F G H J K L : "
Key a s d f g h j k l ; '
Alt+Shift χ
Alt
Shift Z X C V B N M < > ?
Key z x c v b n m , . /
NARS 2000 Lang
Tool
Bar
+ - × ÷ * ! ? |
< = >
~ § π .. ,
/ \ ¨ .
_ ¯
Second Row i j k i j k l g p r v x