Difference between revisions of "Mathematical notation recognized by WeBWorK"

From WeBWorK_wiki
Jump to navigation Jump to search
Line 1: Line 1:
 
== Operators ==
 
== Operators ==
   
Operators recognized by WeBWorK, in order from highest to lowest precedence.
+
Operators recognized by WeBWorK, in order from highest to lowest precedence. Not all operators are available in all problems.
   
 
{|border="1"
 
{|border="1"
Line 7: Line 7:
 
|-
 
|-
 
! <code>_</code>
 
! <code>_</code>
| 9 || binary || left || Vector and matrix element extraction.
+
| 9 || binary || left || Vector and matrix element extraction
 
|-
 
|-
 
! <code>!</code>
 
! <code>!</code>
Line 75: Line 75:
 
use strict;
 
use strict;
 
use warnings;
 
use warnings;
 
 
BEGIN {
 
BEGIN {
die "WEBWORK_ROOT not found in environment.\n"
+
die "WEBWORK_ROOT not found in environment.\n"
unless exists $ENV{WEBWORK_ROOT};
+
unless exists $ENV{WEBWORK_ROOT};
 
}
 
}
 
 
use lib "$ENV{WEBWORK_ROOT}/lib";
 
use lib "$ENV{WEBWORK_ROOT}/lib";
 
use WeBWorK::CourseEnvironment;
 
use WeBWorK::CourseEnvironment;
 
 
my $ce = new WeBWorK::CourseEnvironment({webwork_dir=>$ENV{WEBWORK_ROOT}});
 
my $ce = new WeBWorK::CourseEnvironment({webwork_dir=>$ENV{WEBWORK_ROOT}});
 
push @INC, $ce->{pg}{directories}{lib};
 
push @INC, $ce->{pg}{directories}{lib};
 
require Parser;
 
require Parser;
 
 
my %ops = %{$Parser::Context::Default::context{Full}{operators}};
 
my %ops = %{$Parser::Context::Default::context{Full}{operators}};
 
print "{|border=\"1\"\n";
 
print "{|border=\"1\"\n";
Line 100: Line 96:
 
}
 
}
 
print "|}\n";
 
print "|}\n";
 
 
-->
 
-->
  +
  +
== Constants ==
  +
  +
== Functions ==
  +
  +
In general, functions can be used with or without parentheses. For example, <code>cosx</code>, <code>cos x</code>, and <code>cos(x)</code> are all equivalent. However, using parentheses makes grouping more explicit and are recommended.
  +
  +
;Simple trig functions
  +
  +
* sin()
  +
* cos()
  +
* tan()
  +
* sec()
  +
* csc()
  +
* cot()
  +
  +
InverseTrig => [qw(asin acos atan asec acsc acot
  +
arcsin arccos arctan arcsec arccsc arccot atan2)],
  +
  +
SimpleHyperbolic => [qw(sinh cosh tanh sech csch coth)],
  +
InverseHyperbolic => [qw(asinh acosh atanh asech acsch acoth
  +
arcsinh arccosh arctanh arcsech arccsch arccoth)],
  +
  +
Numeric => [qw(log log10 exp sqrt abs int sgn ln logten)],
  +
  +
Vector => [qw(norm unit)],
  +
  +
Complex => [qw(arg mod Re Im conj)],

Revision as of 19:09, 4 March 2008

Operators

Operators recognized by WeBWorK, in order from highest to lowest precedence. Not all operators are available in all problems.

Operator Prec. Type Associativity Description
_ 9 binary left Vector and matrix element extraction
! 8 unary right Factorial
^ 7 binary right Exponentiation
** 7 binary right Exponentiation
+ 6 unary left Unary plus (indicates that a value is positive)
- 6 unary left Unary minus (indicates that a value is negative)
/ 3 binary left Division
* 3 binary left Multiplication
. 2 binary left Vector dot product
>< 2 binary left Vector cross product
U 1.5 binary left Union
- 1 binary left Subtraction
+ 1 binary left Addition
, 0 binary left List (vector, set, point, etc.) separator


Constants

Functions

In general, functions can be used with or without parentheses. For example, cosx, cos x, and cos(x) are all equivalent. However, using parentheses makes grouping more explicit and are recommended.

Simple trig functions
  • sin()
  • cos()
  • tan()
  • sec()
  • csc()
  • cot()

InverseTrig => [qw(asin acos atan asec acsc acot arcsin arccos arctan arcsec arccsc arccot atan2)],

  SimpleHyperbolic  => [qw(sinh cosh tanh sech csch coth)],
  InverseHyperbolic => [qw(asinh acosh atanh asech acsch acoth
                           arcsinh arccosh arctanh arcsech arccsch arccoth)],
  Numeric     => [qw(log log10 exp sqrt abs int sgn ln logten)],
  Vector      => [qw(norm unit)],
  Complex     => [qw(arg mod Re Im conj)],