text:
home
Capitulu ottavu
Contos de matematicas antigas
8.1
Cristianu Goldbach. (1690-1764).
Su matematicu amigu nostru no t'hiat haer tentu importantzia peruna in s'istoria de sa matematica si no po haer pesadu a Eulero in d'una litera una chistione lanosa in su 1742. Goldbach osservait chi in totus sa proas fattas, onni numeru paris, escludiu su duos po issu e totu paris e primu, haiat pothidu esser apresentadu comente una summa de duos numeros primos.
Issu pediat tando a Eulero de dimustrare chi custa propriedade est bona e valida po totus sos numeros paris, o mancari a amustrare unu esempiu in contrariu. Lenardu Eulero no zetzesit mai una arresposta a custa pregunta, e ne mai nd est istada djada una da e tando. Sa origine de sa dificultatade paret chi istet in su fattu prufundu de natura cunzetuale chi sos numeros primos funi definidos cun sa multiplica mentres chi sa chistione pesada implicat sa summa. Faeddande cun meda zeneralidade est difizile istabilire ligamentos intra sas propriedades formales de sa moltiplica de numeros intreos de una parte e sa summa de sos matessi numeros a un'atera.
Finas a pagu tempus coladu una dimustratzione de sa ipotesi, cunzettura ddi naran sos tecnicos de sa matematica de sa lozica e de sa filosofia, pariat a largu mannu e impossibile a dda sighire. Unu risultadu de importu e mancu tantu attesu istesit cunsighidu in su 1931 de unu zovanu matematicu russu, Schnirelmann (1905-1938) su cales dimustresit chi onni numeru intreu positivu podet esser presentadu comente una summa de non prus de treghentamila numeros primos. Custu risultadu est cosa de rier a paragone de sa pregunta orizinaria de tiu Cristianu Goldbach, ma non de mancu si est tratadu de unu primu passu a tretu de djare una arresposta.
Sa dimustratzione est direta a s'ozetu chi analitzat e costructiva. E prus a canta a nois in su tempus aterunu matematicu russu, Vinogradov, impreande metodicas de sa teoria de sos numeros imprestadas de Hardy, Littlewood e Ramanujam hat diminuidu su numeru dae treghentamila a batoro. S'est acosiadu meda a sa pregunta de Goldbach. Ma ddu hat una diferentzia manna intra sa dimustratzione de Schnirelmann e cussa de Vinogradov, fortzis prus sinnificante ancora de sa diferentzia intra treghentamila e batoro. Su chi Vinogradov hat de aberu dimustradu est chi a suponner chi s'agaten infinidos numeros intreos no iscumponibiles in a su massimu sa summa de batoro numeros primos nos faghet urruer in d'una contradditzione. Sa dimustratzione sua po assurdu, no est nè directa nè costructiva.
De tando sa ipotesi de Goldbach no hat fattu passo a inantis de carchi sinnificadu, ma de tantu in tantu torrat de moda, prus e prus cando enin fattos progredire ateros problemas no isortos e meda famados de sas matematicas, comente est capitadu pagu tempus coladu a s'urtimu teorema de Fermat. Sa ipotesi de Goldbach torrat de moda fintzas cando carchi libru de fortuna ona nde arreproponet s'indimustrabilidade sua, comente po esempiu est capitadu in custos annos apena colados cun sa publicatzione de Godel Escher Bach, una eterna ghirlanda brillante de Douglas Hofstadter.
Est beru chi sos teoremas de incumpletesa de Godel no escludin chi in d'unu sistema formale includente sos assiomas de Zuseppe Peano e sas lezes ordinarias de sa lozica matematica, medas teoremas beros sian indimustrabiles, (in custu sensu s'intrat una divisione intra sa beridade e sa dimustratzione) e, massimu de sas aversidades, talunos teoremas dimustrabiles arresurtan farzos cando si proat a potentziare su sistema irrichindeddu de ateros ulteriores assiomas.
Unu jogu delicadu meda de ecuilibrios a intro de su limbazu de sos simbolos, de sas lezes chi ddis faghen achistare unu sensu, sa semantica, e de sas regulas chi istabilin comente pesare propositziones zustas, sa sintassi.
Esistin de siguru finzas de sos tempos antigorios classicos problemas de importu mannu mai isortos, in sa zeometria s'in prus, ma finzas in s'aritmetica, in sa lozica, e in d'unu sinnificadu de prezisare bene in sa matessi analisi moderna, e chi sos matematicos aregos antigos bidesin chena poder isvilupare.
8.2
Sos matematicos antigos han lassadu a sa ziviltade occidentale, como paret de moda, una eredidade manna: duas hamus a narrer, ma comente hamus a bier de totuna cosa si tratat: sos aregos, a diferentzia de sos tzinesos, de sos egitzios, de sos indianos e de sos babilonesos arribesint a cumprire sa idea de sa matematica cun dimustratzione. Dimustrare cheret narrer po sos aregos antigos torrare a contu de sas beridades matematicas, fintzas de cuddas sas prus evidentes, a printzipios primos sos prus semplizes, (sos assiomas, sos postulados e sas definitziones),faghende una dedutzione cun d'una cadena de arresonamentos dispostos e espostos in manera oportuna in d'una serie de teoremas, de lemmas e corollarios.
S'imbentu de sa matematica cun dimustratzione est s'elementu su prus de importu de totu sa traditzione antiga, prus puru de s'imbentu de sa democratzia politica, sa idea de sa cales naschit e s'isvilupat esistende paris a sa idea de sa matematica cun dimustratzione: solu una sotziedade chi si fundat susu sa democratzia politica podet permitere sa idea chi unu processu dimustrativu esseret pothidu e esseret depidu cumbincher a totu cuddos chi cundividian talunos prinzipios a cumone, e sos risultados dimustrados esseren tantu prus utiles cantu mazore esseret istada sa parte posta in sa cuntierra politica. Sa matematica cun dimustratzione est tando su chirru nobile de sa metodica politica democratica.
No nos depimus meravitzare de cantu a sa zente cumuna pagu importet de sa ipotesi de Goldbach: ischire si unu numeru paris pothat essere esprimidu cales una summa de duos numeros primos no intrat in sas chistiones chi sa zente afrontat d'onnia die. No de mancus s'istoria de sa matematica est prena de esempios de problemas de pagu importu, chistiones banales solu a una oghiadedda in pitzu in pitzu e masprestu a una analisi profunda fertiles de implicatziones filosoficas e issientificas chi han sinnadu s'isviluppu de sa cultura nostra e de su modu nostru de cumprender e intendere su mundu.
Si contat chi in Persia a unu re esserent arregaladu su jogu de sos iscacos, carchi milliaia de annos colados,e issu nd'esseret abarradu gasi cuntentu de si cch'esser lassadu andare a promitere solu po piaghere suu de esaudire cale si siet esseret istadu su disizu de s'imbentore issoro. Su matematicu imbentore de su jogu gosi haiat proadu sos cricos a su re: cherzo unu ranu e trigu in sa prima domo, duos in sa segunda, batoro in sa terza e gasi a sighire arreddoppiande fintzas a s'urtima. A su prinzipe no ddi parzesit beru de haer incontradu una persona intelligente gasi e de pagas pretesas e ordinesit de acuntentare seduta stante s'ospite. Manna fudi istada sa meravitza cando dd' haiant fattu a ischire chi mancari cch'esserent isboidadu totus sa cassias de trigu de totus sos magasinos de totu su mundu, s'annu e po ateros chent'annos ancora, haiant a essere istados a largu mannu ancora de accuntentare su matematicu imbentore. Sa sessantabatoresima domo de sa iscachiera haiat haer depidu cuntenner 2^64 ranos de trigu, unu istrabiliante numeru de deghenoe cifras pari a 9 223 372 036 854 775 808 (noe miliardos de miliardos de ranos de trigu!). Su re fudi suferente de una sindrome connota e comente insensibilidade a sos numeros mannos, maladia chi est ancora endemica in medas partes de su mundu.
Si in su contu de su prinzipe arresurtan bene cuados lazos de natura teorica, diferente meda fud'istada sa pregunta de s'oracolo de Delo a una tropa de fideles chi fuan andados a su tempiu suu a pedire gratzias. Custos fideles, cuntentos medas de cantu su deus ddis haiat promissu ddi domandesin e ite esseren pothiu faer po ddu arricambiare de tantas atentziones. E s'oraculu preguntesit chi dd'esseren pesadu unu marmaru cubu a su doppiu de cuddu susu su cales fintzas a tando istesit collocadu. Ancora prus cuntentos de sas pagas pretesas de su deus si cche torresin a domo: su marmaru a s'istatua de Apollo cch'est ancora in su marmista. Sos matematicos antigos pretendian chi sos problemas zeometricos essere isortos impreande solu riga e cumpassu, no s'amitian ateras aliagas e no fuana bonas sas solutziones aprossimadas. Po acutentare a Apollo sos fideles t'hian haer depidu pesare unu cubu su ispigulu de su cales esseret misuradu k=2^(1/3)*h inue h est sa misura de s'ispigulu betzu. Ddu hat cherfidu 2000 annos prima de dimustrare chi su problema no podiat esser isortu solu cun riga e cun cumpassu, e sa natura noa de su numeru chi nois modernos declaramus comente sa raighina cubica de duos, unu numeru irratzionale diferente de sos numeros ratzionales cun sos cales operaian sos aregos, fudi istada in gradu de iscuncuessare totus sas creidorias de sos matematicos classicos. E cando pagu tempus a pustis haian recuidu a domo s'iscoberta de sa incumensurabilidade de sa diagonale de su cuadradu cun su latu rispectivu isorbende su problema de sa raighina cuadrada de duos, sos pitagoricos non si funi retentos ne mancu de fronte a unu crimine, assassinande a unu cumpanzu issoro chi haiat iscoviadu s'iscoberta, po cuare a su mundu intreu de no haer sa balentia de afrontare e isorber su problema.
Su numeru (1+Sqrt[5])/2, (GoldenRatio), su raportu de oro, fudi tantu tentu in cunsideru de sos aregos, paris cun su reziprocu suu, de esser elettu a rapresentare sos criterios de proportzionalidade in tra sas partes de unu totu chi s'esserat pothidu cunsiderare bellu e armoniosu. Si tratat de su mai meda mentovadu raportu aureu, su sinnificadu pretzisu de su cales, in teoria de sos numeros, in alzebra, in filosofia e in teoricas de s'arte de pintare hat depidu aspetare prus de mill'annos a dd'acrarare cun cabu. Cosa arrenessida a Lenardu Pisanu Fibonacci, unu majarzu prus che unu matematicu, mi haiat nau unu alunnu meu a sa fine de unu istudiu istoricu e matematicu susu custu filosofo mannu, dilliriadu po s'istudiu de sos matematicos arabos e classicos. E fintzas sos risultados de Fibonacci, a unu zertu puntu, paren cunverzere a s'ipotesi de Goldbach. A tempus.
8.3
In calincuna manera intropeddadu a su problema pesadu de sos matematicos pitagoricos de sa incomensurabilidade, hamus a narrer de sa impossibilidade de agatare unu suttamultiplu adeguadu chi istet in modu esattu unu numeru intreu de ortas in d'unu segmentu de rectilinea, de unu lados de su cuadradu cun sa rispectiva diagonale, est su problema de rectificare su cricu, de agatare unu segmentu longu cantu a unu cricu de su cales siat connotu su diametru.
Semper solu cun riga e cumpassu. Sa diagonale de su cuadradu, mancari siat esprimida de unu numeru irratzionale, Sqrt[2], si podet semper custruire cun riga e cumpassu, e a ddu fagher est fazile. Su cuadradu est luego a pustis de su triangulu de lados uguales, su poligono regulare su prus semplize. Sos aregos ischiant chi aumentande sos lados de unu poligono regulare inscrittu in d'unu cricu si aprossimaiat cun d'unu gradu de pretzisione arbitraria sa misura de su cricu in cunsideru.
Si sa diagonale de su cuadradu si podet costruire cun riga e cumpassu poite non s'hat a poder fagher ater e tantu cun su diametru de su cricu chi est una zeneralitzatzione de su poligono regulare cun d'unu numeru de lados infinidu? Luego issos han depidu fagher sos contos cun sos latzos chi s'Infinidu ddis parada. Si su cricu esserat misuradu batoro, ( su perimetru de su cuadradu), sa diagonale de su cales medit Sqrt[2]), su diametru a isse relativu mediat batoro divididu po Pi aregu, su malefamudu 3.14...
E Pi aregu non solu arresurtada de esser irratzionale, ma de prus non costruibile cun riga e cumpassu in su sensu chi pretendiant sos matematicos. Po ateros dua mill'annos funi istadas pregonadas metodicas de rectificatzione de su cricu, macchè, su cricu non d'hat cherfidu s'intesa, finzas a cando non benesit dimustrada sa impossibilidade definitiva de sa rectificatzione e sa natura irratzionale e trscendente de su numeru Pi aregu.
Carchi matematicu s'hat leadu su tentu de calculare a manos finzas milli cifras deghimales de Pi aregu cun sa intentzione de nde poder iscoberrer una leze semplice de cumpositzione. Oe unu bonu calculadore benit testadu faghendeddi calculare unu milione de cifras de Pi aregu. Abarrat sa impossibilidade de isorbere esattamente su problema.
In ateros aresonamentos hamus torradu a contu de ateros problemas, sos numeros amigos, sos numeros primos, sos numeros de Mersenne, s'urtimu teorema de Fermat, sos numeros ciclicos e ateras curiosidades. E tando in custas isfidas intellettuales si collocat s'ipotesi de Goldbach.
Nois non pensamus mancu unu pagu de dd'haer dimustrada. In calincun'atera ocasione nd'hamus arresonadu de su poite. Ma sa matematica non podet esser prus, in sas iscolas una jumpada in su desertu: chie dd'istudiat ddu e depet leare gustu: e su gustu prus mannu est a si misurare cun sos problemas e a chircare de nd'irboligare calincunu. Medas bortas serbit s'intelligentzia, ma unu pagu de fortuna non guastat. Cun salude a totus.
home


