Annotation of loncom/html/adm/help/tex/Problem_LON-CAPA_Functions.tex, revision 1.1
1.1 ! bowersj2 1: \label{Problem_LON-CAPA_Functions}
! 2:
! 3: \begin{longtable}{|p{8.5cm}|p{8.5cm}|}
! 4: \hline
! 5: \textbf{LON-CAPA Function }
! 6: &\textbf{Description }
! 7: \endhead
! 8: \hline
! 9:
! 10: \&sin(\$x), \&cos(\$x), \&tan(\$x) & Trigonometric functions where x is in radians. \$x can be a pure number, i.e., you can call \&sin(3.1415) \\
! 11: \hline
! 12:
! 13: \&asin(\$x), \&acos(\$x), \&atan(\$x), \&atan2(\$y,\$x) & Inverse trigonometric functions. Return value is in radians. For asin and acos the value of x must be between -1 and 1. The atan2 returns a value between -pi and pi the sign of which is determined by y. \$x and \$y can be pure numbers \\
! 14: \hline
! 15:
! 16: \&log(\$x), \&log10(\$x) & Natural and base-10 logarithm. \$x can be a pure number \\
! 17: \hline
! 18:
! 19: \&exp(\$x), \&pow(\$x,\$y), \&sqrt(\$x) & Exponential, power and square root, i.e.,ex, xy and /x. \$x and \$y can be pure numbers \\
! 20: \hline
! 21:
! 22: \&abs(\$x), \&sgn(\$x) & Abs takes the absolute value of x while sgn(x) returns 1, 0 or -1 depending on the value of x. For x$>$0, sgn(x) = 1, for x=0, sgn(x) = 0 and for x$<$0, sgn(x) = -1. \$x can be a pure number \\
! 23: \hline
! 24:
! 25: \&erf(\$x), \&erfc(\$x) & Error function. erf = 2/sqrt(pi) integral (0,x) et-sq and \emph{ erfx(x)}
! 26: = 1.0 - \emph{erf(x)}
! 27: . \$x can be a pure number \\
! 28: \hline
! 29:
! 30: \&ceil(\$x), \&floor(\$x) & Ceil function returns an integer rounded up whereas floor function returns and integer rounded down. If x is an integer than it returns the value of the integer. \$x can be a pure number \\
! 31: \hline
! 32:
! 33: \&min(...), \&max(...) & Returns the minimum/ maximum value of a list of arguments if the arguments are numbers. If the arguments are strings then it returns a string sorted according to the ASCII codes \\
! 34: \hline
! 35:
! 36: \&factorial(\$n) & Argument (n) must be an integer else it will round down. The largest value for n is 170. \$n can be a pure number \\
! 37: \hline
! 38:
! 39: \$N\%\$M & N and M are integers and returns the remainder (in integer) of N/M. \$N and \$M can be pure numbers \\
! 40: \hline
! 41:
! 42: \&sinh(\$x), \&cosh(\$x), \&tanh(\$x) & Hyperbolic functions. \$x can be a pure number \\
! 43: \hline
! 44:
! 45: \&asinh(\$x), \&acosh(\$x), \&atanh(\$x) & Inverse hyperbolic functions. \$x can be a pure number \\
! 46: \hline
! 47:
! 48: \&format(\$x,''nn'') & Display or format \$x as nn where nn is nF or nE and n is an integer. Also supports the first character being a \$, it thjen will format the result with a call to \&dollarformat() described below. \\
! 49: \hline
! 50:
! 51: \&prettyprint(\$x,''nn'') & Display or format \$x as nn where nn is nF or nE and n is an integer. Also supports the first character being a \$, it then will format the result with a a call to \&dollarformat() described below. In E mode it will attempt to generate a pretty x10\^{}3 rather than a E3 following the number \\
! 52: \hline
! 53:
! 54: \&dollarformat(\$x & Reformats \$x to have a \$ (or $\backslash$\$ if in tex mode) and to have , grouping thousands. \\
! 55: \hline
! 56:
! 57: \&roundto(\$x,\$n) & Rounds a real number to n decimal points. \$x and \$n can be pure numbers \\
! 58: \hline
! 59:
! 60: \&web(``a'',''b'',''c'') or \&web(\$a,\$b,\$c) & Returns either a, b or c depending on the output medium. a is for plain ASCII, b for tex output and c for html output \\
! 61: \hline
! 62:
! 63: \&html(``a'') or \&html(\$a) & Output only if the output mode chosen is in html format \\
! 64: \hline
! 65:
! 66: \&j0(\$x), \&j1(\$x), \&jn(\$m,\$x), \&jv(\$y,\$x) & Bessel functions of the first kind with orders 0, 1 and m respectively. For jn(m,x), m must be an integer whereas for jv(y,x), y is real. \$x can be a pure number. \$m must be an integer and can be a pure integer number. \$y can be a pure real number \\
! 67: \hline
! 68:
! 69: \&y0(\$x), \&y1(\$x), \&yn(\$m,\$x), \&yv(\$y,\$x) & Bessel functions of the second kind with orders 0, 1 and m respectively. For yn(m,x), m must be an integer whereas for yv(y,x), y is real. \$x can be a pure number. \$m must be an integer and can be a pure integer number. \$y can be a pure real number \\
! 70: \hline
! 71:
! 72: \&random(\$l,\$u,\$d) & Returns a uniformly distributed random number between the lower bound, l and upper bound, u in steps of d. \$l, \$u and \$d can be pure numbers \\
! 73: \hline
! 74:
! 75: \&choose(\$i,...) & Choose the ith item from the argument list. i must be an integer greater than 0 and the value of i should not exceed the number of items. \$i can be a pure integer \\
! 76: \hline
! 77:
! 78: \parbox{6.49cm}{
! 79: Option 1 - \&map(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) or !!
! 80: Option 2 - \&map(\$seed,$\backslash$@mappedArray,[\$a,\$b,\$c,\$d]) !!
! 81: Option 3 - @mappedArray = \&map(\$seed,[\$a,\$b,\$c,\$d]) !!
! 82: Option 4 - (\$w,\$x,\$y,\$z) = \&map(\$seed,$\backslash$@a) !!
! 83: where \$a='A'!!
! 84: \$b='B'!!
! 85: \$c='B'!!
! 86: \$d='B'!!
! 87: \$w, \$x, \$y, and \$z are variables } & Assigns to the variables \$w, \$x, \$y and \$z the values of the \$a, \$b, \$c and \$c (A, B, C and D). The precise value for \$w .. depends on the seed. (Option 1 of calling map). In option 2, the values of \$a, \$b .. are mapped into the array, @mappedArray. The two options illustrate the different grouping. Options 3 and 4 give a consistent way (with other functions) of mapping the items. For each option, the group can be passed as an array, for example, [\$a,\$b,\$c,\$d] =$>$ $\backslash$@a. \\
! 88: \hline
! 89:
! 90: \parbox{6.49cm}{Option 1 - \&rmap(\$seed,[$\backslash$\$w,$\backslash$\$x,$\backslash$\$y,$\backslash$\$z],[\$a,\$b,\$c,\$d]) or !!
! 91: Option 2 - \&rmap(\$seed,$\backslash$@rmappedArray,[\$a,\$b,\$c,\$d]) !!
! 92: Option 3 - @rmapped\_array = \&rmap(\$seed,[\$a,\$b,\$c,\$d]) !!
! 93: Option 4 - (\$w,\$x,\$y,\$z) = \&rmap(\$seed,$\backslash$@a) !!
! 94: where \$a='A'!!
! 95: \$b='B'!!
! 96: \$c='B'!!
! 97: \$d='B'!!
! 98: \$w, \$x, \$y, and \$z are variables } & The rmap functions does the reverse action of map if the same seed is used in calling map and rmap. \\
! 99: \hline
! 100:
! 101: \$a=\&xmlparse(\$string) & Runs the internal parser over the argument parsing for display. \textbf{Warning}
! 102: This will result in different strings in different targets. Don't use the results of this function as an answer. \\
! 103: \hline
! 104:
! 105: \&tex(\$a,\$b), \&tex(``a'',''b'') & Returns a if the output mode is in tex otherwise returns b \\
! 106: \hline
! 107:
! 108: \&var\_in\_tex(\$a) & Equivalent to tex(``a'',''``) \\
! 109: \hline
! 110:
! 111: \&to\_string(\$x), \&to\_string(\$x,\$y) & If x is an integer, returns a string. If x is real than the output is a string with format given by y. For example, if x = 12.3456, \&to\_string(x,''.3F'') = 12.345 and \&to\_string(x,''.3E'') = 1.234E+01. \\
! 112: \hline
! 113:
! 114: \&class(), \§ion() & Returns null string, class descriptive name, section number, set number and null string. \\
! 115: \hline
! 116:
! 117: \&name(), \&student\_number() & Return the full name in the following format: lastname, firstname initial. Student\_number returns the student 9-alphanumeric string. If undefined, the functions return null. \\
! 118: \hline
! 119:
! 120: \&open\_date(), \&due\_date(), \&answer\_date() & Problem open date, due date and answer date. The time is also included in 24-hr format. \\
! 121: \hline
! 122:
! 123: Not implemented & Get and set the random seed. \\
! 124: \hline
! 125:
! 126: \&sub\_string(\$a,\$b,\$c)
! 127: perl substr function. However, note the differences & Retrieve a portion of string a starting from b and length c. For example, \$a = ``Welcome to LON-CAPA''; \$result=\&sub\_string(\$a,4,4); then \$result is ``come'' \\
! 128: \hline
! 129:
! 130: @arrayname
! 131: Array is intrinsic in perl. To access a specific element use \$arrayname[\$n] where \$n is the \$n+1 element since the array count starts from 0 & ``xx'' can be a variable or a calculation. \\
! 132: \hline
! 133:
! 134: @B=\&array\_moments(@A) & Evaluates the moments of an array A and place the result in array B[i] where i = 0 to 4. The contents of B are as follows: B[0] = number of elements, B[1] = mean, B[2] = variance, B[3] = skewness and B[4] = kurtosis. \\
! 135: \hline
! 136:
! 137: \&min(@Name), \&max(@Name) & In LON-CAPA to find the maximum value of an array, use \&max(@arrayname) and to find the minimum value of an array, use \&min(@arrayname) \\
! 138: \hline
! 139:
! 140: undef @name & To destroy the contents of an array, use \\
! 141: \hline
! 142:
! 143: @return\_array=\&random\_normal (\$item\_cnt,\$seed,\$av,\$std\_dev) & Generate \$item\_cnt deviates of normal distribution of average \$av and standard deviation \$std\_dev. The distribution is generated from seed \$seed \\
! 144: \hline
! 145:
! 146: @return\_array=\&random\_beta (\$item\_cnt,\$seed,\$aa,\$bb)
! 147: NOTE: Both \$aa and \$bb MUST be greater than 1.0E-37. & Generate \$item\_cnt deviates of beta distribution. The density of beta is: X\^{}(\$aa-1) *(1-X)\^{}(\$bb-1) /B(\$aa,\$bb) for 0$<$X$<$1. \\
! 148: \hline
! 149:
! 150: @return\_array=\&random\_gamma (\$item\_cnt,\$seed,\$a,\$r)
! 151: NOTE: Both \$a and \$r MUST be positive. & Generate \$item\_cnt deviates of gamma distribution. The density of gamma is: (\$a**\$r)/gamma(\$r) * X**(\$r-1) * exp(-\$a*X). \\
! 152: \hline
! 153:
! 154: @return\_array=\&random\_exponential (\$item\_cnt,\$seed,\$av)
! 155: NOTE: \$av MUST be non-negative. & Generate \$item\_cnt deviates of exponential distribution. \\
! 156: \hline
! 157:
! 158: @return\_array=\&random\_poisson (\$item\_cnt,\$seed,\$mu)
! 159: NOTE: \$mu MUST be non-negative. & Generate \$item\_cnt deviates of poisson distribution. \\
! 160: \hline
! 161:
! 162: @return\_array=\&random\_chi (\$item\_cnt,\$seed,\$df)
! 163: NOTE: \$df MUST be positive. & Generate \$item\_cnt deviates of chi\_square distribution with \$df degrees of freedom. \\
! 164: \hline
! 165:
! 166: @return\_array=\&random\_noncentral\_chi (\$item\_cnt,\$seed,\$df,\$nonc)
! 167: NOTE: \$df MUST be at least 1 and \$nonc MUST be non-negative. & Generate \$item\_cnt deviates of noncentral\_chi\_square distribution with \$df degrees of freedom and noncentrality parameter \$nonc. \\
! 168: \hline
! 169:
! 170: @return\_array=\&random\_f (\$item\_cnt,\$seed,\$dfn,\$dfd)
! 171: NOTE: Both \$dfn and \$dfd MUST be positive. & Generate \$item\_cnt deviates of F (variance ratio) distribution with degrees of freedom \$dfn (numerator) and \$dfd (denominator). \\
! 172: \hline
! 173:
! 174: @return\_array=\&random\_noncentral\_f (\$item\_cnt,\$seed,\$dfn,\$dfd,\$nonc)
! 175: NOTE: \$dfn must be at least 1, \$dfd MUST be positive, and \$nonc must be non-negative. & Generate \$item\_cnt deviates of noncentral F (variance ratio) distribution with degrees of freedom \$dfn (numerator) and \$dfd (denominator). \$nonc is the noncentrality parameter. \\
! 176: \hline
! 177:
! 178: @return\_array=\&random\_multivariate\_normal (\$item\_cnt,\$seed,$\backslash$@mean,$\backslash$@covar)
! 179: NOTE: @mean should be of length p array of real numbers. @covar should be a length p array of references to length p arrays of real numbers (i.e. a p by p matrix. & Generate \$item\_cnt deviates of multivariate\_normal distribution with mean vector @mean and variance-covariance matrix. \\
! 180: \hline
! 181:
! 182: @return\_array=\&random\_multinomial (\$item\_cnt,\$seed,@p)
! 183: NOTE: \$item\_cnt is rounded with int() and the result must be non-negative. The number of elements in @p must be at least 2. & Returns single observation from multinomial distribution with \$item\_cnt events classified into as many categories as the length of @p. The probability of an event being classified into category i is given by ith element of @p. The observation is an array with length equal to @p, so when called in a scalar context it returns the length of @p. The sum of the elements of the obervation is equal to \$item\_cnt. \\
! 184: \hline
! 185:
! 186: @return\_array=\&random\_permutation (\$seed,@array) & Returns @array randomly permuted. \\
! 187: \hline
! 188:
! 189: @return\_array=\&random\_uniform (\$item\_cnt,\$seed,\$low,\$high)
! 190: NOTE: \$low must be less than or equal to \$high. & Generate \$item\_cnt deviates from a uniform distribution. \\
! 191: \hline
! 192:
! 193: @return\_array=\&random\_uniform\_integer (\$item\_cnt,\$seed,\$low,\$high)
! 194: NOTE: \$low and \$high are both passed through int(). \$low must be less than or equal to \$high. & Generate \$item\_cnt deviates from a uniform distribution in integers. \\
! 195: \hline
! 196:
! 197: @return\_array=\&random\_binomial (\$item\_cnt,\$seed,\$nt,\$p)
! 198: NOTE: \$nt is rounded using int() and the result must be non-negative. \$p must be between 0 and 1 inclusive. & Generate \$item\_cnt deviates from the binomial distribution with \$nt trials and the probabilty of an event in each trial is \$p. \\
! 199: \hline
! 200:
! 201: @return\_array=\&random\_negative\_binomial (\$item\_cnt,\$seed,\$ne,\$p)
! 202: NOTE: \$ne is rounded using int() and the result must be positive. \$p must be between 0 and 1 exclusive. & Generate an array of \$item\_cnt outcomes generated from negative binomial distribution with \$ne events and the probabilty of an event in each trial is \$p. \\
! 203: \hline
! 204: \end{longtable}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>