Tuesday, December 24, 2019

The Relationship Between Ghrelin And Eating Disorders

What Is the Relationship Between Ghrelin and Eating Disorders? Introduction: Ghrelin, commonly referred to as the â€Å"hunger hormone,† is a 28-amino acid peptide that has many important roles in human digestion including regulation of growth hormone release, enhancement of appetite, and increase of food intake (1). This gut-derived peptide could play an extremely important role in the altered eating behaviors of patients with eating disorders. Increased fasting plasma ghrelin levels have been consistently reported in underweight patients with anorexia nervosa. Circulating levels of this hormone have also been found to be enhanced in symptomatic bulimic patients, while also being blunted in response to balanced meals (4). Because of ghrelin’s effect on appetite and its suggested role in eating disorders, this research will aim to investigate ghrelin’s relationship with anorexia nervosa (AN) and bulimia nervosa (BN). The following paper will determine exactly how these eating disorders influence ghrelin regulation or how ghrelin levels may influence the eating disorders themselves. This paper will examine ghrelin’s functions, the two eating disorders, and what that relationship precisely is by examining ghrelin’s metabolic actions as well as two clinical trials that explore its role in bulimia nervosa and anorexia nervosa. Metabolic Basis Ghrelin has many roles in the body’s metabolism, one of which is serving as the natural ligand for the growth hormone secretagogue receptor.Show MoreRelatedAnorexia Nervos Eating Disorders Association1013 Words   |  5 PagesIntroduction Anorexia nervosa is an eating disorder that affects about 0.5 to 1 percent of women in the United States today. (Anorexia Nervosa | National Eating Disorders Association) While, that may not seem like a lot of people are suffering from Anorexia nervosa it has received a significant amount of attention due to the consequences of developing this disorder. For example, it is reported that five to twenty percent of people who have Anorexia Nervosa will eventually succumb to theirRead MoreWhat Causes Obesity Is The Relationship Of Energy Intake And Expenditure And Its Effect On Energy Balance Essay2199 Words   |  9 Pages The most rudimentary explanation for what causes obesity is the relationship of energy intake and expenditure and its effect on energy balance. If energy intake is greater than energy expenditure, weight gain will occur. In contrast, energy expenditure in excess of energy intake will result in weight loss ( Dietz Gortmaker, 2001). However, Obesity is a complex disease that involves interactions between genetics, regulation of energy balance, and strong environmental influences suchRead MoreThe Obesity Means Excess Body Fat Essay5796 Words   |  24 Pagesreflect body composition. For example, athletes with high muscle mass and an extremely low body fat may have obese BMIs. The use of BMI as a predictor of body fat mass in pediatrics has been found to be variably accurate, with correlation ranging between 0.5 and 0.94, depending on sex and age. Despite these limitations, BMI has been shown to be predictive of the presence of cardiovascular risk factors in pediatric patients and is considered the most relevant clinical parameter of childhood obesityRead MoreEating Disorders : Anorexia Nervosa1724 Words   |  7 PagesEating disorders are characterized by a high preoccupation with weight and an intense dissatisfaction with one’s body image (Institute of Psychiatry, 2015). Some of the most common Eating Disorders (EDs) include Anorexia Nervosa, Bulimia, and Binge Eating Disorder, however it is important to note that not everyone fits neatly into any of these categories and could display symptoms and behaviors interchangeably. People who suffer from Anorexia Nervosa can be characterized as having very low bodyRead MoreSerum Ghrelin And Its Effects On The Health Of Animals2237 Words   |  9 PagesSerum ghrelin, IL-1ÃŽ ², and IL-6 during the postestrus period in Murrah buffaloes (Bubalus bubalis) Feng Li Yang1,2, Shu Fang Ning2, Zhao Xiong Wang1, Zhu Nan Li1, Xiao Shan Li1*, Gong He Li2 § 1. College of Animal Science, Yangtze University, Jingzhou, People’s Republic of China, *E-mail: 272065429@qq.com 2. College of Animal Science and Technology, Guangxi University, Nanning, People’s Republic of China,  §E-mail: 247716036@qq.com Abstrast The knowledge in blood constituents is important for assessingRead MoreObesity Is A Medical Condition Essay1320 Words   |  6 Pagesincreases the risk of obesity in other age groups as well. People who sleep fewer hours also seem to prefer eating foods that are higher in calories and carbohydrates, which can lead to overeating, weight gain, and obesity. Sleep helps maintain a healthy balance of the hormones that make people feel hungry (ghrelin) or full (leptin). When people don t get enough sleep, their level of ghrelin goes up and their level of leptin goes down. This makes people feel hungrier than when they re well-restedRead MoreBio-319 Final Exam study guide1806 Words   |  8 Pagesthis study guide and read about it on the REFerenced page and corresponding TOPic in your text, you should have an excellent study guide for the Final Exam. If you do not do this, you will likely fail this exam miserably! Chapter 7 Deficiency disorders of B vitamins (folate, B6, B12) REF: 162 TOP: 7.3; REF: 159 TOP: 7.3 B1 (Thaimen): beriberi B2 (riboflavin): Ariboflavinois B3 (Naicin): Pellagra B5 (Pantothenic Acid): Burning fee syndrome B6 B7 (Biotin): Depression, lack of intestinal absorptionRead MoreAnorexia Nervosa Essay2607 Words   |  11 Pages Introduction Anorexia nervosa is a psychological disorder in which a person has an abnormal eating behavior, to be able to lose weight. The word anorexia nervosa was first used in 1873, by one of Queen Victoria’s physicians known as Sir William Gull. There are two types of anorexia which are the restricting type and the binge-purge type. According to the medical term, this disorder is said to be lack of appetite (Kaye, 2009, p.450). A person who is suffering from anorexia has a fear of gainingRead MoreObesity Is An Abnormal Collection Of Body Fat1852 Words   |  8 Pagesintake. Recently WHO has halved that amount which is 5% of total food intake. These relevant announcements have made the wrong concept in people’s heads that the major cause for the obesity is excessive sugar intake. Even though there is close relationship between added sugar and obesity, according to research conducted obesity is not only caused by excessive sugar but also many other factors. In this report the e ffects of sugar intake, physical inactivity, genetics, metabolism of foods on obesity andRead MoreObesity : A Growing Problem1658 Words   |  7 Pages JoAnne DuBois ​​​​ Pima Medical Institute Abstract Obesity continues to be a growing problem in the U.S. with diet and lifestyle as two major contributors. Americans are becoming less active and eating more unhealthy foods that are easily accessible. Diet and lifestyle seems to be the more obvious causes for obesity, but there are many different factors that play a role in the continuing rise of this epidemic. Other factors include: environment

Sunday, December 15, 2019

Sage 50 Accounting Software Tutorial Free Essays

