A Crash Course in Mathematica, Stephan Kaufman, 1999, 200 pages, for Mathematica version 3, ISBN 3764361271, Library-of-Congress QA 76.95 K3913 1999 SA Crash Course in Mathematica, Stephan Kaufman, 1999, 200 pages, for Mathematica version 3, ISBN 3764361271, Library-of-Congress QA 76.95 K3913 1999 Steenbock Library. Translated from German by Katrin Gygax. Originally /Mathematica--kurz und bündig/, 1998.
This is a good primer. The basics this book covers are still current.
Mathematica: The Student Book, Stephen Wolfram, 1994, for Mathematica version 2, 501 pp. Library-of-Congress QA76.95.B43 1994 Steenbock Library. ISBN Mathematica: The Student Book, Stephen Wolfram, 1994, for Mathematica version 2, 501 pp. Library-of-Congress QA76.95.B43 1994 Steenbock Library. ISBN 0201554798.
All this content is probably in Stephen Wolfram's 2005 The Mathematica Book, 5th edition, for Mathematica version 5.
However, the smaller, older book, may be easier to find what you need in.
Also, Wolfram here explicitly tells us of key features that aren't apparent elsewhere, such as:
"The standard notebook interface for /Mathematica/ allows you to specify certain cells of /Mathematica/ input as being "initialization cells". These cells can contain definitions and results that are automatically set up again whenever you open the notebook." Well, hallelujah! That will be very handy, not to have to re-evaluate every expression in the notebook every time I reopen the file. This 1994 book says it on p. 278, section 29.1. I hadn't seen this in any other documentation.
Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic
SECOND EDITION: Second edition, 2020, 597pp., ISBN 9781492051367
Errata: p. 49 say
Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic
SECOND EDITION: Second edition, 2020, 597pp., ISBN 9781492051367
Errata: p. 49 says 10**googol has 1000 zeroes. No, it has a googol (10**100) of zeroes.
2**(3**4) = 2**81 (2**3)**4 = 2**12
FIRST EDITION:
Introducing Python, Bill Lubanovic, 2015, 454pp. Dewey 005.133
This book is pretty good at getting you coding quickly.
PYTHON
We get examples like this:
cheeses = [] for cheese in cheeses: print('This shop has some lovely', cheese) break else: # no break means no cheese print('This is not much of a cheese shop, is it?')
(Chapter 4: Py Crust: Code Structures. p. 79 in 2015 edition.)
WARNING: INSTALLING AND RUNNING
The Anaconda installer doesn't support spaces in the file-path name. Instead of "Current User," install as root. The book doesn't warn you of that. https://github.com/ContinuumIO/anacon...
Then, since the executable and your files aren't in your user directory, when you want to run one of your scripts from a Windows powershell, you have to
cd C:\ProgramData\Anaconda3
then you can enter
C:\ProgramData\Anaconda3> python test1.py
to run your 'test1' script, or whatever it may be.
The book doesn't tell you this.
Use Anaconda Navigator to open a Windows PowerShell: doing it from here activates the environment: necessary to get your scripts to run. The book doesn't say this.
We learn that Python looks for files to import based on a list "in the standard sys module." We don't learn where this module is. Chapter 5: Py Boxes: Modules, Packages, and Programs, p. 113 in the 2015 edition.
CAUTION
CODE SAMPLES from the book: the simple ones work. Those dependent on pulling datasets off the web do not work.
b = 5 c = 15 a = b + c a gives 20. So far so good. Now, though, after b = 6 a gives 20. It's not enough to change the variable values: you have to redefine the function to get its output to change, if reassigning values to variables. You have to again say a = b + c now a gives 21.
YOU HAVE TO EXPLICITLY import math
before you can do calculations like
math.sqrt(2) 1.4142135623730951
(although Python can do 2**.5 to give 1.4142135623730951 without the math library.)
math.log(10) 2.302585092994046
math.log(100, 10) 2.0
math.e 2.718281828459045
For the square root of a negative number, you have to explicitly import the complex math library:
import cmath
Then you can do
cmath.sqrt(-1) 1j
However, Python can do all this without importing the cmath library:
Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic
SECOND EDITION: Second edition, 2020, 597pp., ISBN 9781492051367
Errata: p. 49 say
Introducing Python: Modern Computing in Simple Packages, Bill Lubanovic
SECOND EDITION: Second edition, 2020, 597pp., ISBN 9781492051367
Errata: p. 49 says 10**googol has 1000 zeroes. No, it has a googol (10**100) of zeroes.
2**(3**4) = 2**81 (2**3)**4 = 2**12
FIRST EDITION:
Introducing Python, Bill Lubanovic, 2015, 454pp. Dewey 005.133
This book is pretty good at getting you coding quickly.
PYTHON
We get examples like this:
cheeses = [] for cheese in cheeses: print('This shop has some lovely', cheese) break else: # no break means no cheese print('This is not much of a cheese shop, is it?')
(Chapter 4: Py Crust: Code Structures. p. 79 in 2015 edition.)
WARNING: INSTALLING AND RUNNING
The Anaconda installer doesn't support spaces in the file-path name. Instead of "Current User," install as root. The book doesn't warn you of that. https://github.com/ContinuumIO/anacon...
Then, since the executable and your files aren't in your user directory, when you want to run one of your scripts from a Windows powershell, you have to
cd C:\ProgramData\Anaconda3
then you can enter
C:\ProgramData\Anaconda3> python test1.py
to run your 'test1' script, or whatever it may be.
The book doesn't tell you this.
Use Anaconda Navigator to open a Windows PowerShell: doing it from here activates the environment: necessary to get your scripts to run. The book doesn't say this.
We learn that Python looks for files to import based on a list "in the standard sys module." We don't learn where this module is. Chapter 5: Py Boxes: Modules, Packages, and Programs, p. 113 in the 2015 edition.
CAUTION
CODE SAMPLES from the book: the simple ones work. Those dependent on pulling datasets off the web do not work.
b = 5 c = 15 a = b + c a gives 20. So far so good. Now, though, after b = 6 a gives 20. It's not enough to change the variable values: you have to redefine the function to get its output to change, if reassigning values to variables. You have to again say a = b + c now a gives 21.
YOU HAVE TO EXPLICITLY import math
before you can do calculations like
math.sqrt(2) 1.4142135623730951
(although Python can do 2**.5 to give 1.4142135623730951 without the math library.)
math.log(10) 2.302585092994046
math.log(100, 10) 2.0
math.e 2.718281828459045
For the square root of a negative number, you have to explicitly import the complex math library:
import cmath
Then you can do
cmath.sqrt(-1) 1j
However, Python can do all this without importing the cmath library:
Microsoft Excel User's Guide, Version 5.0, 1994, 786 pages, Document No. XL64081-0295
Most of this is still valid. We're no longer limited to 256 columMicrosoft Excel User's Guide, Version 5.0, 1994, 786 pages, Document No. XL64081-0295
Most of this is still valid. We're no longer limited to 256 columns.
For Microsoft Windows (as distinct from Apple Macintosh, which uses COMMAND and letter keys rather than CTRL and function keys. The book shows both):
125 Chapter 10: Creating Formulas and Links
129 To switch between displaying formulas and values in cells: CTRL‘ (single left quotation mark)
130 for logical tests, 0 is FALSE; other numbers are TRUE.
132 References Make Formulas More Powerful
133 To change the selected reference type, press F4: toggles from relative (A1) to absolute ($A$1) to mixed (A$1) to mixed ($A1)
133 Reference Operators:
Range (colon) one reference to all the cells between and including the two references
Union (comma) one reference that includes the two references
Intersection (space) one reference to cells common to the two references
134 1:3 is all of rows 1 through 3
137 You cannot use 3-D references with array formulas, with the intersection operator, or in formulas using implicit intersection.
142 Names Make References Easier to Use
To define names, use the Name command on the Insert menu, or the name box in the formula bar.
143 Name a column January and a row Sales, then January Sales or Sales January refers to the intersecting cell.
143 The Name Box Click the arrow beside the name box to show all the names in the worksheet.
144 Book-Level and Sheet-Level Names
For a sheet-level name: Insert menu, Name, Define. Precede the name with the sheet name and exclamation point.
When you use a sheet-level name in a formula on the sheet where the name is defined, you do not type the sheet name and exclamation point, nor do they appear in the name box on the formula bar.
145 Rules for Names
First character must be a letter or underscore or backslash.
Other characters can be letters, numbers, periods, underscore, backslash, question mark.
The name cannot look like a reference such as A$1 or R1C1.
Excel DOES NOT DISTINGUISH BETWEEN UPPERCASE AND LOWERCASE LETTERS WHEN READING NAMES IN FORMULAS.
145 Referring to Intersecting Ranges
146 You cannot use either implicit or explicit intersection with 3-D names.
146 Named Formulas and Constants
Name a formula or constant (but not a variable) without putting it in a cell: Insert Menu, Name, Define.
147 Naming Relative References: delete the dollar signs in the Define Name dialog box. Now the cells the name refers to will change if the formula is moved or copied to a different cell.
148 #NAME? Error A1D10 is a name. A1:D10 is a range of cells.
148 Working with Names
148 If you use the same name to define both a sheet-level name and a book-level name, the sheet-level name takes precedence on the sheet where it is defined.
149 If you type in the name box an existing name of a formula or constant, the name definition is replaced by the reference of the selected range.
149 Creating and Applying Names
Create names using top-row and/or left-column headings: Insert menu, Name, Create, check the Top Row and Left Column boxes to create names using their headings.
Then =January Profits for example, returns the value of the intersecting cell.
149-150 Apply names: Insert menu, Name, Apply, select the names, click OK: substitutes the names for any cell references that match the name definitions. Applies names to entire sheet, or, if more than one cell is selected, applies them only to the selection.
152 Guidelines for Using Functions In Excel, you can nest up to seven levels of functions in a formula.
153 To create your own functions, see the Microsoft Excel Visual Basic User's Guide, Chapter 3.
166 Controlling Calculation
Excel normally stores numbers to 15 digits.
167 Replacing a Formula with Its Calculated Value F9 or CTRL= or copy the cell, then Edit menu, Paste Special, Values option, press Enter. Replaces formula with its numeric value. You can replace a portion of a formula with its value: select the part of it you want to replace with its value, press F9 or CTRL=. 168 This permanently removes the formula.
168 Dates Jan. 1, 1900 is "1." That's for Windows. 169 If you create an Excel file in Macintosh and open it in Windows, or vice versa, the dates will all be wrong.
169 Logical Values TRUE = 1 FALSE = 0
170 Solving Circular Reference Formulas Using Iteration
Tools menu, Options, Calculations, Iteration
171 Working with Arrays
Arrays of up to about 6500 elements are permitted.
171 Understanding Arrays {=A1:A3+B1:B3} is {A1+B1, A2+B2, A3+B3} 172 {=SQRT(A1:A5)} is {SQRT(A1), SQRT(A2), SQRT(A3), SQRT(A4), SQRT(A5)}
172 An array formula uses more memory than the equivalent ordinary formulas.
172 YOU DON'T TYPE THE BRACES. TYPE THE ARRAY FORMULA WITHOUT THEM AND PRESS CTRL+SHIFT+ENTER to tell Excel it's an array formula. Excel adds the braces.
172 You cannot change or delete individual cells in the array range.
173 Editing Arrays Edit menu, Go To, Special, Current Array (for the array containing the active cell)
178 Microsoft Excel Functions That Work with Arrays