Introduction

“msharpmath”, The Simple is the Best

[100] 001 Tutorial introduction     introduction

Click the above button for full-text tutorial of   introduction.

m#math works in an expression-look-alike style, and is easy to use. The core grammar has been developed at Seoul National University, and the product is released by Msharpmath Inc. The beta Version of m#math is free-of-charge for personal users.

As can be seen in our logo, a novel concept of ‘Umbrella‘ is innovated to realize an ‘expression-look-alike’ grammar. For example, the following m#math commands are almost the same as their relevant mathematical problems.

#> ( 1/2 + 1/3 + 1/5 ).ratio ;            // ans=(31/30) with integer denomenator
#> 77.f ;                                                // 77 Fahrenheit to other temperatures
#> 3’4” * 5’6” ;                                     // area in square meter of 3’4” wide 5’6” high plate
#> (a,b,c)=(1,2,3); (b,c,a)=(a,b,c);    // exchange values via tuples
#> [ 1,2,3 ; 4,5,6 ] .solve ;                  // x+2y = 3, 4x+5y = 6
#> .[ 1,2,3 ] .solve ;                             // x^2 + 2x + 3 = 0 (a leading dot for poly)
#> .[ 1,0,0,0 ].~ ;                                // sum_{x=1}^{x=n} x^3 = [(1/2)n(n+1)]^2
#> .[ 1,0,0,0 ].’ ;                                  // p(x)-p(x-1)=x^3-(x-1)^3=3x^2-3x+1
#> [ 1,2,3 ] .roots ;                              // (x-1)(x-2)(x-3) = x^3 -6x^2 + 11x -6
#> s=0;   for.n(1,10) s+=n;                // s = 1+2+3+4+5+6+7+8+9+10
#> solve .x ( exp(x) = 5 );                  // single nonlinear equation
#> solve .a.b ( a+b = 3, a*b = 2 );     // coupled nonlinear equations
#> plot .x( 0,pi ) ( |x|*sin(x) );         // plot 2d curve
#> int .x( 1,2 ) .y(x,2*x+1) ( exp(-x-y)*sin(x+y) ); // double integration
#> ode .t( 0,1 ) ( y’ = t*y+1, y = 1 ).plot; // ODE (Ordinary Differential Equation)
#> plot .r[21](0,1).t[61](0,6*pi) ( (r^(1/3)+t!/3) .cyl .y ) .cyl; // figure shown below

w = z^(1/3)

%> force-balance equation between springs
(k1,k2,k3,k4) = (100,50,75,200);;
F = 2000;;

solve .x1 .x2 .x3 .x4 (
k2*(x2-x1) = k1*x1,
k3*(x3-x2) = k2*(x2-x1),
k4*(x4-x3) = k3*(x3-x2),
F = k4*(x4-x3)
);
ans =
[            20 ]
[            60 ]
[       86.6667 ]
[       96.6667 ]

Also, consider multiple operations as in PV/T where

pressure    : P = 300 torr = 39.9967 kPa
volume      : V = 3.2 barrel = 0.5088 m^3
temperature : T = 30 C = 303.15 K

With these mixed units, we have

#> 300.torr * 3.2.bbl / 30.c ;           // units as given
ans =      0.06712956

which is exactly the same as

#> 39.9967 * 0.5088 / 303.15 ;        // in SI unit [kPa.m^3/K]
ans =     0.067129543

In many calculations involving unit conversions, all units are automatically converted into MKS unit. This would help scientists and engineers to avoid headache in unit conversions.

Our products are provided both in Window PC and iOS devices (iPad, iPhone and iPod touch). The iOS version can be downloaded from the Appstore by searching ‘msharpmath’. However, some of grammars have been changed and will be upgraded based on the Window-version in future.

One of the most striking features of Cemmath is its simple and concise grammar. Also, a small size (only a few megabyte) provides quick response for use.

m#math handles a number of data types including :

  • double  (real numbers)
  • complex  (complex numbers)
  • poly  (polynomial)
  • matrix
  • vertex  (good for treating 3D space)
  • csys  (coordinate system)
  • char
  • string
  • array of double, complex, poly, matrix, vertex, csys, char, string
  • signal

Some of the standard C-language are implemented :

  • if
  • else
  • do
  • for
  • while
  • break
  • continue
  • goto
  • switch
  • case  (only for interger value in cemnamu)
  • default
  • return
  • void
  • double

m#math covers a variety of fields including

  • Unit conversions
    Triangle ABC
    2D graph
    3D graph
    Sequence and series
    Coordinate system
    mathematical functions
    integration
    differentiation
    gradient, divergence, curl, Laplacian
    Finding roots and minimum
  • interpolation and curve fitting
    Initial Value Problems (IVP)
    Boundary Value Problems (BVP)
    Eigenvalue Problems
    Parabolic Partial Differential Equations (PDE)
    Elliptic PDE
    Digital Signal Processing

Please support us to improve m#math by reporting any bugs or comments. We will continue to upgrade m#math. Thanks a lot.

Comments are closed.