To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
Languages
Recent
Show all languages
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Scientific programming language

From Wikipedia, the free encyclopedia

In computer programming, a scientific programming language can refer to two degrees of the same concept.

In a wide sense, a scientific programming language is a programming language that is used widely for computational science and computational mathematics. In this sense, C/C++ and Python can be considered scientific programming languages.

In a stronger sense, a scientific programming language is one that is designed and optimized for the use of mathematical formula and matrices.[1] Such languages are characterized not only by the availability of libraries performing mathematical or scientific functions, but by the syntax of the language itself.[2] For example, neither C++ nor Python have built-in matrix types or functions for matrix arithmetic (addition, multiplication etc.); instead, this functionality is made available through standard libraries. Scientific programming languages in the stronger sense include ALGOL, APL, Fortran, J, Julia, Maple, MATLAB, Octave, and R.[3][4]

Scientific programming languages should not be confused with scientific language in general, which refers loosely to the higher standards in precision, correctness and concision expected from practitioners of the scientific method.

YouTube Encyclopedic

  • 1/3
    Views:
    469
    2 511
    12 865
  • Julia Scientific Programming MOOC
  • Introduction to Python Programming for Scientists I
  • Faith, Evolution, and Programming Languages

Transcription

Examples

Linear algebra

Scientific programming languages provide facilities to work with linear algebra. For example, the following Julia program solves a system of linear equations:

A = rand(20, 20)  # A is a 20x20 matrix
b = rand(20)      # b is a 20-element vector
x = A\b           # x is the solution to A*x = b

Working with large vectors and matrices is a key feature of these languages, as linear algebra lays the foundation to mathematical optimization, which in turn enables major applications such as deep learning.

Mathematical optimization

In a scientific programming language, we can compute function optima with a syntax close to mathematical language. For instance, the following Julia code finds the minimum of the polynomial .

using Optim

P(x,y) = x^2 - 3x*y + 5y^2 - 7y + 3

z₀ = [ 0.0
       0.0 ]     # starting point for optimization algorithm

optimize(z -> P(z...), z₀, Newton();
         autodiff = :forward)

In this example, Newton's method for minimizing is used. Modern scientific programming languages will use automatic differentiation to compute the gradients and Hessians of the function given as input; cf. differentiable programming. Here, automatic forward differentiation has been chosen for that task. Older scientific programming languages such as the venerable Fortran would require the programmer to pass, next to the function to be optimized, a function that computes the gradient, and a function that computes the Hessian.

With more knowledge of the function to be minimized, more efficient algorithms can be used. For instance, convex optimization provides faster computations when the function is convex, quadratic programming provides faster computations when the function is at most quadratic in its variables, and linear programming when the function is at most linear.

See also

References

  1. ^ "Definition of scientific language". PC Magazine Encyclopedia. Ziff Davis. Retrieved 13 May 2021.
  2. ^ "scientific language - Definition of scientific language". YourDictionary. The Computer Language Company Inc. Retrieved 27 March 2014.
  3. ^ Ning, Andrew. "Scientific Programming Languages". Flight, Optimization, and Wind Laboratory. Brigham Young University. Retrieved 13 May 2021.
  4. ^ Zachary, Joseph. "Introduction to Scientific Programming: Computational Problem Solving Using Maple and C". Joseph L. Zachary. University of Utah. Retrieved 13 May 2021.
This page was last edited on 11 June 2024, at 02:54
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.