string(96) " need to set an environment variable or copy a single \? e to a directory that TeX will search\." Sage Tutorial Release 5. 3 The Sage Development Team September 10, 2012 CONTENTS 1 Introduction 1. 1 Installation 1. We will write a custom essay sample on Sage 50 Accounting Software Tutorial or any similar topic only for you Order Now 2 Ways to Use Sage . . 1. 3 Longterm Goals for Sage . . 3 4 4 4 7 7 9 10 13 18 21 24 26 29 33 38 39 41 51 51 53 54 54 55 56 57 58 60 61 62 65 65 66 67 68 2 A Guided Tour 2. 1 Assignment, Equality, and Arithmetic 2. Getting Help . 2. 3 Functions, Indentation, and Counting 2. 4 Basic Algebra and Calculus . . 2. 5 Plotting . 2. 6 Some Common Issues with Functions 2. 7 Basic Rings . . 2. 8 Linear Algebra 2. 9 Polynomials . 2. 10 Parents, Conversion and Coercion . . 2. 11 Finite Groups, Abelian Groups . 2. 12 Number Theory . . 2. 13 Some More Advanced Mathematics 3 The Interactive Shell 3. 1 Your Sage Session . . 3. 2 Logging Input and Output . 3. 3 Paste Ignores Prompts 3. 4 Timing Commands . . 3. 5 Other IPython tricks . 3. 6 Errors and Exceptions 3. 7 Reverse Search and Tab Completion . . 3. 8 Integrated Help System . 3. 9 Saving and Loading Individual Objects 3. 10 Saving and Loading Complete Sessions 3. 11 The Notebook Interface . . 4 Interfaces 4. 1 GP/PARI 4. 2 GAP . . 4. 3 Singul ar . 4. 4 Maxima i 5 Sage, LaTeX and Friends 5. 1 Overview . . 5. 2 Basic Use . . 5. 3 Customizing LaTeX Generation . . 5. 4 Customizing LaTeX Processing . . 5. 5 An Example: Combinatorial Graphs with tkz-graph . 5. 6 A Fully Capable TeX Installation . 5. 7 External Programs . 71 71 72 73 75 76 77 77 79 79 80 81 81 82 84 85 86 86 88 91 93 93 94 95 97 97 99 101 103 105 6 Programming 6. 1 Loading and Attaching Sage ? les 6. 2 Creating Compiled Code . 6. 3 Standalone Python/Sage Scripts . 6. 4 Data Types 6. 5 Lists, Tuples, and Sequences 6. 6 Dictionaries 6. 7 Sets . 6. 8 Iterators . . 6. 9 Loops, Functions, Control Statements, and Comparisons 6. 10 Pro? ling . 7 Using SageTeX 8 . . Afterword 8. 1 Why Python? . . 8. I would like to contribute somehow. How can I? . 8. 3 How do I reference Sage? . 9 Appendix 9. 1 Arithmetical binary operator precedence . . 10 Bibliography 11 Indices and tables Bibliography Index ii Sage Tutorial, Release 5. 3 Sage is free, open-source math software that supports research and teaching in algebra, geometry, number theory, cryptography, numerical computation, and related areas. Both the Sage development model and the technology in Sage itself are distinguished by an extremely strong emphasis on openness, community, cooperation, and collaboration: we are building the car, not reinventing the wheel. The overall goal of Sage is to create a viable, free, open-source alternative to Maple, Mathematica, Magma, and MATLAB. This tutorial is the best way to become familiar with Sage in only a few hours. You can read it in HTML or PDF versions, or from the Sage notebook (click Help, then click Tutorial to interactively work through the tutorial from within Sage). This work is licensed under a Creative Commons Attribution-Share Alike 3. 0 License. CONTENTS 1 Sage Tutorial, Release 5. 3 2 CONTENTS CHAPTER ONE INTRODUCTION This tutorial should take at most 3-4 hours to fully work through. You can read it in HTML or PDF versions, or from the Sage notebook click Help, then click Tutorial to interactively work through the tutorial from within Sage. Though much of Sage is implemented using Python, no Python background is needed to read this tutorial. You will want to learn Python (a very fun language! ) at some point, and there are many excellent free resources for doing so including [PyT] and [Dive]. If you just want to quickly try out Sage, this tutorial is the place to start. For example: sage: 2 + 2 4 sage: factor(-2007) -1 * 3^2 * 223 sage: A = matrix(4,4, range(16)); A [ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] sage: factor(A. charpoly()) x^2 * (x^2 – 30*x – 80) sage: m = matrix(ZZ,2, range(4)) sage: m[0,0] = m[0,0] – 3 sage: m [-3 1] [ 2 3] sage: E = EllipticCurve([1,2,3,4,5]); sage: E Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 over Rational Field sage: E. anlist(10) [0, 1, 1, 0, -1, -3, 0, -1, -3, -3, -3] sage: E. ank() 1 sage: k = 1/(sqrt(3)*I + 3/4 + sqrt(73)*5/9); k 1/(I*sqrt(3) + 5/9*sqrt(73) + 3/4) sage: N(k) 0. 165495678130644 – 0. 0521492082074256*I sage: N(k,30) # 30 â€Å"bits† 0. 16549568 – 0. 052149208*I sage: latex(k) frac{1}{i , sqrt{3} + frac{5}{9} , sqrt{73} + frac{3}{4}} 3 Sage Tutorial, Release 5. 3 1. 1 Installation If you do not have Sage installed on a computer and just want to try s ome commands, use online at http://www. sagenb. org. See the Sage Installation Guide in the documentation section of the main Sage webpage [SA] for instructions on installing Sage on your computer. Here we merely make a few comments. 1. The Sage download ? le comes with â€Å"batteries included†. In other words, although Sage uses Python, IPython, PARI, GAP, Singular, Maxima, NTL, GMP, and so on, you do not need to install them separately as they are included with the Sage distribution. However, to use certain Sage features, e. g. , Macaulay or KASH, you must install the relevant optional package or at least have the relevant programs installed on your computer already. Macaulay and KASH are Sage packages (for a list of available optional packages, type sage -optional, or browse the â€Å"Download† page on the Sage website). . The pre-compiled binary version of Sage (found on the Sage web site) may be easier and quicker to install than the source code version. Just unpack the ? le and run sage. 3. If you’d like to use the SageTeX package (which allows you to embed the results of Sage computations into a LaTeX ? le), you will need to make SageTeX known to yo ur TeX distribution. To do this, see the section â€Å"Make SageTeX known to TeX† in the Sage installation guide (this link should take you to a local copy of the installation guide). It’s quite easy; you just need to set an environment variable or copy a single ? e to a directory that TeX will search. You read "Sage 50 Accounting Software Tutorial" in category "Essay examples" The documentation for using SageTeX is located in $SAGE_ROOT/local/share/texmf/tex/generic/sagetex/, where â€Å"$SAGE_ROOT† refers to the directory where you installed Sage – for example, /opt/sage-4. 2. 1. 1. 2 Ways to Use Sage You can use Sage in several ways. †¢ Notebook graphical interface: see the section on the Notebook in the reference manual and The Notebook Interface below, †¢ Interactive command line: see The Interactive Shell, †¢ Programs: By writing interpreted and compiled programs in Sage (see Loading and Attaching Sage ? es and Creating Compiled Code) , and †¢ Scripts: by writing stand-alone Python scripts that use the Sage library (see Standalone Python/Sage Scripts). 1. 3 Longterm Goals for Sage †¢ Useful: Sage’s intended audience is mathematics students (from high school to graduate school), teachers, and research mathematicians. The aim is to provide software that can be used to explore and experiment with mathematical constructions in algebra, geometry, number theory, calculus, numerical computation, etc. Sage helps make it easier to interactively experiment with mathematical objects. Ef? cient: Be fast. Sage uses highly-optimized mature software like GMP, PARI, GAP, and NTL, and so is very fast at certain operations. †¢ Free and open source: The source code must be freely available and readable, so users can understand what the system is really doing and more easily extend it. Just as mathematicians gain a deeper understanding of a theorem by carefully reading or at least skimming the proof, people who do computations should be able to understand how the calculations work by reading documented source code. If you use Sage to do computations 4 Chapter 1. Introduction Sage Tutorial, Release 5. 3 in a paper you publish, you can rest assured that your readers will always have free access to Sage and all its source code, and you are even allowed to archive and re-distribute the version of Sage you used. †¢ Easy to compile: Sage should be easy to compile from source for Linux, OS X and Windows users. This provides more ? exibility for users to modify the system. †¢ Cooperation: Provide robust interfaces to most other computer algebra systems, including PARI, GAP, Singular, Maxima, KASH, Magma, Maple, and Mathematica. Sage is meant to unify and extend existing math software. †¢ Well documented: Tutorial, programming guide, reference manual, and how-to, with numerous examples and discussion of background mathematics. †¢ Extensible: Be able to de? ne new data types or derive from built-in types, and use code written in a range of languages. †¢ User friendly: It should be easy to understand what functionality is provided for a given object and to view documentation and source code. Also attain a high level of user support. 1. 3. Longterm Goals for Sage 5 Sage Tutorial, Release 5. 3 6 Chapter 1. Introduction CHAPTER TWO A GUIDED TOUR This section is a guided tour of some of what is available in Sage. For many more examples, see â€Å"Sage Constructions†, which is intended to answer the general question â€Å"How do I construct ? †. See also the â€Å"Sage Reference Manual†, which has thousands more examples. Also note that you can interactively work through this tour in the Sage notebook by clicking the Help link. (If you are viewing the tutorial in the Sage notebook, press shift-enter to evaluate any input cell. You can even edit the input before pressing shift-enter. On some Macs you might have to press shift-return rather than shift-enter. ) 2. 1 Assignment, Equality, and Arithmetic With some minor exceptions, Sage uses the Python programming language, so most introductory books on Python will help you to learn Sage. Sage uses = for assignment. It uses ==, =, and for comparison: sage: sage: 5 sage: True sage: False sage: True sage: True a = 5 a 2 == 2 2 == 3 2 3 a == 5 Sage provides all of the basic mathematical operations: age: 8 sage: 8 sage: 1 sage: 5/2 sage: 2 sage: True 2**3 2^3 10 % 3 10/4 10//4 # for integer arguments, // returns the integer quotient # # # ** means exponent ^ is a synonym for ** (unlike in Python) for integer arguments, % means mod, i. e. , remainder 4 * (10 // 4) + 10 % 4 == 10 7 Sage Tutorial, Release 5. 3 sage: 3^2*4 + 2%5 38 The computation of an expression like 3^2*4 + 2%5 depends on the order in which the operations are applied; this is speci? ed in the â⠂¬Å"operator precedence table† in Arithmetical binary operator precedence. Sage also provides many familiar mathematical functions; here are just a few examples: sage: sqrt(3. ) 1. 84390889145858 sage: sin(5. 135) -0. 912021158525540 sage: sin(pi/3) 1/2*sqrt(3) As the last example shows, some mathematical expressions return ‘exact’ values, rather than numerical approximations. To get a numerical approximation, use either the function n or the method n (and both of these have a longer name, numerical_approx, and the function N is the same as n)). These take optional arguments prec, which is the requested number of bits of precision, and digits, which is the requested number of decimal digits of precision; the default is 53 bits of precision. sage: exp(2) e^2 sage: n(exp(2)) 7. 8905609893065 sage: sqrt(pi). numerical_approx() 1. 77245385090552 sage: sin(10). n(digits=5) -0. 54402 sage: N(sin(10),digits=10) -0. 5440211109 sage: numerical_approx(pi, prec=200) 3. 14159 26535897932384626433832795028841971693993751058209749 Python is dynamically typed, so the value referred to by each variable has a type associated with it, but a given variable may hold values of any Python type within a given scope: sage: sage: The C programming language, which is statically typed, is much different; a variable declared to hold an int can only hold an int in its scope. A potential source of confusion in Python is that an integer literal that begins with a zero is treated as an octal number, i. e. , a number in base 8. sage: 9 sage: 9 sage: sage: ’11’ 011 8 + 1 n = 011 n. str(8) # string representation of n in base 8 8 Chapter 2. A Guided Tour Sage Tutorial, Release 5. 3 This is consistent with the C programming language. 2. 2 Getting Help Sage has extensive built-in documentation, accessible by typing the name of a function or a constant (for example), followed by a question mark: sage: tan? Type: Definition: Docstring: tan( [noargspec] ) The tangent function EXAMPLES: sage: tan(pi) 0 sage: tan(3. 1415) -0. 0000926535900581913 sage: tan(3. 1415/4) 0. 999953674278156 sage: tan(pi/4) 1 sage: tan(1/2) tan(1/2) sage: RR(tan(1/2)) 0. 546302489843790 sage: log2? Type: Definition: log2( [noargspec] ) Docstring: The natural logarithm of the real number 2. EXAMPLES: sage: log2 log2 sage: float(log2) 0. 69314718055994529 sage: RR(log2) 0. 693147180559945 sage: R = RealField(200); R Real Field with 200 bits of precision sage: R(log2) 0. 9314718055994530941723212145817656807550013436025525412068 sage: l = (1-log2)/(1+log2); l (1 – log(2))/(log(2) + 1) sage: R(l) 0. 18123221829928249948761381864650311423330609774776013488056 sage: maxima(log2) log(2) sage: maxima(log2). float() . 6931471805599453 sage: gp(log2) 0. 6931471805599453094172321215 # 32-bit 0. 69314718055994530941723212145817656807 # 64-bit sage: sudoku? 2. 2. Getting Help 9 Sage Tutorial, Release 5. 3 File: Type: D efinition: Docstring: sage/local/lib/python2. 5/site-packages/sage/games/sudoku. py sudoku(A) Solve the 9Ãâ€"9 Sudoku puzzle defined by the matrix A. EXAMPLE: sage: A = matrix(ZZ,9,[5,0,0, 0,8,0, 0,4,9, 0,0,0, 5,0,0, 0,3,0, 0,6,7, 3,0,0, 0,0,1, 1,5,0, 0,0,0, 0,0,0, 0,0,0, 2,0,8, 0,0,0, 0,0,0, 0,0,0, 0,1,8, 7,0,0, 0,0,4, 1,5,0, 0,3,0, 0,0,2, 0,0,0, 4,9,0, 0,5,0, 0,0,3]) sage: A [5 0 0 0 8 0 0 4 9] [0 0 0 5 0 0 0 3 0] [0 6 7 3 0 0 0 0 1] [1 5 0 0 0 0 0 0 0] [0 0 0 2 0 8 0 0 0] [0 0 0 0 0 0 0 1 8] [7 0 0 0 0 4 1 5 0] [0 3 0 0 0 2 0 0 0] [4 9 0 0 5 0 0 0 3] sage: sudoku(A) [5 1 3 6 8 7 2 4 9] [8 4 9 5 2 1 6 3 7] [2 6 7 3 4 9 5 8 1] [1 5 8 4 6 3 9 7 2] [9 7 4 2 1 8 3 6 5] [3 2 6 7 9 5 4 1 8] [7 8 2 9 3 4 1 5 6] [6 3 5 1 7 2 8 9 4] [4 9 1 8 5 6 7 2 3] Sage also provides ‘Tab completion’: type the ? rst few letters of a function and then hit the tab key. For example, if you type ta followed by TAB, Sage will print tachyon, tan, tanh, taylor. This provides a good way to ? nd the names of functions and other structures in Sage. 2. 3 Functions, Indentation, and Counting To de? ne a new function in Sage, use the def command and a colon after the list of variable names. For example: sage: def is_even(n): return n%2 == 0 sage: is_even(2) True sage: is_even(3) False Note: Depending on which version of the tutorial you are viewing, you may see three dots n the second line of this example. Do not type them; they are just to emphasize that the code is indented. Whenever this is the case, press [Return/Enter] once at the end of the block to insert a blank line and conclude the function de? nition. You do not specify the types of any of the input arguments. You can specify multiple inputs, each of which may have an optional defaul t value. For example, the function below defaults to divisor=2 if divisor is not speci? ed. 10 Chapter 2. A Guided Tour Sage Tutorial, Release 5. 3 sage: sage: True sage: True sage: False ef is_divisible_by(number, divisor=2): return number%divisor == 0 is_divisible_by(6,2) is_divisible_by(6) is_divisible_by(6, 5) You can also explicitly specify one or either of the inputs when calling the function; if you specify the inputs explicitly, you can give them in any order: sage: is_divisible_by(6, divisor=5) False sage: is_divisible_by(divisor=2, number=6) True In Python, blocks of code are not indicated by curly braces or begin and end blocks as in many other languages. Instead, blocks of code are indicated by indentation, which must match up exactly. For example, the following is a syntax error because the return statement is not indented the same amount as the other lines above it. sage: def even(n): v = [] for i in range(3,n): if i % 2 == 0: v. append(i) return v Syntax Error: return v If you ? x the indentation, the function works: sage: def even(n): v = [] for i in range(3,n): if i % 2 == 0: v. append(i) return v sage: even(10) [4, 6, 8] Semicolons are not needed at the ends of lines; a line is in most cases ended by a newline. However, you can put multiple statements on one line, separated by semicolons: sage: a = 5; b = a + 3; c = b^2; c 64 If you would like a single line of code to span multiple lines, use a terminating backslash: sage: 2 + 3 5 In Sage, you count by iterating over a range of integers. For example, the ? rst line below is exactly like for(i=0; i x^2 sage: g(3) 9 sage: Dg = g. derivative(); Dg x |– 2*x sage: Dg(3) 6 sage: type(g) sage: plot(g, 0, 2) Note that while g is a callable symbolic expression, g(x) is a related, but different sort of object, which can also be plotted, differentated, etc. , albeit with some issues: see item 5 below for an illustration. sage: x^2 sage: g(x). derivative() plot(g(x), 0, 2) 3. Use a pre-de? ed Sage ‘calculus function’. These can be plotted, and with a little help, differentiated, and integrated. sage: type(sin) sage: plot(sin, 0, 2) sage: type(sin(x)) sage: plot(sin(x), 0, 2) By itself, sin cannot be differentiated, at least not to produce cos. sage: f = sin sage: f. derivative() Traceback (most recent call last): AttributeError: Using f = sin(x) i nstead of sin works, but it is probably even better to use f(x) = sin(x) to de? ne a callable symbolic expression. sage: S(x) = sin(x) sage: S. derivative() x |– cos(x) Here are some common problems, with explanations: 4. Accidental evaluation. sage: def h(x): f x 1 to 0. sage: G = DirichletGroup(12) sage: G. list() [Dirichlet character modulo 12 of conductor 1 mapping 7 |– 1, 5 |– 1, Dirichlet character modulo 12 of conductor 4 mapping 7 |– -1, 5 |– 1, Dirichlet character modulo 12 of conductor 3 mapping 7 |– 1, 5 |– -1, Dirichlet character modulo 12 of conductor 12 mapping 7 |– -1, 5 |– -1] sage: G. gens() (Dirichlet character modulo 12 of conductor 4 mapping 7 |– -1, 5 |– 1, Dirichlet character modulo 12 of conductor 3 mapping 7 |– 1, 5 |– -1) sage: len(G) 4 Having created the group, we next create an element and compute with it. age: G = DirichletGroup(21) sage: chi = G. 1; chi Dirichlet c haracter modulo 21 of conductor 7 mapping 8 |– 1, 10 |– zeta6 sage: chi. values() [0, 1, zeta6 – 1, 0, -zeta6, -zeta6 + 1, 0, 0, 1, 0, zeta6, -zeta6, 0, -1, 0, 0, zeta6 – 1, zeta6, 0, -zeta6 + 1, -1] sage: chi. conductor() 7 sage: chi. modulus() 21 sage: chi. order() 6 sage: chi(19) -zeta6 + 1 sage: chi(40) -zeta6 + 1 It is also possible to compute the action of the Galois group Gal(Q(? N )/Q) on these characters, as well as the direct product decomposition corresponding to the factorization of the modulus. sage: chi. alois_orbit() [Dirichlet character modulo 21 of conductor 7 mapping 8 |– 1, 10 |– zeta6, 2. 13. Some More Advanced Mathematics 45 Sage Tutorial, Release 5. 3 Dirichlet character modulo 21 of conductor 7 mapping 8 |– 1, 10 |– -zeta6 + 1] sage: go = G. galois_orbits() sage: [len(orbit) for orbit in go] [1, 2, 2, 1, 1, 2, 2, 1] sage: [ Group 6 and Group 6 and ] G. decomposition() of Dirichlet characters of modulus 3 over Cyclotomic Field of order degree 2, of Dirichlet characters of modulus 7 over Cyclotomic Field of order degree 2 Next, we construct the group of Dirichlet characters mod 20, but with values n Q(i): sage: sage: sage: Group K. = NumberField(x^2+1) G = DirichletGroup(20,K) G of Dirichlet characters of modulus 20 over Number Field in i with defining polynomial x^2 + 1 We next compute several invariants of G: sage: G. gens() (Dirichlet character modulo 20 of conductor 4 mapping 11 |– -1, 17 |– 1, Dirichlet character modulo 20 of conductor 5 mapping 11 |– 1, 17 |– i) sage: G. unit_gens() [11, 17] sage: G. zeta() i sage: G. zeta_order() 4 In this example we create a Dirichlet character with values in a number ? eld. We explicitly specify the choice of root of unity by the third argument to DirichletGroup below. age: x = polygen(QQ, ’x’) sage: K = NumberField(x^4 + 1, ’a’); a = K. 0 sage: b = K. gen(); a == b True sage: K Number F ield in a with defining polynomial x^4 + 1 sage: G = DirichletGroup(5, K, a); G Group of Dirichlet characters of modulus 5 over Number Field in a with defining polynomial x^4 + 1 sage: chi = G. 0; chi Dirichlet character modulo 5 of conductor 5 mapping 2 |– a^2 sage: [(chi^i)(2) for i in range(4)] [1, a^2, -1, -a^2] Here NumberField(x^4 + 1, ’a’) tells Sage to use the symbol â€Å"a† in printing what K is (a Number Field in a with de? ning polynomial x4 + 1). The name â€Å"a† is undeclared at this point. Once a = K. 0 (or equivalently a = K. gen()) is evaluated, the symbol â€Å"a† represents a root of the generating polynomial x4 + 1. 46 Chapter 2. A Guided Tour Sage Tutorial, Release 5. 3 2. 13. 4 Modular Forms Sage can do some computations related to modular forms, including dimensions, computing spaces of modular symbols, Hecke operators, and decompositions. There are several functions available for computing dimensions of spaces of modular forms. For example, sage: dimension_cusp_forms(Gamma0(11),2) 1 sage: dimension_cusp_forms(Gamma0(1),12) 1 sage: dimension_cusp_forms(Gamma1(389),2) 6112 Next we illustrate computation of Hecke operators on a space of modular symbols of level 1 and weight 12. sage: M = ModularSymbols(1,12) sage: M. basis() ([X^8*Y^2,(0,0)], [X^9*Y,(0,0)], [X^10,(0,0)]) sage: t2 = M. T(2) sage: t2 Hecke operator T_2 on Modular Symbols space of dimension 3 for Gamma_0(1) of weight 12 with sign 0 over Rational Field sage: t2. matrix() [ -24 0 0] [ 0 -24 0] [4860 0 2049] sage: f = t2. charpoly(’x’); f x^3 – 2001*x^2 – 97776*x – 1180224 sage: factor(f) (x – 2049) * (x + 24)^2 sage: M. T(11). charpoly(’x’). factor() (x – 285311670612) * (x – 534612)^2 We can also create spaces for ? 0 (N ) and ? 1 (N ). sage: ModularSymbols(11,2) Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field sage: ModularSymbols(Gamma1(11),2) Modular Symbols space of dimension 11 for Gamma_1(11) of weight 2 with sign 0 and over Rational Field Let’s compute some characteristic polynomials and q-expansions. sage: M = ModularSymbols(Gamma1(11),2) sage: M. T(2). charpoly(’x’) x^11 – 8*x^10 + 20*x^9 + 10*x^8 – 145*x^7 + 229*x^6 + 58*x^5 – 360*x^4 + 70*x^3 – 515*x^2 + 1804*x – 1452 sage: M. T(2). charpoly(’x’). actor() (x – 3) * (x + 2)^2 * (x^4 – 7*x^3 + 19*x^2 – 23*x + 11) * (x^4 – 2*x^3 + 4*x^2 + 2*x + 11) sage: S = M. cuspidal_submodule() sage: S. T(2). matrix() [-2 0] [ 0 -2] sage: S. q_expansion_basis(10) [ q – 2*q^2 – q^3 + 2*q^4 + q^5 + 2*q^6 – 2*q^7 – 2*q^9 + O(q^10) ] 2. 13. Some More A dvanced Mathematics 47 Sage Tutorial, Release 5. 3 We can even compute spaces of modular symbols with character. sage: G = DirichletGroup(13) sage: e = G. 0^2 sage: M = ModularSymbols(e,2); M Modular Symbols space of dimension 4 and level 13, weight 2, character [zeta6], sign 0, over Cyclotomic Field of order 6 and degree 2 sage: M. T(2). charpoly(’x’). factor() (x – 2*zeta6 – 1) * (x – zeta6 – 2) * (x + zeta6 + 1)^2 sage: S = M. cuspidal_submodule(); S Modular Symbols subspace of dimension 2 of Modular Symbols space of dimension 4 and level 13, weight 2, character [zeta6], sign 0, over Cyclotomic Field of order 6 and degree 2 sage: S. T(2). charpoly(’x’). factor() (x + zeta6 + 1)^2 sage: S. q_expansion_basis(10) [ q + (-zeta6 – 1)*q^2 + (2*zeta6 – 2)*q^3 + zeta6*q^4 + (-2*zeta6 + 1)*q^5 + (-2*zeta6 + 4)*q^6 + (2*zeta6 – 1)*q^8 – zeta6*q^9 + O(q^10) ] Here is another example of how Sage can compute the action of Hecke operators on a space of modular forms. sage: T = ModularForms(Gamma0(11),2) sage: T Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field sage: T. degree() 2 sage: T. level() 11 sage: T. group() Congruence Subgroup Gamma0(11) sage: T. dimension() 2 sage: T. cuspidal_subspace() Cuspidal subspace of dimension 1 of Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field sage: T. isenstein_subspace() Eisenstein subspace of dimension 1 of Modular Forms space of dimension 2 for Congruence Subgroup Gamma0(11) of weight 2 over Rational Field sage: M = ModularSymbols(11); M Modular Symbols space of dimension 3 for Gamma_0(11) of weight 2 with sign 0 over Rational Field sage: M. weight() 2 sage: M. basis() ((1,0), (1,8), (1,9)) sage: M. sign() 0 Let Tp denote the usual Hecke operators (p prime). How do the Hecke operators T2 , T3 , T5 act on the space of modular symbols? sage: M. T(2). matrix() [ 3 0 -1] [ 0 -2 0] [ 0 0 -2] sage: M. T(3). matrix() [ 4 0 -1] 8 Chapter 2. A Guided Tour Sage Tutorial, Release 5. 3 [ 0 -1 0] [ 0 0 -1] sage: M. T(5). matrix() [ 6 0 -1] [ 0 1 0] [ 0 0 1] 2. 13. Some More Advanced Mathematics 49 Sage Tutorial, Release 5. 3 50 Chapter 2. A Guided Tour CHAPTER THREE THE INTERACTIVE SHELL In most of this tutorial, we assume you start the Sage interpreter using the sage command. This starts a customized version of the IPython shell, and imports many functions and classes, so they are ready to use from the command prompt. Further customization is possible by editing the $SAGE_ROOT/ipythonrc ? le. Upon starting Sage, you get output similar to the following: ———————————————————————| SAGE Version 3. 1. 1, Release Date: 2008-05-24 | | Type notebook() for the GUI, and license() for information. | ———————————————————————- sage: To quit Sage either press Ctrl-D or type quit or exit. sage: quit Exiting SAGE (CPU time 0m0. 00s, Wall time 0m0. 89s) The wall time is the time that elapsed on the clock hanging from your wall. This is relevant, since CPU time does not track time used by subprocesses like GAP or Singular. Avoid killing a Sage process with kill -9 from a terminal, since Sage might not kill child processes, e. g. , Maple processes, or cleanup temporary ? les f rom $HOME/. sage/tmp. ) 3. 1 Your Sage Session The session is the sequence of input and output from when you start Sage until you quit. Sage logs all Sage input, via IPython. In fact, if you’re using the interactive shell (not the notebook interface), then at any point you may type %history (or %hist) to get a listing of all input lines typed so far. You can type ? at the Sage prompt to ? nd out more about IPython, e. g. â€Å"IPython offers numbered prompts with input and output caching. All input is saved and can be retrieved as variables (besides the usual arrow key recall). The following GLOBAL variables always exist (so don’t overwrite them! )†: _: previous input (interactive shell and notebook) __: next previous input (interactive shell only) _oh : list of all inputs (interactive shell only) Here is an example: sage: factor(100) _1 = 2^2 * 5^2 sage: kronecker_symbol(3,5) 51 Sage Tutorial, Release 5. 3 _2 = -1 sage: %hist #This only works from the interacti ve shell, not the notebook. : factor(100) 2: kronecker_symbol(3,5) 3: %hist sage: _oh _4 = {1: 2^2 * 5^2, 2: -1} sage: _i1 _5 = ’factor(ZZ(100)) ’ sage: eval(_i1) _6 = 2^2 * 5^2 sage: %hist 1: factor(100) 2: kronecker_symbol(3,5) 3: %hist 4: _oh 5: _i1 6: eval(_i1) 7: %hist We omit the output numbering in the rest of this tutorial and the other Sage documentation. You can also store a list of input from session in a macro for that session. sage: E = EllipticCurve([1,2,3,4,5]) sage: M = ModularSymbols(37) sage: %hist 1: E = EllipticCurve([1,2,3,4,5]) 2: M = ModularSymbols(37) 3: %hist sage: %macro em 1-2 Macro ‘em‘ created. To execute, type its name (without quotes). sage: E Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 over Rational Field sage: E = 5 sage: M = None sage: em Executing Macro sage: E Elliptic Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 over Rational Field When using the interactive shell, any UNIX shell command can be executed from Sage by prefacing it by an exclamation point !. For example, sage: ! ls auto example. sage glossary. tex t tmp tut. log tut. tex returns the listing of the current directory. The PATH has the Sage bin directory at the front, so if you run gp, gap, singular, maxima, etc. you get the versions included with Sage. sage: ! gp Reading GPRC: /etc/gprc Done. GP/PARI CALCULATOR Version 2. 2. 11 (alpha) i686 running linux (ix86/GMP-4. 1. 4 kernel) 32-bit version 52 Chapter 3. The Interactive Shell Sage Tutorial, Release 5. 3 sage: ! singular SINGULAR A Computer Algebra System for Polynomial Computations 0 by: G. -M. Greuel, G. Pfister, H. Schoenemann FB Mathematik der Universitaet, D-67653 Kaiserslautern October 2005 / / Development version 3-0-1 3. 2 Logging Input and Output Logging your Sage session is not the same as saving it (see Saving and Loading Complete Sessions for that). To log input (and optionally output) use the logstart command. Type logstart? for more details. You can use this command to log all input you type, all output, and even play back that input in a future session (by simply reloading the log ? le). was@form:~$ sage ———————————————————————| SAGE Version 3. 0. 2, Release Date: 2008-05-24 | | Type notebook() for the GUI, and license() for information. | ———————————————————————sage: logstart setup Activating auto-logging. Current session state plus future input saved. Filename : setup Mode : backup Output logging : False Timestamping : False State : active sage: E = EllipticCurve([1,2,3,4,5]). minimal_model() sage: F = QQ^3 sage: x,y = QQ[’x,y’]. gens() sage: G = E. gens() sage: Exiting SAGE (CPU time 0m0. 61s, Wall time 0m50. 39s). was@form:~$ sage ———————————————————————| SAGE Version 3. 0. 2, Release Date: 2008-05-24 | | Type notebook() for the GUI, and license() for information. | ———————————————————————sage: load â€Å"setup† Loading log file one line at a time Finished replaying log file sage: E Elliptic Curve defined by y^2 + x*y = x^3 – x^2 + 4*x + 3 over Rational Field sage: x*y x*y sage: G [(2 : 3 : 1)] If you use Sage in the Linux KDE terminal konsole then you can save your session as follows: after starting Sage in konsole, select â€Å"settings†, then â€Å"history †, then â€Å"set unlimited†. When you are ready to save your session, select â€Å"edit† then â€Å"save history as † and type in a name to save the text of your session to your computer. After saving this ? le, you could then load it into an editor, such as xemacs, and print it. 3. 2. Logging Input and Output 53 Sage Tutorial, Release 5. 3 3. Paste Ignores Prompts Suppose you are reading a session of Sage or Python computations and want to copy them into Sage. But there are annoying or sage: prompts to worry about. In fact, you can copy and paste an example, including the prompts if you want, into Sage. In other words, by defau lt the Sage parser strips any leading or sage: prompt before passing it to Python. For example, sage: 2^10 1024 sage: sage: sage: 2^10 1024 sage: 2^10 1024 3. 4 Timing Commands If you place the %time command at the beginning of an input line, the time the command takes to run will be displayed after the output. For example, we can compare the running time for a certain exponentiation operation in several ways. The timings below will probably be much different on your computer, or even between different versions of Sage. First, native Python: sage: %time a = int(1938)^int(99484) CPU times: user 0. 66 s, sys: 0. 00 s, total: 0. 66 s Wall time: 0. 66 This means that 0. 66 seconds total were taken, and the â€Å"Wall time†, i. e. , the amount of time that elapsed on your wall clock, is also 0. 66 seconds. If your computer is heavily loaded with other programs, the wall time may be much larger than the CPU time. Next we time exponentiation using the native Sage Integer type, which is implemented (in Cython) using the GMP library: sage: %time a = 1938^99484 CPU times: user 0. 04 s, sys: 0. 00 s, total: 0. 04 s Wall time: 0. 04 Using the PARI C-library interface: sage: %time a = pari(1938)^pari(99484) CPU times: user 0. 05 s, sys: 0. 00 s, total: 0. 05 s Wall time: 0. 05 GMP is better, but only slightly (as expected, since the version of PARI built for Sage uses GMP for integer arithmetic). You can also time a block of commands using the cputime command, as illustrated below: sage: sage: sage: sage: sage: 0. 4 t = cputime() a = int(1938)^int(99484) b = 1938^99484 c = pari(1938)^pari(99484) cputime(t) # somewhat random output sage: cputime? Return the time in CPU second since SAGE started, or with optional argument t, return the time since time t. 54 Chapter 3. The Interactive Shell Sage Tutorial, Release 5. 3 INPUT: t — (optional) float, time in CPU seconds OUTPUT: float — time i n CPU seconds The walltime command behaves just like the cputime command, except that it measures wall time. We can also compute the above power in some of the computer algebra systems that Sage includes. In each case we execute a trivial command in the system, in order to start up the server for that program. The most relevant time is the wall time. However, if there is a signi? cant difference between the wall time and the CPU time then this may indicate a performance issue worth looking into. sage: time 1938^99484; CPU times: user 0. 01 s, sys: 0. 00 s, total: Wall time: 0. 01 sage: gp(0) 0 sage: time g = gp(’1938^99484’) CPU times: user 0. 00 s, sys: 0. 00 s, total: Wall time: 0. 04 sage: maxima(0) 0 sage: time g = maxima(’1938^99484’) CPU times: user 0. 00 s, sys: 0. 00 s, total: Wall time: 0. 0 sage: kash(0) 0 sage: time g = kash(’1938^99484’) CPU times: user 0. 00 s, sys: 0. 00 s, total: Wall time: 0. 04 sage: mathematica(0) 0 sage: time g = mathematica(’1938^99484’) CPU times: user 0. 00 s, sys: 0. 00 s, total: Wall time: 0. 03 sage: maple(0) 0 sage: time g = maple(’1938^99484’) CPU times: user 0. 00 s, sys: 0. 00 s, total: Wall time: 0. 11 sage: gap(0) 0 sage: time g = gap. eval(’1938^99484;;’) CPU times: user 0. 00 s, sys: 0. 00 s, total: Wall time: 1. 02 0. 01 s 0. 00 s 0. 00 s 0. 00 s 0. 00 s 0. 00 s 0. 00 s Note that GAP and Maxima are the slowest in this test (this was run on the machine sage. ath. washington. edu). Because of the pexpect interface overhead, it is perhaps unfair to compare these to Sage, which is the fastest. 3. 5 Other IPython tricks As noted above, Sage uses IPython as its front end, and so you can use any of IPython’s commands and features. You can read the full IPython documentation. Meanwhile, here are some fun tricks – these are called â€Å"Magic commands† in IPython: †¢ You can use %bg to run a command in the background, and then use jobs to access the results, as follows. 3. 5. Other IPython tricks 55 Sage Tutorial, Release 5. 3 The comments not tested are here because the %bg syntax doesn’t work well with S age’s automatic testing facility. If you type this in yourself, it should work as written. This is of course most useful with commands which take a while to complete. ) sage: def quick(m): return 2*m sage: %bg quick(20) # not tested Starting job # 0 in a separate thread. sage: jobs. status() # not tested Completed jobs: 0 : quick(20) sage: jobs[0]. result # the actual answer, not tested 40 Note that jobs run in the background don’t use the Sage preparser – see The Pre-Parser: Differences between Sage and Python for more information. One (perhaps awkward) way to get around this would be to run sage: %bg eval(preparse(’quick(20)’)) # not tested It is safer and easier, though, to just use %bg on commands which don’t require the preparser. †¢ You can use %edit (or %ed or ed) to open an editor, if you want to type in some complex code. Before you start Sage, make sure that the EDITOR environment variable is set to your favorite editor (by putting export EDITOR=/usr/bin/emacs or export EDITOR=/usr/bin/vim or something similar in the appropriate place, like a . profile ? le). From the Sage prompt, executing %edit will open up the named editor. Then within the editor you can de? e a function: def some_function(n): return n**2 + 3*n + 2 Save and quit from the editor. For the rest of your Sage session, you can then use some_function. If you want to modify it, type %edit some_function from the Sage prompt. †¢ If you have a computation and you want to modify its output for another use, perform the computation and type %rep: this will place the output from the previous command at the Sage prompt, ready for you to edit it. sage: f(x) = cos(x) sage: f(x). derivative(x) -sin(x) At this point, if you type %rep at the Sage prompt, you will get a new Sage prompt, followed by -sin(x), with the cursor at the end of the line. For more, type %quickref to get a quick reference guide to IPython. As of this writing (April 2011), Sage uses version 0. 9. 1 of IPython, and the documentation for its magic commands is available online. 3. 6 Errors and Exceptions When something goes wrong, you will usually see a Python â€Å"exception†. Python even tries to suggest what raised the exception. Often you see the name of the exception, e. g. , NameError or ValueError (see the Python Reference Manual [Py] for a complete list of exceptions). For example, sage: 3_2 ———————————————————–File â€Å"†, line 1 ZZ(3)_2 ^ SyntaxError: invalid syntax 6 Chapter 3. The Interactive Shell Sage Tutorial, Release 5. 3 sage: EllipticCurve([0,infinity]) ———————————————— Ã¢â‚¬â€Ã¢â‚¬â€Ã¢â‚¬â€œTraceback (most recent call last): TypeError: Unable to coerce Infinity () to Rational The interactive debugger is sometimes useful for understanding what went wrong. You can toggle it on or off using %pdb (the default is off). The prompt ipdb appears if an exception is raised and the debugger is on. From within the debugger, you can print the state of any local variable, and move up and down the execution stack. For example, sage: %pdb Automatic pdb calling has been turned ON sage: EllipticCurve([1,infinity]) ————————————————————————– Traceback (most recent call last) ipdb For a list of commands in the debugger, type ? at the ipdb prompt: ipdb ? Documented commands (type help ): ======================================== EOF break commands debug h a bt condition disable help alias c cont down ignore args cl continue enable j b clear d exit jump whatis where Miscellaneous help topics: ========================== exec pdb Undocumented commands: ====================== retval rv list n next p pdef pdoc pinfo pp q quit r return s step tbreak u unalias up w Type Ctrl-D or quit to return to Sage. 3. 7 Reverse Search and Tab Completion Reverse search: Type the beginning of a command, then Ctrl-p (or just hit the up arrow key) to g o back to each line you have entered that begins in that way. This works even if you completely exit Sage and restart later. You can also do a reverse search through the history using Ctrl-r. All these features use the readline package, which is available on most ? avors of Linux. To illustrate tab completion, ? st create the three dimensional vector space V = Q3 as follows: sage: V = VectorSpace(QQ,3) sage: V Vector space of dimension 3 over Rational Field You can also use the following more concise notation: 3. 7. Reverse Search and Tab Completion 57 Sage Tutorial, Release 5. 3 sage: V = QQ^3 Then it is easy to list all member functions for V using tab completion. Just type V. , then type the [tab key] key on your keyboard: sage: V. [tab key] V. _VectorSpace_generic__base_field V. ambient_space V. base_field V. base_ring V. basis V. coordinates V. zero_vector If you type the ? st few letters of a function, then [tab key], you get only functions that begin as indicated. sage: V. i[ tab key] V. is_ambient V. is_dense V. is_full V. is_sparse If you wonder what a particular function does, e. g. , the coordinates function, type V. coordinates? for help or V. coordinates for the source code, as explained in the next section. 3. 8 Integrated Help System Sage features an integrated help facility. Type a function name followed by ? for the documentation for that function. sage: V = QQ^3 sage: V. coordinates? Type: instancemethod Base Class: String Form: Namespace: Interactive File: /home/was/s/local/lib/python2. /site-packages/sage/modules/f ree_module. py Definition: V. coordinates(self, v) Docstring: Write v in terms of the basis for self. Returns a list c such that if B is the basis for self, then sum c_i B_i = v. If v is not in self, raises an ArithmeticError exception. EXAMPLES: sage: M = FreeModule(IntegerRing(), 2); M0,M1=M. gens() sage: W = M. submodule([M0 + M1, M0 – 2*M1]) sage: W. coordinates(2*M0-M1) [2, -1] As shown above, the output tells you the type of the object, the ? le in which it is de? ned, and a useful description of the function with examples that you can paste into your current session. Almost all of these examples are regularly automatically tested to make sure they work and behave exactly as claimed. 58 Chapter 3. The Interactive Shell Sage Tutorial, Release 5. 3 Another feature that is very much in the spirit of the open source nature of Sage is that if f is a Python function, then typing f displays the source code that de? nes f. For example, sage: V = QQ^3 sage: V. coordinates Type: instancemethod Source: def coordinates(self, v): â€Å"†Ã¢â‚¬  Write $v$ in terms of the basis for self. â€Å"†Ã¢â‚¬  return self. coordinate_vector(v). list() This tells us that all the coordinates function does is call the coordinate_vector function and change the result into a list. What does the coordinate_vector function do? sage: V = QQ^3 sage: V. coordinate_vector def coordinate_vector(self, v): return self. ambient_vector_space()(v) The coordinate_vector function coerces its input into the ambient space, which has the effect of computing the vector of coef? cients of v in terms of V . The space V is already ambient since it’s just Q3 . There is also a coordinate_vector function for subspaces, and it’s different. We create a subspace and see: sage: V = QQ^3; W = V. span_of_basis([V. 0, V. 1]) sage: W. coordinate_vector def coordinate_vector(self, v): â€Å"†Ã¢â‚¬  â€Å"†Ã¢â‚¬  # First find the coordinates of v wrt echelon basis. w = self. echelon_coordinate_vector(v) # Next use transformation matrix from echelon basis to # user basis. T = self. echelon_to_user_matrix() return T. linear_combination_of_rows(w) (If you think the implementation is inef? cient, please sign up to help optimize linear algebra. ) You may also type help(command_name) or help(class) for a manpage-like help ? le about a given class. age: help(VectorSpace) Help on class VectorSpace class VectorSpace(__builtin__. object) | Create a Vector Space. | | To create an ambient space over a field with given dimension | using the calling syntax : : When you type q to exit the help system, your session appears just as it was. The help listing does not clutter up your session, unlike the output of function_name? som etimes does. It’s particularly helpful to type 3. 8. Integrated Help System 59 Sage Tutorial, Release 5. 3 help(module_name). For example, vector spaces are de? ned in sage. modules. free_module, so type help(sage. modules. ree_module) for documentation about that whole module. When viewing documentation using help, you can search by typing / and in reverse by typing ?. 3. 9 Saving and Loading Individual Objects Suppose you compute a matrix or worse, a complicated space of modular symbols, and would like to save it for later use. What can you do? There are several approaches that computer algebra systems take to saving individual objects. 1. Save your Game: Only support saving and loading of complete sessions (e. g. , GAP, Magma). 2. Uni? ed Input/Output: Make every object print in a way that can be read back in (GP/PARI). 3. Eval: Make it easy to evaluate arbitrary code in the interpreter (e. g. , Singular, PARI). Because Sage uses Python, it takes a different approach, which is that every object can be serialized, i. e. , turned into a string from which that object can be recovered. This is in spirit similar to the uni? ed I/O approach of PARI, except it doesn’t have the drawback that objects print to screen in too complicated of a way. Also, support for saving and loading is (in most cases) completely automatic, requiring no extra programming; it’s simply a feature of Python that was designed into the language from the ground up. Almost all Sage objects x can be saved in compressed form to disk using save(x, filename) (or in many cases x. save(filename)). To load the object back in, use load(filename). sage: sage: [ 15 [ 42 [ 69 sage: A = MatrixSpace(QQ,3)(range(9))^2 A 18 21] 54 66] 90 111] save(A, ’A’) You should now quit Sage and restart. Then you can get A back: sage: sage: [ 15 [ 42 [ 69 A = load(’A’) A 18 21] 54 66] 90 111] You can do the same with more complicated objects, e. g. , elliptic curves. All data about the object that is cached is stored with the object. For example, sage: sage: sage: sage: E = EllipticCurve(’11a’) v = E. nlist(100000) save(E, ’E’) quit # takes a while The saved version of E takes 153 kilobytes, since it stores the ? rst 100000 an with it. ~/tmp$ ls -l E. sobj -rw-r–r– 1 was was 153500 2006-01-28 19:23 E. sobj ~/tmp$ sage [ ] sage: E = load(’E’) sage: v = E. anlist(100000) # instant! (In Pytho n, saving and loading is accomplished using the cPickle module. In particular, a Sage object x can be saved via cPickle. dumps(x, 2). Note the 2! ) 60 Chapter 3. The Interactive Shell Sage Tutorial, Release 5. 3 Sage cannot save and load individual objects created in some other computer algebra systems, e. . , GAP, Singular, Maxima, etc. They reload in a state marked â€Å"invalid†. In GAP, though many objects print in a form from which they can be reconstructed, many don’t, so reconstructing from their print representation is purposely not allowed. sage: a = gap(2) sage: a. save(’a’) sage: load(’a’) Traceback (most recent call last): ValueError: The session in which this object was defined is no longer running. GP/PARI objects can be saved and loaded since their print representation is enough to reconstruct them. sage: a = gp(2) sage: a. save(’a’) sage: load(’a’) 2 Saved objects can be re-loaded later on computers with different architectures or operating systems, e. g. , you could save a huge matrix on 32-bit OS X and reload it on 64-bit Linux, ? nd the echelon form, then move it back. Also, in many cases you can even load objects into versions of Sage that are different than the versions they were saved in, as long as the code for that object isn’t too different. All the attributes of the objects are saved, along with the class (but not source code) that de? nes the object. If that class no longer exists in a new version of Sage, then the object can’t be reloaded in that newer version. But you could load it in an old version, get the objects dictionary (with x. __dict__), and save the dictionary, and load that into the newer version. 3. 9. 1 Saving as Text You can also save the ASCII text representation of objects to a plain text ? le by simply opening a ? le in write mode and writing the string representation of the object (you can write many objects this way as well). When you’re done writing objects, close the ? le. sage: sage: sage: sage: sage: R. = PolynomialRing(QQ,2) f = (x+y)^7 o = open(’file. txt’,’w’) o. write(str(f)) o. close() 3. 10 Saving and Loading Complete Sessions Sage has very ? xible support for saving and loading complete sessions. The command save_session(sessionname) saves all the variables you’ve de? ned in the current session as a dictionary in the given sessionname. (In the rare case when a variable does not support saving, it is simply not saved to the dictionary. ) The resulting ? le is an . sobj ? le and can be loaded just like any other object that was saved. When you load the objects saved in a session, you get a dictionary whose keys are the variables names and whose values are the objects. You can use the load_session(sessionname) command to load the variables de? ed in sessionname into the current session. Note that this does not wipe out variables you’ve already de? ned in your current session; instead, the two sessions are merged. First we start Sage and de? ne some variables. 3. 10. Saving and Loading Complete Sessions 61 Sage Tutorial, Release 5. 3 sage: sage: sage: sage: _4 = E = EllipticCurve(’11a’) M = ModularSymbols(37) a = 389 t = M. T(2003). matrix(); t. charpoly(). factor() (x – 2004) * (x – 12)^2 * (x + 54)^2 Next we save our session, which saves each of the above variables into a ? le. Then we view the ? le, which is about 3K in size. age: save_session(’misc’) Saving a Saving M Saving t Saving E sage: quit w as@form:~/tmp$ ls -l misc. sobj -rw-r–r– 1 was was 2979 2006-01-28 19:47 misc. sobj Finally we restart Sage, de? ne an extra variable, and load our saved session. sage: b = 19 sage: load_session(’misc’) Loading a Loading M Loading E Loading t Each saved variable is again available. Moreover, the variable b was not overwritten. sage: M Full Modular Symbols space for Gamma_0(37) of weight 2 with sign 0 and dimension 5 over Rational Field sage: E Elliptic Curve defined by y^2 + y = x^3 – x^2 – 10*x – 20 over Rational Field sage: b 19 sage: a 389 3. 1 The Notebook Interface The Sage notebook is run by typing sage: notebook() on the command line of Sage. This starts the Sage notebook and opens your default web browser to view it. The server’s state ? les are stored in $HOME/. sage/sage\_notebook. Other options include: sage: notebook(â€Å"directory†) which starts a new notebook server using ? les in the given directory, inst ead of the default directory $HOME/. sage/sage_notebook. This can be useful if you want to have a collection of worksheets associated with a speci? c project, or run several separate notebook servers at the same time. When you start the notebook, it ? st creates the following ? les in $HOME/. sage/sage_notebook: 62 Chapter 3. The Interactive Shell Sage Tutorial, Release 5. 3 nb. sobj objects/ worksheets/ (the notebook SAGE object file) (a directory containing SAGE objects) (a directory containing SAGE worksheets). After creating the above ? les, the notebook starts a web server. A â€Å"notebook† is a collection of user accounts, each of which can have any number of worksheets. When you create a new worksheet, the data that de? nes it is stored in the worksheets/username/number directories. In each such directory there is a plain text ? le worksheet. xt – if anything ever happens to your worksheets, or Sage, or whatever, that human-readable ? le contains everything nee ded to reconstruct your worksheet. From within Sage, type notebook? for much more about how to start a notebook server. The following diagram illustrates the architecture of the Sage Notebook: ———————| | | | | firefox/safari | | | | javascript | | program | | | | | ———————| ^ | AJAX | V | ———————| | | sage | | web | ———— | server | pexpect | | | | ———————- SAGE process 1 SAGE process 2 SAGE process 3 (Python processes) For help on a Sage command, cmd, in the notebook browser box, type cmd? ). and now hit (not For help on the keyboard shortcuts available in the notebook interface, click on the Help link. 3. 11. The Notebook Interface 63 Sage Tutorial, Release 5. 3 64 Chapter 3. The Interactive Shell CHAPTER FOUR INTERFACES A central facet of Sage is that it supports computation with objects in many different computer algebra systems â€Å"under one roof† using a common interface and clean programming language. The console and interact methods of an interface do very different things. For example, using GAP as an example: 1. gap. onsole(): This opens the GAP console – it transfers control to GAP. Here Sage is serving as nothing more than a convenient program launcher, similar to the Linux bash shell. 2. gap. interact(): This is a convenient way to interact with a running GAP instance that may be â€Å"full of† Sage objects. You can import Sage objects into this GAP session (even from the interactive interface), etc. 4. 1 GP/PARI PARI is a compact, very mature, highly optimized C program whose primary focus is number theory. There are two very distinct interfaces that you can use in Sage: †¢ gp – the â€Å"G o P ARI† interpreter, and †¢ pari – the PARI C libraxry. For example, the following are two ways of doing the same thing. They look identical, but the output is actually different, and what happens behind the scenes is drastically different. sage: gp(’znprimroot(10007)’) Mod(5, 10007) sage: pari(’znprimroot(10007)’) Mod(5, 10007) In the ? rst case, a separate copy of the GP interpreter is started as a server, and the string ’znprimroot(10007)’ is sent to it, evaluated by GP, and the result is assigned to a variable in GP (which takes up space in the child GP processes memory that won’t be freed). Then the value of that variable is displayed. In the second case, no separate program is started, and the string ’znprimroot(10007)’ is evaluated by a certain PARI C library function. The result is stored in a piece of memory on the Python heap, which is freed when the variable is no longer referenced. The objects have different types: sage: type(gp(’znprimroot(10007)’)) sage: type(pari(’znprimroot(10007)’)) So which should you use? It depends on what you’re doing. The GP interface can do absolutely anything you could do in the usual GP/PARI command line program, since it is running that program. In particular, you can load complicated PARI programs and run them. In contrast, the PARI interface (via the C library) is much more restrictive. First, not all 65 Sage Tutorial, Release 5. 3 member functions have been implemented. Second, a lot of code, e. g. , involving numerical integration, won’t work via the PARI interface. That said, the PARI interface can be signi? cantly faster and more robust than the GP one. (If the GP interface runs out of memory evaluating a given input line, it will silently and automatically double the stack size and retry that input line. Thus your computation won’t crash if you didn’t correctly anticipate the amount of memory that would be needed. This is a nice trick the usual GP interpreter doesn’t seem to provide. Regarding the PARI C library interface, it immediately copies each created object off of the PARI stack, hence the stack never grows. However, each object must not exceed 100MB in size, or the stack will over? ow when the object is being created. This extra copying does impose a slight performance penalty. ) In summary, Sage uses the PARI C library to provide functionality similar to that provided by the GP/PARI interpreter, except with different sophisticated memory management and the Python programming language. First we create a PARI list from a Python list. age: v = pari([1,2,3,4,5]) sage: v [1, 2, 3, 4, 5] sage: type(v) Every PARI object is of type py_pari. gen. The PARI type of the underlying object can be obtained using the type member function. sage: v. type() ’t_VEC’ In PARI, to create an elliptic curve we enter ellinit([1,2,3,4,5]). Sage is similar, except that ellinit is a method th at can be called on any PARI object, e. g. , our t\_VEC v. sage: e = v. ellinit() sage: e. type() ’t_VEC’ sage: pari(e)[:13] [1, 2, 3, 4, 5, 9, 11, 29, 35, -183, -3429, -10351, 6128487/10351] Now that we have an elliptic curve object, we can compute some things about it. age: e. elltors() [1, [], []] sage: e. ellglobalred() [10351, [1, -1, 0, -1], 1] sage: f = e. ellchangecurve([1,-1,0,-1]) sage: f[:5] [1, -1, 0, 4, 3] 4. 2 GAP Sage comes with GAP 4. 4. 10 for computational discrete mathematics, especially group theory. Here’s an example of GAP’s IdGroup function, which uses the optional small groups database that has to be installed separately, as explained below. sage: G = gap(’Group((1,2,3)(4,5), (3,4))’) sage: G Group( [ (1,2,3)(4,5), (3,4) ] ) sage: G. Center() Group( () ) 66 Chapter 4. Interfaces Sage Tutorial, Release 5. 3 sage: G. IdGroup() [ 120, 34 ] sage: G. Order() 120 # requires optional database_gap package We can do the same computation in Sage without explicitly invoking the GAP interface as follows: sage: G = PermutationGroup([[(1,2,3),(4,5)],[(3,4)]]) sage: G. center() Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [()] sage: G. group_id() # requires optional database_gap package [120, 34] sage: n = G. order(); n 120 (For some GAP functionality, you should install two optional Sage packages. Type sage -optional for a list and choose the one that looks like gap\_packages-x. . z, then type sage -i gap\_packages-x. y. z. Do the same for database\_gap-x. y. z. Some non-GPL’d GAP packages may be installed by downloading them from the GAP web site [GAPkg], and unpacking them in $SAGE_ROOT/local/lib/gap-4. 4. 10/pkg. ) 4. 3 Singular Singular provides a massive and mature library for Grobner bases, multivariate polynomial gcds, bases of RiemannRoch spaces of a plane curve, and factorizations, among other things. We illustrate multivariate polynomial factorization using the Sage interface to Singular (do not type the ): sage: R1 = singular. ing(0, ’(x,y)’, ’dp’) sage: R1 // characteristic : 0 // number of vars : 2 // block 1 : ordering dp // : names x y // block 2 : ordering C sage: f = singular(’9*y^8 – 9*x^2*y^7 – 18*x^3*y^6 – 18*x^5*y^6 + 9*x^6*y^4 + 18*x^7*y^5 + 36*x^8*y^4 + 9*x^10*y^4 – 18*x^11*y^2 – 9*x^12*y^3 – 18*x^13*y^2 + 9*x^16’) Now that we have de? ned f , we print it and factor. sage: f 9*x^16-18*x^13*y^2-9*x^12*y^3+9*x^10*y^4-18*x^11*y^2+36*x^8*y^4+18*x^7*y^5-18*x^5*y^6+9*x^6*y^4-18*x^ sage: f. parent() Singular sage: F = f. factorize(); F [1]: _[1]=9 _[2]=x^6-2*x^3*y^2-x^2*y^3+y^4 _[3]=-x^5+y^2 [2]: 1,1,2 sage: F[1][2] x^6-2*x^3*y^2-x^2*y^3+y^4 As with the GAP example in GAP, we can compute the above factorization without explicitly using the Singular interface (however, behind the scenes Sage uses the Singular interface for the actual computation). Do not type the : 4. 3. Singular 67 Sage Tutorial, Release 5. 3 sage: sage: sage: (9) * x, y = QQ[’x, y’]. gens() f = 9*y^8 – 9*x^2*y^7 – 18*x^3*y^6 – 18*x^5*y^6 + 9*x^6*y^4 + 18*x^7*y^5 + 36*x^8*y^4 + 9*x^10*y^4 – 18*x^11*y^2 – 9*x^12*y^3 – 18*x^13*y^2 + 9*x^16 factor(f) (-x^5 + y^2)^2 * (x^6 – 2*x^3*y^2 – x^2*y^3 + y^4) 4. 4 Maxima Maxima is included with Sage, as well as a Lisp implementation. The gnuplot package (which Maxima uses by default for plotting) is distributed as a Sage optional package. Among other things, Maxima does symbolic manipulation. Maxima can integrate and differentiate functions symbolically, solve 1st order ODEs, most linear 2nd order ODEs, and has implemented the Laplace tr How to cite Sage 50 Accounting Software Tutorial, Essay examples

