Spark 2.0 Reference Manual

Total Page:16

File Type:pdf, Size:1020Kb

Spark 2.0 Reference Manual SPARK 2.0 REFERENCE MANUAL Simulation Problem Analysis and Research Kernel Copyright 1997-2003 Lawrence Berkeley National Laboratory Ayres Sowell Associates, Inc. Pending approval of the U.S. Department of Energy. All rights reserved. This work was supported by the Assistant Secretary for Energy Efficiency and Renewable Energy, Office of Building Technologies Program of the U.S. Dept. of Energy. Contract No. DE-AC03-76SF00098. SPARK 2.0 Reference Manual TABLE OF CONTENTS TABLE OF CONTENTS ................................................................................................................................................II FOREWORD ................................................................................................................................................................VII LICENSES AND COPYRIGHTS............................................................................................................................. VIII TEXT CONVENTIONS ............................................................................................................................................... IX 1 INTRODUCTION ...................................................................................................................................................1 1.1 WHAT IS SPARK? ..............................................................................................................................................1 1.2 KINDS OF PROBLEMS THAT SPARK CAN SOLVE ................................................................................................1 1.3 DESCRIBING PROBLEMS FOR SPARK SOLUTION ................................................................................................1 1.4 PORTABILITY AND USER INTERFACES ................................................................................................................3 1.5 THE HISTORY OF SPARK ...................................................................................................................................3 1.6 VERSIONS OF SPARK.........................................................................................................................................4 2 BASIC METHODOLOGY .....................................................................................................................................5 2.1 OVERVIEW AND TERMINOLOGY.........................................................................................................................5 2.2 A PROBLEM WITH A SINGLE OBJECT..................................................................................................................6 2.2.1 Running the SPARK Problem .......................................................................................................................7 2.2.2 Arbitrary Input/Output Designation.............................................................................................................8 2.3 PROBLEMS WITH SEVERAL OBJECTS ..................................................................................................................9 2.4 PROBLEMS REQUIRING ITERATIVE SOLUTION ..................................................................................................11 2.5 ITERATIVE SOLUTION AND BREAK VARIABLES................................................................................................13 2.6 WELL-POSED PROBLEMS .................................................................................................................................14 3 CREATING SINGLE-VALUED ATOMIC CLASSES ......................................................................................16 3.1 CLASS DEFINITION...........................................................................................................................................16 3.1.1 The PORT Statement..................................................................................................................................17 3.1.2 The EQUATIONS Statement......................................................................................................................17 3.1.3 The FUNCTIONS Statement......................................................................................................................17 3.2 INVERSE FUNCTIONS DEFINITION.....................................................................................................................18 3.2.1 Basic Structure of a Single-Valued EVALUATE Callback .........................................................................18 3.2.2 Defining the C++ Callback Function.........................................................................................................19 3.2.3 Defining the Argument Variables ...............................................................................................................19 3.2.4 Calculating the Result Value ......................................................................................................................19 3.2.5 Returning the Result Value .........................................................................................................................20 3.3 SYMBOLIC PROCESSING ...................................................................................................................................20 3.3.1 Simple Symbolic Processing.......................................................................................................................21 3.3.2 Generating an Inverse ................................................................................................................................21 3.3.3 Caveats .......................................................................................................................................................21 4 CREATING MULTI-VALUED ATOMIC CLASSES.......................................................................................23 4.1 MOTIVATION....................................................................................................................................................23 4.2 LIMITATIONS....................................................................................................................................................24 4.3 CLASS DEFINITION...........................................................................................................................................24 4.3.1 The PORT Statement..................................................................................................................................25 4.3.2 The EQUATIONS Statement......................................................................................................................26 4.3.3 The FUNCTIONS Statement......................................................................................................................26 4.4 INVERSE FUNCTION DEFINITION ......................................................................................................................26 4.4.1 Defining the C++ Callback Function.........................................................................................................26 ii SPARK 2.0 Reference Manual 4.4.2 Defining the Argument Variables ...............................................................................................................26 4.4.3 Defining the Target Variables ....................................................................................................................26 4.4.4 Calculating the Result Values.....................................................................................................................27 4.4.5 Returning the Result Values........................................................................................................................28 4.4.6 Basic Structure of a Multi-Valued EVALUATE Callback...........................................................................29 5 MODELS OF PHYSICAL SYSTEMS ................................................................................................................31 5.1 UNITS, VALID RANGE, AND INITIAL VALUES...................................................................................................31 5.2 MACRO CLASSES .............................................................................................................................................32 6 DIFFERENTIAL EQUATIONS ..........................................................................................................................36 6.1 NUMERICAL SOLUTION OF DIFFERENTIAL EQUATIONS ....................................................................................36 6.2 SOLVING A SIMPLE DIFFERENTIAL EQUATION .................................................................................................37 6.3 INTEGRATOR CLASSES IN THE SPARK LIBRARY ..............................................................................................39 6.4 CREATING SPARK INTEGRATOR OBJECT CLASSES ..........................................................................................41 6.4.1 Simplified Implementation of the Euler Method .........................................................................................41 6.4.2 The Initialization Issue ...............................................................................................................................42 6.4.3 The Restart Issue ........................................................................................................................................43
Recommended publications
  • CAS (Computer Algebra System) Mathematica
    CAS (Computer Algebra System) Mathematica- UML students can download a copy for free as part of the UML site license; see the course website for details From: Wikipedia 2/9/2014 A computer algebra system (CAS) is a software program that allows [one] to compute with mathematical expressions in a way which is similar to the traditional handwritten computations of the mathematicians and other scientists. The main ones are Axiom, Magma, Maple, Mathematica and Sage (the latter includes several computer algebras systems, such as Macsyma and SymPy). Computer algebra systems began to appear in the 1960s, and evolved out of two quite different sources—the requirements of theoretical physicists and research into artificial intelligence. A prime example for the first development was the pioneering work conducted by the later Nobel Prize laureate in physics Martin Veltman, who designed a program for symbolic mathematics, especially High Energy Physics, called Schoonschip (Dutch for "clean ship") in 1963. Using LISP as the programming basis, Carl Engelman created MATHLAB in 1964 at MITRE within an artificial intelligence research environment. Later MATHLAB was made available to users on PDP-6 and PDP-10 Systems running TOPS-10 or TENEX in universities. Today it can still be used on SIMH-Emulations of the PDP-10. MATHLAB ("mathematical laboratory") should not be confused with MATLAB ("matrix laboratory") which is a system for numerical computation built 15 years later at the University of New Mexico, accidentally named rather similarly. The first popular computer algebra systems were muMATH, Reduce, Derive (based on muMATH), and Macsyma; a popular copyleft version of Macsyma called Maxima is actively being maintained.
    [Show full text]
  • Ipad Educational Apps This List of Apps Was Compiled by the Following Individuals on Behalf of Innovative Educator Consulting: Naomi Harm Jenna Linskens Tim Nielsen
    iPad Educational Apps This list of apps was compiled by the following individuals on behalf of Innovative Educator Consulting: Naomi Harm Jenna Linskens Tim Nielsen INNOVATIVE 295 South Marina Drive Brownsville, MN 55919 Home: (507) 750-0506 Cell: (608) 386-2018 EDUCATOR Email: [email protected] Website: http://naomiharm.org CONSULTING Inspired Technology Leadership to Transform Teaching & Learning CONTENTS Art ............................................................................................................... 3 Creativity and Digital Production ................................................................. 5 eBook Applications .................................................................................... 13 Foreign Language ....................................................................................... 22 Music ........................................................................................................ 25 PE / Health ................................................................................................ 27 Special Needs ............................................................................................ 29 STEM - General .......................................................................................... 47 STEM - Science ........................................................................................... 48 STEM - Technology ..................................................................................... 51 STEM - Engineering ...................................................................................
    [Show full text]
  • SMT Solving in a Nutshell
    SAT and SMT Solving in a Nutshell Erika Abrah´ am´ RWTH Aachen University, Germany LuFG Theory of Hybrid Systems February 27, 2020 Erika Abrah´ am´ - SAT and SMT solving 1 / 16 What is this talk about? Satisfiability problem The satisfiability problem is the problem of deciding whether a logical formula is satisfiable. We focus on the automated solution of the satisfiability problem for first-order logic over arithmetic theories, especially using SAT and SMT solving. Erika Abrah´ am´ - SAT and SMT solving 2 / 16 CAS SAT SMT (propositional logic) (SAT modulo theories) Enumeration Computer algebra DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories CAD Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] DPLL(T) substitution Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors Restarts Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development 1960 1970 1980 2000 2010 Erika Abrah´ am´ - SAT and SMT solving 3 / 16 SAT SMT (propositional logic) (SAT modulo theories) Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping CDCL [GRASP’97] [zChaff’04]
    [Show full text]
  • Mixing R with Other Languages JOHN D
    Mixing R with other languages JOHN D. COOK, PHD SINGULAR VALUE CONSULTING Why R? Libraries, libraries, libraries De facto standard for statistical research Nice language, as far as statistical languages go “Quirky, flawed, and an enormous success.” Why mix languages? Improve performance of R code Execution speed (e.g. loops) Memory management Raid R’s libraries How to optimize R Vectorize Rewrite not using R A few R quirks Everything is a vector Everything can be null or NA Unit-offset vectors Zero index legal but strange Negative indices remove elements Matrices filled by column by default $ acts like dot, dot not special C package interface Must manage low-level details of R object model and memory Requires Rtools on Windows Lots of macros like REALSXP, PROTECT, and UNPROTECT Use C++ (Rcpp) instead “I do not recommend using C for writing new high-performance code. Instead write C++ with Rcpp.” – Hadley Wickham Rcpp The most widely used extension method for R Call C, C++, or Fortran from R Companion project RInside to call R from C++ Extensive support even for advanced C++ Create R packages or inline code http://rcpp.org Dirk Eddelbuettel’s book Simple Rcpp example library(Rcpp) cppFunction('int add(int x, int y, int z) { int sum = x + y + z; return sum; }') add(1, 2, 3) .NET RDCOM http://sunsite.univie.ac.at/rcom/ F# type provider for R http://bluemountaincapital.github.io/FSharpRProvider/ R.NET https://rdotnet.codeplex.com/ SQL Server 2016 execute sp_execute_external_script @language = N'R' , @script =
    [Show full text]
  • Scientific Tools for Linux
    Scientific Tools for Linux Ryan Curtin LUG@GT Ryan Curtin Getting your system to boot with initrd and initramfs - p. 1/41 Goals » Goals This presentation is intended to introduce you to the vast array Mathematical Tools of software available for scientific applications that run on Electrical Engineering Tools Linux. Software is available for electrical engineering, Chemistry Tools mathematics, chemistry, physics, biology, and other fields. Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 2/41 Non-Free Mathematical Tools » Goals MATLAB (MathWorks) Mathematical Tools » Non-Free Mathematical Tools » MATLAB » Mathematica Mathematica (Wolfram Research) » Maple » Free Mathematical Tools » GNU Octave » mathomatic Maple (Maplesoft) »R » SAGE Electrical Engineering Tools S-Plus (Mathsoft) Chemistry Tools Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 3/41 MATLAB » Goals MATLAB is a fully functional mathematics language Mathematical Tools » Non-Free Mathematical Tools You may be familiar with it from use in classes » MATLAB » Mathematica » Maple » Free Mathematical Tools » GNU Octave » mathomatic »R » SAGE Electrical Engineering Tools Chemistry Tools Physics Tools Other Tools Questions? Ryan Curtin Getting your system to boot with initrd and initramfs - p. 4/41 Mathematica » Goals Worksheet-based mathematics suite Mathematical Tools » Non-Free Mathematical Tools Linux versions can be buggy and bugfixes can be slow » MATLAB
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Modeling and Analysis of Hybrid Systems
    Building Bridges between Symbolic Computation and Satisfiability Checking Erika Abrah´ am´ RWTH Aachen University, Germany in cooperation with Florian Corzilius, Gereon Kremer, Stefan Schupp and others ISSAC’15, 7 July 2015 Photo: Prior Park, Bath / flickr Liam Gladdy What is this talk about? Satisfiability problem The satisfiability problem is the problem of deciding whether a logical formula is satisfiable. We focus on the automated solution of the satisfiability problem for first-order logic over arithmetic theories, especially on similarities and differences in symbolic computation and SAT and SMT solving. Erika Abrah´ am´ - SMT solving and Symbolic Computation 2 / 39 CAS SAT SMT (propositional logic) (SAT modulo theories) Enumeration Computer algebra DP (resolution) systems [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62] Decision procedures NP-completeness [Cook’71] for combined theories CAD Conflict-directed [Shostak’79] [Nelson, Oppen’79] backjumping Partial CAD Virtual CDCL [GRASP’97] [zChaff’04] DPLL(T) substitution Watched literals Equalities and uninterpreted Clause learning/forgetting functions Variable ordering heuristics Bit-vectors Restarts Array theory Arithmetic Decision procedures for first-order logic over arithmetic theories in mathematical logic 1940 Computer architecture development 1960 1970 1980 2000 2010 Erika Abrah´ am´ - SMT solving and Symbolic Computation 3 / 39 SAT SMT (propositional logic) (SAT modulo theories) Enumeration DP (resolution) [Davis, Putnam’60] DPLL (propagation) [Davis,Putnam,Logemann,Loveland’62]
    [Show full text]
  • A;Dkd; A;Kdd A;Kdk Akd;Ka D;Ak A;Kd;Akd A;Kd;Akd;Ka ;Akd;Ka A;Dkd
    Journal of Computer and Mathematical Sciences, Vol.7(3), 122-129, March 2016 ISSN 0976-5727 (Print) (An International Research Journal), www.compmath-journal.org ISSN 2319 - 8133 (Online) Integrating New Technologies and Tools in Teaching and Learning of Mathematics: An Overview Momin Fasiyoddin Inayat1 and Shaikh Naeem Hamid2 1Department of Mathematics, Milliya Arts, Science and Management Science College, Beed, Maharashtra -431122, INDIA. email:[email protected] 2Department of Computer Science, Milliya Arts, Science and Management Science College, Beed, Maharashtra -431122, INDIA. email:[email protected] (Received on: March 26, 2016) ABSTRACT Mathematics has remained a difficult and unpopular subject for most of the students. This is despite its importance almost in all careers, especially in the science and technology. The difficulties in learning mathematics might be due to the teaching methods employed by the educators. With the advancements in the Information Communication Technologies (ICTs), the nature of teaching and learning in mathematics is expected to change. The use of new technologies in the classrooms makes higher level mathematical activities accessible to students and also makes learning more fun, interesting, and more effective. Thus, technology can enhance students learning process by presenting content graphically, symbolically and numerically without spending extra time to calculate the complex computational problems by hand. In this paper we present an overview of the latest technologies used by the educators to make teaching and learning in mathematics more effective, student-centric and dynamic. Keywords: Technology, ICT, Teaching, Learning, Mathematics. 1. INTRODUCTION The developments in technology and tools in the past century have brought changes that transformed education.
    [Show full text]
  • 1 of 3 10/23/2010 02:45 PM
    http://mathomatic.org/quickref.txt ****************************************************************************** Mathomatic Command Summary -------------------------- approximate - Approximate all numerical values in equation spaces. Usage: approximate [equation-number-ranges] calculate - Temporarily plug in values for variables and approximate. Usage: calculate ["factor"] [variable number-of-iterations] This command may be preceded with "repeat". clear - Delete expressions stored in memory so equation spaces can be reused. Usage: clear [equation-number-ranges] Tip: Use "clear all" to quickly restart Mathomatic. code - Output C, Java, or Python code for the specified equations. Usage: code ["c" or "java" or "python" or "integer"] [equation-number-ranges] Related commands: simplify, optimize, and variables compare - Compare two equation spaces to see if mathematically the same. Usage: compare ["symbolic"] equation-number ["with" equation-number] copy - Duplicate the contents of the specified equation spaces. Usage: copy [equation-number-range] derivative - Symbolically differentiate and simplify, order times. Usage: derivative ["nosimplify"] [variable or "all"] [order] Alternate name for this command: differentiate display - Display equation spaces in pretty multi-line (2D) fraction format. Usage: display ["factor"] [equation-number-ranges] divide - Prompt for 2 numbers or polynomials and divide. Give result and GCD. Usage: divide [variable] This command may be preceded with "repeat". echo - Output a line of text, followed by a newline. Usage: echo [text] edit - Edit all equation spaces or an input file, then read them in. Usage: edit [file-name] eliminate - Substitute the specified variables with solved equations. Usage: eliminate variables or "all" ["using" equation-number] This command may be preceded with "repeat". extrema - Show where the slope of the current equation equals zero. Usage: extrema [variable] [order] factor - Factor variables in equation spaces or factor given integers.
    [Show full text]
  • Open Source Resources for Teaching and Research in Mathematics
    Open Source Resources for Teaching and Research in Mathematics Dr. Russell Herman Dr. Gabriel Lugo University of North Carolina Wilmington Open Source Resources, ICTCM 2008, San Antonio 1 Outline History Definition General Applications Open Source Mathematics Applications Environments Comments Open Source Resources, ICTCM 2008, San Antonio 2 In the Beginning ... then there were Unix, GNU, and Linux 1969 UNIX was born, Portable OS (PDP-7 to PDP-11) – in new “C” Ken Thompson, Dennis Ritchie, and J.F. Ossanna Mailed OS => Unix hackers Berkeley Unix - BSD (Berkeley Systems Distribution) 1970-80's MIT Hackers Public Domain projects => commercial RMS – Richard M. Stallman EMACS, GNU - GNU's Not Unix, GPL Open Source Resources, ICTCM 2008, San Antonio 3 History Free Software Movement – 1983 RMS - GNU Project – 1983 GNU GPL – GNU General Public License Free Software Foundation (FSF) – 1985 Free = “free speech not free beer” Open Source Software (OSS) – 1998 Netscape released Mozilla source code Open Source Initiative (OSI) – 1998 Eric S. Raymond and Bruce Perens The Cathedral and the Bazaar 1997 - Raymond Open Source Resources, ICTCM 2008, San Antonio 4 The Cathedral and the Bazaar The Cathedral model, source code is available with each software release, code developed between releases is restricted to an exclusive group of software developers. GNU Emacs and GCC are examples. The Bazaar model, code is developed over the Internet in public view Raymond credits Linus Torvalds, Linux leader, as the inventor of this process. http://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar Open Source Resources, ICTCM 2008, San Antonio 5 Given Enough Eyeballs ... central thesis is that "given enough eyeballs, all bugs are shallow" the more widely available the source code is for public testing, scrutiny, and experimentation, the more rapidly all forms of bugs will be discovered.
    [Show full text]
  • Program Synthesis for Empowering End Users and Stress-Testing Compilers
    Program Synthesis for Empowering End Users and Stress-Testing Compilers By VU MINH LE B.Eng. (University of Technology, Vietnam National University) 2006 M.Sc. (University of California, Davis) 2011 DISSERTATION Submitted in partial satisfaction of the requirements for the degree of DOCTOR OF PHILOSOPHY in Computer Science in the OFFICE OF GRADUATE STUDIES of the UNIVERSITY OF CALIFORNIA DAVIS Approved: Zhendong Su, Chair Sumit Gulwani Premkumar Devanbu Committee in Charge 2015 -i- Copyright © 2015 by Vu Minh Le All rights reserved. Vu Minh Le September 2015 Computer Science Program Synthesis for Empowering End Users and Stress-Testing Compilers Abstract Since 2012, the number of people with access to computing devices has exploded. This trend is due to these devices’ falling prices, and their increased functionalities and programmability. Two challenges arise from this trend: (1) How to assist the increasing number of device owners, most of whom are non-programmers, yet hope to take full advantage of their devices, and (2) how to make critical software, which is relied upon by other software running on these devices, more reliable? Our vision is that program synthesis is the solution for the above arising challenges. This dissertation describes various program synthesis techniques to synthesize programs from natural languages, input/output examples, and existing programs to tackle these challenges. We present SmartSynth, a natural language interface that synthesizes smartphone programs from natural language descriptions. SmartSynth enables users to automate their repetitive tasks by leveraging various phone sensors. It is the first system that combines the advances in both natural language processing (NLP) and program synthesis: it uses NLP techniques to parse a given command, and applies program synthesis techniques to resolve parsing ambiguities.
    [Show full text]
  • The Current State of Computer Algebra System on Tablet Devices
    The current state of computer algebra system on tablet devices Mitsushi Fujimoto Fukuoka University of Education ∗ 1 Introduction Infty project[1] developed and released some useful software including InftyReader { an OCR system for mathematical documents. InftyEditor is one of the products developed by Infty project, and is a mathematics typesetting tool. The author, a core member of Infty project, built into InftyEditor a computing function for mathematical expressions[2]. In 2003, AsirPad[3], a computer algebra system with a handwriting interface on PDA, was developed using the technology of InftyEditor. AsirPad can communicate with Risa/Asir[4] through OpenXM protocol[5], and calculate mathematical expressions inputted by handwriting. This is an application for Zaurus that is a PDA with 400MHz CPU, 64MB memory, Linux OS, 3.7inch VGA screen and the weight 250g. The mainstream of the current mobile devices is shifting to smartphones or tablet devices and some computer algebra systems for these platforms are developed. In this article we explore the current state of computer algebra system on tablet devices. 2 Mathellan project and tablet devices AsirPad was used to present a lecture on RSA cryptography at a junior high school[6]. Ordinary calculator is not available because encryption and decryption in RSA use division of large numbers. The students learned how to encrypt/decrypt their messages through calculations by AsirPad. They could input mathematical expressions and calculate without any special training. We could get a result for usefulness of PDA and handwriting interface from this lecture. In 2010, we started Mathellan Project, a mobile Math e-Learning project, to go the next step.
    [Show full text]