Download Full (Ebook) Scientific Programming: Numeric, Symbolic, and Graphical Computing with Maxima by Jorge Alberto Calvo ISBN 9781527511170, 1527511170 PDF All Chapters
Download Full (Ebook) Scientific Programming: Numeric, Symbolic, and Graphical Computing with Maxima by Jorge Alberto Calvo ISBN 9781527511170, 1527511170 PDF All Chapters
com
https://ebooknice.com/product/scientific-programming-
numeric-symbolic-and-graphical-computing-with-
maxima-34588190
OR CLICK HERE
DOWLOAD EBOOK
ebooknice.com
ebooknice.com
https://ebooknice.com/product/sat-ii-success-
math-1c-and-2c-2002-peterson-s-sat-ii-success-1722018
ebooknice.com
ebooknice.com
(Ebook) Cambridge IGCSE and O Level History Workbook 2C -
Depth Study: the United States, 1919-41 2nd Edition by
Benjamin Harrison ISBN 9781398375147, 9781398375048,
1398375144, 1398375047
https://ebooknice.com/product/cambridge-igcse-and-o-level-history-
workbook-2c-depth-study-the-united-states-1919-41-2nd-edition-53538044
ebooknice.com
https://ebooknice.com/product/programming-and-scientific-computing-in-
python-51055746
ebooknice.com
ebooknice.com
https://ebooknice.com/product/modeling-with-data-tools-and-techniques-
for-scientific-computing-51958988
ebooknice.com
https://ebooknice.com/product/scientific-computing-with-case-
studies-1081062
ebooknice.com
Scientific Programming
Scientific Programming:
By
Jorge Alberto Calvo
Scientific Programming:
Numeric, Symbolic, and Graphical Computing with Maxima
Copyright
c 2018 by Jorge Alberto Calvo.
All rights for this book reserved. No part of this book may be reproduced, stored
in a retrieval system, or transmitted, in any form or by any means, electronic,
mechanical, photocopying, recording or otherwise, without the prior permission of
the copyright owner.
All figures were rendered by the author using Maxima’s draw package and the
tikz package for the LATEX typesetting language. The following photographs are
included with the copyright owner’s permission:
◦ Lofting Ducks (page 361) by Mathew Emerick (2012).
◦ Oratory at Sunrise (page 455) by Tyler Neil Photography (2015).
To my father
Table of Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Epilogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
Foreword
feedback, both implicit and explicit, has made this a better book
than it otherwise would have been.
My beautiful wife and children deserve a special word of mention
since they have tolerated many a late night, especially as I put the
manuscript in its final form.
Finally, I wish to dedicate this book to my father, to whom I owe
more than I could ever repay. I have many fond memories of going as
a child to see his enormous Burroughs B1700 mainframe computer at
work. The world has changed a lot since the time of punch cards and
tape reels. His countless sacrifices throughout these years have made
me into the man I am today.
Framingham, Massachusetts
March 2018
CHAPTER 1
An Introduction to Programming
in just a couple of seconds. However, we are still faced with the task
of explaining to our computers exactly how to perform the calcula-
tions that we need them to perform. This is where programming
languages come into play. In the course of this book, we will start to
learn a programming language called Maxima. Just as our everyday
thoughts are expressed in English (or perhaps Latin or Spanish) and
our descriptions of quantitative phenomena are expressed using math-
ematical notation, our computational instructions will be expressed in
the language of Maxima.
Before successfully using computers to study a mathematical prob-
lem, we need to understand three key areas:
x the mathematical theory that underlies the problem at hand,
y the implementation, or the way that we choose to represent
mathematical objects inside the computer, and
z the syntax, or the grammar that we use to communicate our
instructions to the computer.
For instance, in order to compare the computational efficacy of Leib-
niz’s series and Archimedes’ sequence in our discussion above, we need
to remember the mathematical concepts of infinite sequences and se-
ries, as well as the definition of convergence. These definitions form
part of the mathematical theory that gives shape and context to the
problem. Next, we need to decide whether these abstract objects will
be represented numerically, symbolically, or graphically in our com-
puter. This is the realm of implementation. Finally, we need to know
what instructions to type into our computer to bring about this im-
plementation. This is a question of syntax; it is here that we shall
start our study of programming in general and of Maxima specifically.
In order to begin, you will need to sit down in front of a computer
terminal and start up a session of Maxima.1 You can do this by click-
ing on the wxMaxima icon from the Applications folder in a Macintosh
or the Start menu in a Windows PC. Depending on the version of
the software installed in your computer, the wxMaxima icon will look
something like this:
After you click on this icon, your computer will open up a new Maxima
window for you. When the Maxima session first starts up, you will see
the words “Ready for user input” at the bottom of the window. This
is Maxima’s way of telling you that she is ready for your instructions.
Maxima consists of three distinct components running simultane-
ously on your computer:
x an external user interface or “front end” called the iris,
y an internal computational engine called the kernel , and
z an extensive library of functions bundled in packages.
The Maxima window is just the visible part of the iris, which is run
by the application wxMaxima. The kernel is maintained by a sepa-
rate application that runs in the background of your computer. The
various packages are stored in a hidden directory in your computer’s
hard drive. For the sake of simplicity, we will use the term “Maxima
session” to refer to our interaction with all three of these components.
The main content of a Maxima session is organized as a sequence
of cells, each one of which is made up of some text or of some Maxima
instructions and their corresponding results. Every time that you type
an instruction into the iris, hold down the Shift key on your keyboard,
and press Enter, the iris passes this instruction to the kernel. The
kernel may need look up one or more functions from a package in the
library to execute this instruction, but when it is finished, it passes the
result back to the iris to display. Then the whole process is repeated
with a new cell.
To start, let us suppose that you want to make a header for your
Maxima session. You may wish to include such information as your
name, today’s date, a title, and whatever other relevant comments
you think are appropriate. For example, if you were working on the
homework problems at the end of this section, you could include a
phrase like “Section 1.1 homework” as part of your header. To do
this, select
Cell Insert Text Cell
from the drop-down menu at the top of the screen. Immediately, a
cell marker in the shape of a red square bracket will appear on the
left hand side of the window. You can then start typing your header
information.
When you have finished, you can create a new cell by going to the
drop-down menu and selecting
Cell Insert Input Cell
Again, there will be a cell marker on the left-hand side of the window,
6 1. AN INTRODUCTION TO PROGRAMMING
but this time you will also see an arrow-shaped input prompt that
looks like this:
-->
The simplest kind of expression you might type at the input prompt
is a number:
--> 485
(%i1) 485
(%o1) 485
You will observe that the arrow prompt was replaced with the input
label (%i1), and that the corresponding output is also given an out-
put label (%o1). For the sake of simplicity, we will ignore input and
output labels throughout this book. Instead, we will indicate Maxima
input and output by using a cell marker, with the instructions given
in typewriter font and the corresponding output in normal Roman
font. Thus, the short interaction above would be rendered as follows:
485;
485
Take special note of the use of the semicolon in the expression
above. This is our first encounter with Maxima’s syntax, which re-
quires that every expression end in either a semicolon or a dollar sign.
Ending an expression with a semicolon instructs Maxima to display
the result of evaluating the expression. In our example above, this
result was the number 485. In contrast, ending an expression with
a dollar sign instructs Maxima not to display the result and to just
move on to the next expression. If you do not have the appropriate
punctuation mark, then Maxima will insert a semicolon automatically
for you, but sometimes this can result in an error message.
Numbers may be combined with arithmetic operators into more
complicated expressions, such as:
139 + 346;
485
1.1. GETTING STARTED WITH MAXIMA 7
5 * 97;
485
Maxima recognizes the five arithmetic operators listed in Table 1-1.
In addition, parentheses provide a straightforward way to create even
more complex expressions out of simpler ones by means of nesting.
For instance, you might enter:
(3 * 5) / (10 - 6);
15
4
+ 57
* 48 + 9
3 + 16 - 3 6
* 8 + 8 10 7
2 4 3 5
In either case, Maxima will return precisely the same value. In the ab-
sence of any parentheses, complex expressions are evaluated by follow-
ing a strict precedence rule in which higher precedence operators are
applied before lower precedence ones. The five arithmetic operators
that appear in Table 1-1 are listed from highest to lowest precedence.
This means that, in an expression with no parentheses, exponentia-
tion is done first, followed by division, multiplication, subtraction, and
finally addition. If the same operator appears more than once in an
expression, then it will typically be applied from left to right; this is
known as left-to-right associativity . For instance, when evaluating
the expression
3 * (2 * 4 + 3 + 5) + 10 - 7 + 6,
Maxima will first tackle the highest precedence operation, which in
this case happens to be the product
3 * (2 * 4 + 3 + 5).
10 1. AN INTRODUCTION TO PROGRAMMING
3 * (2 * 4 + 3 + 5) + 10 - 7 + 6
↓
3 * (8 + 3 + 5) + 10 - 7 + 6
↓
3 * (11 + 5) + 10 - 7 + 6
↓
3 * 16 + 10 - 7 + 6
↓
48 + 10 - 7 + 6
↓
48 + 3 + 6
↓
51 + 6
↓
57
Fig. 1-2. Evaluating 3*(2*4+3+5)+10-7+6.
5^2 + (3 * 4)^2
2 * pi;
6.28
2 * cos(pi/5);
1.618408361976065
You can even use the value of one variable when you assign values to
other variables. For instance, you might enter:
circumference : 2 * pi * radius;
6.28 radius
1.1. GETTING STARTED WITH MAXIMA 13
area : pi * radius^2;
3.14 radius2
This associates each of the variables circumference and area with a
formula that depends on the variables pi and radius. In each case,
pi was replaced with its value. On the other hand, radius, which
is a free variable that has not yet been given a value, appears by
name only. We can replace it with a value, say with the radius of the
earth (in kilometers), by calling the substitution command subst()
as follows:
rad_of_earth : 6371;
6371
circumference;
6.28 radius
area;
3.14 radius2
As you might imagine, Maxima maintains a record of all of the
variables assigned during a session. You can see the names in this list
by evaluating the variable values:
values;
[pi, circumference, area, rad of earth]
14 1. AN INTRODUCTION TO PROGRAMMING
You can remove a variable from this list by invoking the command
kill():2
kill(rad_of_earth);
done
As expected, this command removes the variable in question from the
list of assigned variables and disassociates it from its former value:
values;
[pi, circumference, area]
rad_of_earth;
rad of earth
Although you can use nearly any combination of letters or numer-
als and even some symbols like % or \ to name a variable, there are a
few rules you must abide by. First of all, you cannot start a variable
name with a numeral. Secondly, you should remember that Max-
ima is case-sensitive, so the names Billy, BILLY, and billy are
all distinct. Finally, there are a few protected names that Maxima
reserves for its own use. For example, you would get an error if you
tried to store a value under the variable name values. You would get
a similar error if you tried to assign a value to the names %e, %phi, or
%pi, since these are permanently assigned to the exact values of the
mathematical constants e, ϕ, and π. You can see their decimal (or
floating-point) approximations by using the special function float()
as follows:
float(%e);
2.718281828459045
float(%phi);
1.618033988749895
float(%pi);
3.141592653589793
2 This aggressive-sounding command can also allow you to clear all of the con-
tents in the kernel’s memory and reinitialize the Maxima session. Simply enter
kill(all). Yikes!
1.1. GETTING STARTED WITH MAXIMA 15
Suppose that, inspired by the last result, you decide to use a better
approximation for π in the circumference and area formulas that we
defined above. To start, you would give the variable pi a new value
by entering:
pi : float(%pi);
3.141592653589793
This change will affect all future interactions with Maxima during this
session. For example, you can now define a new formula for the vol-
ume of a sphere by typing:
volume : 4/3 * pi * radius^3;
4.188790204786391 radius3
As expected, the variable pi in this formula was replaced by its (new
and improved) numerical value. On the other hand, the circumference
and area formulas are not affected by the change in the value of pi.
Instead, they stubbornly cling to their old (and now obsolete) values:
circumference;
6.28 radius
area;
3.14 radius2
To understand the reason behind Maxima’s strange behavior here,
we need to go back and remember exactly what happened in our
interactions with Maxima, from the kernel’s point of view. When we
first assigned formulas to circumference and area, the variable pi
was already assigned the value 3.14. Therefore, these formulas were
immediately evaluated, respectively, as
These were the values that were originally stored in the kernel’s mem-
ory. When the free variable radius was replaced with a numerical
value, Maxima was able to evaluate both circumference and area
as numbers, but their values in memory (in other words, the formulas
above) never changed. Since the variable name pi does not appear in
either of those formulas, they remained unaffected when the value of
pi was changed later on, as we saw above. These observations might
be summarized in the following fortune cookie mantra:
16 1. AN INTRODUCTION TO PROGRAMMING
area;
3.14 radius2
Note that nothing has changed in the kernel’s memory! Even though
the iris shows the new definition of pi occurring before the definitions
of circumference and area, as far as the kernel is concerned, pi was
given its new value after these two formulas were defined. In fact, you
can see that this is the case by taking a closer look at the numbers
in the input and output labels for the cells containing the respective
definitions. Once again, you will find that the kernel remembers your
instructions only in the order that you enter them.
In order to fix the two formulas in your computer’s memory, you
will need to enter the original definitions for circumference and area
a second time. Luckily, Maxima keeps track of all of the instructions
that you have entered so far in your session, saving you the effort of
typing the definitions from scratch. You can see these instructions
by holding down the Alt key while pressing the up arrow key several
times. You will see the last commands that you typed appear in re-
verse order in a new cell. You can also scroll forward through your
commands by holding down the Alt key while pressing the down arrow
key. For now, continue pressing Alt-⇑ until you see the command with
which you first defined circumference, and then, without changing
a thing, press Shift-Enter:
1.1. GETTING STARTED WITH MAXIMA 17
circumference : 2 * pi * radius;
6.283185307179586 radius
Repeating the same process, press Alt-⇑ until you find the command
with which you defined area. Once again, without changing anything,
press Shift-Enter:
area : pi * radius^2;
3.141592653589793 radius2
You have finally changed the contents of the kernel’s memory as de-
sired!
Using the mouse to move back and forth between the various cells
in a Maxima session is a convenient way to correct small errors; how-
ever you should do so only with extreme caution. In particular, since
the order in which the contents of the Maxima session appear in the
iris might not reflect the true contents of the kernel’s memory, it is
also an excellent way to propagate chaos, mayhem, and confusion. A
safer (though arguably less efficient) strategy is to make use of the
Alt-⇑ and Alt-⇓ shortcuts to scroll through your past commands and
make the appropriate changes in order. Regardless of the approach
you choose, you should always keep in mind that the kernel remembers
your instructions only in the order that you enter them!
“Nobody expects the Spanish Inquisition!”3 And nobody expects
to encounter critical errors in their computations. However, every
once in a while things may go awry and you will be required to restart
Maxima. To prevent losing your data in such an event, you should
save your work often. This can be done by selecting
File Save
from the drop-down menu at the top of the screen, by clicking the
Save icon at the top of the Maxima window, or by using the keyboard
shortcut Command-S.
The first time that you save a Maxima session, you will be asked to
choose a name, a location for your file, and a document format. There
are two file format options from which to choose. One of these options
is a “wxMaxima document” ending with the file extension .wxm. This
format saves all of your input during the session (including text com-
ments), but none of the corresponding output produced by Maxima.
To recover the output, you would have to evaluate all of the session’s
input again, perhaps by choosing the drop-down menu selection
Cell Evaluate All Cells
or by pressing Command-R.
The second option is to save your Maxima session as a “wxMaxima
xml document” ending in the extension .wxmx. This format saves
both the input and output from a session, but at the cost of producing
larger files. In general, the choice of format is entirely up to you, but
if you are planning on turning in a Maxima session as a homework
assignment, you should always use the xml format so your instructor
can see the same results you saw before you saved your work. This
is particularly important if you ignored our advice (which you are
always free to do) and the contents of the iris do not reflect the order
in which you evaluated them.
Finally, to close the Maxima session and exit, you can either go to
the drop-down menu and select
wxMaxima Quit wxMaxima
or press Command-Q. If you have not already done so, you will be
offered one last chance to save your work. Then, after a few moments,
the iris will close down until you summon Maxima once again at a later
time.
Exercises for Section 1.1
1. Add parentheses to the expression
3 + 2 * 10 - 1;
so that it evaluates to each of the following values. Explain the
evaluation process in each case.
Alexandria 7.2◦
sunlight
Syene
(a+b)/c;
b+a
c
log(x*y^2/z);
2
xy
log
z
sin(x + y);
sin (y + x)
sin(x)*cos(y) + cos(x)*sin(y);
cos (x) sin (y) + sin (x) cos (y)
On the other hand, we can ask Maxima to apply the appropriate iden-
tities to move back and forth between these expressions as follows:
combine(a/c + b/c);
b+a
c
distrib((a+b)/c);
b a
+
c c
radcan(log(x*y^2/z));
− log (z) + 2 log (y) + log (x)
trigexpand(sin(x + y));
cos (x) sin (y) + sin (x) cos (y)
trigreduce(sin(x)*cos(y) + cos(x)*sin(y));
sin (y + x)
Table 1-3 contains a list of just some of the many Maxima functions
available to help you in the process of simplifying expressions. For the
most part, the names of these functions tell you exactly what they
do. Thus, ratsimp() simplifies ratios, logcontract() contracts log-
arithms, trigexpand() expands expressions containing trigonometric
functions, and so on. One notable exception is the function radcan(),
short for “radical cancellation,” which serves as a sort of all-purpose
utility tool that can be useful for simplifying many different types of
expressions. You can find more information about these and other
functions by consulting the Maxima Manual [8], which you can access
by selecting
Help Maxima Help
from the drop-down menu or by pressing the question mark icon at
the top of the Maxima window.
This impressive list of functions might lead you to wonder why
Maxima does not have a single function that can find the simplest
24 1. AN INTRODUCTION TO PROGRAMMING
form of any given expression. The answer is that any given expres-
sion might have more than one form that could be considered the
simplest. For example, consider the polynomial:
A : (x + x^2 + x^3 + x^4 + x^5 + x^6)^2;
6 2
x + x5 + x4 + x3 + x2 + x
distrib(B);
x6 1
6 + 6
(x + 1) (x + 1)
expand(%);
40 y 14 x 176
y2 − + x2 + =
3 3 9
Now, if we were completing the first square using paper and pencil,
we would divide the coefficient of x by two, square it, and add it to
both sides of the equation. Similarly, we would divide the coefficient
of y by two, square it, and add it to both sides of the equation. This
would produce the perfect squares
2
2 14
2 49 7
u =x + x+ = x+
3 9 3
1.2. SYMBOLIC COMPUTATION 27
and 2
40 400 20
v2 = y2 − y+ = y− .
3 9 3
In Maxima, we accomplish the same task by replacing x with the ex-
pression u - 7/3 with the substitution command subst() as follows:
subst(x = u - 7/3, %);
7
14 u − 2
40 y 3 7 176
y2 − + + u− =
3 3 3 9
expand(%);
40 y 49 176
y2 − + u2 − =
3 9 9
Following the same recipe, we can complete the second square in our
equation by replacing y with the expression v + 20/3:
subst(y = v + 20/3, %);
20
2 40 v +
20 3 49 176
v+ − + w2 − =
3 3 9 9
expand(%);
449 176
v 2 + u2 − =
9 9
Finally, we obtain the desired formula for a circle by moving the con-
stant terms to the right and substituting back for the dummy variables
7 20
u=x+ and v=y− :
3 3
% + 449/9;
625
v 2 + u2 =
9
28 1. AN INTRODUCTION TO PROGRAMMING
It should
nowbe clear that the center of our circle is located at the
point − 73 , 20
3 . The radius can be found by taking the square root
of the right hand side of the equation, which we can extract with the
rhs() function as follows:4
sqrt(rhs(%));
25
3
7x − 3 = 4x + 9
4 The analogous Maxima function to extract the left hand side of an equation is
lhs().
1.2. SYMBOLIC COMPUTATION 29
solve(x^2 - x = 1);
√ √
5−1 5+1
[x = − ,x = ]
2 2
This yields two solutions which Maxima reports within a list, sepa-
rated by commas and surrounded by square brackets. (Technically
speaking, the unique solution for the example above was also set in a
list with only one item in it.) To access the contents of the list, we
must use an indexing operator , which consists of a pair of matching
square brackets [ · · · ] with a number in between them. In particu-
lar, we can assign the list of solutions above to the variable soln and
then select the first of these by entering soln[1] and the second by
entering soln[2]:
soln : %;
√ √
5−1 5+1
[x = − ,x = ]
2 2
soln[1];
√
5−1
x=−
2
soln[2];
√
5+1
x=
2
As before, we can check the validity of these solutions by substitut-
ing them back into the original equation using subst(). However,
as is often the case when dealing with complicated expressions, an
additional application of radcan() is required to make the equality
explicit:
subst(soln[1], x^2 - x = 1);
√ 2 √
1− 5 1− 5
− =1
4 2
radcan(%);
1=1
30 1. AN INTRODUCTION TO PROGRAMMING
radcan(%);
1=1
We can also use solve() to find the solution to an equation in-
volving more than one variable. In this case, however, Maxima must
be told for which variable we are intending to solve. For instance, in
order to solve the general quadratic equation
a x2 + b x + c = 0,
solve((3-log(x))*(3+log(x)) = 9 - log(x));
[x = 1, x = e]
solve(2^(2*x-1/2) = 32*sqrt(2));
[x = 3]
solve((sin(x))^2 = 1/4);
solve: using arc-trig functions to get a solution.
Some solutions will be lost.
π π
[x = − , x = ]
6 6
Take heed of that last warning: Although x = π/6 and x = −π/6
are two possible solutions, there are infinitely many others, including
x = 5π/6, x = −5π/6, and all of their coterminal variants.
The substantial mathematical knowledge displayed in the examples
above leaves no doubt that Maxima can serve as a valuable compu-
tational assistant. However, we should not lose sight of the fact that,
from time to time, Maxima will require our human guidance. After
all, solve() follows a particular set of instructions (what, in computer
science and mathematical circles, is referred to as an algorithm) that
could never completely account for the intuition that a mathematician
brings to bear when solving a problem. For instance, Maxima’s so-
lution for the following equation hardly seems satisfactory until after
we apply radcan():
solve(3^(x+1) = 27);
log (27) − log (3)
[x = ]
log (3)
radcan(%);
[x = 2]
32 1. AN INTRODUCTION TO PROGRAMMING
radcan(%);
[x = 3]
radcan(%);
log (7) − 3 log (5)
[x = − ]
log (5)
expand(%);
log (7)
[x = 3 − ]
log (5)
%^3;
[x = −8, x = −64]
Appendix B
The following table indicates some of the processes formerly reserved for men on which the factory
inspectors found women employed by the end of 1915:
INDUSTRY PROCESSES
Linoleum Attending cork grinding and embossing machines,
machine printing, attending stove, trimming
and packing.
Woodworking—
Brush making Fibre dressers, brush makers and on boring
machinery.
Furniture Light upholstery, cramping, dowelling,
glueing, fret-work, carving by hand or
machine, staining and polishing.
Saw mills On planing, moulding, sand-papering, boring,
mortising, dovetailing, tenoning, turning and
nailing machines. Taking off from circular
saws; box making, printing and painting.
Cooperage Barrel making machines.
INDUSTRY PROCESSES
Paper mills In rag grinding and attending to beating and
breaking machines, and to coating machines,
calenders and in certain preparations and
finishing and warehouse processes.
Printing Machine feeding (on platen machines and
on guillotines) and as linotype operators.
Wire rope On stranding and spinning machines.
Chemical works Attending at crystallising tanks and for
yard work.
Soap As soap millers and in general work.
Paint At roller mills, filling tins and kegs,
labeling and packing.
Oil and cake mills Trucking, feeding and drawing off from chutes,
attending to presses.
Flour mills Trucking.
Bread and biscuits Attending to dough-breaks, biscuit machines,
and at the ovens assisting bakers.
Tobacco Leaf cutting, cigarette making, soldering,
trucking and warehouse work.
Rubber At washing machines, grinding mills, dough
rolls, solutioning, motor tube making.
Malting Spreading and general work.
Breweries Cask washing, tun-room work, beer bottling
and bottle washing.
Distilleries In the mill and yeast houses.
Cement Attending weighing machines, trucking.
Foundries Core making, moulding.
Tanning and currying At the pits, in finishing and drying, and in
oiling, setting up, buffing and staining.
Woolen mills Beaming and overlooking, attending drying
machines, carding, pattern weaving.
Jute mills On softening machines, dressing yarn,
calendering.
Cotton mills In blowing room on spinning mules, beaming,
twisting and drawing, and in warehouse.
Hosiery Folding and warehouse work.
Lace Threading.
Print, bleach and Beetling, assisting printers at machines,
dye works warehouse processes.
Appendix C
The following tables from the second report of the British Association for
the Advancement of Science bring out in detail, first, the gradual
disappearance of unemployment and short time and the increase of women’s
numbers in industry from September, 1914, to April, 1916; second, the
changes in numbers of women in the various occupations, both industrial and
nonindustrial in December, 1915, and April, 1916, compared with July, 1914,
and, third, similar details as to the number of women who were undertaking
“men’s work.”
STATE OF EMPLOYMENT OF WOMEN AT VARIOUS DATES
SINCE THE OUTBREAK OF WAR, COMPARED WITH STATE
OF EMPLOYMENT IN JULY, 1914
(“Industrial” employment only.
Numbers employed July, 1914 = 100 per cent.)
Sept., Oct., Dec., Feb., Oct., Dec., Feb., April,
1914 1914 1914 1915 1915 1915 1916 1916
Contraction (-)
or expansion (+) in -8.4 -6.2 -3.2 -1.5 +7.4 +9.2 +10.9 +13.2
numbers employed
Employed on overtime 2.1 5.9 10.8 10.9 13.9 14.5 12.8 ...
Employed on short time 36.0 26.0 19.4 12.6 5.6 6.1 4.6 ...
Appendix D
The following table, compiled from the quarterly reports in the Labour
Gazette and a special report of the Board of Trade, gives the increase in the
employment of women between April, 1916, and July, 1918, for the most of
the important occupational groups. It can not be compared directly with the
similar tables, previously given, prepared by the British Association for the
Advancement of Science, because of slight differences in the estimates of the
numbers employed in July, 1914.
Appendix E
The following table, compiled from the Labour Gazette, and a special report
of the Board of Trade, gives a quarterly estimate of the number of women
replacing men for the period between April, 1916, and April, 1918.
(A) = Per cent No. of substitutes in April, 1918, is of total No. employed in July, 1914
Appendix F
Trade
Metal 195,000
Chemical 35,000
Textile 64,000
Clothing 43,000
Food, Drink and Tobacco 60,000
Paper and Printing 21,000
Wood, China and Earthenware, Leather 23,000
Other 62,000
Government Establishments 197,000
Total 700,000
Appendix G
Appendix H
Appendix I
The following list of modifications of the hour laws in 1915 was compiled from
the Report of the Chief Inspector of Factories and Workshops for 1915.
Industry Persons Affected Latitude
Munitions. Women. As in 1914.
Boys over 14.
Girls over 16.
Woolen and worsted Women and young persons. 6 hours weekly overtime,
(from May). in 2-hour shifts on
3 days or 1½ hours on
4 days. No overtime
on Saturday.
Weaving (July-Nov.). Women and young 8 hours weekly overtime
persons over 16. in 2-hour shifts on 4 days.
Industry Persons Affected Latitude
Hosiery. Protected persons. 1½ hours overtime on 4
days, or 1 hour on
5 days, but not on
Saturday or Sunday.
Cotton. Protected persons. 6 hours overtime weekly.
Margarine. Not stated. Not stated.
Window shades. Not stated. Not stated.
Flax. Not stated. Not stated.
Rope walks. Not stated. 6 hours overtime weekly.
Bleach and dye works Not stated. 6 hours overtime weekly.
(surgical dressings;
raising and finishing
flannelette).
Tanning and currying. Women. 4 hours overtime weekly.
Boys over 14.
Canvas equipment. Not stated. 5 hours overtime weekly.
Shipbuilding. Boys over 14. (a) Overtime, 5 hours a
week for boys under
16; 7½ hours for
those over 16.
(b) Eight hour shifts.
(c) Day and night shifts.
Bread baking. (a) Boys 17. (a) Night shift (not
exceeding 9 hours).
(b) Boys 15 and over. (b) Any period of 9 hours
between 4 a.m. and
8 p.m.
Pastry baking (a) Women and boys (a) Night shift (not
(Scotland). of 17. exceeding 9 hours).
(b) Boys 15 and over. (b) Any period of 9 hours
between 4 a.m. and
8 p.m.
Chocolate.[303] Women. When necessary, on account
of hot weather, between
6 a.m. and 10 p.m. for
for two spells of 4 hours
each, one in the morning
and one in the afternoon.
Leather equipment.[304] Women and young Overtime 1½ hours per day.
persons over 16.
Aerated waters.[305] Women. Extension of overtime
allowed by S. 49.
Glass. Boys over 13 Extension of S. 55.
(educationally qualified).
Oil and cake mills. Women and boys 8-hour shifts, or day
over 16. and night shifts.
Flour mills. Women and boys 8-hour shifts, or day
over 16 and night shifts.
Toys and games.[306] Women. Overtime as allowed by S.49
and night shifts during
the Christmas season.
Industry Persons Affected Latitude
Dairies. Women and young 5 hours on Sundays, with
persons. weekly limit of 60 hours.
No other overtime during
the week.
Paper mills. Women. 8-hour shifts, or day
and night shifts.
Pottery. Not stated. Suspension of certain
regulations.
Sandbags.[307] Women and young Overtime, 3 hours
persons. per week.
Cement (Essex and Kent). Women. Night shift.
Waterproof capes Women and young (1) Overtime, 4½ hours
(War Office persons over 16. per week.
contracts).[308] (2) Permission for Christians
to work on Saturday
and Jews on Sunday.
Manchester warehouses. Women and boys Overtime, 2 hours on not
over 16. more than 4 days a week
and on not more than 12
days in any 4 weeks.
Lace and patent net Women, (1) Different periods
factories (processes girls over 16; of employment for
of threading, brass boys over 14. different workers.
bobbin winding, (2) Where (1) is impractic-
jacking off able overtime 1½ hours
and stripping). per day, but with a
weekly limit of 60
hours exclusive of
meal times.
Non-textile works Women, Rearrangement of the
engaged on work for girls over 16; statutory hours but
the Crown, or on boys over 14. period of employment
work required in not to exceed 14 hours
the national on any one day, or 60
interest.[309] hours (exclusive of
meal times) in any week.
Appendix J
Miscellaneous Provisions.
No woman or young person shall be employed continuously at any time for
more than five hours without an interval of at least half an hour, except that
where not less than one hour is allowed for dinner, an afternoon spell of six
hours may be worked, with an interval of quarter of an hour only for tea, if the
factory inspector is satisfied that adequate provision is made for the worker to
obtain tea in the works and for tea to be actually ready for them as soon as
they stop work.
If work commences before 8 a.m. and no interval is allowed for breakfast,
an opportunity shall be given to take refreshment during the morning.
A woman or young person shall not be allowed to lift, carry, or move
anything so heavy as to be likely to cause injury to the woman or young
person.
Different schemes of employment may be adopted and different intervals
for meals fixed for different sets of workers.
Employment on night shifts shall be subject to the provision, to the
satisfaction of the factory inspector, of proper facilities for taking and cooking
meals, and in the case of female workers, for their supervision by a welfare
worker or a responsible forewoman.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebooknice.com