Saturday, December 7, 2019

What Are the Factors That Causes Stress free essay sample

Writing: what are the factors that causes stress and how to cope with stress? Being considered as one of the most common diseases, stress is the obsession of many people. However, if they know clearly about the causes of stress, it is not too difficult for them to avoid and cope with it. There are many causes of stress; and finance problem is one of them. In an online poll conducted in 2005 by Life care, Inc. , â€Å"23 percent of respondents named finances as the leading cause of stress in their lives†. It is not amazing that people who have a low living standard, always have to be under the stress, because they spend all most of their time worrying about bills, rising cost for education, heavy workload, so on. Besides, another cause of this disease is unhealthy lifestyle such as smoking, abuse of alcohol or other drugs. For the pessimist, a less serious illness or injury can also make them be under the stress, too. We will write a custom essay sample on What Are the Factors That Causes Stress or any similar topic specifically for you Do Not WasteYour Time HIRE WRITER Only 13.90 / page In addition, personal relationships are also the cause of stress to many people. According to the research report, by PhD. Ben Marllo in New York Times, almost children whose parents divorced have tendency to undergo high stress. People whose relatives passed away also suffer from the same circumstance. Stress is really a dangerous disease to people; however, it is not too difficult for them to cope with it. Being considered the most effective way to reducing the stress, relaxing by enjoying a interesting film, favorite songs or playing sports like reading, swimming will make their body return to the normal healthy state. In addition, learning to manage time more effectively is also a good way to cope with stress. Instead of wasting a lot of time doing unimportant work, people should always prioritize and do the most important work first, so they are not put pressure anymore. Besides, A sensible diet and getting enough sleep will help people rejuvenate and feeling better. It is really a good method people should apply daily to reduce the stress. In modern society, stress becomes one of the most popular diseases to many people. However, there are also many solutions to cope with this disease; people should apply them to reduce it, by doing this, they will have a better life.