c: text/html

collection: archivebot

text:
home
Capitulu tertzu.
Comente amanipulare sas listas.
Sa lista est sa istrutura de datos sa prus de importu po ponner inparis ogetos. Una cantidade manna de funtziones pre-paradas funi postas a dispositzione po poder amanipulare sas listas in modos varios, sian issos semplitzes operatziones, comente a ddi mover sos elementos de unu zassu a s'ateru, ( pensade a su jogu de su sedatzeddu po cumprender menzus ite tenimus a mente), fintzas a operatziones meda prus de impinnu comente a dd'aplicare funtziones.
In custu capitulu amustramus medas operatziones chi poden esser fattas chistionande de listas.
3.1
A primu ,a s'incumintzu. Medas computos cumportan s'impreu de una colletzione de ogetos, hamus a narrer una arregorta de cosas matematicas de sa matessi genia e calidade a manera de ddas tenner inparis totu cantas. Custu fattu arrechedit chi sos ogetos, mutidos puru data objects, sian costidos paris in paritzos modos. Una de sas prus comunas istruturas de datos est sa lista.
Sa funtzione pre-parada List[] benit impreada po pesare una lista, o fintzas aintro de parentis grafas si declaran sos elementos suos, chi poden disinnare onnia tipu de valore, cumpresos numeros, simbolos, funtziones,istringas de carateres, ateras listas e cantu potzat esser elementu de una lista. Fintzas Su nudda . Una definitzione pretzisa de ite potzat esser s'inparis boidu, in s'ocurrentzia nostra una lista boida, nono nos cumpetet in custa ocasione: una lista boida est una lista chi non cuntenet elementos, fintzas s'inparis boidu podet esser tando definidu in sa matessi manera: s'inparis boidu est un'inparis chi non cuntenet elementos.
Clear[a,b]
luna:=List[2,5,{1,2},a,b,{x,y,z},{}]
lduas:={2,5,{1,2},a,b,{x,y,z},{}}
Onni elementu tenet aintro de una lista unu postu delatadu, s'indicativu de su cales est s'ordine numericu in sa sutzessione de sos elementos.
In sos esempios de prima su segundu elementu de totu a duas sas listas est 5, s'urtimu de ambasduas est s'imparis boidu, disinnadu in Mathematica cun duas parentisis grafas, una aberta e s'atera serrada intra sas cales no ddu hat nudda. Sa lista boida est unu ogetu de importu mannu meda in sa teoria de sos imparis, chi sian o nono istruturados.
In atzunta a s'impreu de sa funtzione List po pesare listas, s'agatan funtziones chi produen ogetos de cche ponner in d'una lista. Range[iminimu,imaximu,passu] pesat una lista de numeros ordinados, chi moven de iminimu e arrivan a imaximu, chena cche dd'avantzare, aumentande o diminuinde de su tretu de su passu:
Range[-10,10,2]
{-10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10}
Range[10,1,-1]
{10, 9, 8, 7, 6, 5, 4, 3, 2, 1}
Cando su passu no est mentovadu su tretu si ponet chi siat uguale a 1:
Range[5,15]
{5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
Cando funi mancantes sa lacana de josso e su tretu de su passu si pesan ambosduos a esser uguales a 1:
Range[10]
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
No est netzessariu chi iminimu e imaximu sian uguales a numeros intreos:
Range[2.5,8.5]
{2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5}
Table[espressione,{contadore,iminimu,imaximu,tretu de su passu}] pesat una lista de numeros e de ogetos matematicos valutande su chi hamus indicadu cun espressione unu tantu 'e bortas cantu istabilidu de su contadore, su cales movende de iminimu e arribande a imaximu e aumentande de valore cantu istabilidu de su tretu de su passu custringhet espressione, sa cales est massimamente una espressione altzebrica, a estire pannos numericos.
Table[3 j,{j,1,10,2}]
{3, 9, 15, 21, 27}
Table[j,{j,1,10}]
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Table[j^2,{j,4}]
{1, 4, 9, 16}
Table[Frau,{4}]
{Frau, Frau, Frau, Frau}
Table[Random[],{3}]
{0.399546, 0.662293, 0.404033}
Table[h+k,{h,1,4},{k,1,8}]//TableForm
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9 10
4 5 6 7 8 9 10 11
5 6 7 8 9 10 11 12
Table[h+k,{h,1,8},{k,1,h}]//TableForm
2
3 4
4 5 6
5 6 7 8
6 7 8 9 10
7 8 9 10 11 12
8 9 10 11 12 13 14
9 10 11 12 13 14 15 16
Cumbenit a faer esercitziu meda e a imparare a impreare Table.
Length est una atera funtzione pre-parada. Issa torrat su numeru de elementos de una lista. Dimensions tenet unu sinnificadu prus prufundu.
Pesamus una lista de batoro elementos e passamus unu pagheddu 'e tempus a ddos ispiegare totus. Su primu elementu est sa litera de s'alfabetu sardu a. Su segundu elementu est unu inparis chi cuntenet duos numeros: 1 e 2.
Su tertzu elementu est unu inparis chi cuntenet duos inparis:su primu cun duos numeros e su segundu cun d'unu numeru e un'aterunu inparis cun sa litera x de s'alfabetu.
Su cuartu elementu cuntenet tre elementos, unu numeru, s'inparis boidu, e unu inparis chi cuntenet s'inparis boidu e unu numeru.
salista:={a,{1,2},{{3,4},{5,{x}}},{8,{},{{},9}}}
Length[salista]
4
Dimensions[salista]
{4}
Dimensions[salista[[4]]]
{3}
Dimensions[salista[[4,3]]]
{2}
Dimensions[salista[[4,3,1]]]
{0}
Length[salista[[4,3,1]]]
0
3.2
Su zassu de unu elementu bene ispetzificadu in d'una lista benit determinadu impreande sa funtzione Position. De como a innantis nos riferimus a salista.
Cando cherimus bier sa lista,ca mancari nos semus irmentigados coment'est, nde podimus semper iscrier su numene, comente faimus in s'ordine chi sighit:
salista
{a, {1, 2}, {{3, 4}, {5, {x}}}, {8, {}, {{}, 9}}}
Position[salista,a]
{{1}}
Su risultadu nos informat chi su elementu a s'agatat in su primu postu de salista.
Position[salista,2]
{{2, 2}}
Duos est su segundu elementu de su segundu elementu de salista.
Position[salista,4]
{{3, 1, 2}}
Batoro est su segundu elementu de su primu elementu de su tertzu elementu de salista.
Est a narrer chi su tertzu elementu de salista est una lista: custu tertzu elementu est cumpostu de listas, in particulare su primu elementu est una lista; su segundu elementu de custa lista est batoro.
Provade a faer una previsione: cale hat a esser sa resposta a sa pregunta de inue s'agatat x? E ite cheret narrer custa arresposta? E ite hat a cherrer narrer sa resposta a sa pregunta inue s'agatat sa lista boida? Comente minimu, ma custu si cumprendet, chi in salista est presente duas bortas, e posca?
Position[salista,x]
{{3, 2, 2, 1}}
Position[salista,{}]
{{4, 2}, {4, 3, 1}}
3.3
Tratamus de comente cche ogare elementos de una lista e de comente acontzare a bellu nou una lista.
Si connoschimus su zassu pretzisu inue s'agatat unu elementu no est difitzile a cche ddu ogare de una lista a foras. Tratamus semper sos elementos de salista.
salista
{a, {1, 2}, {{3, 4}, {5, {x}}}, {8, {}, {{}, 9}}}
Ischimus chi su elementu a est in su primu postu.
S'elementu, chi poi est una lista, {1,2} s'agatat in su segundu postu.
E su numeru otto est su primu elementu de su cuartu.
Part est sa funtzione chi servit a cche ogare unu elementu de una lista. Sa notatzione sua postfissa funi duas parentis cuadras a intro de sas cales una sutzessione de numeros mentovat s'indiritzu de su elementu leadu in cunsideru.
Part[salista,1]
a
Part[salista,2]
{1, 2}
Part[salista,4,1]
8
salista[[4,1]]
8
De una lista cche podimus a disitzu nostru eliminare elementos ispetzificande s'indiritzu issoro cun sa funtzione Take.
Take[salista,3]
{a, {1, 2}, {{3, 4}, {5, {x}}}}
Take[salista,-2]
{{{3, 4}, {5, {x}}}, {8, {}, {{}, 9}}}
Si cherimus podimus leare in cunsideru su fattu de cche ogare a pizu elementos cunsecutivos de un puntu delatadu a contare de s'incumintzu o de sa fine. Pesamus un'atera lista prus a discantzu a dda tratare.
ateralista:={1,2,3,a,b,c,d,4,5,6}
Take[ateralista,{4,6}]
{a, b, c}
Take[ateralista,{-7,-4}]
{a, b, c, d}
Take[ateralista,{-7,7}]
{a, b, c, d}
Cche podimus iscardinare elementos, de una lista, e mantenner firmos solu sos chi abarran. Si poden mover elementos de s'incumintzu, de sa fine, o de unu zassu delatadu a un'aterunu.
Drop[ateralista,3]
{a, b, c, d, 4, 5, 6}
Drop[ateralista,-3]
{1, 2, 3, a, b, c, d}
Drop[ateralista,{2,6}]
{1, d, 4, 5, 6}
Si poden eliminare elementos, a unu a unu, ispetzificande s'indiritzu issoro.
Delete[ateralista,{{3},{5},{7}}]
{1, 2, a, c, 4, 5, 6}
Podimus preguntare e cale est su primu elementu e cale est s'urtimu. E ite abarrat de una lista si cche ogamus su primu.
First[salista]
a
Last[salista]
{8, {}, {{}, 9}}
Rest[salista]
{{1, 2}, {{3, 4}, {5, {x}}}, {8, {}, {{}, 9}}}
In d'una lista podimus seletzionare elementos a segundu de unu criteriu.
Select[ateralista,NumberQ]
{1, 2, 3, 4, 5, 6}
Select[ateralista,NumberQ->False]
{}
Podimus ortulare a fund'in susu sos elementos de una lista.
Reverse[ateralista]
{6, 5, 4, d, c, b, a, 3, 2, 1}
O si cherimus ddos podimus ordinare, e tando a primu benin sos numeros e posca sas literas, e sos primos benin cunsiderados in ordine creschente e sas segundas in ordine lessicograficu, alfabeticu.
Sort[ateralista]
{1, 2, 3, 4, 5, 6, a, b, c, d}
E posca podimus ortulare una lista de manca a dereta, o de dereta a manca a mover de su zassu de unu elementu in sa lista.
RotateLeft[ateralista]
{2, 3, a, b, c, d, 4, 5, 6, 1}
RotateRight[ateralista,4]
{d, 4, 5, 6, 1, 2, 3, a, b, c}
Podimus disacumpanzare sos elementos de una lista. Tenide a contivitzu mannu comente fuan sos elementos de salista.
salista
{a, {1, 2}, {{3, 4}, {5, {x}}}, {8, {}, {{}, 9}}}
Flatten[salista]
{a, 1, 2, 3, 4, 5, x, 8, 9}
E cherende ddos podimus acumpanzare.
Partition[ateralista,3]
{{1, 2, 3}, {a, b, c}, {d, 4, 5}}
In listas de listas, cando sos elementos benin amustrados in tabellas, in rigas e culunnas, custas urtimas si poden iscambiare faende in manera chi sas culunnas diventen rigas. S'urtima lista chi hamus pesadu dda mutimus listanoa.
listanoa:=Partition[ateralista,3]
listanoa//TableForm
1 2 3
a b c
d 4 5
Transpose[listanoa]//TableForm
1 a d
2 b 4
3 c 5
E tantas ateras operatziones poden esser fattas: s'hat semper a tenner bisonzu de cunsultare a bella presse su manuale, de ischire de pretzisu ite est chi cherimus faer e, su cantu prus possibile, isfrutare sas funtziones pre-paradas. Ateros esempios funi custos chi nos cunsentin de atzunghere elementos a s'incomintzu, in mesu o s'acabada de una lista una orta declaradu unu indiritzu, o cambiare unu elementu cun d'un'ateru.
Append[{a,b,c},9]
{a, b, c, 9}
Prepend[{a,b,c},8]
{8, a, b, c}
Insert[{a,b,c},7,2]
{a, 7, b, c}
ReplacePart[{a,b,c},6,3]
{a, b, 6}
3.4
Podet semper capitare de triballare cun paritzas listas totu inparis.Giai de inantis hamus impreadu funtziones chi arrechedin cales argumentos issoro prus de una lista.
Tenende a contu sas carateristicas assiomaticas de sas operatziones in sos inparis e sos numenes issoro a s'inglesa, Mathematica nos pre-parat custas funtziones:
Join[{a,b,c},{x,y,z}]
{a, b, c, x, y, z}
Union[{4,5,6},{6,7,8}]
{4, 5, 6, 7, 8}
Union[{4,1,4,1,4,1},{}]
{1, 4}
Complement[{1,2,3,a,b,c},{2,3,a,b}]
{1, c}
Intersection[{1,2,3,a,b,c},{2,3,a,b,x,y}]
{2, 3, a, b}
3.5
S'agatan fintzas funtziones de ordine superiore. Talunas funtziones pre-paradas, e ateras chi hamus a iscrier nois, arrechedin po argumentos ateras funtziones. Si tratat tando de funtziones de funtziones, o funtziones cumpostas, o funtziones de ordine superiore. Funi sas aliagas programmatorias sas prus potentes. Map aplicat una funtzione a totu sos elementos de una lista. Pensamus a su simbolu h comente a una funtzione: tando h benit aplicadu a totu sa lista.
Map[h,{1,2,3}]
{h[1], h[2], h[3]}
E si su simbolu h esseret istadu una funtzione? Ponimus Reverse? O si nono Sort. O ateras,. Sas funtziones benin totus aplicadas.
Map[Reverse,{{1,2},{3,4},{5,6}}]
{{2, 1}, {4, 3}, {6, 5}}
Map[Sort,{{4,1,7,3},{u,e,a,f}}]
{{1, 3, 4, 7}, {a, e, f, u}}
Sa funtzione MapThread[] acumpanzada a atera funtzione leat sos elementos de una lista e sos chi ddi currisponden in d'un'atera e pesat ateruna lista.
MapThread[k,{{a,b,c},{w,t,z}}]
{k[a, w], k[b, t], k[c, z]}
MapThread[Power,{{3,4,5},{1,2,3}}]
{3, 16, 125}
MapThread[Times,{{4,6,9},{9,6,4}}]
{36, 36, 36}
MapThread[List,{{a,b,c},{x,y,z},{q,r,t}}]
{{a, x, q}, {b, y, r}, {c, z, t}}
Partition[MapThread[Plus,{{a,b,c},{x,y,z}}],1]
{{a + x}, {b + y}, {c + z}}
Medas funtziones pre-paradas chi arrechedin unu argumentu solu, tenen su donu, cando s'argumentu est una lista, de essere aplicadas in automaticu a totu sos elementos de sa lista: benin mapadas a totu sos elementos de sa lista. Log est una de custa funtziones.
Log[{2.3,5.6,7.8}]
{0.832909, 1.72277, 2.05412}
Map[Log,{2.3,5.6,7.8}]
{0.832909, 1.72277, 2.05412}
Medas funtziones pre-paradas chi arrecheden duos o de prus argumentos tenen su donu, cando listas multiplas funi argumentos issoro, de esser aplicadas in automaticu a totu sos elementos chi in sas listas si currisponden. In ateros faeddos, custas funtziones funi tratadas cun Thread po totu sos elementos de sa lista. Custu donu si narat Listable.
{2,4,6}+{5,8,9}
{7, 12, 15}
MapThread[Plus,{{2,4,6},{5,8,9}}]
{7, 12, 15}
Attributes[Log]
{Listable, Protected}
Attributes[Plus]
{Flat, Listable, OneIdentity, Orderless, Protected}
Si cherimus cambiare sos elementos de una lista in argumentos po ateruna funtzione, si podet.
Apply[f,List[q,w,e,r,t]]
f[q, w, e, r, t]
Si biet chi List est istada sostituida cun f. Sighide cun atentzione custos iscovieddos:
Apply[Plus,{1,2,3,4,5}]
15
Apply[k,{{1,2,3},{4,5,6}}]
k[{1, 2, 3}, {4, 5, 6}]
Apply[Plus,{{1,2,3},{6,8,10}}]
{7, 10, 13}
Apply[Power,{{x,y},{2,3}}]
2 3
{x , y }
3.6
Po isorber sistemas lineares s'impreat meda una metodica, connota comente sa metodica de Cramer.
Amustramus custa metodica, chi a parte unu cunditzionale, triballat solu cun sas listas. Est una funtzione lichita meda. Est comente si biet unu programma, s'impreu de sa potentzia de calculu de unu limbazu artefattu, (artificiale), iscrittu una orta solu e impreadu semper cando serbit.
cramer[ht_List,kt_List]:=
Module[{i},
If[(Det[ht]==0)&&(Det[
Transpose[
Prepend[
Drop[
Transpose[ht],1],kt]]]!=0),
Print["sistema impossibile"],
If[(Det[htt]==0)&&(Det[
Transpose[
Prepend[
Drop[
Transpose[ht],1],kt]]]==0),
Print["sistema indeterminato"],
Table[
Det[
Transpose[
RotateRight[
Prepend[
Drop[
RotateLeft[
Transpose[ht],i],1],kt],i]]]/Det[ht],
{i,0,Length[kt]-1}]]]];
cramer[{{1,2},{3,4}},{5,6}]
9
{-4, -}
2
Sas duas ecuatziones de su sistema funi:
x+2 y=5 e 3 x+4 y=6. E tando sa prima lista est cussa chi si narat sa matrice de su sistema, e sa segunda su chi si narat su vetore de sos termines connotos.
Hamus a torrare susu sa metodica de Cramer cando hamus a deper chistionare de archivios e de funtziones fattas de nois e totu.
N[cramer[{{2,3,5},{1,-2,4},{2,6,1}},{3,6,1}]]
{5.57895, -1.57895, -0.684211}
home

robotstxt: allowed

filter: keep


text:
a_domo_(in custu file).
home
Capitulu cuintu:
sos cunstructos.
par_1,par_2,par_3,par_4,par_5,par_6,
Tiu Lenardu Bigollo Pisanu de Bonacci, Fibonacci po sa beridade, haiat tentu sa sorte de che naschire in su 'e Pisa in su 1180 e de che morrer a inghiriu de sa matessi idda in su 1250. Su babbu suu cumertziaiat in sas Africas de acanta, e Lenardu sende minore haiat tentu sa fortuna de faer istudios mannos de matematicas, imparande tantas cosas de importu de sos matematicos arabos, sos cales in cussos tempos connoschian puru sas matematicas antigas classicas, indianas e tzinesas.
Fibonacci haiat pesadu un'indovintzu curiosu. De custu naschen sas series, in particulare una chi est connota in s'universu mundu cun su numene de s'autore suu. Arresonande de matematicas si tratat de chistiones de importu mannu. Sa serie de Fibonacci tenet po narrer impreos in tecnicas de programatzione. Po custu dda presentamus, in latinu po primu, e a pustis in d'una improbabile trasliteratzione in sardu. (a_domo).
5.1
Quot paria cuniculorum in uno anno ex uno paris germinentur.
Quidam posuit unum par cuniculorum in quodam loco, qui erat undique pariete circumdatus, ut sciret, quot ex eo paria germinarentur in uno anno; cum natura eorum sit per singulum mensem aliud par germinare; et in secundo mense ab eorum nativitate germinant.
Quia suprascriptum par in primo mense germinat, duplicabis ipsum, erunt paria duo in uno mense. Ex quibus unum, scilicet primum, in secundo mense germinat; et sic sunt in secundo mense paria 3; ex quibus in uno mense duo pregnantur; et geminantur in tercio mense paria 2 cuniculorum; et sic sunt paria 5 in ipso mense; ex quibus in ipso pregnantur paria 3, et sunt in quarto mense paria 8;
ex quibus paria 5 geminant alia paria 5: quibus additis cum parijs 8, faciunt paria 13 in quinto mense; ex quibus paria 5, que geminata fuerunt in ipso mense, non concipiunt in ipso mense, sed alia 8 paria pregnantur; et sic sunt in sexto mense paria 21; cum quibis additis parijs 13, que geminantur in septimo, erunt in ipso paria 34;
cum quibus additis parijs 21, que geminantur in octavo mense, erunt in ipso paria 55; cum quibus additis parijs 34, que geminantur in nono mense, erunt in ipso paria 89; cum quibus additis rursum parijs 55 que germinantur in decimo erunt in ipso paria 144; cum quibus additis rursum parijs 89 que germinantur in undecimo mense, erunt in ipso paria 233.
Cum quibus etiam additis parijs 144, que geminantur in ultimo mense erunt paria 377; et tot paria peperit suprascriptum par in prefato loco in capite unius anni.
Potes enim videre in hac margine, qualiter operati fuimus, scilicet quod iunximus primum numerum cum secundo, videlicet 1 cum 2; et secundum cum tercio; et tercium cum quarto; et quartum cum quinto, et sic deinceps, donec iunximus decimum cum undecimo, videlicet 144 cum 233; et habuimus suprascriptorum cuniculorum summam, videlicet 377; et sic posses facere per ordinem de infinitis numeris mensibus.
1 incipit
2 primus
3 secundus
5 tercius
8 quartus
13 quintus
21 sextus
34 septimus
55 octavus
89 nonus
144 decimus
233 undecimus
377 duodecimus
Canta parigas de cunillos naschin in d'un annu de una paja sola.
Fulanu haiat postu una paja de cunillos in d'unu tzassu, su cales fudi in tot'ue de muros circundadu, po ischire canta parigas nde d'hiat naschire in d'un annu, essende sa natura issoro de nde antzare una paja a onni mese; e de sa naschida issoro ab antzare pustis su segundu mese.
Po cantu istabilidu una paja antzat in su primu mese arreddopiandesi haian a esser dua pariga in d'unu mese. De sas cales una, haiat a esser sa prima, antzat in su segundu mese; e gasi funi 3 pariga in su segundu mese; de sas cales in d'unu mese duas s'improssiman; e antzan in su tertzu mese dua pariga de cunillos: e gasi funi 5 parigas in cussu mese; de sas cales in cussu matessi 3 parigas s'improssiman: e funi in su cuartu mese 8 parigas; de sas cales 5 parigas nde antzan ateras 5: sas cales atzuntas a 8 parigas faen 13 parigas in su cuintu mese;
de sas cales 5 parigas chi funi istadas generadas in cussu mese, no antzan in su matessi mese, ma ateras 8 parigas emo; e gasi funi 21 parigas in su sestu mese; atzuntas a sas cales 13 parigas, ch'hian antzadu in su setimu, diventan in su metessi mese 34 parigas; atzuntas a 21 parigas chi antzan in s'otavu mese diventan in cussu 55 parigas; atzuntas a sas 34 parigas chi hian antzadu in su nonu mese in su matessi che sortin a esser 89;
e torra, a issas atzuntas 55 parigas chi antzan in su deghimu mese diventan in cussu matessi 144; atzuntas a 89 parigas chi funi istadas generadas in su mese deghimuprimu diventan 233; a sas cales, in finis, atzuntas 144 parigas chi enin generadas in s'urtimu mese diventan tzustu 377 parigas; in capu a un annu de s'unica paja in su tzassu inantis mentovadu tantas parigas nd'hat antzadu.
Podes fintzas osservare in custu marghine de comente hamus contadu, est craru chi hamus atzuntu su primu numeru a su segundu, est a narrer 1 cun 2; e su segundu cun su tertzu, e su tertzu cun su cuartu, e su cuartu cun su cuintu e gasi a sighire, fintzas a cando no ch'hamus atzuntu su deghimu cun su deghimuprimu, est a narrer 144 cun 233; incuntzande sa summa de sos cunillos mentovados, naramus 377: e gasi podes faer in ordine a unu numeru infinidu de meses.
1 cumintzat
2 primu
3 segundu
5 tertzu
8 cuartu
13 cuintu
21 sestu
34 setimu
55 otavu
89 nonu
144 deghimu
233 deghimuprimu
377 deghimusegundu
(a_domo).
5.2
Podet capitare sa netzessidade de faer unu contu tantas bortas, sende chi no ischimus cantas cando printzipiamus a contare: chi est a contare dd'ischimus ma fintzas a cantu nono, dipendente custu fattu de sa modifica de talunas cunditziones po efettu de sos computos comente hana a s'isvilupare in sa faina. Su arresonamentu lozicu chi s'hade a deper sighire podet esser custu: in su mentres chi una cunditzione s'averat fae custu computu: aumenta o diminui unu contadore e torra cumintzare. Si narat chi intras a intro de unu ciclu e podet esser contadu gosie: cando unu contadore est prus mannu o prus piticu de unu numeru indicadore fae custu dovere: conta su chi depes contare, aumenta o diminui su contadore de unu tretu delatadu, cunfronta su contadore cun su indicadore e si sa cunditzione posta s'averat torra a cumintzare.
j=1;
While[j<10,p=k^j;++j];
Clear[j];
p
9
k
pot[k_]:=
Module[{j=1},
While[j<10,
p=k^j;
++j];
p];
pot[3]
19683
Table[pot[h],{h,1,9}]
{1, 512, 19683, 262144, 1953125, 10077696, 40353607,
134217728, 387420489}
Table[n^9,{n,1,9}]
{1, 512, 19683, 262144, 1953125, 10077696, 40353607, 134217728, 387420489}
secpot[h_]:=
Module[{y=h},
For[h<10&&y<10,
q=h^y,
++y];
q];
secpot[4]
256
Table[secpot[w],{w,1,10}]
{1, 4, 27, 256, 3125, 46656, 823543, 16777216,
387420489, 10000000000}
Table[n^n,{n,1,10}]
{1, 4, 27, 256, 3125, 46656, 823543, 16777216, 387420489, 10000000000}
secpot[11]
285311670611
(a_domo).
5.3
Sos esempios chi inantis hamus propostu introduen a un'argumentu de importu in sas metodicas de programmatzione: sos ciclos e su cuntrollu de sos datos. Sa esecutzione de unu programma de Mathematica, cherimus narrer de unu programma informaticu iscritu in su limbazu Mathematica, cumportat sa valutatzione de una secuentzia de espressiones. Cando si tratat de programmas semplitzes, si naran secuentziales, sas espressiones chi han a deper esser valutadas han a esser separadas in tra issas de puntos e virgulas e computadas una a pustis s'atera.
De tantu in tantu non mancat chi unu disitzet a computare sas espressiones medas bortas, pesande comente unu ciclu. E tando si imprean talunas funtziones pre-paradas, chi in ateros limbazos si naran paraulas reservadas e in Mathematica funi solu funtziones chi arrecheden sos argumentos issoro e una sintassi dechida e pretzisa.
Do[espressione,{i, imaximu}]
valutat espressione in manera repitidora, cun su contadore i chi variat in su tretu chi movet de 1 fintzas a imaximu cun d'unu passu de 1.
Do[espressione,{i,iminimu,imaximu,brinca}]
valutat espressione cun su contadore i chi variat in su tretu a mover de iminimu a imaximu cun d'unu passu istabilidu, a brincos.
Do[espressione,{n}] valutat espressione enne ortas.
Do[Print[i^3],{i,5}]
1
8
27
64
125
t=x;
Do[t=1/(1+k t),{k,2,6,2}];t
1
---------------
6
1 + -----------
4
1 + -------
1 + 2 x
Do[Print[{i,j}],{i,4},{j,i-1}]
{2, 1}
{3, 1}
{3, 2}
{4, 1}
{4, 2}
{4, 3}
t=x;
Do[t=1/(1+t),{4}];t
1
-----------------
1
1 + -----------
1
1 + ---------
1
1 + -----
1 + x
Nest[f,espressione,n]
est una funtzione chi apricat f a espressione n ortas.
FixedPoint[f,espressione]
movet cun espressione e apricat a sa ripitidora f fintzas a cando su risultadu non cambiat prus.
f[x_]:=x^2;
Nest[f,x,3]
8
x
Nest[Function[t,1/(1-t)],x,3]
1
-------------
1
1 - ---------
1
1 - -----
1 - x
g[x_]:=1/(1-x);
Nest[g,x,3]
1
-------------
1
1 - ---------
1
1 - -----
1 - x
ciclodofib[n_Integer?Positive]:=
Module[{fn1=1,fn2=1,k=n},
Do[{fn1,fn2}={fn1+fn2,fn1},{k-1}];fn1];
ciclodofib[6]
13
Table[ciclodofib[j],{j,1,22}]
{1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610,
987, 1597, 2584, 4181, 6765, 10946, 17711, 28657}
N[ciclodofib[50]/ciclodofib[49]]
1.61803
N[GoldenRatio]
1.61803
(a_domo).
5.4
While[test, corpus de una espressione]
valutat su corpus de una espressione a sa ripetidora fintzas a cantu su test propostu torrat beru.
Clear[n];
n=15;
While[(n=Floor[n/2])!=0,Print[n]]
7
3
1
Po si faer una idea de Floor, Ceiling,Round sighide custas esemplificatziones:
{Floor[3.12345],Floor[3.6789]}
{3, 3}
{Ceiling[3.12345],Ceiling[3.6789]}
{4, 4}
{Round[3.12345],Round[3.6789]}
{3, 4}
In sas matematicas est argumentu de importu mannu, a su cales si fun dedicados cun divotzione tantos sapientes, a ischire cun pretzisione cantu alen in valore numericu sas raighinas de una ecuatzione, e masprestu a ischire isorbere una ecuatzione a coefitzientes numericos in d'unu campu. Sas metodicas tzenerales faddin cando su gradu de sa ecuatzione superat su tertzu, e tando sos sapientes han inbentadu metodicas de aprossimatzione: una famada meda est cussa de Newton pesada susu una formula recursora: si sa funtzione de argumentu reale y=f[x] hat una raighina in d'unu tretu, e siat a unu valore acanta de sa raighina non connota e in su tretu pigadu in cunsideru, tando a(n)=a(n-1)-f[a(n-1)]/f'[a(n-1)] est una formula chi cunvertzet a sa raighina chircada. Po render custa formula unu programma de Mathematica sighimus custu arresonamentu: una orta chi hamus definidu sa ecuatzione in forma de funtzione, iscridimus ateruna funtzione, argumentos de sa cales fun s'ecuatzione de isorbere, su valore de incumintzu acanta de sa raighina chi semus chircande de cche ogare a pizu e s'aprossimatzione e pretzisione chi disitzamus: comente e sewmper sa funtzione triballat preguntandedda a numen cun sos argumentos dechidos.
cricaraighinas[funtzione_,incumintzu_,aprossimatzione_]:=
Module[{a=incumintzu,
b=funtzione[incumintzu],
eps=aprossimatzione},
While[
Abs[b]>eps,
a=N[a-b/funtzione'[a]];
b=funtzione[a]];a]
f[x_]:=x^3-2 x^2+x-1;
cricaraighinas[f,1.9,0.001]
1.75519
N[Solve[f[x]==0,x]]
{{x -> 1.75488}, {x -> 0.122561 + 0.744862 I}, {x -> 0.122561 - 0.744862 I}}
(a_domo).
5.5
For[espressione,test,aumentu,corpus de una espressione], valutat espressione fintzas a cantu su test propostu no fartat.
For[i=1,i<5,i++,Print[((x+i)+i)^i]]
2 + x
2
(4 + x )
3
(6 + x )
4
(8 + x )
For[k=1;t=x,k^2<10,k++,t=t^2+k;
Print[t]]
2
1 + x
2 2
2 + (1 + x )
2 2 2
3 + (2 + (1 + x ) )
In Mathematica siat While siat For valutan semper su test de su ciclu a inantis de su corpus de s'espressione. Luego a pustis chi su test fartat de esser veru, While e For acaban. Su corpus de su ciclu est tando computadu solu in situatziones in sas cales su test de su ciclu torrat veru. Po contra:
While[False,Print[y]]
No torrat nudda ca su test propostu fartat luego, e custu torrat de impedimentu a su corpus de s'espressione a podet esser computadu una orta nessi.
cicluforfib[n_Integer?Positive]:=
Module[{k=n,
tp(*termine pretzedente*),
ts(*termine sighidore*),
vt(*variabile temporanea*),
c(*contadore*)},
tp=1;ts=1;
For[c=1,c<k,c++,vt=ts;
ts=vt+tp;
tp=vt];
ts]
cicluforfib[5]
8
Table[cicluforfib[h],{h,1,10}]
{1, 2, 3, 5, 8, 13, 21, 34, 55, 89}
machillotufib:=
If[#<2,1,#0[#-1]+#0[#-2]]&
Table[machillotufib[j],{j,1,10}]
{1, 2, 3, 5, 8, 13, 21, 34, 55, 89}
(a_domo).
5.6
Podet capitare in d'unu arresonamentu, finas de pagu importu, de ponner tzertunas cunditziones, mancari gosi: si hapo a benner ricu, e tando mi comporo su caddu. Su cunstructu si... cunditzione... e tando...operatzione, si narat cunditzionale. In logica medas bortas si faeddat masprestu de implicatzione materiale: su sinnificadu est perņ diferente. Tenende contu de su chi semus arresonande nois su cunditzionale funtzionat in custa manera: cando sa cunditzione posta resurtat bera tando faghe carchi cosa, mancari nudda. Su limbazu chi semus impreande, e a bellu a bellu semus mancari imparande a cumprendere, tenet unu cunstructu, chi si narat If...Then...Else, abreviadu in If... Ponimus de cherrer iscrier unu numene, caddu si est beru chi unu numeru est pius mannu de un'ateru, o ainu si custu fattu no est beru.
iscrie[a_,b_]:=
If[a<b,
Print[caddu],Print[ainu]]
iscrie[6,8]
caddu
iscrie[4,3]
ainu
Custu programa est forte meda, ca podet essere impreadu po seberare unu numeru in mesu a ateros, cando si verificat una cunditzione.
sebera[a_,b_]:=
If[a<b,
Print[a],
Print[
"sa coppia de numeros chi has carrigadu non balet,
nde depes carrigare un'ateruna"
]];
sebera[3,4]
3
sebera[4,3]
sa coppia de numeros chi has carrigadu non balet, nde\
depes carrigare un'ateruna
(a_domo).
home


text:
home
Capitulu cuartu: sas funtziones
Adotamus una definitzione famada meda po narrer ite intendimus nois po funtziones: fun inparis de operatziones, no importat de ite natura, aplicadas a inparis de datos. In matematicas nd'agatamus de tantos tipos, in informatica nd'enin atzuntas de ateras calidades, e cando si podet e si torrat sa definitzione issoro, si nd'atzunghen ateras a piaghere nostru e a segundu de su bisonzu.
4.1
A programmare in Mathematica est, a s'in prus parte, una chistione de iscrier funtziones pre-paradas, chi triballan comente sas funtziones matematicas chi pesen arrespetu. Cando issas benin aplicadas a valores bene determinados e definidos, tando fun in gradu de cumprire computos e torrare resultados. Nois hamus a amustrare, totu reduidu in d'una tecnica chi si narat a tretu a tretu, comente pesare una funtzione pre-parada impreande unu istile de programmatzione funtzionale. No nos hamus a pistighintzare meda de cantu sa funtzione hat a poder esser lestra e coidadosa in sos computos nostros. A s'incomintzu su chi contat est solu chi sa funtzione chi hamus a pre-parare siat in gradu de atire a cumprimentu sa chi ddi pedimus. Hamus amustradu in tantas ocasiones comente sas funtziones de Matematica, impreadas cun tipos de datos varios, unu compitu difitzile ddu torren fatzile. Una tecnica de programmatzione est semper a sighire su cussitzu de perder mancari tempus meda a cricare si s'agatan funtziones pre-paradas, e solu a s'urtimu arrematu a si ponner a nd'iscrier po contu nostru. Mancari cando hamus amustradu e comente custas funtziones amanipulan sos datos, custos hian a esser de sa prus comuna calidade cun sas operatziones sas prus semplitzes: su disitzu nostru est tando chi custas operatziones amanipulen datos medas e in maneras cumplicadas.
N[Pi,160]
3.14159265358979323846264338327950288419716939937510582\
097494459230781640628620899862803482534211706798214808\
65132823066470938446095505822317253594081284811174503
4.2
Su numeru Pigrecu, de su cales chi pagu prima hamus amustradu una aprossimatzione de chentusessanta cifras deghimales, est cunsideradu de Mathematica una costante. Su programma tenet algoritmos internos e onni orta chi ddu preguntamus po Pigrecu nosi nde torrat una aprossimatzione cun cantas cifras deghimales cherimus.
S'agatan in matematicas algoritmos sos prus varios e fantasiosos po computare sas primas cifras de custu numeru. Sas cifras deghimales suas fun infinidas, e unu tempus coladu fuit un'isfida de importu intra sos altzebristas a chie nde computada su numeru prus mannu.
Como sa chistione non importat prus a nemos, ma est bella e istrutiva, e nois bos contamus comente intrat Pigrecu cun sas chistiones de su tiru a sinnu, e comente de custos fattos si pothat pesare una formula po ddu computare, tenende tempus cun d'una pretzisione manna.
Su numeru Pigrecu, 3.14... est su raportu intra sa longhesa de unu cricu e su diametru suu. Hamus a narrer sine dintintzione peruna cricu a sa figura zeometrica intesa e comente superficie e comente orizu.
Sa superficie de unu cricu est, de una formula elementare, Pi r^2, su numeru Pigrecu moltiplicadu po su cuadradu de su raju. Si su raju est uguale a una unidade de misura, comente hamus a ponner nois, e tando custa superfitzie est Pigrecu. Leamus in cunsideru unu cuadradu, unu ladu de su cales misurat duas unidades de longhesa. E tando sa superfitzie de custu cuadradu est duos po duos batoro unidades cuadradas. Est custa puru una formula elementare: s=l^2. Pensamus a su cricu inscritu in su quadradu comente a unu bersalliu'e tiru a sinnu, a inue s'isparan tanto cropos. Totus han a cropire su cuadradu, e talunos su cricu. Esistit una proportzione tando, intra sas duas superfitzies e su numeru de sos cropos chi ddas han fertas: sa superfitzie de su cricu istat a sos cropos chi dd'han ferta comente sa superfitzie de su cuadradu istat a totu sos cropos isparados:
Pi : introsucricu = 4 : introsucuadradu
inue introsucricu cheret narrer su numeru de ballas chi han fertu solu su cricu, e introsucuadradu su numeru de ballas chi fun istadas isparadas e chi han fertu chena duda peruna, po ipotesi, su cuadradu. Irboligande custa proportzione s'agatat chi Pigrecu est uguale a batoro ortas introsucricu divididu po introsucuadradu: Pi= 4 Introsucricu/introsucuadradu.
E pesamus una lista de numeros cumplessos, a prova, po ddos connoscher e comente fun fattos, e ddi ponimus a numene provacumplessos.
provacumplessos=Table[
Random[
Complex,{-1-I,1+I}],{10}]
{-0.922357 + 0.0055577 I, -0.607548 - 0.126257 I,
-0.602875 - 0.975827 I, -0.959887 - 0.77478 I,
0.814093 - 0.708642 I, -0.916642 - 0.106597 I,
0.930148 - 0.984685 I, 0.0646964 - 0.453902 I,
0.0839279 + 0.56453 I, -0.138358 - 0.881242 I}
Sos numeros cumplessos han duas cumponentes, una si narat reale e s'atera imatzinaria. Nois podimus impreare custas duas partes comente sas coordinadas reales de unu puntu in su pranu cartesianu.
E tando sas cumponentes reales e imatzinarias de custos deghe numeros cumplessos, de sos cales hamus postu contivizu mannu a ddos seberare in manera chi esseren totus cumpresos intra mancus unu e prus unu, ( est a narrer distantes de unu tzentru unu a su maximu, e intra a issos non prus de duos), fun sas coordinadas de deghe puntos a intro de unu cuadradu de ladu duos; e calincunu, medas, istan puru a intro de su cricu inscritu.
provacoordinadas=Partition[
Transpose[
{Re[provacumplessos],
Im[provacumplessos]}],2]
{{{-0.922357, 0.0055577}, {-0.607548, -0.126257}},
{{-0.602875, -0.975827}, {-0.959887, -0.77478}},
{{0.814093, -0.708642}, {-0.916642, -0.106597}},
{{0.930148, -0.984685}, {0.0646964, -0.453902}},
{{0.0839279, 0.56453}, {-0.138358, -0.881242}}}
Podimus notare chi a intro de custu inparis sos elementos funi parigas de numeros, deghe parigas, est a narrer comente prevedidu, sas coordinadas de sos deghe puntos disitzados.
4.3
Cherende podimus pesare una funtzione chi seberet listas de numeros cumplessos casuales a intro de duas lacanas, listas longas cantu nos paret e praghet. Custa est tando una funtzione pre-parada de su chi de Mathematica si serbit, s'utente de su limbazu de programatzione Mathematica. Custa funtzione no est po nudda diferente de sas funtziones pre-paradas in su limbazu. Tenet unu numene e triballat cando enit preguntada cun sos argumentos suos. Sa paraula Module est una crae po ch'inserrare aintro de sa funtzione sas variabiles chi disizamus sian locales.
Su numene de sa funtzione est unu numene longu, chi narat issu e totu su dovere chi sa funtzione cumprit: est como una netzessidade didatica, posca sos numenes enin postos comente onniunu disitzat: imparisdenumeroscumplessos est de lettura pagu discantzosa, e tando podimus ponner solu sas initziales: inc, totu atacadu sighidu de parentis cuadra aberta intro sa cales s'iscrien sos argumentos, disinnados cun su trattu lineare e separados de virgulas, e si tancan sas parentis cuadras. Ite cheren narrer sos duos puntos e s'uguale dd'hamus ispetzificadu pagu inantis: est una assinnatzione diferida.
Sos argumentos ddos hamus pesados a numene primalacana (pl) e segundalacana (sl) po cherrer amentare fintzas chi sos numeros cumplessos non fun ordinados e no tenimus unu numeru prus mannu e unu prus piticu de un'ateru. S'argumentu cantosfun (cf) est sa numerosidade de sa lista. Module incraeddat custas tres variabiles a intro de sa funtzione a manera chi su numene issoro no pothat interferrer cun ateras aliagas.
Sa funtzione prima s'iscriet a video e a pustis si cumpilat. Custu fattu non torrat arresposta ca a sa fine hamus tentu cuntivitzu de ponner unu puntu e virgula.
inc[primalacana_,segundalacana_,cantosfuni_]:=
Module[{pl=primalacana,
sl=segundalacana,
cf=cantosfuni},
Table[
Random[
Complex,{pl,sl}],{cf}]];
a=inc[-1-I,1+I,10]
{0.222964 - 0.335169 I, 0.0200486 - 0.622849 I,
0.145321 + 0.659273 I, -0.372403 + 0.503408 I,
-0.251804 + 0.6351 I, -0.412517 + 0.278188 I,
-0.0658973 + 0.343742 I, -0.495874 - 0.615214 I,
0.00395424 + 0.328427 I, 0.439429 + 0.838687 I}
Est pretzisu chi a su postu de deghe numeros podimus pesare listas de deghemila numeros. Inibimus sa resposta a custa pregunta, semper cun su puntu e virgula.
Clear[a]
a=inc[-1-I,1+I,2000];
Sos duamila numeros cumplessos de sa lista enin como trasformados in sas coordinadas cartesianas de duamila puntos in su pranu. Custos puntos enin torrados in d'unu graficu.
puntos=ListPlot[
Partition[
Join[Re[a],Im[a]],2],
PlotStyle->PointSize[0.005],
Ticks->None,
AspectRatio->Automatic];
Nd'essit foras su graficu de sos duamila puntos sas coordinadas numericas de sos cales funi istadas computadas da e sa funtzione inc e imagasinadas in sa lista a. Disinnamus como unu cuadradu e unu cricu, totu a duos boidos e ddos ponimus susu custu graficu de puntos.
cuadradu=Show[
Graphics[
Line[{{1,1},{-1,1},{-1,-1},{1,-1},{1,1}}]],
AspectRatio->Automatic];
cricu=Show[
Graphics[
Circle[{0,0},1],
AspectRatio->Automatic]];
4.4
Sa funtzione Line[] pretendet po argumentos suos una lista, sos elementos de sa cales funi meda parigas de numeros, chi rapresentan sas coordinadas de sos puntos, de inue movet una rectilinea, e a manu a manu inue passat e a inue arribat: est in custa manera chi hamus disinnadu una figura chi hamus mutidu cuadradu. Line est unu argumentu de ateruna funtzione, Graphics, e solu cun issa triballat. Su chi faen custas duas funtzione si podet bier a video cun sa funtzione Show[], de sa cales funi argumentos.
Circle[] arrechedet una lista de numeros chi funi sas coordinadas de su puntu chi disizamus po tzentru, e unu numeru chi hat a esser sa longhesa de su raju. Comente inantis, fintzas Circle[] est argumentu de sa funtzione Graphics[] e podet esser bistu su graficu preguntandeddu a Show[]. Custos tres ozetos graficos, puntos, cuadradu e cricu ddos podimus amustrare inparis:
Show[puntos,cuadradu,cricu];
E notamus chi totus sos puntos funi a intro de su cuadradu e de custos, paritzos capitan a intro de su cricu. Po cantu si podet bier, in mannu, sa distributzione est uniforme, cherende narrer cun custu chi sos puntos non tenen unu donu delatadu po si amustrarare totus in su matessi tzassu, s'ispraghen masprestu in totu su pranu, cussu allacanadu de sos lados de su cuadradu, sentza preferentzia peruna. Onni orta chi attivas sa funtzione inc has a tenner semper numeros cumplessos, e tando puntos diferentes in su pranu, e perņ distributziones simbitzantes.
4.5
In su pranu cartesianu sa distantzia in tra duos puntos enit definida comente sa raighina cuadrada de sa summa de sos cuadrados de sas diferentzias de sas coordinandas de sos puntos cunsiderados. Si po comente cunsideramus sa distantzia de sos puntos de su pranu da e unu puntu particulare, s'origine de su sistema de sos asses cartesianos sas coordinadas de sa cales funi zero de ascissa e de ordinada, tando sa formula chi hamus pesadu inantis enit semplificada: sa distantzia de sos puntos de su pranu da e s'origine est sa raighina cuadrada de sa summa de sos cuadrados de sas coordinadas. Si ponides mente a su teorema de Pitagora, os agatades in sa definitzione a maravitza. Una funtzione chi andat che ozu a pedde a cantu semus cunsiderande est:
distantzia[{x_,y_}]:=N[Sqrt[x^2+y^2]];
Sos numeros argumentu de sa funtzione funi sas coordinadas cartesianas de sos puntos. Unu inparis de numeros cun su numene aintrodesucuadradu, e chi nois abreviamus cun aic est pesadu cun totus sas distantzias dae s'origine, de sos puntos leados in cunsideru. Sa funtzione Map enit aplicada a sa funtzione distantzia po leare sa distantzia de totus sos puntos da e s'origine:
aic=Map[distantzia,
Partition[
Join[Re[a],Im[a]],2]];
Pigamus in cunsideru unu criteriu: si sa distantzia de su tzentru est minore de 1, su puntu istat a intro de su cricu, si est uguale a 1 istat in pizu de su cricu e si est prus de 1 istat foras de su cricu ma aintro de su cuadradu. Sa funtzione chi seletzionat numeros segundu custu criteriu tenet a numene minoresdeN, abreviada cun mN:
mN[n_Real]:=n<=1.;
Connotu custu criteriu pesamus ateruna funtzione chi seletzionet in d'una lista sos numeros minores o uguales a 1. Sa funtzione si narat seletziona, abreviada cun sel:
sel[k_List]:=Select[k,mN];
Istan tando aintrodesucricu, abreviadu cun acri, solu sos puntos chi passan sa seletzione:
acri=sel[aic];
Su numeru de elementos chi istan in d'una lista si pedit cun Length. E tando, sigundu sos contos nostros, batoro ortas su numeru de sos elementos chi istan aintrodesucricu divisos po su numeru de sos elementos chi istan aitrodesucuadradu dat una aprossimatzione ona de pigrecu:
pigrecu=N[4. Length[acri]/Length[aic]]
3.174
Aumentande su numeru de sos puntos metzorat sa aprossimatzione de pigrecu. Onni orta chi su programa computat inparis de numeros novos s'aprossimatzione cambiat, ca essende sos numeros casuales, onni orta funi diferentes.
4.6
Una funtzione anonima non tenet numene, ma si cheres dda podes atiare e sas variabiles suas tenen una forma delatada: #. Non si cumprendet cantu est utile una funtzione anonima e ne si podet pretziare chena dd'impreare. Como chi semus espertos de funtziones pre-paradas pensamus a una chi cuadret numeros, o mancari nde computet sas potentzias e ddas ponimus a cunfrontu cun sas funtziones anonimas.
cuadraunu[x_]:=x^2;
cuadraduos:=(#^2)&;
cuadratres:=Function[x,x^2];
cuadraunu[4]
16
cuadraduos[5]
25
cuadratres[6]
36
Totas tres sas funtziones cuadran numeros. Podimus pesare cun sa matessi logica ateras tres funtziones de duos argumentos, su primu chi siat sa base de una potentzia e su segundu s'esponente:
potuna[x_,y_]:=x^y;
potduas:=(#1^#2)&;
potres:=Function[{x,y},x^y];
potuna[5,3]
125
potduas[3,4]
81
potres[2,6]
64
Pesandeddas totu in pare po unu cunfrontu:
{{cuadraunu[6],cuadraduos[6],cuadratres[6]},
{potuna[3,4],potduas[3,4],potres[3,4]}}
{{36, 36, 36}, {81, 81, 81}}
4.7
Iscridimus una funtzione chi computet pigrecu segundu cantu hamus arresonadu inantis. Intro de istedditos ponimus su chi sos numenes abreviados cheren narrer. Sa funtzione triballat preguntandedda pi, e po argumentu cheret unu numeru intreu, mannu ma non meda, intra milli e chimbemila.
mN[m_Real]:=m<=1.;
(*sos puntos aintro de su cricu distan
de su tzentru prus pagu de una unidade de misura*)
d[{x_,y_}]:=N[Sqrt[x^2+y^2],5];
(*una formula po computare una distantzia*)
s[j_List]:=Select[j,mN];
(*seberat sos puntos aintro de su cricu*)
pi[n_Integer]:=
(* sa funtzione*)
Module[
{k=Table[
Random[Complex,{-1-I,1+I}],{n}]},
q=Map[d,
Partition[
Join[Re[k],Im[k]],2]]
(*sos puntos aintro de su cuadradu*);
c=s[q]
(*sos puntos aintro de su cricu*);
N[4. Length[c]/Length[q],5]]
pi[3000]
3.164
home


text:
home
Capitulu primu:
Aprimuaprimu
Una die Lelle est calau a Soddie e semus essios paris; a sas noe m'hada acumpanzau a domo e m'hat nau chi nos t'hiamus a torrare a bier s'in crasa. S'in crasa issu no est bennidu a mi cche leare a Soddie. Jeo dd'hapo ispetau, passada sa die no est bennidu pius. Issu no m'hada pius cunsiderau, e s'est postu cun d'un'atera pitzoca, fintzas fea, chi fudi un'amiga mia. Flore S.
Mathematica est unu sistema mannu meda e po su cantu cumbenit cumplessu bastante. Issu cuntenet chentinaias de funtziones po cumprire a compitos varios in issienzias particulares chi imprean su limbazu matematicu po esprimer formulas e cunzetos. Mathematica tenet unu limbazu suu cun regulas sintaticas e semanticas definidas bene. In custu capitulu de incomintzu nois cherimus dare tzertunas informatziones de base chi sos chi si serbin de Mathematica disitzan a connoscher: est a narrer de comente ponner in motu ,e cando serbit, a frimare su programma, comente carrigare inputos fatziles e ddos faer valutare e ottenner arrespostas a sas preguntas nostras. In atzunta hamus a dare atzinnos de sa istruttura interna de custu sistema in ordine a cumintzare a cumprender ite est chi est custu libru, prima de totu a riguardu de su limbazu de programmazione Mathematica.
1.1
Po cumintzare.Mathematica est istadu de tantos autores pintadu comente unu calculadore sofisticu meda, cun su cales podes ponner formulas complicadas e ottenner sos valores issoro e su chi contat de prusu sas arrespostas zustas:
(3 (2+5)^4)/2
7203
----
2
Podes imagasinare valores in memoria:
capitale:=100000;
interessu:=0.05;
tempus:=3 (*annos*);
capitale*tempus*interessu (*s'interessu de tres annos*)
15000.
Podes fattorizare polinomios, cricare arraighinas de sas ecuatziones, calculare su valore de sos integrales definidos e sas primitivas de cussos indefinidos, disinnare su graficu de una funtzione e meda e meda de prus ancora.
Factor[x^3-1]
2
(-1 + x ) (1 + x + x )
Integrate[x^2+2 x-1,{x,0,3}]
15
N[Solve[x^2-3 x-1==0,x]]
{{x -> -0.302776}, {x -> 3.30278}}
Expand[%%%]
3
-1 + x
Su calculu de innantis tenet contivizu chi Mathematica hat unu dechidu sistema de comunicatzione intra s' utente e su fozu de computu, cun su cales unu si podet cun discanzu riferire a sos risultados de sos calculos giai fattos, impreande su simbolu %, una duas tres o tantas bortas cantas cumbenit. Sa matessi cosa podet esser fatta usande sa funtzione Out[i], inue i est una etichetta, o in modu chi currispondet a sa matessi faina %i: po esempiu:
Out[6]
19683
Sa funtzione chi sighit impreat solu operatziones cun sas listas. Prus a inantis hamus a bier de ite si tratat e comente si triballat impreande a issas.
moltiplica[h_List,k_List]:=
Module[
{risultadu=Reverse[
Transpose[
Sort[
Transpose[
Reverse[
{h[[1]]
Transpose[
Sort[
Transpose[k]]][[2]]}]]]]]},risultadu];
r0:={{0,1,2},{0,1,2}};
r1:={{1,2,0},{0,1,2}};
r2:={{2,0,1},{0,1,2}};
s0:={{0,2,1},{0,1,2}};
s1:={{2,1,0},{0,1,2}};
s2:={{1,0,2},{0,1,2}};
moltiplica[r2,r1]
{{0, 1, 2}, {0, 1, 2}}
{{0, 1, 2}, {0, 1, 2}}
Chie lezet custas notas hat a tenner a dispositzione una copia de su manuale de Stephen Wolfran inue agatat elencadas sas milliaias de funtziones e operatziones chi podet faer cun Mathematica: dd'hat a parrer de poder computare totu su chi ddi paret e a gustu suu. Ma custa impressione est unu irballiu. Si esserat pesadu interessu a ischire cal'est su tale numeru,ponimus de Fibonacci, o de Perrin, Mathematica non tenet una funtzione pre-parada po faer custu. Ma su chi Mathematica depet tenner, e ddu tenet, est sa capatzidade po sos clientes de poder definire sas funtziones issoro. Custu fattu si narat programmazione, su chi programmat est unu programmadore, e funi custas cosas chi custu libru cheret amustrare a sa persona istudiosa. Po si pesare un'idea in mente de su chi podet esser fattu, su de prima fudi unu programma chi calculaiat su produttu in tra sos elementos de unu gruppu de sos movimentos ritzidos in su pranu, simetrias e rotatziones arrapresentadas sutta a forma de pemutatziones de sos elememtos de un'imparis finidu.
1.2
Una die so' falada a Borene, e so' intrada a unu tzilleri, inue hapo connotu unu pitzocu chi est s'isposu de una amiga mia. Si giamat Marcu e semus diventados amigos. Semus ancora in comunicatzione. D'onzi in tantu nos telefonamus; issu faghet su mastru 'e muru. Li cherzo unu bene mannu. Marruncheddu E.
Su chi c'hat in custu libru. Jeo b'os t'hio cherrer contare de ite non ch'hat in custu libru, est a narrer un'irbolighinzu cumpletu de sas chentinaias o milliaias de operatziones pre-paradas in Mathematica. Po una lista de custu zenere est netzessariu su Manuale de Istevene Wolfran. Custu libru, chircat mancari de bos imparare de comente programmare. Assumo chi boisateros no happedas mai programmadu unu computer, e chi mai siades istados utentes de Mathematica, e jeo cherzo a passu passu e a traessu de sas tecnicas varias de programmatzione a bos imparare a impitare Mathematica po risolvere sos contos bostros.
Sa istruttura de sos capitulos de custu libru est descritta in sas notas chi sighin.
Capitulu primu: aprimuaprimu. Custu capitulu cuntenet meda de sos fundamentos teoricos de Mathematica, su limbazu de programmazione chi semus leande in cunsideru. Po fundamentu intendimus sas cosas nezessarias de prus a chie incumintzat a impreare su programma: hiamus a narrer de comente impreare su fozu de calculu de Mathematica e comente inputare espressiones. Sos utentes espertos poden esser liberos de che brincare pari pari custu materiale.
Capitulu segundu: una oghiada a su programma. Po su lettore chi non tenet connoschentzias mannas de Mathematica hamus aparitzadu unu capitulu chi amustret sas possibilidades, fintzas graficas,pre-paradas in su limbazu. Comente po su capitulu primu, custu puru podet esser sartiadu chena dannu dae sos lettores clientes de Mathematica.
Capitulu tertzu: listas. Su coritzone de totu su libru. Incumintzamus cun d'una discussione de custos importantes meda tipu de datos. A parte sos numeros, nessunu ateru tipu de datos est prus impreadu in sa programmatzione. Po esempiu, su programma chi hamus bistu chi chistionat de su produttu operatoriu cunsistit s'in prus in computos de listas. Hamus a descrier cantu utiles funi sas funtziones pre-paradas po amanipulare sas listas.
Capitulu cuartu: funtziones. In custu capitulu sighimus a discutere de listas e ch'intramus a pare sas cramadas de cuddas funtziones nadas de ordine superiore: in inglesu nested functions. Cumbinande funtziones pre-paradas chi presentamus in custu capitulu cun cussas de su capitulu de innantis, hamus a esser in gradu de isorber medas problemas de programmatzione.
Capitulu cuintu: valutatzione. A prima de ch'intrare meda a fundu in contos de programmatzione bos faimus agatare su chi disitzais de haer craru bene, de comente Mathematica acabat sos contos bostros. Custu nos permitit de cumintzare a chistionare de tecnicas programmatorias basadas susu regulas.E a pustis sighimus a faeddare de sos cunditzionales e de su limbazu istructuradu. Su donu prus mannu de unu calculadore est s'abilidade sua de leare detzisiones, de faere atziones diferentes e dipendentes sa prus bortas de sas calidades de sos inputos chi hat tentu. Custu capitulu amustrat e comente su programmadore podet contivitzare detzisiones de leare candu unu programma est in esecutzione.
Captulu sestu: inue amustramus comente agatare sas raighinas de sas ecuatziones in d'una manera antiga, ma chi zente meda no amentat prus, e chistionamus de ateras cosas puru.
Capitulu settimu: chistionamus de sa ipotesi de Goldbach. Ma est una iscusa po presentare e comente unu problema si suddividit in problematicas prus semplizes e arresonande susu custas s'imparan cosas de importu.
Capitulu ottavu: proponimus una riflessione susu sos problemas antigos de sa matematica e susu s'importantzia educativa chi tenet sa disciplina nostra.
1.3
Basilares. Sos cuntzetos chi fun esplicados inoghe si ritenen inportantes meda. In parte dipenden de sas caracteristicas de hardware e software chi seis impreande. Nois nos basamus susu Windows in d'una de sas tantas versiones publicadas e postas in cumerciu. Leggide bene custas recumanditzias in manera de bos leare cunfiantzia cun issas e imparade a manizare sas prus de importu in pagu tempus. Ma totu cheret fattu cun grabu e sale in conca: non perdeis tempus meda, hais a torrare a ddas lezzer cando cheris e cando prus bos torrat a contu.
Bos faimus bier comente intrare e bessire de una sessione de triballu e cand'est netzessariu dimandare azutoriu. Una cosa prima 'e totu: bois hais a cherrer connoscher e comente si avviat una sessione de triballu cun Mathematica, comente dda si finit e comente, presentandesi unu trubugliu si podet dimandare azutoriu po ddu irboligare. Custas protzeduras dependen in massima parte de su sistema chi seis impreande: si cantu bos cussizamus no est bastante andade a cunsultu de carchi cogu de sas partes bostras.
Mathematica partit, su programma enit lanzadu, cracande duas bortas cun su sorighittu sa mazinedda de Mathematica pustis, de dd'haer individuada in su banchittu de triballu. Cumparit su fozu de Mathematica e su prompt, una riga continua orizontale. Seis prontos a inbiare sos inputos bostros. Inputare in sardu cheret narrer pesare un'accusa contra a unu: est inputadu de una morte, dd'hana inputadu una bardana. In su sensu chi impreamus nois inputare est un inglesismu, est una paraula chi si cumponet cun in e put, e cheret narrer cun meda fantasia ghettare a intro. Ghettare ite? Sas formulas. A intro a inue? A sa CPU (Central Processing Unity), chi po contu nostru faet contos e nos torrat bell'e prontas sas arriespostas.
Po sos conputos cracades inparis sos tastos Shift Enter, o mancari in su tastierinu numericu disattivadu su numeru chimbe, o fintzas cun su mouse cracade in sa mazinedda de Mathematica, in sa barra de sos istrumentos. Po chitare una sessione selezionade Quit in su mený file.
Medas bortas bos podet capitare chi unu programma intret in calculos infadosos meda e lentos, o chi non finin mai, e cheris acabare, fattu o nono, su dovere, e tando seberade interrupt, o craccade inparis sos tastos Ctrl Break.
Po dimandare azutoriu, po esempiu ca cherides ischire su numene de una funtzione, o ca non bos amentades una sintassi, o ite tipu de calculos issa faghet est bastante a su puntu de dimanda faer sighire su numene in cunsideru:
?Plot
Plot[f, {x, xmin, xmax}] generates a plot of f as a
function of x from xmin to xmax. Plot[{f1, f2, ...},
{x, xmin, xmax}] plots several functions fi.
?Times
x*y*z or x y z represents a product of terms.
?Plus
x + y + z represents a sum of terms.
Si non bos amentades e cherides ischire cales funi sas funtziones chi prinzipiana su numene issoro cun d'una litera de s'alfabetu, digitade sempere unu puntu de dimanda e ddu fais sighire de sa litera chi bos interessat e de un'isteddittu:
?S*
SameQ Solve
SameTest SolveAlways
SampleDepth Sort
SampledSoundFunction Sound
SampledSoundList Space
SampleRate SpaceForm
Save SpellingCorrection
Scaled SphericalHarmonicY
Scan SphericalRegion
SchurDecomposition Splice
ScientificForm Sqrt
Sec Stack
Sech StackBegin
Second StackComplete
SeedRandom StackInhibit
Select StartingStepSize
Sequence StartProcess
SequenceForm StieltjesGamma
SequenceLimit StirlingS1
Series StirlingS2
SeriesCoefficient StreamPosition
SeriesData Streams
SessionTime String
Set StringBreak
SetAccuracy StringByteCount
SetAttributes StringConversion
SetDelayed StringDrop
SetDirectory StringForm
SetFileDate StringInsert
SetOptions StringJoin
SetPrecision StringLength
SetStreamPosition StringMatchQ
Shading StringPosition
Shallow StringQ
Share StringReplace
Short StringReverse
Show StringSkeleton
Sign StringTake
Signature StringToStream
SignPadding Stub
Simplify Subscript
SimplifyGamma Subscripted
SimplifyPolyGamma Subtract
Sin SubtractFrom
SingularityDepth SubValues
SingularValues Sum
Sinh Superscript
SinhIntegral SurfaceColor
SinIntegral SurfaceGraphics
SixJSymbol Switch
Skeleton Symbol
Skip Syntax
Slot SyntaxLength
SlotSequence SyntaxQ
Socket SystemStub
SolutionOf
1.4
S'annu passau mi so' posta cun d'unu pitzocu sindiesu e fumis paris un annu. Una die hamus brigadu ca fudi 'addinosu ca m'hat bistu faeddande cun d'unu pitzocu de Iscanu chi est un amigu meu. Issu s'est arrenegau meda poite bi funi totu sos amigos suos e issu non cheriat fagher una bruta figura. Semus abarraos a prima po duos meses, deo l'hapo lassau e mi so' posta cun d'un ateru. Como issu est torrau, ma a mie no mi nde importat nudda. Ghiaccio P.
Chistionamus de sa sintassi de sos inputos. Cando triballais po sas primas bortas cun Mathematica ponide a notu chi sa pregunta de un inputu e s'avvisu de una arresposta cumparin chena interventu de s'operadore. In, po input, e Out po output funi duos prontos de sos cales su primu cumparit cando cumandais unu contu e su segundu cando su calculadore amustrat su resultadu:
2+5
7
Sos inputos bostros a Mathematica han a cunsistere in espressiones chi sian numericas o de ateros tipos. Sas espressiones numericas han a esser digitadas in notatzione matematica ordinaria, comente prus a innantis bos amustramus. Una linea travessa (/) servit po indicare sa fratzione, unu asteriscu, (istedditu), (*) est su sinnu de moltplicatzione, ma est bastante a lassare unu ispatziu intra duos fattores po sa matessi impresa, s'accentu circunflettidu (^) serbit po s'elevamentu de una base a unu esponente e in generale a una esponentziatzione.
Prus(+) e Mancus(-) funi sos sinnos ordinarios de sa summa e de sa diferentzia. Hamus a bier sas formas alternativas, e no hat a mancare ocasione de rifletter susu su sinnificadu profundu de custos sinnos.
Expand[(a+b)^2]
2 2
a + 2 a b + b
Su programma Mathematica operat cun sa matessi precedentzia de sa matematica ordinaria. Est a narrer chi sa moltiplicatzione e sa divisione tenen precedentzia cun rispettu a s'additzione e a sa suttratzione, e tando 2+ 7 * 4 est uguale a 30 e no a 36.
2+7*4
30
Sas funtziones funi iscrittas in limba inglesa, e tando si depet faer attenzione a su sinnificadu issoro, ma chi est simbizante meda a su sensu chi sa paraula tenet in sardu. Sos numenes de sas funtziones pre-paradas depen cumintzare semper in litera maiuscola e sos argumentos issoro cheren arregortos in parentis cuadras.
Plus[2,3,8]
13
Mod[31,2]
1
Sos numenes de medas funtziones pre-paradas si riferin cun semplitzidade a sa faina chi funi deputadas a faer. E tando, po esempiu, D istat po diferentziatzione, Sqrt po raighina cuadrada, Log po logaritmu, Det po determinante de una madrighe, (ma de como a innantis dd'hamus a narrer matrice). Ateras bortas su numen de sa funtzione podet esser intreu:
Conjugate[1+2 I]
1 - 2 I
o fintzas
List[{1,2,3},{1,2,4}]//MatrixForm
1 2 3
1 2 4
In custa funtzione, e in totu sas ateras puru, sas parentis cuadras incluen sos argumentos, e sas parentis grafas indican sas listas. Issas funi aparitzos matematicos potentes meda po isorbere imbolighinzos matematicos de natura varia, e cumparin frecuente. Po esempiu in d'unu cuntestu graficu comente custu:
Plot[x^3-2 x^2+3 x-1,{x,-1,1}];
sa lista est un ordine a su programma po rappresentare sa funtzione de terzu gradu in su tretu de numeros reales chi incumintzat cun -1 e acabat a 1.O fintzas:
Integrate[Cos[x],{x,0,Pi/2}]
1
Sa funtzione Cos[x] est istada integrada intra sos estremos de integratzione zero e metade de pigrecu.
Cando una espressione benit terminada cun d'unu puntu e virgula su valore suu enit si, computadu, ma no amustradu a video, imprentadu, e custu fattu est unu azutoriu mannu cando sos risultados inter-medios funi longos meda e de pagu importu a esser indagados a fundu.
Clear[F]
F[0]:=1
F[1]:=1
F[n_]:=F[n]=F[n-2]+F[n-1]
F[20]
10946
N[F[50]/F[49],10]
1.618033989
N[GoldenRatio,10]
1.618033989
Su programma chi hamus iscrittu calculat sos numeros de Fibonacci. Hamus a torrare susu custu argumentu cando hamus a esser prus capazos de intender sas tematicas de programmatzione. Sos numeros de Fibonacci forman una sutzessione de numeros meda famada, e chi tenet tantas caracteristicas matematicas de esser impossibile, a chie apena apena dezidit de istudiare custa disciplina, a dd'ignorare. Custa sutzessione de numeros si format a partire de duos semenes, 1 e 1, chi funi tando sos primos duos termines de sa sutzessione. Onni termine sighente si ottenet de sos duos a luego pretzedentes sommados a pare. Tando su tertzu termine est tres, su cuartu est chimbe, e posca otto e treghi e bintunu e gasi sighinde a computare. Ma non ddue hat bisonzu de calculare totu sos termines finas a su e binti po ischire cantu si alet:
su valore suu est 10946. E gasi non depimus calculare cantu est su valore de su chimbantesimu termine e de su barantanoesimu po nde faer su rapportu: issu alet 1.618033989 , chi est unu numeru de importu in matematica e si narat setzione de oro.
Una espressione podet esser inputada in Mathematica in varias lineas, ma solu si Mathematica podet cumprender chi s'inputu in d'una linea no est finidu. Po esempiu si podet inputare:
3*
4
12
Ma nono
3
*4
3
Syntax::sntxb: Expression cannot begin with "*4".
Su trubullu si evitat impreande sas parentis:
(3
*4)
12
In su fozu de triballu, (Notebook), si poden inputare medas lineas, Mathematica ddas valutat solu cando s'ordine Shift+Enter enit issu puru inputadu. Si poden puru, riga a riga, o cando agradat, o cando ddu est su bisonzu, intrare in mesu cumentos e notas personales, si narat a documentare su triballu, bastat chi custa documentatzione siat iscritta intro de parentis tundas e istedditos: (*custu est unu cummentu*):
D[Sin[x],(*su diferenziale de Sin[x]*)
{x,1}] (*cun respectu a x, una orta*)
Cos[x]
Expand[(a+b) (a-b) (*unu produttu notevole*)]
2 2
a - b
1.5
Sa die de sa festa de Santu Juanne, in bidda, hamus fattu su fogu! Fudi mannu meda e totu sa zente si firmiat a l'abaidare. A perras de manzanu, su fogu, haiat incominzadu a miminare fintzas a cantu est addurada solu sa chisina. Deo e un amigu meu l'hamos brincadu e hamos fattu unu zuramentu: da e cussa die semus diventados compare e comare. Cappai I.
A s'internu. E cale est sa forma de sa rapresentatzione interna de una espressione.
Cando unu faet unu calculu aritmeticu semplice comente podet esser 1+2*3 non ponet tantu advertentzia a comente Mathematica si apresentat a s'internu suu sos datos po podet torrare unu resultadu. Ma est semper faina de importu a esser capatzos de ischire cale est sa rapresentatzione interna de onni espressione; ischire custu fattu nos podet esser de azudu po amanipulare unu numeru mannu de espressiones cun siguresa e lestresa. Mathematica riunit inparis sos ogettos cun sos cales operat in tipos diferentes de datos.
Sos numeros intreos funi distintos de sos numeros reales. Sas listas funi distintas de sos numeros. Una arresone de custu fattu est ca servit a identificare sos tipos de datos po impreare algoritmos ispecializados po faer contos lestros a segunda de sas classes de otzetos leadas in cunsideru.
Sa funtzione Head si impreat po identificare sos tipos de datos. Po numeros semplices issa iscoviat si unu numeru est intreu, ratzionale,reale e a gasi a sighire:
{Head[7],Head[3/4],Head[.7],Head[1+I]}
{Integer, Rational, Real, Complex}
Difattis onni espressione matematica hat unu Head chi nos tenet informados de su tipu suu:
Head[a+b]
Plus
Head[{1,2,3}]
List
Sa rapresentatzione interna de s'espressione nos benit dada impreande FullForm. Po esempiu sa espressione a*b benit imagasinada in sa forma:
FullForm[a*b]
Times[a, b]
FullForm[{1,2,3}]
List[1, 2, 3]
Si depet notare chi s'operadore binariu a*b est aberu rapresentadu a s'internu in forma funtzionale usande sa funtzione pre-parada Times. Issa moltiplicat sos argumentos suos:
Times[2,3,4]
24
Cando si tratat de espressione cun imbolighinzos mannos sa rapresentatzione interna no est fatzile de detzifrare:
FullForm[x^3+a x^2+b x+c==0]
Equal[Plus[c, Times[b, x], Times[a, Power[x, 2]],
Power[x, 3]], 0]
In finis su chi est de importu est a s'arregordare chi onni espressione podet esser usada e inputada in sintassi funtzionale. Sa forma istandard in sa cale si inputan sas espressiones, inue s'operadore cumparit in tra sos operandos, est zustu una manera prus discanzosa po iscrier aplicatziones. Esistin formas prefissas, infissas e postfissas.
1.6
Forma postfissa. Comente hamus bistu deinantis, onni funtzione in Mathematica podet esser iscritta in sa forma Head[arg1,arg2,arg3...argn]. In manera occasionale si podet agatare cumbeniente a impreare ateruna forma connota comente postfix form. A su postu de iscrier s'espressione f[expr] iscridimus expr//f. Po esempiu:
x^5-1//Factor
2 3 4
(-1 + x) (1 + x + x + x + x )
Factor[x^5-1]
2 3 4
(-1 + x) (1 + x + x + x + x )
Ma podet capitare, triballande po computos o cun programmas, a faer atopos cun irballios de tipos varios, calincunos maduros e ateros fines, medas discanzosos a curretzer e ateros po sos cales non s'agatat versu. Po esempiu si podet intrare in d'unu ciclu infinidu, e in custa evenientzia si no hais s'eternidade a dispositziones bostras s'unica cosa de faer est a firmare su computu. Discutimus in custa setzione de cuddas situatzione inue Mathematica finit unu contu e mancari sos contos non torran.
Unu errore frecuente est cussu de irballiare iscriende su numene de una funtzione. Faimus bier calincunu de custos tipos de trobeddaduras;
Sine[Pi]
General::spell:
Possible spelling error: new symbol name "Sine"
is similar to existing symbols {Line, Sin, Sinh}.
Sine[Pi]
Plote[Sin[x],{x,0,Pi}];
General::spell1:
Possible spelling error: new symbol name "Plote"
is similar to existing symbol "Plot".
Cando inputas una funtzione e su numen s'assimbizat a un'ateru, su programma inprentat una nova de errore. Inantis Mathematica hat torradu sas espressiones invalutadas. Fintzas a cando issu no hat a ischire e ite cherrer narrer Sine, torrat s'espressione chi ddu cuntenit sena dda computare. In custas evenientzias semplitzes est bastante a curretzer sa causa de s'errore, est a narrer digitande in manera curretta su numen de sa funtzione seberada.
Ateras bortas Mathematica faddit sos contos. Ma tenet semper risorsas mannas :
N[Integrate[1/x,{x,10^(-10),10^1}],10]
25.32843602
N[Integrate[1/x,{x,.1,1}]]
2.30259
1.7
Cando fui pitzinna happo semper amadu sos caddos, ma mama e babu no m'hana mai azuadu a m'imparare a setzer. So istada faghinde fintzas chi bi so' resultada. M'happo chilcadu unu caddu e happo imparadu. So' essida a sa festa de Nostra Sennora de Corte, happo preparadu su caddu in domo, e prima de ch'essire mama m'hat dadu a bufare unu ticcu de abba, e s'atera che l'hat bettada in conca a su caddu.
A mie non piaghen custas cosas e cando happo cumpresu chi fudi sa meighina de s'oggiu mi so' arrennegada meda, e mi piaghet ancora a sezzer a caddu. Sechi A.F
Preigados. A prus de esser bonos a ischire su tipu de datos cun sos cales cherimus triballare medas bortas nos presentat su problema de detzider si sos datos nostros passan talunos criterios. Unu preigadu est una funtzione chi torrat unu valore, beru (True) o fartzu (False) in dipendentzia de su fattu chi sos argumentos suos sian abiles a passare unu test. Po faer unu esempiu, su preigadu PrimeQ testat unu numeru cun riguardu a esser issu primu: amentamus chi unu numeru intreu est primu si sos divisores suos funi issu e totu e s'unidade:
PrimeQ[126]
False
PrimeQ[2^31-1]
True
Ateros preigados tenen riguardu si unu numeru est paris, disparis, o si un'imparis de numeros est istruturadu in matrice o si est solu una lista e gasi a sighire:
{OddQ[21],EvenQ[21],MatrixQ[21],ListQ[{21}]}
{True, False, False, True}
1.8
Operadores logicos e relatzionales.Unu operadore relatzionale benit usadu po cunfrontare duas espressiones e torrat unu valore True o False. Sos operadores relatzionales funi: Equal(==),Unequal(!=),Greater(>),Less( =) e LessEqual(<=). Sos numenes inglesos funi sos numenes de sas funtziones e sos sinnos in parentis sa notatzione infissa issoro. Cheren narrer e si lezzen eguale, diversu, majore, minore, majore o uguale e minore o uguale. Si imprean po ponner numeros a cunfrontu:
7<5
False
3==7-4
True
Equal[3,7-4,6/2]
True
Si depet ponner attentzione a su fattu chi sos operadores relatzionale no tenen precedentzia a respectu de sos operadores aritmeticos. E tando 3==7-4 enit interpretadu gosie 3==(7-4) e non (3==7)-4.
Sos operadores logicos, connotos comente operadores booleanos cumponen frases de su discursu, propositziones, de sas cales siat possibile chena farta narrer si issa funi beras o fartzas. Funi operadores binarios e torran beru o fartzu cales resultadu de su cumpostu basadu susu una aritmetica po s'appuntu booleana. Po esempiu, sa congiuntzione intra duos custructos beros est semper bera:
7>1&&10>2
True
S'operadore booleanu And est rapresentadu cun &&. Una taula pitagorica, una tabellina de And est sa chi sighit:
TableForm[
{{True&&True,True&&False},
{False&&True,False&&False}},
TableHeadings->{{T,F},{T,F}}]
T F
T True False
F False False
Su operadore logicu Or si rapresentat cun || (sas barras verticales) : presentamus esempios de s'impreu suu e posca sas tabellinas.
4==3||3==6/2
True
0==0||3==5
True
TableForm[
{{True||True,True||False},
{False||True,False||False}},
TableHeadings->{{T,F},{T,F}}]
T F
T True True
F True False
Si ponzat attentzione a sa diferentzia de sinnificadu intra o de su limbazu comunu e o chi rendet Or operadore booleanu. Una frase cale podet esser "est frittu o est callente" impreat o in sensu esclusivu, est a narrer chi escludit sa possibilidade chi unu ogettu siat in su matessi tempus frittu e callente. Su operadore logicu Or est usadu in sensu inclusivu, e cheret narrer chi si A est beru e B est beru issu puru,tando A||B est beru.
True||True
True
S'agatat unu operadore booleanu chi rendet su o esclusivu, si narat Xor, ma non tenet indipendentzia ca podet esser esprimidu in termines de negatzione, Not(!) de Or e de And: Xor=(x||y)&&!(x&&y) e cheret narrer tando o s'una o s'atera ma no totu de duas.
TableForm[
{{(True||True)&&!(True&&True),
(True||False)&&!(True&&False)},
{(False||True)&&!(False&&True),
(False||False)&&!(False&&False)}},
TableHeadings->{{T,F},{T,F}}]
T F
T False True
F True False
Ateros duos operadores funi s'implicatzione materiale, x implicat y, e sa coimplicatzione, si est x tando est y.
x implicat y si rendet in termines de Not, Or e And in custa manera: !x||y e sa coimplicatzione in cust'atera.(!x||y)&&(!y||x). Su lettore attentu e interessadu hat a tenner contivitzu de si faer sos contos po contu suu. Custa est sa tabellina de sa implicatzione materiale:
TableForm[
{{!True||True,!True||False},
{!False||True,!False||False}},
TableHeadings->{{T,F},{T,F}}]
T F
T True False
F True True
E custa de sa doppia implicatzione:
TableForm[
{{(!True||True)&&(True||!True),
(!True||False)&&(True||!False)},
{(!False||True)&&(False||!True),
(!False||False)&&(False||!False)}},
TableHeadings->{{T,F},{T,F}}]
T F
T True False
F False True
1.9
In sa idda mia sa passione po sos caddos b'est semper istada. In totus, o cuasi, sas festas nois faghimos sas protzessiones a caddu. Bos potzo narrer de Santa Maria de Sauccu ma s'istoria est longa meda. Tando, fintzas ca semus in tempus sou, bos conto totu s'istoria de sas pariglias de carrasegare in bidda.
Prima, calchi deg'annos faghet las faghian d'onz'annu. Ma de cando si cche sun mortos sos chi las faghian semper, sa traditzione s'est perdida. Si non fidi istadu po sos tzovanos chi tenen passione, l'haimis perdida de su totu. Dae s'annu passadu l'han torrada a leare mancari no bi sian bonos.
Ocannu gai e totu, han isterridu s'istrada a rena e po tres dies curren a pariglia. Sa zente chi b'est acudida totu cuntenta, hat bantadu meda sos curridores comente esseran cadderis de Siena. No est gai, ma su solu antu chi mi potho permitere de li dare est cussu chi han torradu a leare custa traditzione e chi hana imbentadu carchi cosa po fagher biu su carrasegare.
Lu naro fintzas si a mie sos caddos non mi sun mai piaghidos, ca los timo a frea. Pittitu R.
Arrastos. Cando s'iscriet unu programma non semper totu andat po su versu suu, una funtzione enit impreada meda po sighire arrastu de irballios, issa si narat Trace e amustrat una lista de totu sos passos postos computande un'espressione. Usamus Trace in su computu de un'espressione numerica:
Trace[(7*(3+1))/2]
1 1 7 4 4 7
{{3 + 1, 1 + 3, 4}, {-, -}, ---, ---, 14}
2 2 2 2
Nudda de su chi faet sa machina est diferente meda de comente s'irboligat unu contu a pinna e paperi: a prima si calculat 3+1, su resultadu enit moltiplicadu po sette e posca si dividit po duos: su resultadu finale est 14. Su calculadore sighit sa matessi logica chi s'imparat in ischola.
Una funtzione simbitzante meda a Trace est TracePrint, e carchi orta sas arrespostas suas resultan prus craras:
TracePrint[(7*(3+1))/2]
7 (3 + 1)
---------
2
Times
7
3 + 1
Plus
3
1
1 + 3
4
1
-
2
Power
2
-1
1
-
2
Rational
1
2
7 4
---
2
4 7
---
2
14
14
1.10
Cantu lestresa. Unu poder haer disizu de ischire in cantu tempus si faet unu contu, e sa cosa podet esser fatta cun sa funtzione Timing. Ponimus de cherrer ischire in cantu tempus unu numeru mannu enit fattorizadu, po narrer chentu fattoriale: 100!
Timing[FactorInteger[100!];]
{0. Second, Null}
Unu faer de rughe! Cando unu computu est istadu giai fattu, su tempus sinnaladu est cussu chi enit impreadu a letzer sos registros de memoria. Su programma no irmentigat mai nudda.
Timing[FactorInteger[100!];]
{0. Second, Null}
Timing est una aliaga po ischire cantu lestra est una funtzione o unu algoritmu. Est cosa pacifica chi a fattorizare sos numeros est unu protzessu chi arrechedit tempus meda, e custu aumentat in manera esponentziale a manu a manu chi sos numeros creschen de valore. Amustramus ite sutzedit realmente, e nde pesamus unu graficu:
tempusimpreadu:=
Table[
Timing[
FactorInteger[(100 j)!]][[1]],{j,1,15}]
ListPlot[
tempusimpreadu/Second,
PlotStyle->PointSize[0.02]];
Unu graficu de su logaritmu de sos elementos de sa lista tempusimpreadu est lineare, e custa circustantzia cunfirmat s'andamentu esponentziale de s'algoritmu de fattorizatzione.
1.11
Atributos.Totu sas funtziones in Mathematica tenen talunas propriedades, chi si mutin atributos. Custos faen si chi una funtzione siat comutativa o associativa o dda poden abilitare a esser aplicada a una lista. Attributes si impreat po custu iscopu;
Attributes[Times]
{Flat, Listable, OneIdentity, Orderless, Protected}
Flat narat chi sa moltiplicatzione est associativa. Cheret narrer chi leados tre elementos de moltiplicare, su productu de sos primos duos enit moltiplicadu po su tertzu. In matematica si iscriet a*(b*c)==(a*b)*c po cale si siat tertzina de numeros. In Mathematica custu fattu si esprimet iscriende Times[a,Times[b,c]] est ecuivalente a Times[Times[a,b],c] chi resultan ecuivalentes a Times[a,b,c].
Times[(a*b)*c]
a b c
Provade mancari a indagare cun Plus.
Orderless indicat chi sa funtzione est comutativa. Cheret narrer chi a+b==b+a.
Sa moltiplica puru comutat. Custu fattu imponet a iscrier custas espressiones in forma canonica:
b+c+a
a + b + c
S'ordine canonicu cando si chistionat de literas est alfabeticu. Sos polinomios enin ordinados in forma canonica cun respectu a su gradu e in ordine creschente:
x^2+x^5+x-1
2 5
-1 + x + x + x
S'atributu Protected est una avertentzia e cheret narrer chi sas funtziones pre-paradas non poden esser cambiadas in manera sinnificativa a volontade de s'utente.
OneIdentity narat chi sas funtziones chi godin de custu atributu mancari aplicadas tantas bortas a sos matessi argumentos operan una orta solu.
Listable cheret narrer chi sa funtzione podet esser aplicada a una lista de cosas de matematica, numeros po esempiu.
FullForm[Plus[Plus[Plus[a+b]]]]
Plus[a, b]
Log[{1,2,3,4}]
{0, Log[2], Log[3], Log[4]}
N[Log[{1,2,3,4}]]
{0, 0.693147, 1.09861, 1.38629}
Po una discussione in fine de su sinnificadu de totu custas cosas, e de tantos ateros atributos ancora, si depet cunsultare su manuale.
No est a sa moda chi si cambien sos atributos de sas funtziones. Ma si propriu non si nde podet faer de mancu, tando SetAttributes nos podet azuare, ma ddu hais a penzare susu tantas bortas prima.
home