1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227 |
- Codemist Standard Lisp 3.54 for DEC Alpha: May 23 1994
- Dump file created: Mon May 23 10:39:11 1994
- REDUCE 3.5, 15-Oct-93 ...
- Memory allocation: 6023424 bytes
- +++ About to read file ndotest.red
- % Tests of eigenfunction/eigenvalue code.
- v := mat((1,1,-1,1,0),(1,2,-1,0,1),(-1,2,3,-1,0),
- (1,-2,1,2,-1),(2,1,-1,3,0))$
- mateigen(v,et);
- {{et - 2,
- 1,
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [arbcomplex(1)]
- [ ]
- [arbcomplex(1)]
- [ ]
- [arbcomplex(1)]
- },
- 4 3 2
- {et - 6*et + 13*et + 5*et - 5,
- 1,
- [ 5*arbcomplex(2)*(et - 2) ]
- [ ---------------------------- ]
- [ 3 2 ]
- [ 2*et - 10*et + 23*et + 5 ]
- [ ]
- [ 2 ]
- [ arbcomplex(2)*et*( - et + 6*et - 8) ]
- [--------------------------------------]
- [ 3 2 ]
- [ 2*et - 10*et + 23*et + 5 ]
- [ ]
- [ arbcomplex(2)*et*( - 3*et + 7) ]
- [ -------------------------------- ]
- [ 3 2 ]
- [ 2*et - 10*et + 23*et + 5 ]
- [ ]
- [ 3 2 ]
- [ arbcomplex(2)*(et - 4*et + 10) ]
- [ ---------------------------------- ]
- [ 3 2 ]
- [ 2*et - 10*et + 23*et + 5 ]
- [ ]
- [ arbcomplex(2) ]
- }}
- eigv := third first ws$
- % Now check if the equation for the eigenvectors is fulfilled. Note
- % that also the last component is zero due to the eigenvalue equation.
- v*eigv-et*eigv;
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [arbcomplex(1)*( - et + 2)]
- [ ]
- [arbcomplex(1)*( - et + 2)]
- [ ]
- [arbcomplex(1)*( - et + 2)]
- % Example of degenerate eigenvalues.
- u := mat((2,-1,1),(0,1,1),(-1,1,1))$
- mateigen(u,eta);
- {{eta - 1,2,
- [arbcomplex(3)]
- [ ]
- [arbcomplex(3)]
- [ ]
- [ 0 ]
- },
- {eta - 2,1,
- [ 0 ]
- [ ]
- [arbcomplex(4)]
- [ ]
- [arbcomplex(4)]
- }}
- % Example of a fourfold degenerate eigenvalue with two corresponding
- % eigenvectors.
- w := mat((1,-1,1,-1),(-3,3,-5,4),(8,-4,3,-4),
- (15,-10,11,-11))$
- mateigen(w,al);
- {{al + 1,
- 4,
- [ arbcomplex(5) ]
- [ --------------- ]
- [ 5 ]
- [ ]
- [ - 5*arbcomplex(6) + 7*arbcomplex(5) ]
- [--------------------------------------]
- [ 5 ]
- [ ]
- [ arbcomplex(5) ]
- [ ]
- [ arbcomplex(6) ]
- }}
- eigw := third first ws;
- [ arbcomplex(5) ]
- [ --------------- ]
- [ 5 ]
- [ ]
- [ - 5*arbcomplex(6) + 7*arbcomplex(5) ]
- eigw := [--------------------------------------]
- [ 5 ]
- [ ]
- [ arbcomplex(5) ]
- [ ]
- [ arbcomplex(6) ]
- w*eigw - al*eigw;
- - arbcomplex(5)*(al + 1)
- mat((---------------------------),
- 5
- ((5*arbcomplex(6)*al + 5*arbcomplex(6) - 7*arbcomplex(5)*al
- - 7*arbcomplex(5))/5),
- ( - arbcomplex(5)*(al + 1)),
- ( - arbcomplex(6)*(al + 1)))
- % Calculate the eigenvectors and eigenvalue equation.
- f := mat((0,ex,ey,ez),(-ex,0,bz,-by),(-ey,-bz,0,bx),
- (-ez,by,-bx,0))$
- factor om;
- mateigen(f,om);
- 4 2 2 2 2 2 2 2 2 2
- {{om + om *(bx + by + bz + ex + ey + ez ) + bx *ex
- 2 2
- + 2*bx*by*ex*ey + 2*bx*bz*ex*ez + by *ey + 2*by*bz*ey*ez
- 2 2
- + bz *ez ,
- 1,
- 2
- mat(((om *arbcomplex(7)*ez + om*arbcomplex(7)*(bx*ey - by*ex)
- 3
- + arbcomplex(7)*bz*(bx*ex + by*ey + bz*ez))/(om
- 2 2 2
- + om*(bz + ex + ey ))),
- 2
- (( - om *arbcomplex(7)*by + om*arbcomplex(7)*(bx*bz - ex*ez)
- 3
- - arbcomplex(7)*ey*(bx*ex + by*ey + bz*ez))/(om
- 2 2 2
- + om*(bz + ex + ey ))),
- 2
- ((om *arbcomplex(7)*bx + om*arbcomplex(7)*(by*bz - ey*ez)
- 3
- + arbcomplex(7)*ex*(bx*ex + by*ey + bz*ez))/(om
- 2 2 2
- + om*(bz + ex + ey ))),
- (arbcomplex(7)))
- }}
- % Specialize to perpendicular electric and magnetic field.
- let ez=0,ex=0,by=0;
- % Note that we find two eigenvectors to the double eigenvalue 0
- % (as it must be).
- mateigen(f,om);
- {{om,
- 2,
- [ arbcomplex(9)*bx - arbcomplex(8)*bz ]
- [-------------------------------------]
- [ ey ]
- [ ]
- [ arbcomplex(8) ]
- [ ]
- [ 0 ]
- [ ]
- [ arbcomplex(9) ]
- },
- 2 2 2 2
- {om + bx + bz + ey ,
- 1,
- [ - arbcomplex(10)*ey ]
- [ ---------------------- ]
- [ bx ]
- [ ]
- [ - arbcomplex(10)*bz ]
- [ ---------------------- ]
- [ bx ]
- [ ]
- [ 2 2 2 ]
- [ arbcomplex(10)*(bx + bz + ey ) ]
- [----------------------------------]
- [ om*bx ]
- [ ]
- [ arbcomplex(10) ]
- }}
- % The following has 1 as a double eigenvalue. The corresponding
- % eigenvector must involve two arbitrary constants.
- j := mat((9/8,1/4,-sqrt(3)/8),
- (1/4,3/2,-sqrt(3)/4),
- (-sqrt(3)/8,-sqrt(3)/4,11/8));
- [ 9 1 - sqrt(3) ]
- [ --- --- ------------]
- [ 8 4 8 ]
- [ ]
- [ 1 3 - sqrt(3) ]
- j := [ --- --- ------------]
- [ 4 2 4 ]
- [ ]
- [ - sqrt(3) - sqrt(3) 11 ]
- [------------ ------------ ---- ]
- [ 8 4 8 ]
- mateigen(j,x);
- {{x - 1,
- 2,
- [sqrt(3)*arbcomplex(12) - 2*arbcomplex(11)]
- [ ]
- [ arbcomplex(11) ]
- [ ]
- [ arbcomplex(12) ]
- },
- {x - 2,
- 1,
- [ - sqrt(3)*arbcomplex(13) ]
- [ --------------------------- ]
- [ 3 ]
- [ ]
- [ - 2*sqrt(3)*arbcomplex(13) ]
- [-----------------------------]
- [ 3 ]
- [ ]
- [ arbcomplex(13) ]
- }}
- % The following is a good consistency check.
- sym := mat(
- (0, 1/2, 1/(2*sqrt(2)), 0, 0),
- (1/2, 0, 1/(2*sqrt(2)), 0, 0),
- (1/(2*sqrt(2)), 1/(2*sqrt(2)), 0, 1/2, 1/2),
- (0, 0, 1/2, 0, 0),
- (0, 0, 1/2, 0, 0))$
- ans := mateigen(sym,eta);
- ans := {{eta,
- 1,
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ - arbcomplex(14)]
- [ ]
- [ arbcomplex(14) ]
- },
- {eta - 1,
- 1,
- [ 2*arbcomplex(15) ]
- [------------------]
- [ sqrt(2) ]
- [ ]
- [ 2*arbcomplex(15) ]
- [------------------]
- [ sqrt(2) ]
- [ ]
- [ 2*arbcomplex(15) ]
- [ ]
- [ arbcomplex(15) ]
- [ ]
- [ arbcomplex(15) ]
- },
- {2*eta + 1,
- 1,
- [ - arbcomplex(16)]
- [ ]
- [ arbcomplex(16) ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- },
- 2
- {4*eta + 2*eta - 1,
- 1,
- [ - arbcomplex(17) ]
- [ ------------------- ]
- [ 2*sqrt(2)*eta ]
- [ ]
- [ - arbcomplex(17) ]
- [ ------------------- ]
- [ 2*sqrt(2)*eta ]
- [ ]
- [ arbcomplex(17)*( - 2*eta + 1) ]
- [-------------------------------]
- [ 2*eta ]
- [ ]
- [ arbcomplex(17) ]
- [ ]
- [ arbcomplex(17) ]
- }}
- % Check of correctness for this example.
- for each j in ans do
- for each k in solve(first j,eta) do
- write sub(k,sym*third j - eta*third j);
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- % Tests of nullspace operator.
- a1 := mat((1,2,3,4),(5,6,7,8));
- [1 2 3 4]
- a1 := [ ]
- [5 6 7 8]
- nullspace a1;
- {
- [ 1 ]
- [ ]
- [ 0 ]
- [ ]
- [ - 3]
- [ ]
- [ 2 ]
- ,
- [ 0 ]
- [ ]
- [ 1 ]
- [ ]
- [ - 2]
- [ ]
- [ 1 ]
- }
-
- b1 := {{1,2,3,4},{5,6,7,8}};
- b1 := {{1,2,3,4},{5,6,7,8}}
- nullspace b1;
- {{1,0,-3,2},{0,1,-2,1}}
- % Example taken from a bug report for another CA system.
- c1 :=
- {{(p1**2*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2),
- -((p1**2*p2*(s + z))/(p1**2 + p3**2)), p1*(s + z),
- -((p1*p2*p3*(s + z))/(p1**2 + p3**2)),
- -((p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)), 0,
- (p1**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)},
- {0, 0, 0, 0, 0, 0, 0, 0, 0},
- {(p1*p3*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2), 0,
- (p3**2*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2),
- -((p1*p2*p3*(s + z))/(p1**2 + p3**2)), p3*(s + z),
- -((p2*p3**2*(s + z))/(p1**2 + p3**2)),
- -((p3**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)},
- {-((p1**2*p2*(s + z))/(p1**2 + p3**2)), 0,
- -((p1*p2*p3*(s + z))/(p1**2 + p3**2)),
- -((p1**2*p2**2*(s + 2*z))/((p1**2 + p3**2)*z)), (p1*p2*(s + 2*z))/z,
- -((p1*p2**2*p3*(s + 2*z))/((p1**2 + p3**2)*z)),
- -((p1*p2*p3*z)/(p1**2 + p3**2)), 0, (p1**2*p2*z)/(p1**2 + p3**2)},
- {p1*(s + z), 0, p3*(s + z), (p1*p2*(s + 2*z))/z,
- -(((p1**2+p3**2)*(s+ 2*z))/z), (p2*p3*(s + 2*z))/z, p3*z,0, -(p1*z)},
- {-((p1*p2*p3*(s + z))/(p1**2 + p3**2)), 0,
- -((p2*p3**2*(s + z))/(p1**2 + p3**2)),
- -((p1*p2**2*p3*(s + 2*z))/((p1**2 + p3**2)*z)), (p2*p3*(s + 2*z))/z,
- -((p2**2*p3**2*(s + 2*z))/((p1**2 + p3**2)*z)),
- -((p2*p3**2*z)/(p1**2 + p3**2)), 0, (p1*p2*p3*z)/(p1**2 + p3**2)},
- {-((p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)), 0,
- -((p3**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)),
- -((p1*p2*p3*z)/(p1**2 + p3**2)),p3*z,-((p2*p3**2*z)/(p1**2 + p3**2)),
- -((p3**2*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z))), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z))},
- {0, 0, 0, 0, 0, 0, 0, 0, 0},
- {(p1**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2),
- (p1**2*p2*z)/(p1**2 + p3**2), -(p1*z), (p1*p2*p3*z)/(p1**2 + p3**2),
- (p1*p3*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z)), 0,
- -((p1**2*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z)))}};
- 2 2 2 2 2
- p1 *(p1 + p2 + p3 - s*z - z )
- c1 := {{----------------------------------,
- 2 2
- p1 + p3
- 0,
- 2 2 2 2
- p1*p3*(p1 + p2 + p3 - s*z - z )
- ------------------------------------,
- 2 2
- p1 + p3
- 2
- - p1 *p2*(s + z)
- -------------------,
- 2 2
- p1 + p3
- p1*(s + z),
- - p1*p2*p3*(s + z)
- ---------------------,
- 2 2
- p1 + p3
- 2 2 2
- - p1*p3*(p1 + p2 + p3 )
- ----------------------------,
- 2 2
- p1 + p3
- 0,
- 2 2 2 2
- p1 *(p1 + p2 + p3 )
- -----------------------},
- 2 2
- p1 + p3
- {0,0,0,0,0,0,0,0,0},
- 2 2 2 2
- p1*p3*(p1 + p2 + p3 - s*z - z )
- {------------------------------------,
- 2 2
- p1 + p3
- 0,
- 2 2 2 2 2
- p3 *(p1 + p2 + p3 - s*z - z )
- ----------------------------------,
- 2 2
- p1 + p3
- - p1*p2*p3*(s + z)
- ---------------------,
- 2 2
- p1 + p3
- p3*(s + z),
- 2
- - p2*p3 *(s + z)
- -------------------,
- 2 2
- p1 + p3
- 2 2 2 2
- - p3 *(p1 + p2 + p3 )
- --------------------------,
- 2 2
- p1 + p3
- 0,
- 2 2 2
- p1*p3*(p1 + p2 + p3 )
- -------------------------},
- 2 2
- p1 + p3
- 2
- - p1 *p2*(s + z)
- {-------------------,
- 2 2
- p1 + p3
- 0,
- - p1*p2*p3*(s + z)
- ---------------------,
- 2 2
- p1 + p3
- 2 2
- p1 *p2 *( - s - 2*z)
- ----------------------,
- 2 2
- z*(p1 + p3 )
- p1*p2*(s + 2*z)
- -----------------,
- z
- 2
- p1*p2 *p3*( - s - 2*z)
- ------------------------,
- 2 2
- z*(p1 + p3 )
- - p1*p2*p3*z
- ---------------,
- 2 2
- p1 + p3
- 0,
- 2
- p1 *p2*z
- -----------},
- 2 2
- p1 + p3
- {p1*(s + z),
- 0,
- p3*(s + z),
- p1*p2*(s + 2*z)
- -----------------,
- z
- 2 2 2 2
- - p1 *s - 2*p1 *z - p3 *s - 2*p3 *z
- --------------------------------------,
- z
- p2*p3*(s + 2*z)
- -----------------,
- z
- p3*z,
- 0,
- - p1*z},
- - p1*p2*p3*(s + z)
- {---------------------,
- 2 2
- p1 + p3
- 0,
- 2
- - p2*p3 *(s + z)
- -------------------,
- 2 2
- p1 + p3
- 2
- p1*p2 *p3*( - s - 2*z)
- ------------------------,
- 2 2
- z*(p1 + p3 )
- p2*p3*(s + 2*z)
- -----------------,
- z
- 2 2
- p2 *p3 *( - s - 2*z)
- ----------------------,
- 2 2
- z*(p1 + p3 )
- 2
- - p2*p3 *z
- -------------,
- 2 2
- p1 + p3
- 0,
- p1*p2*p3*z
- ------------},
- 2 2
- p1 + p3
- 2 2 2
- - p1*p3*(p1 + p2 + p3 )
- {----------------------------,
- 2 2
- p1 + p3
- 0,
- 2 2 2 2
- - p3 *(p1 + p2 + p3 )
- --------------------------,
- 2 2
- p1 + p3
- - p1*p2*p3*z
- ---------------,
- 2 2
- p1 + p3
- p3*z,
- 2
- - p2*p3 *z
- -------------,
- 2 2
- p1 + p3
- 2 2 2 2
- - p3 *z*(p1 + p2 + p3 )
- -------------------------------,
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- 0,
- 2 2 2
- p1*p3*z*(p1 + p2 + p3 )
- -------------------------------},
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- {0,0,0,0,0,0,0,0,0},
- 2 2 2 2
- p1 *(p1 + p2 + p3 )
- {-----------------------,
- 2 2
- p1 + p3
- 0,
- 2 2 2
- p1*p3*(p1 + p2 + p3 )
- -------------------------,
- 2 2
- p1 + p3
- 2
- p1 *p2*z
- -----------,
- 2 2
- p1 + p3
- - p1*z,
- p1*p2*p3*z
- ------------,
- 2 2
- p1 + p3
- 2 2 2
- p1*p3*z*(p1 + p2 + p3 )
- -------------------------------,
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- 0,
- 2 2 2 2
- - p1 *z*(p1 + p2 + p3 )
- -------------------------------}}
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- nullspace c1;
- - p1
- {{1,0,-------,0,0,0,0,0,0},
- p3
- {0,1,0,0,0,0,0,0,0},
- - p1
- {0,0,0,1,0,-------,0,0,0},
- p3
- 2 2
- p1 + p3
- {0,0,0,0,1,-----------,0,0,0},
- p2*p3
- p3
- {0,0,0,0,0,0,1,0,----},
- p1
- {0,0,0,0,0,0,0,1,0}}
-
- d1 := mat
- (((p1**2*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2),
- -((p1**2*p2*(s + z))/(p1**2 + p3**2)), p1*(s + z),
- -((p1*p2*p3*(s + z))/(p1**2 + p3**2)),
- -((p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)), 0,
- (p1**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)),
- (0, 0, 0, 0, 0, 0, 0, 0, 0),
- ((p1*p3*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2), 0,
- (p3**2*(p1**2 + p2**2 + p3**2 - s*z - z**2))/(p1**2 + p3**2),
- -((p1*p2*p3*(s + z))/(p1**2 + p3**2)), p3*(s + z),
- -((p2*p3**2*(s + z))/(p1**2 + p3**2)),
- -((p3**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)),
- ( ((p1**2*p2*(s + z))/(p1**2 + p3**2)), 0,
- -((p1*p2*p3*(s + z))/(p1**2 + p3**2)),
- -((p1**2*p2**2*(s + 2*z))/((p1**2 + p3**2)*z)), (p1*p2*(s + 2*z))/z,
- -((p1*p2**2*p3*(s + 2*z))/((p1**2 + p3**2)*z)),
- -((p1*p2*p3*z)/(p1**2 + p3**2)), 0, (p1**2*p2*z)/(p1**2 + p3**2)),
- (p1*(s + z), 0, p3*(s + z), (p1*p2*(s + 2*z))/z,
- -(((p1**2 + p3**2)*(s + 2*z))/z),(p2*p3*(s + 2*z))/z,p3*z,0,-(p1*z)),
- (-((p1*p2*p3*(s + z))/(p1**2 + p3**2)), 0,
- -((p2*p3**2*(s + z))/(p1**2 + p3**2)),
- -((p1*p2**2*p3*(s + 2*z))/((p1**2 + p3**2)*z)), (p2*p3*(s + 2*z))/z,
- -((p2**2*p3**2*(s + 2*z))/((p1**2 + p3**2)*z)),
- -((p2*p3**2*z)/(p1**2 + p3**2)), 0, (p1*p2*p3*z)/(p1**2 + p3**2)),
- (-((p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)), 0,
- -((p3**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2)),
- -((p1*p2*p3*z)/(p1**2 + p3**2)),p3*z,-((p2*p3**2*z)/(p1**2 + p3**2)),
- -((p3**2*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z))), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z))),
- (0, 0, 0, 0, 0, 0, 0, 0, 0),
- ((p1**2*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2), 0,
- (p1*p3*(p1**2 + p2**2 + p3**2))/(p1**2 + p3**2),
- (p1**2*p2*z)/(p1**2 + p3**2), -(p1*z), (p1*p2*p3*z)/(p1**2 + p3**2),
- (p1*p3*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z)), 0,
- -((p1**2*(p1**2 + p2**2 + p3**2)*z)/((p1**2 + p3**2)*(s + z)))));
- 2 2 2 2 2
- p1 *(p1 + p2 + p3 - s*z - z )
- d1 := mat((----------------------------------,0,
- 2 2
- p1 + p3
- 2 2 2 2 2
- p1*p3*(p1 + p2 + p3 - s*z - z ) - p1 *p2*(s + z)
- ------------------------------------,-------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- - p1*p2*p3*(s + z)
- p1*(s + z),---------------------,
- 2 2
- p1 + p3
- 2 2 2 2 2 2 2
- - p1*p3*(p1 + p2 + p3 ) p1 *(p1 + p2 + p3 )
- ----------------------------,0,-----------------------),
- 2 2 2 2
- p1 + p3 p1 + p3
- (0,0,0,0,0,0,0,0,0),
- 2 2 2 2
- p1*p3*(p1 + p2 + p3 - s*z - z )
- (------------------------------------,0,
- 2 2
- p1 + p3
- 2 2 2 2 2
- p3 *(p1 + p2 + p3 - s*z - z ) - p1*p2*p3*(s + z)
- ----------------------------------,---------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2 2 2 2 2
- - p2*p3 *(s + z) - p3 *(p1 + p2 + p3 )
- p3*(s + z),-------------------,--------------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2 2 2
- p1*p3*(p1 + p2 + p3 )
- 0,-------------------------),
- 2 2
- p1 + p3
- 2
- p1 *p2*(s + z) - p1*p2*p3*(s + z)
- (----------------,0,---------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2 2
- p1 *p2 *( - s - 2*z) p1*p2*(s + 2*z)
- ----------------------,-----------------,
- 2 2 z
- z*(p1 + p3 )
- 2 2
- p1*p2 *p3*( - s - 2*z) - p1*p2*p3*z p1 *p2*z
- ------------------------,---------------,0,-----------),
- 2 2 2 2 2 2
- z*(p1 + p3 ) p1 + p3 p1 + p3
- p1*p2*(s + 2*z)
- (p1*(s + z),0,p3*(s + z),-----------------,
- z
- 2 2 2 2
- - p1 *s - 2*p1 *z - p3 *s - 2*p3 *z p2*p3*(s + 2*z)
- --------------------------------------,-----------------,
- z z
- p3*z,0, - p1*z),
- 2
- - p1*p2*p3*(s + z) - p2*p3 *(s + z)
- (---------------------,0,-------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2
- p1*p2 *p3*( - s - 2*z) p2*p3*(s + 2*z)
- ------------------------,-----------------,
- 2 2 z
- z*(p1 + p3 )
- 2 2 2
- p2 *p3 *( - s - 2*z) - p2*p3 *z p1*p2*p3*z
- ----------------------,-------------,0,------------),
- 2 2 2 2 2 2
- z*(p1 + p3 ) p1 + p3 p1 + p3
- 2 2 2 2 2 2 2
- - p1*p3*(p1 + p2 + p3 ) - p3 *(p1 + p2 + p3 )
- (----------------------------,0,--------------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2
- - p1*p2*p3*z - p2*p3 *z
- ---------------,p3*z,-------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2 2 2 2
- - p3 *z*(p1 + p2 + p3 )
- -------------------------------,0,
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- 2 2 2
- p1*p3*z*(p1 + p2 + p3 )
- -------------------------------),
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- (0,0,0,0,0,0,0,0,0),
- 2 2 2 2 2 2 2
- p1 *(p1 + p2 + p3 ) p1*p3*(p1 + p2 + p3 )
- (-----------------------,0,-------------------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2
- p1 *p2*z p1*p2*p3*z
- -----------, - p1*z,------------,
- 2 2 2 2
- p1 + p3 p1 + p3
- 2 2 2
- p1*p3*z*(p1 + p2 + p3 )
- -------------------------------,0,
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- 2 2 2 2
- - p1 *z*(p1 + p2 + p3 )
- -------------------------------))
- 2 2 2 2
- p1 *s + p1 *z + p3 *s + p3 *z
- nullspace d1;
- {
- [0]
- [ ]
- [1]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- ,
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 1 ]
- [ ]
- [ 0 ]
- [ ]
- [ - p1 ]
- [-------]
- [ p3 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- ,
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 1 ]
- [ ]
- [ 2 2 ]
- [ p1 + p3 ]
- [-----------]
- [ p2*p3 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- ,
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 0 ]
- [ ]
- [ 1 ]
- [ ]
- [ 0 ]
- [ ]
- [ p3 ]
- [----]
- [ p1 ]
- ,
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [1]
- [ ]
- [0]
- }
- % The following example, by Kenton Yee, was discussed extensively by
- % the sci.math.symbolic newsgroup.
- m := mat((e^(-1), e^(-1), e^(-1), e^(-1), e^(-1), e^(-1), e^(-1), 0),
- (1, 1, 1, 1, 1, 1, 0, 1),(1, 1, 1, 1, 1, 0, 1, 1),
- (1, 1, 1, 1, 0, 1, 1, 1),(1, 1, 1, 0, 1, 1, 1, 1),
- (1, 1, 0, 1, 1, 1, 1, 1),(1, 0, 1, 1, 1, 1, 1, 1),
- (0, e, e, e, e, e, e, e));
- [ 1 1 1 1 1 1 1 ]
- [--- --- --- --- --- --- --- 0]
- [ e e e e e e e ]
- [ ]
- [ 1 1 1 1 1 1 0 1]
- [ ]
- [ 1 1 1 1 1 0 1 1]
- [ ]
- m := [ 1 1 1 1 0 1 1 1]
- [ ]
- [ 1 1 1 0 1 1 1 1]
- [ ]
- [ 1 1 0 1 1 1 1 1]
- [ ]
- [ 1 0 1 1 1 1 1 1]
- [ ]
- [ 0 e e e e e e e]
- eig := mateigen(m,x);
- eig := {{x - 1,
- 3,
- [ 0 ]
- [ ]
- [ - arbcomplex(20)]
- [ ]
- [ - arbcomplex(19)]
- [ ]
- [ - arbcomplex(18)]
- [ ]
- [ arbcomplex(18) ]
- [ ]
- [ arbcomplex(19) ]
- [ ]
- [ arbcomplex(20) ]
- [ ]
- [ 0 ]
- },
- {x + 1,
- 3,
- arbcomplex(23)
- mat((----------------),
- e
- (arbcomplex(22)),
- (arbcomplex(21)),
- (( - arbcomplex(23)*e - arbcomplex(23)
- - 2*arbcomplex(22)*e - 2*arbcomplex(21)*e)/(2*e)),
- (( - arbcomplex(23)*e - arbcomplex(23)
- - 2*arbcomplex(22)*e - 2*arbcomplex(21)*e)/(2*e)),
- (arbcomplex(21)),
- (arbcomplex(22)),
- (arbcomplex(23)))
- },
- 2 2
- { - e *x + e*x - 6*e*x + 7*e - x,
- 1,
- 8 7 7 6
- mat(((6*arbcomplex(24)*(e *x + 23*e *x - 7*e + 179*e *x
- 6 5 5 4 4
- - 119*e + 565*e *x - 581*e + 768*e *x - 890*e
- 3 3 2 2
- + 565*e *x - 581*e + 179*e *x - 119*e + 23*e*x
- 3 8 7 7 6
- - 7*e + x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- 9 8 8 7
- ((arbcomplex(24)*(e *x + 29*e *x - 7*e + 310*e *x
- 7 6 6 5
- - 161*e + 1520*e *x - 1246*e + 3577*e *x
- 5 4 4 3
- - 3836*e + 4283*e *x - 4795*e + 2988*e *x
- 3 2 2
- - 3065*e + 978*e *x - 672*e + 132*e*x - 42*e
- 2 8 7 7 6
- + 6*x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- 9 8 8 7
- ((arbcomplex(24)*(e *x + 29*e *x - 7*e + 310*e *x
- 7 6 6 5
- - 161*e + 1520*e *x - 1246*e + 3577*e *x
- 5 4 4 3
- - 3836*e + 4283*e *x - 4795*e + 2988*e *x
- 3 2 2
- - 3065*e + 978*e *x - 672*e + 132*e*x - 42*e
- 2 8 7 7 6
- + 6*x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- 9 8 8 7
- ((arbcomplex(24)*(e *x + 29*e *x - 7*e + 310*e *x
- 7 6 6 5
- - 161*e + 1520*e *x - 1246*e + 3577*e *x
- 5 4 4 3
- - 3836*e + 4283*e *x - 4795*e + 2988*e *x
- 3 2 2
- - 3065*e + 978*e *x - 672*e + 132*e*x - 42*e
- 2 8 7 7 6
- + 6*x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- 9 8 8 7
- ((arbcomplex(24)*(e *x + 29*e *x - 7*e + 310*e *x
- 7 6 6 5
- - 161*e + 1520*e *x - 1246*e + 3577*e *x
- 5 4 4 3
- - 3836*e + 4283*e *x - 4795*e + 2988*e *x
- 3 2 2
- - 3065*e + 978*e *x - 672*e + 132*e*x - 42*e
- 2 8 7 7 6
- + 6*x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- 9 8 8 7
- ((arbcomplex(24)*(e *x + 29*e *x - 7*e + 310*e *x
- 7 6 6 5
- - 161*e + 1520*e *x - 1246*e + 3577*e *x
- 5 4 4 3
- - 3836*e + 4283*e *x - 4795*e + 2988*e *x
- 3 2 2
- - 3065*e + 978*e *x - 672*e + 132*e*x - 42*e
- 2 8 7 7 6
- + 6*x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- 9 8 8 7
- ((arbcomplex(24)*(e *x + 29*e *x - 7*e + 310*e *x
- 7 6 6 5
- - 161*e + 1520*e *x - 1246*e + 3577*e *x
- 5 4 4 3
- - 3836*e + 4283*e *x - 4795*e + 2988*e *x
- 3 2 2
- - 3065*e + 978*e *x - 672*e + 132*e*x - 42*e
- 2 8 7 7 6
- + 6*x))/(e *(e *x + 30*e *x - 7*e + 333*e *x
- 6 5 5 4
- - 168*e + 1692*e *x - 1365*e + 4023*e *x
- 4 3 3 2
- - 4368*e + 4470*e *x - 5145*e + 2663*e *x
- 2
- - 2520*e + 576*e*x - 251*e + 36*x))),
- (arbcomplex(24)))
- }}
- % Now check the eigenvectors and calculate the eigenvalues in the
- % respective eigenspaces:
- factor expt;
- for each eispace in eig do
- begin scalar eivaleq,eival,eivec;
- eival := solve(first eispace,x);
- for each soln in eival do
- <<eival := rhs soln;
- eivec := third eispace;
- eivec := sub(soln,eivec);
- write "eigenvalue = ", eival;
- write "check of eigen equation: ",
- m*eivec - eival*eivec>>
- end;
- eigenvalue = 1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = -1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- 4 3 2 2
- sqrt(e + 12*e + 10*e + 12*e + 1) + e + 6*e + 1
- eigenvalue = ----------------------------------------------------
- 2*e
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- 4 3 2 2
- - sqrt(e + 12*e + 10*e + 12*e + 1) + e + 6*e + 1
- eigenvalue = -------------------------------------------------------
- 2*e
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- % For the special choice:
- let e = -7 + sqrt 48;
- % we get only 7 eigenvectors.
- eig := mateigen(m,x);
- eig := {{x + 1,
- 4,
- arbcomplex(27)
- mat((----------------),
- 4*sqrt(3) - 7
- (arbcomplex(26)),
- (arbcomplex(25)),
- ((2*sqrt(3)*( - arbcomplex(27) - 2*arbcomplex(26)
- - 2*arbcomplex(25)) + 3*arbcomplex(27)
- + 7*arbcomplex(26) + 7*arbcomplex(25))/(4*sqrt(3) - 7
- )),
- ((2*sqrt(3)*( - arbcomplex(27) - 2*arbcomplex(26)
- - 2*arbcomplex(25)) + 3*arbcomplex(27)
- + 7*arbcomplex(26) + 7*arbcomplex(25))/(4*sqrt(3) - 7
- )),
- (arbcomplex(25)),
- (arbcomplex(26)),
- (arbcomplex(27)))
- },
- {x - 1,
- 3,
- [ 0 ]
- [ ]
- [ - arbcomplex(30)]
- [ ]
- [ - arbcomplex(29)]
- [ ]
- [ - arbcomplex(28)]
- [ ]
- [ arbcomplex(28) ]
- [ ]
- [ arbcomplex(29) ]
- [ ]
- [ arbcomplex(30) ]
- [ ]
- [ 0 ]
- },
- {x + 7,
- 1,
- [ arbcomplex(31) ]
- [ ----------------- ]
- [ 56*sqrt(3) - 97 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(31) + 24*arbcomplex(31) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) - 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(31) + 24*arbcomplex(31) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) - 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(31) + 24*arbcomplex(31) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) - 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(31) + 24*arbcomplex(31) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) - 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(31) + 24*arbcomplex(31) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) - 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(31) + 24*arbcomplex(31) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) - 291 ]
- [ ]
- [ arbcomplex(31) ]
- }}
- for each eispace in eig do
- begin scalar eivaleq,eival,eivec;
- eival := solve(first eispace,x);
- for each soln in eival do
- <<eival := rhs soln;
- eivec := third eispace;
- eivec := sub(soln,eivec);
- write "eigenvalue = ", eival;
- write "check of eigen equation: ",
- m*eivec - eival*eivec>>
- end;
- eigenvalue = -1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = 1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = -7
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- % The same behaviour for this choice of e.
- clear e;
- let e = -7 - sqrt 48;
- % we get only 7 eigenvectors.
- eig := mateigen(m,x);
- eig := {{x + 1,
- 4,
- - arbcomplex(34)
- mat((-------------------),
- 4*sqrt(3) + 7
- (arbcomplex(33)),
- (arbcomplex(32)),
- ((2*sqrt(3)*( - arbcomplex(34) - 2*arbcomplex(33)
- - 2*arbcomplex(32)) - 3*arbcomplex(34)
- - 7*arbcomplex(33) - 7*arbcomplex(32))/(4*sqrt(3) + 7
- )),
- ((2*sqrt(3)*( - arbcomplex(34) - 2*arbcomplex(33)
- - 2*arbcomplex(32)) - 3*arbcomplex(34)
- - 7*arbcomplex(33) - 7*arbcomplex(32))/(4*sqrt(3) + 7
- )),
- (arbcomplex(32)),
- (arbcomplex(33)),
- (arbcomplex(34)))
- },
- {x - 1,
- 3,
- [ 0 ]
- [ ]
- [ - arbcomplex(37)]
- [ ]
- [ - arbcomplex(36)]
- [ ]
- [ - arbcomplex(35)]
- [ ]
- [ arbcomplex(35) ]
- [ ]
- [ arbcomplex(36) ]
- [ ]
- [ arbcomplex(37) ]
- [ ]
- [ 0 ]
- },
- {x + 7,
- 1,
- [ - arbcomplex(38) ]
- [ ------------------- ]
- [ 56*sqrt(3) + 97 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(38) - 24*arbcomplex(38) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) + 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(38) - 24*arbcomplex(38) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) + 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(38) - 24*arbcomplex(38) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) + 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(38) - 24*arbcomplex(38) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) + 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(38) - 24*arbcomplex(38) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) + 291 ]
- [ ]
- [ - 14*sqrt(3)*arbcomplex(38) - 24*arbcomplex(38) ]
- [--------------------------------------------------]
- [ 168*sqrt(3) + 291 ]
- [ ]
- [ arbcomplex(38) ]
- }}
- for each eispace in eig do
- begin scalar eivaleq,eival,eivec;
- eival := solve(first eispace,x);
- for each soln in eival do
- <<eival := rhs soln;
- eivec := third eispace;
- eivec := sub(soln,eivec);
- write "eigenvalue = ", eival;
- write "check of eigen equation: ",
- m*eivec - eival*eivec>>
- end;
- eigenvalue = -1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = 1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = -7
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- % For this choice of values
- clear e;
- let e = 1;
- % the eigenvalue 1 becomes 4-fold degenerate. However, we get a complete
- % span of 8 eigenvectors.
- eig := mateigen(m,x);
- eig := {{x - 1,
- 4,
- [ - arbcomplex(42)]
- [ ]
- [ - arbcomplex(41)]
- [ ]
- [ - arbcomplex(40)]
- [ ]
- [ - arbcomplex(39)]
- [ ]
- [ arbcomplex(39) ]
- [ ]
- [ arbcomplex(40) ]
- [ ]
- [ arbcomplex(41) ]
- [ ]
- [ arbcomplex(42) ]
- },
- {x + 1,
- 3,
- [ arbcomplex(45) ]
- [ ]
- [ arbcomplex(44) ]
- [ ]
- [ arbcomplex(43) ]
- [ ]
- [ - (arbcomplex(45) + arbcomplex(44) + arbcomplex(43))]
- [ ]
- [ - (arbcomplex(45) + arbcomplex(44) + arbcomplex(43))]
- [ ]
- [ arbcomplex(43) ]
- [ ]
- [ arbcomplex(44) ]
- [ ]
- [ arbcomplex(45) ]
- },
- {x - 7,
- 1,
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- [ ]
- [arbcomplex(46)]
- }}
- for each eispace in eig do
- begin scalar eivaleq,eival,eivec;
- eival := solve(first eispace,x);
- for each soln in eival do
- <<eival := rhs soln;
- eivec := third eispace;
- eivec := sub(soln,eivec);
- write "eigenvalue = ", eival;
- write "check of eigen equation: ",
- m*eivec - eival*eivec>>
- end;
- eigenvalue = 1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = -1
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- eigenvalue = 7
- check of eigen equation:
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- [ ]
- [0]
- ma := mat((1,a),(0,b));
- [1 a]
- ma := [ ]
- [0 b]
- % case 1:
- let a = 0;
- mateigen(ma,x);
- {{x - 1,1,
- [arbcomplex(47)]
- [ ]
- [ 0 ]
- },
- { - b + x,1,
- [ 0 ]
- [ ]
- [arbcomplex(48)]
- }}
- % case 2:
- clear a;
- let a = 0, b = 1;
- mateigen(ma,x);
- {{x - 1,2,
- [arbcomplex(49)]
- [ ]
- [arbcomplex(50)]
- }}
- % case 3:
- clear a,b;
-
- mateigen(ma,x);
- {{ - b + x,
- 1,
- [ arbcomplex(51)*a ]
- [------------------]
- [ b - 1 ]
- [ ]
- [ arbcomplex(51) ]
- },
- {x - 1,1,
- [arbcomplex(52)]
- [ ]
- [ 0 ]
- }}
- % case 4:
- let b = 1;
-
- mateigen(ma,x);
- {{x - 1,2,
- [arbcomplex(53)]
- [ ]
- [ 0 ]
- }}
- end;
- (TIME: matrix 17016 18716)
- End of Lisp run after 17.04+2.33 seconds
|