Saturday, November 30, 2019

Kate Chopin Essays (1449 words) - Fiction, Frdric Chopin

Kate Chopin Kate Chopin is an American writer of the late nineteenth century. She is known for her depictions of southern culture and of women's struggles for freedom. At this time in American history, women did not have a voice of their own and according to custom, they were to obey their father and husband. Generally, many women agreed to accept this customary way of life. Kate Chopin thought quite differently. The boldness Kate Chopin takes in portraying women in the late nineteenth century can be seen throughout The Awakening and other short stories. The following is an overview of her dramatic writing style. Elaine Showalter states, Chopin went boldly beyond the work of her precursors in writing about women's longing for sexual and personal emancipation. (170). Chopin said that she was not a feminist of a suffragist. She was not an activist and she never joined the women's suffrage movement or belonged to a female literary community. Chopin saw freedom as a matter of your won spirit or soul without constraints. She did not try to encourage the women's movement in her writing; rather, she wrote what she felt. In writing what she felt, Chopin came to believe that a true artist defied tradition and rejected respectable morality and the conventions and formulas to literary success. (Showalter 171). It could be said Chopin had a literary awakening. In the early stages of Chopin's career, she tried to follow the literary advice and examples of others of her time. These efforts proved to be worthless. Chopin translated Solitude, a story by Guy de Maupassant, in which Maupassant escaped from tradition and authorityhad entered into himself and looked out upon life though his own being and with his own eyes. (Seyested 701). Chopin did not want to imitate Maupassant; she just wanted to express herself in her writing the way he had done so in his. In The Awakening Chopin seems to tell her story through the main character Edna Pontellier. Her breaking away from the conventions of literary domesticity is shown through Edna breaking away from the conventional feminine roles of wife and mother (Showalter 170). Kate Chopin shows boldness by taking the main characters and having them completely change their views on life. Edna is a young woman who discovers that her pampered married life is not what she wants. So she rebels to find fulfillment for her psychological, social, and sexual drives. Edna is married to Leonce Pontellier. Leonce is Edna's older husband who expects his wife to obey the region's social conventions. He sees Edna as a piece of personal property (Chopin The Awakening 2). Chopin tells in the novel that Edna is fond of her husband, with no trace of passion or excessive and fictitious warmth (18). Edna married Leonce primarily to secure a fatherly protector who would not make too many domestic, emotional, and sexual demands on her. Edna also has no motherly attachment to her children. She was fond of her children in and uneven, impulsive way. When her children were away, she did not miss them except with an occasional intense longing (18). These feelings show that Edna was not the normal mother-woman of that time. The largest and most criticized step Chopin takes is in The Awakening. Edna is having many mixed feelings about herself and her sexuality. In the novel, Chopin allows Edna to have an affair. This affair is not out of love but out of the need for passion in Edna's life. When Edna's one true love leaves, this allows Edna to face her changing feelings. Her true love, Robert, returns but they both realize it is not ment to be and he leaves again. He explains his action by saying, I love you. Good-by, because I love you, (112). Much shock felt by the readers toward The Awakening and other stories by Chopin was the boldness she took in rejecting the conventions of other women's writing. In The Awakening, Edna Pontellier appears to reject the domestic empire of the mother and the sororal world of women's culture. (Showalter 178). Edna seems to go beyond the bonds of womanhood, she did not have a mother of daughter and refuses to go to her own sister's

