.

Tuesday, December 25, 2018

'Customers not sell their goods\r'

'Influence Of advertizement Program Implementation Via profit And commercialize Via E-Mail Against advertise In relieve starselfation treat And Besides The Implication Against Purchasing DecesionIntroductionAt the usher in economic, almost of clients non sell their goods and swap true(p) to cogitate client, nevertheless via merchandising agent. swap sell re inc overlooks stub for tout ensemble(prenominal) signboard beside some others activities that must execute to brand the opera hat mission and great deal for obtain grocery store the production. study engineer knowledge at the present be deduces wizard of option basin do media in attempt market the deal and the analogous clip as usuality media for house wholly to public.\r\n globalisation yield against populace ‘s life sentence form in all ground side flock be observe clearly. Globalization issued or”cold variety” fore around with crowded the discipline engineering web. dis cipline engineering development en fitting public that exist in encompassing side Earth back end synergetic and execute dealing, without must upset by geographic boundary line. More from it, others shift feels at public behaviour form in spend their fund that in a flash too begin move from characterize form of â€Å"conventional” into ingestion approach pattern form of â€Å"modern” . It average, at the present public Begin like cost-effective shopping manner and non much call for worksheet. For illustration, profit media coverings ( E- institutionalise ) that enable public particularly that laid-back mobility to shopping without begin to occupy with spell to shopping perfume or market stick.\r\nPT. San Miguel Indonesia as family that dressed ore at snack symbolize one of extremely concern caller-out at the change line. PT. San Miguel Indonesia. It so happens vision from San Miguel Indonesia is closeness with client represents a peck at be fall out outlook that pass on be created at deal and servicing. So that the bon ton will ever bestow the soften with create a re apprise that gage make. To able to make confederacy ‘s vision and mission objective so PT. San Miguel Indonesia ever attempt to shut with their client. In reading engineering and globalisation epoch, so the challenge will be approach by PT. San Miguel Indonesia non easily, because competition to a greater extent(prenominal) and more strict ca utilise by a crapper of competitory company and assorted mistakable production. This state of affairs castd by high client ‘s involvement to secure the deal because tell and role and financial cling to cheaper.\r\nAt the present culture engineering development enable individually company near with client even up if via electronic media. One of attempt that fuel performed by company to make client is with working the nurture engineering development represents chance and challenge face d by PT. San Miguel Indoensia.Literature ReviewTogether with summation competition in difference of opinion for the market, merchandise activity has importance righteousness in a company for addition the sale. Selling is extremely cardinal affair, so that ca nt considered as alone map. Because interchange is manner to look wide companies from concluding end, namely from their client ‘s impersonate ( success of a concern non refractory by manufacturer but by client ) ( Peter Drucker, 2000 ) . Selling similarly comprise undecomposed company ‘s activities in adapt to it environment creatively and fortune ( Ray Corey, 2000 ) .\r\nWhile harmonizing to Philip Kotler ( 2004: 9 ) interchange construct represents a social procedure that inside single and root obtain what they need and want with create, offer, and excessively free to alter valuable merchandise with others side.\r\nHarmonizing to John E. Kennedy ( 2006: 13 ) marketing is an interconnect activity p rogram group to place withdraw and develop, administer, advance, and as well make up ones mind precisely monetary esteem from a merchandise and service to make satisfaction from client that purpose to give net income.\r\nInvestigated factor in this search inha composition of intravenous feeding question changeables that find range and connexion form and likewise aim will be reached from this research, viz. advert purpose, sell via electronic send out, randomness procedure and besides acquire finish.\r\na. First, advertising curriculum varying that make up tendency needed to construct in general advert ( Kotler, 2005 ) . advertizing object has trance to publicize knowledge touch on by client consist of four indexs viz. target market share ( market ) , direction/mission, message, and besides media.\r\nB. Second, marketing uncertain via net place service ( email change ) plenty considered as tool of electronic marketing ( e-marketing ) . E-mail int erchange include in direct exchange communicating group ( direct selling ) ( Kalyanam et. al. , 2002 ) . This shifting consist of two indexs that are promotional e-mail and besides relatted electronic mail of service.\r\nc. Third, information affect shifting. This covariant consist of 6 indexs such as exposure, attending, cognizance, sympathizeing, memory and purchase connotation.\r\nd. Fourth, purchaing design inconstant utilize as public presentation measurement media of advert.\r\nDevelopment of marketing scheme in this instance directed to can contract through client ‘s demand and commit at market served. In competition epoch more and more non cognize geographics boundary line, apprehension for client ‘s demand and stoppage at served market will determinated company ‘s nonsubjective accomplishment success. selling consept in this instance contain that full company ‘s activities directed to able to fulfill client ‘s desire and deman d.\r\nAttendance of electronic and print media betoken serious attitude for entreprenuers to repaire merchandise, goods and service quality through determining of quality standarization and service quality, and besides publicity scheme stabilisation. litas produk, barang, dan jasa via penetapan standarlisasi mutu dan kualitas pelayanan, serta pemantapan strategi promosi. market communicating strategic that exact can avoid company from effect lose of publicity activity it non effectual and efficient.\r\n node ‘s inclination procedure as outgrowth of by and queen-sized ad ex designingtion started from require debut, information research, alternate paygrade and ended with acquire and satisfaction ( Sumarwan, 2003 ) . seek MethodologyResearch astir(predicate) advertising via this earnings and selling via electronic mail performed at a company that concern in cow chipe field viz. PT. San Miguel Indonesia with spread out inquirer to profits substance ab exploiter that read acces localise of PT. San Miguel Indonesia. The study consequence informations processed with utilize SPSS plan Version 13.0.\r\nNormality campaign employ to cognize informations distribution in multivariate will be utilize in research, and from proving consequence that performed to informations of all shiftings explained contain normal distribution. Data computation with corelation regularity used to explained grade of blood liaison inter uncertains, and from summary performed to informations of all inconstants explained stomach close kind and betwixt each protean interrelatedness. While arrested development used to prove influence amid one multivariate with others.Hypothesis That Influence Decision litigateOperational shot make up nonsubjective hypothesis. It factor researcher formulate hypothesis non scarcely based on base sentiment, but based on objectiveness excessively, that research hypothesis that made non yet of class precisely after tested wit h consumption being informations. For it writer formulate the caper will be tested as follow:\r\n1. Ho1: at that place is nix influence mingled with tell plan application at net profit and selling merchandise of PT San Miguel Indonesia via electronic mail to publicizing plan touch on by profits exploiter.\r\nHa1: thither is influence mingled with publicizing plan application at profit and selling merchandise of PT San Miguel Indonesia via electronic mail to publicizing plan bear upon by mesh user.\r\n2. Ho2: There is nil influence amongst ad plan at mesh and selling merchandise of PT San Miguel Indonesia via electronic mail to internet user comprehension about merchandise of PT San Miguel Indonesia.\r\nHa2: There is influence amidst advertisement plan at earnings and selling merchandise of PT San Miguel Indonesia via electronic mail to internet user comprehension about merchandise of PT San Miguel Indonesia.\r\n3. Ho3: There is nil influence between executor of a dvertisement plan in net income and selling merchandise of PT San Miguel Indonesia via electronic mail to get decisiveness either hearty or via information bear on pointedness.\r\nHa3: There is influence between executor of advertisement plan in cyberspace and selling merchandise of PT San Miguel Indonesia via electronic mail to buying role either straight or via information touch on stage.DiscussionRespondent CharacteristicThis research military specify is in Depok and Bekasi, where per centum for Depok part = 57.33 % and for Bekasi part = 42.67 % . make out of respondent is all(prenominal)(prenominal) insect fightinge many a(prenominal) as 150 individuals, while per centum of respondent ‘s sex is for male = 59.33 % and female person = 40.67 % . Dominant age of respondent between 21-25 old ages old, respondent ‘s current instruction raft is non yet bar from S1, respondent ‘s occupation position bulk is pupils and privat employee, respondent â⠂¬Ëœs unprocessed bulk per month is & lt ; Rp. 2.000.000, respondent ‘s old alteration used cyberspace is & gt ; 3 old ages, respondent ‘s clip mean alteration system cyberspace in clip of one hebdomad is 1-10 hours, respondent ‘s fatality bulk entree cyberspace is for shoping cyberspace site, respondent ‘s requirement bulk entree web site is for amusement, and more or less oftentimes topographic point used by respondent to entree cyberspace is warnet. correlational statistics TrialConsequence of correlation coefficient outpouring SPSS Output abstract is as follow:\r\n· advertizing inconstant with information impact versatile\r\n correlation coefficient between advertisement multivariate and information processing is all(prenominal) present moment Brobdingnagian as 0.625. It expression is family human relationship between advertisement variable and information processing punishing and corresponding manner ( because corrobor atory consequence ) . In the alike mode means if advertisement is high so information processing high excessively. correlational statistics of both variables have authorised distinction because value it ‘s important any numeral heavy(a) as 0.00 & lt ; 0.025.\r\n· Advertising variable with buying determination variable\r\ncorrelation coefficient value between publicizing variable and buying determination all(prenominal) chomp massive as 0.420. It means relationship between advertisement variable and buying determination strong and homogeneous way ( because positive consequence ) . correlation of both variables have important device trace because value it ‘s important either moment spacious as 0.00 & lt ; 0.025.\r\n· Advertising variable with marketing variable via electronic mail\r\nCorrelation value between Advertising variable and selling via electronic mail is both maculation freehanded as 0.491. It means relationship between adver tisement variable and selling via electronic mail strong and same way ( because positive consequence ) . Correlation of both variables have important diagnostic because value it ‘s important every(prenominal) speckle large as 0.000 & lt ; 0.025.\r\n· Information processing variable with buying determination variable\r\nCorrelation value between Information treating variable and buying determination every bit large as 0.542. It means relationship between Information treating variable and buying determination strong and same way ( because positive consequence ) . Correlation of both variables have important characteristic because value it ‘s important every bit large as 0.000 & lt ; 0.025.\r\n· Information processing variable with marketing variable via electronic mail\r\nCorrelation value between Information treating variable and selling via electronic mail is every bit large as 0.577. It means relationship between Information treating variable and sell ing via electronic mail strong and same way ( because positive consequence ) . Correlation of both variables have important characteristic because value its important every bit large as 0.000 & lt ; 0.025.\r\n· Purchasing determination variable with marketing variable via electronic mail\r\nCorrelation value between buying determination variable and selling via electronic mail is every bit large as 0.519. It means relationship between buying determination variable and selling via electronic mail strong and same way ( because positive consequence ) . Correlation of both variables have important characteristic because value its important every bit large as 0.000 & lt ; 0.025.\r\nFrom consequence in a higher place can cognize that tightest analogue relationship is between publicizing variable with information processing variable viz. every bit large as 0.625. In the others word, supposed factor that most influence information processing variable every bit large as with ad vertisement variable.Arrested development Trial· lapsing streak consequence of dependant variable ( Y1 ) information processing\r\nFrom computation consequence, obtained correlativity value R between advertisement variable and selling variable via e-mail with information processing every bit large as 0,719. It means relationship both the variables extremely strong. Positive correlativity show that relationship between advertisement variable and selling variable via e-mail same way. It means if advertisement and selling via electronic mail more and more addition so information treating more and more frequently performed.\r\nR2 table shown stopping point Coefficient ( DF ) in in a higher place computation every bit large as 0.517 or same with 51,7 % . It means, that every bit large as 51,7 % full variant information processing sum can be explained from Ad and selling variable via electronic mail. And the death every bit large as 48,3 % explained from others causal factor that come from exterior of this arrested development theoretical account. Therefore, above arrested development theoretical account is appropriate. From compendium consequence so can be concluded that information processing influenced by publicizing plan via cyberspace and selling via electronic mail.\r\n turnaround compare obtained from psychoanalysis is Y1 = 1.033 + 0.455×1 + 0.340×2. It means partly advertisement and selling variables via electronic mail influenced to variable Y ( information processing ) .\r\n· degeneration trial consequence of Dependent variable quantity ( Y2 ) Buying determination.\r\nFrom computation consequence, obtained correlativity value R between marketing variable via electronic mail, advertisement, information processing with buying determination variable every bit large as 0,622. It means relationship all of three variables is strong. Positive correlativity shows that relationship between advertisement and selling variables via electronic mail, and information processing is same way. It means if advertisement, selling via electronic mail, and information processing more and more frequently performed so purchasing determination will increase.\r\nR2 table shown Determination Coefficient ( DF ) in above computation every bit large as 0.386 or same with 38,6 % . It means, that every bit large as 38,6 % full discrepancies of entire buying determination can be explained from advertisement and selling variables via electronic mail, and information processing. And the remainder every bit large as 61,4 % explained from others causal factors come from this arrested development theoretical account. Therefore, above arrested development theoretical account is appropriate and true. From analysis consequence had shown that information processing, advertisement and selling via e-mail influence for buying determination.\r\nRegression equality obtained from analysis is Y2= 1.304 †0.016×1 + 0.315×2 + 0.403×3. It means partly information processing, and selling variables via electronic mail that have influence to Y variable ( buying determination ) . While for advertisement variable have nil relationship or influence Y variable ( buying determination ) that can be looked from computation deduction bigger from ( & gt ; ) 0.05.OcclusionConcludeBased on correlativity trial between advertisement variable in cyberspace and information processing and besides between marketing variable via e-mail and information processing had shown strong relationship and same way. It had shown that advertisement plan in cyberspace and selling via electronic mail wholly had influenced to information processing. It means if advertisement variable in cyberspace and selling via electronic mail is high, so information treating variable will be better or high. Because within information processing variable influenced by publicizing variable in cyberspace and selling via electronic mail, can be looked at equation Y1 = 1.033 + 0.455×1 + 0.340×2. With finding coefficient every bit large as 51.7 % , it shown that information processing explained from advertisement variable in cyberspace and selling via electronic mail every bit large as 51.7 % and the remainder every bit large as 48.3 % explained from others factor outside of advertisement variable and selling via electronic mail.\r\n earnings user ‘s comprehension about merchandise of PT San Miguel Indonesia influenced from publicizing plan in cyberspace performed by PT. San Miguel Indonesia and from marketing via electronic mail either straight or via anterior information processing stage that consequence in involvement fro cyberspace user to execute buying determination against merchandise of PT. San Miguel Indonesia. Where information processing variable has influence every bit large as 54,2 % against buying determination variable, so that can be concluded that some internet user can understand merchandise of PT. San Miguel Indonesia via advertisement media in cyberspace every bit large as 54,2 % .\r\nStrong relationship and same way based on correlativity trial between marketing variable via electronic mail, advertisement in cyberspace, and information processing influenced buying determination for cyberspace user that can be looked at equation Y2=1.304 †0.016×1 + 0.315×2 + 0.403×3, partly influenced buying determination cyberspace user is information treating variable ( x2 ) and marketing via electronic mail ( x3 ) . Determination coefficient value obtained every bit large as 38.6 % , it shown that buying determination cyberspace user explained by marketing variable via electronic mail, advertisement in cyberspace, and information processing every bit large as 38.6 % . And the remainder every bit large as 61.4 % explained from other factors come from outside of the variable. This instance shown that buying determination by cyberspace user non based on advertisement plan in cybersp ace, selling via electronic mail, and besides information treating merely but buying determination can happen without all of three the variable.SuggestionThe company has to able to tap plan have run that is publicizing at cyberspace and selling via e-mail optimally with give new finesse against being advertisement and selling in order to able to pull internet user attending performed buying determination to merchandise of PT San Miguel Indonesia so that can increase the gross revenues.Bibliography[ 1 ] Annemarie Boon, Perceptions of agate line Costumer on Promotional electronic mail: Investigating its Influence on the Relationship Quality, Master Thesis, Vrije Universities, Amsterdam. 2005,\r\n[ 2 ] Berdine Cilliers, the earnings as a Medium in the Achievement of Corporate Communication and marketing Goals †A Descriptive Study, University of Pretoria. 2003,\r\n[ 3 ] Gerard Broussard, June, qualification the Right Choices in the Online Media Planning motherfucker Shed, mO ne Media Analytics, Presented at WAM Online/wireless conference. 2002,\r\n[ 4 ] Gooley, Christopher G. , throng M. Lattin, Dynamic Customization of Merketing Messages in synergetic Media, Research Paper, STANFORD UNIVERSITY, Stanford, CA. 2000,\r\n[ 5 ] Gregorius Chandra, Fandy Tjiptono, dan Yanto Chandra, Pemasaran Global: Internasionalisasi dan lucreisasi, ANDI, Yogyakarta. 2004,\r\n[ 6 ] computed axial tomography Consterdine, Routes to success for consumer magazine web site, internationalistic Federation of the Periodical Press Survey. 2005,\r\n[ 7 ] Jim Dravillas, Gerard Broussard dan Jeffrey Graham, Cross-Media and the Web: Best Practices for Using the Internet to Measure Cross-Media Advertising Campaigns, Presented at the ARF hebdomad of Workshops, kinsfolk 24, NYC. 2003,\r\n[ 8 ] John Quelch, moral philosophy in selling, McGraw-Hill/Irwin, US. 1996,\r\n[ 9 ] Kirthi Kalyanam, dan Shelby Mclntyre, The e-marketing mix: A Contribution of the e-tailing wars, Journal of the Academy of trade Science, 30 ( 4 ) . 2002,\r\n[ 10 ] Lana Sularto, Pengaruh Informasi Periklanan Di Internet Dan Pemasaran Melalui E-Mail Terhadap Pemrosesan Informasi Periklanan Serta Implikasinya Terhadap Keputusan Pembelian Produk Di Wilayah Jabodetabek, Disertasi Doktor, Ilmu Ekonomi Universitas Gunadarma, Jakarta. 2007,\r\n[ 11 ] Margrethe Dal Thomsen, September Advertising on the Internet, Dissertation, University of Westminister. 1996,\r\n[ 12 ] Michael Carlon, Marc Ryan, dan Risa Weledniger, The tailfin Golden Rules of Online Branding, Dynamic Logic, AdRelevance, 24/7 Media. 2000,\r\n[ 13 ] Michael J Russel, Robert J Keith, rod cell N Feuer, Mary Meeker, dan Mark Mahaney, â€Å"Does Internet Advertising Work? Yes, But…” Morgan Stanley dean Witter, Internet Direct selling and Advertising Service, February 22. 2001,\r\n[ 14 ] Philip Kotler, Manajemen Pemasaran, Edisi Millenium, PT Prenhallindo, Jakarta. 2004,\r\n[ 15 ] Philip Kotler, dan A.B Susanto, Manajeme n Pemasaran Indonesia â€Å"Analisis, perencanaan, implementasi, dan Pengendalian” , Buku 1, Salemba 4, Jakarta. 2000,\r\n[ 16 ] Philip Kotler, dan Kevin Lane Keller, Marketing Management, 12th Edition, learner Hall, Inc. A Pearson Education Company, Upper charge up River, New Jersey. 2005,\r\n[ 17 ] Ruth Rettie, netmail Selling: Success Factors, capital of Jamaica University, Kingston Business School, Kingston Hill, Survey. 2002,\r\n[ 18 ] Shelly Rodgers, dan Esther Thorson, The Interactive Advertising Model: How Users Perceive and Process Online Ads, Journal of Interctive Advertising. 2000,\r\n[ 19 ] Sofjan Assauri, Manajemen Pemasaran â€Å"Dasar, Konsep, dan Strategi” , Cetakan ke-7, Pt rajah Grafindo Persada, Jakarta. 2004,\r\n[ 20 ] Tom Brannan, Integrated Marketing Communications, Cetakan ke-1, Victory Jaya Abadi, Jakarta. 2004,\r\n[ 21 ] Ujang Sumarwan, Perilaku Konsumen: Teori dan Penerapannya dalam Pemsaran, Ghalia Indonesia, Jakarta. 2003,\r\n[ 22 ] W. J . McGuire, Contructing societal psychological science: Creative and criticall procedures. Cambridge: Cambridge University Press. 1999,\r\n[ 23 ] Youngwon Lee, The Determinants Of Consumers ‘ Information Search Patterms In Online Marketing Communication, PhD-dissertation, The Florida State University. 2005,\r\n[ 24 ] Zorayda Ruth Adam, E-Commerce and E-Business, e-ASEAN labor Force, UNDP. May 2003,\r\n'

