Muutke küpsiste eelistusi

E-raamat: F# for Scientists

(Flying Frog Consultancy), Foreword by
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 20-Sep-2011
  • Kirjastus: Wiley-Interscience
  • Keel: eng
  • ISBN-13: 9781118210819
  • Formaat - EPUB+DRM
  • Hind: 108,62 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Raamatukogudele
  • Formaat: EPUB+DRM
  • Ilmumisaeg: 20-Sep-2011
  • Kirjastus: Wiley-Interscience
  • Keel: eng
  • ISBN-13: 9781118210819

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

"This work strikes a balance between the pure functional aspects of F# and the object-oriented and imperative features that make it so useful in practice, enable .NET integration, and make large-scale data processing possible." Thore Graepel, PhD, Researcher, Microsoft Research Ltd. Over the next five years, F# is expected to become one of the world's most popular functional programming languages for scientists of all disciplines working on the Windows platform. F# is free and, unlike MATLAB® and other software with numerical/scientific origins, is a full-fledged programming language.

Developed in consultation with Don Syme of Microsoft Research Ltd.who wrote the languageF# for Scientists explains and demonstrates the powerful features of this important new programming language. The book assumes no prior experience and guides the reader from the basics of computer programming to the implementation of state-of-the-art algorithms.

F# for Scientists begins with coverage of introductory material in the areas of functional programming, .NET, and scientific computing, and goes on to explore:





Program structure



Optimization



Data structures



Libraries



Numerical analysis



Databases



Input and output



Interoperability



Visualization





Screenshots of development using Visual Studio are used to illustrate compilation, debugging, and interactive use, while complete examples of a few whole programs are included to give readers a complete view of F#'s capabilities.

Written in a clear and concise style, F# for Scientists is well suited for researchers, scientists, and developers who want to program under the Windows platform. It also serves as an ideal supplemental text for advanced undergraduate and graduate students with a background in science or engineering.

Arvustused

"The hardbound book is a really solid treatment." (Computing Reviews, February 5, 2009)