Tuesday, November 26, 2019

Battle of Stirling Bridge in the Wars of Scottish Independence

Battle of Stirling Bridge in the Wars of Scottish Independence The Battle of Stirling Bridge was part of the First War of Scottish Independence. William Wallaces forces were victorious at Stirling Bridge on September 11, 1297. Armies Commanders Scotland William WallaceAndrew de Moray300 cavalry, 10,000 infantry England John de Warenne, 7th Earl of SurreyHugh de Cressingham1,000 to 3,000 cavalry, 15,000-50,000 infantry Background In 1291, with Scotland embroiled in a succession crisis following the death King Alexander III, the Scottish nobility approached King Edward of England and asked him to oversee the dispute and administer the outcome. Seeing an opportunity to expand his power, Edward agreed to settle the matter but only if he were made feudal overlord of Scotland. The Scots attempted to sidestep this demand by replying that as there was no king, there was no one to make such a concession. Without further addressing this issue, they were willing to allow Edward to oversee the realm until a new king was determined. Assessing the candidates, the English monarch selected the claim of John Balliol who was crowned in November 1292. Though the matter, known as the Great Cause, had been resolved, Edward continued to exert power and influence over Scotland. Over the next five years, he effectively treated Scotland as a vassal state. As John Balliol was effectively compromised as king, control of most state affairs passed to 12-man council in July 1295. That same year, Edward demanded that Scottish nobles provide military service and support for his war against France. Refusing, the council instead concluded the Treaty of Paris which aligned Scotland with France and commenced the Auld Alliance. Responding to this and a failed Scottish attack on Carlisle, Edward marched north and sacked Berwick-upon-Tweed in March 1296. Continuing on, English forces routed Balliol and the Scottish army at the Battle of Dunbar the following month. By July, Balliol had been captured and forced to abdicate and the majority of Scotland had been subjugated. In the wake of the English victory, a resistance to Edwards rule began which saw small bands of Scots led by individuals such as William Wallace and Andrew de Moray commence raiding the enemys supply lines. Having success, they soon gained support from Scottish nobility and with growing forces liberated much of the country north of the Firth of Forth. Concerned about the growing rebellion in Scotland, the Earl of Surrey and Hugh de Cressingham moved north to put down the revolt. Given the success at Dunbar the previous year, English confidence was high and Surrey expected a short campaign. Opposing the English was a new Scottish army led by Wallace and Moray. More disciplined than their predecessors, this force had been operating in two wings and united to meet the new threat. Arriving in the Ochil Hills overlooking the River Forth near Stirling, the two commanders awaited the English army. The English Plan As the English approached from the south, Sir Richard Lundie, a former Scottish knight, informed Surrey about a local ford that would allow sixty horsemen to cross the river at once. After conveying this information, Lundie asked permission to take a force across the ford to flank the Scottish position. Though this request was considered by Surrey, Cressingham managed to convince him to attack directly across the bridge. As Edward Is treasurer in Scotland, Cressingham wished to avoid the expense of prolonging the campaign and sought avoid any actions that would cause a delay. The Scots Victorious On September 11, 1297, Surreys English and Welsh archers crossed the narrow bridge but were recalled as the earl had overslept. Later in the day, Surreys infantry and cavalry began crossing the bridge. Watching this, Wallace and Moray restrained their troops until a sizable, but beatable, English force had reached the north shore. When approximately 5,400 had crossed the bridge, the Scots attacked and swiftly encircled the English, gaining control of the north end of the bridge. Among those who were trapped on the north shore was Cressingham who was killed and butchered by the Scottish troops. Unable to send sizable reinforcements across the narrow bridge, Surrey was forced to watch his entire vanguard be destroyed by Wallace and Morays men. One English knight, Sir Marmaduke Tweng, managed to fight his way back across the bridge to the English lines. Others discarded their armor and attempted to swim back across the River Forth. Despite still having a strong force, Surreys confidence was destroyed and he ordered the bridge destroyed before retreating south to Berwick. Seeing Wallaces victory, the Earl of Lennox and James Stewart, the High Steward of Scotland, who been supporting the English, withdrew with their men and joined the Scottish ranks. As Surrey pulled back, Stewart successfully attacked the English supply train, hastening their retreat. By departing the area, Surrey abandoned the English garrison at Stirling Castle, which eventually surrendered to the Scots. Aftermath Impact Scottish casualties at the Battle of Stirling Bridge were not recorded, however they are believed to have been relatively light. The only known casualty of the battle was Andrew de Moray who was injured and subsequently died of his wounds. The English lost approximately 6,000 killed and wounded. The victory at Stirling Bridge led to the ascent of William Wallace and he was named Guardian of Scotland the following March. His power was short-lived, as he was defeated by a King Edward I and a larger English army in 1298, at the Battle of Falkirk.