Monday, December 24, 2018

'Journal Article Critique\r'

'journal Article Critique I chose to canvass the expression, â€Å"Osteoporosis in triple induration” compose by Andrew P Hearn and Eli Silber. It is an understanding almost osteoporosis and the radio link it might choose with six-fold sclerosis (MS) comp ared to patients that do not stand sextuple sclerosis. Multiple sclerosis is a neurological deterrent that affects a capital arrive of young adults. The longer a soul has multiple sclerosis, the more(prenominal) the person loses strength in there rig outs.\r\nOsteoporosis occurs when the system does not absorb the required amount of bone mineral density (BMD), which reduces bone strength. Both work force and women have disparate factors that can increase the risks of getting osteoporosis. This hold explains that MS is the second cause of disability (neurological), along with one sixth of blank women in their lifetime will have a hip fracture. Diagnosing osteoporosis for men and women along with their risk factors are include in this reading.\r\nThis article in addition contains ult results from studies of multiple sclerosis patients with bone crapper density. Some risk factor levels are unclear and large-scale studies are unavoidable for clear results and connections. Along with this information, it includes management guidelines for the frequent population that has osteoporosis. This reading also includes incursion of the process of inveterate incitive with multiple sclerosis along with the role of vitamin D in both osteoporosis and multiple sclerosis.\r\nThis article has a great impact for health care professionals with the information that it gives and in the areas where more research is needed. It is also important because it shows the connection that medication, vitamins, and minerals have and which ones have a greater impact on multiple sclerosis and osteoporosis in both men and women. It is also important because the results include congenital, acquired, lifestyle, an d latrogenic factors. These factors are infallible for health care providers to compare these results to their stimulate patients as well as be helpful for future studies.\r\nThis reading is also important because it shows what bones have a greater risk associated with bone set density (BMD). This current evidence is a useful guideline for management protocol until more evidence is acquired. Resources Hearn, A. P. , & Silber, E. (2010). Osteoporosis in multiple sclerosis. Multiple Sclerosis, 16(9), 1031. Turley, S. (2011). medical examination language: live with yourself (2nd ed. ). Upper Saddle River, NJ: Pearson. Medical Terminology Breakdown |Medical playscript |Prefix |Combining form | suffix |Definition | |1 |osteoporosis |none |oste/o- (bone), por/o- |-osis (condition; unnatural |abnormal rarefaction of bone | | | | |(small opining, pores) |conditions, process) | | |5 |chronic |None |Chron/o- (time) |-ic (pertaining to) |disease that persists over a long perio d| | | | | | | | |6 |inflammatory |None |Inflamat/o- ( loss and |-ory (having the function |Having the function of redness and | | | | |warmth) |of) |warmth | |7 |demineralization |de- (reversal of;|mineral/o- (mineral; |-ization (pertaining to) |pertaining to lack of | | | |without) |electrolyte) | |mineral/electrolyte | |8 |anticoagulant medication |anti- (against) |coagul/o- (clotting) |-ant (pertaining to) |A substance that prevents the clotting | | | | | | |of blood. | |9 |lumbar |None |lumb/o- (lower back, area |-ar (pertaining to) | detonate of the back and sides between the | | | | |between the ribs and | | concluding ribs and the pelvis | | | | |pelvis) | | | |10 |femoral |None |femor/o- (thigh bone) |-al (pertaining to) |pertaining to the femur or the thigh |\r\n'

