Computational Science and Engineering
description
Transcript of Computational Science and Engineering
Computational Computational Science and Science and EngineeringEngineering
Tsinghua UniversityTsinghua University
April 2008April 2008
Bebo WhiteBebo White
[email protected]@slac.stanford.edu
“The first great scientific breakthrough of the 21st century – the decoding of the human genome announced in February 2001 – was a triumph of
large-scale computational science. When the Department of Energy (DOE) and the National Institutes of Health (NIH) launched the Human Genome Project in 1990, the most powerful computers were 100,000 times slower
than today’s high-end machines; private citizens using networks could send data at only 9600 baud; and many geneticists performed their calculations by
hand….it was expected to take decades.”
---Report to the President, June 2005, “Computational Science:Ensuring America’s Competitiveness”
This validates an additional way of “doing science”
A New Way of A New Way of DiscoveryDiscovery
How To “Do Science”How To “Do Science”
The four methods of “doing modern science”
Scientific Method Scientific Method Process (1/2)Process (1/2)
Research Design
Conduct
Collect
Interpret
Scientific Method Scientific Method Process (2/2)Process (2/2)
First described ~400 years agoFirst described ~400 years ago
Is not constant – evolves as a result of technologyIs not constant – evolves as a result of technology Peer review is a result of printPeer review is a result of print Repeatability of experiments is a result of peer Repeatability of experiments is a result of peer
review and collaboration (societies, not just letters)review and collaboration (societies, not just letters) Statistical sampling is due to advancements in Statistical sampling is due to advancements in
mathematicsmathematics Etc.Etc.
The impact of computing is only now being The impact of computing is only now being realizedrealized
“The underlying physical laws necessary for the mathematical theory of a large part of physics and the whole of chemistry are thus completely known, and the difficulty is only that the exact application of these laws leads to equations much too complicated to be solvable.”
--Paul Dirac, Royal Academy, London, 1929
“It is nice to know the computer understands the problem, but I would like to understand it too.” --Eugene Wigner (when confronted with the computer
generated results of a quantummechanics calculation)
What is Computational What is Computational Science? (1/5)Science? (1/5)
Computational science is the integration of Computational science is the integration of computing technology into scientific research computing technology into scientific research
It is the application of computer simulation and other It is the application of computer simulation and other computational methods to the solution of scientific computational methods to the solution of scientific problems and the understanding of scientific problems and the understanding of scientific phenomenonphenomenon
Computing becomes a “full partner” in scientific Computing becomes a “full partner” in scientific discovery discovery
It is not to be confused with computer scienceIt is not to be confused with computer science which which is the study of topics related to computers and is the study of topics related to computers and information processing information processing
What is Computational What is Computational Science? (3/5)Science? (3/5)
Computational science seeks to gain an Computational science seeks to gain an understanding of scientific processes understanding of scientific processes through the use of mathematical through the use of mathematical methods on computersmethods on computers
Computational
Science
What is Computational What is Computational Science? (4/5)Science? (4/5)
Used to:Used to: Perform experiments that might be too dangerous Perform experiments that might be too dangerous
to perform in a labto perform in a lab Perform experiments that happen too quickly or Perform experiments that happen too quickly or
too slowlytoo slowly Perform experiments that might be too expensivePerform experiments that might be too expensive Perform experiments that are only solvable using Perform experiments that are only solvable using
computational approachescomputational approaches Visualize phenomenon in the past, present, or Visualize phenomenon in the past, present, or
futurefuture Perform “what-if” experimentsPerform “what-if” experiments Data mine through huge datasetsData mine through huge datasets Etc., etc. Etc., etc.
What is Computational What is Computational Science? (5/5)Science? (5/5)
“ “Computational Science was built on the Computational Science was built on the vision that computers would represent a vision that computers would represent a virtual laboratory where one could explore virtual laboratory where one could explore new concepts from simulations and new concepts from simulations and comparison of these with experimental comparison of these with experimental data.”data.”
---Geoffrey Fox, Indiana ---Geoffrey Fox, Indiana UniversityUniversity
Analyze - Predict
Data
Information
DataminingReasoning
Assimilation
Simulation
Model
Ideas
Computational Science
Information Technology
(US Dept. of Energy, Office of Science)
Computational Science Computational Science InvestigationsInvestigations
A Computational science A Computational science investigation should includeinvestigation should include An application - a scientific problem An application - a scientific problem
of interest and the components of of interest and the components of that problem that we wish to study that problem that we wish to study and/or include. and/or include.
AlgorithmAlgorithm - the - the numerical/mathematical numerical/mathematical representation of that problem, representation of that problem, including any numerical methods or including any numerical methods or recipes used to solve the algorithm.recipes used to solve the algorithm.
Architecture – a computing platform Architecture – a computing platform and software tool(s) used to and software tool(s) used to compute a solution set for the compute a solution set for the algorithm. algorithm.
Computational Science Computational Science ProcessProcess
Simplify Represent
Translate
Simulate
Interpret
The Modeling ProcessThe Modeling Process
Modeling Modeling is the application of methods to analyze is the application of methods to analyze complex real-world problems in order to make complex real-world problems in order to make predictions about what might happen with various predictions about what might happen with various actionsactions
A system exhibits A system exhibits probabilistic probabilistic or or stochastic behavior stochastic behavior if an element of chance exists. Otherwise, it exhibits if an element of chance exists. Otherwise, it exhibits deterministic behaviordeterministic behavior. A . A probabilistic probabilistic or or stochastic stochastic model model exhibits random effects, while a exhibits random effects, while a deterministic deterministic model model does not.does not.
A A static model static model does not consider time, while a does not consider time, while a dynamic model dynamic model changes with time.changes with time.
In a In a continuous modelcontinuous model, time changes continuously, , time changes continuously, while in a while in a discrete model discrete model time changes in incremental time changes in incremental steps.steps.
(Ref: Shiflet & Shiflet)
Major Approaches to Major Approaches to Computational Science Computational Science
ProblemsProblems System dynamics models System dynamics models provide global provide global
views of major systems that change with views of major systems that change with time (e.g., equation-based physics time (e.g., equation-based physics problems)problems)
Cellular automaton simulations (finite Cellular automaton simulations (finite element) element) provide local views of individuals provide local views of individuals affecting individuals. The world under affecting individuals. The world under consideration consists of a rectangular grid consideration consists of a rectangular grid of cells, and each cell has a state that can of cells, and each cell has a state that can change with time according to rules (e.g., change with time according to rules (e.g., visualization of lattice gauge QCD)visualization of lattice gauge QCD)
Real World ProblemReal World Problem
Identify Identify Real-World ProblemReal-World Problem::
Perform background research, Perform background research, focus focus on a workable problem focus focus on a workable problem
Conduct investigations (Labs) Conduct investigations (Labs) if if appropriateif if appropriate
Select computational toolSelect computational tool
Understand current activity and predict Understand current activity and predict future behavior future behavior
Working ModelWorking Model
Simplify Simplify Working ModelWorking Model::
Identify and select factors toIdentify and select factors to
describe important aspects ofdescribe important aspects of
Real World ProblemReal World Problem; determine ; determine
those factors that can be neglectedthose factors that can be neglected. .
State simplifying assumptions State simplifying assumptions Determine governing principles, physical Determine governing principles, physical
lawslaws Identify model variables and inter-Identify model variables and inter-
relationshipsrelationships
Mathematical ModelMathematical Model
RepresentRepresent Mathematical ModelMathematical Model: : Express the Express the Working ModelWorking Model in in
mathematical terms; write downmathematical terms; write down mathematical equations or an algorithmmathematical equations or an algorithm whose solution describes the whose solution describes the Working ModelWorking Model. .
In general, the success of a mathematical model depends on how In general, the success of a mathematical model depends on how easy it is to use and how accurately it predicts.easy it is to use and how accurately it predicts.
Computational ModelComputational Model
TranslateTranslate Computational ModelComputational Model: :
Change Change Mathematical ModelMathematical Model into a into a form form suitable for computational solution.suitable for computational solution.
Computational models include tool-specifics. Computational models include tool-specifics.
Results/ConclusionsResults/Conclusions
Simulate Simulate Results/Conclusions: Results/Conclusions:
Run “Computational Model” to obtain Run “Computational Model” to obtain
ResultsResults; draw ; draw ConclusionsConclusions..
Verify your computer program; Verify your computer program; use check cases; explore use check cases; explore
ranges of validity. ranges of validity. Graphs, charts, and other visualization Graphs, charts, and other visualization
tools are useful in summarizing tools are useful in summarizing results results and drawing conclusions. and drawing conclusions.
Real World ProblemReal World Problem
Interpret Interpret Conclusions:Conclusions:
Compare with Compare with Real World Problem Real World Problem behavior. behavior.
If model results do not “agree” with If model results do not “agree” with physical reality or experimental physical reality or experimental
data, reexamine the data, reexamine the Working Model Working Model (relax (relax assumptions) and repeat modeling steps.assumptions) and repeat modeling steps.
Often, the modeling process proceeds Often, the modeling process proceeds through several “cycles” until through several “cycles” until
model is “acceptable” model is “acceptable”
Scientific SimulationScientific Simulation
Example – Electron-Example – Electron-Gamma Showers (EGS)Gamma Showers (EGS)
To simulate the To simulate the interaction of particle interaction of particle beams of varying energies beams of varying energies on fixed targets of various on fixed targets of various materials and geometriesmaterials and geometries
To study the resulting To study the resulting particle showersparticle showers
Simulations based upon Simulations based upon known laws of physics and known laws of physics and observed interactions observed interactions (cross sections) between (cross sections) between particlesparticles
Allows “what-ifs” not Allows “what-ifs” not possible or feasible in the possible or feasible in the laboratorylaboratory
EGS ApplicationsEGS Applications
Materials physicsMaterials physics
Radiation/health physicsRadiation/health physics
Radiation medicineRadiation medicine
EducationEducation
Etc.Etc.
Finite Element and Finite Element and Lattice MethodsLattice Methods
Finite Element Method Finite Element Method (FEM)(FEM)
Many problems in engineering and applied Many problems in engineering and applied science are governed by differential or integral science are governed by differential or integral equationsequations
The solutions to these equations would provide The solutions to these equations would provide an exact, closed-form solution to the particular an exact, closed-form solution to the particular problem being studiedproblem being studied
However, complexities in the geometry, However, complexities in the geometry, properties and in the boundary conditions that properties and in the boundary conditions that are seen in most real-world problems are seen in most real-world problems usuallyusually means that an exact solution cannot be obtained means that an exact solution cannot be obtained or obtained in a reasonable amount of timeor obtained in a reasonable amount of time
Finite Element Finite Element Method (2/2)Method (2/2)
In the FEM, a complex region defining a continuum is In the FEM, a complex region defining a continuum is discretized into simple geometric shapes called discretized into simple geometric shapes called elementselements
The properties and the governing relationships are The properties and the governing relationships are assumed over these elements and expressed assumed over these elements and expressed mathematically in terms of unknown values at specific mathematically in terms of unknown values at specific points in the elements called points in the elements called nodesnodes
An assembly process is used to link the individual An assembly process is used to link the individual elements to the given system. When the effects of elements to the given system. When the effects of loads and boundary conditions are considered, a set loads and boundary conditions are considered, a set of linear or nonlinear algebraic equations is usually of linear or nonlinear algebraic equations is usually obtainedobtained
Solution of these equations gives the Solution of these equations gives the approximateapproximate behavior of the continuum or systembehavior of the continuum or system
Example – Lattice QCD Example – Lattice QCD Simulation (1/3)Simulation (1/3)
In quantum theories such as QCD, particles are In quantum theories such as QCD, particles are represented by fieldsrepresented by fields
To simulate the quark and gluon activities inside matter To simulate the quark and gluon activities inside matter on a computer, physicists calculate the evolution of the on a computer, physicists calculate the evolution of the fields on a four-dimensional lattice representing space fields on a four-dimensional lattice representing space and timeand time
A typical lattice simulation that approximates a volume A typical lattice simulation that approximates a volume containing a proton might use a grid of 24x24x24 points containing a proton might use a grid of 24x24x24 points in space evaluated over a sequence of 48 points in timein space evaluated over a sequence of 48 points in time
The values at the intersections of the lattice approximate The values at the intersections of the lattice approximate the local strength of quark fieldsthe local strength of quark fields
The links between the points simulate the rubber bands–The links between the points simulate the rubber bands–the strength of the gluon fields that carry energy and the strength of the gluon fields that carry energy and other properties of the strong force through space and other properties of the strong force through space and time, manipulating the quark fields.time, manipulating the quark fields.
Example – Lattice QCD Example – Lattice QCD Simulation (2/3)Simulation (2/3)
At each step in time, the computer At each step in time, the computer recalculates the field strengths at each recalculates the field strengths at each point and link in spacepoint and link in space
The algorithm for a single point takes into The algorithm for a single point takes into account the changing fields at the eight account the changing fields at the eight nearest-neighbor points, representing the nearest-neighbor points, representing the exchange of gluons in three directions of exchange of gluons in three directions of space–up and down; left and right; front and space–up and down; left and right; front and back–and the change of the fields over back–and the change of the fields over time–past and future.time–past and future.
Example – Lattice QCD Example – Lattice QCD Simulation (3/3)Simulation (3/3)
Nuclear Fuel Rod Nuclear Fuel Rod DegradationDegradation
Advanced Test Reactor Advanced Test Reactor Simulation at INL (Idaho Simulation at INL (Idaho
National Laboratory)National Laboratory)
Simulation vs. CGI?Simulation vs. CGI?
http://www.youtube.com/watch?v=_FIKonHQF8Y
Topics in Topics in Computational Science Computational Science
and Engineeringand Engineering High Performance ComputingHigh Performance Computing
Data MiningData Mining
SimulationSimulation
Scientific VisualizationScientific Visualization
Programming (Traditional and Symbolic Manipulation Programming (Traditional and Symbolic Manipulation Tools)Tools)
Collaboration systems/E-ScienceCollaboration systems/E-Science
Analysis PackagesAnalysis Packages
Display and text processing systemsDisplay and text processing systems
Data MiningData Mining
Data MiningData Mining
Modern science is driven by data analysis Modern science is driven by data analysis like never before. We have an ability to like never before. We have an ability to collect and process data that is increasing collect and process data that is increasing exponentially!exponentially!
“…“…the analysis of (often large) the analysis of (often large) observational data sets to find unsuspected observational data sets to find unsuspected relationships and to summarize the data in relationships and to summarize the data in novel ways that are both understandable novel ways that are both understandable and useful to the data owner.”and useful to the data owner.”
The extraction of useful patterns from data The extraction of useful patterns from data sources, e.g., databases, texts, web, image. sources, e.g., databases, texts, web, image.
Sequential pattern mining:Sequential pattern mining:A sequential rule: A sequential rule: AA BB, says that event , says that event AA will will
be immediately followed by event be immediately followed by event BB with a with a certain confidencecertain confidence
Deviation/anomaly/exception detection:Deviation/anomaly/exception detection:
discovering the most significant changes in discovering the most significant changes in datadata
Data visualization: using graphical Data visualization: using graphical methods to show patterns in datamethods to show patterns in data
High performance computingHigh performance computing
BioinformaticsBioinformatics
Why Data MiningWhy Data Mining
Rapid computerization produces huge Rapid computerization produces huge amounts of dataamounts of data
How to make best use of data?How to make best use of data?
A growing realization: knowledge A growing realization: knowledge discovered from data can be used for discovered from data can be used for competitive advantage and to increase competitive advantage and to increase intelligenceintelligence
Purposes of Data Purposes of Data MiningMining
Locating phenomenon from spatially, Locating phenomenon from spatially, temporally, or logically related factors, temporally, or logically related factors, each of which is defined at different each of which is defined at different levels of abstraction levels of abstraction
Content based searching and browsingContent based searching and browsing Feature extractionFeature extraction Reduction in data volumeReduction in data volume Scientific analysisScientific analysis Searching for anomaliesSearching for anomalies
Data Mining FieldsData Mining Fields
Data mining is an emerging multi-Data mining is an emerging multi-disciplinary field:disciplinary field:StatisticsStatisticsMachine learningMachine learningDatabasesDatabasesVisualizationVisualizationData warehousingData warehousingHigh-performance computingHigh-performance computing......
Typical Data Mining Typical Data Mining TasksTasks
Classification:Classification: mining patterns that can classify future mining patterns that can classify future
data into data into knownknown classes classes
Association rule mining:Association rule mining: mining any rule of the form mining any rule of the form XX YY, where , where XX
and and YY are sets of data items are sets of data items
Clustering:Clustering: identifying a set of identifying a set of similarsimilar groups in the groups in the
datadata
Data MiningData Mining
Datacollection
Define problem
Datapreparation
Data modelling
Interpretation/Evaluation
Implement/Deploy model
Machine LearningMachine Learning
“…“…the study of computer algorithms the study of computer algorithms capable of learning to improve their capable of learning to improve their performance on a task on the basis of their performance on a task on the basis of their own experience.”own experience.” Often this is “learning from data”.Often this is “learning from data”.
A sub-discipline of artificial intelligence, A sub-discipline of artificial intelligence, with large overlaps into statistics, pattern with large overlaps into statistics, pattern recognition, visualization, robotics, control, recognition, visualization, robotics, control, … …
Data MiningData Mining
Datacollection
Define problem
Datapreparation
Data modelling
Interpretation/Evaluation
Implement/Deploy model
MachineLearning
Patterns (1/2)Patterns (1/2)
Patterns are the relationships and Patterns are the relationships and summaries derived through a data summaries derived through a data mining exercisemining exercise
Patterns must be:Patterns must be: validvalid novelnovel potentially usefulpotentially useful understandableunderstandable
Patterns (2/2)Patterns (2/2)
Patterns are used forPatterns are used for prediction or classificationprediction or classification describing the existing datadescribing the existing data segmenting the data (e.g., the market)segmenting the data (e.g., the market) profiling the data (e.g., your customers)profiling the data (e.g., your customers) Detection (e.g., intrusion, fault, anomaly)Detection (e.g., intrusion, fault, anomaly)
Data(1/2)Data(1/2)
Data mining typically deals with data Data mining typically deals with data that have already been collected for that have already been collected for some purpose other than data miningsome purpose other than data mining
Data miners usually have no influence on Data miners usually have no influence on data collection strategies data collection strategies
Large bodies of data cause new Large bodies of data cause new problems: representation, storage, problems: representation, storage, retrieval, analysis, ...retrieval, analysis, ...
Data (2/2)Data (2/2)
Even with a very large data set, we are Even with a very large data set, we are usually faced with just a sample from the usually faced with just a sample from the population.population.
Data exist in many types (continuous, Data exist in many types (continuous, nominal) and forms (credit card usage nominal) and forms (credit card usage records, supermarket transactions, records, supermarket transactions, government statistics, text, images, medical government statistics, text, images, medical records, human genome databases, records, human genome databases, molecular databases).molecular databases).
Data Modelling and the Data Modelling and the Scientific MethodScientific Method
Data modelling plays an important role at Data modelling plays an important role at several stages in the scientific process:several stages in the scientific process:
1.1. Observe and explore interesting phenomenaObserve and explore interesting phenomena
2.2. Generate hypothesesGenerate hypotheses
3.3. Formulate model to explain phenomenaFormulate model to explain phenomena
4.4. Test predictions made by the theoryTest predictions made by the theory
5.5. Modify theory and repeat (at 2 or 3)Modify theory and repeat (at 2 or 3)
The explosion of data suggests that we need The explosion of data suggests that we need to (partially) automate numerous aspects of to (partially) automate numerous aspects of the scientific methodthe scientific method
Pattern RecognitionPattern Recognition
Pattern RecognitionPattern Recognition Pattern recognition is a research area in which Pattern recognition is a research area in which
pattern in data are pattern in data are found, measured,found, measured, and used and used to to recognize, classifyrecognize, classify and and discoverdiscover objects objects
This is a catchall phrase that includes:This is a catchall phrase that includes: ClassificationClassification ClusteringClustering Data miningData mining etcetc
Statistical Pattern RecognitionStatistical Pattern Recognition The data is reduced to vectors of real numbers The data is reduced to vectors of real numbers
that measure objects features. Statistical that measure objects features. Statistical modeling is then used for recognition, modeling is then used for recognition, classification, etcclassification, etc
Structural Pattern RecognitionStructural Pattern Recognition The data is converted to a discrete and The data is converted to a discrete and
structured form such as trees, graphs, structured form such as trees, graphs, grammars, etc. Techniques related to computer grammars, etc. Techniques related to computer science subjects such as graph matching and science subjects such as graph matching and parsing are usedparsing are used
Pattern Recognition Pattern Recognition ApproachesApproaches
Scientific VisualizationScientific Visualization
The ChallengeThe Challenge
Transform the Transform the datadata into into informationinformation (understanding, insight) thus making it (understanding, insight) thus making it useful to people.useful to people.
Support specific tasksSupport specific tasks
Improve performance as compared to Improve performance as compared to existing mechanismsexisting mechanisms
Information Information VisualizationVisualization
Provide tools that present data in a way to Provide tools that present data in a way to help people understand and gain insight from help people understand and gain insight from itit
ClichesCliches““Seeing is believing”Seeing is believing”““A picture is worth a thousand words”A picture is worth a thousand words”
““The use of computer-supported, interactive, The use of computer-supported, interactive, visual representations of abstract data to visual representations of abstract data to amplify cognition.”amplify cognition.”
Main IdeaMain Idea
Visuals help us thinkVisuals help us thinkProvide a frame of reference, a temporary Provide a frame of reference, a temporary
storage areastorage area
External cognitionExternal cognitionRole of external world in thinking and reasonRole of external world in thinking and reasonMultiplication exerciseMultiplication exercise
Information Information VisualizationVisualization
What is “information”?What is “information”? Items, entities, things which do not have a direct Items, entities, things which do not have a direct
physical correspondencephysical correspondence Examples: baseball statistics, stock trends, Examples: baseball statistics, stock trends,
connections between criminals, car attributes...connections between criminals, car attributes...
Scientific VisualizationScientific Visualization Primarily relates to and represents something Primarily relates to and represents something
physical or geometricphysical or geometric ExamplesExamples
Air flow over a wingAir flow over a wingStresses on a girderStresses on a girderWeather over PennsylvaniaWeather over Pennsylvania
Key AttributesKey Attributes
ScaleScale Challenge often arises when data sets become Challenge often arises when data sets become
very largevery large
InteractivityInteractivity Want to show multiple different perspectives on Want to show multiple different perspectives on
the datathe data
TasksTasks Want to support specific tasks – not just to Want to support specific tasks – not just to
create a cool democreate a cool demo Support discovery, decision making, explanationSupport discovery, decision making, explanation
What is Scientific What is Scientific Visualization?Visualization?
It is a It is a transformation of transformation of abstract data into abstract data into readily-readily-comprehensible comprehensible imagesimages
It relies on human It relies on human cognitive cognitive processesprocesses
Data Visualization Display
Geometric and Visual Geometric and Visual Computing AreasComputing Areas
Computer Aided Geometric Design (CAGD): Computer Aided Geometric Design (CAGD): Curves/surfacesCurves/surfaces
Solid Modeling: Representations and Algorithms Solid Modeling: Representations and Algorithms for solidsfor solids
Computational Geometry: Provably efficient Computational Geometry: Provably efficient algorithmsalgorithms
Computer-Aided Design (CAD): Automation of Computer-Aided Design (CAD): Automation of Shape DesignShape Design
Computer-Aided Manufacturing (CAM): NC Computer-Aided Manufacturing (CAM): NC MachiningMachining
Finite Element Meshing (FEM): Construction and Finite Element Meshing (FEM): Construction and simulationsimulation
New Topics in New Topics in Computational Science Computational Science
and Engineeringand Engineering ““Collaboratories” and scientific workspaces Collaboratories” and scientific workspaces
of the futureof the future
Scientific research in virtual worldsScientific research in virtual worlds
Exascale ScienceExascale Science
Web ScienceWeb Science
Programming and Programming and Mathematical SolversMathematical Solvers
Popular Popular Symbolic/Mathematical Symbolic/Mathematical Software Packages (1/2)Software Packages (1/2)
MathematicaMathematica Advantages - premier all-purpose mathematical Advantages - premier all-purpose mathematical
software package; It integrates swift and accurate software package; It integrates swift and accurate symbolic and numerical calculation, all-purpose symbolic and numerical calculation, all-purpose graphics, and a powerful programming language graphics, and a powerful programming language
Disadvantages – Steep learning curve, expensive; Disadvantages – Steep learning curve, expensive; premier all-purpose mathematical software package. premier all-purpose mathematical software package. It integrates swift and accurate symbolic and It integrates swift and accurate symbolic and numerical calculation, all-purpose graphics, and a numerical calculation, all-purpose graphics, and a powerful programming language powerful programming language
MatlabMatlab Advantages - combines efficient computation, Advantages - combines efficient computation,
visualization and programming for linear-algebraic visualization and programming for linear-algebraic technical work and other mathematical areas technical work and other mathematical areas
Disadvantages - Not for analytical/symbolic math Disadvantages - Not for analytical/symbolic math
Popular Popular Symbolic/Mathematical Symbolic/Mathematical Software Packages (2/2)Software Packages (2/2)
MapleMaple Advantages - powerful analytical and mathematical Advantages - powerful analytical and mathematical
software which does the same sorts of things that software which does the same sorts of things that Mathematica does, with similar high quality; Mathematica does, with similar high quality; programming language is procedural -- like C or Fortran programming language is procedural -- like C or Fortran or Basic -- although it has a few functional programming or Basic -- although it has a few functional programming constructs. constructs.
Disadvantages - Worksheet interface/typesetting not as Disadvantages - Worksheet interface/typesetting not as developed as Mathematica's, but it is less expensive developed as Mathematica's, but it is less expensive
IDL (Interactive Data Language)IDL (Interactive Data Language) Advantages - excels at processing real-world data, Advantages - excels at processing real-world data,
especially graphics, and has a reasonably simple syntax, especially graphics, and has a reasonably simple syntax, especially for those familiar with Fortran or C; makes it especially for those familiar with Fortran or C; makes it as easy as possible to read in data from files of numerous as easy as possible to read in data from files of numerous scientific data formatsscientific data formats
Disadvantages - Does not do symbolic math Disadvantages - Does not do symbolic math
Scientific Workspace of Scientific Workspace of the Future (SWOF)the Future (SWOF)
Ad Hoc CollaborationAd Hoc Collaboration
Distance LearningDistance Learning
Distributed Exploratory Distributed Exploratory AnalysisAnalysis
Interactive Scientific Interactive Scientific ComputingComputing
Online virtual worlds have great potential as sites for research in the social, behavioral, and economic sciences, as well as in human-centered computer science. A number of research methodologies are being explored, including formal experimentation, observational ethnography, and quantitative analysis of economic markets or social networks.
Web ScienceWeb Science
What is a What is a Computational Computational
Scientist?Scientist?