Friday, November 22, 2019

Chemistry class xii project Essay Example for Free

Chemistry class xii project Essay Theory What is rust? Rust is the common name of a compound, iron oxide. Iron oxide, the chemical Effie, is common because iron combines very readily with oxygen so readily, in fact, that pure Iron Is only rarely found In nature. Iron (or steel) rusting Is an example of corrosion an electrochemical process involving an anode (a piece of metal that readily gives up electrons), an electrolyte (a liquid that helps electrons move) and a cathode (a piece of metal that readily accepts electrons). Causes When a piece of metal corrodes, the electrolyte helps provide oxygen to the anode. As oxygen combines with the metal, electrons are liberated. When they flow through the electrolyte to the cathode, the metal of the anode disappears, swept away by the electrical flow or converted into metal actions in a form such as rust. For iron to become Iron oxide, three things are required: Iron, water and oxygen. Here’s what happens when the three get together: When a drop of water hits an Iron object, two things begin to happen almost immediately. First, the water, a good electrolyte, combines with carbon dioxide in the air to form a weak carbonic acid, an even better electrolyte. As the acid is formed and the iron dissolved, some of the water will begin o break down Into Its component pieces hydrogen and oxygen. The free oxygen and dissolved iron bond into iron oxide, in the process freeing electrons. The electrons liberated from the anode portion of the iron flow to the cathode, which may be a piece of a metal less electrically reactive than iron, or another point on the piece of Iron Itself, Consequences Rusting has a number of effects on metal objects. It makes them look orange and rough. It makes them weaker, by replacing the strong Iron or steel with flaky powder. Some oxides on some metals such as aluminum form Just a thin layer on top which lows down further corrosion, but rust can slowly eat away at even the biggest piece of iron. If a piece of Iron’s strength Is important for safety, such as a bridge support or a car’s brake caliper. It Is a good Idea to Inspect It for rust damage every now and then. Rust also can cause metal parts that are supposed to slide over one another to become stuck. Rust can make holes In sheet metal. Rusty car mufflers sometimes develop holes in them, and the sheet steel making the outer bodies of cars will often rust through, making holes. Rust Is a lot less magnetic than Iron. An iron magnet will probably still work almost as ell when It has a thin coating of rust on It, but If It has rusted so badly that most of the metal is gone, then it will not work very well as a magnet. 1 OFF which is a metallic conductor. So if some electrical connection is made with iron, it’s likely to go bad when the iron surface rusts. Rust is associated with degradation of iron-based tools and structures. As rust has a much higher volume than the originating mass of iron, its build-up can also cause failure by forcing apart adjacent parts ? a phenomenon sometimes known as â€Å"rust packing†. It was the cause of the collapse of the Missus river bridge in 1983, when he bearings rusted internally and pushed one corner of the road slab off its support. Rust was also an important factor in the Silver Bridge disaster of 1967 in West Virginia, when a steel suspension bridge collapsed in less than a minute, killing 46 drivers and passengers on the bridge at the time. Prevention and Protection Because of the widespread use and importance of iron and steel products, the prevention or slowing of rust is the basis of major economic activities in a number of specialized technologies. A brief overview of methods is presented here; for detailed overage, see the cross-referenced articles. Rust is permeable to air and water, therefore the interior metallic iron beneath a rust layer continues to corrode. Rust prevention thus requires coatings that preclude rust formation. Some methods of prevention of rusting are as follows: Gallivanting:- Globalization consists of an application on the object to be protected of a layer of metallic zinc by either hot-dip gallivanting or electroplating. Zinc is traditionally used because it is cheap, adheres well to steel, and provides catholic protection to the steel surface in case of damage of the zinc layer. In more corrosive environments (such as salt water), cadmium plating is preferred. Coating and Painting:- Rust formation can be controlled with coatings, such as paint, lacquer, or varnish that isolate the iron from the environment. Large structures with enclosed box sections, such as ships and modern automobiles, often have a wax-based product (technically a â€Å"slashing oil†) injected into these sections. Such treatments usually also contain rust inhibitors. Covering steel with concrete can provide some protection to steel because of the alkaline pH environment at the steel-concrete interface. Humidity Control:- Rust can be avoided by controlling the moisture in the atmosphere. An example of this is the use of silica gel packets to control humidity in equipment shipped by sea. Metal Coupling:-Len this method, the iron is coupled with other metal and if the metal is above iron in electrochemical series(meaner more electrostatics)then in the galvanic cell is formed by the contact of the iron and that metal, iron will go under reduction it will be safe from rusting. If the metal is below iron in electrochemical series then iron will go under oxidation and rusting will be facilitated. Chemistry class xii project. (2018, Oct 12).