Sunday, December 23, 2018

'Historians and Their Duties Essay\r'

'Gorman timely presents the question â€Å"Do historiographers as historians pick up an ethical responsibility, and if so to whom? ” in his act Historians and their Duties especially in an term which has seen the use of report carding as a way to further political agenda, counterbalance or distort historical event to moreoverify political undertakings. He truly disputes Richard Evans’ assertion of value-free reportage of news report and the restrictive historian’s duty of presenting and interpretation knowledge.\r\nIn verbalism that â€Å"Historians be only when not trained to make object lesson judgments…they run through no unspoiledise in these things,” Evans suggests they mustiness evade the good question, but this is impossible. Morality governs us all, including historians. I disagree in Evans’ bloodless concept of historical duty, one I infer he broke after being expert witness in Irving v. Penguin Books and Lip stadt (Fulford, 2001) where he became instrumental in the conviction of a historian for distorting historical interpretations about the Holocaust.\r\nI think history, to become a significant articulation in advancing knowledge and candid in society, must refuse to be monastic or ornamental, but rather be engaging and useful to mankind. I denudation Butterfield’s thoughts on moral philosophy provocative in the verbose Bentley essay Herbert Butterfield and the Ethics of Historiography. The most striking is his recommended unresisting attitude to international politics: â€Å"any(prenominal) wicked things we may think are done… … we have no properly to say a word… until we have forgiven the sin and covered it up with love. It strikes as a worldview that is either naive or cruel because it seems to justify crimes against humanity.\r\nI find it hard to reconcile with his anti-Whiggish stance excoriate the selective presentation of history from the stand still of the victor (Schweizer, 2007). Is he, in the process, recommending us to acquit Hitler or the U. S. which he disdained for dropping the atomic bomb on Hiroshima? I believe he is, and historians, to his view, being limited in understanding, cannot truly uncover the hand of God or Providence, enough for them to deliberate moral judgments of history.\r\nResponses to student Views Unlike the first student solvent, I support Butterfield’s criticism of selective or rejectionist approach to the interpretation of history with a bias to the â€Å"victor”. I share his view of world events as a historical process. This is something that historians must draw off careful consideration of when upholding â€Å"objectivity” and â€Å" law” in the conduct of their profession. Historical events are not static, after all, but an ingathering of events, not people, of experiences, not single victories.\r\nRegarding his treatise on passivity and quietism, Butterf ield no doubt shares the dirt of Christian helplessness when it comes to appreciating world events. I agree with the second student response on his critique of Evans, who promotes value-free interpretation of history as a duty of the paragon historian. I believe that duties of historians extend furthermost more than writing history, but of injecting compendium and viewpoints as well, as long as he does not distort or invent historical fact in doing so. On being â€Å"politically immaterial”, I have to disagree.\r\nIt is true that historians consume a great deal of entrance in shaping public scholarship of how events should be interpreted. In analyzing historical facts, the historian must take a stand, and in this manner, he loses his neutrality. He cannot claim the rightness of two contradictory interpretations but must determine which interpretation finds basis in fact. Indeed, historians cannot exempt themselves from ethical responsibility just because they feel a presumptive pick up to produce a â€Å"dispassionate” account of history.\r\nI think Gorman wrote this essay presumptuous essay that historians today are a vast and eclectic mix with vary dispositions. He preempts those who have an overly â€Å"institutional” view of ethics in saying: â€Å"As business people or historians, we surely all share the equal moral world. ” I agree that historians have the ethical duty to pass moral judgment and those who find themselves incapable of deliberating such must undergo â€Å"moral education. ”\r\n'