Foreword xix
Preface xxi
Acknowledgments xxiii
List of Figures
xxv
List of Tables
xxxi
Acronyms xxxiii
Introduction
1(36)
Programming guidelines
2(1)
A brief history of F#
2(1)
Benefits of F#
3(1)
Introducing F#
3(26)
Language overview
4(11)
Pattern matching
15(9)
Equality
24(2)
Sequence expressions
26(1)
Exceptions
27(2)
Imperative programming
29(2)
Functional programming
31(6)
Immutability
31(1)
Recursion
32(1)
Curried functions
33(2)
Higher-order functions
35(2)
Program Structure
37(26)
Nesting
38(1)
Factoring
38(4)
Factoring out common subexpressions
39(1)
Factoring out higher-order functions
39(3)
Modules
42(2)
Objects
44(5)
Augmentations
44(2)
Classes
46(3)
Functional design patterns
49(4)
Combinators
49(3)
Maps and folds
52(1)
F# development
53(10)
Creating an F# project
54(1)
Building executables
54(2)
Debugging
56(1)
Interactive mode
56(2)
C# interoperability
58(5)
Data Structures
63(50)
Algorithmic complexity
64(5)
Primitive operations
64(1)
Complexity
65(4)
Arrays
69(6)
Array literals
69(1)
Array indexing
70(1)
Array concatenation
70(1)
Aliasing
71(1)
Subarrays
72(1)
Creation
72(1)
Iteration
72(1)
Map
73(1)
Folds
73(2)
Sorting
75(1)
Pattern matching
75(1)
Lists
75(7)
Sorting
76(1)
Searching
76(2)
Filtering
78(1)
Maps and folds
78(2)
Pattern matching
80(2)
Sets
82(2)
Creation
82(1)
Insertion
83(1)
Cardinality
83(1)
Set-theoretic operations
83(1)
Comparison
84(1)
Hash tables
84(3)
Creation
85(1)
Searching
86(1)
Insertion, replacement and removal
86(1)
Higher-order functions
87(1)
Maps
87(4)
Creation
88(1)
Searching
89(1)
Higher-order functions
90(1)
Choosing a data structure
91(1)
Sequences
92(1)
Heterogeneous containers
92(1)
Trees
93(20)
Balanced trees
100(1)
Unbalanced trees
101(9)
Abstract syntax trees
110(3)
Numerical Analysis
113(14)
Number representation
113(4)
Machine-precision integers
113(1)
Machine-precision floating-point numbers
114(3)
Algebra
117(2)
Interpolation
119(1)
Quadratic solutions
120(2)
Mean and variance
122(1)
Other forms of arithmetic
123(4)
Arbitrary-precision integer arithmetic
123(1)
Arbitrary-precision rational arithmetic
124(1)
Adaptive precision
125(2)
Input and Output
127(14)
Printing
127(2)
Generating strings
128(1)
Generic printing
129(1)
Reading from and writing to files
130(1)
Serialization
131(1)
Lexing and parsing
132(9)
Lexing
133(4)
Parsing
137(4)
Simple Examples
141(32)
Functional
141(6)
Nest
142(1)
Fixed point
142(1)
Within
142(1)
Memoize
143(4)
Binary search
147(1)
Numerical
147(10)
Heaviside step
147(1)
Kronecker δ-function
148(1)
Gaussian
148(1)
Binomial coefficients
149(2)
Root finding
151(1)
Grad
151(1)
Function minimization
152(2)
Gamma function
154(1)
Discrete wavelet transform
155(2)
String related
157(2)
Transcribing DNA
157(1)
Word frequency
158(1)
List related
159(9)
count
159(1)
positions
160(1)
fold_to
160(1)
insert
161(1)
chop
161(1)
dice
162(1)
apply_at
163(1)
sub
163(1)
extract
163(1)
shuffle
164(1)
transpose
165(1)
combinations
165(1)
distribute
166(1)
permute
167(1)
Power set
167(1)
Array related
168(1)
rotate
168(1)
swap
168(1)
except
169(1)
shuffle
169(1)
Higher-order functions
169(4)
Tuple related
170(1)
Generalized products
170(3)
Visualization
173(26)
Windows Forms
174(6)
Forms
174(1)
Controls
175(1)
Events
175(1)
Bitmaps
176(1)
Example: Cellular automata
177(2)
Running an application
179(1)
Managed DirectX
180(14)
Handling DirectX devices
180(3)
Programmatic rendering
183(5)
Rendering an icosahedron
188(3)
Declarative rendering
191(1)
Spawning visualizations from the F# interactive mode
192(2)
Tesselating objects into triangles
194(5)
Spheres
194(2)
3D function plotting
196(3)
Optimization
199(26)
Timing
200(2)
Absolute time
200(1)
CPU time
201(1)
Looping
201(1)
Example timing
202(1)
Profiling
202(3)
8-queens problem
202(3)
Algorithmic optimizations
205(1)
Lower-level optimizations
206(19)
Benchmarking data structures
207(4)
Compiler flags
211(1)
Tail-recursion
212(1)
Avoiding allocation
213(4)
Terminating early
217(3)
Avoiding higher-order functions
220(1)
Use mutable
220(1)
Specialized functions
221(1)
Unboxing data structures
222(1)
Eliminate needless closures
223(1)
Inlining
224(1)
Serializing
224(1)
Libraries
225(24)
Loading.NET libraries
226(1)
Charting and graphing
226(1)
Threads
227(7)
Thread safety
228(1)
Basic use
229(2)
Locks
231(1)
The thread pool
232(1)
Asynchronous delegates
233(1)
Background threads
233(1)
Random numbers
234(1)
Regular expressions
234(1)
Vectors and matrices
235(1)
Downloading from the Web
236(1)
Compression
237(1)
Handling XML
237(2)
Reading
237(1)
Writing
238(1)
Declarative representation
238(1)
Calling native libraries
239(1)
Fourier transform
240(5)
Native-code bindings
240(2)
Interface in F#
242(1)
Pretty printing complex numbers
243(1)
Example use
244(1)
Metaprogramming
245(4)
Emitting IL code
245(2)
Compiling with LINQ
247(2)
Databases
249(18)
Protein data bank
250(4)
Interrogating the PDB
250(1)
Pretty printing XML in F# interactive sessions
251(1)
Deconstructing XML using active patterns
251(2)
Visualization in a GUI
253(1)
Web services
254(4)
US temperature by zip code
255(1)
Interrogating the NCBI
256(2)
Relational databases
258(9)
Connection to a database
259(1)
Executing SQL statements
259(2)
Evaluating SQL expressions
261(1)
Interrogating the database programmatically
261(2)
Filling the database from a data structure
263(1)
Visualizing the result
263(1)
Cleaning up
264(3)
Interoperability
267(14)
Excel
267(5)
Referencing the Excel interface
268(1)
Loading an existing spreadsheet
268(1)
Creating a new spreadsheet
269(1)
Referring to a worksheet
269(1)
Writing cell values into a worksheet
270(1)
Reading cell values from a worksheet
271(1)
MATLAB
272(3)
Creating a .NET interface from a COM interface
272(1)
Using the interface
273(1)
Remote execution of MATLAB commands
273(1)
Reading and writing MATLAB variables
273(2)
Mathematica
275(6)
Using .NET-link
275(2)
Example
277(4)
Complete Examples
281(30)
Fast Fourier transform
281(7)
Discrete Fourier transform
282(1)
Danielson-Lanczos algorithm
283(2)
Bluestein's convolution algorithm
285(2)
Testing and performance
287(1)
Semi-circle law
288(3)
Eigenvalue computation
289(1)
Injecting results into Excel
290(1)
Results
291(1)
Finding nth-nearest neighbors
291(10)
Formulation
292(3)
Representing an atomic configuration
295(1)
Parser
295(2)
Lexer
297(1)
Main program
297(2)
Visualization
299(2)
Logistic map
301(2)
Real-time particle dynamics
303(8)
Appendix A: Troubleshooting
311(6)
A.1 Value restriction
311(1)
A.2 Mutable array contents
312(1)
A.3 Negative literals
313(1)
A.4 Accidental capture
313(1)
A.5 Local and non-local variable definitions
313(1)
A.6 Merging lines
314(1)
A.7 Applications that do not die
314(1)
A.8 Beware of ``it''
315(2)
Glossary 317(8)
Bibliography 325(4)
Index 329
Jon Harrop, PhD, has taught mathematics, biology, and computer science. He founded Flying Frog Consultancy; has produced several products for computational scientists, including the book OCaml for Scientists; and has consulted for high-tech companies on the commercial use of functional programming languages.