Wednesday, November 20, 2019

Paintings and allusions in English Patients Essay

Paintings and allusions in English Patients - Essay Example The essay "Paintings and allusions in English Patients" explores The English Patient, a recipient of the Man Booker Prize and the Governor General’s Award, written by a Sri Lankan-Canadian novelist, Michael Ondaatji. The reference comes to light when Kip surveys the chapel with his rifle telescope, â€Å"reached the great face and was stilled by it, the face like a spear, wise, unforgiving. (77)†. When Kip asks a fellow soldier about the true identity of the face, he learns that it is indeed the â€Å"great face† of Isaiah. The painting is a clear depicting of the catastrophic prophecies of Isaiah with regards to the Satanic bombing of Japan. The novel thus challenges the apocalypse (the nuclear bombing) by highlighting a community oriented eschatological society (through the means of Kip). The Queen of Sheeba, also known as â€Å"queen of the south† in the Hebrew bible, is in reality from a South African origin, which apart from other things, talks of kin g Solomon. In the book, The English Patient, her chastity is symbolized by the statue of Virgin Mary. In the passage from Isaiah 60:0; â€Å"And they from Sheeba shall come; they shall bring forth gold and incense; and they shall show forth the praises of the lord.† This is a clear indication that Sheeba is indeed a provider of wealth and a friendly giver. Out here, the chastity of Kip was given a tight joust when catastrophe struck on Japan in the form of an atomic bomb. David and Goliath is a painting by Master Caravaggio, who happened to be an Italian Baroque master.