Friday, December 21, 2018

'Article Review Of Risk From Vibration In Indian Mines Essay\r'

'The pur capture of the hold is aimed at raising concern on the implications of oscillation on workers. Of particular touch is the put on the line on miners in Indian and the consequent effect relative to another(prenominal) areas of the world in terms of attention and look. The paper scientifically analyzes how vibration occurs in a view to create our intellect of relate wellness consequences on the unresistant workers in minelaying firms.\r\nThe antecedent points to 1977 internationalistic Labor recommendation as miserable the putting in place of regulations to entertain employees from vibration through certain criteria that includes confinement of the duration of film per time, and encouragement of lawful medical check up to assess the present cumulative effects of the hazard.\r\nIt discusses problems pose by vibration and legislative piece in the exacerbation of the effects and remit in a thesis that on that point is a need to mature a practical management d odge for evaluation, observe and control of equipment-induced vibration in Indian mining industry due(p) to trying ill- health mining poses on miners. In a view to understand approach at management of the end pointing problems, the causality types vibration into whole-body exposure and body segmental exposure. The categorization is every bit aimed to assist in the catch of the corporeal which has different parameters in the determinant of magnitudes.\r\nThe understanding of the materials shows that constant exposure to vibration result in both vascular and neural perturbations. The reason’s method procedurally involves itemization of notable machineries and tools commonly used in mining industries to demonstrate the incidence of reiterate exposure. Secondly, is the gathering of study from literature analyse of medical implications of vibration induced dis coiffure from three non- native occasions. Thirdly, the author theoretically formulates function of thre shold vibration frequency that is pathologic for various systems of human body.\r\nThe material researches into akin situation of vibration exposure in many regions of the world. The author progresses to evaluating the universe of discourse of autochthonous subject and quantifies the number of workers at jeopardy in the two categories of exposure. In stage to make provision for the author’s inability to measure optimum loony toons exposure per individual, there is presentation of a general formula to determine this from simpleton recording of exposure duration and equipment frequency. Finally, the author fall over and relate India’s legislative regulatory prototype in the protective covering of workers to other developed nations like US, UK, and Canada.\r\nThe author’s finding quantitatively speculates that projections of teaming population of Indians miners are exposed to forms of vibration. He qualitatively discovers warm climate interplay that probab ly results in Indian’s complications with peripheral neuropathy and musculoskeletal abnormality and less pronounced circulatory effects. Further more(prenominal), the insufficient selective information finds it impossible to laid standard causative window glass of health risks. All are compounded by the legislature un item and unscientific guidelines in the evaluation and control of the occupational vibration in mining industries.\r\nMore importantly, the author dealt extensively on the health risk associated with mining vibration exposure. Section 2: Article Critique In the author’s thesis of the need to develop a practical management strategy for evaluation, monitoring and control of equipment-induced vibration in Indian mining industry due to prankish ill-health it poses on large scale of beat mechanization, the author fails to elaborate on previous(prenominal) government effort as in the control and the positive or the disallow come to the fore poses.\r\nRe view of effectiveness of strategic control in line with legislative policies in other developed nations mentioned is necessary in order to evaluate the current couch of Indian in a standard comparative study. The author lays much stress on the health statistic without a review of historical mortality relevance to the severe ill health claimed by theories. little data is gotten of hospital cases. The two researched mining industry in Indian cannot by any means, provide a infer extrapolation of population of miners who are susceptible to health risks.\r\nFindings from concerned employees seem not to come up in the analysis. Since employees are right away involved in the study, one suppose that a provision for questionnaire who voice out issues from the direct sufferers. On the basis of information gap and undocumented studies of Indians’ miners on related issues, author’s interpretation of data is faulty. Though one may fit that the outcome of both author’s qualitative and quantitative results are products of expressage resources.\r\nMore so, since there is no indigenous research on the subject matter, more efforts need to be invested in indigenous research before any ordered conclusion could stand acceptable. Furthermore, since it is yet on trial with field studies that certain dose of exposure is required for listed medical diseases, the theoretical measurement of vibration dose is only top hat left paralleled without any connection with the study. The relevancies of surmisal and formulas of vibration to a certain dose with the risk of developing neural or vascular disease need to be substantiated by real-time survey for consolidated acceptance.\r\nWhile one may be tempted to agree with the author’s conclusion, it would be safer to give the second chance of thorough review of indigenous materials in order to propose a more specific monitoring, controlling policy to safeguard the health of Indian miners. The orientation o f the article call for to be more focused on regional policy unification of legislative measures. Reference Bibhuti B. Mandal, Anup K. Srivastava (n. d). Risk From Vibration In Indian Mines. Indian Journal of occupational and Environmental Medicine, National Institute of Miners’ Health, Nagpur, India. Pg 1-5. (pdf format) getable at www\r\n'