Tuesday, November 19, 2019

Describe the three approaches to crime prevention. Explore the most Essay

Describe the three approaches to crime prevention. Explore the most effective approach in relation to either drug offending - Essay Example The police force alone cannot fight against all offense. Decreasing the risk and terror of crime is a job for the police force and the society; therefore, they must work jointly to prevent such crimes. Criminal justice is the study of various laws concerning criminal actions. The three main approaches adopted to prevent crime in the UK are social enlargement approach, police and judges as well as correction approaches, and finally situational approaches. Police force, magistrates and corrections approach is one of the traditional methods used to prevent crimes. They have significant functions to play, however, they can be utilized more efficiently to stop crime. Conventionally, police force services mainly focus on town extensive patrols, reacting to calls, inquiries and arrests. The courts give attention to assessing faults and crimes committed as well as sentencing the offender. Correctional approaches aim at supervising criminals during their verdicts and may or may not try to reh abilitate the criminals. Situational approach works towards decreasing the opportunities for offense by enlarging risks for the criminal and reducing the advantages of the crime. Examples of situational approach to offense prevention consist of enhanced lighting in public areas and self-defense mechanics for women.

Saturday, November 16, 2019

Managing Business Problems Essay Example for Free

Managing Business Problems Essay What are the causes of poor productivity within large organizations and how can we look at trying to improve this? Productivity is the degree of output achieved in relation to a certain level of input. For example, in a call centre environment, productivity would be seen as the number of telephone calls answered per hour by a certain number of staff. The telephone calls are the output and the staff available to take the calls are the input. In order to improve productivity, one of the following has to occur: The level of input is decreased however the level of output remains the same, or, the level of output increases but the level of input remains the same. In relation to the example of the call centre, this would mean reducing the number of staff available to answer the phone but yet the remaining staff would still have to answer the same number of calls, i.e. they would have to answer more calls each to compensate for the decrease in staff. Or the other way to increase productivity in a call centre would be to keep the same number to staff available to take customer calls but the number of calls being answered in total would have to increase. Productivity is a major issue within any organisation but especially call centres. Call centres do try to forecast the number of calls they expect everyday and allocate resources accordingly to deal with these pressures, however there are still thousands of calls abandoned (where the customer hangs up before even getting through to an advisor) each and every day, this is sometimes referred to as call leakage. This is a growing problem for call centres across the country and it is surprising the amount of customers who will take their business elsewhere simply because they cant get through on the phone as they see it as poor customer service. In many cases it isnt feasible for staff numbers to be increased in order to cope with the call volumes that are being received and so the only solution to reducing the call leakage is to increase the productivity of the existing staff. Working in a call centre environment myself I appreciate that this is a very challenging task as call centre agents generally feel overworked and underpaid already and trying to get more work out of them will be difficult. However my research into call centre life has thrown up some issues surrounding the task of increasing staff performance in order for your business to work smarter. My research examines the possibility of reward systems as a means of increasing productivity, how call centre staff view their own roles and changes they would like to see in order to help them perform better During my research I searched the Emerald website to find relevant journal articles to assist my studies. I came across an interesting one called An exploration of managerial issues in call centres by Colin Armistead, Julia Kiely, Linda Hole and Jean Prescott. This paper consisted of two case studies carried out in two large organisations; these will be known as Case Study A and Case Study B. I found this article useful as it explores why people work in call centres, how they feel about their jobs and this research is spread over all levels from call centre agent to general manager. Case Study A provides a good background to call centre life and will aid understanding of what it is like to work in a call centre environment. In Case Study A, a total of fourteen staff members of all levels were interviewed, interviews lasted one hour and were all taped and transcribed. The interviews explored the initial decision to work for a call centre, the expectations they had before they started and the extent to which their jobs had lived up to those expectations. The authors also examined company statistics; they found evidence of high turnover in staff who had been employed for a few months then reducing to comparatively low turnover after they had been employed for more than six months. I found the findings from Case Study A to be very surprising having worked in a call centre myself and not having had very many positive experiences during my time there. The overall impression from those interviewed was that they felt very positive about their workplace. There were inevitable differences in how different levels of employees viewed certain issued but there were more similarities than differences. I was interested to see how employees had spoke about productivity and performance targets. It became apparent that performance targets were related to the number of calls answered, the time in which it took to answer the calls and also the levels of call leakage. It is very easy to monitor call centre agents against an array of time-related measures and staff felt under a lot of pressure at times due to this. I can relate to this, as this is exactly how I felt working as a call centre agent. One manager interviewed in Case Study A stated that the most important thing in managing call centre staff was motivation, motivation, motivation, yet the manager in question admitted he had little idea of how to motivate staff. I do agree that motivating staff to perform well is an issue and I appreciate that highly motivated staff will be more productive but I also think that if staff working in call centres had a better understanding of the bigger picture and knew how their actions impacted upon the business as a whole they may change their attitudes and automatically perform better and more efficiently. This is just my opinion from my experience of working in a British Gas call centre for almost three years I have been privileged enough to have been given an insight into the deeper realms of the business, something which frontline staff rarely come into contact with and I do feel this would be of benefit to them. As it stand now, staff are being thrown tough performance targets by management and expected to meet them without question, they have no understanding of why the business needs them to perform at a particular level and what the consequences will be if they dont. I believe business awareness to be a vital part of representing a company to the public and the company I work for do offer a business awareness course, however this is e-learning based and has to be completed in your own time. Needless to say, there are not many staff who take advantage of this opportunity to understand the business they work for due to the above conditions and a lot of staff are probably unaware that the facility even exists. If British Gas were to allow the time for staff to complete this course during working hours or even to be paid overtime for the time they spend on it outside their scheduled hours, they would have a massive response and although this would be time consuming and possibly quite costly, I believe that the positive effects on how employees work would outweigh the costs. Productivity is very poor in the call centre I work in after reading relevant sections in a book called Remuneration Policy by Patrick McCauley I am under the impression that a successful reward system can help to improve productivity. McCauley defines motivation simply as goal directed behaviour and he makes it clear that employees will only be motivated to increase their performance by goals that are actually of interest to them, for example if a manager said to his team one day that the person with the highest productivity that day would be rewarded with a family ticket to the local pantomime then you would get Sandra, the mother with 2.4 children, husband and nice semi-detached house working her socks off, however, Matt, Gary and Emma, the three students on the team and Harold the grandad of the team who is six months off retirement would not be interested in the slightest by the managers offer of reward. McCauley states that the three key questions we need to consider when devising a successful reward system are: * What goals will employees actually pursue? * What factors will determine their success or failure in achieving these goals? * What will be the consequences of achievement or frustration for the employee and the organisation? As I have already mentioned, it is important to offer rewards that are of interest to the staff and that will actually motivate them to perform better and drive them towards goals which involve meeting productivity and performance targets on the way. It is important to offer generic rewards that are appealable to all or a choice of a few different rewards in order to cater for all the different ages, cultures etc. I have dome some research in to reward systems whilst working on a service excellence team in the British Gas call centre and the rewards that were constantly being requested by staff were things such as an extra days annual leave, high street vouchers, deputising for a higher level role for half a day as a development opportunity etc. These were things that the frontline staff were telling management would motivate them to work harder and to a higher standard, however management declined these requests as they saw them as too ambitious and they were especially against the extra holiday which unfortunately was the most popular suggestion. It was a shame these suggestions were declined as staff then felt that they were being ignored which in turn lowered morale and saw a drop in productivity for a short while, it would probably have been cheaper for the company to have allowed a small number of desired rewards which would have increased productivity for while and certainly wouldnt have reduced it. Staff are already aware of what their targets are on a day to day basis and we need to remember that there will be a percentage of staff who do consistently meet these targets, therefore when setting criteria for a reward system we have to set it higher than daily performance targets to show that staff are being recognised for going above and beyond the call of duty and not just being coaxed into doing what is already expected of them. Staff will have to meet daily performance and productivity targets and then some before they can achieve a reward. If an employee successfully achieves a reward for their performance then not only will their productivity have had to increase to achieve the reward in the first place but as that desired behaviour has now been rewarded, the employee will be conditioned into repeating it in order to gain further rewards. If an employee either attempts and fails to reach the goal required to achieve a reward or doesnt make the effort and sees his colleagues around him being rewarded for their increased effort and performance it will have one of the two following effects upon him: * He will become de-motivated as he is feeling left out or a failure as his efforts are not being recognised because he fails to reach the required standard and his performance will drop further. * He will become determined to work to the required level to achieve a reward to prove to himself and his managers that he too can perform well. If the latter of the consequences occurs then the reward systems is still being effective in all areas as even failures are being motivated to continue to strive for the reward on offer. However if the company begins to see individuals experiencing a drop in motivation and performance they may need to consider addressing this with a reward for example for the most improved productivity each month, therefore even those whose efforts dont bring them above the required productivity level for a standard reward have a chance of recognition for their efforts alone. McCauley examines Vrooms expectancy theory and this supports the issues raised above. Vroom does state though that the criteria that needs to be met in order to achieve a reward has to be very clear cut and communicated thoroughly to all levels of staff so as to avoid woolly areas where decisions to reward or not may be disputed. Throughout my research I have identified underlying issues surrounding the productivity of call centre staff and how to improve this by encouraging motivation amongst staff and providing them with personal goals that at the same time guide them towards achieving the productivity levels required by the business. I have come to the conclusion that productivity can only really be successfully increased in the long term by providing something for the individual to work towards, not just setting targets and expecting them to be met. I also think that increased business awareness amongst frontline staff would be beneficial to any call centre so then at least they know and understand why there are certain pressures placed upon them and they may be more welcoming to the challenge of attaining higher targets. Bibliography An exploration of managerial issues in call centres. (Journal Article) Colin Armistead, Julia Kiely, Linda Hole Jean Prescott. Remuneration Policy