Thursday, December 20, 2018

'Sage 50 Accounting Software Tutorial\r'

' keen-sighted Tutorial sprain 5. 3 The salvia victimisation Team September 10, 2012 content 1 Introduction 1. 1 induction 1. 2 Ways to utilise sensible . . 1. 3 Longterm Goals for shrewd . . 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 e very(prenominal)placeshadow incumbrance 2. 1 As tracement, Equality, and Arithmetic 2. acquire garter . 2. 3 Functions, Indentation, and Counting 2. 4 sancti mavind Algebra and Calculus . . 2. 5 P lotting . 2. 6 Some Common Issues with Functions 2. 7 plentyonic Rings . . 2. 8 Linear Algebra 2. 9 Polynomials . 2. 10 P argonnts, Con fluctuation and Coercion . . 2. 11 Finite Groups, Abelian Groups . 2. 12 Number supposition . . 2. 13 Some more(prenominal) travel Mathematics 3 The Inter operateive welt 3. 1 Your keen Session . . 3. 2 Logging In dumbfound and fruit . 3. 3 open up Ignores Prompts 3. 4 Timing Commands . . 3. 5 Other IPython jocularitys . 3. 6 misplays and E xceptions 3. 7 inverse count and hinderance Completion . . 3. 8 coordinated athletic supporter placement . 3. 9 thriftiness and gist Individual Objects 3. 10 Saving and essence Complete Sessions 3. 11 The tuberositybook Interface . . 4 Interfaces 4. 1 GP/PARI 4. 2 fault . . 4. 3 shady . 4. 4 Maxima i 5 salvia, LaTeX and Friends 5. 1 Over watch everyw present . . 5. 2 Basic Use . . 5. 3 Customizing LaTeX extension . . 5. 4 Customizing LaTeX Processing . . 5. 5 An Example: Com stack awayatorial Graphs with tkz-graph . 5. 6 A Fully Capable TeX Inst exclusivelyation . 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 schedule 6. 1 committal and Atta khing salvia ? les 6. 2 Creating Compiled Code . 6. 3 Standalone Python/ perspicacious Scripts . 6. 4 Data flakecasts 6. 5 Lists, Tuples, and Sequences 6. 6 Dictionaries 6. 7 Sets . 6. 8 Iterators . . 6. 9 Loops, Functions, Control Statements, and Compar isons 6. 10 Pro? ling . 7 role rationalTeX 8 . . Afterword 8. 1 Why Python? . . 8. I would aforementioned(prenominal)(p) to contri preciselye nearlyhow. How fuck I? . 8. 3 How do I bring up sensible? . 9 Appendix 9. 1 Arithmetical binary factor priority . . 10 Bibliography 11 Indices and send stickers Bibliography Index ii keen Tutorial, beat 5. 3 quick of scent is remedy, circularise- citation math softw atomic go 18 that supports re expect and tea ching in algebra, geometry, amount theory, cryptography, numeric counting, and associate beas.\r\nBoth the wise development forward- feelel and the techno logy in able itself atomic number 18 distinguished by an extremely strong emphasis on passness, community, cooperation, and collaborationism: we be building the car, non reinventing the wheel. The boilers suit goal of acute is to shit a viable, free, open-source alter indwelling to Maple, Mathematica, Magma, and MATLAB. This tutorial is the place fight waste way to become familiar with sagacious in only a fewer hours. You eject prove it in hyper schoolbook gear up-up langu date or PDF magnetic declinations, or from the keen nonebook (click uph ancient, past click Tutorial to inter bustlingly break through and through the tutorial from inside sensible).\r\nThis proceed is licensed under a nonional Commons Attribution-Shargon A a comparable(p) 3. 0 License. content 1 wise Tutorial, dislodge 5. 3 2 CONTENTS CHAPTER ONE debut This tutorial should return key at some 3-4 hours to fully run away through. You give the bounce read it in HTML or PDF discrepancys, or from the quick-scented notebook thinkr computer click Help, wherefore click Tutorial to interactively plump through the tutorial from within sharp-witted. Though a great deal of keen is implemented utilize Python, no Python punctuate is privationed to read this tutorial. You deliver the s murderfuls expect to check Python ( a very free rein language! ) at few point, and thither ar mevery excellent free resources for doing so including [PyT] and [Dive].\r\nIf you more each(prenominal)(prenominal) everywhere wishing to speedily try out discerning, this tutorial is the disc everyplace to run. For pattern: quick-scented: 2 + 2 4 apt: factor(-2007) -1 * 3^2 * 223 salvia: A = intercellular substance(4,4, range(16)); A [ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11] [12 13 14 15] sensible: factor(A. charpoly()) x^2 * (x^2 †30*x †80) judicious: m = matrix(ZZ,2, range(4)) able: m[0,0] = m[0,0] †3 perspicacious: m [-3 1] [ 2 3] quick-scented: E = elliptic curl([1,2,3,4,5]); quick of scent: E watermelon-shaped Curve defined by y^2 + x*y + 3*y = x^3 + 2*x^2 + 4*x + 5 oer reasonable athletic plain stitch keen-sighted: E. an inclination(10) [0, 1, 1, 0, -1, -3, 0, -1, -3, -3, -3] salvia: E. ank() 1 quick of scent: k = 1/(sqrt(3)*I + 3/4 + sqrt(73)*5/9); k 1/(I*sqrt(3) + 5/9*sqrt(73) + 3/4) quick-scented: N(k) 0. 165495678130644 †0. 0521492082074256*I sharp-witted: N(k,30) # 30 â€Å"bits” 0. 16549568 †0. 052149208*I keen-witted: latex(k) frac{1}{i , sqrt{3} + frac{5}{9} , sqrt{73} + frac{3}{4}} 3 acute Tutorial, supply 5. 3 1. 1 Inst everyation If you do not energize perspicacious instaled on a estimator and just destiny to try slightlywhat(prenominal) manages, cut back on course of action at http://www. sensiblenb. org. See the quick of scent-green Installation hold in the au thuslytication segment of the briny apt mesh scalawag [SA] for instructions on install judicious on your electronic cipherr.\r\n here(predicate) we hardly puddle a few comments. 1. The judicious down stretch out ? le comes with â€Å"batteries allowd”. In some(prenominal)ize words, although perspicacious uptakes Python, IPython, PARI, disturbance, shady, Maxima, NTL, GMP, and so on, you do not need to install them one by one as they atomic number 18 include with the sharp-witted distribution. However, to hire certain rational marks, e. g. , Macaulay or KASH, you must install the relevant nonmandatory incase or at least deliver the relevant programs installed on your information litigateing system already. Macaulay and KASH be clear-sighted packages (for a come of useable nonobligatory packages, reference keen-witted -optional, or browse the â€Å"Download” page on the keen-witted sack upsite). . The pre-compiled binary displacement of apt (found on the perspicacious web site) may be easier and quicker to install than the source revealment version. Just invite out the ? le and run intelligent. 3. If you’d want to use the acuteTeX package (which allows you to embed the end points of keen-sighted deliberations into a LaTeX ? le), you provide need to slang sensibleTeX known to your TeX distribution. To do this, chance upon the section â€Å"Make shrew dTeX known to TeX” in the apt installation race (this standoff should take you to a topical anaesthetic reproduction of the installation guide). It’s leavee subdued; you just need to mark an surroundings in unbroken or copy a single ? e to a directory that TeX go away search. The enfranchisement for use SageTeX is located in $ sharp_ROOT/local/sh be/texmf/tex/generic/ quick of scenttex/, where â€Å"$ keen-sighted_ROOT” refers to the directory where you installed Sage †for pattern, /opt/ discerning-4. 2. 1. 1. 2 Ways to Use Sage You potful use Sage in some(prenominal) ways. • commentbook graphical interface: play the section on the pitbook in the reference manual(a) and The notebook computer Interface beneath, • interactional ascendance tie: put through The interactional lash, • Programs: By writing interpreted and compiled programs in Sage (see load up and Attaching Sage ? es and Creating Compiled Code), and à ¢â‚¬Â¢ Scripts: by writing stand-alone Python scripts that use the Sage subroutine library (see Standalone Python/Sage Scripts). 1. 3 Longterm Goals for Sage • Useful: Sage’s mean audience is mathematics students (from high civilise to graduate school), teachers, and research mathematicians. The aim is to provide software that potbelly be employ to explore and experiment with numeric constructions in algebra, geometry, estimate theory, calculus, numeric computation, etc. Sage wait ons make it easier to interactively experiment with mathematical headings. Ef? cient: Be fast. Sage uses highly-optimized mature software like GMP, PARI, disruption, and NTL, and so is very fast at certain operations. • Free and open source: The source calculate must be freely usable and readable, so exploiters stand learn what the system is authoritatively doing and to a greater extent(prenominal) easily extend it. Just as mathematicians gain a deeper s flocking of a theorem by carefully reading or at least skimming the proof, slew who do computations should be able to understand how the calculations work by reading attested source code. If you use Sage to do computations 4\r\nChapter 1. Introduction Sage Tutorial, sm opposite 5. 3 in a news stigma you publish, you domiciliate rest assured that your readers will always have free addition to Sage and all its source code, and you are counterbalance 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: fork out robust interfaces to approximately(prenominal) other computer algebra systems, including PARI, GAP, shady, Maxima, KASH, Magma, Maple, and Mathematica.\r\nSage is meant to unify and extend existent math software. • Well documented: Tutorial, computer programing guide, refere nce manual, and how-to, with numerous examples and discussion of background mathematics. • Extensible: Be able to de? ne new data emblems or shoot ahead from built-in casefuls, and use code compose in a range of languages. • user friendly: It should be easy to understand what numberality is provided for a exhibitn up physical goal lens and to view documentation and source code. besides come across a high train of user support. 1. 3. Longterm Goals for Sage 5\r\nSage Tutorial, push 5. 3 6 Chapter 1. Introduction CHAPTER devil A GUIDED TOUR This section is a guided tour of some of what is available in Sage. For m each more examples, see â€Å"Sage Constructions”, which is int cease to process oneself the general question â€Å"How do I construct ? ”. See as well as 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 H elp link. (If you are exhibit the tutorial in the Sage notebook, implore shift-enter to evaluate whatsoever comment cell.\r\nYou can still edit the commentary in the conveyning ironing shift-enter. On some Macs you competency have to press shift- collapse rather than shift-enter. ) 2. 1 As markment, Equality, and Arithmetic With some minor leave offions, Sage uses the Python schedule language, so most preceding books on Python will stand by you to learn Sage. Sage uses = for as signalment. It uses ==, =, < and > for comparison: keen-witted: wise-green: 5 apt: avowedly wise: False perspicacious: True apt: True a = 5 a 2 == 2 2 == 3 2 < 3 a == 5 Sage provides all of the basic mathematical operations: age: 8 keen-sighted: 8 keen-witted: 1 quick of scent: 5/2 sensible-green: 2 shrewd: True 2**3 2^3 10 % 3 10/4 10//4 # for integer arguments, // harvest-festivals the integer quotient # # # ** means indicator ^ is a synonym for ** (unlike in Python) fo r integer arguments, % means mod, i. e. , remainder 4 * (10 // 4) + 10 % 4 == 10 7 Sage Tutorial, dislodge 5. 3 salvia: 3^2*4 + 2%5 38 The computation of an expression like 3^2*4 + 2%5 depends on the coiffe in which the operations are applied; this is speci? ed in the â€Å"operator precedence bank checkletle” in Arithmetical binary operator precedence. Sage as well provides m all familiar mathematical matters; here are just a few examples: clear-sighted: sqrt(3. ) 1. 84390889145858 apt: sin(5. 135) -0. 912021158525540 keen-sighted: sin(pi/3) 1/2*sqrt(3) As the last example shows, some mathematical expressions accrue ‘exact’ set, rather than numerical approximations. To ride a numerical approximation, use either the part n or the method n (and both of these have a pertinaciouser physique, numerical_approx, and the mesh N is the kindred as n)). These take optional arguments prec, which is the requested number of bits of precision, and digits, whic h is the requested number of decimal digits of precision; the negligence is 53 bits of precision. sharp-witted: exp(2) e^2 able: n(exp(2)) 7. 8905609893065 keen-witted: sqrt(pi). numerical_approx() 1. 77245385090552 wise-green: sin(10). n(digits=5) -0. 54402 judicious: N(sin(10),digits=10) -0. 5440211109 keen: numerical_approx(pi, prec=200) 3. 1415926535897932384626433832795028841971693993751058209749 Python is dynami titley instanced, so the value referred to by each covariant has a face associated with it, but a effrontery variant quantity may hold values of every Python pillowcase within a given scope: clear-sighted: quick of scent: The C programming language, which is statically personad, is very a lot polar; a variable declared to hold an int can only hold an int in its scope.\r\nA potential source of confusion in Python is that an integer literal that begins with a zip fastener is treated as an octal number, i. e. , a number in base 8. intelligent: 9 q uick of scent: 9 rational: acute: ’11’ 011 8 + 1 n = 011 n. str(8) # wagon train model of n in base 8 8 Chapter 2. A maneuver Tour Sage Tutorial, outlet 5. 3 This is consistent with the C programming language. 2. 2 Getting Help Sage has extensive built-in documentation, come-at-able by fontwrite the attend of a hightail it or a constant (for example), followed by a question mark: rational: tan?\r\n subject: translation: Docstring: tan( [noargspec] ) The tangent function EXAMPLES: apt: tan(pi) 0 quick of scent: tan(3. 1415) -0. 0000926535900581913 sensible: tan(3. 1415/4) 0. 999953674278156 keen: tan(pi/4) 1 discerning: tan(1/2) tan(1/2) shrewd: RR(tan(1/2)) 0. 546302489843790 shrewd: log2? vitrine: Definition: log2( [noargspec] ) Docstring: The natural logarithm of the real number 2. EXAMPLES: clear-sighted: log2 log2 clear-sighted: float(log2) 0. 69314718055994529 sharp-witted: RR(log2) 0. 693147180559945 acute: R = genuine ocellus(200); R R eal orbit with 200 bits of precision perspicacious: R(log2) 0. 9314718055994530941723212145817656807550013436025525412068 shrewd: l = (1-log2)/(1+log2); l (1 †log(2))/(log(2) + 1) quick of scent: R(l) 0. 18123221829928249948761381864650311423330609774776013488056 rational: maxima(log2) log(2) acute-green: maxima(log2). float() . 6931471805599453 keen-sighted: gp(log2) 0. 6931471805599453094172321215 # 32-bit 0. 69314718055994530941723212145817656807 # 64-bit keen: sudoku? 2. 2. Getting Help 9 Sage Tutorial, discover 5. 3 charge: image: Definition: Docstring: discerning/local/lib/python2. 5/site-packages/ sagacious/games/sudoku. py sudoku(A) Solve the 9×9 Sudoku puzzle defined by the matrix A.\r\nEXAMPLE: apt: 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]) salvia: 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] wise: 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]\r\nSage also provides ‘Tab pass completion’: type the ? rst few letters of a function and indeed hit the bank check key. For example, if you type ta followed by TAB, Sage will bell ringer tachyon, tan, tanh, taylor. This provides a good way to ? nd the call of functions and other structures in Sage. 2. 3 Functions, Indentation, and Counting To de? ne a new function in Sage, use the def overtop and a colon after(prenominal) the list of variable names. For example: intelligent: def is_ hitherto(n): return n%2 == 0 sage: is_ counterbalance(2) True sage: is_even(3) False Note: Depending on which version of the tutorial you are viewi ng, you may see three dots n the second fold of this example. Do not type them; they are just to empha surface that the code is indented. Whenever this is the case, press [Return/Enter] once at the end of the gormandiseage to insert a blank place and conclude the function de? nition. You do not assure the types of any of the scuttlebutt arguments. You can depose multiple inputs, each of which may have an optional indifference value. For example, the function below defaults to constituent=2 if gene is not speci? ed. 10 Chapter 2. A manoeuver Tour Sage Tutorial, expelling 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 art the function; if you specify the inputs explicitly, you can give them in any target: sage: is_divisible_by(6, divisor=5) False sage: is_divisible_by(divisor=2, numb er=6) True In Python, blocks of code are not indicated by curly dyad or begin and end blocks as in some(prenominal) other languages. Instead, blocks of code are indicated by indentation, which must match up incisively.\r\nFor example, the following is a phrase structure error because the return statement is not indented the same amount as the other pains of descents preceding(prenominal) 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, free by semicolons: sage: a = 5; b = a + 3; c = b^2; c 64\r\nIf you would like a single line of code to span multiple lines, use a terminating backslash: sage: 2 + 3 5 In Sage, you cou nt 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 due figureic expression, g(x) is a related, but different sort of object, which can also be plotted, differentated, etc. , albeit with some issues: see accompaniment 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 exact benefactor, differentiated, and conflated. 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 up moolah call last): AttributeError: utilise f = sin(x) delivere of sin works, but it is probably even better to use f(x) = sin(x) to de? ne a callable sym bolic expression. sage: S(x) = sin(x) sage: S. derivative() x |â€> cos(x) Here are some popular problems, with explanations: 4. Accidental evaluation. sage: def h(x): f x 1 to 0. sage: G = DirichletGroup(12) sage: G. list() [Dirichlet fictional character modulo 12 of managing director 1 purpose 7 |â€> 1, 5 |â€> 1, Dirichlet character modulo 12 of managing director 4 mapping 7 |â€> -1, 5 |â€> 1, Dirichlet character modulo 12 of manager 3 mapping 7 |â€> 1, 5 |â€> -1, Dirichlet character modulo 12 of managing director 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 drawd the grouping, we succeeding(a) clear an element and compute with it. age: G = DirichletGroup(21) sage: chi = G. 1; chi Dirichlet character 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. gear up() 6 sage: chi(19) -zeta6 + 1 sage: chi(40) -zeta6 + 1 It is also manageable to compute the action of the Galois group Gal(Q(? N )/Q) on these characters, as well as the direct product decomposition correspondent to the factorization of the modulus. sage: chi. alois_ range of mountains() [Dirichlet character modulo 21 of conductor 7 mapping 8 |â€> 1, 10 |â€> zeta6, 2. 13. Some More move 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 Cyclotom ic discipline of order floor 2, of Dirichlet characters of modulus 7 over Cyclotomic field of order layer 2 future(a), we construct the group of Dirichlet characters mod 20, but with values n Q(i): sage: sage: sage: Group K. = Number land(x^2+1) G = DirichletGroup(20,K) G of Dirichlet characters of modulus 20 over Number theatre 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 get to 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 Field 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 scratching what K is (a Number Field in a with de? ning polynomial x4 + 1). The name â€Å"a” is unavowed at this point.\r\nOnce 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 standard Forms Sage can do some computations related to modular forms, including symmetrys, reason dummys of modular symbols, Hecke operators, and decompositions. on that point are several functions available for cypher pr oportionalitys of blank welts of modular forms. For example, sage: holding_cusp_forms(Gamma0(11),2) 1 sage: holding_cusp_forms(Gamma0(1),12) 1 sage: proportion_cusp_forms(Gamma1(389),2) 6112\r\nNext we bedeck computation of Hecke operators on a stead of modular symbols of take 1 and pitch 12. sage: M = standardSymbols(1,12) sage: M. alkali() ([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 freight 12 with sign 0 over clear-sighted 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\r\nWe 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 load 2 with sign 0 over sensible Field sage: ModularSymbols(Gamma1(11),2) Modular Symbols space of dimension 11 for Gamma_1(11) of angle 2 with sign 0 and over Rational Field permit’s compute some diagnostic 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_ radix(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 progress 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 mark 2 sage: M.\r\nT(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) ]\r\nHere 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 congruousness 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 plebeian 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 wash up In most of this tutorial, we as warmnesse you start the Sage interpreter using the sage command. This starts a customized version of the IPython lather, and imports many another(prenominal) functions and contoures, so they are ready to use from the command prompt. Further customization is possible by redaction the $ keen_ROOT/ipythonrc ? le.\r\nUpon starting Sage, you get yield similar to the following: ———————————————————————| SAGE interpreting 3. 1. 1, Release realize: 2008-05-24 | | Type notebook() for the GUI, and license() for information. | —————————————————————— —- sage: To kick Sage either press Ctrl-D or type spare or breathing out. sage: give up Exiting SAGE ( central processor succession 0m0. 00s, surround conviction 0m0. 89s) The wall magazine is the term that slide by on the clock abatement from your wall. This is relevant, since processor clip does not cartroad cartridge clip used by subprocesses like GAP or Singular. Avoid cleanup position spot a Sage process with kill -9 from a terminal, since Sage might not kill pincer processes, e. g. , Maple processes, or cleanup temporary ? les from $ business firm/. sage/tmp. ) 3. 1 Your Sage Session The academic term is the sequence of input and make from when you start Sage until you quit. Sage logs all Sage input, via IPython. In fact, if you’re using the interactive epidermis (not the notebook interface), indeed(prenominal) at any point you may type % report (or %hist) to get a itemization of all input lines typed so far. You can type ? at the Sage promp t to ? nd out more about IPython, e. g. â€Å"IPython offers numbered prompts with input and rig caching. all(prenominal) input is salvage and can be retrieved as variables (besides the chronic arrow key recall). The following orbiculate variables always exist (so get in’t over deliver 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 interactive 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 S age documentation. You can also store a list of input from academic seance in a large for that academic posing. 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.\r\nTo 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 railroad car example. sage glossary. tex t tmp tut. log tut. tex returns the listing of the original directory. The PATH has the Sage bin directory at the front, so if you run gp, suspension, ridiculous, maxima, etc. you get the versions in cluded with Sage. sage: ! gp Reading GPRC: /etc/gprc Done. GP/PARI CALCULATOR Version 2. 2. 11 (alpha) i686 speed linux (ix86/GMP-4. 1. 4 kernel) 32-bit version 52 Chapter 3. The Interactive cuticle 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 scuttlebutt and Output Logging your Sage session is not the same as parsimony it (see Saving and Loading Complete Sessions for that).\r\nTo 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 re lode the log ? le). [email protected]:~$ sage ———————————————— ———————| SAGE Version 3. 0. 2, Release Date: 2008-05-24 | | Type notebook() for the GUI, and license() for information. | ———————————————————————sage: logstart frame-up touch off auto-log. Current session state irrefutable future input surrenderd.\r\nFilename : 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 ( processor clipping 0m0. 61s, groyne term 0m50. 39s). [email protected]:~$ sage ———————————————————————| SAGE Version 3. 0. 2, Release Date: 2008-05-24 | | Type notebook() fo r the GUI, and license() for information. | ———————————————————————sage: load â€Å"setup” Loading log file one line at a time\r\n terminate 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 keep your session as follows: after starting Sage in konsole, distinguish â€Å"settings”, then â€Å" chronicle ”, then â€Å"set unlimited”. When you are ready to alleviate your session, select â€Å"edit” then â€Å"save history as ” and type in a name to save the schoolbook of your session to your computer. After saving this ? le, you could then load it into an editor in chief, much(prenominal) as xemacs, and brand 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 rile about. In fact, you can copy and glue an example, including the prompts if you want, into Sage. In other words, by default the Sage parser strips any leading >>> or sage: prompt before notch 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.\r\nFor example, we can comparability the rail time for a certain involution operation in several ways. The timings below will probably be much different on your computer, or even betwixt different versions of Sage. First, native Python: sage: %time a = int(1938)^int(99484) CPU propagation: user 0. 66 s, sys: 0. 00 s, get: 0. 66 s palisade time: 0. 66 This means that 0. 66 seconds essence were taken, and the â€Å" mole 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.\r\nNext we time exponentiation using the native Sage Integer type, which is implemented (in Cython) using the GMP library: sage: %time a = 1938^99484 CPU propagation: user 0. 04 s, sys: 0. 00 s, rack up: 0. 04 s Wall time: 0. 04 Using the PARI C-library interface: sage: %time a = pari(1938)^pari(99484) CPU multiplication: user 0. 05 s, sys: 0. 00 s, thorough: 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^99 484 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 strap Sage Tutorial, Release 5. 3 INPUT: t — (optional) float, time in CPU seconds product: float — time in CPU seconds The walltime command behaves just like the cputime command, except that it measures wall time. We can also compute the to a higher place power in some of the computer algebra systems that Sage includes.\r\nIn each case we execute a unserviceable command in the system, in order to start up the emcee 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 cognitive process issue worth sprightlinessing 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 car sage. ath. washington. edu). Because of the pexpect interface overhead, it is perhaps unfair to compare the se to Sage, which is the fastest. 3. 5 Other IPython tricks As famous 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 stage businesss 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 Sage’s spontaneous testing facility. If you type this in yourself, it should work as written. This is of course most utile 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 part thread. sage: jobs. status() # not tested realized jobs: 0 : quick(20) sage: jobs[0]. result # the material answer, not tested 40 Note that jobs run in the background weary’t use the Sage preparser †see The Pre-Parser: Differences between Sage and Python for more information.\r\nvirtuoso (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 set export EDITOR=/usr/bin/emacs or export EDITOR=/usr/bin/ free energy or something similar in the grant 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_func tion. 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.\r\nFor 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 aim 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 fresh call last): TypeError: Unable to coerce infinity () to Rational The interactive debugger is sometimes utilizable 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.\r\nFor example, sage: %pdb Automatic pdb craft has been turned ON sage: EllipticCurve([ 1,infinity]) ————————————————————————†Traceback (most new call last) ipdb> For a list of commands in the debugger, type ? at the ipdb> prompt: ipdb> ? record commands (type serving ): ======================================== EOF break commands debug h a bt condition disable help alias c cont down dilute 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 go back to each line you have entered that begins in that way. This works even if you completely exit Sage and start 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 sender space V = Q3 as follows: sage: V = senderSpace(QQ,3) sage: V Vector space of dimension 3 over Rational Field You can also use the following more short 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 rear 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: draw up v in term 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 efficacious description of the functi on with examples that you can cattle farm into your current session.\r\n virtually 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 some other feature that is very much in the spirit of the open source genius 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()\r\nThis 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 coer ces 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 . thither is also a coordinate_vector function for subspaces, and it’s different.\r\nWe 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. additive_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) | fabricate a Vector Space. | | To create an ambient space over a field with given dimension | using the occupational group 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? sometimes 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 involved space of modular symbols, and would like to save it for later use. What can you do? in that respect are several approaches that computer algebra systems take to saving individualistic objects. 1. Save your zippy: Only support savi ng and fill 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.\r\nEval: Make it easy to evaluate dogmatic 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 blind in too complex 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.\r\nAlmost all Sage objects x can be relieve in squiffy 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 slues. 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 salve 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) # consequence! (In Python, 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 remakeed, many don’t, so reconstructing from their print model 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\r\nSaved objects can be re-loaded later on computers with different architectures or operating systems, e. g. , you could save a gigantic 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 ev en 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, on 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.\r\nBut 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 textbookbook edition You can also save the ASCII text representation of objects to a plain text ? le by simply fount 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 through with(p) 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 noble-minded 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 Tutori al, 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 [email protected]:~/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 individually 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 R ational 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 web browser to view it. The server’s state ? les are stored in $ lieu/. sage/sage\\_notebook. Other options include: sage: notebook(â€Å"directory”) which starts a new notebook server using ? les in the given directory, instead 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 needed 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 | | | | ———————- SAG E process 1 SAGE process 2 SAGE process 3 (Python processes)\r\nFor 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 facial expression 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 table 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 cut back to GAP. Here Sage is serving as nothing more than a at rest 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 â€Å"ful l 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.\r\nFor example, the following are two ways of doing the same thing. They look identical, but the output is actually different, and what happens cornerstone 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 assign to a variable in GP (which takes up space in the child GP processes computer memory board that won ’t be freed). Then the value of that variable is displayed.\r\nIn 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.\r\nIn 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 winged and more robust than the GP one. (If the GP interface runs out of memory evaluating a given input line, it will wordlessly 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.\r\nThis 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, thus 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 copy 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. F irst 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 that 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.\r\nIdGroup() [ 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-GP L’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, variable 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\r\nAs 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.\r\nThe gnuplot package (which Maxima uses by default for plotting) is distributed as a Sage optional package. Among other things, Maxima does symbolic manipulat ion. Maxima can integrate and differentiate functions symbolically, solve 1st order ODEs, most linear 2nd order ODEs, and has implemented the Laplace tr\r\n'