%!PS-Adobe-2.0
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
%%Title: blas-report.dvi
%%Pages: 315
%%PageOrder: Ascend
%%BoundingBox: 0 0 612 792
%%EndComments
%DVIPSWebPage: (www.radicaleye.com)
%DVIPSCommandLine: dvips -o blas-report.ps blas-report.dvi
%DVIPSParameters: dpi=600, compressed
%DVIPSSource: TeX output 2001.08.21:1353
%%BeginProcSet: texc.pro
%!
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
(LaserWriter 16/600)]{A length product length le{A length product exch 0
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
%%EndProcSet
TeXDict begin 40258431 52099146 1000 600 600 (blas-report.dvi)
@start
%DVIPSBitmapFont: Fa cmti8 8 6
/Fa 6 118 df<3B07801FC007F03B1FE07FF01FFC3B3DF1E0F8783E3B38F3C078F01E3B
78FF007DC01FD870FEEB7F80A2D8F1FC1400D8E1F8137EA249137C00C302FC5B0003163E
495BA200070101147E177C01C05B17FC000F0103ECF83018700180EBE00117F0001F0107
15F0040313E0010001C013E0EFE1C048010F1301EFE380003E91398000FF00001C6DC712
3C341F7A9D3A>109 D<3907801FC0391FE07FF0393DF1E0F83938F3C0783978FF007CEA
70FEA2EAF1FCEAE1F8A25B00C314FC00035C5BA2000713015D13C01403000FECE0C015E1
EB800715C1001F14C3020F13800100138391380787005A158E003EEB03FC001CEB00F022
1F7A9D28>I<EB03F8EB0FFE90383E0F809038FC07C03801F003D803E013E01207390FC0
01F01380121FEA3F0014035A127EA2140700FE14E05AA2EC0FC0A2EC1F80A2007CEB3F00
143E5C6C5B381E01F0380F07C06CB4C7FCEA01FC1C1F799D24>I<EB0FC0EB7FF0EBF03C
3801E01C3803C01EEA0780143EA2000F133C1418EBC00013F813FF6C13C06C13E06C13F0
EA007F130713031301EA780012FCA2130100F813E012E0EB03C038F0078038781F00EA1F
FCEA07F0171F7A9D1D>115 D<131C133EA2137EA2137CA213FCA25BA21201A2B512E0A2
3803F000A25BA21207A25BA2120FA25BA2121FA290C7FCA24813C01301123E1303148013
07003C1300130E131E6C5AEA0FF0EA07C0132B7AA918>I<EA03C0D80FF01338D81E7813
7CD81C7C13FC003814F812781270EBFC01D8F0F813F012E012E138C1F003000114E01203
13E01407000714C013C0A2EC0FC3000F14871380A2141F158F0007EB3F0E147F01C0131C
3903E1E7BC3901FF83F839007E01E0201F7A9D26>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fb cmbx9 9 31
/Fb 31 122 df<120FEA3FC0EA7FE0EAFFF0A213F8A4127F123FEA0F3812001378A21370
A213F013E01201EA03C0A2EA0780EA0F00121E5A12180D1B7AB319>39
D<147014F0EB03E0EB07C0EB0F80131FEB3F00133E137E5B485AA2485AA212075B120FA2
485AA3485AA3127FA390C7FCA35AAF7EA37FA3123FA36C7EA36C7EA212077F1203A26C7E
A26C7E137E133E133FEB1F80130FEB07C0EB03E0EB00F01470144B78B722>I<12E07E12
7C7E7E7F6C7E12077F6C7E6C7EA26C7EA27F137E137FA2EB3F80A3EB1FC0A314E0A3130F
A314F0AF14E0A3131FA314C0A3EB3F80A3EB7F00A2137E13FE5BA2485AA2485A485A5B12
0F485A90C7FC123E5A12F05A144B7BB722>I<B512FCA816087F931D>45
D<120FEA3FC0EA7FE0EAFFF0A6EA7FE0EA3FC0EA0F000C0C7A8B19>I<ED1F80A24B7EA2
4B7EA34B7EA24A7FA34A7FA24A7F15CFA2020F7F1587021F801503023F80EC3E01A2027E
80EC7C0002FC804A137FA20101814A133F0103814A131FA249B67EA24981A290271F8000
077F91C77EA24982013E80017E82017C80A201FC8249157FB500F0013FB512F0A43C347D
B343>65 D<B500E091383FFFFC808080C66D9138003C00808101F77F13F301F17F8101F0
7F6E7E6E7E6E7E6E7F806E7F826E7F6E7F6F7E6F7E6F7E816F138017C06F13E06F13F06F
13F8EE7FFCEE3FFE161FEE0FFF18BC7013FC828282177F173F171FA2170F170717031701
B500F01400187C183CA23E337DB245>78 D<003FB812F8A4D9F003EB801FD87F80ED03FC
01001501007E1600007C177CA20078173CA400F8173E48171EA4C71600B3A9011FB612F0
A437327DB13E>84 D<13C0EA01E0EA03C0EA0780EA0F00121EA25A123812781270A212F0
A25AEAE780EAFFE013F013F8A4127FA2EA3FF0EA1FE0EA07800D1B7BB319>96
D<EB7FFE0003B512E04814F8390FF00FFC391FF803FF806E138016C0157F6C5A6C5AEA01
80C8FCEC7FFF010FB5FC90B6FC0003EBF07F000F1300EA1FF8485A485A485A5BA315FF7F
007F5B6D4813E03A3FF80FBFFF000FB5121F0003EBFC0F39007FE00728217EA02B>I<EA
01FC12FFA4120F1207ADEC07FC91387FFF8001FDB512E09039FFF00FF89138C007FC9138
0003FE496D7E496D1380A217C0167FA217E0A917C0A216FF1780A26D4913006D495A9138
C007FC9039F3F01FF801E1B512E0D9C07F13809026800FF8C7FC2B347EB331>I<903807
FF80013F13F090B512FC3903FE01FE4848487EEA0FF8EA1FF0EA3FE0A2007F6D5A496C5A
153000FF91C7FCA9127F7FA2003FEC07807F6C6C130F000FEC1F00D807FE133E3903FF80
FCC6EBFFF8013F13E0010790C7FC21217DA027>I<ED01FC15FFA4150F1507ADEB07FE90
383FFFC790B512F70003EB01FF3907FC003F4848131F4848130F48481307A2127F5BA212
FFA9127FA27F123F150F6C6C131F6C6C133F6C6C497E2603FE03B512E0C6B512E7013F13
87903807FC072B347DB331>I<903803FF80013F13F090B512FC48EB03FE3907FC007F48
48EB3F804848EB1FC05B003FEC0FE0127F5B16F012FF150790B6FCA301C0C8FCA4127F7F
123F16F06C7E000F14016C6CEB03E0D803FEEB0FC03A01FF807F806C6CB51200011F13FC
010313E024217EA029>I<EC3FE0903803FFF8010F13FC90383FF1FE90387FC3FFEBFF83
481303A2EA03FEEC01FEA2EC00781500A7B512FEA4D803FEC7FCB3A7387FFFF8A420347E
B31B>I<16F890390FFC07FE90387FFF9F48B6127F3907FC0FFC380FF003001F14FED9E0
01133E003FECFF1C1600A6001F5CEBF003000F5C3907FC0FF890B512E0486C1380D90FFC
C7FC48C9FCA37F7F90B512F015FE6CECFF8016E06C15F06C15F84815FC121F393F80001F
48C7EA03FE481401481400A46C14016C6CEB03FC6C6CEB07F86C6CEB0FF0D80FFCEB7FE0
0003B61280C6ECFE00010F13E028327EA12C>I<EA01FC12FFA4120F1207ADEC03FF020F
13C0023F13F09138FC0FF89039FDE007FCEBFFC04A6C7E1400A25BA25BB2B539E07FFFF0
A42C347DB331>I<EA03F0487E487E487EA66C5A6C5A6C5AC8FCA8EA01FC12FFA4120F12
07B3A5B512C0A412357DB418>I<EA01FC12FFA4120F1207B3B3A6B512E0A413347DB318>
108 D<2703F803FEEB03FE00FF903B1FFFC01FFFC0027FD9E07F7F913BF81FF0F81FF090
3CF9E00FF9E00FF8260FFBC0EBFBC06CB4486CB4486C7E02001400495CA3495CB2B500E0
B500E0B512E0A443217CA04A>I<3901F803FF00FF010F13C0023F13F09138FC0FF89039
F9E007FC380FFBC06CB4486C7E1400A25BA25BB2B539E07FFFF0A42C217DA031>I<9038
03FF80011F13F090B512FE48EB01FF3A07FC007FC0D80FF0EB1FE0001F15F049130F003F
15F8491307007F15FCA300FF15FEA8007F15FCA26D130F003F15F8001F15F06D131F6C6C
EB3FE06C6CEB7FC03A01FF01FF006CEBFFFE013F13F80103138027217EA02C>I<3901FC
07FC00FF90387FFF8001FDB512E09039FFF01FF89138C007FC000F90380003FE6C488049
6D1380A26F13C0A3EE7FE0A9EEFFC0A34B1380A26D4913006D495A9138C00FFC9138F03F
F801FDB512E0D9FC7F1380DA0FF8C7FC91C9FCABB512E0A42B307EA031>I<D903FC133C
90393FFF807C90B5EAE0FC0003EB81F83907FE007D4848133F4848131F4848130FA24848
1307A3485AA96C7EA36C7E150F6C6C131F000F143F6C6C13FF3903FF03F7C6EBFFE7013F
1387903807FC0790C7FCAB92B512E0A42B307DA02F>I<3901F81F8000FFEB7FF0ECFFF8
9038F9E3FC9038FBC7FE380FFF876C1307A213FEEC03FCEC01F8EC0060491300B1B512F0
A41F217EA024>I<9038FFE1C0000713FF5A383F803F387E000F14075A14037EA26C6CC7
FC13FCEBFFE06C13FC806CEBFF80000F14C06C14E0C6FC010F13F0EB007F140F00F01307
14037EA26C14E06C13076CEB0FC09038C01F8090B5120000F913FC38E03FE01C217DA023
>I<133CA5137CA313FCA21201A212031207001FB51280B6FCA3D807FCC7FCB0EC03C0A7
9038FE078012033901FF0F006C13FEEB3FFCEB0FF01A2F7EAE22>I<D801FC14FE00FF14
7FA4000F140700071403B21507A2150F151F6C6C497E6C6C01FB13F06CEBFFF3013F13C3
903807FE032C217DA031>I<B539C007FFC0A4D807FEC7EAF80000035D6D13016C5D1480
6C4A5AA2ECC007017F5CECE00F013F91C7FC6E5A011F131EECF83E010F133CECFC7C0107
1378ECFEF801035B14FF6D5BA26D5BA26E5AA26EC8FCA2141E2A217EA02F>I<B539C03F
FF80A400039039000FC0006C01805B6C4AC7FC90387FC03E6D6C5A6E5A90381FF9F0EB0F
FF6D5B6D5B6D5B7F816E7E4A7E497FEB03EF903807C7FC90380FC3FE90381F83FFD93F01
7FD97E007F496D7E496D7E4848131FD8FFFE90387FFFC0A42A217EA02F>120
D<B539C007FFC0A4D807FEC7EAF80000035D6D13016C5D14806C4A5AA2ECC007017F5CEC
E00F013F91C7FC6E5A011F131EECF83E010F133CECFC7C01071378ECFEF801035B14FF6D
5BA26D5BA26E5AA26EC8FCA2141EA25CA2147C003E1378007F13F8486C5A1381EB83E0EB
87C0495AD87F3FC9FCEA3FFEEA1FF8EA07E02A307EA02F>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fc cmsl8 8 16
/Fc 16 120 df<EA0380EA0FE0A2121FA3EA0FC0EA0700C7FCAD123C127EB4FCA35AA212
380B1D799C14>58 D<9238FF800E020F13E091393F80781C9139FC001E3CD903F0EB077C
D90FC0EB03FC4948130149C7FC017EEC00F85B48481578485A1207484815381730485AA2
485A1700A248CAFCA55A5AA3127EEE01C0A2007F1680A26C150317006C6C5C160E6C6C14
0C0007151C6D5C6C6C14F0C66CEB01C0017EEB078090261F803EC7FC903807FFF8010013
C02F2F79AD33>67 D<48B512C0A239000FF0006D5AA3130F5CA5131F5CA5133F91C7FCA5
5B137EA513FE5BA512015BA412031207B512E0A21A2D7DAC19>73
D<2601FFE0903807FFF080D80007020013006E143C173880EB0EFED90C7E1430147F8081
021F1470011C7FD9180F146081140781020314E001387FD930015C816E7EA2ED7F010170
133F0160EC8180151F16C1150F16E301E013074902F3C7FC150316FB150116FF00018049
5C167E163E1203486C141E487ED8FFFE140CA2342D7CAC35>78 D<4AB4FC021F13E09138
7F01FC903901F8007ED907E0131FD90F80EB0F8049C7EA07C0013EEC03E04915F0491401
000116F848481400484815FCA2485A17FE485AA2123FA248C9FCA548ED01FC5AA2EE03F8
A2127EEE07F0127FEE0FE06C16C0161F6D1580001FED3F00167E6C6C5C6C6C495A6C6C49
5A6C6CEB0FC06C6C495A90263F80FEC7FC90380FFFF0010113802F2F79AD37>I<EB0FF0
EB7FFC3801F03E3903800F8013E00007EB07C0A33903C003E0C7120715C0A3EB01FF131F
EBFF8F3803F80FD80FE01380EA1FC0EA3F80EA7F00007EEB1F8300FE1486481406A2143F
147F6CEBEF0C387E01CF393F078FF8390FFE07F03903F803C020207C9E23>97
D<EB03F0EB1FFCEB7C1F9038F80F803903F007C03807E00301C013E0EA0F80121FEB0001
5A1403127EA2007FB5FCA200FEC8FC5AA5127CEC0180127E003E1303EC07006C130E6C6C
5A3807C0F83801FFE06C6CC7FC1B207C9E1F>101 D<1307EB1FC0133FA41480EB0E0090
C7FCA8133EEA07FEA21200137CA513FC5BA512015BA512035BA41207A2EAFFFEA2122E7E
AD14>105 D<90383E07F03907FE1FFCEC783E0000EBE01FEB7DC090397F800F80140013
7E017C131F01FC1400A25BA35D120149133EA4157E120349137CA4000714FCA23AFFFE1F
FFC0A2221E7E9D27>110 D<EB03FCEB0FFF90383E07C09038F803E03901E001F03803C0
0000071478485A90C7127C5A5A003E147EA2127EA34814FCA415F81401007C14F0A2EC03
E0003CEB07C0003E14806CEB0F00380F803E3807C0F83801FFF038007F801F207C9E23>
I<90380F83F83901FF8FFF9138BC0FC03A003FF003E0D91FE013F09138C001F8EC800091
C712FCA25B013E147C167EA316FE017E14FC137CA3ED01F8A201FCEB03F05BED07E06DEB
0FC0ED1F806DEB3F00486C137E9038F381F89038F1FFE0D9F07FC7FC91C8FC1203A25BA4
1207A3EAFFFEA2272B809D27>I<90387C0FC03907FC3FE0EC71F03800FDE3EB7983137B
90387F01E0017EC7FCA25BA25BA412015BA512035BA41207A2B5FCA21C1E7E9D1C>114
D<90380FF0C0EB7FFD3801F00F3803C007380780031580EA0F001401A2EB8003A201E0C7
FC13FE3807FFE06C13F86C7F6C6C7EEB07FFEB007F0030131F1580140F00701400A21278
A2141E007C5B00FE5B38F701F038E3FFC000C090C7FC1A207E9E1C>I<1318A25BA21370
A213F0A2485A12031207121FB512F0A23807E0005BA5120F5BA5121F90C7FCA214C0A338
3F0180123EA3130314006C5AEA0F0EEA07FCEA01F0142A7AA81B>I<D807C013F800FF13
1FA2001F1303390F8001F0A41403121F010013E0A414075A003E14C0A4140F127E007C14
80141F143FA2147F6C13FF391F03DFF8380FFF1FD803FC13001D1F799D27>I<3BFFFC3F
FE0FFE13F83B1FC007F003F83B0F8003E001E017C0140701C015800007010F1303020D14
000219130615F002315B3803E03002605BA202C05B15F8D9F1805B00011478D9F3005BA2
01F6EB7D80A2D800FC013FC7FCA249133EA249133C1370016013182F1E7A9C33>119
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fd cmbx8 8 23
/Fd 23 121 df<14E01301EB07C0EB0F80EB1F00133E137E5B5B1201485AA2485AA2485A
A2121F5B123FA290C7FC5AA512FEAF127FA57E7FA2121F7F120FA26C7EA26C7EA26C7E12
007F137E133E7FEB0F80EB07C0EB01E01300134378B120>40 D<12E07E127C7E7E6C7E7F
6C7E12037F6C7EA26C7EA2137EA2137F7F1480A2131F14C0A5EB0FE0AFEB1FC0A5148013
3FA214005B137EA25BA2485AA2485A5B1207485A5B48C7FC123E5A12F05A13437CB120>
I<150E151FA2153F153E157E157CA215FC15F8140115F0140315E0A2140715C0140F1580
141F1500A25C143E147E147C14FC5C13015CA213035C13075C130F5CA2131F91C7FC5B13
3E137E137C13FC5BA212015B12035B12075BA2120F5B121F90C8FC5A123EA2127E127C12
FC5AA2127020437CB129>47 D<123C123F90B612E0A44815C0168016005D5D397C0001F8
0078495A00F8495A485C140F4A5AC748C7FC147E5CA2495A13035C1307A2495AA2131FA3
495AA4137FA96D5A6DC8FC232E7CAC29>55 D<121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F
80EA1F00C7FCA8121FEA3F80EA7FC0EAFFE0A5EA7FC0EA3F80EA1F000B1E7A9D17>58
D<913A03FF8001C0023FEBF80349B5EAFE070107ECFF8F011F9038801FFF90397FF80007
D9FFE0130148497F4890C8127F4848153F120F4848151F49150F123F5B007F1607A34992
C7FC12FFAA127F7FEF03C0A2123F7F001F16076D16806C6C150F000717006C6C5D6C01C0
143E6C6D14FCD97FF8EB03F8903A1FFF801FF0010790B512C0010192C7FCD9003F13FC02
0313C032307CAE3B>67 D<B7FC16F816FE707E0001D9800313E09238007FF0707E161F70
7EA283A55F161F5F4C5A4C5A923803FFC091B6C8FC16F8A29138800FFEED03FF6F7F6F7F
A2707EA583A31803F0078017F8A2043F130FB6D91FFC1300706C5A933807FFFE04015BCA
EA3FF0392F7DAD3D>82 D<EB7FF80003B5FC000F14C0391FE01FF09038F007F86E7EA26E
7EEA0FE0EA07C0C7FCA214FF133F48B5FC000713C1381FFC01EA3FE0EA7FC0EAFF801300
A3140313806C6C487E263FF03F13F8381FFFFE0007EBF87FC6EBC01F251E7E9D28>97
D<EA03F012FFA4120FABEC3FE09038F1FFFC01F713FFD9FFC013809039FE003FC049EB1F
E049EB0FF05B16F8150716FCA916F8A2150F16F06D131F6D14E06DEB3FC09039DF80FF80
9039C7FFFE00018113F89038007FC0262E7DAD2D>I<EB0FFE90387FFFC048B512F03907
FC07F8380FF00FEA1FE0123F13C0007FEB07F090388003E091C7FC12FFA8127F7FA26C6C
133CA26C6C137C6C6C13F83907FE03F00001B512E06C6C138090380FFC001E1E7D9D24>
I<ED0FC0EC03FFA4EC003FABEB0FF8EB7FFF48B6FC3807FC07380FF001391FE0007F003F
143F5B127F5BA212FFA9127F7F123F157F6C6C13FF380FF0032607FC0F13FC0001B512BF
6CEBFE3FEB1FF0262E7DAD2D>I<EB0FFC90387FFF8048B512E03907FC0FF0390FF003F8
391FE001FC1400484813FE007F147E5B157F12FFA290B6FCA30180C7FCA3127F7FA2003F
140F6C7E6C6C131F6C6C137E3903FE01FC6CB512F86C6C13E001071300201E7E9D25>I<
ECFF80010713E0011F13F0EB7FC79038FF0FF8EA01FEA2EA03FCA2EC07F0EC00801500A5
B512FCA4D803FCC7FCB3A4383FFFE0A41D2E7EAD19>I<ED07C090391FF81FF090B5EA7F
F8000314FD3907F81FF3380FE007001F14F99039C003F8F0003FECFC00A6001F5CEBE007
000F5C3907F81FE090B55A4891C7FCEB1FF8001EC9FC121FA27F90B512C06C14F815FF6C
158016C04815E0123F48C7EA3FF000FE140F4814071503A36C1407007FEC0FE06C6CEB1F
C0D81FF0EBFF800007B5EAFE00000114F8D8001F1380252D7E9E29>I<EA03F012FFA412
0FABEC1FF0EC7FFC01F1B5FCD9F7E013809038FF807FD9FE0013C049133FA25BA25BB0B5
3803FFFCA4262E7CAD2D>I<EA03F012FFA4120FB3B3B5FCA4102E7CAD17>108
D<2707E00FF8EB1FF000FFD97FFEEBFFFC01E1B5008313FF9028E7E07FCFC01380903BEF
803FDF007F260FFE0013FC031FEC3FC0495C495CA2495CB0B53B01FFFE03FFFCA43E1E7C
9D45>I<EB07FE90387FFFE048B512F83903FC03FC3907F000FE4848137F4848EB3F8000
3F15C049131F007F15E0A200FF15F0A8007F15E0A26D133F003F15C0001F15806D137F6C
6CEBFF003903FC03FC6CB55A6C6C13E0D907FEC7FC241E7E9D29>111
D<3903F03FE039FFF1FFFC01F713FFD9FFC013809039FE007FC0D80FFCEB3FE049EB1FF0
5BED0FF8A216FC1507A8ED0FF8A3ED1FF07F6DEB3FE06DEB7FC09039FF81FF809039F7FF
FE0001F113F89038F07FC091C8FCA9B5FCA4262B7D9D2D>I<3807E07E39FFE1FF8001E3
13E0EBE78F9038EF1FF0EA0FFE13FCA29038F80FE0EC07C091C7FC5BAFB57EA41C1E7D9D
22>114 D<133CA4137CA313FCA2120112031207001FB5FCB6FCA3D803FCC7FCAEEC03C0
A61407D801FE1380EBFF0F6CEBFF00EB3FFCEB0FF01A2A7FA920>116
D<B5EB3FFCA4D80FF8EB07C0000715806D130F000315006D5B0001141E6D133E6C143CEC
807C017F1378ECC0F8013F5B14E1011F5B14F3010F5B14FF6D5BA26D90C7FCA26D5AA26D
5AA21478261E7E9D2B>118 D<D8FFFEEBFFF8A4D803FCEB7E006C6C5B6D485A6CEB81F0
90387FC3E090383FE7C090381FEF806DB4C7FC6D5A6D5A6D7E80497F497F497FEB1F9FEC
0FF090383E07F8496C7E496C7ED801F07F48486C138026FFF80113FCA4261E7E9D2B>
120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fe cmtt12 12 19
/Fe 19 117 df<140FEC3F80147F14FF491300495AEB07F8495A495A495A495A49C7FC5B
12015B485A12075B120F5B121F5BA2123F5BA2127F90C8FCA45A5AAD7E7EA47F123FA27F
121FA27F120F7F12077F12036C7E7F12007F6D7E6D7E6D7E6D7E6D7EEB03FE6D7E6D1380
147F143FEC0F00194D6FC433>40 D<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7E
6D7E133F80131F6D7E801307801303801301A2801300A28080A41580143FAD147F1500A4
5C5CA213015CA213035C13075C130F5C495A133F5C137F49C7FC485A485A485A485AEA3F
E0485A485A90C8FC5A1278194D78C433>I<EA07C0EA0FF0EA1FF8123F13FCA213FEA212
1F120F1207EA007E13FEA213FC1201EA03F81207EA0FF0EA7FE012FF13C013005A12780F
196E8A33>44 D<EC1F804A7E4A7EA34A7EA314F901017FA501037FA214F0A201077FA4EC
E07E010F137FA449486C7EA549486C7EA4017F80EC000FA291B5FCA290B67EA43A01FE00
07F8491303A4000381491301A3000781491300D87FFF90380FFFE0B56C4813F06E5AA24A
7E6C496C13E02C3E7DBD33>65 D<91391FE00780DAFFFC13C00103EBFF0F010F148F4914
FF5B90387FF81F9038FFC00748497E4848487E497F485A167F485A49143F121F5B003F15
1F5BA2127F90C8EA0F8093C7FCA25A5AAD7E7EA36DEC0F80003FED1FC0A27F121F7F000F
153F6D15806C7E167F6C6CECFF007F3A01FF8003FE6C6D485A90397FF81FF86DB55A6D5C
6D5C010391C7FC010013FCEC1FE02A3F7CBD33>67 D<387FFFF8B57E80A25C6C5BD801FC
C9FCB3B3A3EE03E0EE07F0A9007FB7FCB8FCA46C16E02C3D7DBC33>76
D<007FB512C0B612E0A415C048C8FCB3B3B3ABB612C015E0A46C14C01B4D6CC433>91
D<007FB512C0B612E0A47EC7120FB3B3B3AB007FB5FCB6FCA46C14C01B4D7DC433>93
D<EB1FFC90B57E000314E048804814FC48809038F007FFEBE0016E7F153F6C48806C4813
1FC87F150FA5EC0FFF49B5FC131F137F48B6FC0007140F4813C0381FFC00EA3FF0EA7FC0
5B48C7FC5AA56C141F7E6D137FD83FE0497ED9F807EBFFF06CB712F87E6C14F36C14C1C6
9138003FF0D91FF090C7FC2D2E7BAC33>97 D<EA3FFC487E12FFA2127F123F1200ABEC01
FE91380FFFC04A13F0027F7F91B512FE90B7FCECFE07DAF800138002E0EB7FC04AEB3FE0
4A131FEE0FF091C7FC16074915F81603A217FC1601A9160317F8A26D140717F06E130F17
E06E131FEE3FC06E137F9139F801FF80DAFE07130091B55A495C6E5BD97E3F13E0D93C0F
138090260003FEC7FC2E3E7FBC33>I<ECFFF0010713FE011FEBFF804914C04914E048B6
12F048EBC01F9038FE000F485A485A4848EB07E049EB03C0484890C7FC5BA2127F90C9FC
A25A5AA97E7EA27F003FEC01F06DEB03F86C7E6D13076C6C14F06C6C130F01FFEB1FE06C
EBE07F6C90B512C06C1580013F14006D13FC01075B010013C0252E79AC33>I<ECFF8001
0713F0011F13FC497F90B6FC48158048018013C03A07FE003FE001F8EB0FF04848130748
4814F8491303003F15FC491301127F90C7FC16FE15005A5AB7FCA516FC48C9FC7E7EA36C
7E167C6C6C14FE7F6C7E6D13016C6CEB03FC6CB4130F6C9038C03FF86C90B512F06D14E0
6D14C0010F1400010313FC9038007FE0272E7BAC33>101 D<D901FEEB1FE0903A0FFFC0
FFF0013F01F313F84990B512FC90B7FC5A48010313E12607FC00EB80F849017F13604848
90383FC00049131FA2001F8149130FA66D131F000F5DA26D133F6C6C495A6D13FF2603FF
0390C7FCECFFFE485C5D5DD80FCF13C0D981FEC8FC0180C9FCA27FA26C7E7F90B512FC6C
ECFFC06C15F0000715FC4815FF4816809038E0000748489038007FC090C8EA1FE048150F
007E150700FE16F0481503A56C1507007E16E0007F150F6C6CEC1FC001E0147FD81FF890
3801FF80270FFF801F13006C90B55A6C5DC615F0013F14C0010F91C7FC010013F02E447D
AB33>103 D<EA3FFC487E12FFA2127F123F1200AB4AB4FC020713C0021F13F0027F7F91
B5FC90B67EED07FEECF801ECF0004A7F4A7F5CA291C7FCA35BB3A43B3FFFF80FFFFC486D
4813FEB56C4813FFA26C496C13FE6C496C13FC303D7FBC33>I<383FFFFC487FB5FCA27E
7EC7FCB3B3AD003FB612F84815FCB712FEA26C15FC6C15F8273D7ABC33>108
D<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF7F15DF92B57E6C010F13872607FE
07130301FC01FE7F9039F803FC01A201F013F8A401E013F0B3A53C7FFE0FFF07FF80B548
018F13C0A46C486C01071380322C80AB33>I<EB01FE90380FFFC0013F13F0497F90B57E
488048EB03FF2607FC0013804848EB7FC049133F4848EB1FE049130F4848EB07F0A2007F
15F890C71203A300FEEC01FCAA6C14036C15F8A26D1307003F15F06D130FA26C6CEB1FE0
6D133F6C6CEB7FC06C6CEBFF802603FF0313006CEBFFFE6C5C6D5B6D5B010F13C0D901FE
C7FC262E7AAC33>111 D<EC01FE3A3FFC0FFFC0486C4813F000FF017F7F91B512FE6CB7
FC6CEBFE07C6D9F800138002E0EB7FC04AEB3FE04A131FEE0FF091C7FC16074915F81603
A217FC1601A9160317F8A26D140717F06E130F17E06E131FEE3FC06E137F9139F801FF80
DAFE07130091B55A495C6E5B6E13E0020F1380DA03FEC7FC91C9FCAF383FFFF8487FB57E
A26C5B6C5B2E427FAB33>I<EB03C0497E130FAA003FB612FC4881B7FCA36C5D26000FE0
C8FCB3A3161FEE3F80A5167F6E140001075C6E5A9138FE07FE6DB55A6D5C6D5C6E5B021F
1380DA07FCC7FC29387EB633>116 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ff cmbx12 17.28 9
/Ff 9 118 df<BB7E1AFCF2FFC01BF81BFE757ED800010280C7001F80070114F0736C7F
081F7F747F747F7414807414C0A27414E0A21DF0A27513F8A41DFCA91DF8A498B512F0A2
1DE0A25014C01D8062501400505B505B087F5B4FB512E0071F5C93B9C7FC1BFC1BF01B80
08F0C8FC04C0CCFCB3B3A2B97EA65E627AE16E>80 D<92380FFFF04AB67E020F15F0023F
15FC91B77E01039039FE001FFF4901F8010113804901E0010713C04901804913E0017F90
C7FC49484A13F0A2485B485B5A5C5A7113E0485B7113C048701380943800FE0095C7FC48
5BA4B5FCAE7EA280A27EA2806C18FCA26C6D150119F87E6C6D15036EED07F06C18E06C6D
150F6D6DEC1FC06D01E0EC7F806D6DECFF00010701FCEB03FE6D9039FFC03FFC010091B5
12F0023F5D020F1580020102FCC7FCDA000F13C03E437BC148>99
D<F17FF8050FB5FCA6EF000F8484B3A892380FFF804AB512F8020F14FE023FECFF8391B7
12E301039138807FF3499039F8000FFB011F01E00103B5FC494913004990C87E49488148
498148834A815A485BA2485BA25AA3485BA4B5FCAE7EA46C7FA37EA26C7FA26C5F806C5F
6C6D5D6C6D5D017F93B5FC6D6C6C0103806D6D49806D01F0D91FF7EBFFFE6D9039FE01FF
E7010190B612876D6CECFE07021F14F8020314E09127003FFE00ECC0004F657BE35A>I<
92380FFFC04AB512FC020FECFF80023F15E091B712F80103D9FE037F499039F0007FFF01
1F01C0011F7F49496D7F4990C76C7F49486E7F48498048844A804884485B727E5A5C4871
7EA35A5C721380A2B5FCA391B9FCA41A0002C0CBFCA67EA380A27EA27E6E160FF11F806C
183F6C7FF17F006C7F6C6D16FE6C17016D6C4B5A6D6D4A5A6D01E04A5A6D6DEC3FE00103
01FC49B45A6D9026FFC01F90C7FC6D6C90B55A021F15F8020715E0020092C8FC030713F0
41437CC14A>I<F107F8DB7FFEEC3FFE020FB5D8F001B5FC027FDAFE03148049B7128F49
DCDFFD13C0010FD9F00FEBFFC149D9800114014990C7EBFC0349486E6C7E4948EC3FFF48
496E018113800780130048F0C03E97C7FC48496E7FA34884A96C60A36C6D4A5BA26C60A2
6C6D4A90C8FC6D6C4A5A6D6C4A5A6D6D485BDBF00F5B4990B612C060D97C7F4AC9FCD9FC
0F14F09126007FFECAFC92CCFC1201A47FA27F8014F091B77E18FE6CEFFFC019F06D17FC
19FF6D846D846D846D84013F8490BAFC0003854801E0C712014890C9000F7F4848160148
48EE007F4848717E8512FF5B85A56D5F007F616D173F003F616D177F6C6C4D5A6C01C003
035B6C6D4B5B6C01F8031F5BC601FF92B5C7FC6D01F8011F5B011F90B712F8010717E001
0094C8FC020F15F0DA003F01FCC9FC4A607CC151>103 D<902607FF80D91FFFEEFFF8B6
91B500F00207EBFF80040702FC023F14E0041F02FF91B612F84C6F488193267FE07F6D48
01037F922781FE001F9027E00FF0007FC6DA83F86D9026F01FC06D7F6DD987F06D4A487F
6DD98FC0DBF87EC7804C6D027C80039FC76E488203BEEEFDF003BC6E4A8003FC04FF834B
5FA24B5FA24B94C8FCA44B5EB3B2B7D8F007B7D8803FB612FCA67E417BC087>109
D<923807FFE092B6FC020715E0021F15F8027F15FE494848C66C6C7E010701F0010F13E0
4901C001037F49496D7F4990C87F49486F7E49486F7E48496F13804819C04A814819E048
496F13F0A24819F8A348496F13FCA34819FEA4B518FFAD6C19FEA46C6D4B13FCA36C19F8
A26C6D4B13F0A26C19E06C6D4B13C0A26C6D4B13806C6D4B13006D6C4B5A6D6D495B6D6D
495B010701F0010F13E06D01FE017F5B010090B7C7FC023F15FC020715E0020092C8FC03
0713E048437CC151>111 D<D90FFFEB0FFCB690383FFF8093B512E04B14F04B14F89239
07FC7FFC92390FE0FFFEC6EC1F806DD93F0113FF6D133E157E157C15F8A215F07013FEA2
4BEB7FFCEF3FF8EF0FE04B90C7FCA55DB3B0B712F8A638417BC042>114
D<902607FFC0ED3FFEB60207B5FCA6C6EE00076D826D82B3B3A260A360A2607F60183E6D
6D147E4E7F6D6D4948806D6DD907F0ECFF806D01FFEB3FE06D91B55A6E1500021F5C0203
14F8DA003F018002F0C7FC51427BC05A>117 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fg cmtt8 8 57
/Fg 57 123 df<123812FEB3A8127C1200A7123812FEA51238072A72A923>33
D<EB0380EB0FC0131FEB3F80EBFF005BEA01F81203485A485A5B485AA248C7FCA2123E12
7EA2127CA212FCA25AA87EA2127CA2127EA2123E123FA26C7EA26C7E7F6C7E6C7E1201EA
00FE7FEB3F80EB1FC0130FEB0380123476AD23>40 D<127012FC7E127FEA3FC0121FEA07
E07F6C7E6C7E1200137EA27FA27F1480A2130FA214C0A21307A8130FA21480A2131FA214
005BA2137EA25B1201485A485A5BEA1FC0123F48C7FC12FE5A127012347AAD23>I<EB07
80497EAB007FB512F8B612FCA46C14F839000FC000AB6D5A1E1E7EA223>43
D<121FEA3F80EA7FC013E0A4123F121F1207A2EA0FC0121FEA7F80EAFF005A5A12700B12
748823>I<007FB51280B612C0A46C14801A067C9623>I<123E127FEAFF80A5EA7F00123E
0909738823>I<EB1F80EB7FE03801FFF8487F487F13F0380FC03F391F801F80EB000F48
14C0003E1307A248EB03E0A30078130100F814F0AB007CEB03E0A3007E1307003E14C0A2
003F130F391F801F80A2390FC03F003807F0FE13FF6C5B6C5B38007FE0EB1F801C2B7DA9
23>48 D<1318133C137CA213FC120112031207127F12FFA2137C127C1200B3A6387FFFFC
14FEA314FC172A7AA923>I<EB7FC03803FFF04813FC001F7F48EBFF80EA7F80397E003F
C000FEEB0FE04813076CEB03F0A31401127C1238C7FC1403A2EC07E0A2EC0FC0141FEC3F
80150014FE1301EB03F8495A495AEB3FC0495A01FEC7FC485A485AD80FF013E0391FE001
F0EA3F8048B5FCB6FCA36C14E01C2A7DA923>I<EB7FC03801FFF0000713FC487F487F39
3FE07F809038801FC0140F1407A3EA0E00C7120FA2EC1F80143F903801FF00EB7FFE495A
5C806DB4FC9038007F80EC1FC0EC0FE01407EC03F0A21401A2127C12FE1403A2EC07E048
130F6CEB1FC0387FC07F6CB512806C14006C13FC00035B38007FC01C2B7DA923>I<14FC
497E1303A2EB07DE130F149EEB1F1E133F133E137E137C13F8120113F0EA03E0120713C0
120FEA1F8013005A123E5A12FCB612F815FCA36C14F8C7EA1E00A7903807FFF84913FCA3
6D13F81E2A7EA923>I<001FB5FC481480A31500003EC8FCAAEB1FE0EBFFF8003F13FE80
15809038E03FC0EB800F90380007E0121EC7EA03F0A21401A2123812FEA21403A2EC07E0
48130F007EEB1FC0397FC0FF806CB512006C5B00075B6C13F038007F801C2A7DA823>I<
EB03F8EB1FFE497E90B512804814C03803FE0F3807F01FEA0FE0EA1FC01380003FEB0F80
90C8FC127EA2EA7C01EB3FF038FCFFFCB57E8015809038C03FC09038000FE014075A48EB
03F0A21401A3127CA2007E1303A27EEC07E0EB800F391FC01FC0390FF07F8090B512006C
5B00015B6C13F0EB3FC01C2B7DA923>I<1270B612E015F0A439F8000FE0EC1FC0007014
80C7EA3F00147E14FE5C495AA2495A5C13075C130F5C131FA291C7FC5BA2133E137EA213
7CA313FCA25BA813701C2B7DA923>I<EB3FC03801FFF8487F487F487F391FE07F80393F
801FC0EB000F007EEB07E0007C1303A4007E1307003E14C06CEB0F80EBC03F3907FFFE00
6C5BC613F0A2000313FC380FF0FF391F801F80393F000FC0007EEB07E0007C130300FC14
F0481301A56C1303007EEB07E0A2393F801FC0391FE07F8090B5FC6C1400000313FC6C5B
38003FC01C2B7DA923>I<EB3FC0EBFFF000037F4813FE487F391FE07F80383F803F397F
001FC0007E130F00FEEB07E05AA248130315F0A47EA2007E1307140F127F383FC03F6CB5
FC7E6C13FD6C13F3C613C390380803E0EB0007A2EC0FC0121F393F801F80143FEC7F0014
FE1383EBFFFC6C13F06C5B000313806C48C7FC1C2B7DA923>I<EC0380EC0FC0141F143F
14FF491380903807FE00495A495AEB7FE0495A4890C7FCEA07FE485AEA1FF0EA7FE0485A
90C8FCA213C06C7EEA1FF0EA0FFC6C7EEA01FF6C13C06D7EEB1FF86D7E6D7E903801FF80
6D13C0143F141F140FEC03801A247CA523>60 D<EB0FC0A2497EA4EB3CF0A5EB7CF8A3EB
7878EBF87CA548487EA40003133F497EA290B5FCA2481480A3EBC00F000F14C0EB8007A3
397FF03FF800FF14FCA3007F14F81E2A7EA923>65 D<B512F014FE80158015C0390F800F
E01407EC03F01401A5140315E01407EC1FC090B5128015005C8015C09038800FE01407EC
03F0140115F81400A5140115F01403EC0FE0B6FC15C01580150014FC1D297EA823>I<90
380FE0E090383FF9F0EBFFFD4813FF5A3807FC3F380FF00F381FC007A2383F8003130048
1301127EA2007CEB00E000FC1400A25AA97EA2127C007E14E0EC01F0127F7EEB8003EA1F
C0EC07E0380FF00F3907FC1FC06CB512806C14006C5BEB3FF8EB0FE01C2B7DA923>I<38
7FFFF0B512FC80806C1480390F803FC0141FEC07E0A2EC03F0140115F81400A315FC157C
AA15F8A3140115F01403A2EC07E0EC0FC0143F007FB51280B612005C5C6C13F01E297FA8
23>I<B612F015F8A4380F8000A515701500A21438147CA3EBFFFCA5EB807CA3143891C7
FCA3151C153EA6B612FEA415FC1F297EA823>I<007FB512FCB612FEA37E3907C0003EA5
151C1500A3140E141FA390B5FCA5EBC01FA3140E91C7FCA9EA7FFEB5FCA36C5A1F297FA8
23>I<90381FC1C090387FF3E090B5FC12035AEBF83F380FE01F381FC00F1380003F1307
1300007E1303A3007CEB01C000FC90C7FCA25AA6EC7FF815FCA27E15F8007CEB03E0127E
1407A27EEB800F121FEBC01FEA0FE03807F87F90B5FC7EC613FB90387FF1C090381FC000
1E2B7EA923>I<397FF00FFE39FFF81FFFA3397FF00FFE390F8001F0AC90B5FCA5EB8001
AE397FF00FFE39FFF81FFFA3397FF00FFE20297FA823>I<B512FEA538007C00B3ADB512
FEA517297AA823>I<EA7FFEB5FCA36C5AEA07C0B3A6157CA7007FB512FCB6FCA36C14F8
1E297EA823>76 D<39FF8001FFA26D5AA3391EE00778A3EBF00FEB700EA2EB781EA2EB38
1CEB3C3CA2EB1C38EB1E78A2EB0E70A3EB07E0A3EB03C0A290C7FCA939FFC003FFA52029
7FA823>I<387FFFC0B512F88014FF7E390F807F80EC1FC0140F6E7E1403A514074A5A14
1FEC7F8090B5C7FCA214FC8080EB807F6E7E141F140FA61587ED8F80A215CFD87FF013DF
39FFF807FF1600806C486C5AC812F8212A7FA823>82 D<9038FF83800003EBE3C04813FF
121F5AEA7FC0EB003F00FE131F48130FA25A1407A26CEB038091C7FC127E127FEA3FF06C
B4FC6C13F06C13FC00017F39001FFF80010113C0EB001FEC0FE01407EC03F0A200701301
12F8A36C1303A26CEB07E06C130F9038E03FC090B5FC15005C00F15B38703FE01C2B7DA9
23>I<007FB512F8B612FCA439F807C07CA50070143800001400B3A7EBFFFE487FA36C5B
1E297EA823>I<39FFF81FFFA5390F8001F0B3A7EBC003A2000714E0EBE007EBF00F0003
14C0EBFC3F6CB512806C14006D5AEB1FF8EB07E0202A7FA823>I<397FF00FFE00FF14FF
A3007F14FE390F8001F0A23907C003E0A43903E007C0A4EBF00F00011480A43900F81F00
A4EB7C3EA4EB3C3CEB3E7CA3EB1E78A4EB1FF86D5AA36D5AA2202A7FA823>I<003FB512
E04814F0A4397C0007E0140FEC1FC01580143F0038EB7F00C7127E14FE495A5C1303495A
5C130F495A5C133F49C7FC137E13FE485A5B1203485A4913E0000FEB01F0EA1FC0138012
3FEA7F00127EB6FCA46C14E01C297DA823>90 D<007FB51280B612C0A46C14801A067C7E
23>95 D<3803FF80000F13E04813F8487F80EB80FFEC3F80381F001FC7FC140F14FF137F
0003B5FC120F5A387FF00F130012FCA25A141F7E6C133F387F81FF90B512FC6C14FE7E00
0713C73901FE01FC1F1D7D9C23>97 D<B47E7FA41207A7EBC1FCEBC7FF01DF13C090B512
E015F09038FE0FF8EBF8039038F001FCEBE000A249137EA2153EA5157E7F15FC7F140190
38F803F89038FE0FF090B5FC15E001DF138001CF1300380383F81F297FA823>I<EB3FF0
EBFFFC000313FF5A5A381FE07FEA3F80387F003E007E90C7FCA25AA25AA57EA2007E1307
007FEB0F80141FEA3FC0391FF07F006CB5FC6C5B6C5BC613F0EB3FC0191D7B9C23>I<EC
FF8015C0A41407A7EB7F873801FFE74813F7000F13FF5A13E0383F803F387F001F007E13
0FA2481307A25AA56C130FA2127E141F007F133F383F807FEBE0FF6CB512FE7E000313F7
6C13C738007F031F297EA823>I<EB3FC0EBFFF800037F4813FF481480381FF07F393F80
1FC0EB000F007E130715E05AB6FCA415C000F8C8FC7EA2007EEB01C0007FEB03E0383F80
0713E0391FF81FC06CB5FC6C14800001EBFE006C6C5AEB1FE01B1D7D9C23>I<EC01F090
383F07FC9038FFDFFE000313FF5A48147E381FE1FE9038807E18393F003F00A2003E7FA4
003F5BA2381F807EEBE1FE6CB45A485B5C001E13C0013FC7FC90C8FC121F1340380FFFFC
ECFF804814C04814F0397E0007F8007C130048147CA248143CA36C147C6C14FC007FEB03
F8EBE01F6CB512F0000F14C06C14800001EBFE0038003FF01F2E7E9D23>103
D<B47E7FA41207A7EBC1FCEBC7FF01DF138090B512C0A29038FE0FE0EBF807EBF00313E0
A313C0AD39FFFE1FFF5CA38020297FA823>I<133813FEA5133890C7FCA6EA7FFC487EA3
127FEA003EB3387FFFFEB6FCA36C13FE182A7AA923>I<14E0EB03F8A5EB00E01400A638
03FFF04813F8A37EC7FCB3AB13011238387C03F012FEEB0FE0B5FC14C06C13006C5AEA0F
F815397DA923>I<EA7F80487EA3127F1203A7ECFFFC13C1A313C0EC3F00147E5CEBC1F8
EBC3F0EBC7E0EBCFC0EBDFE0EBFFF0A2EBFCF8497EEBF07EEBE03E497E1580EC0FC01407
EC03E0397FFE0FFFB55AA36C487E20297FA823>I<EA7FFEB5FCA37EEA001FB3AD007FB5
12C0B612E0A36C14C01B297CA823>I<397E1F01F039FF7FC7FC9038FFEFFE14FF6C8039
0FE1FE1FEBC1FC01C07FEB80F8A2EB00F0AE3A7FE3FE3FE026FFF3FF13F0A3267FE3FE13
E0241D819C23>I<38FF81FCEBC7FF01DF138090B512C0A23907FE0FE0EBF807EBF00313
E0A313C0AD39FFFE1FFF5CA380201D7F9C23>I<133F3801FFE0487F487F487F381FC0FE
383F807F383E001F007E1480007C130F00FC14C0481307A66C130FA2007C1480007E131F
6CEB3F006D5A381FE1FE6CB45A6C5B6C5B6C5BD8003FC7FC1A1D7C9C23>I<38FF81FCEB
C7FF01DF13C090B512E015F03907FE0FF8EBF8039038F001FCEBE000A249137EA2153EA5
157E7F15FC7F14019038F803F89038FE0FF090B5FC15E001DF138001CF1300EBC3F801C0
C7FCAAEAFFFEA51F2C7F9C23>I<397FF00FE039FFF87FF8ECFFFC13FB6CB5FCC613F8EC
C078EC800091C7FC5BA25BA35BAA387FFFFCB57EA36C5B1E1D7E9C23>114
D<3801FF9C000F13FE5A127FA2EAFF0000FC137E48133EA26C131C6C1300EA7FF0383FFF
80000F13E06C13F838007FFCEB01FEEB007F0070133F00F8131F7E143F7E38FF80FFEBFF
FE14FC14F814F000701380181D7B9C23>I<137013F8A7007FB51280B612C0A36C1480D8
00F8C7FCACEC01C0EC03E0A3EBFC07140F9038FE1FC0EB7FFF158090383FFE00EB0FFCEB
07F01B257EA423>I<39FF807FC001C013E0A400071303B01407140FEBE03F90B6FC7EA2
C613F3EB3FC1201D7F9C23>I<39FFF03FFCA5390F8007C000071480A2EBC00F00031400
A26D5A0001131EA2EBF03E0000133CA2EBF87CEB7878A2EB7CF8EB3CF0A2133F6D5AA36D
5A6D5A1E1D7E9C23>I<003FB512F04814F8A4397C000FF0EC1FE0EC3FC00038EB7F80C7
EAFF00EB01FC495A495A495A495A495A49C7FC13FE485AD807F81370484813F8485A485A
485AB6FCA46C14F01D1D7E9C23>122 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fh cmtt9 9 42
/Fh 42 122 df<120FEA1FC0123F13E0A213F0121F120F1201A4120313E01207EA0FC0A2
EA3F80EA7F005A5A12F812700C1773AD27>39 D<EB01C0EB03E0130F131FEB3FC0EB7F80
EBFE00485A5B1203485A5B485AA2485AA248C7FCA3127EA45AAC127EA47EA36C7EA26C7E
A26C7E7F6C7E12017F6C7EEB7F80EB3FC0EB1FE0130F1303EB01C0133A73B327>I<1270
12F812FE7E6C7E6C7EEA0FE06C7E12037F6C7E1200137EA27FA2EB1F80A3EB0FC0A4EB07
E0ACEB0FC0A4EB1F80A3EB3F00A2137EA25B1201485A5B1207485AEA3FC0485A48C7FC5A
12F81270133A7AB327>I<120FEA3FC013E0EA7FF0A213F8A2123FA2120F120113F01203
EA07E0121FEA7FC0EAFF8013005A12700D14738927>44 D<EB3FE03801FFF84813FE000F
EBFF804814C0393FE07FE0EB800F397F0007F0007EEB03F800FE13015A6C14FC1400A312
7CC8FCA2140115F8A2140315F01407EC0FE0EC1FC0143FEC7F80ECFF00495A495A495A49
5A495A495A495A01FEC7FC485AD807F81378484813FC485A485A48B5FCB6FCA36C14F81E
2F7CAE27>50 D<EB03F0497EA2497EA4143CEB1F3EA5EB3F3FA3EB3E1FA2017E7FA4496C
7EA548486C7EA390B5FCA24880A3EBF003A248486C7EA4000F803A7FFC0FFF8000FF15C0
6D5A497E007F1580222F7EAE27>65 D<007FB5FCB612C08115F87E3907E003FCEC00FE15
7E157F81A6157EA25D1403EC0FF890B55A15C015F081819038E000FE157FED3F80151FA2
ED0FC0A6151F1680153FED7F004A5A007FB55AB65A5D15E06C1480222E7FAD27>I<9038
03F80E90381FFE1F90383FFFBF90B6FC5A3803FE0F3807F803497E48487E485A49137FA2
48C7123FA25A127E151E150012FE5AAA7E127EA2151E007F143F7EA26C7E157F6D137E6C
6C13FE3907F001FCEBF8033903FE0FF86CB512F06C14E0013F13C06D1300EB03F820307D
AE27>I<007FB61280B712C0A37E3907E0000FA6ED078092C7FCA4EC07804A7EA390B5FC
A5EBE00FA36E5A91C8FCA4ED03C0ED07E0A7007FB6FCB7FCA36C15C0232E7FAD27>69
D<903807F03890381FFC7C90387FFFFC90B5FC5A3803FC1F3807F00F380FE007EBC00300
1F13011380123F90C7FCA2127EA2157892C7FC5AA8EC1FFF4A1380A3007E6D1300EC00FC
A36C1301A21380121FEBC003120FEBE0073807F00F3803FC1F6CB5FC7EEB7FFE90381FFC
78D907F0C7FC21307DAE27>71 D<3A7FFE07FFE0B54813F0A36C486C13E03A07E0007E00
AF90B512FEA59038E0007EB03A7FFE07FFE0B54813F0A36C486C13E0242E7FAD27>I<3A
7FFC07FF8016C0486C5A6C487E16803A07C001F80014035D4A5A4A5A141F5D4AC7FC147E
14FE5CEBC1F8EBC3F013C75CEBCFF0EBDFF813FF8013FEEBFC7E143EEBF83F497E01E07F
140F01C07F1407811403816E7EA26E7E157C157E3A7FFC01FFC016E0486C5A6C487E16C0
232E7FAD27>75 D<387FFFC080B5FC7E5CD803F0C8FCB3AAED0780ED0FC0A7007FB6FCA2
B7FC7E1680222E7FAD27>I<D87FE0EB7FE0486CEBFFF0A26D5A007F15E0000F150001B8
13DFEBBC03A3EBBE07019E139FA3EB9F0FA2018F131FA2149FA2EB879EA4EB839C14FCA3
EB81F8A2EB80F01400AAD87FF0EBFFE0486C4813F0A36C486C13E0242E7FAD27>I<3A7F
F003FFE0486C4813F0A213FC007F6D13E000079038003E0013DEA313CFA3148013C714C0
A213C314E0A213C114F0A3EBC0F8A31478147CA2143C143EA2141E141F140FA3EC07BEA3
EC03FEEA7FFCEAFFFE1401A26C486C5A242E7FAD27>I<387FFFF0B512FE6E7E816C8039
07E01FF014076E7E1401811400A514015D14034A5A141F90B55A5D5DA281EBE01F6E7E14
076E7EA816F0EDF1F8A4397FFE01FBB5EBFFF08016E06C48EB7FC0C8EA1F00252F7FAD27
>82 D<90387FC0E03901FFF1F0000713FF5A5AEA3FE0EB801F387F000F007E130712FE5A
1403A3EC01E06C90C7FC127E127FEA3FC013F86CB47E6C13F86C13FE6CEBFF80C614C001
0F13E0010013F0140FEC07F81403140115FC1400127812FCA46CEB01F8A26C1303903880
07F09038F01FE090B5FC15C0150000F85B38701FF81E307CAE27>I<007FB61280B712C0
A439FC03F00FA60078EC0780000091C7FCB3AB90B512C04880A36C5C222E7EAD27>I<3A
7FFE01FFF8B54813FCA36C486C13F83A07E0001F80B3AB6D133F00031500A26D5B000114
7E6D13FE6C6C485A90387F87F814FF6D5B010F13C06D5BD901FEC7FC262F80AD27>I<3A
7FFC03FFE06D5A00FF15F0007F15E0497E3A07F000FE0000035CEBF80100015CA2EBFC03
00005CEBFE07017E5BA26D485AA290381F9F80A3010F90C7FCA2EB07FEA26D5AA26D5AAF
90381FFF80497FA36D5B242E7FAD27>89 D<3803FFC0000F13F04813FC4813FF811380EC
1FC0381F000F000480C71207A2EB0FFF137F0003B5FC120F5A383FFC07EA7FC0130012FE
5AA46C130F007F131FEBC0FF6CB612806C15C07E000313F1C69038807F8022207C9F27>
97 D<EA7FE0487EA3127F1203A914FF01F313C090B512F08181EC81FE49C67E49EB3F80
49131F16C049130FA216E01507A6150F16C07F151F6DEB3F80157F6DEBFF009038FF83FE
ECFFFC5D5D01F313C02601E0FEC7FC232E7FAD27>I<EB0FFF017F13C048B512E04814F0
5A380FF807EA1FE0393FC003E0903880008048C8FC127EA212FE5AA67E127EA2007F14F0
393F8001F813C0381FE003390FF80FF06CB5FC6C14E06C14C06C6C1300EB0FF81D207B9F
27>I<EC3FF04A7EA3143F1401A9EB0FE1EB7FFD48B5FC5A5A380FF83F381FE00F383FC0
07EB8003EA7F00007E1301A212FE5AA67E007E1303A2127F6C1307EB800F381FE01F380F
F03F6CB612C06C15E06C13FD38007FF9D91FE013C0232E7EAD27>I<EB0FF8EB3FFE90B5
1280000314C04814E0390FFC0FF0391FE003F8EBC001D83F8013FC48C7FC127E157E12FE
B612FEA415FC00FCC8FC7E127E127F6C143C6D137E6C7E01F013FE390FFC07FC6CB5FC00
0114F86C14F0013F13C0903807FE001F207D9F27>I<EC1FF0ECFFF84913FC4913FE5BEB
0FF014C0011F137CEC8000A6007FB512F0B612F8A36C14F039001F8000B3A4003FB512C0
4814E0A36C14C01F2E7EAD27>I<153F90391FC0FF80D97FF313C048B612E05A4814EF39
0FF07F873A1FC01FC3C0EDC000EB800F48486C7EA66C6C485AEBC01FA2390FF07F8090B5
C7FC5C485BEB7FF0EB1FC090C9FCA27F6CB5FC15E015F84814FE4880EB8001007EC7EA3F
80007C140F00FC15C0481407A46C140F007C1580007F143F6C6CEB7F009038F807FF6CB5
5A000714F86C5CC614C0D90FFCC7FC23337EA027>I<EA7FE0487EA3127F1203A9147F90
38F1FFC001F713F090B5FC8114C1EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C713F0
A36C018313E0242E7FAD27>I<130F497E497EA46D5A6DC7FC90C8FCA7383FFF80487FA3
7EEA000FB3A4007FB512F0B6FC15F815F07E1D2F7BAE27>I<143C147E14FFA4147E143C
1400A73801FFFE4813FFA37EC7123FB3B0147E1238007C13FE38FE01FC1303B512F814F0
6C13E06C13803807FE0018407CAE27>I<EA7FE07F12FF127FA21201A991383FFFC04A13
E0A36E13C0913803F8004A5A4A5A4A5A4A5A02FFC7FCEBF1FEEBF3FCEBF7F8EBFFFC8080
143F496C7E496C7E01F87FEBF0076E7E6E7E816E7E157E3A7FFFC1FFF002C313F8B512E3
6C13C316F0252E80AD27>I<387FFF80B57EA37EEA000FB3B2007FB512F8B612FCA36C14
F81E2E7CAD27>I<397F07C01F3AFF9FF07FC09039FFF9FFE091B57E7E3A0FFC7FF1F890
38F03FC001E0138001C01300A3EB803EB03A7FF0FFC3FF486C01E3138001F913E701F813
E36C4801C313002920819F27>I<387FE07F39FFF1FFC001F713F090B5FC6C80000313C1
EC01FCEBFE005B5BA25BB03A7FFF83FFE0B500C713F0A36C018313E024207F9F27>I<EB
1FE0EB7FF83801FFFE487F481480390FF03FC0391FC00FE0393F8007F0EB00034814F800
7E1301A248EB00FCA76C1301007E14F8A2007F1303393F8007F0A2391FE01FE0390FF03F
C06CB512806C14006C5B38007FF8EB1FE01E207C9F27>I<387FE0FFD8FFF313C090B512
F0816C800003EB81FE49C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F15
1F6DEB3F80157F6DEBFF009038FF83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387F
FF80B57EA36C5B23317F9F27>I<397FFC03FC39FFFE0FFF023F13804A13C0007F90B5FC
39007FFE1F14F89138F00F809138E002004AC7FC5CA291C8FCA2137EAD007FB57EB67EA3
6C5C22207E9F27>114 D<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07
806C90C7FCEA7F8013FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014
070078EB03F000FC1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707F
F01C207B9F27>I<133C137EA8007FB512F0B612F8A36C14F0D8007EC7FCAE1518157EA4
15FE6D13FC1483ECFFF86D13F06D13E0010313C0010013001F297EA827>I<3A7FFE07FF
E000FF15F06D5A497E007F15E03A0F80001F00A36D5B0007143EA414F0EBC1F83903E3FC
7CA4EBE79EA200011478A301F713F8A2EBFF0F6C5CA3EBFE0790387C03E024207F9F27>
119 D<393FFC1FFF486C5A168016006C487E3901F807E06C6C485A4A5A017E90C7FC6D5A
EB1F7E5C6D5A13076D5A5C80497E130F497E143EEB3E3FEB7E1F90387C0F8001F87F0001
6D7E3803F0033A7FFE1FFF80A2B54813C06C486C1380A222207E9F27>I<3A7FFC0FFF80
486C4813C0A36C486C13803A07E000F800000313015D13F00001130301F85B1200A26D48
5A137CA290387E0F80133EA2011F90C7FC5CA2130F149E14BE130714FC1303A25C1301A2
5CA213035CA213075C1208EA3E0F007F5B131FD87E7FC8FCEA7FFE6C5A5B6C5AEA07C022
317E9F27>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fi cmmi7 7 2
/Fi 2 85 df<903B3FFFF01FFFF8A2D901FCC7EAFE004A5CA2010314015F5CA201071403
5F5CA2010F14075F5CA2011F140F91B65AA2913880000F013F141F5F91C7FCA249143F94
C7FC137EA201FE5C167E5BA2000115FE5E5BA200031401B539C07FFFE0A235287DA736>
72 D<000FB712E05A9039800FE007D81E009038C001C05A0038011F1300123000705C00
601501023F148012E0481400A2C74890C7FCA2147EA214FEA25CA21301A25CA21303A25C
A21307A25CA2130FA25CA2131F001FB57EA22B287DA727>84 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fj cmsy10 10 2
/Fj 2 42 df<1478A414F85CA213015C1303495AA2495A49CCFC5B137E5B485A485AEA0F
E0003FBA12FEBCFCA2003F19FED80FE0CCFCEA03F06C7E6C7E137E7F7F6D7E6D7EA26D7E
1301801300A2801478A4482C7BAA53>32 D<173CA2173E171E171F8384717E170384717E
717E187C007FB812FEBAFC856C84CBEA03F0727EF000FEF13F80F11FE0F107F8F101FFA2
F107F8F11FE0F13F80F1FE00F001F84E5A007FB912C0BA5A96C7FC6C5FCB127C604D5A4D
5A6017074D5A95C8FC5F171E173E173CA248307BAC53>41 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fk cmmi10 10 7
/Fk 7 122 df<EC3FC0ECFFF8903807E07C90380F801FD93F00EB800C017E130F499038
07C01C4848ECE018485A484801031338000FEDF0305B001F16704848156017E0007F16C0
90C713F1178016F34816004815F716FE5EA2485D5EA4007E1407150F003E91381DF81800
3F14796C02E11338270F8007C013303B07E03F007CF02601FFF8EB3FC026003FC0EB0F80
2E267DA435>11 D<ED07F0ED1FFE9238780F809238E007C0913901C003E09138038001DA
070013F0140E4A13004A14F8143002701301146002E014F05C010114035C17E001031407
91C713C0EE0F8049EC1F000106143E913803FE7C90390E07FFF890390C0E03E091380FFF
F0913803FC78011CC7127C011880A28213381330A2178013701360A301E0143F491500A3
00015D167E5B16FE00035D6D495AA24B5A00074A5AD806E0495A0160495A0170013EC7FC
D80E3813FC390C1E03F0903807FFC0D901FEC8FC001CCAFC1218A312381230A312701260
A312E05AA22D4B7EBA2F>I<1760177017F01601A21603A21607160FA24C7EA216331673
166316C3A2ED0183A2ED0303150683150C160115181530A21560A215C014011580DA0300
7FA202061300140E140C5C021FB5FC5CA20260C7FC5C83495A8349C8FC1306A25BA25B13
385B01F01680487E000716FFB56C013F13FF5EA2383C7DBB3E>65
D<0103B77E4916F018FC903B0007F80003FE4BEB00FFF07F80020FED3FC0181F4B15E0A2
141FA25DA2143F19C04B143F1980027F157F190092C812FE4D5A4A4A5AEF0FF04AEC1FC0
05FFC7FC49B612FC5F02FCC7B4FCEF3FC00103ED0FE0717E5C717E1307844A1401A2130F
17035CA2131F4D5A5C4D5A133F4D5A4A4A5A4D5A017F4BC7FC4C5A91C7EA07FC49EC3FF0
B812C094C8FC16F83B397DB83F>I<9339FF8001C0030F13E0037F9038F80380913A01FF
807E07913A07F8000F0FDA1FE0EB079FDA3F80903803BF0002FFC76CB4FCD901FC80495A
4948157E495A495A4948153E017F163C49C9FC5B1201484816385B1207485A1830121F49
93C7FCA2485AA3127F5BA312FF90CCFCA41703A25F1706A26C160E170C171C5F6C7E5F00
1F5E6D4A5A6C6C4A5A16076C6C020EC8FC6C6C143C6C6C5C6CB4495A90393FE00FC0010F
B5C9FC010313FC9038007FC03A3D7CBA3B>I<903907E001F090391FF807FC9039783E0E
0F9039E01F1C1FD801C09038383F803A03800FF07F0100EBE0FF5A000E4A1300000C157E
021F133C001C4AC7FC1218A2C7123FA292C8FCA25CA2147EA214FEA24A130CA20101141C
001E1518003F5BD87F81143801835C00FF1560010714E03AFE0E7C01C0D87C1C495A2778
383E0FC7FC391FF00FFC3907C003F029267EA42F>120 D<13F8D803FE1470D8070F14F8
000EEB8001121C121800381403003015F0EA701F1260013F130700E0010013E012C05BD8
007E130F16C013FE5B151F000115805BA2153F000315005BA25D157EA315FE5D14010001
13033800F80790387C1FF8EB3FF9EB0FE1EB00035DA2000E1307D83F805B007F495AA24A
5A92C7FCEB003E007C5B00705B6C485A381E07C06CB4C8FCEA01FC25367EA429>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fl cmtt10 10 46
/Fl 46 122 df<EA0F80EA1FC0EA3FE013F0A213F8A2121F120F1200A4120113F0A21203
13E01207EA0FC0121FEA3F80EA7F0012FE5A5A12700D1B71B22C>39
D<143814FC13011303EB07F8EB0FF0EB1FC0EB3F80EB7F0013FE485A485A5B12075B120F
5B485AA2123F90C7FCA25A127EA312FE5AAC7E127EA3127F7EA27F121FA26C7E7F12077F
12037F6C7E6C7E137FEB3F80EB1FC0EB0FF0EB07F8EB03FC130113001438164272B92C>
I<127012FC7E7E6C7E6C7EEA0FE06C7E6C7E6C7E6C7E137F7F1480131F14C0130FEB07E0
A214F01303A214F81301A314FC1300AC130114F8A3130314F0A2130714E0A2EB0FC0131F
1480133F14005B13FE485A485A485A485AEA3FC0485A48C7FC5A5A1270164279B92C>I<
EA0F80EA1FE0EA3FF0EA7FF8A213FCA3123F121F120F120013F8A21201EA03F01207EA1F
E0EA7FC0EAFF80130012FC12700E17718A2C>44 D<1307497EA2131FA2133F137F13FF5A
1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C>49
D<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48C7
EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F1680153F
16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F80
49C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>I<
14FE497EA4497FA214EFA2130781A214C7A2010F7FA314C390381F83F0A590383F01F8A4
90387E00FCA549137E90B512FEA34880A29038F8003FA34848EB1F80A4000715C049130F
D87FFEEBFFFC6D5AB514FE6C15FC497E27347EB32C>65 D<007FB512E015F8B612FE6C80
16C03903F0003FED0FE0ED07F01503A2ED01F8A6ED03F0A21507ED0FE0ED1FC0EDFF8090
B612005D5D15FF16C09039F0001FE0ED07F0ED03F81501ED00FCA216FE167EA616FE16FC
1501ED03F8150FED3FF0007FB612E016C0B712806CECFE0015F027337FB22C>I<02FF13
700107EBE0F84913F9013F13FD4913FFEBFF813901FE007F4848131FD807F0130F150748
5A491303485A150148C7FCA25A007EEC00F01600A212FE5AAB7E127EA3007F15F06CEC01
F8A26C7EA26C6C13036D14F06C6C130716E0D803FC131F6C6CEB3FC03A00FF81FF806DB5
12006D5B010F5B6D13F00100138025357DB32C>I<007FB612F0B712F8A37E3903F00001
A7ED00F01600A4EC01E04A7EA490B5FCA5EBF003A46E5A91C8FCA5163C167EA8007FB612
FEB7FCA36C15FC27337EB22C>69 D<903901FC038090390FFF87C04913EF017F13FF90B6
FC4813073803FC01497E4848137F4848133F49131F121F5B003F140F90C7FCA2127EED07
8092C7FCA212FE5AA8913803FFF84A13FCA27E007E6D13F89138000FC0A36C141FA27F12
1F6D133F120F6D137F6C7E6C6C13FF6D5A3801FF076C90B5FC6D13EF011F13CF6DEB0780
D901FCC7FC26357DB32C>71 D<D87FFEEBFFFCB54813FEA36C486C13FCD807E0EB0FC0B1
90B6FCA59038E0000FB3D87FFEEBFFFCB54813FEA36C486C13FC27337EB22C>I<D87FFC
EB7FF8486CEBFFFCA36C48EB7FF8D807C0EB1F80153FED7F00157E5D4A5A14034A5A5D4A
5A4A5A143F4AC7FC147E5CEBC1F813C3EBC7FCA2EBCFFEEBDFBEEBFFBF141F01FE7F496C
7E13F86E7EEBF00301E07FEBC001816E7EA2157E153E153F811680ED0FC0A2ED07E0D87F
FCEB1FFC486CEB3FFEA36C48EB1FFC27337EB22C>75 D<387FFFE0B57EA36C5BD803F0C8
FCB3AE16F0ED01F8A8007FB6FCB7FCA36C15F025337DB22C>I<D87FE0EB0FFC486CEB1F
FEA26D133F007F15FC000F15E001BC137BA4019E13F3A3EB9F01A2018F13E3A21483A201
8713C314C7A201831383A214EFA201811303A214FFEB80FEA3147C14381400ACD87FF0EB
1FFC486CEB3FFEA36C48EB1FFC27337EB22C>I<D87FF0EB7FFC486CEBFFFEA27F007FEC
7FFCD807FEEB07C013DEA213DF13CFA2148013C714C0A213C314E0A213C114F0A213C014
F8A2147CA3143EA2141E141FA2140F1587A2140715C7A2140315E71401A215F71400A215
FFD87FFC137F487E153FA26C48EB1F8027337EB22C>I<387FFFFCB67E15E015F86C8039
07E007FE1401EC007F6F7E151FA26F7EA64B5AA2153F4BC7FCEC01FE140790B55A5D15E0
81819038E007FCEC01FE1400157F81A8160FEE1F80A5D87FFEEB1FBFB5ECFF00815E6C48
6D5AC8EA01F029347EB22C>82 D<90381FF80790B5EA0F804814CF000714FF5A381FF01F
383FC003497E48C7FC007E147F00FE143F5A151FA46CEC0F00007E91C7FC127F7FEA3FE0
EA1FFCEBFFC06C13FC0003EBFFC06C14F06C6C7F01077F9038007FFEEC07FF0200138015
3FED1FC0A2ED0FE0A20078140712FCA56CEC0FC0A26CEC1F806D133F01E0EB7F009038FE
01FF90B55A5D00F914F0D8F83F13C0D8700790C7FC23357CB32C>I<007FB612FCB712FE
A43AFC007E007EA70078153CC71400B3AF90383FFFFCA2497F6D5BA227337EB22C>I<3B
7FFF803FFFC0B56C4813E0A36C496C13C03B03F00001F800B3AF6D130300015DA26D1307
00005D6D130F017F495A6D6C485AECE0FF6DB5C7FC6D5B010313F86D5B9038003F802B34
80B22C>I<D87FFCEB7FFC486CEBFFFEA36C48EB7FFCD80FC0EB07E06D130F000715C0A3
6D131F00031580A36D133F00011500A36D5B0000147EA4017E5BA46D485AA490381F83F0
A4010F5B14C7A301075BA214EFA201035BA214FFA26D90C7FCA46D5A27347EB22C>I<D8
7FFCEB7FFC486CEBFFFEA36C48EB7FFCD807F0EB0FC0151F000315806D133F12016DEB7F
0012006D137E017E13FE017F5BEB3F01EC81F8131FEC83F0EB0FC314C7903807E7E0A201
035B14EF6DB45AA292C7FC7F5C147EB0903807FFE0497FA36D5B27337EB22C>89
D<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8
127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F
14FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>
97 D<EA7FF0487EA3127F1201AAEC1FE0ECFFF801FB13FE90B6FC16809138F07FC09138
801FE091380007F049EB03F85BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13
036DEB07F0150F9138801FE09138E07FC091B51280160001FB5B01F813F83900F03FC027
337FB22C>I<903803FFE0011F13F8017F13FE48B5FC48804848C6FCEA0FF0485A49137E
4848131890C9FC5A127EA25AA8127EA2127F6C140F6DEB1F806C7E6D133F6C6CEB7F0039
07FE03FF6CB55A6C5C6C6C5B011F13E0010390C7FC21247AA32C>I<EC0FFE4A7EA380EC
003FAAEB07F8EB3FFE90B512BF4814FF5A3807FC0F380FF00348487E497E48487F90C7FC
007E80A212FE5AA87E007E5CA2007F5C6C7E5C6C6C5A380FF0073807FC1F6CB612FC6CEC
BFFE6C143FEB3FFC90390FF01FFC27337DB22C>I<EB03FE90381FFFC0017F13F048B57E
48803907FE03FE390FF800FFD81FE0EB3F805B4848EB1FC090C7120F5A007E15E015075A
B7FCA416C000FCC9FC7E127EA2127F6CEC03C06DEB07E06C7ED80FF0130F6C6CEB3FC001
FF13FF000190B512806C1500013F13FC010F13F00101138023247CA32C>I<EC0FF8EC3F
FE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FCA6007FB512FEB7FCA36C
5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>I<ED03F8903907F80FFC90
391FFE3FFE017FB6FC48B7FC48ECFE7F9038FC0FF82607F003133E3A0FE001FC1CD9C000
1300001F8049137EA66D13FE000F5CEBE0016C6C485A3903FC0FF048B5FC5D481480D99F
FEC7FCEB87F80180C8FCA37F6C7E90B512F06C14FE48ECFF804815E04815F03A3FC0001F
F848C7EA03FC007E1400007C157C00FC157E48153EA46C157E007E15FCD87F801303D83F
E0EB0FF8D81FFCEB7FF06CB612E0000315806C1500D8003F13F8010713C028387EA42C>
I<EA7FF0487EA3127F1201AAEC1FE0EC7FFC9038F9FFFE01FB7F90B6FC9138F03F80ECC0
1F02807FEC000F5B5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029337FB22C>I<
1307EB1FC0A2497EA36D5AA20107C7FC90C8FCA7387FFFC080B5FC7EA2EA0007B3A8007F
B512FCB612FEA36C14FC1F3479B32C>I<140EEC3F80A2EC7FC0A3EC3F80A2EC0E0091C7
FCA748B512804814C0A37EC7120FB3B3A2141F003C1480007E133FB414005CEB01FEEBFF
FC6C5B5C001F5B000790C7FC1A467CB32C>I<EA7FE0487EA3127F1201AA91381FFFF04A
13F8A36E13F0913800FE004A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FEEBF1FC13F3EBF7FE
90B5FCA2EC9F80EC0FC001FE7FEBFC07496C7E496C7E811400157E811680151F3A7FFFC0
FFFCB500E113FEA36C01C013FC27337EB22C>I<387FFFE0B57EA37EEA0003B3B3A5007F
B61280B712C0A36C158022337BB22C>I<3A7F83F007E09039CFFC1FF83AFFDFFE3FFCD8
7FFF13FF91B57E3A07FE1FFC3E01FCEBF83F496C487E01F013E001E013C0A301C01380B3
3B7FFC3FF87FF0027F13FFD8FFFE6D13F8D87FFC4913F0023F137F2D2481A32C>I<397F
F01FE039FFF87FFC9038F9FFFE01FB7F6CB6FC00019038F03F80ECC01F02807FEC000F5B
5BA25BB3267FFFE0B5FCB500F11480A36C01E0140029247FA32C>I<EB07FCEB1FFF017F
13C048B512F048803907FC07FC390FF001FE48486C7E0180133F003F158090C7121F007E
EC0FC0A348EC07E0A76C140F007E15C0A2007F141F6C15806D133F6C6CEB7F006D5B6C6C
485A3907FC07FC6CB55A6C5C6C6C13C0011F90C7FCEB07FC23247CA32C>I<397FF01FE0
39FFF8FFF801FB13FE90B6FC6C158000019038F07FC09138801FE091380007F049EB03F8
5BED01FC491300A216FE167EA816FE6D14FCA2ED01F86D13036DEB07F0150F9138801FE0
9138E07FC091B51280160001FB5B01F813F8EC3FC091C8FCAD387FFFE0B57EA36C5B2736
7FA32C>I<D87FFEEB3FC0B53801FFF0020713F8021F13FC6C5B39003F7FE1ECFF019138
FC00F84A13704A13005CA25C5CA391C8FCAF007FB512E0B67EA36C5C26247EA32C>114
D<90387FF8700003B512F8120F5A5A387FC00F387E00034813015AA36CEB00F0007F1400
13F0383FFFC06C13FE6CEBFF80000314E0C66C13F8010113FCEB0007EC00FE0078147F00
FC143F151F7EA26C143F6D133E6D13FE9038F007FC90B5FC15F815E000F8148039701FFC
0020247AA32C>I<131E133FA9007FB6FCB71280A36C1500D8003FC8FCB1ED03C0ED07E0
A5EC800F011FEB1FC0ECE07F6DB51280160001035B6D13F89038003FE0232E7EAD2C>I<
3A7FF003FF80486C487FA3007F7F0001EB000FB3A3151FA2153F6D137F3900FE03FF90B7
FC6D15807F6D13CF902603FE07130029247FA32C>I<3A7FFF01FFFCB514FE148314016C
15FC3A03E0000F80A26D131F00011500A26D5B0000143EA26D137E017C137CA2017E13FC
013E5BA2EB3F01011F5BA21483010F5BA214C701075BA214EF01035BA214FF6D90C7FCA2
6D5A147C27247EA32C>I<D87FFFEB7FFF6EB5FCB515806C16004A7ED807C0EB01F0A66C
6C495AA3143E147FA2D801F0495AECFF87A214F7A201F113C700005D9038F9E3CFA201FB
13EFA3D97BC190C7FC017F13FFA21480A2013F5B90381F007C29247FA32C>I<3A3FFF03
FFF048018713F8A36C010313F03A00FC007E005D90387E01F8013F5BEB1F83EC87E09038
0FCFC0903807EF80EB03FF6D90C7FC5C6D5A147C14FE130180903803EF80903807CFC0EB
0FC7EC83E090381F01F0013F7FEB7E00017C137C49137E0001803A7FFF01FFFC1483B514
FE6C15FC140127247EA32C>I<3A7FFF01FFFCB5008113FE148314816C010113FC3A03E0
000F806C7E151F6D140012005D6D133E137C017E137E013E137CA2013F13FC6D5BA2EB0F
815DA2EB07C1ECC3E0A2EB03E3ECE7C0130114F75DEB00FFA292C7FC80A2143EA2147E14
7CA214FC5CA2EA0C01003F5BEA7F83EB87E0EA7E0F495A387FFF806C90C8FC6C5A6C5AEA
07E027367EA32C>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fm cmr10 10 12
/Fm 12 113 df<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA21207
5B120F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F1203
A26C7EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40
D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F
A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2
5BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<15301578B3A6007FB812
F8B912FCA26C17F8C80078C8FCB3A6153036367BAF41>43 D<12301238123E003FB612E0
A316C05A168016000070C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC
5C140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96D
C8FC131E233B7BB82A>55 D<007FB812F8B912FCA26C17F8CCFCAE007FB812F8B912FCA2
6C17F836167B9F41>61 D<913A01FF800180020FEBE003027F13F8903A01FF807E07903A
03FC000F0FD90FF0EB039F4948EB01DFD93F80EB00FF49C8127F01FE153F12014848151F
4848150FA248481507A2485A1703123F5B007F1601A35B00FF93C7FCAD127F6DED0180A3
123F7F001F160318006C7E5F6C7E17066C6C150E6C6C5D00001618017F15386D6C5CD91F
E05C6D6CEB03C0D903FCEB0F80902701FF803FC7FC9039007FFFFC020F13F00201138031
3D7BBA3C>67 D<B812F8A30001903880001F6C90C71201EE00FC177C173C171CA2170CA4
170E1706A2ED0180A21700A41503A21507151F91B5FCA3EC001F15071503A21501A692C8
FCAD4813C0B612C0A32F397DB836>70 D<EB1FE0EBFFFC3803E03F3907000F80390F8007
E0486C6C7E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0
EA1FC0123F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E3A
0FE0781FF03A03FFF00FE03A007F8007C026277DA52A>97 D<EB03FC90381FFF8090387E
03E03901F80070484813F83907E001FC380FC003A2EA1F80123F90380001F848EB00F015
00A2127E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13386C6C13706C
6C13E039007C07C090381FFF00EB07F81F277DA525>99 D<EA03F012FFA3120F1203B3B3
AD487EB512C0A3123A7EB917>108 D<EB03FE90380FFF8090383E03E09038F800F84848
137C48487F48487F4848EB0F80001F15C090C712074815E0A2007EEC03F0A400FE15F8A9
007E15F0A2007F14076C15E0A26C6CEB0FC0000F15806D131F6C6CEB3F006C6C137EC66C
13F890387E03F090381FFFC0D903FEC7FC25277EA52A>111 D<3903F01FE000FFEB7FF8
9038F1E07E9039F3801F803A0FF7000FC0D803FEEB07E049EB03F04914F849130116FC15
0016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13076DEB0FE001F614C09039F7803F
009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512C0A328357EA42E>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fn cmcsc10 10.95 4
/Fn 4 87 df<B56C91387FFFFC8080D8007F030313806E913800FE006E157C1838EB77FC
EB73FE80137101707F6E7EA26E7E6E7EA26E7E6E7EA26E7E6E7EA26E7F6F7EA26F7E6F7E
A26F7E6F7E8215036F7E6F1380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE
01FF7013B8A2EF7FF8173FA2171F170F1707A2170301F81501487ED807FF1500B500F815
78A218383E3E7BBD4A>78 D<ED3FF80203B57E91390FE00FE091397F0001FC02FCEB007E
D903F86E7E49486E7ED90FC0EC07E0D93F80EC03F8017F8291C8120101FE6F7E4848167F
000318804848EE3FC0A2000F18E049161F001F18F0A24848EE0FF8A3007F18FC491607A3
00FF18FEAC007F18FC6D160FA3003F18F8A26D161F001F18F0A26C6CEE3FE0A2000718C0
6D167F000318806C6CEEFF006C6C4B5AA26D6C4A5A6D6C4A5A6D6C4A5AD907F0EC1FC06D
6C4A5AD900FE02FEC7FC91397F8003FC91391FE00FF00203B512809126003FF8C8FC3F42
7ABF4D>I<B600C090387FFFFCA3000101E0C70003138026007F80913800FE00187C1838
B3B3A4013F16786E1570A218F0011F5E6E1401010F5E6D6C1403606D6C14076D6C4AC7FC
6D6C141E027F147C91393FC001F891390FF00FE00203B55A020049C8FCED1FF03E407BBD
4A>85 D<B64AB512C0A3000301E09139003FFC00C60180ED0FF0725A017F5F616D7E96C7
FC6E5D011F160EA26D6C5DA26E153C01071638A26E1578010316706E15F001015EA26E14
016D5E81027F4A5AA26F1307023F92C8FC81021F140EA26F131E020F141C8102075CA26F
137802031470A26E6C5BA2EDFF016E5CA292387F8380A216C7033F90C9FCA216EFED1FEE
16FE6F5AA36F5AA26F5AA36F5AA242407DBD4A>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fo cmss8 8 1
/Fo 1 111 df<EB0FE038FC3FF8EBFFFC00FD7FB6FC13C0EB803F0100138048131FA35A
B3A2191F7B9E24>110 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fp cmitt10 10.95 1
/Fp 1 121 df<903907F003F890393FFC0FFE9039FFFE3FFF486D4813804891B5FC4816
C03A0FFC3FFE1F391FF01FFC01E001F813E0393FC00FF00180EC3FC0007F14E013004801
1FEB1F80EE0F00007E4AC7FCC7FC143F5DA3147F92C8FCA216074AEB0FC0001E49131F12
3F5A0181143F00FFED7F801301D8FE03ECFF00496C485A6C4813876CB65A5E6C5D6C019F
13C0260FFE0790C7FC3903F801FC2B2979A730>120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fq cmmi6 6 4
/Fq 4 85 df<90B612FEA2903907C0007E161E4948130EA2160CA249C7FC1530A3013EEB
6000A2EC01E0EB3FFF495BEB7C01A301F85B1630A291C71260485A16C0A215014848EB03
801507ED0F000007147FB7FC5D27227CA12D>69 D<903AFFFE07FFF0A2903A07C0003E00
A249485BA449C75AA4013E495AA3013FB5FC495C90387C0003A349495AA44848495AA448
4849C7FCA300075C3AFFFE07FFF0A22C227CA132>72 D<EBFFFEA2EB07C0A2EB0F80A4EB
1F00A4133EA45BA45BA4485AA4485AA31207EAFFFEA217227DA11B>I<001FB612FCA290
39003E007C003C151C00385B12300070151812605C5AA3C648481300A4495AA4495AA449
5AA449C8FCA35B381FFFFE5C26227DA124>84 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fr cmsy9 9 3
/Fr 3 33 df<123C127E12FFA4127E123C08087A9615>1 D<130E131FA639700E01C000
F8EB03E000FE130F00FF131F397F8E3FC0391FEEFF003803FFF8C613E0EB3F80A2EBFFE0
000313F8381FEEFF397F8E3FC039FF0E1FE000FE130F00F813030070EB01C0D8001FC7FC
A6130E1B207BA226>3 D<14E080A213015CA213035C1307495AA249CCFC133E137E5B48
5A485AEA0FE0003FBA12E0BB12F0A2003F19E0D80FE0CCFCEA03F06C7E6C7E137E133E7F
6D7EA26D7E1303801301A2801300A25C44287CA64D>32 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fs cmmi9 9 10
/Fs 10 111 df<147F903803FFE090380FC0F890383F007C017C017E1360497F484815E0
484890381F80C0120748481481EEC1804848130F003F15C390C7140016C74815C6007E15
CE16DC16D816F8485D5E5E127CA3151F6C143F037713C06C903801E7E03A0F800783E13B
07C07E03E3803B01FFF801FF003A007F80007C2B227EA031>11 D<ED0FE0ED7FF8913801
F03E913803801F913907000F80020E13074A14C05C5C146014E0495A5C130391C7120F17
8049141F010615005E010E143E010C5C913807F8F890391C0FFFE09039181C0FC091381F
FFE0913807F9F00138C77E1330167CA20170147E1360A313E05BA3000115FE495CA30003
4A5AA24B5A4B5A487E00064A5A6D495A0170013EC7FCD80E3813FC390C1E03F090380FFF
C0D901FCC8FC001CCAFC1218A312381230A312701260A312E0A22A447FB42B>I<123C12
7E12FFA4127E123C08087A8715>58 D<16035E5EA24C7EA2163F167FA216FFA2ED01BFED
033F831506161F150C1518A215301570156015C083EC01800203130F15001406A25C141C
14184A80A2027FB5FC91B6FCA2903901800007A249C7FC1306835B16035B5B1370136013
E01201D807F04A7EB549B512F0A25B34367DB53A>65 D<010FB612F017FEEFFF80903B00
3FC0003FE0EF0FF017074B14F81703027F15FCA292C7FCA25C18F84A140718F00101150F
18E04AEC1FC0EF3F800103ED7F00EE01FE4AEB07F891B612E04915809139F8001FF04AEB
03FCEE00FE010F157FA24AEC3F80A2011F16C0A25CA2133F18804A147FA2017FEDFF005F
91C712014C5A494A5A4C5A49EC3FE00001913801FF80B748C7FC16F816C036337DB23A>
I<DB0FF81318DB7FFF13380203B5EAC078913A0FFC03E0F091393FC000F102FFC7123BD9
01FC141FD907F815E04948140F49481407EB3F80017F16C049C81203485A5B0003178048
5A485AA248481600A2485A94C7FC127F5BA312FF90CBFCA45AA21738A21730A217701760
17E0007F4B5A5F16036C6C4AC7FC160E6C6C5C6C6C5C6C6C5C6C6C495A6C6CEB07C02700
FF803FC8FC90383FFFFC010F13F00101138035377CB437>I<010FB712FEA218FC903A00
3FC000031700187C4B143CA2027F151C181892C8FCA25CA24A1303A201014A1338040613
304A1500160E13035E4A137C91B512FC5B5EECF0001638130F16305C1860011F027013E0
046013C04A140104001380133F17034A15005F017F150EA291C8121E5F49157C5F491403
0001ED1FF0B8FCA25F37337DB239>69 D<03FF13180207EBE038021FEBF87891397F00FC
F802FCEB1FF0D901F0130F4948130749481303494814E0A249C71201A2013E15C0A3137E
1780A2017F91C7FC8080EB3FF014FF15F06D13FE6D6D7E6D806D80010080020F7F140015
0F6F7E150315011500A2120CA2001C5D1218A2150100385D003C14035E4B5A007E4A5A00
7F141F6D49C7FCD87BE0137C39F9FC03F839F07FFFE0D8E01F138026C003FEC8FC2D377C
B42F>83 D<ED01F815FFA216F01507A316E0A2150FA216C0A2151FA21680A2153FA2D901
F81300EB07FE90381F077F90387C03FF496C5AEA01F000031300485A495B120F381F8001
A2D83F005BA214035A007E5CA2140712FE485C1640020F136016E0EDC0C0127CEC1FC102
3F1380003CEB7F81003EEBEF833A1E01C7C300390F0787C73907FE03FE3900F800F82535
7EB328>100 D<D801E013FE3A07F803FF803A0E3E0F07E0001C90383C03F039181F7001
003813E026303FC07F12700060138014001503D8E07F5CEA407E1200150701FE5C5B150F
5E120149131FEE8080EE81C00003023F13804914011603037F13000007147E495CED3E0E
5E000FEC1E3849EB0FF0D80380EB03C02A227EA02E>110 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Ft cmex10 10 29
/Ft 29 126 df<EE01E01603EE07C0EE0F80161F1700163E5E5E15015E4B5A15074B5A5E
151F4BC7FC153E157E5DA24A5A14035D14075D140F5D141F5D143F92C8FC5C147E14FE5C
1301A25C13035C1307A25C130FA2495AA3495AA3137F91C9FCA25B5BA312015BA31203A2
5BA21207A35BA2120FA35BA3121FA45BA2123FA75B127FAC90CAFC5AB3B3A27E7FAC123F
7FA7121FA27FA4120FA37FA31207A27FA31203A27FA21201A37F1200A37F7FA280133FA3
6D7EA36D7EA2130780A2130380130180A2130080147E147F8081141F81140F8114078114
038114016E7EA2157E153E153F6F7E150F826F7E15036F7E821500167C82821780160FEE
07C0EE03E016012BF86C8242>32 D<12F07E127C7E123F7E6C7E6C7E6C7E7F12016C7E7F
137E133E133F6D7E130F806D7EA26D7E80130180130080147E147F8081141F81140F8114
0781A2140381140181A2140081A2157FA36F7EA382151FA282150FA3821507A382A21503
A282A31501A282A31500A382A482A21780A7163F17C0AC161F17E0B3B3A217C0163FAC17
80167FA71700A25EA45EA31501A35EA21503A35EA21507A25EA3150F5EA3151F5EA2153F
5EA34BC7FCA315FEA25D1401A25D14035D1407A25D140F5D141F5D143F92C8FC5C147E14
FE5C13015C13035C495AA2495A5C131F49C9FC133E137E5B5B485A12035B485A485A48CA
FC5A123E5A5A5A2BF87E8242>I<B61280A600FCC8FCB3B3B3B3B3B3B3B3B3B3B3B3B3A2
B61280A619F86A8230>I<B61280A6C7121FB3B3B3B3B3B3B3B3B3B3B3B3B3A2B6FCA619
F8808230>I<EE03C0160F163F167F923801FF004B5A4B5AED0FF04B5A4B5A4B5A4BC7FC
5C5D4A5A14075D4A5AA2141F5DA24A5AA44A5AB3B3B3B214FF92C8FCA35B5CA2495AA25C
13075C130F495A5C133F495A49C9FC485A485A485A485AEA1FC0485AB4CAFC12FCA2B4FC
EA3F806C7EEA0FF06C7E6C7E6C7E6C7E6D7E6D7E131F806D7E130780130380A26D7EA280
7FA381147FB3B3B3B26E7EA46E7EA281140FA26E7E8114036E7E81806F7E6F7E6F7E6F7E
ED07FC6F7E6F7E9238007FC0163F160F16032AF8748243>40 D<177C17FCEE01F8A2EE03
F0EE07E0EE0FC0A2EE1F80EE3F005E167E5E15015E15034B5A5E150F5E151F4B5AA24BC7
FCA215FEA24A5AA24A5AA24A5AA2140F5D141F5D143F5DA2147F92C8FC5CA25C13015C13
03A25C1307A3495AA3495AA3133F5CA3137F5CA313FF91C9FCA35A5BA31203A25BA31207
A35BA3120FA45BA2121FA65BA2123FA85BA2127FAE5B12FFB3A62E95688149>48
D<12F87E127EA27E6C7E6C7EA26C7E6C7E7F12016C7E7F137E137F6D7E131F80130F806D
7EA26D7EA26D7EA26D7EA2147FA26E7EA281141F81140F811407A281140381A214018114
0081A28182A36F7EA36F7EA382150FA3821507A3821503A3821501A382A281A31780A316
7FA317C0A4163FA217E0A6161FA217F0A8160FA217F8AE160717FCB3A62E957E8149>I<
B612F0A600FCC8FCB3B3B3B3B3B3B3B01C94668137>I<B612F0A6C71203B3B3B3B3B3B3
B3B01C94808137>I<12FCB3B3B3B3B3B3B3B0B612F0A61C94668237>I<EC03F0B3B3B3B3
B3B3B3B0B6FCA61C94808237>I<12FCB3B3B00634668037>I<12FCB3B3B006346A8037>
I<EC01F01407140F143F147F903801FFC0491380491300495A495A495A495A5C495A485B
5A91C7FC485AA2485AA2485AA2123F5BA2127F5BA412FF5BB3B3A71C4B607E4A>I<EAFF
C0B3B3A77F127FA47F123FA27F121FA26C7EA26C7EA26C7E807E6C7F6D7E806D7E6D7E6D
7E6D7E6D13806D13C09038007FF0143F140F140714011C4B60804A>58
D<EC1FF8B3B3A7143F15F0A4EC7FE0A315C014FFA2491380A215005B5C1307495A5C131F
495A5C495A495A4890C7FC485A485A485A485AEA7FE0EAFF8090C8FC12FCB4FC7FEA7FE0
EA1FF06C7E6C7E6C7E6C7E6C7F6D7E6D7E806D7E130F806D7E1303807F1580A26D13C0A2
147F15E0A3EC3FF0A415F8141FB3B3A71D9773804A>60 D<EAFFC0B3A90A1B60804A>62
D<B47EB3A6127F7FAE123FA27FA8121FA27FA6120FA27FA41207A37FA31203A37FA21201
A37F7EA380137FA380133FA380131FA36D7EA36D7EA3130380A2130180130080A2808114
3FA281141F81140F811407A26E7EA26E7EA26E7EA2157FA26F7EA26F7E150F821507826F
7E1501821500167E167F82EE1F80EE0FC0A2EE07E0EE03F0EE01F8A2EE00FC177C2E9568
8349>64 D<EE07FCB3A617F8160FAE17F0A2161FA817E0A2163FA617C0A2167FA41780A3
16FFA31700A35DA25EA315035EA315075EA3150F5EA3151F5EA34B5AA34B5AA393C7FC5D
A25D14015D1403A25D14075DA2140F5D141F5D143F5DA24AC8FCA214FEA2495AA2495AA2
495AA2495A5C131F5C133F49C9FC137E13FE5B485A12035B485A485AA2485A48CAFC127E
A25A5A2E957E8349>I<EAFF80B3B3B00934688049>I<EAFF80B3B3B00934598049>I<BB
12FC86A3D87FC0C9001F7FF0007F6C6C17076C6C050113806C6CEF007F1A1F6C6CF00FC0
6C6C18076C6C1803F201E06C6D17006D6C1860013F19706E18306D7E6D6C18181B006D7E
6D7E6D7EA26D7F6E7E6E7EA26E7E6E7E6E7EA26E7E6E7E80826F7E6F7EA26F7E6F7E6F5A
5EA24B5A5E4BCBFC153E157E5D5D4A5A4A5A14075D4A5A4ACCFC143E147E147C5C494818
1801031930495A4A18704948186049CC12E0491801017EF003C0017C180749180F4848F0
1F800003197F49EF01FF4848050713004848173F48CA000FB5FC48BA5AA25ABB5AA24D53
7B7F58>80 D<BF12E08AA38A6C90CCFC0900806C6D19076C6D07007F6C6D1A1F1D076C6D
F201FF6C6D747E6C6DF33F801E0F6C6D1B076D6CF303C06D6D1A01F600E06D7F6D6D1B70
6D1D30816D6D1B186D6D1B007F816E7E6E7FA26E7F6E7F6E7FA26E7F6E7F6E7FA26F7E6F
7F6F7FA26F7F6F7F81836F7F6F7F167F83707F707F8284707F707FA2707F82715A60173F
715A604D5A4DCDFC17FEA24C5A4C5A4C5A4C5A4C5A5F163F4CCEFC16FE4B5A4B5A4B5AA2
4B5A4B5A4B5A4BCFFC15FEA24A5A4A5A4A481B184A481B304A5A4B1B70023F1C604ACF12
E002FE1B014948F303C049481B074948F30F801E1F49481B7F4948F3FF0049481A0349CE
120F01FEF37FFEF403FF48481A7F4848077FB55A48BEFC48655AA248655ABFFC666D747B
7F78>88 D<1B301B781BF8A2F201F0A2F203E0A2F207C0A2F20F80A2F21F00A21A3EA262
A262A24F5AA24F5AA24F5AA262190FA24FC7FCA2193EA261A261A24E5AA24E5AA24E5AA2
4E5AA24EC8FCA2183EA260131001305E13F800014C5A1203D80FFC4B5A121DD838FE4B5A
12F0D8407F4B5A12004DC9FC6D7E173E6D7E5F6D7E5FA26D6C495AA26D6C495AA26D6C5C
1607A26D6C495AA2027F49CAFCA291383F803EA25EEC1FC05EEC0FE0EDE1F0EC07F1EDF3
E0A26EB45AA26E5BA26E90CBFCA25D157E157C15384D64788353>112
D<1B301B78A21BF8A21BF01A01A21BE01A03A21BC01A07A21B801A0FA21B0062A21A1E1A
3EA21A3C1A7CA21A781AF8A262A21901A2621903A2621907A262190FA297C7FC61A2191E
193EA2193C197CA2197819F8A2611801A2611803A261A21807A261180FA296C8FC60A218
1E183EA2183C187C131001301678017016F813F860000116011203486C5E000F1603121D
D838FE5E00701607126000C05FEA407F0000160FA26D6C92C9FC5FA2171E6D6C143EA217
3C6D6C147CA2177817F86D7E5F16016D7E5F1603A26D6C5C1607A26D6C5C160FA294CAFC
027F5BA2161EEC3F80163EA2163C91381FC07CA2167891380FE0F8A25E15E1EC07F15E15
F3EC03FB5E15FFA26E5BA36E90CBFCA35D157EA2157C153C15384D96788353>I<EE7F80
ED0FFF157F4AB5FC140F143F5C49B6FC13075B4991C7FC4913E090B5C8FC4813F84813E0
14804848C9FC485AEA1FF0485A5B485A48CAFCA25A5A5A291B838925>122
D<B4FC13F813FF14C014F814FE8015C015F081C66C7F01037F9039007FFF80020F7F0203
7F1400ED3FF06F7EED07FC6F7E15016F7EEE7F80A2163F161F160F291B818925>I<12F8
7E7E7EA26C7E6C7E7F6C7EEA0FFC6C7E6C6C7E14E06C13F86C13FF013F13E06D13FF6DEC
FF807F13016D7E80140F14016E7E150FED007F291B839A25>I<EE0F80161F163F167FA2
EEFF004B5A15034B5AED1FF84B5AEDFFE01403020F5B027F5B902603FFFEC7FC017F5BB6
5A5D15C092C8FC5C14F814C091C9FC13F890CAFC291B819A25>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fu cmsy8 8 6
/Fu 6 113 df<B812C0A32A037A9137>0 D<130C131EA50060EB01800078130739FC0C0F
C0007FEB3F80393F8C7F003807CCF83801FFE038007F80011EC7FCEB7F803801FFE03807
CCF8383F8C7F397F0C3F8000FCEB0FC039781E078000601301000090C7FCA5130C1A1D7C
9E23>3 D<EE01C01607161FEE7F00ED01FCED07F0ED1FC0037FC7FCEC01FCEC07F0EC0F
C0023FC8FC14FCEB03F8EB0FE0EB3F8001FEC9FCEA03F8EA0FE0EA3F8000FECAFC12F812
FEEA3F80EA0FE0EA03F8EA00FEEB3F80EB0FE0EB03F8EB00FC143FEC0FC0EC07F0EC01FC
EC007FED1FC0ED07F0ED01FCED007FEE1FC01607160193C7FCAD007FB71280B812C0A22A
3B7AAB37>20 D<EB01C0A313035C130791CBFC5B130E131E5B5B13F8485AEA03C0EA0F80
007FB912FCBAFC7ED80F80CBFCEA03C0EA01F06C7E13787F7F130E130F7F801303801301
A33E237CA147>32 D<D93F80EC07F0D9FFF0EC3FFC000301FC91B5FC4801FF903901F807
80D80F80903A8007C001C03D1E003FC00F8000E0486D6C48C71270003890260FF03E1430
48902607F83C14386E6C48141800606D6C5A00E06D6C48141C48027F150C5E153F6F7E6F
7E82151F6C6F141C0060DA3DFE1418DB78FF143800704A6C7E003001016D6C1370003849
486C6C13F06C903B07C00FF001E06C903B0F8007FC07C02807807E0003B512806CB44801
001400C601F0EC3FFCD93F80EC07F03E1F7C9D47>49 D<18031807180F180E181E181C18
3C18381878187018F018E01701EF03C01880170718005F170E171E171C173C1738177817
7017F05F16015F16035F160701C092C7FC486C5C0007151E486C141C003F153CD873F814
3800E31578D801FC147016F06C6C5C1501017F5C1503D93F805B1507D91FC090C8FC5D90
380FE00E151E903807F01C153C903803F83815786D6C5A5DEB00FF5D147F5D143F92C9FC
80141E140E38427C823B>112 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fv cmss10 10.95 62
/Fv 62 123 df<14FCEB01F8EB03F0EB07E0EB0FC0131F1480EB3F005B137E5B12015B12
03A2485AA25B120FA25B121FA25B123FA448C7FCA712FEB3A2127FA76C7EA4121F7FA212
0F7FA212077FA26C7EA212017F1200137E137F7FEB1F8014C0130FEB07E0EB03F0EB01F8
EB00FC165A79C323>40 D<12FC127E7E6C7E6C7E7F12076C7E7F12016C7E7F137E137FA2
EB3F80A2131F14C0A2130F14E0A2130714F0A4EB03F8A7EB01FCB3A2EB03F8A7EB07F0A4
14E0130FA214C0131FA21480133FA2EB7F00A2137E13FE5B485A12035B485A120F5B485A
48C7FC127E5A165A7BC323>I<EA7F80A8120FEA1F00A2121E123EA2123C127C1278A212
F80913798719>44 D<B512FEA617067F961E>I<ED0180ED03C01507A21680150FA21600
5DA2151E153EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24AC7FC
A2141E143EA2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8FC5B
A2131E133EA25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2121E
123EA2123C127CA2127812F8A25A1260225B7BC32D>47 D<14C013011307130F137FEA07
FFB5FCA4139FEAF81F1200B3B3A8B612F8A61D3E78BD2D>49 D<EB0FF8EB3FFF90B512C0
4814F048804880390FF01FFE391FC003FF4848C6138090C7127F48EC3FC0127EED1FE012
FE48140F007C15F0123C1238001814071208C8FCA2150FA216E0A2151F16C0153F1680ED
7F005D5D4A5A4A5A4A5A4A5A4A5A4A5A4AC7FC14FE495A495A495A495A495A495A49C8FC
13FC485A485A485A485A485A48C9FC48B612F0B7FCA6243E7CBD2D>I<EB07FC90383FFF
8090B512E04880000714FC390FFC07FE381FF001393FC000FF49EB7F8048C7123F003E15
C0123C001C141F12181208C8FC153FA21680A2157F16005D4A5A1403EC0FFCEC7FF89038
1FFFF05D1580A215E015F890380007FCEC01FE6E7EED7F80ED3FC0A2ED1FE0A2150F16F0
A712400060EC1FE0A200F0143F6C15C000FE147F007FECFF80263FC0011300391FF807FE
6CB5FC6C14F86C5CC65C013F1380D907FCC7FC24407CBD2D>I<001FB61280A60180C8FC
AFEB81FE903887FF80019F13E001BF7F90B57E81EC03FE9038FC00FF01F0EB7F805BED3F
C05B49EB1FE0C8FCA2150F16F0A9ED1FE0121012300038EC3FC0127CED7F8012FED87F80
EBFF009038C003FE383FF80F6CB55A6C14F000035C6C5C6C6C90C7FCEB0FF8243E7CBB2D
>53 D<B712F0A7C8EA07E0ED0FC0ED1F80153FED7F00157E15FE4A5A5D14034A5AA24A5A
A24A5A143F5D147F92C7FC5CA25C13015C1303A25C1307A25C130FA35C131FA4495AA749
5AA9243D7CBB2D>55 D<EB03FCEB1FFF4913C090B57E48803903FE07F83907F801FC496C
7E4848137E48487F5B003F158090C7121F4815C0A2007E140F00FE15E0A41507A216F0A4
150FA2127FA2151F7F003F143F7F6C6C137F6D13FF380FF8039038FFBFF76CEBFFE76CEC
C7E06C140F6C13FCEB3FF090C7FC16C0151FA21680153F16005D157E15FE4A5A1403000C
495A000F495A391FC07FE090B55A485C6C91C7FC00075B000113F838003FC024407CBD2D
>57 D<EC01FE4A7EA34A7FA391380FDFC0159F021F7F158FA291383F0FF0A21507027E7F
A2150302FC7FA201016D7E14F8A201036D7E5CA201076E7E5C010F6E7EA25C011F6E7E5C
A2013F6E7E91C7FC49811607137E90B77EA34882A2D803F8C7EA01FF825B00071780177F
5B000FEE3FC05B001F17E0171F5B003F17F0170F90C9FC48EE07F8A200FE17FC17035A36
3F7DBE3D>65 D<B612E015FCEDFF8016E08248C713FCED1FFEED03FF819238007F80EE3F
C0161FA2EE0FE0A6EE1FC0163F1780167F923801FF004B5AED0FFCED7FF8B75A16C04BC7
FC8116E016F848C713FEED0FFF030113806F13C0EE3FE0EE1FF0160FEE07F8160317FCA2
1601A4160317F81607A2EE0FF0161FEE7FE0EEFFC003031380033F1300B75A16F816E016
8003F8C7FC2E3F77BE3D>I<EDFFF0020FEBFF80023F14F091B612FC13035B499038803F
F890391FFC0003D93FF01300D97FC01438494814184890C9FC485A485A5B120F5B121F5B
123F5BA2485AA412FF90CAFCAB7F127FA46C7EA27F121F7F120F7F12077F6C7E6C6C1504
6C6D140C6D6C143CD93FF0147CD91FFCEB01FE90390FFF801F6D90B5FC6D15FC010015F0
023F14C0020F1400020013F02F417ABF3A>I<B612F8EDFF8016E016F88290C7EA1FFF03
037F03007F707EEE1FF0707E707E1603707EA2707EEF7F80A2173F18C0A2171F18E0A217
0FA218F0AC18E0171FA318C0173FA2EF7F80A2EFFF00A24C5A16034C5A4C5A4C5A4C5AEE
FFC003035B031F90C7FC90B65A16F816E0168003F8C8FC343F78BE42>I<B8FCA690CAFC
B3A390B612FCA690CAFCB3A590B71280A7293F78BE36>I<B712FEA690C9FCB3A490B612
E0A690C9FCB3AB273F78BE34>I<EDFFF0020F13FF023F14E091B612F8010315FE5B49EB
803F903A1FFC0003FCD93FF01300D97FC0143C4948141C4890C8120C484815005B485A12
0F5B121F5B123F5BA2127F5BA312FF90CAFCA90307B5FCA27F127FA36D90C7127F123FA2
7F121F7F120F7F12076C7E7F6C7E6C7F6D7EEB3FF0D91FFCEB01FF90390FFF801F6D90B6
FC7F010015FC023F14F0020F1400020013F030417ABF3D>I<B4ED01FEB3A990B7FCA690
C81201B3AC2F3F78BE40>I<12FFB3B3B3A9083F78BE19>I<EC01FEB3B3B11403006014FC
007013070078130F007EEB1FF838FFE1FF90B512F015E06C14C0001F14800003EBFE0038
003FF01F417CBE2B>I<B4EEFF804C13004C5A4C5A4C5A4C5A4C5A4C5A4C5A4B90C7FC4B
5A4B5A4B5A4B5A4B5A4B5A4B5A4A90C8FC4A5A4A5A4A5A5D4A5A4A5A4A5A14FF497F497F
5B497F90381FEFF8133F90387FC7FCEBFF83EC03FE496C7E497E4980496D7E49133F4980
496D7E90C7120F826F7E1503826F7E8183707E163F83707E160F83707E160383707E8218
80EF7FC0323F78BE3F>I<B4FCB3B3B3A390B612F0A6243F78BE31>I<D8FFE0EE3FF8A36D
167FA26D16FFA200FE17FB6D1501A2017EED03F3A36DED07E3A36D6CEC0FC3A26E141F01
0F1683A26E143F01071603A26E147F0103157E6E14FEA2010115FC6E1301A2010015F86E
1303027E14F0027F1307A26E14E0ED800FA2021F14C0EDC01F020F1480A2EDE03F020714
00A26F5A0203137EA26E6C5AA3913800FDF8A215FF6F5AA26F5AA36F5A92C8FCA23D3F77
BE50>I<D8FFF015FEA27FA27FA27F12FE137FA280133F80131F80130F80130780130380
1301801300808081143F81141F81140F81140781140381140181140081811680153F16C0
151F16E0150F16F0150716F8150316FC1501A2ED00FE16FF167FA2163FA2161FA22F3F78
BE40>I<4AB47E020F13F0027F13FE91B6FC010315C04981011F010013F8D93FF8EB1FFC
D97FE0EB07FE4A130349486D7E4890C813804848ED7FC049153F4848ED1FE04848ED0FF0
A24848ED07F8A2491503003F17FCA2491501007F17FEA390CAFC4817FFAC6D5D007F17FE
A46D1503003F17FCA26D1507001F17F86D150F000F17F06D151F6C6CED3FE0A26C6CED7F
C06C6CEDFF806C6D4913006E5BD97FF0EB0FFE6D6C495A6DB4EBFFF8010790B512E06D5D
010092C7FC6E5B020F13F00201138038437BC043>I<B612F015FEEDFFC08216F890C7EA
3FFCED07FEED01FF6F1380167FEE3FC0EE1FE0A2160F17F01607A6160F17E0161FA2EE3F
C0167FEEFF804B1300ED07FEED3FFC90B65A5E16C093C7FC15FC90CAFCB3A92C3F78BE3A
>I<4AB47E020F13F0027F13FE91B6FC010315C04981011F010013F8D93FF8EB1FFC4948
6D7E02C0130349486D7E4890C813804848ED7FC049153F4848ED1FE0000F17F049150F00
1F17F8491507A24848ED03FCA34848ED01FEA448CA12FFAD6C6CED01FEA56C6CED03FCA2
6D9038FF8007001F027F14F8ED3FC06C6C9138E00FF06D90381FF01F0007020F14E06DEC
F83F6C6C903907FC7FC06C6C903903FEFF806C6D6CB5120014C06D6C6C5BD93FF86D5A6D
B4495A010790B512E06D8101008180020FEBF7FC0201EB83FE91C7EA03FF8270138018C0
EF7FE0173FEF1FF018F8EF0FFC384C7BC043>I<B612F015FF16C016F016FC90C7EA3FFE
ED03FF03001380EE3FC0EE1FE0160F17F0160717F81603A5160717F0160FA2EE1FE0EE3F
C016FF03031380031F130090B65A16F85E16C04BC7FC5DEB0001811400816F7E153F8215
1F826F7EA26F7E1503826F7EA26F7EA2EE7F80163F17C0EE1FE0A2EE0FF0A2EE07F8EE03
FCA2EE01FE2F3F78BE3B>I<ECFFF0010713FF011F14C0017F14F890B67E5A48EB803F3A
07FC0007F848481301D81FE0EB0078491438003F15184991C7FCA248CAFCA67FA26C7E7F
7F6C7EEA0FFEEBFFC06C13FC6CEBFFC06C14F86C14FE013F6D7E010F80010380D9003F7F
02037F9138007FFC150F6F7E15018281821780163FA7EE7F0012601270007815FE007C14
01007F4A5AD8FFC0130701F0EB1FF801FFEB7FF06C90B55A001F5D000792C7FC00015CD8
003F13F8010113C029437CC033>I<B912FEA6C890C8FCB3B3B3A2373E7DBD3E>I<B4ED01
FCB3B3AB6C6CEC03F8A36C6CEC07F0A26C6CEC0FE0A26C6CEC1FC06D143F6C6CEC7F806C
6CECFF003A01FF8003FE6C9038E01FFC6DB55A011F14E001075C010149C7FC9038003FF0
2E4178BE3F>I<B46CEE1FC0007FEF3F807F003FEF7F00A27F001F17FE7F000F4C5AA27F
00074C5AA26C6C4B5AA27F00014C5AA27F6C4C5A80017F4B5AA280013F4BC7FCA26D6C14
FEA280010F4A5AA26D6C5C1603A26D6C495AA26D6C5C160FA26D6C5C161FA2DA7F805B16
3FDA3FC090C8FC5EA291381FE07E16FE020F5B15F015F102075B15F902035B15FB15FF6E
5BA26E5BA36F5A3A3F7FBE3D>I<B4DB07FEED0FE06C6C1AC01B1F4C7E6C6C1A801B3F5E
EFBF806C6C033F160063163F6C6C6F6C147E1BFE167E846C6C030F5D1A0116FC6C6C705C
0507140316F80301806C6C03035D1A07ED03F0846C6C03015D1A0FED07E0D97F806F5C05
00141F5E030F80D93FC06F5C1A3F5E011F011F038090C7FC02E0153F6293C7FC010F49ED
C07E02F0151F033E16FE010760037EEC0FE0A2DAF87C15E101036003FC14074B15F1D901
FC5FF003F3A25DD900FDEEFBE01801DAFFE015FF027F5F84A25D023F5F197F533F7FBE56
>I<D87FC0ED0FF86C6CED1FF06D16E0001FEE3FC06C6C157F6C6CEDFF806C6C16004C5A
6C6C14036C6D5C6D6C495A160F6D6C495A6D6C5C6D6C495A167F6D6C5C6D6C49C7FC0101
495A903800FF03ED83FC91387FC7F8EC3FCF91381FEFF0EDFFE06E5B806E5B93C8FC6E5A
814A7F5C824A7F91381FEFF015CF91383FC7F891387F83FC9138FF03FE150149486C7E49
486D7E0107814A6D7E4948131F49486D7E8349486D7E4948130301FF8191C76C7E48486E
13800003167F484816C049ED3FE04848ED1FF0001F17F849150F4848ED07FC007FEE03FE
484816FF90C97E383F7EBE3D>I<B46CEE1FC06D163F007FEF7F806C6CEEFF007F001F4C
5A6C6C4B5A7F00074C5A6C6C4B5A7F6C4C5A6C6D4A5A6E5D017F157F6D6C4AC7FC6E5C01
1F14016D6C495A6D6C5C16076D6C495A6D6C5C161F6D6D485ADA7FC05B167F6E6C48C8FC
6E6C5AEDF1FCEC0FFB6EB45A5E806E5B5E806F5AB3A83A3F7FBE3D>I<EB0FF890B5FC00
031480000F14E04814F0A29038F00FF890388003FC381E0001001814FE00101300C812FF
157FA7EC7FFF010FB5FC137F48B6FC120748EBF07F383FFC0013C048C7FC12FE5AA315FF
7E5C387F8007EBE01F6CB6FCA26C147F6C13FC6C13F0000190C7FC202B7CA92C>97
D<12FEB3A414FF010713E0011F7F017F7FB67E819038F80FFFEBE001D98000138090C7EA
7FC0153F48141F16E0150FA3ED07F0AAED0FE0A3151FED3FC07E6DEB7F8015FFD9E00313
009038F81FFE90B55A485C6D5B6D5B010F1380260001FEC7FC244079BE2F>I<49B47E01
0F13F0013F13FC4913FF90B612805A481300D807FCEB1F00D80FF0130748487F4990C7FC
123F5B127F90C9FCA312FEAA127FA36C7EA26C6C14406DEB01C06C6C13036C6C131F01FF
13FF6C90B5FC7E6C6C14806DEBFE00010F13F001011380222B7DA928>I<ED07F0B3A4EB
07F8EB3FFF4913C748B512F74814FF5A1480390FFC003FD81FF0131F49130F48481307A2
485A90C7FCA312FEAA127FA37F003F140F7F6C6C131F6D133F6C6C137F9038FF01FF6C90
B5FC6C14F76C14E76C148790383FFE07D90FF0C7FC24407DBE2F>I<EB03F8EB1FFF017F
13C090B57E488048803807FE07390FF801FC9038E000FE4848137E003F143E49133F90C7
7E5A127EED0F80B7FCA600FCC9FCA37E127EA2127FA26C7EA26C7E6D14806C6C1303D807
FC131F01FF13FF6C90B5FC7E6C6C14006D13FC010F13E0010190C7FC212B7DA928>I<EC
1FF0ECFFFC5B13075BA290381FE03C90383F800491C7FC5B137E13FEADB6FCA6C648C7FC
B3B01E407FBF1C>I<D903FC133F90390FFF03FF013F13DF4990B5128090B7FC5A9026FE
07FCC7FC3803F80148486C7E49137EA248487FA86C6C137EA26D13FE6C6C485A3901FE07
F848B5FC5D485C5D01CF90C8FC380FC3FC0180C9FC7FA212077F90B512F06C14FF16C048
814815F85A3A3FE0001FFCD87F80EB03FE90C712016F7E00FE81A56C5D6C6C495A6D1303
D83FF0EB0FFCD81FFEEB7FF86CB65A6C5D6C5DC692C7FC011F13F8010313C0293D7EA82D
>I<12FEB3A449B4FC010713C0011F13F0017F13F890B512FCB6FC9038F80FFEEBE003EB
C00190388000FFA290C7127FA35AB3A9203F79BE2F>I<12FFA81200AF127FB3B3A4083F
7ABE16>I<EB03FCA890C7FCAFEB01FCB3B3AE384003F8EA7007387C1FF0B5FC14E014C0
6C1380001F1300EA01FC165286BE18>I<12FEB3A5EDFF804A13004A5A4A5A4A5A4A5A4A
5A4A5A4A5A4990C7FC495A495A495A5C495A495A497E13FFB57E8013FBEBF1FCEBE0FE49
7E497E496C7E488048131F6E7E8114076E7E8114016E7E157F1680153FED1FC016E0233F
79BE2C>I<12FEB3B3B3A9073F79BE16>I<26FC01FFECFF800107D9C00313E0011FD9F00F
13F8017FD9F83F7F90B56C487F00FD92B5FC3CFFF80FFFFC07FFD9E003EBF001496C497E
496C49EB7F80A290C76C48133FA34892C7FCB3A9392979A848>I<38FC01FF010713C001
1F13F0017F13F890B512FC12FD39FFF80FFEEBE003EBC00190388000FFA290C7127FA35A
B3A9202979A82F>I<EB01FE90380FFFC0013F13F0497F90B57E000314FF14033A07F800
7F804848EB3FC04848EB1FE049130F4848EB07F0A290C712034815F8A2007E140100FE15
FCA96C14036C15F8A36C6CEB07F06D130FA26C6CEB1FE06C6CEB3FC001FC13FF2607FF03
13806C90B512006C5C6C5C013F13F0010F13C0D901FEC7FC262B7DA92D>I<14FFD8FE07
13E0011F7F017F7FB67E819038F80FFFEBE003D98000138090C7EA7FC0153F5AED1FE0A2
150FA216F01507A8150F16E0A2151FA2ED3FC06C147F6DEBFF805CD9E00313009038F81F
FE90B55A485C6D5B6D5B010F1380D901FEC7FC90C9FCB1243B79A82F>I<903903F807F0
EB1FFF017F13C790B512E74814F74814FF481381390FFC007F4848133F49131F4848130F
5B48481307A290C7FCA25A5AA87E7EA27FA26C7E150F6C6C131F6D133FD80FFC137F9038
FF01FF6C90B5FC6C14F76C14E76C148790383FFE07EB0FF090C7FCB1243B7DA82F>I<00
FC137CEB03FC130F131F133F137FEBFFC038FDFE00EAFFF85B5B5BA25BA290C7FCA25AB3
A6162979A81F>I<EB1FF890B51280000314E04814F85A5A393FE00FF0EB8000007F1430
90C8FCA57F6C7E13F06CB4FC14F06C13FE6C7F000114C06C14E0011F13F013019038001F
F81407EC03FCA21401A3124012700078EB03F8007E130738FFE01F90B512F015E06C14C0
001F14800003EBFE0038003FF01E2B7EA923>I<13FCACB612C0A6D800FCC7FCB3A86D13
2015E0EB7F03ECFFF0A27F15C06D1300EB07F01C357EB321>I<00FE147FB3AC15FFA25C
6C5B6C130FEBC03F90B6FC6CEBFE7F6C13FC6C13E0000390C7FC202979A72F>I<B415FE
6CEC01FCA26C6CEB03F8A27F001FEC07F0A27F000FEC0FE0A26C6CEB1FC0A27F0003EC3F
80A26C6C14005DA26C6C137E15FEA2017F5B1401013F5B14811483011F5B14C314C7010F
5BA2903807E7C014EFA26DB45AA36D90C7FCA227287FA72A>I<00FEDA7F80EB0FE0007F
6F14C0181F15FF6C6C6E148003FB143F140101C013F3001F6FEB7F00140315F1D80FE06E
137E03E114FE1407D807F0D9E0FC5B170115C0140FD803F8027E5B1703EC1F8000015F01
FC143F17070000D93F005C161F01FE1587023E148F017E5E027E130F17CFD93E7C5D013F
EC07DFA21478D91FF86DB4C7FCA25C010F5D16013B287FA73E>I<D87F80EB01FE003F5D
6C6C495A6C6C13076D495A6C6C495A6C6C5C00014A5A6C6C49C7FC017F5B90383F81FEEC
C1FC90381FE3F890380FE7F06DB45A7F6D5B6D5B92C8FC147E14FF497F81497F903807E7
F090380FE3F8EB1FC190383F80FC4A7E49137F01FE6D7E48486D7E4848800007140F496D
7E48486D7E48486D7E003F8148486D7E48C8EA7F80292880A72A>I<B415FE6CEC01FC7F
003FEC03F87F121FED07F07F000FEC0FE07F1207ED1FC06C7E16806C6C133FA2ED7F006C
7E157E017F13FEA26D5B14815D131F14C190380FC3F0A2903807E3E014E7A201035BA290
3801F780A2EB00FF92C7FCA2147EA3147CA214FC5C13015CA213035C13075CEA200F383C
1F80D83FFFC8FCA25B5BEA07F0273B7FA72A>I<007FB61280A51600C7EA01FE4A5A1407
4A5A5D4A5A4A5A147F5D4AC7FC495A1303495A5C495A131F495A5C495A49C8FC5A5B485A
485A120F485A5B485A48B61280B7FCA521287DA728>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fw cmmi8 8 44
/Fw 44 121 df<EB01FCEB0FFF90383F07C090387C03E03A01F801F00CEA03F03907E000
F84848141C49EBFC18001F147C48C713381630481570007E156016E016C000FE147D48EC
7F801600157EA2157CA2127C15FE0203130C6CEB073E6C011E131C3A0F81F81F383A03FF
E00FF03A00FE0003C0261F7D9D2D>11 D<EC01FCEC07FF91381E07C091383803E0EC7001
9138E000F0495A5C130349C7FC1306010E1301130C16E0011C13030118EB07C016800138
EB0F009038307FBEECFFFC01705B9038607FBEEC001E8101E01480491307A3000115C05B
A30003140F90C71380A348141F16005D153E485C5D6D485A390DC003E0391CE007C02618
703FC7FCEB3FFCEB0FE00038C9FC1230A312701260A312E05AA3243C7EAE28>I<123C12
7E12FFA4127E123C08087A8714>58 D<123C127EB4FCA21380A2127F123D1201A3120313
00A25A1206120E5A5A5A126009157A8714>I<EE01C01607161FEE7F00ED01FCED07F0ED
1FC0037FC7FCEC01FCEC07F0EC0FC0023FC8FC14FCEB03F8EB0FE0EB3F8001FEC9FCEA03
F8EA0FE0EA3F8000FECAFC12F812FEEA3F80EA0FE0EA03F8EA00FEEB3F80EB0FE0EB03F8
EB00FC143FEC0FC0EC07F0EC01FCEC007FED1FC0ED07F0ED01FCED007FEE1FC016071601
2A2B7AA537>I<15C0140114031580A214071500A25C140EA2141E141CA2143C14381478
1470A214F05CA213015CA213035C130791C7FCA25B130EA2131E131CA2133C1338A21378
137013F05BA212015BA212035BA2120790C8FC5A120EA2121E121CA2123C1238A2127812
70A212F05AA21A437CB123>I<1670A216F01501A24B7EA21507150DA2151915391531ED
61FC156015C0EC0180A2EC03005C14064A7F167E5C5CA25C14E05C4948137F91B6FC5B01
06C7123FA25B131C1318491580161F5B5B120112031207000FED3FC0D8FFF8903807FFFE
A22F2F7DAE35>65 D<013FB6FC17C0903A00FE0007F0EE01F84AEB00FC177E1301177F5C
A21303177E4A14FEA20107EC01FC17F84AEB03F0EE07E0010FEC1FC0EE7F009138C003FC
91B55A4914FE9139C0003F804AEB0FC017E0013F140717F091C7FC16035BA2017E1407A2
01FE15E0160F4915C0161F0001ED3F80EE7F004914FEED03F80003EC0FF0B712C003FCC7
FC302D7CAC35>I<92387FC003913903FFF80791391FC03E0F91397E00071FD901F8EB03
BF4948EB01FED90FC013004948147E49C8FC017E157C49153C485A120348481538485AA2
485A173048481500A2127F90CAFCA35A5AA5EE018016031700A2007E5D1606160E6C5D5E
6C6C5C000F5D6C6C495A6C6CEB0780D801F8011EC7FCD8007E13F890381FFFE0010390C8
FC302F7CAD32>I<013FB512FEEEFFC0903A00FE0007F0EE01F84AEB007E830101811880
4A140F18C00103150718E05CA21307A25CA2130FA24A140FA2131F18C04A141FA2013F16
80173F91C81300A249157EA2017E5D5F01FE14014C5A494A5A4C5A00014BC7FC163E4914
FCED03F00003EC1FC0B7C8FC15F8332D7CAC3A>I<013FB71280A2D900FEC7127F170F4A
1407A20101150318005CA21303A25C16300107147094C7FC4A136016E0130F15019138C0
07C091B5FC5BECC0074A6C5AA2133FA20200EB000CA249151C92C71218017E1538173001
FE15705F5B4C5A000115034C5A49140F161F00034AB4C7FCB8FC5E312D7DAC34>I<013F
B7FCA2D900FEC7127F171F4A140FA20101150717065CA21303A25C16300107147017004A
136016E0130F15019138C007C091B5FC5BECC0074A6C5AA2133FA2020090C7FCA25B92C8
FC137EA213FEA25BA21201A25BA21203B512F0A2302D7DAC2D>I<92387FC003913903FF
F80791391FC03E0F91397E00071FD901F8EB03BF4948EB01FED90FC013004948147E49C8
FC017E157C49153C485A120348481538485AA2485A173048481500A2127F90CAFCA35A5A
A292381FFFFCA29238003FC0EE1F80163F1700A2127E5E167E7EA26C6C14FE000F4A5A6C
7E6C6C1307D801F8EB1E3CD8007EEBFC3890391FFFE018010390C8FC302F7CAD37>I<90
273FFFFC0FB5FCA2D900FEC7EA3F80A24A1500A201015D177E5CA2010315FE5F5CA20107
14015F5CA2010F14035F5C91B6FC5B9139C00007E05CA2013F140F5F91C7FCA249141F5F
137EA201FE143F94C7FC5BA200015D167E5BA2000315FEB539E03FFFF8A2382D7CAC3A>
I<90383FFFFCA2903800FE00A25CA21301A25CA21303A25CA21307A25CA2130FA25CA213
1FA25CA2133FA291C7FCA25BA2137EA213FEA25BA21201A25BA21203B512E0A21E2D7DAC
1F>I<90383FFFFEA2010090C8FC5C5CA21301A25CA21303A25CA21307A25CA2130FA25C
A2131FA25CA2133FA291C7EA0180A24914031700017E5C160601FE140EA2495C163C1201
5E49EB01F84B5A0003141FB7FC5E292D7DAC30>76 D<D93FFE923801FFF060D900FFEEF8
00180702DFED0DF0A20101161BF033E0EC8F801863010316C761020FEC0187EF0307496C
6C140F05065B0106150CA2010EED181F053090C7FC90380C03E01760011C4B5A183E0118
EC0180EE030090263801F0147E0406137C01305CA201704A13FC4C5B13606E6C5A01E0EC
C0016049EBF980EDFB0000011603037E5C49137C487ED80FE001781307D8FFFED97001B5
7E1530442D7CAC44>I<D93FFE91B5FCA2D900FFEC07E018C06FEB038002DF150001016D
5B02CF1406EC8FE0148701036D130E170C140381D90701141C6F1318EB060081010E017E
1338037F1330010C7FA2011CEC8070031F1360011814C0150F0138ECE0E003075B013014
F01503017014F1EEF9800160130116FD01E0EB00FF94C7FC4980A2000181163E5B486C14
1EEA0FE0D8FFFE140CA2382D7CAC38>I<ED7FC0913807FFF891381F807E91397C001F80
D901F0EB0FC0D907E0EB03E0D90F8014F049C71201013EEC00F84915FC5B12014848157E
485AA2485A121FA2485A17FE90C9FC5AA300FEED01FCA3EE03F8A217F0160717E0160FEE
1FC01780007EED3F005E6C157E5E6C6C495AED03E06C6CEB0FC06C6C49C7FCD803F8137E
3900FE03F890383FFFC0D907FEC8FC2F2F7CAD36>I<013FB512F816FF903A00FE001FC0
EE07E04A6D7E707E01016E7EA24A80A213034C5A5CA201074A5A5F4A495A4C5A010F4A5A
047EC7FC9138C003F891B512E04991C8FC9138C007C04A6C7E6F7E013F80150091C77EA2
491301A2017E5CA201FE1303A25BA20001EE038018005B5F0003913801FC0EB5D8E00013
3CEE7FF0C9EA0FC0312E7CAC35>82 D<913807F00691383FFE0E9138F80F9E903903E001
FE903807800049C7127C131E49143CA2491438A313F81630A26D1400A27FEB7F8014F86D
B47E15F06D13FC01077F01007F141F02011380EC003F151F150FA215071218A3150F0038
1500A2151EA2007C5C007E5C007F5C397B8003E039F1F00F8026E07FFEC7FC38C00FF027
2F7CAD2B>I<000FB8FCA23B1FC003F8003F0100151F001C4A130E123C00380107140612
3000704A130EA20060010F140C12E0485CA2141FC715005DA2143FA292C8FCA25CA2147E
A214FEA25CA21301A25CA21303A25CA21307A25C130F131F001FB512F0A2302D7FAC29>
I<3B7FFFF801FFFEA2D801FCC7EA0FC0178049EC070016060003150E160C5BA20007151C
16185BA2000F153816305BA2001F157016605BA2003F15E05E90C8FCA24814015E127EA2
150300FE92C7FC5A5D1506150E007C5C151815386C5C5D6CEB03C0260F800FC8FC3803E0
3C3801FFF038003FC02F2E7BAC30>I<90260FFFFCEB7FFFA29026007FC0EB0FF06E4814
8018006E6C131E1718020F5C6F5B02075C6F485A020349C7FCEDF8065E6E6C5A5E6E6C5A
5EED7F8093C8FC6F7EA26F7E153F156FEDCFE0EC018791380307F0EC0703020E7F141C4A
6C7E14704A6C7E495A4948137F49C7FC010E6E7E5B496E7E5BD801F081D807F8143FD8FF
FE0103B5FCA2382D7EAC3A>88 D<EB07E0EB1FF890387C1CE0EBF80D3801F00F3803E007
EA07C0120FD81F8013C0A2EA3F00140F481480127EA2141F00FE14005AA2EC3F02EC3E06
A25AEC7E0E007CEBFE0C14FC0101131C393E07BE18391F0E1E38390FFC0FF03903F003C0
1F1F7D9D25>97 D<13F8121FA21201A25BA21203A25BA21207A25BA2120FEBC7E0EB9FF8
EBB83C381FF01EEBE01F13C09038800F80EA3F00A2123EA2007E131FA2127CA2143F00FC
14005AA2147EA2147C14FC5C387801F01303495A383C0F806C48C7FCEA0FFCEA03F0192F
7DAD1E>I<EB01F8EB0FFE90383E0780EB7C01D801F813C03803F0073807E00FEA0FC001
801380121F48C8FCA25A127EA312FE5AA51560007C14E0EC01C0EC03806CEB0F00001E13
1C380F81F83807FFE0C648C7FC1B1F7D9D1F>I<151FEC03FFA2EC003FA2153EA2157EA2
157CA215FCA215F8A21401EB07E190381FF9F0EB7C1DEBF80FEA01F03903E007E0EA07C0
120FEA1F8015C0EA3F00140F5A007E1480A2141F12FE481400A2EC3F021506143E5AEC7E
0E007CEBFE0C14FC0101131C393E07BE18391F0E1E38390FFC0FF03903F003C0202F7DAD
24>I<EB03F8EB0FFE90383E0780EBF803D801F013C03803E001EA07C0000F1303D81F80
13801407393F000F00141E387F01FCEBFFF091C7FC007EC8FC12FE5AA4127C156015E0EC
01C06CEB0380EC0F006C131C380F81F83803FFE0C648C7FC1B1F7D9D21>I<131FEA03FF
A2EA003FA2133EA2137EA2137CA213FCA25BA21201143F9038F1FFC09038F3C1F03803FF
0001FC7F5BA2485A5BA25B000F13015D1380A2001F13035D1300140748ECC04016C0003E
130F1580007E148191381F0180007C1403ED070000FCEB0F06151E48EB07F80070EB01E0
222F7DAD29>104 D<1307EB0F80EB1FC0A2EB0F80EB070090C7FCA9EA01E0EA07F8EA0E
3CEA1C3E123812301270EA607EEAE07C12C013FC485A120012015B12035BA21207EBC040
14C0120F13801381381F01801303EB0700EA0F06131EEA07F8EA01F0122E7EAC18>I<15
E0EC01F01403A3EC01C091C7FCA9147CEB03FE9038078F80EB0E07131C013813C01330EB
700F0160138013E013C0EB801F13001500A25CA2143EA2147EA2147CA214FCA25CA21301
A25CA21303A25CA2130700385BEAFC0F5C49C7FCEAF83EEAF0F8EA7FF0EA1F801C3B81AC
1D>I<131FEA03FFA2EA003FA2133EA2137EA2137CA213FCA25BA2120115F89038F003FC
EC0F0E0003EB1C1EEC387EEBE07014E03807E1C09038E3803849C7FC13CEEA0FDC13F8A2
EBFF80381F9FE0EB83F0EB01F81300481404150C123EA2007E141C1518007CEBF038ECF8
3000FC1470EC78E048EB3FC00070EB0F801F2F7DAD25>I<137CEA0FFCA21200A213F8A2
1201A213F0A21203A213E0A21207A213C0A2120FA21380A2121FA21300A25AA2123EA212
7EA2127CA2EAFC08131812F8A21338133012F01370EAF860EA78E0EA3FC0EA0F000E2F7D
AD15>I<27078007F0137E3C1FE01FFC03FF803C18F0781F0783E03B3878E00F1E012630
79C001B87F26707F8013B00060010013F001FE14E000E015C0485A4914800081021F1303
00015F491400A200034A13076049133E170F0007027EEC8080188149017C131F1801000F
02FCEB3F03053E130049495C180E001F0101EC1E0C183C010049EB0FF0000E6D48EB03E0
391F7E9D3E>I<3907C007E0391FE03FF83918F8783E393879E01E39307B801F38707F00
126013FEEAE0FC12C05B00815C0001143E5BA20003147E157C5B15FC0007ECF8081618EB
C00115F0000F1538913803E0300180147016E0001F010113C015E390C7EAFF00000E143E
251F7E9D2B>I<EB01F8EB0FFF90383F078090387C03C0D801F813E03903F001F0EA07E0
D80FC013F8EB8000121F48C7FC14015A127EA2140300FE14F05AA2EC07E0A2EC0FC0A200
7CEB1F801500143E6C5B6C485A380F83E03803FF80D800FCC7FC1D1F7D9D22>I<90387C
01F89038FE07FE3901CF8E0F3A03879C0780D907B813C0000713F000069038E003E0EB0F
C0000E1380120CA2D8081F130712001400A249130F16C0133EA2017EEB1F80A2017C1400
5D01FC133E5D15FC6D485A3901FF03E09038FB87C0D9F1FFC7FCEBF0FC000390C8FCA25B
A21207A25BA2120FA2EAFFFCA2232B829D24>I<903807E03090381FF87090387C1CF0EB
F80D3801F00F3903E007E0EA07C0000F1303381F800715C0EA3F00A248130F007E1480A3
00FE131F481400A35C143E5A147E007C13FE5C1301EA3E07EA1F0E380FFCF8EA03F0C7FC
13015CA313035CA21307A2EBFFFEA21C2B7D9D20>I<3807C01F390FF07FC0391CF8E0E0
383879C138307B8738707F07EA607E13FC00E0EB03804848C7FCA2128112015BA21203A2
5BA21207A25BA2120FA25BA2121FA290C8FC120E1B1F7E9D20>I<EB07E0EB3FF8EB781E
EBF0063801E0073803C00F141FA20007131E140CEBE00013F8EBFF806C13E06C13F06C13
F8EB3FFC13011300147C0078133C12FCA2147C48137800E013F814F0386001E0387807C0
381FFF00EA07F8181F7C9D21>I<130E131FA25BA2133EA2137EA2137CA213FCA2B512F8
A23801F800A25BA21203A25BA21207A25BA2120FA25BA2001F1310143013001470146014
E0381E01C0EB0380381F0700EA0F0EEA07FCEA01F0152B7EA919>I<EA01E0D807F8130E
D80E3C131FD81C3E5B0038143E12301270D8607E137ED8E07C137C12C013FC484813FC00
005C12015B140100035C13E0A2020313200007ECE06013C0A216E0020713C00003EB0FC0
9038E01FC191383BE1803901F071E33A007FE0FF0090381F803C231F7E9D29>I<013F13
7C9038FFC1FF3A01C1E383803A0380F703C0390700F60F000E13FE4813FC12180038EC07
00003049C7FCA2EA200100005BA313035CA301075B5D14C000385CD87C0F130600FC140E
011F130C011B131C39F03BE038D8707113F0393FE0FFC0260F803FC7FC221F7E9D28>
120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fx cmss12 12 60
/Fx 60 122 df<147F903801FFC00107EC3FC05B5B5B14C190387F804091C7FC5B4991C7
FCA21201AEB638C03FC0A6D801FEC7FCB3B3A22A467EC534>12 D<DA3FE0EB0FE0DAFFF8
EB3FF8010303FFEB07F8495C495C495C90263FE038EBF838903B7F80080FF00891C7EBE0
0049141F494B90C7FCA20001153FAEB600C09039FFF807F8A6D801FEC7EBC000B3B3A245
467EC54F>14 D<B612C0A61A067F9821>45 D<12FFA8080877871B>I<14FF010713E001
1F13F8497F90B6FC48158014813A03FE007FC04848EB3FE049131F4848EB0FF049130700
1F15F8491303003F15FCA2491301A2007F15FEA390C8FCA34815FFB3A36C15FE6D1301A5
003F15FC6D1303A36C6CEB07F8A26C6CEB0FF0A26C6CEB1FE06D133F6C6CEB7FC03A01FF
81FF8091B5FC6C1500013F13FC6D5B010713E0010090C7FC28457CC231>48
D<1418147814F81303130F137FB5FCA413F71387EA0007B3B3AD007FB61280A6214378C2
31>I<EB03FE90381FFFE0017F13F890B57E4814FF4815802607FC0713C0380FF000D81F
C0EB7FE049EB3FF0003F141F90C7EA0FF8481407007E15FCA200FE14034815FE127C123C
0038140112181208C8FC1503A316FCA2150716F8150F16F0ED1FE0A2ED3FC0ED7F80EDFF
00A24A5A4A5A4A5A4A5A4A5A4A5A4A5A02FEC7FC495A495A495A495A495A495A49C8FC13
FE5B485A485A485A485A485A48C9FC48B612FEA627437CC231>I<49B4FC010F13E0013F
13F890B512FE48800007158048010113C03A1FF8007FE0D83FE0133F49EB1FF048C7120F
123E16F8001C140712181208C8FC150FA216F0A2151F16E0153F16C0157FEDFF80020313
00EC1FFE90380FFFFC5D15E08115FC15FFD9000113809138007FC0ED1FE0ED0FF016F8ED
07FCA2ED03FEA3ED01FFA80040EC03FE1260A200F0EC07FC7E00FEEC0FF8127FD83FC0EB
1FF0D81FF0EB7FE0390FFE01FF6CB612806C15006C5C6C6C13F8011F13E0010190C7FC28
457CC231>I<EDFF805C5CA2EC077FA2140FA2141E143EA2147E147C14FCA2EB01F81303
14F01307A2EB0FE0A2EB1FC0133F1480137F14005B5B12015B1203485AA2485A5B121F5B
123F485AA248C7FC90B712C0A6C8387F8000B12A417DC031>I<000FB612F8A601F0C8FC
B1EC3FC09038F1FFF001F313FC90B57EEDFF8016C002E013E0EC003F49EB1FF049EB0FF8
4913074914FC15034914FEC8FCA2150116FFAAED03FE12101230003815FC007C1407007E
15F800FE140FD87F80EB1FF06DEB3FE0D83FF0137F3A1FFE03FFC06CB61280000315006C
14FC6C6C5B011F13C0D903FEC7FC28437DC031>I<EC07FC91383FFF8091B512E013035B
5B90381FFC0390393FE000604948130049C8FC485A5B1203485A5B120F5B121FA25B123F
A29038803FF8397F81FFFE01837F018F1480019F14C0D93FF713E039FF7F007F01FCEB1F
F049EB0FF84913074914FC15035BED01FE5BA2150016FF90C8FCA47EA37FA3123F16FE6D
1301A2121F6DEB03FC120F6DEB07F812076DEB0FF06C6CEB1FE06DEB3FC03901FF80FF6C
90B512806D14006D13FC010F5B6D13E0010090C7FC28457CC231>I<B8FCA6C9127F16FE
ED01FCED03F8A2ED07F0ED0FE0151FED3FC01680157FEDFF00A24A5A5D14034A5AA24A5A
A24A5AA2143F5D147F5DA214FF92C7FC5BA25C1303A25C1307A35C130FA45C131FA65C13
3FA928427CC031>I<49B47E010F13F0013F13FC497F48B612804815C048010013E0D80F
FCEB3FF001F0130F4848EB07F84913034848EB01FCA2007F15FE90C8FCA76C6CEB01FCA2
6C6CEB03F8A26C6CEB07F06C6CEB0FE0D803FCEB3FC03A01FF81FF806C90B51200013F13
FC010F13F0A2013F13FC90B6FC4801001380D803FCEB3FC04848EB1FE04848EB0FF04848
EB07F84848EB03FCA24848EB01FEA290C8FC4815FFA86C15FE6D1301A26D1303003F15FC
6D13076C6CEB0FF86C6CEB1FF06D133F3A07FF81FFE06C90B512C06C15806C6CEBFE006D
5B010F13F0010090C7FC28457CC231>I<14FF010713E0011F13F8497F497F90B6FC4801
8113803A03FE007FC0D807F8133F4848EB1FE0001FEC0FF0491307484814F81503485A16
FCA290C712015A16FEA31500A216FFA55D7E7FA25D6C7E5D7F001F5C6D5B6C6C5BD807FE
13FE9038FFEFFC6C9038FFF8FE6C14F16C14C16D138190381FFC0190C713FC1503A216F8
150716F0150FA2ED1FE016C0153FED7F800006ECFF0000075B390FC003FE9038F01FFC48
B55A6C5C6C14C000015C6C49C7FCEB1FF028457CC231>I<12FFA81200B3AA12FFA8082C
77AB1B>I<EDFF804A7FA34A7FA3913807EFF0A215E7020F7F15C7A2021F7F15C391383F
83FEA21581027F7F1501814A805CA201016E7E5CA201036E7E5CA201076E7E5CA2010F6E
7E5C011F8116075C013F8116035C017F818291B7FC90B87EA34883A201FCC8127F000370
7EA2484882171F5B000F83170F5B001F8317075B003F8317035B007F838390C9FC487013
80A239457DC440>65 D<B612F8EDFF8016E016F816FE82902680003F13C003037F03007F
163F707E707E16071603831601A516035F16075F160F4C5AEE7FE04C5A03035B033F90C7
FC90B612FC16F016C08216FC16FF902680003F13C003037F9238007FF0EE1FF8707E707E
707E82701380177F18C0A2173FA4177FA2188017FF5E4C13004C5A160FEE3FFCEEFFF803
0F5B90B75A178094C7FC16FC16E04BC8FC324577C441>I<ED3FFE0203B512F0020F14FE
023FECFF8091B7FC5B0107D9E00713004990C7FCD91FFC141F49481407D97FE080494891
C7FC5C4890CAFC485A12075B120F5B485AA3485AA3485AA4485AAD6C7EA46C7EA36C7EA3
6C7E7F12077F12036C7E6C6D15806E14016D6C1403D93FF8140F6D6CEC1FC06DB4147F6D
9038E003FF010190B612806DEDFE00023F5C020F14F0020314C09126003FFCC7FC32477A
C53E>I<B612FEEDFFE016F816FE707E83902680000713F003007FEE3FFCEE0FFE160770
7E7013807013C0177FEF3FE018F0171F170F18F8A2EF07FCA2170318FEA31701A218FFAC
18FEA21703A3EF07FCA3EF0FF8A2EF1FF0A2EF3FE0177FEFFFC04C13805E4C13004C5AEE
3FFCEEFFF803075B90B75A17804CC7FC16F816E04BC8FC384578C446>I<B812F0A60180
C9FCB3A690B71280A60180C9FCB3A890B712F8A72D4578C43A>I<B812C0A60180C9FCB3
A790B612FCA60180C9FCB3AE2A4578C437>I<ED3FFC0203B512E0020F14F8023F14FF91
B712C04916E00107EBE0074990C7127FD91FFCEC1FC049481407D97FE01403494814014A
14004890CAFC5A5B485A120F5B485AA3485AA3485AA4485AAA4BB512F0A36C7EA392C712
0F6C7EA36C7EA36C7E7F12076C7E7F7E6C7F806D7EEB3FF86D7E6DB4143F6D9038E007FF
010190B6FC6D16E0023F1500020F14FC020314E09126003FFCC7FC34477AC541>I<B46C
ED3FE0B3AC90B8FCA60180C8123FB3AF334578C444>I<EAFF80B3B3B3AF094577C41B>I<
B47EB3B3B3A990B612FEA6274577C435>76 D<D8FFF0933803FFC06D5EA36D5EA3017EEE
1FBFA2017F163FA26D173F6E157FA2011F167E6E15FEA26E1401010F16FCA26E14030107
16F8A26E1407010316F0A26E140F010116E06E141FA2010016C06E143FA26E15806F137F
A2023F15006F5B021F5CA2EDE001020F5CA2EDF00302075CA2EDF80702035CA26E6C485A
A36E6C485AA392387F3F80A3033F90C7FCA2ED1FFEA36F5AA36F5A92C9FCA2424577C455
>I<D8FFF8ED1FE07FA27FA27FA26D7EA26D7EA280131F80130F80130780130380A26D7E
A26D7FA26E7EA2143F81141F81140F81140781140381140181801680157F16C0A2ED3FE0
A2ED1FF0A2ED0FF8A2150716FC150316FE150116FF81179F167FA2EE3FDFA2EE1FFFA282
A282A282334578C444>I<ED3FE0913803FFFE021FEBFFC04A8091B612F8010315FE4990
38C01FFF49D900077FD91FFC01017FD93FF06D6C7E49486E7E49486E7E4A140F4890C86C
7E48486F7E49150100078348486F1380A249167F001F18C049163F003F18E0A249161F00
7F18F0A449160F00FF18F8AC6D161F007F18F0A46D163F003F18E0A36C6CEE7FC0A26D16
FF000F18806D5D000718006D5D6C6C4B5A6C5F6E140F6C6D4A5A6D6C4A5AD93FF8ECFFE0
6D6C495B6DB401075B6DD9E03F90C7FC6D90B55A010015F86E5C021F14C0020349C8FC91
38007FF03D497BC648>I<B612FCEDFFC016F016FC16FF1780902680000F13C0030113E0
9238007FF0EE1FF8160FEE07FCA2EE03FE1601A217FFA282A45EA217FEA21603EE07FCA2
EE0FF8161FEE7FF0923801FFE0030F13C090B71280170016FC16F016C003FCC7FC0180C9
FCB3AB304578C43E>I<B612F8EDFF8016F016FC82707E902680000F7F03017F6F6C7EEE
1FF8707E1607707EA2160183A282A35EA25F1603A24C5A160F4C5AEE7FF04B485A030F5B
90B75A4CC7FC5E16F0168093C8FCEB800082157F82153F826F7EA26F7E15078215038215
01826F7FA2707E163F83161F83707EA2707EA2707E160183701380A2EF7FC0324577C43F
>82 D<EC3FF80103B57E010F14E0013F14F84914FE90B7FC5A48EBC00F4890380001FED8
0FFCEB007E49141E4848140E484814064991C7FCA2485AA77FA26C7E7F7F6C7E6CB4FC14
E06C13FE6CEBFFC06C14FC6C14FF6D14C06D80010F14F8010380D9003F7F02037FEC007F
030F1380030313C01500167FEE3FE0A2161F17F0A2160FA7EE1FE012600070153F007816
C0007E157F007FEDFF80D8FFE049130001F813079039FF803FFE6C90B55A001F5D00075D
000115C06C6C5C010F01FCC7FC010013E02C497CC636>I<BA12F0A6C8D83FE0C8FCB3B3
B3A93C457DC443>I<B46CED7F80B3B3AF6C6CEDFF00A46C6C4A5AA26C6C4A5A16076C6C
5D6C6C140F6D4A5A6C6CEC7FE06C9039C001FFC06CD9F8075B6DB6C7FC011F5C6D14F801
0314E001001480DA0FFCC8FC314778C442>I<B46CEE1FE0A27F007FEF3FC0A27F003FEF
7F80A27F001FEFFF007F000F4C5AA27F00074C5AA27F00034C5AA26C6C4B5AA2806C4C5A
A280017F4B5AA280013F4B5AA26D6C92C7FC5F80010F4A5AA28001074A5AA26D6C5C1607
A26D6C5C160FA26D01805B161FA2DA7FC05B163F023F5C15E0167F021F91C8FC15F05E02
0F5B15F8913807F9FCA3913803FDF8A215FF6E5BA26E5BA36F5A3B457EC440>I<D87FE0
ED03FE6C6C15076D4B5A6C6C5E000F161F6C6C4B5A6D5E6C167F6C6D4A5A6C6D5D4C90C7
FC6D6C5B6D6C5C011F4A5A6E130F6D6C5C6D6C495A163F6D6C5C6D6D485A6D14FF03C15B
DA7FE190C8FC91383FE3FEEC1FF7EDFFFC6E5B805E6E5B806E5B5E824A7F5C824A7F5CED
F7FC91381FF3FE91383FE1FF15C1DA7FC07F4A486C7E8349EB003F49486D7E0107814A13
0F49486D7E011F814A6D7E49487F017F824A6D7F49486E7E5A91C86C7E48486F7E120749
6F7E48486F7E001F83484881496F1380007F7013C0484817E049167F3B457EC440>88
D<EB07FE90387FFFC00003B57E000F14F84880819038F803FFEB8001001EC71380001814
7F0010EC3FC0C8FC16E0151FA8EC7FFF010FB5FC133F48B6FC5A000FEBF01F381FFE00EA
3FF8EA7FE05B485A90C7FCA4153F7F6C6C137F9038E001FFEBF80F6CB6FC7E15DF6C141F
000313F8C60180C7FC232F7CAD2F>97 D<B4FCB3A6EC3FC0903803FFF0010F13FC013F7F
497F90B61280D9FE0313C0D9F00013E049137F49EB1FF05B90C7EA0FF8150716FC1503A3
16FE1501AAED03FCA3150716F8150F16F06D131F6DEB3FE06D137F9039F001FFC0D9FC07
138090B612006D5B6D5B6D5B010713E0C790C7FC274679C432>I<EC7FE0903803FFFE01
0FEBFF80013F14E04914F090B6FC48EB801F3A03FE0003E0484813004848146049140048
5AA2485AA2485AA390C9FC5AAA6C7EA37F123FA26C6C14106D14306C6C14F06C6C13016C
6C13079038FF803F6C90B5FC6C6C14E06D14806D1400010713F8010013C0242F7DAD2B>
I<ED01FEB3A6EB03FC90380FFFC1013F13F14913F948B6FC5AECC07F48EB001FD80FFC13
07484813035B48481301A25B127F5BA348C7FCAA7F127FA36C7EA26D13036C7E1507D80F
FC130F6C6C133F9038FF80FF6C90B5FC6C14FD6C14F1013F13E16D1381D903FCC7FC2746
7DC432>I<EB01FE903807FFC0011F13F0017F7F90B57E488048EB03FF3807FC004848EB
7F8049133F4848EB1FC0150F484814E0491307127FA290C7FCED03F0B7FCA648C9FCA37E
A27EA27F123F7FA26C7E6D14106C6C14706C6CEB01F06C6C13079038FF803F6C90B5FC6C
15E0013F14806DEBFE00010713F8010013C0242F7DAD2B>I<EC1FF0ECFFFE5B13075B5B
90383FF01EECC00290387F800091C7FC13FEA21201AEB61280A6D801FEC7FCB3B3A21F46
7EC51E>I<D901FCEB07E090390FFF80FF013F13E34990B512F090B7FC5A480107EBE000
9026FC01FEC7FC3907F0007FA248486D7EA248486D7EA96C6C495AA26C6C49C7FCA23903
FC01FEEBFF07ECFFFC485C5D485C018F1380D981FCC8FC0180C9FCA47F7F6CB512F8EDFF
806C15E04815F8488148813A3FE0000FFF01800101138048C8127F163F00FE16C0161FA5
007FED3F806D147F6C6CECFF0001F813076CB4EB3FFE6C90B55A6C5D000115E06C6C1480
011F49C7FC010113E02C427DAC31>I<B4FCB3A6EC7FC0903801FFF801077F011F7F497F
491480EBFE03D9F80013C049137F49133F4914E0151F5BA390C7FCB3AC234579C432>I<
EAFF80A9C7FCB0EA7F80B3B3A809457AC417>I<EB01FFA990C7FCB014FFB3B3B2EB01FE
1240EA7007387F3FFCB5FC14F814F06C13E0000F13803801FE00185986C41A>I<B4FCB3
A7ED7FE0EDFFC04A13804A13004A5A4A5A4A5A5D4A5A4A5A4A5A4990C7FC495A1307495A
495A495A137F13FF8080A2EBFDFEEBF9FF13F0496C7E01C07F143F01807F496C7E140F81
14076E7E8114016E7E1680157FED3FC016E0151FED0FF016F8254579C42F>I<12FFB3B3
B3AF084579C417>I<DA7FC0EB0FF827FF01FFF8EB3FFF01076D90B51280011FD9FE0314
C0496D4814E049028F14F0D9FE0390389FC07FD9F8009039FF001FF8496D48130F496D48
1307494A14FC031F1403495CA390C75BB3AC3E2D79AC4D>I<EC7FC039FF01FFF801077F
011F7F497F491480EBFE03D9F80013C049137F49133F4914E0151F5BA390C7FCB3AC232D
79AC32>I<EC7F80903803FFF0010F13FC013F13FF498090B67E4801C07F3A03FE001FF0
48486D7E48486D7E49130348486D7E491300003F814980007F1680A390C8123F4816C0AA
6C6CEC7F80A36D14FF003F16006D5B001F5D6D13036C6C495A6C6C495A6D131F3A03FFC0
FFF06C90B55A6C5D013F91C7FC6D5B010313F09038007F802A2F7DAD31>I<EC3FC039FF
03FFF0010F13FC013F7F497F90B61280D9FE0713C0D9F00013E049137F49EB3FF049131F
90C7EA0FF8A2ED07FCA21503A216FE1501AAED03FCA3150716F8150FED1FF07F6DEB3FE0
6D13FF6D4813C0D9FC0F138090B612006D5B6D5B6D5B010713E0010090C7FC91C8FCB227
4079AC32>I<903901FE01FE90380FFF81013F13E14913F990B512FD4814FF48EBE07F48
EB001F4848130F01F81307485A1503485A491301127F5BA348C7FCAA7F127FA27F123F7F
15036C7E6D13076C6C130F6C6C133F9038FFC0FF6C90B5FC6C14FD6C14F1013F13E16D13
81903803FC0190C7FCB227407DAC32>I<141F00FE13FF13035B131F5B5BEBFFF0148038
FFFE005B5B5B5B5BA25BA390C7FCB3A8182D79AC21>I<EB3FF848B5FC4814C0000F14F0
4814F85AEBE00F397F8001F090C7127000FE14301500A57E7FEA7FE013FC383FFFE06C13
FC14FF000714806C14E06C14F06C7E010713F89038003FFC14071403EC01FEA21400A412
400070EB01FC1278007E130339FFE01FF890B512F0A26C14E0001F14800003EBFE003800
3FF01F2F7DAD25>I<EA01FEADB612F0A6D801FEC7FCB3AB7F150815386CEB81F8ECFFFC
7FA26D13F06D138090380FF8001E3A7EB823>I<B4EC1FE0B3AE153FA2157FA26D13FF14
03387FE00F90B6FC6C14DF151F6C13FC000713F0000190C8FC232D79AB32>I<B415FFA2
7F007FEC01FEA27F003FEC03FCA27F001FEC07F8A26C6C14F0150FA26C6CEB1FE0A36C6C
EB3FC0A27F0001EC7F80A26C6C14005DA26D5B1481A2013F5B14C114C3011F5B14E314E7
010F5BA201075B14F7A26DB45AA36D5BA2282C7EAB2D>I<B46CD91FE0EB01FE007F6FEB
03FCA2153F6C6C6EEB07F8153D157D6C6C17F0DB7CFC130FA215FC6C6C6EEB1FE015F814
01D807F8027E14C0047F133F15F01403D803FC6E1480EF807F15E000010107160001FE14
1F715A15C00000010F5D01FF140F17E1017F01805CA2021F1307D93F9FECF3F815001603
A2D91F9E5D14BE1601010F5E02FC14FF82A26D485DA23F2C7FAB42>I<D87FC0EC7FC06C
6CECFF80001F16006D5B6C6C495A6C6C495A6C6C5C00014A5A6C6C131F6E485AD97FC05B
6D6C485A011F49C7FCEB0FF1903807FBFEECFFFC6D5B6D5B7F6E5A5D6E5A4A7E4A7E8149
7F903803FBFCEB07F990380FF0FE4A7E011F6D7E49486C7E49486C7EEBFF006F7E48486D
7E48488000076E7E48481301496D7E48481580003FED7FC04848EC3FE04848EC1FF02C2C
80AB2D>I<B415FFA27F007FEC01FE7F123FED03FC7F001FEC07F87F120FED0FF07F1207
6DEB1FE0120316C06C6C133FA216806C6C137FA26D14006E5A5D133F14C1011F5BA2ECE1
F8EB0FE3A201075B14F3A2903803F7E0A201015BA2EB00FF5DA2147F92C7FCA2147E14FE
A25C1301A25C13035C13075CEA400F38781FC0EA7FFF5C91C8FC5B5BEA0FF028407EAB2D
>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fy cmmi10 10.95 62
/Fy 62 123 df<EC0FF0EC7FFE903801F81F903907E007C049486C6C13E0D93F80EBF001
90267F000114C001FE14F84848EB00FC484815030007178049147E000FEE0700485A5F48
48150E171E171C007F163C49153817785F00FF5E90C8127F5F5F94C7FCA248157EA2127E
007F15FE15016C4A7E92390F3F03806C6C131E6C6C9038781F070007D901E014003B03F0
1F800F8E3B00FFFE0007FCD91FE0EB01F033297CA73A>11 D<EE7F80923801FFE0923807
80F892381E003C03387F03F0131F4A48EB0F804A5A5D4AC7EA07C0140E021E140F141C14
3C023815805C171F5C180001015D4A143E5F010315FC4A495A4C5A01079038FFE7C00203
EBFF80DB807EC7FC92B57E49C6EBC7C0010E90380003E0160183011E81011C1400A28313
3C1338A313781370A301F01401495DA3000115035F16075F0003150F5F4C5A6D4AC7FC00
07157E01785C0138495A6DEB03E0D80F0FEB0FC0270E07C07FC8FC903801FFF89038007F
C0001E90CAFC121CA3123C1238A312781270A312F05AA432527EBF33>I<EB03F8D90FFE
140F90383FFF8090B56C131E4880486E131C2607FC1F143C270FE003F81338261F800014
7890C7007C1370003E023C13F0003C023E13E048EC1E010070020E13C000F0EC0F034816
801507C81307EE8700168FED038E169E169CA216BC16B8A216F85EA25EA35EA35EA31507
A293C7FC5DA4151EA3153E153CA45DA31570A21560303C7FA72F>I<EC01C0EC0FFF023F
13E0027913F0ECE03F903801C00FEC8007ED01E0010390C7FCA280130180A280A26D7E80
A2147E147F6E7EA26E7E81140FEC7FF0903801F7F8EB07C790381F83FCEB3E03EB7C0101
F87F12013803F000485AA24848137E485AA2123F90C7FCA25A127EA300FE147C5A15FCA2
5D1401A25D007C13035DA26C495A4A5A6C91C7FC6C131E6C6C5A3803E0783800FFE0EB3F
8024427CC028>I<EC1FF8903801FFFC010713F890381FF000EB3F8001FEC7FC485A485A
485A120F485AA2485AA2485AA290B512C0B6FC150090C8FCA35AA7127E127F7EA26C7E00
0F14703907C001F03903E003E03901F81F8039007FFE00EB0FF01E287CA625>I<D801F0
EB0FE0D803FCEB7FFC3A071F01F03E3A0E0F03801F001E90398F000F80001C139E003C01
FC14C000385B5C38781FE012705CA200F049131F013F1580000090C7FCA2163F5B017E15
00A25E13FE49147EA216FE1201495CA215011203495CA215031207495CA21507120F495C
EA0380C8120FA25EA2151FA25EA2153FA293C7FCA25DA2157EA3157C15382A3C7EA72D>
17 D<133F14E0EB07F0EB03FC13016D7EA3147FA26E7EA36E7EA36E7EA36E7EA36E7EA2
6E7EA36E7EA3157FA36F7E157F15FF4A7F5C913807CFE0EC0F8FEC1F0F91383E07F0147C
14FC49486C7EEB03F0EB07E049486C7EEB1F80EB3F00496D7E13FE4848147F485A485A48
48EC3F80485A123F4848EC1FC048C8FC4816E048150F48ED07F0007015032C407BBE35>
21 D<ED1FC0EDFFF0913803E07C91380F803E4A487E023E14804AEB0FC05C494814E013
03495A5C130F494814F0A2133F91C7FCEE1FE05B137EA201FE143F17C05BA20001ED7F80
A24915005E00035D4B5AA24B5A486C495A4B5A6D5C01EEEB3F80D80FE7017EC7FC9038E3
C1F89038C1FFE0D9C07FC8FC001F90C9FCA25BA2123FA290CAFCA25AA2127EA212FEA25A
A35A12702C3C7EA72F>26 D<020FB512FE027F14FF49B7FC1307011F15FE903A3FE03FE0
0090387F000F01FE6D7E4848130348488048481301485A5B121F5B123F90C7FC5A127EA2
150300FE5D5AA24B5AA2150F5E4B5AA2007C4AC7FC157E157C6C5C001E495A001FEB07E0
390F800F802603E07EC8FC3800FFF8EB3FC030287DA634>I<011FB612C090B7FC5A5A48
1680260FC007C8FC48C65A123E003C130E48131E5A5AA2C75AA3147CA2147814F8A4495A
A31303A25CA21307A3495AA3131FA25C6DC9FC2A287DA628>I<121EEA7F80A2EAFFC0A4
EA7F80A2EA1E000A0A798919>58 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A4
13E013C0A312011380120313005A120E5A1218123812300B1C798919>I<183818FC1703
EF0FF8EF3FE0EFFF80933803FE00EE0FF8EE3FE0EEFF80DB03FEC7FCED0FF8ED3FE0EDFF
80DA03FEC8FCEC0FF8EC3FE0ECFF80D903FEC9FCEB0FF8EB3FE0EBFF80D803FECAFCEA0F
F8EA3FE0EA7F8000FECBFCA2EA7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FF8EB03FE
903800FF80EC3FE0EC0FF8EC03FE913800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0
EE0FF8EE03FE933800FF80EF3FE0EF0FF8EF03FC17001838363678B147>I<ED0180ED03
C01507A21680150FA216005DA2151E153EA2153C157CA2157815F8A25D1401A25D1403A2
5D1407A25D140FA24AC7FCA2141E143EA2143C147CA2147814F8A25C1301A25C1303A25C
1307A25C130FA291C8FC5BA2131E133EA25BA2137813F8A25B1201A25B1203A25B1207A2
5B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A1260225B7BC32D>I<1260
12F8B4FCEA7FC0EA1FF0EA07FCEA01FF38007FC0EB1FF0EB07FCEB01FF9038007FC0EC1F
F0EC07FCEC01FF9138007FC0ED1FF0ED07FCED01FF9238007FC0EE1FF0EE07FCEE01FF93
38007FC0EF1FF0EF07F8EF01FCA2EF07F8EF1FF0EF7FC0933801FF00EE07FCEE1FF0EE7F
C04B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1F
F0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC12FC1270363678B147>I<17075F8417
1FA2173F177FA217FFA25E5EA24C6C7EA2EE0E3F161E161C1638A21670A216E0ED01C084
ED0380171FED07005D150E5DA25D157815705D844A5A170F4A5A4AC7FC92B6FC5CA2021C
C7120F143C14384A81A24A140713015C495AA249C8FC5B130E131E4982137C13FED807FF
ED1FFEB500F00107B512FCA219F83E417DC044>65 D<49B712F818FF19E090260001FEC7
EA3FF0F007F84B6E7E727E850203815D1A80A20207167F4B15FFA3020F17004B5C611803
021F5E4B4A5A180FF01FE0023F4B5A4B4A5ADD01FEC7FCEF07F8027FEC7FE092B6C8FC18
E092C7EA07F84AEC01FE4A6E7E727E727E13014A82181FA213034A82A301075F4A153FA2
61010F167F4A5E18FF4D90C7FC011F5E4A14034D5A013FED1FF04D5A4AECFFC0017F0207
90C8FCB812FC17F094C9FC413E7DBD45>I<DC1FF81307923801FFFE030F9038FF800E92
3A7FF007E01E4A48C7EAF03EDA03FCEC787EDA0FF0EC3CFCDA3FC0141F4A48140F4AC8FC
4948ED07F8EB07F849481503131F4A16F049481501495A13FF4890C913E05B1203485A19
C0485AA2485A95C7FC123F5BA2127F5BA312FF5BA590CCFC183CA21838A21878187018F0
6C6C5E17014D5A003F5F6D15074DC7FC001F161E6C6C5D6D5D6C6C5D00034B5AD801FEEC
07C06C6C4AC8FCD97FC0137E90391FF803F80107B512E0010114809026001FF8C9FC4042
7BBF41>I<49B712F818FF19C0D9000190C7EA3FF0F00FF84BEC03FCF000FE197F0203EE
3F805DF11FC0A20207EE0FE05D1AF0A2020F16075DA21AF8141F5DA2190F143F5DA21AF0
147F4B151FA302FF17E092C9123FA21AC049177F5C1A8019FF010318005C4E5A61010716
034A5E4E5A180F010F4C5A4A5E4E5A4EC7FC011F16FE4A4A5AEF07F8013FED0FE0EF3FC0
4A49B4C8FC017FEC0FFCB812F017C004FCC9FC453E7DBD4B>I<49B912C0A3D9000190C7
1201F0003F4B151F190F1A80020316075DA314075D1A00A2140F4B1307A24D5B021F020E
130E4B92C7FC171EA2023F5C5D177CEE01FC4AB55AA3ED800302FF6D5A92C7FCA3495D5C
19380401147801034B13704A16F093C85AA2010716014A5E180361010F16074A4BC7FCA2
60011F163E4A157E60013F15014D5A4A140F017F15FFB95AA260423E7DBD43>I<49B9FC
A3D9000190C7120718004B157F193F191E14035DA314075D191CA2140F5D17074D133C02
1F020E13384B1500A2171E023F141C4B133C177C17FC027FEB03F892B5FCA39139FF8003
F0ED00011600A2495D5CA2160101035D5CA293C9FC13075CA3130F5CA3131F5CA2133FA2
5C497EB612F8A3403E7DBD3A>I<49B6D8C03FB512F81BF01780D900010180C7383FF000
93C85B4B5EA2197F14034B5EA219FF14074B93C7FCA260140F4B5DA21803141F4B5DA218
07143F4B5DA2180F4AB7FC61A20380C7121F14FF92C85BA2183F5B4A5EA2187F13034A5E
A218FF13074A93C8FCA25F130F4A5DA21703131F4A5DA2013F1507A24A5D496C4A7EB6D8
E01FB512FCA2614D3E7DBD4C>72 D<49B612C05BA2D90001EB800093C7FC5DA314035DA3
14075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C8FCA35B5CA313035CA313075C
A3130F5CA3131F5CA2133FA25CEBFFE0B612E0A32A3E7DBD28>I<92B612E0A39239003F
F000161F5FA2163F5FA3167F5FA316FF94C7FCA35D5EA315035EA315075EA3150F5EA315
1FA25EA2153FA25EA2157FA25EA2D80F8013FFEA3FC0486C91C8FCA25CD8FFC05B140301
805B49485A00FC5C0070495A0078495A0038495A001E017EC9FC380F81FC3803FFE0C690
CAFC33407ABD32>I<49B600C090387FFFF896B5FC5FD900010180C7000F130093C813F8
4B16E01A804FC7FC0203163C4B15F84E5AF003C002074B5A4B021FC8FC183E1878020F5D
4BEB03E0EF07804DC9FC021F143E4B5B17F04C5A023F1307EDC00F4C7E163F027FEBFFF8
ED81EFED83CF92388F87FC9138FF9F0792383C03FE15784B6C7E4913E0158092C77F5C01
036F7E5C717EA213074A6E7EA2717E130F4A6E7EA284011F15035C717E133F855C496C4A
13E0B600E0017F13FFA34D3E7DBD4D>I<49B612F0A3D900010180C7FC93C8FC5DA31403
5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C9FCA35B5C180C181E0103
161C5C183C183813074A1578187018F0130F4AEC01E0A21703011FED07C04A140F171F01
3FED3F8017FF4A1303017F021F1300B9FCA25F373E7DBD3E>I<49B56C93B512C0501480
62D90001F18000704B90C7FC03DF5F1A0E1A1D1403039FEE39FC1A711A739126078FE015
E3030F5FF101C3F10387140F020E93380707F0A2F10E0F021E161C91261C07F05E1938F1
701F143C023804E05BA2953801C03F0278ED038091267003F85EF00700060E137F14F002
E04B91C8FCA24E5B01015E4A6C6C5D60943801C00113030280DA03805BA2943807000301
07150E91C700FE5D5F1907495D010E4B5CA24D130F011E6E5A011C60705A013C171F017C
92C7FC01FE027E5DD803FF4D7EB500FC017C017FB512E0167804385E5A3E7CBD58>I<49
B56C49B512F81BF0A290C76D9039000FFE004AEE03F0705D735A03DF150302037F038F5E
82190791380787FC030793C7FC1503705C140F91260E01FF140EA26F151E021E80021C01
7F141C83193C023C6D7E02381638161F711378147802706D6C1370A2040714F002F0804A
01035C8318010101EC01FF4A5E82188313034A91387FC380A2EF3FC7010716E791C8001F
90C8FC18F718FF4981010E5E1707A2131E011C6F5AA2013C1501137C01FE6F5AEA03FFB5
12FC187818704D3E7DBD49>I<EE3FF00303B5FC92391FC03FC092397E0007E0DA01F8EB
01F8DA07E06D7E4A48147E023FC87E027EED1F804A16C0D903F8150F494816E0495A4948
ED07F0A2494816F849C9FC5B48481603A2484817FCA2485A000F17075B121FA25B123F19
F84848160FA44848EE1FF0A3F03FE0A390CAEA7FC0A2F0FF80A219004D5A1703604D5A6C
7E4D5A4D5A003F5F4D5A6C6C4BC7FC17FE6C6C4A5A4C5A6C6CEC07E06C6CEC1FC06C6C4A
5A6C6C02FEC8FC90393F8003F890390FE01FE00103B5C9FC9038007FF03E427BBF45>I<
49B712F018FF19C0D9000190C76C7EF00FF84BEC03FC1801020382727E5DA214071A805D
A2140F4E13005DA2021F5E18034B5D1807023F5E4E5A4B4A5A4E5A027F4B5A06FEC7FC4B
EB03FCEF3FF091B712C005FCC8FC92CBFCA25BA25CA21303A25CA21307A25CA2130FA25C
A2131FA25CA2133FA25C497EB612E0A3413E7DBD3A>I<49B77E18F818FFD90001D90001
7F9438003FE04BEC0FF0727E727E14034B6E7EA30207825DA3020F4B5A5DA24E5A141F4B
4A5A614E5A023F4B5A4B4A5A06FEC7FCEF03FC027FEC0FF04BEBFF8092B500FCC8FC5F91
39FF8001FE92C7EA7F80EF1FC084496F7E4A1407A28413035CA2170F13075C60171F130F
5CA3011F033F5B4AEE038018E0013F17071A004A021F5B496C160EB600E090380FF01E05
075B716C5ACBEAFFE0F03F8041407DBD45>82 D<DB07FC1338ED3FFF92B5EAC070913A03
F807F0F091390FE000F9DA1F80137F4AC7EA3FE0027E141F5C4948140F4A15C001031507
495AA2010F16805CA3011F1600A38094C7FC808014FE90380FFFC015FC6DEBFFC016F86D
14FE6D806D81023F800207801400030F7F1500163F707E160F1607A2160312075A5F120E
A2001E15075FA24C5A123E003F4B5AA26D4AC7FC007F157E6D5C6D495AD87DF0495AD8F8
FCEB0FE090393F803F8027F01FFFFEC8FCD8E00713F839C0007FC035427BBF38>I<48B9
12FCA25A913A0003FE000F01F84A1301D807E0EE00F8491307491778000F5D90C7FC001E
140FA2001C4B1470123C0038141FA200785D1270033F15F000F018E0485DC81600157FA2
5EA215FFA293C9FCA25CA25DA21403A25DA21407A25DA2140FA25DA2141FA25DA2143FA2
5DA2147FA214FF497F001FB612FCA25E3E3D7FBC35>I<007FB500F090387FFFFE19FC5D
26007FE0C7000313804A913800FC004A5D187001FF16F0A291C95AA2481601605BA20003
1603605BA20007160795C7FC5BA2000F5E170E5BA2001F161E171C5BA2003F163C17385B
A2007F1678A2491570A200FF16F0A290C95AA216015F5A16035F16074CC8FC160E161E5E
007F5D5E6C4A5A6D495A6C6C495A6C6C011FC9FC6C6C137E3903FC03F8C6B512E0013F13
80D907FCCAFC3F407ABD3E>I<B6020FB5FCA219FE000301C0020013E06C90C9EA7F0018
3E183C6C5F187060A24D5A17036E5D4DC7FC017F5D170E5FA25F17786E14705F133F4C5A
4C5AA24CC8FC5E6E130E5EA2011F5C167816705E15015E6E485AA2010F49C9FC5D150E5D
A25D6E5AA201075B14F95DECFB80A202FFCAFC5CA25C13035C5CA25CA25C40407BBD35>
I<027FB5D88007B512C091B6FCA2020101F8C7EBF8009126007FE0EC7F804C92C7FC033F
157C701478616F6C495A4E5A6F6C495A4EC8FC180E6F6C5B606F6C5B6017016F6C485A4D
5A6F018FC9FC179E17BCEE7FF85F705AA3707EA283163F167FEEF7FCED01E7EEC3FEED03
83ED070392380E01FF151E4B6C7F5D5D4A486D7E4A5A4A486D7E92C7FC140E4A6E7E5C4A
6E7E14F0495A49486E7E1307D91F806E7ED97FC014072603FFE0EC1FFF007F01FC49B512
FEB55CA24A3E7EBD4B>88 D<027FB712F0A3DAFFFCC7EA3FE003E0EC7FC092C8EAFF8049
484A13004A4A5A5C4A4A5A49484A5A4A4A5A4D5A49484A5A4D5A91C74890C7FC5B010E4A
5A4C5A4C5A011E4A5A90C8485A4C5A4C5A4B90C8FCA24B5A4B5A4B5A4B5A4B5A4B5A4B5A
A24A90C9FC4A5A4A5A4A5A4A4814704A4814F04A485C14FF5D4990C7120149485D494814
03495A49485D49481407495A4DC7FC49485C4890C8FC48485D4848157E484815FE484814
034848EC0FFC16FF48B7FCB8FC5F3C3E7BBD3E>90 D<EC1F80ECFFE0903903F070709039
0FC039F890381F801D90383F000F017E5C5B00011407485A48485CA2485A001F140F5E48
5AA2151F007F5D5BA2153F00FF92C7FC90C7FCA25D92387E03805AA215FEEDFC07007E01
01140014035E6C0107130E140E3A1F801C7C1C000F13783A07C1F03E383A01FFC01FF03A
007F0007C029297DA730>97 D<EB1FC0EA0FFF5CA2EA003FA291C8FCA25BA2137EA213FE
A25BA21201A25BA21203A25BEC3F800007EBFFE09038F3C1F849C67E01FE137E4848133E
49133F5B491480001F141F5B5BED3FC0123FA290C7FCA248147F1680127EA215FF00FE15
005AA24A5AA25D1403485C1407007C5C4A5A5D003C495A003E49C7FC001E137E6C13F838
0783F03803FFC0C648C8FC22407CBE27>I<EC07F0EC7FFE903801FC0F903907E0038090
390FC001C0D93F8013E090387F000701FE131F485A485A16C0485A000F15804990C7FC12
1F485AA3127F5BA312FF90C9FCA6007E1560007F15E01501ED03C06CEC07806DEB0F0000
1F141E6C6C137C3907E001F03901F01FC06CB5C7FCEB1FF023297DA727>I<EE07F0ED03
FF17E0A2ED000FA217C0A2161FA21780A2163FA21700A25EA2167EA216FEA25EEC1F80EC
FFE1903803F07190390FC039F890381F801D90383F000F137E495C00011407485A485A5E
485A001F140FA248485CA2151F127F495CA2153F12FF90C790C7FCA25DEE038048147EA2
15FE1607007ED901FC130014035E6C0107130E140E3A1F801C7C1C000F13783A07C1F03E
383A01FFC01FF03A007F0007C02C407DBE2F>I<EC1FE0ECFFFC903803F01E90380FC00F
90393F800780D97E0013C0491303EA03F8120749130748481480121F49130F003FEC1F00
153E397F8001FCEC1FF090B51280B500F8C7FC90C9FCA45AA616C01501007E1403ED0780
6CEC0F00151E6C5C6C6C13F83907C003E03903E03F802600FFFEC7FCEB3FE022297CA72A
>I<163EEEFFC0923803E1E0923807C0F0ED0F811687ED1F8F160F153FA217E092387E03
8093C7FCA45DA514015DA30103B512FCA390260003F0C7FCA314075DA4140F5DA5141F5D
A4143F92C8FCA45C147EA414FE5CA413015CA4495AA35CEA1E07127F5C12FF495AA200FE
90C9FCEAF81EEA703EEA7878EA1FF0EA07C02C537CBF2D>I<EB01FC13FF5CA21303A25C
A21307A25CA2130FA25CA2131FA25CA2133FA291C9FC15FE90397F07FFC091381F03E090
397E3801F09138F000F8EBFFE04A7F5C91C7FC485AA25BA2484813015E5BA2000714035E
5B1507120F5E49130F5E121F031F1370491480A2003F023F13F0EE00E090C7FC16014802
3E13C01603007E1680EE070000FE5DED1F1E48EC0FF80038EC03E02C407CBE34>104
D<143C14FEA21301A314FCEB00701400AD137E3801FF803803C7C0EA0703000F13E0120E
121C13071238A2EA780F007013C0A2EAF01F14801200133F14005B137EA213FE5BA21201
5B0003130E13F0A20007131EEBE01CA2143CEBC0381478147014E013C13803E3C03801FF
00EA007C173E7EBC1F>I<ED01C0ED07F0A2150FA316E0ED038092C7FCADEC03E0EC0FF8
EC3C3EEC701EECE01FEB01C001031480EB0780140049133F010E1400131E131C013C5BA2
90C7127EA215FEA25DA21401A25DA21403A25DA21407A25DA2140FA25DA2141FA25DA214
3FA292C7FCA25C147EA2001C13FE007F5BEAFF015C495A495A48485A38F81F80D8783EC8
FCEA3FF8EA0FE0245081BC25>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA25CA2
131FA25CA2133FA291C9FC16FC49EB03FE92380F0780017EEB3C0FED703F01FE13E09138
01C07F9038FC0380EC07000001010E14004A131C494890C7FC5C00035BEBF9C0495A01FF
C9FC5A14F0EBE3FE9038E07F80000FEB1FC06E7EEBC00781001F1303160E1380A2003F15
1E0207131C010013E0A2485DA2007E01031378167000FE01015B15F1489038007F800038
023EC7FC29407CBE2F>I<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA2
1400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA2
5BA2123FA290C7FCA25AEB0380127EA212FE130700FC1300A25B130EA2EA7C1C133CEA3E
38EA1FF0EA07C014407DBE1B>I<01F8D907F0EB07F8D803FED93FFEEB1FFE28078F80F8
1FEB781F3E0F0F81C00F81E00F803E0E07C78007C3C007C0001CD9CF00EBC78002FEDAEF
007F003C4914FE0038495C49485C12780070495CA200F0494948130F011F600000495CA2
041F141F013F6091C75B193F043F92C7FC5B017E92C75A197E5E01FE9438FE01C049027E
14FCA204FE01011303000106F81380495CF20700030115F00003190E494A151E1A1C0303
5E0007943800F8F0494AEC7FE0D801C0D900E0EC1F804A297EA750>I<01F8EB0FF0D803
FEEB3FFC3A078F80F03E3A0F0F83C01F3B0E07C7800F80001CEBCF0002FE80003C5B0038
5B495A127800705BA200F049131F011F5D00005BA2163F013F92C7FC91C7FC5E167E5B01
7E14FE5EA201FE0101EB03804914F8A203031307000103F013005B170E16E000035E4915
3C17385F0007913801F1E0496DB45AD801C0023FC7FC31297EA737>I<EC07F8EC7FFE90
3901FC0F80903907E007E090390FC003F090393F8001F8EB7F0001FEEB00FC485A484814
FEA2485A120F5B001F15FF485AA2ED01FE127F5BA2150300FF15FC90C7FCA2ED07F8A2ED
0FF0A2007E15E0007FEC1FC0ED3F80A26CEC7F006C6C13FC4A5A6C6C485A3907E00FC026
01F03FC7FC3800FFFCEB1FE028297DA72C>I<D907C013FE903A0FF003FF80903A1C7C0F
07E0903A383C1C03F0903A783E7801F80170EBF0009026F03FE013FC01E05B4B13FE0001
017F147E01C090C7FC147E17FF000313FEA2C75AA201015C17FE5CA20103140317FC5CA2
0107EC07F8A24A14F0160F010F15E0161F17C0EE3F80011F15006E137E5E9138B801F890
393FBC03E091389E0FC0DA07FFC7FCEC01F849C9FCA2137EA213FEA25BA21201A25BA212
03A2B512E0A3303A84A72E>I<91381F800C9138FFE01C903903F0707C90390FC0387890
391F801CF890383F000F137E4914F000011407485A485A16E0485A121F150F484814C0A3
007F141F491480A300FF143F90C71300A35D48147EA315FE007E495A1403A26C13074A5A
381F801D000F13793807C1F33901FFC3F038007F03130014075DA3140F5DA3141F5DA214
3F147F90381FFFFE5BA2263A7DA729>I<D801F0EB3F80D807FCEBFFE03A0F1F03C0F000
0E90380F00F8391E0F9E03001C13BC003CEBF807003813F0A226781FE013F000709038C0
01C092C7FC5C12F0133F000090C8FCA35B137EA313FE5BA312015BA312035BA312075BA3
120F5BEA038025297EA729>I<EC1FC0ECFFF8903803E03C903807800E90381E00071680
49130F49131F153FA201F81400A2151C6D90C7FC7FEBFFE014FE90387FFFC06D7F6D13F8
6D7F13039038001FFE14031400157E000C143E123F487EA248C7123CA25D12FC00F05C00
70495A0078495A6C495A260F803EC7FC3803FFF838007FC021297CA72B>I<147014FC13
01A25CA21303A25CA21307A25CA2130FA25CA2007FB512F0B6FC15E039001F8000133FA2
91C7FCA25BA2137EA213FEA25BA21201A25BA21203A25BA21207EC01C013E01403000F14
80A2EBC0071500140E141E5C000713385C3803E1E03801FF80D8003EC7FC1C3A7EB821>
I<137C48B4EC03802603C7C0EB0FC0EA0703000F7F000E151F121C010715801238163FEA
780F0070491400A2D8F01F5C5C0000157E133F91C712FEA2495C137E150113FE495CA215
030001161C4914F0A21507173CEEE038150F031F1378000016706D133F017C017313F001
7E01E313E0903A3F03C1F1C0903A0FFF007F80D901FCEB1F002E297EA734>I<017E1478
48B4EB01FC2603C7C013FED807031303000F13E0120E121C0107130100381400167ED878
0F143E00705B161EEAF01F4A131C1200133F91C7123C16385B137E167801FE14705B16F0
16E0120149EB01C0A2ED0380A2ED0700A20000140E5D6D133C017C5B6D5B90381F03C090
3807FF80D901FCC7FC27297EA72C>I<013EEE0380D9FF800107EB0FE02601C3E090381F
801FD8038117F0380701F0000E153F001E1600D81C03160F003C170700384BEB03E0D878
07147E00705B1801D8F00F14FE4A4914C01200131FDA800114034C1480133F1400030314
07494A1400137EA26001FE0107140E495C60A360150F017C5E017E011F14F0705B6D0139
495A6D903970F8038090280FC0E07C0FC7FC903A03FFC01FFC903A007F0007F03C297EA7
41>I<D901F8133FD907FEEBFFE0903A1E0F83C0F0903A3807C780F890397003CF0301E0
13FED801C0EBFC071203018013F8D8070015F0EE01C0000E4AC7FCA2001E1307A2C75BA2
140F5DA3141F5DA3143F92380001C0A34A1303001E1680003F017E1307267F80FE14005E
D8FF81141ED901DF131CD8FE035C3A7C078F80F03A3C0F07C1E03A1FFC03FF802707F000
7EC7FC2D297EA734>I<137C48B4EC03802603C7C0EB0FC0EA0703000F7F000E151F001C
168013071238163FD8780F150000705BA2D8F01F5C4A137E1200133F91C712FE5E5B137E
150113FE495CA2150300015D5BA215075EA2150F151F00005D6D133F017C137F017E13FF
90393F03DF8090380FFF1FEB01FC90C7123F93C7FCA25DD80380137ED80FE013FE001F5C
4A5AA24848485A4A5A6CC6485A001C495A001E49C8FC000E137C380781F03803FFC0C648
C9FC2A3B7EA72D>I<02F8130ED903FE131ED90FFF131C49EB803C49EBC0784914F09039
7E07F1E09038F800FF49EB1FC049EB07800001EC0F006C48131E90C75A5D5D4A5A4A5A4A
5A4AC7FC143E14785C495A495A495A49C8FC011E14E05B5B4913014848EB03C0485AD807
F8EB078048B4131F3A1F87E07F00391E03FFFE486C5B00785CD870005B00F0EB7FC04801
1FC7FC27297DA72A>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: Fz cmti10 10.95 75
/Fz 75 124 df<DC0FF0EB0F80DC7FFEEB3FE0922601FC0FEBF878923B03F00381F03C92
3B07C007C3E07C923B0F801FC7E1FC031F013F13C318CFED3F001983069F13F8037E9039
0E1F80E005001400183F03FE92C7FC5DA3600201157E5DA318FE02035D0103B9FCA26190
290003F00001FCC7FC14074B5CA41703020F5D5DA31707021F5D5DA3170F023F5D92C7FC
A3171F4A5D147EA3173F02FE92C8FC5CA35F0101157E5CA35F495AA34C5A495AA2001E02
F05B007F9038C3F803010F5D00FF018713075F0207495AD8FE1F4948C9FCD8F81EEBC01E
3A703C03803C3A787801E0F83A1FF000FFE0D807C0EB3F80465383BF38>11
D<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B48131F4C137F031F14FF
4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B712F0A218E0903A0003F0
00070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA2143F92C712FE5F
A34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A010113F018E09338
00F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F00FF5BA249CAFC12FEEA
F81EEA703CEA7878EA1FF0EA07C0385383BF33>I<EE07FC93393FFF87F09338FC07C792
3A03F001E7E0DB07C013F792390F8007FF031F4913C016005DA2037E1580EF039FEF001F
183F4B1500A3600201157E5DA218FE6014035D0103B7FC60A2903A0007F000014B130360
A31707020F5D5DA2170F60141F5D171F60A2143F92C7123F95C7FCA34A5C027EEC7E07A3
17FE02FE4A5A4A150EA2181E181C13014AEC7C3C1838EF3C70EF1FE04948EC07C094C8FC
A3495AA3001E5BEA7F0FA200FF5BA249CBFC12FEEAF83EEA703CEA7878EA1FF0EA07C03C
5383BF35>I<D801E013F03907F803FC000F130701FC13FE001F130FA4000F13073903D8
01EC390018000CA20138131C01301318017013380160133001E01370491360000114E039
038001C001001380481303000EEB070048130E485B485B485B4813601F1C70BE2F>34
D<EA01E0EA07F8120F13FC121FA4120FEA03D8EA0018A2133813301370136013E013C012
01EA038013005A120E5A5A5A5A5A0E1C6DBE1C>39 D<ED01801507ED0F00151C5D5D5D14
014A5A4A5A4AC7FC141E143E5C14785C1301495AA2495A5C130F49C8FCA2133EA25BA213
FC5B12015BA212035B1207A25B120FA25BA2121FA290C9FCA25AA2123EA2127EA2127CA6
5AAB1278A67EA47EA2120E120F7EA26C7EA26C7E6C7E1360215A73C325>I<14031580A2
EC01C0EC00E0A21570A215781538153CA3151EA4151FA2150FA7151FA9153FA2153EA315
7EA2157CA215FCA215F8A21401A215F0A2140315E0A2140715C0A2EC0F80A2141F15005C
143EA25CA25CA2495A5C1303495A5C130F49C7FC131E5B137C5B5B485A485A485A48C8FC
121E5A12705A5A205A7FC325>I<EA01E0EA07F8120FA2EA1FFCA4EA0FF8EA0798EA0018
13381330A21370136013E013C01201EA0380EA07001206120E5A5A5A5A5A0E1C7A891C>
44 D<387FFFFCA3B5FCA21605799521>I<120FEA3FC0127FA212FFA31380EA7F00123C0A
0A77891C>I<1838187CA218F8170118F0EF03E0A2EF07C0A2EF0F80171F1800173EA25F
A25F16015F4C5AA24C5AA24C5A161F94C7FC163EA25EA25E15015E4B5AA24B5AA24B5A15
1F93C8FC153EA25DA25D14015D4A5AA24A5AA24A5A141F92C9FC143EA25CA25C13015C49
5AA2495AA2495A131F91CAFC133EA25BA25B12015B485AA2485AA2485A121F90CBFC123E
A25AA25AA25A5A365B7FC32E>I<15FE913807FF8091381F07C091387C01F0ECF0004948
13F8494813780107147C495A49C7FC167E133E137EA25BA2485AA2000315FEA25B000715
FCA2491301120FA34848EB03F8A44848EB07F0A448C7EA0FE0A316C0007E141F12FE1680
153FA2481500A2157EA25DA25D4813015D6C495A127C4A5A4A5A6C49C7FC143E6C5B380F
C1F03803FFC0C648C8FC273F76BC2E>I<15031507150F151F151E153E157EEC01FEEC03
FC1407141FEB01FF90380FFBF8EB1FC3EB0E07130015F0A2140FA215E0A2141FA215C0A2
143FA21580A2147FA21500A25CA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2
131FA25CEB7FE0B612F0A215E0203D77BC2E>I<15FE913803FFC091380F01F091383C00
F84A137C4A7F4948133F49487F4A148049C7FC5BEB0E0C011E15C0EB1C0EEB3C06133813
781370020E133FD9F00C148013E0141C0218137F00011600EBC0384A13FEEC600102E05B
3A00E3C003F89039FF0007F0013C495A90C7485A5E037FC7FC15FC4A5A4A5AEC0FC04AC8
FC147E14F8EB03E0495A011FC9FC133E49141801F0143C48481438485A1678485A48C85A
120E001E4A5AD83FE0130301FF495A397C3FF01FD8780FB55AD8700391C7FCD8F0015B48
6C6C5A6E5AEC07C02A3F79BC2E>I<ED7F80913803FFE091380F80F891383C007C02F87F
D901E07F494814804948130F49C7FC010E15C0131EEB1C18EB3C1CEB380C0178141F1780
1370A2021C133F6D4814004A5BD91FE0137ED90F805B90C8FC4B5A4B5A4B5AED1F8003FF
C7FCECFFFC15F0A2EC00FC153E153F8182150F82A4151FA2121E127F153F485DA3484AC7
FC12F800E014FE5D14016C495A0070495A0078EB0FC00038495A6C017EC8FC380F01F838
03FFE0C690C9FC2A3F78BC2E>I<1638167E16FE16FCA3150116F8A3150316F0A2150716
E0A2ED0FC0A3ED1F80A216005DA2157EA2157C15FC5D14015D14035D4A5AA24A5AA24AC7
FC143EED038091387C0FC014F8ECF01F01011480EB03E014C0903807803F010F1400EB1F
00133E495B49137E485A485A484813FE48B46C5A4813F04813FE267C00FF130800F09038
0FFFFC00601301C714E0913803F8005DA314075DA3140F5DA3141F5DA3020EC7FC274F7D
BC2E>I<02C0EB018002F0130FD901FEEB7F0091B512FE5E5E4914E016804BC7FCECBFF8
D90780C8FC91C9FCA35B130EA3131E131CA3133C9038381FC0ECFFF090383BE07C90387F
003E017E133F017C7F0178805B498090C7FCA6153FA4001F147F486C5C487EA24913FF00
FF92C7FC90C7FC48495A12E04A5A5D6C495A140F00705C0078495A6C495A003E01FEC8FC
381F03FC380FFFF0000313C0C648C9FC293F77BC2E>I<D9703FEB01C09138FF800301F3
158001EFEBC00790B5EB0F0048151E14832603FE015B01F8147C2607F0005B49EBE3F048
48137F496D5A48C71201001E4A5A1507485D0038140F007892C7FC00705C00F0143E5A5D
C8FC5DA24A5AA214035D14074A5AA2141F5DA24AC8FCA25C147E14FEA2495AA3495AA313
075C130FA25C131FA35C133FA35C91C9FC131E2A3F73BC2E>55 D<157F913801FFE09138
07C0F091381F007C023C133C4A133E4A131F1301495A5C1307A2495AA2163F011F143EA2
167E6E137C16F8ECE00102F013F09138F803E09138FC07C090390FFE0F00ECFFBE6D13F8
6D5B7F6D7F8101037F90380F9FFFD91F0F1380D97C0713C0497E48486C13E03903E0007F
4848133F4848131F001F140F90C7FC003E1407A2127E127CA200FC15C05AA2ED0F80A2ED
1F00153E007C143C157C007E5C6CEB03F0391F8007C0390FE03F802607FFFEC7FC000113
F838003FC0283F78BC2E>I<15FF020713C091381F81E091383E00F002FC13F84948137C
495A4948137E010F143E495A133F4A133F017F147F91C7FC5BA2485AA216FF12035B16FE
150112075B1503A216FC491307A20003140F16F8151F12016D133F0000EC7FF015EF9038
7C01CF90393E079FE090380FFE1FD903F813C090C7123FA21680157F160015FEA24A5A00
1C5C007F1303485C4A5A4A5A4A5A4849C7FC00F8137E00E05B6C485A387C07E0383FFFC0
6C90C8FCEA03F8283F77BC2E>I<131EEB3F80137FEBFFC05AA214806C13005B133C90C7
FCB3120FEA3FC0127FA212FFA35B6CC7FC123C122777A61C>I<EB03C0EB07F0130FEB1F
F8133FA214F0EB1FE014C0EB078090C7FCB3EA01E0EA07F0487EA2121FA46C5AEA07B0EA
003013701360A213E05B12015B120348C7FC1206120E5A5A123012705A5A15397AA61C>
I<0003B912C04818E0A26C18C0CDFCAE007FB812FCB97EA26C5F3B1676A146>61
D<171C173C177CA217FCA216011603A21607A24C7EA2161DA216391679167116E1A2ED01
C1A2ED038115071601150EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C140E5C
021FB6FC4A81A20270C7127FA25C13015C495AA249C8FCA2130E131E131C133C5B01F882
487ED807FEEC01FFB500E0017FEBFF80A25C39417BC044>65 D<49B712C018F818FE903B
0003FC0001FF9438007F804BEC3FC0A2F01FE014074B15F0180FA2140F5D181FA2021F16
E05D183F19C0023FED7F804B14FF19004D5A027F4A5A92C7EA07F0EF1FE0EF7F804AD903
FEC7FC92B512F017FE4AC7EA3F800101ED1FE04A6E7E17078401036F7E5CA30107825CA3
010F5E4A1407A260011F150F5C4D5A60013F153F4A4A5A4D5A017F4A90C7FC4C5A91C7EA
0FF849EC3FF0B812C094C8FC16F83C3E7BBD40>I<9339FF8001C0030F13E0033F9038F8
03809239FF807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E
495AD903F86E5A495A130F4948157E4948157C495A13FF91C9FC4848167812035B120749
1670120FA2485A95C7FC485AA3127F5BA312FF5BA490CCFCA2170FA2170EA2171E171C17
3C173817786C16706D15F04C5A003F5E6D1403001F4B5A6D4AC8FC000F151E6C6C5C6C6C
14F86C6C495A6C6CEB07C090397FC03F8090261FFFFEC9FC010713F0010013803A4272BF
41>I<49B712C018F818FE903B0003FE0003FF9438007F804BEC1FC0F00FE0F007F01407
4BEC03F8F001FCA2140F4BEC00FEA3141F4B15FFA3143F5DA3027F5D5DA219FE14FF92C8
1203A34917FC4A1507A219F813034A150F19F0A20107EE1FE05CF03FC0A2010FEE7F804A
16006060011F4B5A4A4A5A4D5AA2013F4B5A4AEC3FC04DC7FC017F15FEEE03FC4AEB0FF0
01FFEC7FE0B8128004FCC8FC16E0403E7BBD45>I<49B812F8A390260003FEC7121F1807
4B14031801F000F014075DA3140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7
FCA217F0027F5CED80011603160F91B65AA3ED001F49EC07805CA3010392C8FC5CF00380
4C13070107020E14005C93C75A180E010F161E4A151C183CA2011F5E5C60A2013F15014A
4A5A1707017F150F4D5A4A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>I<49B812
F0A390260003FEC7123F180F4B1403A2F001E014075DA3140F5D19C0A2141F5D1770EFF0
03023F02E013804B91C7FCA21601027F5CED8003A2160702FFEB1F8092B5FCA349D9003F
C8FC4A7F82A20103140E5CA2161E0107141C5CA293C9FC130F5CA3131F5CA3133F5CA213
7FA25C497EB612E0A33C3E7BBD3B>I<9339FF8001C0030F13E0033F9038F803809239FF
807E07913A03FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F8
6E5A495A130F4948157E4948157C495A13FF91C9FC4848167812035B1207491670120FA2
485A95C7FC485AA3127F5BA312FF5BA30303B512FC90C7FCA2DB000190C7FCA25FA21603
5FA316076C5E7FA2003F150F6D5D121F6D141F000F153F6C6C4A5A6C6C14F76C6CEB01E3
6CB4EB07C1903A7FC03F81C090391FFFFE00010701F890C8FC010013803A4272BF46>I<
49B648B6FC495DA2D9000390C7000313004B5D4B5DA2180714074B5DA2180F140F4B5DA2
181F141F4B5DA2183F143F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C712015B4A
5DA2170313034A5DA2170713074A5DA2170F130F4A5DA2171F131F4A5DA2173F133F4A5D
A2017F157FA24A5D496C4A7EB66CB67EA3483E7BBD44>I<49B6FC5BA2D9000313005D5D
A314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92C7FCA35B5CA313035CA31307
5CA3130F5CA3131F5CA3133F5CA2137FA25C497EB67EA3283E7BBD23>I<4AB61280A218
0091C713C0167F5FA216FF94C7FCA35D5EA315035EA315075EA3150F5EA3151F5EA3153F
5EA3157FA25EA215FFA293C8FCA25CA25DA2380F8003EA3FC0D87FE05BA21407D8FFC05B
140F01805B49485A12FC0070495A4A5A6C01FEC9FC383C01FC380F07F03807FFC0C648CA
FC314079BD30>I<49B6903807FFFE605ED9000390C7000113E04B6E13004B15FC4E5A19
E002074B5A4BEC0F804EC7FC183C020F5D4B5C4D5AEF07C0021F4AC8FC4B131E5F5F023F
5C9238C003E0EE07804CC9FC027F5B4B5AEEFF801581ECFF834B7FED0F7FED1E3F49017C
7FECFEF89138FFE01F03C07F491380ED000F4A805C010714074A80A21603010F815C1601
83131F4A6D7FA2177F013F825C173F017F82A24A81496C4A7EB6D8800FB512C0A261473E
7BBD46>I<49B612C0A25FD9000390C8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3
147F5DA314FF92C9FCA35B5CA313035C18C0EF01E0010716C05C17031880130F4A140718
005F131F4A141EA2173E013F5D4A14FC1601017F4A5A16074A131F01FFECFFF0B8FCA25F
333E7BBD39>I<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF140703
3F923801CFE0A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2F170
7F143C023804E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0031C
5BA2F03803010116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F1307
0200020E5C5FDB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F013C
6DB4C7FC013895C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16E015
00563E7BBD52>I<902601FFFE020FB5FC496D5CA2D900016D010013C04AEE3F00193E70
141C193CEC07BFDB3FE01438151F1978020F7FDA0E0F15708219F0EC1E07021C6D5CA203
031401023C7FDA38015DA2701303EC7800027002805BA2047F130702F014C04A013F91C7
FCA2715A0101141F4AECF00EA2040F131E010315F84A151C1607EFFC3C0107140391C714
3817FE040113784915FF010E16708218F0131E011C6F5AA2173F133C01385E171F137813
F8486C6F5AEA07FEB500F01407A295C8FC483E7BBD44>I<EEFFC0030713F892383F80FE
9238FC003FDA03F0EB0F804A486D7EDA1F80804AC76C7E027E6E7E4A8149481400494881
1307495A4948157F133F5C49C9FC4917805B1201485AA212075B000F17FFA25B121F1900
48485DA448484B5AA34D5AA25B4D5A12FF60171F60007F163F604D5AA24DC7FC5F003F15
014C5A6D5D001F4B5A4C5A6C6C4A5A4C5A6C6C4AC8FC000315FC6C6C495A6C6CEB07E001
7FEB1F8090261FC07EC9FC903807FFF801001380394273BF46>I<49B77E18F018FC903B
0003FE0003FEEF00FF4BEC7F80F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE0
5DA2023F16C0187F4B1580A2027FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4
C7FC4990B512FC17E04ACAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA2
5CA2137FA25C497EB67EA33C3E7BBD3E>I<49B612FCEFFF8018F0903B0003FE000FF8EF
03FE4BEB00FF8419800207ED3FC05DA219E0140F5DA3021FED7FC05DA2F0FF80143F4B15
004D5A60027F4A5A4B495A4D5AEF3F8002FF02FEC7FC92380007F892B512E01780499038
000FE04A6D7E707E707E0103814A130083A213075CA25E130F5C5F1603131F5CA3013F02
0714404A16E05F017F160119C04A01031303496C1680B6D8800113079438FE0F00933800
7E1ECAEA3FFCEF07F03B407BBD42>82 D<92391FE00380ED7FFC913A01FFFE0700913907
F01F8F91390FC007DF4AC66CB4FC023E6D5A4A130014FC495A4948147CA2495AA2010F15
785CA3011F1570A46E91C7FCA2808014FE90380FFFE015FC6DEBFF8016E06D806D806D6C
7F141F02037FEC003FED07FF1501A281A282A212075A167E120EA2001E15FE5EA25E003E
14015E003F14034B5A486C5C150F6D495A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0
D8E00F13C026C001FEC9FC314279BF33>I<48B9FCA25A903AFE001FF00101F89138E000
7FD807E0163E49013F141E5B48C75BA2001E147FA2001C4B131C123C003814FFA2007892
C7FC12704A153C00F01738485CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2
143FA25DA2147FA25DA214FFA292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D
71BC41>I<001FB500F090B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F
1503A24A5DA201FF150795C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17
385BA2000F167817705BA2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA21607
94C8FC48C8FC5E160E161E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D
133E6C6C13F83903FC07F0C6B512C0013F90CAFCEB07F83C406FBD44>I<B500FE91387F
FFE094B5FC19C00003018091380FFC0049C8EA07F000015F606095C7FC170EA25F173C17
386D5DA26C5E16015F4C5AA24CC8FC5E160E5E805E137F5E5EA24B5AA24B5A150793C9FC
ECC00EA2013F5B153C15385DA25D14C15DECC38014E302E7CAFCEB1FEF14EE14FCA25CA2
5CA25C5C130F5CA291CBFC130E3B406DBD44>I<277FFFFE01B500FC90B512E0B5FCA200
03902680000790C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA20407150E
A2040F5D1A3C041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8FC1683DB
0703140E191E030E151C61031C7F61ED380161157003F04A5A15E002014B5A15C0DA0380
4AC9FC60DA0700140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92CAFC5F91
C7FC705A137E5F137C5F137801705D53406EBD5B>I<91B690383FFFFC605E020101E001
0F13006E49EB07F84C6D5A19C06F6C495A96C7FC033F140E705B183C031F5C705B4D5A03
0F5C70485A4DC8FC0307130EEEFC1E5F03035BEEFE705F6F6C5A5FA26F90C9FC83A2707E
A216FF4B7F5DED079FEE1FF0150EED1C0F03387F1578EDF007DA01E07F15C09138038003
DA07007F140E021E13014A805C02707F4A81495A4948147F01078249C8FC013F6F7E496C
147F2603FFC049487EB500F8011FEBFFE0A261463E7CBD44>I<B691383FFFF0A25C0003
01C0913807FE006C49EC03F86C17E0604D5A017F93C7FC6E140E5F013F153C6E5C17705F
6D6C495A16034C5A010F92C8FC6E130E5E0107143C6E5B16705E6D6C485A15034B5A0101
91C9FCECFF0E5D6D133C15F85D5D6E5AA25DA292CAFC5CA35C1301A35C1303A35C1307A3
495AA3131F001FB512F0A33C3E6EBD44>I<010C1306011C130E0178133C01E013704848
13E04913C0000313013907000380000EEB0700000C1306001C130E0018130C0038131C00
3013180070133800601330A200E0137000CFEB678039FFC07FE0A6018013C0397F003F80
003CEB1E001F1C69BE2F>92 D<147E49B47E903907C1C38090391F80EFC090383F00FF01
7E137F4914804848133F485AA248481400120F5B001F5C157E485AA215FE007F5C90C7FC
A21401485C5AA21403EDF0385AA21407EDE078020F1370127C021F13F0007E013F13E000
3E137FECF3E1261F01E313C03A0F8781E3803A03FF00FF00D800FC133E252977A72E>97
D<EB1FC0EA0FFF5CA2EA003FA291C7FCA25BA2137EA213FEA25BA21201A25BA21203A25B
147E3907F1FF809038F783E09038EF01F013FE390FF800F8A24913FC49137C485A157E5B
15FE123FA290C7FCA248130115FC127EA2140300FE14F85AA2EC07F0A215E048130F15C0
141F15800078EB3F00127C147E003C5B383E01F8381E03E06C485A6CB4C7FCEA01F81F40
76BE2A>I<EC1FC0ECFFF0903803F03C903807C01E90381F800E90383F000F017E133F49
13FF485A485A000714FE5B000F14FC48481300A2485AA3127F90C8FCA35A5AA648140300
7E1407150F151E003E143C15786C14F0EC03E0390F800F803903E07E003801FFF838003F
C0202977A72A>I<EE3F80ED1FFF1700A2ED007FA2167EA216FEA25EA21501A25EA21503
A25EA21507A25E147E903801FF8F903807C1CF90391F80EFC090383F00FF017E137F5B48
486D5A485AA2485A000F92C7FC5B001F5CA24848137EA215FE127F90C75AA214015A485C
A2140316384814F0A21407167891380FE070127C021F13F0007E013F5B003E137FECF3E1
261F01E35B3A0F8781E3802703FF00FFC7FCD800FC133E294077BE2E>I<EC3F80903801
FFE0903807E0F890381F803CEB3E0001FC131E485A485A12074848133E49133C121F4848
137C15F8EC03F0397F000FE0ECFF809038FFFC00B512C048C8FCA45AA61506150E151E00
7C143C15786C14F0EC01E06CEB07C0390F801F003807C0FC3801FFF038007F801F2976A7
2A>I<167C4BB4FC923807C78092380F83C0ED1F87161FED3F3FA2157EA21780EE0E004B
C7FCA414015DA414035DA30103B512F8A390260007E0C7FCA3140F5DA5141F5DA4143F92
C8FCA45C147EA414FE5CA413015CA4495AA4495AA4495A121E127F5C12FF49C9FCA2EAFE
1EEAF83C1270EA7878EA3FE0EA0F802A5383BF1C>I<EC03F0EC0FFC91383E0E1C9138FC
077E903901F003FE1303903807E001D90FC013FCEB1F80A2EB3F004914F8137E01FE1303
A2484814F0A2150712034914E0A2150F12074914C0A2151FA216805B153F1203ED7F006D
5BA200015B0000495A9038F80F7E90387C1EFEEB1FF8903807E0FC90C7FC1401A25DA214
03A25D001C1307007F5C48130F5D4A5A4AC7FC48137E00F85B387C03F0381FFFC0D803FE
C8FC273B7CA72A>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2
133FA291C8FCEC03F890387F0FFE91383E0F80D97E7813C0ECE007D9FFC013E014801400
A2485A5BA25B0003140F16C05BA20007141F16805BA2000F143F16005B5D001F147EEDFE
074913FCA2003F0101130FEDF80E1300161E48ECF01CA2007E1538A200FE1570020013E0
48EC7FC00038EC1F0028407ABE2E>I<1478EB01FCA21303A314F8EB00E01400AD137C48
B4FC38038F80EA0707000E13C0121E121CEA3C0F1238A2EA781F00701380A2EAF03F1400
12005B137E13FE5BA212015BA212035B1438120713E0000F1378EBC070A214F0EB80E0A2
EB81C01383148038078700EA03FEEA00F8163E79BC1C>I<1507ED1FC0A2153FA31680ED
0E0092C7FCADEC07C0EC3FF0EC78F8ECE07CEB01C01303EC807EEB0700A2010E13FE5D13
1E131CEB3C01A201005BA21403A25DA21407A25DA2140FA25DA2141FA25DA2143FA292C7
FCA25CA2147EA214FEA25CA213015CA2121C387F03F012FF495A5C495A4848C8FCEAF83E
EA707CEA3FF0EA0FC0225083BC1C>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA2
5CA2131FA25CA2133FA291C8FCED03E049EB0FF8ED3C3C017EEB707CEDE1FC9038FE01C1
EC03839038FC0703140E0001011C13F891383800E0494813001460000313E0EBF9C0EBF7
8001FEC8FC1207EBFFE0EBE7F8EBE0FE000F137F6E7EEBC01F81001F130F16701380A200
3F15F0021F13E001001380A248148116C0007EEB0F83168000FE14879138078F0048EB03
FE0038EB00F826407ABE2A>I<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A213
3FA21400A25BA2137EA213FEA25BA21201A25BA21203A25BA21207A25BA2120FA25BA212
1FA25BA2123FA290C7FCA25A1307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA
3C70EA1FE0EA0780144079BE17>I<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07
C1F80F83F03D0E1F0F00FC1E01F8001E011C90387C3800001C49D97E707F003C01F05C00
38157F4A5C26783FC05C12704A91C7FC91C7127E00F003FE1301494A5CEA007EA2030114
0301FE5F495CA203031407000160495C180F03075D0003051F13E0494A1480A2030FEC3F
810007F001C0495CA2031F91383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7
EA0FF80007C7000EEC03E0432979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F8
3A0E1F0F00FC001E011C137C001C49137E003C13F012385C38783FC012705C91C7FC00F0
15FE495CEA007EA2150101FE5C5BA2150300015D5B15075E0003020F13704914C0A2031F
13F00007ED80E05B1681EE01C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA
01F02C2979A733>I<EC1FC0ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E
14C0491307484814E0485A12075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F48
15C05AA2ED3F80A2ED7F00A248147E007C5C007E13015D4A5A003E495A6C495A4A5A260F
803EC7FC3807C0FC3801FFF038003F80242977A72E>I<903903E001F890390FF807FE90
3A1E7C1E0F80903A1C3E3C07C0013C137801389038E003E0EB783F017001C013F0ED8001
9038F07F0001E015F8147E1603000113FEA2C75AA20101140717F05CA20103140F17E05C
A20107EC1FC0A24A1480163F010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA
9C1FC7FCEC0FFCEC03E049C9FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FC
A22D3A80A72E>I<027E1360903901FF81E0903807C1C390391F80E7C090383F00F7017E
137F5B4848EB3F80485AA2485A000F15005B121F5D4848137EA3007F14FE90C75AA34813
01485CA31403485CA314074A5A127C141F007E133F003E495A14FF381F01EF380F879F39
03FF1F80EA00FC1300143F92C7FCA35C147EA314FE5CA21301130390B512F05AA2233A77
A72A>I<D801F013FC3A07FC07FF803A0F3E0F03C0260E1F1C13E0001EEB380F001C1370
003CEBE01F123814C0D8783F14C00070903880070092C7FC91C8FC12F05BEA007EA313FE
5BA312015BA312035BA312075BA3120F5BA3121F5B0007C9FC232979A726>I<EC7F8090
3801FFE0903807C0F890381F003C013E131C013C131E017C133E49137E15FEA2000114FC
A215706D13007FEBFFC014FC6C13FF15806D13C06D13E0010F13F01300140F1407140312
0C123F387F80011403D8FF0013E0A300FCEB07C000F0EB0F8012700078EB1F006C133C38
1F01F83807FFE0C690C7FC1F297AA725>I<EB01C0EB03F01307A25CA2130FA25CA2131F
A25CA2133FA291C7FCA2007FB51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203
A25BA21207A25BA2120FA25BA2121F141C1380A2003F133C1438EB0078147014F05C495A
EA1F03495A6C48C7FCEA07FCEA01F0193A78B81E>I<137C48B4141C26038F80137EEA07
07000E7F001E15FE121CD83C0F5C12381501EA781F007001805BA2D8F03F130314000000
5D5B017E1307A201FE5C5B150F1201495CA2151F0003EDC1C0491481A2153F1683EE0380
A2ED7F07000102FF13005C01F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F890
3907F001F02A2979A731>I<017CEB01C048B4EB07F038038F80EA0707000E01C013F812
1E001C1403EA3C0F0038EC01F0A2D8781F130000705BA2EAF03F91C712E012005B017E13
0116C013FE5B1503000115805BA2ED07001203495B150EA25DA25D1578000114706D5B00
00495A6D485AD97E0FC7FCEB1FFEEB03F0252979A72A>I<017C167048B491387001FC3A
038F8001F8EA0707000E01C015FE001E1403001CEDF000EA3C0F0038177C1507D8781F4A
133C00701380A2D8F03F130F020049133812005B017E011F14784C137013FE5B033F14F0
000192C712E05BA2170100034A14C049137E17031880A2EF070015FE170E00010101141E
01F86D131C0000D9039F5BD9FC076D5A903A3E0F07C1E0903A1FFC03FFC0902703F0007F
C7FC372979A73C>I<903903F001F890390FFC07FE90393C1E0E0F9026780F1C138001F0
EBB83FD801E013F89039C007F07FEA0380000714E0D9000F140048151C000E4AC7FCA200
1E131FA2C75BA2143F92C8FCA35C147EA314FE4A131CA30101143C001E1538003F491378
D87F811470018314F000FF5D9039077801C039FE0F7C033A7C0E3C078027783C1E1EC7FC
391FF80FFC3907E003F029297CA72A>I<137C48B4143826038F8013FCEA0707000E7F00
1E1401001C15F8EA3C0F12381503D8781F14F000701380A2D8F03F1307020013E012005B
017E130F16C013FE5B151F1201491480A2153F000315005BA25D157EA315FE5D00011301
EBF8030000130790387C1FF8EB3FF9EB07E1EB00035DA21407000E5CEA3F80007F495AA2
4A5AD8FF0090C7FC143E007C137E00705B387801F0383803E0381E0FC06CB4C8FCEA03F8
263B79A72C>I<D901F01370D907FC13F0010F14E090381FFE0190393FFF03C049EB8380
90387C0FCF9039F803FF009038F0007E49133C000114386C48137890C75A4A5A4A5A4A5A
4AC7FC141E5C5C5C495A495A495A49C8FC131E4913075B5B48485B4848131E485A01F05B
D80FFE137C391F1F81F8383E0FFFD83C075B486C5B00705CD8F00190C7FC38E0007C2429
7BA725>I<B8FCA2280278982E>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FA cmsl10 10.95 41
/FA 41 116 df<EA0780EA0FE0EA1FF0123FA5121FEA0F301200A213701360A213E013C0
120113801203EA07001206120E5A5A5A5A5A0C1C7A8919>44 D<007FB5FCA2B512FEA418
067C961E>I<121EEA3F80EA7FC012FFA41380EA7F00123C0A0A788919>I<157015F01401
1407143F903803FFE0137FEBFFCFEBF80F1300141F15C0A5143F1580A5147F1500A55C5C
A513015CA513035CA513075CA5130F5CA3131F497EB612F8A31D3D78BC2D>49
D<EC01FE91380FFFE0023F13F89138FC07FC903901E001FE903907C000FF49C7EA7F8001
1E15C0163F4915E05B0170141F13FF80A35A163FA26C90C7FC137E0118EC7FC090C8FCEE
FF80A24B1300A24B5A5E4B5A4B5A4B5A5E4B5A4BC7FC15FEEC01F84A5A4A5A4A5A4AC8FC
143E5C5CEB01E04948130E49485B49C7FC131E495C13705B48485C484814F0000FB6FC5A
485D5AB7FC5EA22B3D7CBC2D>I<EC07FC91383FFF809138F80FE0903903C007F0903907
8003FC90380F0001011C14FE013C14FF137F1480EBFFC0A31480A291380003FE137E90C7
FCED07FC16F8150F16F0ED1FE016C0ED3F80ED7E005DEC07F0903803FF8015F090380001
FC6E7EED7F80ED3FC0A2ED1FE016F0A316F8A4120EEA3F80486C133F16F012FFA216E015
7F5B48C7EAFFC000F01580007049130012786C495A003EEB07F86C495A390FE03FE00003
B51280C649C7FCEB1FE0283F7ABC2D>I<161C163C167CA216FCED01F815031507150FA2
151DED3BF0157315E315C31401EC038391380707E0140E141CA2143814709138E00FC0EB
01C014801303EB0700130E49EB1F805B133013705B485A4848EB3F0090C7FC5A120E5A5A
48147E1260B8FCA3C73801FE00A25DA41403A25DA314074A7E0107B512F8A3283E7BBD2D
>I<01061403D90780131F90390FF801FE91B512FC16F816F016E0168049EBFE0015F890
381C7FC091C8FCA3133C1338A513781370A2EC1FE0ECFFF8903873E03E9038FF001F01FC
EB0F804914C049EB07E04914F049130390C7FC16F8A61507A21206EA3F80487EA2150F00
FF15F0A24914E090C7121F00FC15C000F0143F00701580ED7F0012786C14FE4A5A6C495A
390F800FE03907E03FC06CB5C7FCC613FCEB1FE0283F7ABC2D>I<ED7F80913803FFE091
380FC0F091383E003802FC131C495A494813FE903807E003EB0FC090381F8007133FD97F
0013FC01FE1303ED01F0484890C7FC1203A2485AA2120F5BA2001FEB3F809038E0FFE039
3FE3C0F89038E7007C01EE7F01FC133F4848EB1F80A24914C05B16E0A2485AA216F05BA2
ED3FE0A290C7FCA4157F16C0A316804814FF007E1500007F5C14016C5C4A5A6C6C485A4A
5A6C6C485A2607E07FC7FC3803FFFEC613F8EB3FC0273F78BC2D>I<EA0380120713E090
B712805AA217005E485D5E001EC85A484A5A00385D150300784A5A00704AC7FC151E5D48
5CC8127015F04A5A4A5A4A5A4AC8FC140E141E5C147C14785C1301495AA213075C130F49
5AA2133F91C9FC5BA25B5B1201A312035BA21207A3485AA5121F5BA26C5AEA0780294074
BD2D>I<EC03FC91381FFF8091387C07E0903901F001F0903903C000F84948137C49C712
3E131E013E141F133C137C137813F8A3163F486C143E167E6D147C6C6C14FC6E13F89138
C001F09138F003E090397FF807C09138FC0F0090383FFF3E6D13F86D13E06D7F01017F81
01077F90391F1FFF80D93E0F13C0EBF8072601F00113E048486C13F04848137F4848131F
001FEC0FF890C71207003E1403A2481401A300FC15F05AA3ED03E0A26CEC07C0007C1580
007E140F003EEC1F00003F143E6C6C5B6C6C485A3907F00FE00001B512806C6C48C7FCEB
0FF0283F7ABC2D>I<EC07F8EC3FFE9138FC0F80903901F007C0903907E003E0D90FC013
F090381F8001013F14F8EB7F004914FC48481300A24848EB01FEA21207A3485AA4150312
1F5BA31507A2000F15FC150FA2151F1207153F000315F86C6C137F000014EF90387C01CF
90393E078FF090380FFE1FEB03F890C713E0A2ED3FC0A3ED7F8016005D003F5C487E4A5A
00FF495A5D4A5A49485A48495A007049C7FC0078137E383E03FC381FFFF06C13C0D801FE
C8FC273F79BC2D>I<17E016011603831607A2160FA2161F83163FA2167F167716F7EEE7
FCED01E316C3150316831507EE03FEED0F01150E151E151C153C03387FED7800157015F0
5D4A4880177F4A5AA24AC7FCA2020E81173F5C021FB6FC5CA20270C7EA3FE0171F5CA249
5AA2494881170F49C8FCA2130EA24982013C1507A2137CD801FE4B7E2607FF80EC3FFEB5
00F00107B512FC19F85E3E417DC044>65 D<013FB7FC18E018FC903B007FE00007FE6E48
903801FF809438007FC05DF03FE0F01FF0A3027F16F892C8FCA54A16F04A153F19E0187F
19C0F0FF8001014B13004A4A5A4D5AEF1FF04D5ADC03FFC7FC49B612F8EFFF8002F8C7EA
3FE0EF0FF0EF07FC717E010715014A81711380A319C0130F5CA5011F4B13805C19005F60
1707013F4B5A4A4A5A4D5A4D5A017F913801FF8001FF020F90C7FCB812FC17F094C8FC3D
3E7DBD40>I<DCFFC01338030F01F01378037F01FC13F0913A01FF803F01913A07FC0007
81DA1FE0EB03C3DA7FC0EB01E74AC812FF4948ED7FE0D907FC153F495A4948151F495A49
48150F494816C018074890C9FC485AA2485A000F1880491603121FA248481607A295C7FC
485AA412FF5BA75BA2181C183C1838A27F007F1778187018F0003F5F6D150160001F1603
6C6C4B5A95C7FC6C6C5D6C6C151E6C6C5D6C6C15F86D6C495A6D6CEB07C0D91FF0EB1F80
D907FE01FEC8FC0101B512F86D6C13E0DA07FEC9FC3D4276BF42>I<013FB7FC18E018F8
903B007FF0000FFE6E48EB01FF9438007FC04B6E7E180F85727E727E147F4B6E7EA2727E
A302FF178092C9FCA54918C05CA41A8013034A5DA41A0013074A5DA261A24E5A130F4A5E
180F61181F61011F4C5A5C4E5A4EC7FC4D5A4D5A013F4B5A4A4A5AEF3FE0EF7F80017F4A
48C8FC01FFEC1FFCB812F0178004FCC9FC423E7DBD45>I<013FB812F8A39026007FF0C7
127F6E48140F18034B14011800A31978147F4B1570A502FF147092C7FCA3190017F0495D
4A1301A21607161F91B6FC495DA29138FC003F160F1607160301075D5CA219E0180119C0
010FEC07004A90C712031980A218071900011F5E5C181EA2183E183C013F167C4A15FC4D
5A1707017F151F01FF4AB45AB9FCA2603D3E7DBD3E>I<013FB812E0A3903A007FF00001
6E48EB003F180F4B14071803A31801147F4B15C0A514FF92C71270A395C7FC17F0495D5C
160116031607161F49B65AA39138FC003F160F160701075D4A1303A5010F4AC8FC5C93C9
FCA4131F5CA5133F5CA3137FEBFFF0B612F8A33B3E7DBD3B>I<4BB46C1370031F01F013
F0037F9038FC01E0913A03FF807E03913A0FF8000F83DA1FE0EB07C7DA7F80EB01EF4AC8
12FFD903FE16C04948157F4948153F495A4948151F495A4948168091C9120F5A485AA248
5A000F18004982121FA248485EA295C7FC485AA412FF5BA6043FB512E05BA29339001FFC
00715AA2607F127FA2171F123F6D5EA2121F7F000F163F6C7E6C6C4B5A7F6C6C15FF6C6D
EB01EFD93FC0EB07C7D91FF0EB1F87D907FE9038FE03800101B5EAF8016D6C01E0C8FCDA
07FEC9FC3C4276BF47>I<013FB5D8F807B6FC04F015FEA29026007FF0C7380FFE006E48
6E5AA24B5DA4180F147F4B5DA4181F14FF92C85BA4183F5B4A5EA491B8FC5B6102FCC812
7FA318FF13074A93C7FCA45F130F4A5DA41703131F4A5DA41707133F4A5DA3017F150F49
6C4A7EB6D8E01FB512FC6115C0483E7DBD44>I<011FB512FC5BA29039003FF8006E5AA2
5DA5143F5DA5147F5DA514FF92C7FCA55B5CA513035CA513075CA5130F5CA5131F5CA313
3F497E007FB512F0A2B6FC263E7EBD21>I<021FB512FCA3DA000713006F5AA25EA41507
A25EA4150FA25EA4151FA25EA4153FA25EA4157FA25EA415FFA293C7FCA45C121FD87F80
5BEAFFC0A214035D13804A5AEAFE0000F8495A48495A00705C6C495A6C01FEC8FC380F81
FC3803FFE0C690C9FC2E407ABD2F>I<013FB512FEA25E9026007FF8C8FCEC3FE0A25DA5
147F5DA514FF92C9FCA55B5CA513035CA513075CA21838A21870130F5CA218E0A3011F15
014A15C01703A21707EF0F80013F151F4A143F177FEFFF00017F140301FF143FB9FC5FA2
353E7DBD39>76 D<90263FFFF093381FFFF85013F0629026007FF8EFF000023F4D5AA202
3B933801DFC0A2DA39FCED039FA2F1073F14790271040E5BEC70FE191C19381A7F02F016
70DAE07F94C7FC19E0A2F001C06201016D6C495A02C05FF00700A2180E6F6C1401010316
1C028003385BA218706F7EF0E00313070200DA01C05BA2923907F00380A294380700075B
010E902603F80E5C5FA25F190F011E6D6C5A011C605FA2EEFDC0DB00FF141F013C5D0138
60013C92C7FC017C5C01FE027E143F2607FF80017C4A7EB500FC037FB512E004785E4A13
38553E7CBD53>I<90263FFFE0023FB5FC6F16FEA29026003FF8020313C0021F03001300
4A6C157C023B163C6F15381439810238167802787FDA707F157082153F82031F15F002F0
7FDAE00F5D8215078203031401010180DAC0015D82811780047F1303010315C04A013F5C
17E0161F17F0040F1307010715F891C7000791C7FC17FC160317FE04015B4915FF010E6E
130E188E177F18CEEF3FDE011E16FE011C6F5AA2170FA21707133C01386F5A133C017C15
0113FE2607FF801400B512FC18705C483E7DBD44>I<923803FF80031F13F09238FE01FE
913903F0003FDA0FC0EB1FC0DA3F80EB07E0027EC76C7E49486E7E49488149486E7E4948
157F495A013F17804948ED3FC049C9FCA24848EE1FE012035B000718F05B120FA2485A19
F8123F5BA2127FA219F04848163FA5F07FE0A35BF0FFC0A219805F19007F4D5A127F4D5A
60003F160F6D5E001F4C5A4D5A6C6C4B5A95C7FC6C6C15FE00034B5A6C6C4A5A6C6C4A5A
017FEC1FC06D6C495AD90FE001FEC8FC903903F807F80100B512C0DA0FFCC9FC3D4276BF
47>I<013FB612FEEFFFE018F8903B007FF0000FFC6E48EB01FF7113804BEC7FC0183F19
E0F01FF0A2147F5D19F8A402FFED3FF092C8FCA219E0A2F07FC05B4AEDFF8019004D5A4D
5AEF0FF80103ED3FE04A903801FF8091B648C7FC17F002FCCAFCA213075CA5130F5CA513
1F5CA5133F5CA3137F497EB612E0A25D3D3E7DBD3E>I<013FB612F017FF18E0903B007F
F0003FF86E48EB07FCEF01FE4B6D7EF07F8019C0183F19E0147F4B15F0A502FFED7FE092
C8FCA219C0F0FF80A2494B13004A5D4D5AEF0FF04D5AEF7F800103DA07FEC7FC91B612F0
17809139FC0007E0EE03F8EE00FC0107814A147F717EA284A2130F5CA484011F157F5CA4
1902013F17075CA2F0F00F017F170E496C143FB600E0011F131C94380FF83C4B01071378
CA3801FFE09438003F8040407DBD43>82 D<9238FF80070207EBE00F021FEBF81E91387F
00FE02FCEB1F3ED903F0EB0FFE49481307494813034AEB01FC49C7FC491400133E137E17
7C491578A57F1770A26D1500808080EB7FFEECFFE06D13FEEDFFC06D14F06D14FC010380
010080143F02031480DA003F13C015031500EE7FE0163F161FA2160F121CA31607160F00
3C16C0A31780003E151F1700007E5D007F153E6D5C16FC01E0495AD87DF0495AD8FCFCEB
0FC03AF87F803F8027F01FFFFEC7FCD8E00713F839C0007FC030427BBF33>I<0007B912
F0A33C0FFE000FF8003F01F0160F01C04A13034848160190C7FC121EF000E048141F5E12
38A212781270153F5E5AA3C81600157F5EA515FF93C9FCA55C5DA514035DA514075DA514
0F5DA3141FEC7FFC0003B7FCA33C3D76BC42>I<B600E090B512FC4B15F8A2000101C0C7
000F13006C49EC03FCEF01F091C9FC60A317015A495EA417031203495EA4170712074993
C7FCA45F120F49150EA4171E121F49151CA4173C123F491538A31778177017F05F001F15
015F16036D4A5A000F93C8FC5E6C6C141E6C6C5C000115F86C6C495A017FEB07C090393F
C03F8090260FFFFEC9FC010313F89038007FC03E4073BD44>I<B6020FB5FC19FEA20003
01E0020113E06C01809138007F8091C9EA7E006C173C18386E15781870017F16F0604D5A
804D5A133F4DC7FCA26E140E171E011F151C173C17386E1478010F15705FA24C5A800107
4A5AA24CC8FC5E6E130E0103141E161C163C16386E5B13015EA24B5A14FF6D495AA24BC9
FC5D158EEC7F9E159C15B8A215F0143F5DA25DA26E5AA292CAFCA2140E404074BD44>I<
B6017FB5D88007B512804A1A00A2000701C0010101E0C713F06C90C80180EC3FC06C4873
5A99C7FC057F150E1B1E6D191C6C1A3C1B3805FF15787214705E636EEB03BF017F4E5AEE
073F505A040E7F051F4AC8FC161C6E170E013F143862167804706D5BEEF00F04E05D9038
1FE00104C015F003035E0480140106F85B9226070007130302F05F010F010E150797C9FC
5D190E4BEB03FC616E5A01075F5D61DAF9C014FE05015BECFB8002FF6F5A7F92C75CA24A
93CAFC835C606D5A605C604A15781870594074BD5D>I<010FB500F090B512F85B5FD900
3F902680003F1300DA0FFEC7EA1FF84BEC0FE00207168096C7FC6E6C141E181C6E6C143C
606E6D5B4D5ADB7FC05B4D5A92383FE0074DC8FC92381FF01E171C6F6C5A5F923807FCF0
EEFDE06FB45A5F6F90C9FCA26F7FA2707EA216FF4B7FED03DF9238079FF0ED0F1F92380E
0FF8151C92383C07FC15784B6C7EEC01E04B6C7EEC038002076D7F4AC7FC021E6E7E5C02
386E7E5C02F06E7E495A49486E7E130749486E7E497E017F4B7E2603FFF091383FFF8000
7F01FC49B512FEB55CA2453E7EBD44>I<B66C0103B51280A3000101F0C8EBF0006C49ED
7FC06D486FC7FC6E153E013F163C606D6C5D606D6C4A5A17036D6C4A5A95C8FC6E140E01
03151E5F6D6C14385F6D6D13F04C5ADA7FC05B4C5AEDE007023F49C9FC161E91381FF01C
5E91380FF8785E6E6C5AEDFDC015FF6E5B93CAFC6E5AA35DA21403A45DA21407A45DA214
0FA4141F4A7E013FB512F0A3413E75BD44>I<EC1FF0ECFFFE903903F01F8090390FC003
C0D93F0013E0017E130F49131F000115F04848EB3FE0485AA24848EB1FC0001FEC0F0049
90C7FC123FA2485AA412FF90C9FCA96CEC0380150716006C6C5B151E001F5C6C6C5B6C6C
5B6C6C485A3901F80F8026007FFEC7FCEB0FF0242A7AA828>99 D<EC3FE0903801FFF890
3807E07E90380F801F90393F000F80017E14C049EB07E0485A12034848EB03F0485AA212
1F5B123FA248481307A290B6FCA2D8FF80C8FC90C9FCA87EED01C015036C15806D130700
1FEC0F006D131E000F5C6C6C5B6C6C485A3900FC07C0D93FFFC7FCEB07F8242A7BA828>
101 D<EC0FF0ECFFFE903903F01F8090390FC007C049C66C7E013E6D7E01FC6D7E484880
49147C0003157E485A000F157F5B121FA2485AA2007F1680A2170048C85AA54B5AA25E5A
6C4A5A7E4B5A5E6C140F6C6C5C4B5A6C6C013EC7FC6C6C5B6C6C485A3900FC0FE090383F
FF80D90FF8C8FC292A7BA82D>111 D<91387F01FE903A7FFF0FFFC09139FE3E03F09238
F801F8903A03FFE000FE6D49137F4B7F92C713804A15C04A141FA218E0A20103150F5C18
F0A3171F010716E05CA3173F18C0130F4A147F1880A2EFFF004C5A011F5D16034C5A6E49
5AEE1FC06E495AD93FDC017EC7FC91388F01F8913883FFE0028090C8FC92C9FC137FA291
CAFCA45BA25BA31201487EB512F8A3343A81A733>I<903907F01F80D803FFEB7FE09138
E1E1F09138E387F839001FE707EB0FE614EE02FC13F002D813E09138F801804AC7FCA25C
131FA25CA4133F5CA5137F91C8FCA55B5BA31201487EB512FEA325287EA724>114
D<9138FF81C0010713E390381F807F90397C003F8049131F4848130F5B00031407A24848
1400A27FA27F6D90C7FCEBFF8014FC6C13FF6C14C015F06C6C7F011F7F13079038007FFE
1403140100381300157EA2123C153E157E007C147CA2007E147815F8007F495A4A5A486C
485A26F9E01FC7FC38E0FFFC38C01FE0222A7DA824>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FB cmr9 9 56
/FB 56 122 df<91393FE00FE0903A01FFF83FF8903A07E01EF83C903A1F800FF07E903A
3F001FE0FE017E133F4914C0485A1738484890381F8000ACB812C0A33B03F0001F8000B3
A7486C497EB50083B5FCA32F357FB42D>11 D<003C13F0387E01F838FF03FCA2EB83FEA2
EA7F81383D80F600011306A40003130EEB000CA248131C00061318000E1338000C133000
1C13704813E0387001C00060138017177EB326>34 D<14C01301EB0380EB0F00130E5B13
3C5B5BA2485A485AA212075B120F90C7FC5AA2121E123EA3123C127CA55AB0127CA5123C
123EA3121E121FA27E7F12077F1203A26C7E6C7EA213787F131C7F130FEB0380EB01C013
00124A79B71E>40 D<12C07E1270123C121C7E120F6C7E6C7EA26C7E6C7EA27F1378137C
133C133EA2131E131FA37F1480A5EB07C0B0EB0F80A514005BA3131E133EA2133C137C13
7813F85BA2485A485AA2485A48C7FC120E5A123C12705A5A124A7CB71E>I<156015F0B3
A4007FB812C0B912E0A26C17C0C800F0C8FCB3A4156033327CAB3C>43
D<123C127EB4FCA21380A2127F123D1201A412031300A25A1206120E120C121C5A5A1260
09177A8715>I<B512F0A514057F921A>I<123C127E12FFA4127E123C08087A8715>I<13
075B5B137FEA07FFB5FC13BFEAF83F1200B3B3A2497E007FB51280A319327AB126>49
D<1230123C003FB6FCA34814FEA215FC0070C7123800601430157015E04814C01401EC03
80C7EA07001406140E5C141814385CA25CA2495A1303A3495AA2130FA3131F91C7FCA25B
A55BA9131C20347CB126>55 D<123C127E12FFA4127E123C1200B0123C127E12FFA4127E
123C08207A9F15>58 D<007FB812C0B912E0A26C17C0CCFCAC007FB812C0B912E0A26C17
C033147C9C3C>61 D<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202
707FEC601FA202E07FECC00FA2D901807F1507A249486C7EA301066D7EA2010E80010FB5
FCA249800118C77EA24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7ED8FF
FE49B512E0A333367DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80EE3F
C0161F17E0160F17F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E9039FC00
07FCED00FEEE3F80EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0FF0EE1FE0
163FEE7FC00003913803FF00B75A16F816C02E337DB236>I<DA03FE130C91393FFF801C
91B512E0903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC712034848
1401000315005B4848157C485A173C485A171C123F5B007F160CA390C9FC481600AB7E6D
150CA3123F7F001F161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F
80EB0380D91FC0EB0F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E37
7CB437>I<B812C0A3D803FCC7127F0001150FEE03E01601A21600A21760A403061330A4
1700150EA2151E157E90B512FEA39038FC007E151E150EA21506170CA3171892C7FCA417
38A21770A217F01601160316070003157FB812E0A32E337DB234>69
D<B81280A3D803FCC7FC0001151FEE07C01603A21601A21600A41760150CA31700A2151C
A2153C15FC90B5FCA3EBFC00153C151CA2150CA592C8FCAB487EB512FEA32B337DB232>
I<B5D8FE03B512F8A3000190C73807FC006C486E5AB390B7FCA349C71203B3A3486C4A7E
B5D8FE03B512F8A335337EB23A>72 D<B512FEA3000113006C5AB3B3A7487EB512FEA317
337EB21C>I<B512FEA3D803FEC9FC6C5AB3A9EE0180A416031700A45EA25E5E5E5E16FE
00031407B7FCA329337DB230>76 D<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06
FCA3D99F80140CA2D98FC01418A3D987E01430A2D983F01460A3D981F814C0A3D980FCEB
0180A2027EEB0300A36E1306A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800
FD80A2037FC7FCA3486C133ED80FF04B7EB5011C90387FFFF8A33D337CB246>I<D8FFFE
91381FFFF87F80C6030013006E143CD9DFE01418EBCFF0A2EBC7F8EBC3FCA2EBC1FEEBC0
FF6E7EA26E7E6E7EA26E7E6E7E6E7EA26E7E6E7EA2ED7F80ED3FC0ED1FE0A2ED0FF0ED07
F8A2ED03FCED01FEED00FFA2EE7F98EE3FD8A2EE1FF8160F1607A216031601A2486C1400
D807F81578B500C01438A2171835337EB23A>I<EC07FC91387FFFC0903901FC07F09039
07E000FCD90F80133E013FC76C7E017E6E7E496E7E48486E7E48486E7EA248486E7E000F
8249157E001F167FA24848ED3F80A2007F17C0A290C9121FA24817E0AB6C17C06D153FA3
003F17806D157FA2001F17006D5D000F5E6C6C4A5AA26C6C4A5A00015E6C6C4A5A017E4A
5A6D4A5AD91FC0017FC7FCD907E013FC903901FC07F09039007FFFC0DA07FCC8FC33377C
B43C>I<B612FCEDFF8016F03A01FE0007FC0000EC01FEED007F707E707E83160F83A65F
A24C5AA24C5A047EC7FC4B5AED0FF090B612C093C8FC9039FE001FC0ED07F06F7E6F7E15
0082167E167FA583A5180C17C0A2043F131C486C1618B500FEEB1FE0040F1338933807F0
70C93801FFE09338003F8036357EB239>82 D<90381FE00390387FFC0748B5FC3907F01F
CF390F8003FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC127F13C0EA3F
F013FF6C13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF140302001380157F
153FED1FC0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C05B39F1
FC03F800E0B512E0011F138026C003FEC7FC22377CB42B>I<007FB712FEA390398007F0
01D87C00EC003E0078161E0070160EA20060160600E01607A3481603A6C71500B3AB4A7E
011FB512FCA330337DB237>I<B500FE90381FFFF8A3000190C813006C48153C1718B3AF
1738017F1530A217706D6C1460011F15E06E495A010F14036D6C495A6D6C49C7FCD901FC
131E6DB413FC91383FFFF0020F13C0020190C8FC35357EB23A>I<B500F0903803FFF8A3
D807FEC8EA7FC06C48ED1F000001161E6D151C00001618A26D15386D1530A26D6C5CA26E
14E0011F5DA26D6C495AA28001074AC7FCA26D6C1306A28001015CA26E131C0100141880
6E5BA2ED8070023F1360A26E6C5AA215E1020F5BA2DA07F3C8FCA215FBEC03FEA36E5AA2
6E5AA31570A235357EB23A>I<B5D8F007B539800FFFF0A3000390C7273FF000011300D8
01FC6E48EB007C1A386D140F00001930836D020715706D1860A26E496C14E0013F60A26E
D919FC1301011F60A26ED930FE1303010F95C7FCA26ED9607F5B01071706A26E9039C03F
800E0103170CA2913BFC01801FC01C01011718A2913BFE03000FE03801001730A2DAFF06
EB07F0027F5EA2038CEB03F8023F5EA203D8EB01FC021FEDFD80A203F0EB00FF020F93C8
FCA24B800207157EA24B143E0203153CA24B141C020115184C357FB24F>I<267FFFFC90
B512C0A3000101E090381FF80026007F80EB0FC0013F6E5A6E91C7FC6D6C130E010F140C
6E5B6D6C133801035C6E13606D6C13E06D6C485A5EDA7F83C8FCEC3FC715C6EC1FECEC0F
FC5D14076E7EA26E7E815C6F7E9138063FC0140E4A6C7E9138180FF0EC380702707F9138
6003FCECC0010101804A6C7E49C77E4981010E6E7E010C6E7E131C496E7E01786E7E13FC
D807FEEC1FFEB56C90B512F8A335337EB23A>I<0003130C48131C000E13384813700018
1360003813E0003013C0EA700100601380A2EAE00300C01300A400DE137800FF13FCEB83
FEA2EA7F81A2383F00FC001E1378171774B326>92 D<EB7F803803FFF0380F80FC381C00
3E003F133F6D6C7E6E7EA26E7EEA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1F
C0EA3F80127F13004815C05AA3140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FF
C013003900FE003C22237DA126>97 D<EA03F012FFA312071203AEEC3F80ECFFE09038F3
C0F89038F7007E01FE7F49EB1F8049EB0FC05BED07E016F0A2150316F8AA16F0150716E0
A2ED0FC07F6DEB1F8001ECEB3F0001CF137C90388381F8903801FFE0C76CC7FC25357EB3
2B>I<EB07F8EB3FFF9038FC07C03901F000E03903E003F03807C007120FEA1F80123F90
380003E04890C7FCA2127E12FEAA127FA26C14187F001F14386D1330000F14706C6C13E0
3903F001C03900FC0F8090383FFE00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AE
EB07F0EB3FFCEBFC0F3901F003BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA
127E127FA27E6C6C5BA26C6C5B6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE013
0026357DB32B>I<EB0FE0EB7FFCEBF83F3903F00F80D807E013C0390FC007E0381F8003
15F0EA3F0014014814F8127EA212FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338
000F14306D13706C6C13E03901F003C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01
FCEB07FF90381F078090383E0FC0EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3
D803F0C7FCB3A7487E387FFFE0A31A357FB417>I<151F90391FC07F809039FFF8E3C039
01F07FC73907E03F033A0FC01F83809039800F8000001F80EB00074880A66C5CEB800F00
0F5CEBC01F6C6C48C7FCEBF07C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEEC
FFC06C14F06C14FC4880381F0001003EEB007F4880ED1F8048140FA56C141F007C15006C
143E6C5C390FC001F83903F007E0C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA3
12071203AEEC1FC0EC7FF09038F1E0FC9038F3807C9038F7007E13FE497FA25BA25BB348
6CEB7F80B538C7FFFCA326347EB32B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAA
EA07E012FFA3120F1207B3A6EA0FF0B5FCA310337EB215>I<EB03C0EB07E0EB0FF0A4EB
07E0EB03C090C7FCAAEB03F013FFA313071303B3B01238127C00FE13E0130714C0130F00
7C138038381F00EA1FFCEA07F0144384B217>I<EA03F012FFA312071203AF913803FFE0
A36E1300EC00F8EC01E05D4A5A020FC7FC141C5C5C14F0EBF3F8EBF7FC13FEEBFC7EEBF8
7F496C7E141F6E7E8114076E7E8114016E7E81486CEBFF80B500C313F0A324347EB329>
I<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>I<2703F01FE013FF00FF
90267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049
6D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0
1FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F
80B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F803901F007C03903C001E000
078048486C7E48C7127CA248147E003E143E007E143FA300FE1580A8007E1500A36C147E
A26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F021237EA1
26>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049
130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC
9038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<903807F0
0390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA2
5A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE0
90C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F809038E7
1FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>I<EBFF06
000713CE381F00FE003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFF
C014F0000F7F6C7FC67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E
6C5B38F7807838E1FFE038C07F8019237EA11E>I<1330A51370A313F0A21201A2120312
07381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0
182F7FAD1E>I<D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D12016D481380
0000903803BFFC90387E073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB
3F800007EC1F000003140E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5B
A290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F
29>I<B53A1FFF81FFF0A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C
1318A26D017E1338000002FE1330A290267E01FF5B159F168090263F030F5BA216C0903A
1F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D48
1378A36D48133034217F9F37>I<B53801FFF8A32603FE0013806C48EB7C000000147801
7E1370017F5B90383F81C090381F8380D90FC3C7FCEB07E614FE6D5A6D5A6D7E80805B90
38039F809038071FC09038060FE0EB0C0790381C03F0496C7E01707FEBF000000180000F
ECFF8026FFFC0313FCA326207F9F29>I<3A7FFF807FF8A33A07F8001FC00003EC0F8000
01EC070015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA290
3807E180A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A12
78D8FC03C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FC cmr8 8 65
/FC 65 125 df<9138FF807E01079038E1FF80903A1F807FC3C0D93E00EB87E049EBFF07
4913FE485A00039138FC018049017CC7FCAAB712FCA22703E0007CC7FCB3A6486C13FE3A
7FFF0FFFF0A22B2F7FAE29>11 D<14FF010713E090381F80F090383E003849137C4913FC
485A1203491378153092C7FCA7157CB612FCA23803E000157CB3A5486C13FE3A7FFF0FFF
E0A2232F7FAE27>I<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F6000113
06A30003130EEB000CA248131C00061318000E13384813704813E0387001C00060138017
157EAD23>34 D<123C127EB4FCA21380A2127F123D1201A312031300A25A1206120E5A5A
5A126009157AAD14>39 D<13031307130E131C1338137013F0EA01E013C01203EA0780A2
EA0F00A2121EA35AA45AA512F8A25AAB7EA21278A57EA47EA37EA2EA0780A2EA03C01201
13E0EA00F013701338131C130E1307130310437AB11B>I<12C07E12707E7E7E120FEA07
80120313C0EA01E0A2EA00F0A21378A3133CA4131EA5131FA2130FAB131FA2131EA5133C
A41378A313F0A2EA01E0A2EA03C013801207EA0F00120E5A5A5A5A5A10437CB11B>I<EC
0380B3A4B812FCA3C7D80380C7FCB3A42E2F7CA737>43 D<123C127EB4FCA21380A2127F
123D1201A312031300A25A1206120E5A5A5A126009157A8714>I<B512C0A412047F9018>
I<123C127E12FFA4127E123C08087A8714>I<15C0140114031580A214071500A25C140E
A2141E141CA2143C143814781470A214F05CA213015CA213035C130791C7FCA25B130EA2
131E131CA2133C1338A21378137013F05BA212015BA212035BA2120790C8FC5A120EA212
1E121CA2123C1238A212781270A212F05AA21A437CB123>I<EB3FC0EBFFF03803E07C48
487E48487E497E001EEB0780A2003E14C0A248EB03E0A500FC14F0B0007C14E0A3007E13
07003E14C0A36CEB0F806C14006D5A3807C03E3803F0FC3800FFF0EB3FC01C2D7DAB23>
I<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23>I<EB7F80
3801FFF0380780FC380E003F48EB1F8048EB0FC05A0060EB07E012F000FC14F07E1403A3
007C1307C7FCA215E0140F15C0141F1580EC3F00147E147C5C495A495A495A495A011EC7
FC5B5B4913305B485A4848136048C7FC000E14E0001FB5FC5A4814C0B6FCA21C2C7DAB23
>I<EB3FC03801FFF03807C0FC380E007E487FEC1F80003F14C0A2EB800F1300A2000C13
1FC7FC1580A2EC3F00143E5C5CEB03F0EBFFC014F0EB00FC143FEC1F8015C0140F15E0A2
EC07F0A21238127C12FEA3EC0FE012F8006014C00070131F6C1480001EEB3F00380780FC
3801FFF038007FC01C2D7DAB23>I<140EA2141E143EA2147E14FEA2EB01BE1303143E13
06130E130C131813381330136013E013C0EA0180120313001206120E120C5A123812305A
12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>I<000CEB0180380FC01F90
B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F801F01001380
000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E0006014C0007013
0F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>I<EB03F8EB0FFE
90383E0780EBF8013901F007C03803E00FEA07C0EA0F80A2391F00078091C7FC123EA212
7EA2127CEB0FC038FC3FF0EBF07C38FDC01EB4487E01001380EC07C04814E0A214034814
F0A4127CA3127EA2003E14E01407121E001F14C06CEB0F803907801F003803C03E6C6C5A
38007FF0EB1FC01C2D7DAB23>I<1230123C003FB512F8A215F05A15E039700001C00060
1480140348EB0700140E140CC7121C5C143014705C495AA2495AA249C7FCA25B130E131E
A2133EA3133C137CA413FCA913781D2E7CAC23>I<EB1FC0EBFFF03803E07C3807801E48
487E001EEB0780A248EB03C0A4123E1407003F1480381FC00F01E01300EBF81E6C6C5A38
07FFF86C13E0C6FCEB3FF8EBFFFC3803C7FFD807831380D81F0013C0001E133F48EB1FE0
007C13070078EB03F012F84813011400A46C14E000781301007C14C0003C13036CEB0780
390F800F003807E03C3801FFF038003FC01C2D7DAB23>I<123C127E12FFA4127E123C12
00AD123C127E12FFA4127E123C081D7A9C14>58 D<123C127E12FFA4127E123C1200AD12
3C127E12FE12FFA3127F123F1203A312071206A2120E120C121C1218123812701260082A
7A9C14>I<B812FCA3CBFCADB812FCA32E137C9937>61 D<48B4FC000713E0381E01F838
3800FC48137E0060133E00F8133F7EA40030137FC7127E14FCEB01F8EB03F014E0EB0780
EB0F00A2131E131CA2131813381330A790C7FCA7137813FC487EA46C5A1378182F7CAE21
>63 D<4A7E4A7EA34A7EA24A7EA3EC1BF81419A2EC30FCA2EC70FEEC607EA24A7EA34948
6C7EA2010380EC000FA201066D7EA3496D7EA2011FB57EA29038180001496D7EA349147E
A201E0147F4980A20001ED1F801203000716C0D80FF0EC3FE0D8FFFC0103B5FCA2302F7E
AE35>65 D<B612FCEDFF803A03F8000FC00001EC03F06F7E6F7E82167E167FA6167E16FE
5E4B5A4B5AED0FE0ED7F8090B6C7FC16E09039F80003F0ED01FC6F7E167F821780161F17
C0A61780163F17005E16FEED03FC0003EC0FF0B712C04BC7FC2A2D7DAC32>I<DA1FF013
C09138FFFE01903903F00F8390390F8001E3013FC71277017C143F4848141F4848140F48
481407A248481403121F491401123F90C8FC481500A300FE1600AB127F17C0A27E7F001F
15016D1580120F6C6C1403EE07006C6C14066C6C140ED8007C5C013F147890390F8001E0
903903F00FC0902600FFFEC7FCEC1FF02A2F7CAD33>I<B612F815FF3A03F8001FE00001
EC03F0ED00F8167E82EE1F80160F17C0EE07E0A2EE03F0A217F81601A317FCAA17F8A3EE
03F0A217E0160717C0160FEE1F80EE3F00167E5EED03F00003EC1FE0B7128003F8C7FC2E
2D7DAC36>I<B712FCA23903F800030001EC007C163E161E160EA21606A3160716031518
A21600A31538157815F890B5FCA2EBF800157815381518A592C7FCAB487EB512F8A2282D
7EAC2E>70 D<B512F0A23803FC006C5AB3B3A3487EB512F0A2142D7EAC19>73
D<B512F8A2D803FCC8FC6C5AB3A7160CA41618A41638A2167816F81501ED07F00003141F
B7FCA2262D7EAC2C>76 D<D8FFF8903803FFFC7F00019138003FC06DEC0F006D1406EBBF
80A2EB9FC0EB8FE0138780EB83F8138180EB80FE147E147FEC3F80EC1FC0140F15E0EC07
F0140315F8EC01FC140015FE157FED3F86151F16C6ED0FE6150716F6ED03FE1501A21500
167E163EA2486C141ED80FF0140EB5FC16062E2D7DAC35>78 D<EC3FF0903801FFFE9039
07E01F8090391F8007E090393E0001F001FCEB00FC4848147E4848804848EC1F8049140F
000F16C04848EC07E0A248C8EA03F0A24816F8A2007E1501A200FE16FCAA007FED03F8A3
6C16F06D1407001F16E0A26C6CEC0FC06D141F000716806C6CEC3F006C6C147E6C6C5C01
7E495A90391F8007E0903907E01F80902601FFFEC7FC9038003FF02E2F7CAD37>I<B612
C015FC3903F8007F0001EC0FC06F7E6F7E6F7E82150082A55E15015E4B5A4B5A4B5A037F
C7FC90B512FC15F09038F800FC153E6F7E150F826F7EA582A5170316F815031707486C90
3801FC0EB539F000FE1CEE3FF8C9EA07E0302E7DAC34>82 D<90383F80303901FFF07038
07C07C390F000EF0001E13074813034813011400127000F01470A315307EA26C1400127E
127FEA3FE013FE381FFFE06C13FC6C13FF00011480D8003F13E013039038003FF0EC07F8
1401140015FC157C12C0153CA37EA215787E6C14706C14F06CEB01E039F78003C039E3F0
0F0038E07FFE38C00FF01E2F7CAD27>I<007FB712F8A29039000FC003007C1500007016
38A200601618A200E0161CA248160CA5C71500B3A94A7E011FB512E0A22E2D7EAC33>I<
003FB612C0A29038F0001F0180EB3F80003EC7EA7F00123C003814FE4A5A5A4A5A4A5A12
604A5A4A5AA2C7485A4AC7FCA214FE495AA2495A5C1307495AA2495A495A166049C7FC13
FEA2485A484814E0A2485A484814C01501485A48481303150748C7121F00FE14FFB7FCA2
232D7CAC2B>90 D<0003130C48131C000E13384813704813E0003013C0EA700100601380
A2EAE00300C01300A300DE137800FF13FCEB83FEA2EA7F81A2383F00FC001E1378171577
AD23>92 D<13FF000713C0380F01F0381C00F8003F137C80A2143F001E7FC7FCA4EB07FF
137F3801FE1FEA07F0EA1FC0EA3F80EA7F00127E00FE14065AA3143F7E007E137F007FEB
EF8C391F83C7FC390FFF03F83901FC01E01F207D9E23>97 D<EA07C012FFA2120F1207AC
14FE9038C7FF809038CF03E09038DC01F09038F8007C49137E49133E497F1680A2150F16
C0A9ED1F80A216005D6D133E6D5B01B05B9038BC01F090380E07E0390607FF80260001FC
C7FC222F7EAD27>I<EB1FE0EB7FFC3801F01E3803E0073907C01F80EA0F80EA1F005A00
3EEB0F00007E90C7FCA2127C12FCA9127EA215C07E6C130101801380380FC0033907E007
003801F03E38007FF8EB1FC01A207E9E1F>I<15F8141FA214011400ACEB0FE0EB7FF838
01F81E3803E0073807C003380F8001EA1F00481300123E127EA25AA9127C127EA2003E13
017EEB8003000F13073903E00EFC3A01F03CFFC038007FF090391FC0F800222F7EAD27>
I<EB1F80EBFFF03803E0783807C03E380F801E381F001FEC0F80123E007E130715C0127C
12FCA3B6FCA200FCC8FCA5127EA2003E14C0123F6C1301390F80038001C013003803E00F
3801F03C38007FF8EB1FC01A207E9E1F>I<EB03F0EB0FFCEB3E1EEB7C3F13F8EA01F0A2
3803E00C1400AAB512E0A23803E000B3A6487E387FFF80A2182F7FAE16>I<013F13F890
38FFC3FE3903E1FF1E3807807C000F140C391F003E00A2003E7FA76C133EA26C6C5A0007
1378380FE1F0380CFFC0D81C3FC7FC90C8FCA3121E121F380FFFF814FF6C14C04814F039
1E0007F848130048147C12F848143CA46C147C007C14F86CEB01F06CEB03E03907E01F80
3901FFFE0038003FF01F2D7E9D23>I<EA07C012FFA2120F1207AC14FE9038C3FF809038
C703E09038DE01F013F8496C7EA25BA25BB2486C487E3AFFFE1FFFC0A2222E7EAD27>I<
EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCA8EA07C012FFA2120F1207B3A5EA0FE0EAFF
FCA20E2E7EAD14>I<130FEB1F80EB3FC0A4EB1F80EB0F0090C7FCA8EB07C013FFA2130F
1307B3AD1230127838FC0F80A21400485AEA783EEA3FF8EA07E0123C83AD16>I<EA07C0
12FFA2120F1207ADEC1FFEA2EC0FF0EC07C05D020EC7FC5C5C5C5CEBC3C013C7EBCFE0EB
DFF013F9EBF0F8497EEBC07E143E80816E7E14076E7E816E7E486C487E3AFFFE07FF80A2
212E7EAD25>I<EA07C012FFA2120F1207B3B3A3EA0FE0EAFFFEA20F2E7EAD14>I<2607C0
7FEB07F03BFFC3FFC03FFC903AC783F0783F3C0FCE01F8E01F803B07DC00F9C00F01F8D9
FF8013C04990387F000749137EA249137CB2486C01FEEB0FE03CFFFE0FFFE0FFFEA2371E
7E9D3C>I<3807C0FE39FFC3FF809038C703E0390FDE01F0EA07F8496C7EA25BA25BB248
6C487E3AFFFE1FFFC0A2221E7E9D27>I<EB1FE0EB7FF83801F03E3803C00F3907800780
390F0003C04814E0003EEB01F0A248EB00F8A300FC14FCA9007C14F8A26CEB01F0A26CEB
03E0A2390F8007C03907C00F803901F03E0038007FF8EB1FE01E207E9E23>I<3807C0FE
39FFC7FF809038CF03E0390FDC01F03907F800FC49137E49133E49133FED1F80A3ED0FC0
A8151F1680A2ED3F00A26D137E6D137C5D9038FC01F09038CE07E09038C7FF80D9C1FCC7
FC01C0C8FCA9487EEAFFFEA2222B7E9D27>I<90380FE01890387FF8383801F81C3903E0
0E783807C007390F8003F8001F1301EA3F00A2007E1300A212FE5AA8127EA36C13017EEB
8003380FC0073803E00E3801F03C38007FF0EB1FC090C7FCA94A7E91381FFFC0A2222B7E
9D25>I<380781F838FF87FEEB8E3FEA0F9CEA07B813B0EBF01EEBE000A45BB0487EB5FC
A2181E7E9D1C>I<3801FE183807FFB8381E01F8EA3C00481378481338A21418A27E7EB4
1300EA7FF06CB4FC6C13C06C13F0000113F838001FFC130138C0007E143EA26C131EA27E
A26C133CA26C137838FF01F038E3FFC000C0130017207E9E1C>I<1360A413E0A3120112
03A21207121FB512F0A23803E000AF1418A714383801F03014703800F860EB3FE0EB0F80
152A7FA81B>I<D807C013F800FF131FA2000F130100071300B21401A314033803E007EC
0EFC3A01F81CFFC038007FF890391FE0F800221F7E9D27>I<3AFFFC01FFC0A23A0FE000
7E000007147C15380003143015706C6C1360A26C6C5BA390387C0180A26D48C7FCA2EB3F
07EB1F06A2EB0F8CA214DCEB07D8A2EB03F0A36D5AA26D5A221E7F9C25>I<3BFFFC3FFE
07FFA23B0FE003F001F801C09038E000F00007010114E0812603E00314C0A2913807F801
2701F006781380A29039F80E7C030000D90C3C1300A290397C181E06A2151F6D486C5AA2
168C90391F600798A216D890390FC003F0A36D486C5AA36DC75A301E7F9C33>I<3AFFFC
07FF80A23A0FF003FC000003EB01F0000114C06D485A000091C7FCEB7C06EB3E0E6D5A14
B8EB0FB0EB07E013036D7E497E1307EB067C497EEB1C1F01387FEB700F496C7E6E7ED803
C07F00076D7E391FE003FC3AFFF007FFC0A2221D7F9C25>I<3AFFFC01FFC0A23A0FE000
7E000007147C1538000314306D137000011460A26C6C5BA2EBFC01017C5BEB7E03013E90
C7FCA2EB1F06A2148EEB0F8CA2EB07D8A2EB03F0A36D5AA26D5AA2495AA2130391C8FC12
78EAFC06A25B131CEA7838EA7070EA3FE0EA0F80222B7F9C25>I<003FB51280A2EB003F
003C14000038137E00305BEA700100605B495A495A130F00005B495A49C7FC5B137E9038
FC0180EA01F8120313F03807E003EA0FC0001F1400138048485A007E5B00FE133FB6FCA2
191D7E9C1F>I<BB12FCA24602809247>124 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FD cmtt10 10.95 89
/FD 89 126 df<121C127FEAFF80B3EA7F00B2123EC7FCA8121C127FA2EAFF80A3EA7F00
A2121C09396DB830>33 D<00101304007C131F00FEEB3F80A26C137FA248133FB2007E14
00007C7F003C131E00101304191C75B830>I<903907C007C0A2496C487EA8011F131FA2
02C05BA3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F
90B512FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA2
29387DB730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFE
FD13C09039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A3
6CEC03F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F01
1F7F01037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FC
A35AA26CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C
5C6C5CC614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<D803C0EB01E0
D80FF01303486C497E487E150F487ED87E7E495AEAFE7F5E486C133FA25E157FA24BC7FC
6C5A5D387E7E01EA7FFED83FFC5B1403EA1FF86C48485AEA03C0C75B140FA25D141FA24A
5AA25D147FA292C8FC5CA2495AA25C1303A25C1307A290390FF001E0ED07F84A487E011F
497EA24A487E133F163F90267F807F1380ED7E1F14005BA25B1201A24848EB7F3F033F13
004914FF12076F5A5B6F5A6C486D5A0001EC01E029477DBE30>I<EB07E0EB1FF8497E13
7F497E803801FC7F497E810003131F13F0A6143F92C8FC91387F0FFF9026F87E1F138000
0113FEEBF9FC13FB4A6C1300D9FFF013C06C13E0151F02C05BEB7F809038FF003F4892C7
FC485C48EB807E5A15FE391FDFC0FC383F8FE014E1397F07F1F8EB03F300FEEBFBF0EB01
FF5D7FEDC006027F130F91393F801F8015C06C137F6CEBFFE049EBF83F018701FC130026
3FFFFBB5FC6C01F15B14E06C9038C03FFC00039038001FF8D801FCEB07E0293A7DB830>
I<EA07C0EA0FF0EA1FF8A213FCA213FE120F1207EA007EA513FE13FCA2120113F81203EA
07F0120FEA1FE0127FEAFFC013801300127C12380F1D70B730>I<141E147F14FF5BEB03
FEEB07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F
5BA2127F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7E
EB7F80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>I<127812
FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F01307A2EB
03F8A214FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0A2130F14
E0EB1FC0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A12781847
78BE30>I<14E0497E497EA60038EC0380007EEC0FC0D8FF83EB3FE001C3137F9038F3F9
FF267FFBFB13C06CB61280000FECFE00000314F86C5C6C6C13C0011F90C7FC017F13C048
B512F04880000F14FE003FECFF80267FFBFB13C026FFF3F913E09038C3F87F0183133FD8
7E03EB0FC00038EC0380000091C7FCA66D5A6D5A23277AAE30>I<143EA2147FAF007FB7
FCA2B81280A36C1600A2C76CC8FCAF143EA229297DAF30>I<EA03E0EA0FF0EA1FF813FC
EA3FFEA213FFA27EA27E1203EA007FA2137E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0
EA7F801300123C1019708B30>I<007FB612F0A2B712F8A36C15F0A225077B9E30>I<120F
EA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C0C6E8B30>I<16F01501ED03F8A2
1507A2ED0FF0A2ED1FE0A2ED3FC0A2ED7F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA2
4A5AA24A5AA24A5AA24AC7FCA2495AA25C1303A2495AA2495AA2495AA2495AA2495AA249
C8FCA2485AA25B1203A2485AA2485AA2485AA2485AA2485AA248C9FCA25AA2127CA22547
7BBE30>I<14FE903807FFC0497F013F13F8497F90B57E48EB83FF4848C6138049137F48
48EB3FC04848EB1FE049130F001F15F0491307A24848EB03F8A290C712014815FCA400FE
EC00FEAD6C14016C15FCA36D1303003F15F8A26D1307001F15F0A26D130F6C6CEB1FE0A2
6C6CEB3FC06C6CEB7F806D13FF2601FF8313006CEBFFFE6D5B6D5B010F13E06D5BD900FE
C7FC273A7CB830>I<EB03C0497EA2130FA2131FA2133F137F13FF1203123FB5FCA213EF
138FEA7E0F1200B3B0003FB512F84814FCB612FEA26C14FC6C14F81F3977B830>I<EB07
FC90383FFFC090B512F00003804814FE4880261FF80F1380263FE00113C09038C0007F48
48EB3FE090C7121FED0FF04814075A6C15F81503A3127E1218C8FCA2150716F0150F16E0
151F16C0153FED7F8015FF4A13005DEC07FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A
EB0FF0EB3FE0495A495A4890C8FC4848EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E
6C15F025397BB830>I<EB03FF013F13E090B512F84814FE4880481580260FFE0113C090
38F0007F4848EB1FE0150F16F01507A26C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF
8002071300903807FFFE495B5D8115FF6D1480D9000113C09138003FE0ED1FF0ED07F815
0316FC150116FE1500A21218127EB4FCA2150116FC4814036C15F86C6C13076DEB1FF0D8
3FF0133F3A1FFE01FFE06CB612C06C15806CECFE00C65C013F13F001031380273A7CB830
>I<EC03FC4A7E140F141FA2143F147F157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB
1FC0A2EB3F80A2EB7F0013FEA2485A485AA2485AA2485A485AA2485AA248C7FC12FEB8FC
1780A46C1600C8007EC7FCAA91387FFFFE91B6FCA46E5B29397DB830>I<000FB6128048
15C05AA316800180C8FCAEEB83FF019F13C090B512F015FC8181D9FE0313809039F0007F
C049133F0180EB1FE06CC7120F000E15F0C81207A216F81503A31218127EA2B4FC150716
F048140F6C15E06C141F6DEB3FC06D137F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C
6C14E06C6C1380D90FFCC7FC25397BB730>I<EC0FF8EC7FFF49B51280010714E0131F49
14F090387FF80F9039FFC007F84813803803FE005B485A4848EB03F0ED01E0484890C7FC
5B123F5BA2127FEB000C903803FFE0010F13F8D8FF3F13FE48B6FCB7128016C09039FE00
7FE001F8EB1FF001E0130F49EB07F849EB03FCA290C7120116FE1500A37EA46C7E15016D
14FC121F6D1303000FEC07F86D130F6C6CEB1FF06DEB3FE03A03FF81FFC06C90B512806C
15006D5B011F13F8010713E001011380273A7CB830>I<127CB712FC16FEA416FC48C7EA
0FF816F0ED1FE0007CEC3FC0C8EA7F80EDFF00A24A5A4A5A5D14075D140F5D4A5AA24A5A
A24AC7FCA25C5C13015CA213035CA213075CA4495AA6131F5CA96D5A6DC8FC273A7CB830
>I<49B4FC011F13F0017F13FC90B57E0003ECFF804815C048010113E03A1FF8003FF049
131FD83FC0EB07F8A24848EB03FC90C71201A56D1303003F15F86D13076C6CEB0FF06C6C
EB1FE0D807FCEB7FC03A03FF83FF806C90B512006C6C13FC011F13F0497F90B512FE4880
2607FE0013C0D80FF8EB3FE0D81FE0EB0FF04848EB07F8491303007F15FC90C712014815
FE481400A66C14016C15FC6D1303003F15F86D1307D81FF0EB1FF06D133F3A0FFF01FFE0
6C90B512C06C1580C6ECFE006D5B011F13F0010190C7FC273A7CB830>I<49B4FC010F13
E0013F13F890B57E4880488048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0F
F048481307A290C7EA03F85A4815FC1501A416FEA37E7E6D1303A26C6C13076C6C130F6D
133FD80FFC13FF6CB6FC7E6C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8
A2150716F0150F000F15E0486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC
90B55A6C5C6C5C6C1480C649C7FCEB3FF0273A7CB830>I<120FEA3FC0EA7FE0A2EAFFF0
A4EA7FE0A2EA3FC0EA0F00C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F
000C276EA630>I<EA03C0EA0FF0EA1FF8A2EA3FFCA4EA1FF8A2EA0FF0EA03C0C7FCAFEA
03C0EA0FF0121F13F8123F13FCA3121FA2120F12031200120113F8120313F01207EA1FE0
123FEA7FC0EAFF80EA7F00127E12380E3470A630>I<16F01503ED07F8151F157FEDFFF0
14034A13C0021F138091383FFE00ECFFF8495B010713C0495BD93FFEC7FC495A3801FFF0
485B000F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA1FFF6C7F000313E06C7F3800
7FFC6D7E90380FFF806D7F010113F06D7FEC3FFE91381FFF80020713C06E13F01400ED7F
F8151F1507ED03F01500252F7BB230>I<007FB7FCA2B81280A36C16006C5DCBFCA7003F
B612FE4881B81280A36C1600A229157DA530>I<1278127EB4FC13C07FEA7FF813FEEA1F
FF6C13C000037F6C13F86C6C7EEB1FFF6D7F010313E06D7F9038007FFC6E7E91380FFF80
6E13C0020113F080ED3FF8151F153FEDFFF05C020713C04A138091383FFE004A5A903801
FFF0495B010F13804990C7FCEB7FFC48485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE0
5B90C9FC127E1278252F7BB230>I<147F4A7EA2497FA4497F14F7A401077F14E3A3010F
7FA314C1A2011F7FA490383F80FEA590387F007FA4498049133F90B6FCA34881A39038FC
001F00038149130FA4000781491307A2D87FFFEB7FFFB56CB51280A46C496C130029397D
B830>65 D<007FB512F0B612FE6F7E82826C813A03F8001FF815076F7E1501A26F7EA615
015EA24B5A1507ED1FF0ED7FE090B65A5E4BC7FC6F7E16E0829039F8000FF8ED03FC6F7E
1500167FA3EE3F80A6167F1700A25E4B5A1503ED1FFC007FB6FCB75A5E16C05E6C02FCC7
FC29387EB730>I<91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE0
7F48EB801F3903FE000F484813075B48481303A2484813015B123F491300A2127F90C8FC
167C16005A5AAC7E7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13
076C6CEB0FF03901FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038
007FC0273A7CB830>I<003FB512E04814FCB67E6F7E6C816C813A03F8007FF0ED1FF815
0F6F7E6F7E15016F7EA2EE7F80A2163F17C0161FA4EE0FE0AC161F17C0A3163F1780A216
7F17005E4B5A15034B5A150F4B5AED7FF0003FB65A485DB75A93C7FC6C14FC6C14E02B38
7FB730>I<007FB7FCB81280A47ED803F8C7123FA8EE1F0093C7FCA4157C15FEA490B5FC
A6EBF800A4157C92C8FCA5EE07C0EE0FE0A9007FB7FCB8FCA46C16C02B387EB730>I<00
3FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA5153E157FA490B6FCA690
38FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB730>I<02FF13F00103
EBC0F8010F13F1013F13FD4913FF90B6FC4813C1EC007F4848133F4848131F49130F485A
491307121F5B123F491303A2127F90C7FC6F5A92C8FC5A5AA892B5FC4A14805CA26C7F6C
6D1400ED03F8A27F003F1407A27F121F6D130F120F7F6C6C131FA2D803FE133F6C6C137F
ECC1FF6C90B5FC7F6D13FB010F13F30103EBC1F0010090C8FC293A7DB830>I<3B3FFF80
0FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E0D803F8C7EAFE00B290B6FCA6
01F8C7FCB3A23B3FFF800FFFE0486D4813F0B56C4813F8A26C496C13F06C496C13E02D38
7FB730>I<007FB6FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C1500
213879B730>I<49B512F04914F85BA27F6D14F090C7EAFE00B3B3123C127EB4FCA24A5A
1403EB8007397FF01FF86CB55A5D6C5C00075C000149C7FC38003FF025397AB730>I<D8
3FFF90380FFF80486D4813C0B56C5AA26C497E6C496C1380D803F0903803F8004B5A4B5A
151F4B5A5E4BC7FC15FE14014A5A5D4A5A4A5A141F5D4A5A4AC8FC5C13F18101F37F13F7
90B57E14EFECC7F01483EC03F8140101FE7F496C7E5B157F497F82151F82150F826F7EA2
6F7E1501821500D83FFF903803FFC0486D4813E0B56C5AA26C497E6C496C13C02B387FB7
30>I<383FFFF8487FB57EA26C5B6C5BD801FCC9FCB3B0EE0F80EE1FC0A9003FB7FC5AB8
FCA27E6C16802A387EB730>I<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C6C
4913E00007160001EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1
137CA2ECF8FCA201E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD8
3FFC903801FFE0486C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>I<D83F
FC90381FFF80486C4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EBF7C0A3
EBF3E0A314F013F1A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2140F15
C1A2140715E1A2140315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EAC01FA2
6CEB800F6C496C5A2B387EB730>I<90383FFFE048B512FC000714FF4815804815C04815
E0EBF80001E0133FD87F80EB0FF0A290C71207A44815F8481403B3A96C1407A26C15F0A3
6D130FA26D131F6C6CEB3FE001F813FF90B6FC6C15C06C15806C1500000114FCD8003F13
E0253A7BB830>I<007FB512F0B612FE6F7E16E0826C813903F8003FED0FFCED03FE1501
6F7EA2821780163FA6167F17005EA24B5A1503ED0FFCED3FF890B6FC5E5E16804BC7FC15
F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>I<90383FFFE048B512FC000714FF48
15804815C04815E0EBF80001E0133F4848EB1FF049130F90C71207A44815F8481403B3A8
147E14FE6CEBFF076C15F0EC7F87A2EC3FC7018013CF9038C01FFFD83FE014E0EBF80F90
B6FC6C15C06C15806C1500000114FCD8003F7FEB00016E7EA21680157F16C0153F16E015
1F16F0150FED07E025467BB830>I<003FB57E4814F0B612FC15FF6C816C812603F8017F
9138003FF0151F6F7E15071503821501A515035E1507150F4B5A153F4AB45A90B65A5E93
C7FC5D8182D9F8007FED3FE0151F150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EB
FFF8B56C7E17F06C496C13E06C49EB7FC0C9EA1F002E397FB730>I<90390FF803C0D97F
FF13E048B512C74814F74814FF5A381FF80F383FE001497E4848137F90C7123F5A48141F
A2150FA37EED07C06C91C7FC7F7FEA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C8001
1F13FF01031480D9003F13C014019138007FE0151FED0FF0A2ED07F8A2007C140312FEA5
6C140716F07F6DEB0FE06D131F01F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8
D8F81F5BD878011380253A7BB830>I<003FB712C04816E0B8FCA43AFE003F800FA8007C
ED07C0C791C7FCB3B1011FB5FC4980A46D91C7FC2B387EB730>I<3B7FFFC007FFFCB56C
4813FEA46C496C13FCD803F8C7EA3F80B3B16D147F00011600A36C6C14FE6D13016D5CEC
800390393FE00FF890391FF83FF06DB55A6D5C6D5C6D91C7FC9038007FFCEC1FF02F3980
B730>I<D87FFE90380FFFC0B54913E06E5AA24A7E6C486D13C0D807F0903801FC00A26D
130300035DA46C6C495AA46C6C495AA46D131F6D5CA3EC803F013F5CA46D6C48C7FCA490
380FE0FEA401075B14F1A301035BA314FB01015BA314FFA26D5BA46E5A6E5A2B397EB730
>I<D83FFC903801FFE0486C4913F000FF16F8A2007F16F06C486D13E0D81FC09038001F
C0000F1680A76D143F00071600A7000390380F803E9039F01FC07EEC3FE0A3EC7FF0A214
7D0001157CA29039F8FDF8FCA314F8A300005D01F913FCA2ECF07CA201FD137DA2017D5C
ECE03DA3017F133FA2ECC01FA2013F5CA2EC800F6D486C5A2D397FB730>I<3A3FFF01FF
F84801837F02C77FA202835B6C01015B3A01FC007F806D91C7FC00005C6D5BEB7F01EC81
FCEB3F8314C3011F5B14E7010F5B14FF6D5BA26D5BA26D5BA26D90C8FCA4497FA2497FA2
815B81EB0FE781EB1FC381EB3F8181EB7F0081497F49800001143F49800003141F498000
07140FD87FFEEB7FFFB590B5128080A25C6C486D130029387DB730>I<D87FFF90381FFF
C0B56C4813E0A46C496C13C0D803F8903803F8006D1307A26C6C495AA26C6C5C151F6D5C
EC803F013F5CECC07F011F91C7FCA290380FE0FEA214F101075BA2903803FBF8A201015B
14FF6D5BA26E5AA36E5AB1903803FFF8497F497FA26D5B6D5B2B387EB730>I<001FB612
FC4815FE5AA490C7EA03FCED07F816F0150FED1FE016C0153FED7F80003E1500C85A4A5A
5D14034A5A5D140F4A5A5D143F4A5A92C7FC5C495A5C1303495A5C130F495A5C133F495A
91C8FC5B4848147C4914FE1203485A5B120F485A5B123F485A90B6FCB7FCA46C15FC2738
7CB730>I<007FB5FCB61280A4150048C8FCB3B3B3A5B6FC1580A46C140019476DBE30>I<
127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA26D7EA2
6D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7EA26E7E
A26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503A2ED01
F0150025477BBE30>I<007FB5FCB61280A47EC7123FB3B3B3A5007FB5FCB6FCA46C1400
19477DBE30>I<007FB612F0A2B712F8A36C15F0A225077B7D30>95
D<EB7FF80003B5FC4814C04880488048809038E01FFC9038C003FE14016E7E6C487F6CC7
7FC8123FA491B5FC130F137F48B6FC12075A48EB803F383FF800EA7FE0138048C7FC5AA4
157F7E6C6C13FFEBC003263FF01FEBFF8090B712C07E6C14EF000314876CD9FE01138026
003FE0C8FC2A2A7BA830>97 D<EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80
027F13E091B57E90B612FC82ECFE079138F001FF4A6C13804A137F4AEB3FC091C7121F17
E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF003130091
38FC0FFE91B55A5E495CD97E7F13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0
010713FC011F7F017F7F90B612804815C048EB807F3907FC003F485A485A49EB1F804848
EB0F004990C7FC127F90C9FCA25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C
14C0D807FE133F9039FFC0FF806C90B5FCC615006D5B011F13F801075B01011380232A7A
A830>I<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF874913E790B6FC5A5A48
1303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25AA25AA87E6C140FA27F
003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01
C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90
B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F484814F0491307127F
90C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307
D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE00010713F8010013C025
2A7CA830>I<EDFF80020713E0021F13F05C4A13F891B5FC491387903803FE079138FC03
F0903907F800C04A1300A8003FB612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB5
12FE4880B71280A26C15006C5C25397DB830>I<D903FC13FF90261FFF8713C04913DF90
B712E05A5A2607FE07138F903AF801FE07C048486C6CC7FCA2497F001F8149133FA56D13
7F000F92C7FC6D5BA26C6C485AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FC
A37F7F6CB512F015FF6C15C04815F0488148813A3FE0001FFE0180130148C8127F007E81
00FE168048151FA56C153F007FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C
5D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F12
3F1200AAEC01FE91380FFF80023F13E091B57E90B67EA29138FE07FCECF8039138E001FE
14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC
6C496C13F82F3880B730>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF848
7F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC
07F0A2EC0FF8A3EC07F0A2EC01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0
A2123C007EEB0FE0B4131FEC3FC0147F90B512806C14005C6C5B000F13F0000313C01D4E
7CB830>I<EA7FF8487EA4127F1200AB0203B512804A14C017E0A217C06E14809139001F
E0004B5A4B5A4BC7FC4A5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8
ECC1FCEC81FEEC00FF497F496D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813
F017F8A217F06C496C13E02D387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612
F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF
7F15DF92B57E6C010F13872607FE07EB03F801FC13FE9039F803FC01A201F013F8A301E0
13F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C01071380322881A730>I<EC01FE
3A3FFC0FFF80267FFE3F13E000FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE
14C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC
6C496C13F82F2880A730>I<49B4FC010F13E0013F13F8497F90B57E0003ECFF8014013A
07FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8491303007F15FC90C71201A300FE
EC00FEA86C14016C15FCA26D1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D13
7F3A07FF01FFC06C90B512806C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830>
I<EC03FE3A3FFC1FFF80267FFE7F13E000FF90B57E90B612FC6C816CEBFE07C69038F001
FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160FA217E07F161F6E
EB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC
03FC91C9FCAD383FFFF8487FB57EA26C5B6C5B2C3C80A730>I<49B413F8010FEBC1FC01
3F13F14913FD48B6FC5A481381390FFC007F49131F4848130F491307485A491303127F90
C7FC15015A5AA77E7E15037FA26C6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF
6C90B5FC6C14FD6C14F9013F13F1010F13C1903803FE0190C7FCAD92B512F84A14FCA46E
14F82E3C7DA730>I<ED07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF6C9038
FFFC3FD8001F13E09238801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB512FC48
80B7FCA26C5C6C5C2A287EA730>I<90381FFC1E48B5129F000714FF5A5A5A387FF007EB
800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F8
6C6C7F01037F9038000FFF02001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F80
6D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<
EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5EC
E003010FEB07F814F09138FC1FF06DB512E06D14C016806D14009038007FFCEC1FF02633
7EB130>I<D83FFCEB3FFC486C497E00FF14FFA2007F147F003F143F00001400B3A41501
A2150315076D130F903A7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF8010001
C0C7FC2F2880A630>I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01
F80003F000A26D130700005DA26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA2
6E5A010F137EA2ECE0FE01075BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B
277EA630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F
00A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2EC
FDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D277F
A630>I<3A3FFF81FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE9038
3F81FC90381FC3F8EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803
F7E0EB07E790380FE3F0ECC1F890381F81FC90383F80FE90387F007E017E137F01FE6D7E
48486D7E267FFF80B5FCB500C1148014E3A214C16C0180140029277DA630>I<3B3FFFC0
7FFF80486DB512C0B515E0A26C16C06C496C13803B01FC0003F000A2000014076D5C137E
150F017F5C7F151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB
01F85DA2EB00F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13
FE486C5AEA3FC1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>
I<001FB612FC4815FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7
485A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A4948133E4890
C7127F485A485A485A485A485A48B7FCB8FCA46C15FE28277DA630>I<ED3FF0913803FF
F8140F5C147F16F09138FFF00092C7FC495A5CB3A21303495A133F383FFFF0B55A5C91C8
FC14C080003F7F38003FF813076D7E1301B3A2806D7E15F091387FFFF016F8141F801403
9138003FF025477BBE30>I<127CA212FEB3B3B3AD127CA207476CBE30>I<EA7FE0EAFFFE
6D7E8014F07EC66C7E13076D7E1301B3A2806D7E15E091387FFFE06E13F8801407141F5C
4A13E09138FFE00092C7FC495A5CB3A21303495A137F387FFFF0B5FC14C05C49C8FCEA7F
E025477BBE30>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FE cmss12 14.4 55
/FE 55 123 df<DBFFE0ECFFE0020701FC010713FC021F151F027F157F91B591B5FC495D
495D499026007C07EB007CD90FFC90260C0FFC130C4A010049130049484A5A4A5D013F15
3F4A5DA2017F157FB0B600FEECFFFEA726007FC0C701C0C7FCB3B3AA46547ED344>11
D<EA7FE0AA1207EA0FC0A3EA1F80A21300A25A123EA2127E127CA212FC0B19768921>44
D<B612FEA71F077F9D27>I<EAFFC0AA0A0A758921>I<14075C5C147F5C1307133F0007B5
FCB6FCA413F913C1EAF8011200B3B3B3A4B712FEA7275075CF3B>49
D<EC7FF0903803FFFE010FEBFFC0013F804914F890B67E4881488148D9807F1380270FFC
000F13C049010313E0484813004848EC7FF049143F007F16F849141FEE0FFC48C8FC1607
127E003E16FE121E121C000C15031204C9FCA21607A317FCA2160F17F8A2EE1FF0A2EE3F
E0167F17C0EEFF804B13004B5AA24B5A4B5A4B5A4B5A4B5A4B5A4A48C7FC4A5A4A5A4A5A
4A5A4A5A4A5A4AC8FC495A495A495A495A495A495A495A49C9FC485A485A485A485A485A
48B712FE5AA82F507BCF3B>I<EC1FF849B5FC010714E0011F80017F14FC90B67E000381
48D9E00F138048D9000313C0D81FFC010013E04848147F01E0EC3FF0485A6C48141F90C8
13F87E000E150F120C1204C9FC161FA217F0A2163F17E0167FEEFFC0A24B13804B130015
0FED3FFE913807FFFC0103B55A16E05E5E16E016F88290C7EA1FFF03031380030013C0EE
7FE0EE3FF0161F17F8EE0FFCA2EE07FEA3EE03FFA90040ED07FE1260A20070150F00F816
FC6C151FB416F86D143FD87FE0EC7FF0D83FF814FF01FE010313E0271FFFE00F13C06C90
B61280000316006C5D6C5D013F14F0010F14C0010191C7FC9038003FF830527BCF3B>I<
ED07FF5DA25DA2153EA2157E5DA214015D140314075D140F5D141F4A5AA24A5AA24A5AA2
495A13035C13075C130F495AA2495AA2495A5C13FF4890C7FCA2485AA2485A485AA2485A
A2485A127F5B485A90B812F0A7C8000190C7FCB3A3344E7DCD3B>I<0007B712E0A801F8
C9FCB3A2EC07F8EC3FFF91B512C001FB14F090B67E8216FFECF80FDAE0031380DA800013
C091C7EA7FE05B49EC3FF049141F17F85BC9EA0FFCA3160717FEABEE0FFCA21208001815
1F001C16F8123E007EED3FF0007F157F486CECFFE0D87FE05B6D4913C0D83FFC010F1380
271FFF803F13006C90B55A6C5D6C5D6C5D6C6C14C0011F91C7FC010713FC9038007FE02F
507BCD3B>I<ED3FF80203B51280020F14E0143F5C49B6FC5B49EBC0074990C71260D91F
FC1400EB3FF0495A5C495A4890C9FC5B1203485AA2485AA25B121FA25B123FEDFF80D9C0
0F13F0007F013F7F91B57E01C18001C78049158027FF9FF80713C09026BFC00113E09039
FF80007F49C7EA3FF049141F4915F8160F4915FC16074915FE16035BA2EE01FFA25BA412
7FA27FA4123FA26D15FE1603121F7FEE07FC120F6D140F17F86C6C141F6DEC3FF06C6CEC
7FE06C6D13FF6E4813C06CD9F80F13806DB612006D5C6D5C6D5C6D5C010114C06D6C90C7
FCEC0FF830527BCF3B>I<B9FCA9C9EA01FEEE03FCEE07F8A2EE0FF0EE1FE0EE3FC0167F
178016FF4B13005E15034B5AA24B5A5E151F4B5AA24B5AA24B5AA25C93C7FC5C5D14075D
A2140F5DA2141F5D143FA25D147FA35D14FFA35D5BA54990C8FCA75C1307AA304F7BCD3B
>I<EC1FF849B57E010714E0011F14F8498090B7FC48168048D9F00F13C048D9800113E0
49C7127FD80FF8EC1FF04848EC0FF8A24848EC07FC491403A2007F16FE491401A86C6CEC
03FCA26C6CEC07F8A26C6CEC0FF06D141F6C6CEC3FE06CB4ECFFC06CD9C00313806C90B6
1200013F14FC010F14F0010314C0A2011F14F849809039FFFC3FFF48D9C00313804890C7
13C04848EC7FE04848EC3FF049141F4848EC0FF84848EC07FCA24848EC03FEA34848EC01
FFA96D5C007F16FEA36C6CEC07FC6D140F001F16F86D141F6C6CEC3FF06D147F3B07FF80
01FFE06CD9F00F13C06C90B612806C16006D5C6D5C010F14F06D5C010091C7FCEC1FF830
527BCF3B>I<EC1FF891B5FC010314C04980011F14F8498049809039FFF00FFF48EBC003
48D90001138048489038007FC05B4848EC3FE0001F151F4915F04848140F17F85B007F15
0717FCA249140312FF17FEA41601A317FFA35EA2127F7FA25E7F003F5D7F001F5D6D5C6C
7E5E6C6C49B5FC9039FF8003FD6C9038E01FF96C90B5EAF3FE6C15E36D14836D14036D13
FC010701F013FC0101EB000790C8FCA2EE0FF8A3EE1FF0A2EE3FE0A2EE7FC016FF17804B
13005D00034A5A6DEB1FFCD807E0495A9038FC01FF48B65A16C0485D6C92C7FC00035CC6
14F8013F13E0010790C8FC30527BCF3B>I<ED03FF4B7FA34B7FA34B7FA292383FDFF016
9FA2037F7F168F160F03FF7F160715FE020180A21603DA03FC7FA202076D7F15F8A2020F
6D7F5DA2021F6E7E5DA2023F6E7E5DA2027F6E7E5D02FF81170F92C7FC498217075C0103
6F7EA25C01076F7F5CA2010F6F7F5C011F8391B8FCA24983A34983A20280C8121F01FF83
180F91C9FC48717E5B000384845B00071980845B000F19C0845B001F19E0197F5B003F19
F0193F484818F8191F5B00FF19FC46537DD24D>65 D<B712C016FCEEFF8017E017F817FE
83902680000380DB003F7F04077F04017F706C7E173F717E717E170717038483A74D5AA2
4D5A170F4D5A173F4D5A4C485A04075B041F5BDCFFFEC7FC90B712F85F17804CC8FCEEFF
E017F817FE90268000076D7EDB001F13E004037F04007FEF3FFCEF0FFE717E7113808371
13C0F07FE0A2183F19F0A2181FA5183F19E0187FA2F0FFC05F4D13805F4D1300EF3FFEEF
FFFC04075B047F5B90B85A6095C7FC17FC17F0178004F8C8FC3C5375D24E>I<923801FF
F8031FEBFFE0037F14FC0203B712804A16E0141F5C91B812C049EC001F4901F813014901
E0EB003F490180140F4990C81203D93FFCED0180494892C7FC5C495A485B5C5A4890CBFC
5B120F5BA2485AA2123F5BA3485AA5485AAD6C7EA56C7EA37F121FA26C7EA27F12077F6C
7F7E806C7F6D6C16206E16606D6CED01E06DB415036D6D14076D01E0EC1FF06D01F814FF
6D01FF13076D91B6FC023F16E06E1680020716006E15FCDA007F14F0031F1480030101F8
C7FC3C5578D34B>I<B712F8EEFF8017E017F817FE717E8401C0C7003F13F004077F0400
7FEF3FFE717E05077F83717F717F727E183F85181F727EA2727EA2727EA2841A80A2841A
C0A3197FA21AE0AE1AC0A219FFA31A8060A21A0060A24E5AA24E5A181F61183F4E5A4E5A
5F4D5B4D5B051F90C7FC4D5AEFFFFC04075B043F5B90B85A18804DC8FC5F17E0178004F8
C9FC435376D254>I<B912F8A801C0CAFCB3AA90B81280A701C0CAFCB3AD90B812FCA936
5376D246>I<B912C0A801C0CAFCB3AC90B712F8A701C0CAFCB3B3A2325376D242>I<9238
01FFF0031FEBFF80037F14F00203B612FE4AEDFF80021F16E0027F16F091B8FC49EC001F
4901F8010113E04901E0EB007F490180141F4990C81207D93FFC1503494815014AED0040
49481600485B5C5A4890CBFC5B120F5B121F5BA2123F5BA2127F5BA412FF5BAB0407B512
F8A27F127FA46D91C7120F123FA27F121FA27F120F7F12077F6C7F7E806C7F6D7E806D7E
6DB4FC6D7F6D01E0141F6D01F814FF6D01FF131F6D91B6FC80021F16F0020716C06EEDFE
00DA007F14F0031F1480030101F0C7FC3D5578D34E>I<D8FFC0EE1FF8B3B290B9FCA701
C0C9121FB3B3A43D5376D252>I<EAFFC0B3B3B3B3AB0A5375D220>I<EAFFC0B3B3B3B3A3
90B712FEA82F5376D23F>76 D<D8FFFCF07FFEA36D18FFA26D5FA36E5E01BF18FBA26E16
07019F18F36E160FA2018F18E36E161FA3D987F8EE3FC3A26E167F01831883A26E16FF01
811803A26E5D018017FE6F1403A2027F16FC6F1407A2023F16F86F140F021F16F0A26F14
1F020F16E06F143FA2020716C06F147FA2020316806F14FF02011600A26F5B6E5DEE8003
A2037F5CEEC007A2033F5CEEE00F031F5CA2EEF01F030F5CA2EEF83F03075CA26F6C485A
A3030191C7FC705AA26F6C5AA2705AA3705AA3705A93C9FCA24F5375D266>I<D8FFFEEE
0FF8A27FA280A280A28013BFEB9FF0A280138F80138780138380138181138081147F8114
3F81141F81140F8114078114038180828082157F82153F82151F82150F82150782150382
8117808117C0167F17E0163F17F0161F17F8160F17FC160717FE160317FF82188F8218CF
177FA2EF3FEF18FF83A283A283A283A23D5376D252>I<923801FFC0031F13FC92B67E02
0315E0020F15F84A81027F15FF91B5C66C7F4901F8010F7F4901C001017F49496D7F4948
C8EA3FF849486F7E49486F7E49486F7E4A8149486F7F48496F7FA24890CA6C7E49173F00
078549171F000F8549170F001F85A2491707003F85A2491703007F85A4498300FF1A80AE
6D5F007F1A00A46D5F003F61A36D170F001F616D171F000F61A26D173F0007616D177F6C
6D4C5A6C616E5D6C6D4B5B6E5D017F95C7FC6D6C4B5AD91FFEED3FFC6D6C4B5A6D6D4A5A
6D01E001035B6D01F8010F5B6D01FF017F5B6E90B6C8FC021F15FC6E5D020315E0020015
80031F01FCC9FC030113C049577AD456>I<B712E016FEEEFFC017F08317FE8301C0C780
040F7F04017F707FEF3FF8717E170F717EA2717EA2831980A283A65FA219005FA24D5AA2
4D5A171F4D5AEFFFF04C5B040F5B93B55A90B8C7FC5F17F85F17C04CC8FC16E001C0CBFC
B3B1395376D24A>I<B712E016FEEEFFC017F017FC17FF8401C0C76C7F040713F004007F
173F717E717E1707717E711380A28319C0A2187FA518FFA219805FA24D13004D5A170F4D
5A4D5A17FF04075B047F13C090B85A95C7FC17FC17F017C04CC8FC5E9039C00007FE1503
8281836F7F167F83163F83707EA2707E160783707EA2707F8284717EA2717E171F84717E
A2717EA2717E711380A27113C0A2F07FE0F03FF0A2F01FF83D5376D24B>82
D<913803FFC0023F13FE49B612C0010715F04915FC013F15FF49168090B8FC489038FC00
7F4801E001071300480180130191C87ED80FFC814848811707484815024992C7FCA3485A
A67FA2123F7F7FA26C7E13FF6C7F6C13E014FC6CEBFFC06C14FC6CECFFC06D14F86D14FE
010F6E7E6D81010115F0D9003F80020780DA007F7F03077FED007F041F1380040713C082
040013E0A2EF7FF0173FA2171F18F8170FA8EF1FF0A212200070EE3FE0127C007E167F00
7FEEFFC001C05C01F04A1380D8FFFC020F1300D9FF80EB3FFE9139F801FFFC6C90B65A00
1F5E00075E00015E6C6C92C7FC010F14FC010114F0D9000F90C8FC35577BD441>I<BB12
FEA8C800010180C8FCB3B3B3B3A247527CD150>I<D8FFC0EF01FF7F007FF003FEA27F00
3FF007FCA27F001FF00FF87F000FF01FF0A27F0007F03FE0A27F6CF07FC0806CF0FF80A2
806C4D1300A280017F4C5AA26D6C4B5AA280011F4C5AA280010F4C5AA26D6C5E183F806D
4C5AA2816D4C5AA26D6D92C7FC5FA26E6C5C170381023F4A5AA26E6C5C170FA26E6C5C17
1FA26E6C5C173F02035D81177F6E5D168017FF6E92C8FC8216C1037F5B16E192383FE3FC
A216F392381FF7F8A216FF6F5BA26F5BA36F5BA348537ED24D>86
D<903801FFC0011F13F8017F13FE0003B67E000F814881829138007FF801F0EB1FFCD80F
C0130F90C76C7E000E1403000C81C87EA26F1380AA0207B5FC91B6FC1307133F90B7FC5A
000714004813E04848C7FCEA3FF813E0485A5B48C8FCA55D7F6C6C5B6D130F6D5B263FFE
01B5FC90B7FC7E6C5C6C14F86C14E06C140026007FE090C7FC29387BB638>97
D<B47EB3ABEC07FC91383FFF800181B512E0018780019F8001BF8090B67E9138C07FFF90
26FE000F138001F81303496D13C0497F49EC7FE05BEE3FF0161FA217F8160FA317FC1607
ABEE0FF8A4161F17F0163F17E06D147FEEFFC06D5B6D4913806D5B6D011F13009039FF80
FFFE91B55A01BF5C019F5C01875C01831480018049C7FCC7EA0FF02E5477D23C>I<EC0F
FF027F13F049B512FC010714FF4915C0013F15E05B9038FFF801489039E0003FC0480180
130F91C71203484814014848EC0040491500485AA2485AA3485AA4485AAB6C7EA46C7EA2
6C7EA26D15206C6C15600007ED01E001FF14036C6DEB0FF06C01E0133F6C9038F803FF6D
B6FC6D15E06D15800107ECFE00010114F86D6C13E0DA0FFEC7FC2C387CB634>I<EE07FC
B3ABEC7FC0903803FFF8010F13FF4914C74914E74914FF90B7FC48EBFC0748EBE0004801
80137F91C7121F485A4848140F491407485AA25B127F5BA312FF5BAB7F127FA37F123FA2
6D140F6C7E161F6C6C143F6D147F6C6C6C13FF6C6D5AECF80F6C90B512F76C15E76D14C7
011F14076D13FE010313F001000180C7FC2E547CD23C>I<EC1FF0ECFFFE01036D7E010F
14E04980017F8090B67E489038F01FFEECC0074890380001FF48487F4848EC7F8049143F
484815C0161F485AEE0FE05B127F49140717F090B7FCB8FCA690CAFCA47FA2127FA27FA2
123F7F121F7F6C6C15406D15C00007150101FF14076C6DEB1FE06C01E0137F6C9038F803
FF6DB6FC6D15C06D150001075C010114F86D6C13C0DA0FFCC7FC2C387CB634>I<EDFFE0
020713FC141F147F91B5FC5B5B49EB007CD90FFC130C4A1300495A5C133F5CA2137FB0B6
12FEA726007FC0C7FCB3B3AA26547ED324>I<DA3FE0EB07F0902601FFFC13FF49EBFE07
010FEBFFBF4991B512F85B5B9026FFE03FEBE000489026800FFCC7FCEC000748486D7E49
130148486D7EA348486E7EA96C6C4AC7FCA36C6C495A6D13036C6C495AEC800F6C9038E0
3FF84890B55A485D5E5ED807F349C8FC01E15B9038E03FE091CAFCA47FA2EA03FC90B612
E06C15FF17E017F8488248824882D81FF8C7003F13804848020313C001C01400007FEE3F
E05BEF1FF048C9FC170FA56D151F6C6CED3FE06D157F6C6CEDFFC0D81FFC0203138001FF
140F6C01F090B512006C90B65A000116F86C5E013F15C0010F92C7FC010114F8D9001F13
80354F7DB53B>I<B47EB3ABEC07FC91387FFF800181B512E0018380018F80019F8013BF
9039FFC07FFE9038FE000F496D7E497F497F17805B815BA45BB3B1295377D23C>I<EAFF
C0AAC7FCB3EA7FC0B3B3B10A5278D11C>I<EAFF80B3B3B3B3AB095377D21C>108
D<B4D907FEEC03FF91263FFFC0011F13E091B56C017F7F0103DAF801B512FC010FDAFC07
80496E4880495D902A7FC03FFF3FE01F13809026FF000790387F800301FC6D9026FE0001
13C0496D497F6F167F494B15E0495D047F153F495DA4495DB3B14B3677B55E>I<B4EB07
FC91387FFF8049B512E04980010F8049805B90397FC07FFE9038FE000F496D7E497F497F
17805B815BA45BB3B1293677B53C>I<EC0FFC91387FFF8049B512E0010714F84980013F
14FF49819026FFF8077F48D9E0017F48903980007FF091C7123FD807FCEC0FF8000F8249
140748486E7EA248486E7EA24980007F1780A349157F00FF17C0AB6C6CEDFF80A36D5C00
3F1700A26D5C001F5E6D14076C6C4A5A6C6C4A5A6D143F6C6D495A6C9039E001FFE06CD9
F8075B6DB65A6D92C7FC6D5C010714F8010114E06D6C1380DA0FFCC8FC32387CB63B>I<
EC07FC3AFF803FFF800181B512E0018780019F8001BF8090B67E9138C07FFF9026FE001F
138001F81307496D13C0497F496D13E049147FEE3FF0A2161F17F8A2160FA217FC1607AB
EE0FF8A3161FA2EE3FF0A2EE7FE07FEEFFC06D5B6D4913806D130F6D4913009039FF80FF
FE91B55A01BF5C019F5C01875C01831480018049C7FCEC0FF091C9FCB3A42E4D77B53C>
I<91393FC007FC903801FFF8010713FE011FEBFF874914C74914E790B612F7489038FC07
FF48EBE001489038C0007F91C7123F485A49141F485A160F485A16075B127F5BA3485AAB
7F127FA27FA2123F7F160F6C7E6D141F6C6C143F6D147F6C6D13FF6CEBE001ECF80F6C90
B512F76C15E76D14C7011F14076D13FE010313F00100138091C7FCB3A42E4D7CB53C>I<
B4EB01F0140F147F14FF13035B5B5B90383FFE00EB7FF0EBFFC05C91C7FC13FCA25B5BA2
5BA25BA35BB3AD1C3677B528>I<903803FFC0013F13FC90B6FC4815E04815F05A5A3A1F
FC007FE001F0130F48481303491300162048481400A57FA26C7E7F13FC381FFFE06C13FE
ECFFE06C14F86C14FE6C806C6C1480011F14C0010714E0D9003F13F014019138007FF815
1F150FED07FCA21503A512700078EC07F8127C007F140F01E0EB3FF0D8FFFC13FF90B612
E016C06C1580001F1500000314FCC66C13F00107138026387DB62D>I<EB3FC0AFB712C0
A726003FC0C7FCB3B26E134016C090391FF003E0ECF81F91B5FC6D14F0A26D14C06D1400
6D13F86D138024457EC32A>I<B46CECFF80B3B3A35DA25DA25D6D5B007F5C6D137FD9FC
01B5FC6CB55A6C5C6C14F06C14C06C49C6FC26007FE090C7FC293677B43C>I<B46CEDFF
80A26C6C4A1300A27F003F4B5AA27F001F4B5AA27F000F4B5AA26C6C4A5AA27F00034B5A
A27F6C4B5AA26C6D5C16FFA26D6C91C7FC5DA26D6C485AA36D6C485AA2010F5C14F8150F
01075C14FC151F01035C14FE0101495AA3D900FF5B157FA2027F90C8FC5D6E5AA36E5AA2
31357EB436>I<B46CDAFFC0EC3FE0A2836C6C19C04B167FA26C6CDAF7F01580030316FF
A26DECF3F8001F4E1300150716E36C6C6F5CDB0FE11403A26D81000703C14A5AED1FC0A2
6C6C6F5C4B48140F83000105805B7FDB7F00141F173F6C018003C05B037E153F15FE017F
031F5C02C015E04B157FD93FC1020F5CA24B14F002E116FFD91FE3020791C7FCA24B8001
0F03035B02F315F95D14F70107923801FDFCA25DD903FF6EB45AA25D6D705AA34B357EB4
50>I<D87FE0ED7FE06C6CEDFFC06C6C4A13806C6C4A13005F6C6C14076C6C4A5A6C6D49
5A6C6D5C017F4A5A6E137F6D6C495A6D6C485BD90FFC91C7FC0107495A6D6C485AECFF0F
6DEB8FF86DEBDFF06EB45A6E5B805E6E90C8FC6E5A6E5A814A7E4A7F5C4A7F91387FDFE0
ED9FF09138FF0FF8496D7E903803FE03D907FC7F4A6C7E010F6D7F49486D7E4948804948
133F707E49486D7E4890C77F48486E7E00076F7E484880496E1380001F17C04848ED7FE0
4848ED3FF04848ED1FF8353580B436>I<B46CEDFF807F007F4B1300A27F003F4B5A7F00
1F15076D5D120F4C5A7F12076D4A5A12034C5A7F7E6E495A7E5F6D6C13FFA294C7FC6D6C
5AA2D91FF05B15035EEB0FF8150701075C14FC0103495AA214FE01015C151F130002FF5B
A26E485AA2EC3FBF93C8FC141F15BE15FE140F5D1407A25DA25DA2140F5DA24A5AA2143F
5DA24AC9FCA25C5CEA3001383E03FCEA3FFF5C5C5C6C5B5CD803FECAFC314D7EB436>I<
003FB712E0A517C0A2C8000113804B13004B5A150F5E4B5A4B5A157F5E4B5A4A5B5C93C7
FC4A5A4A5A141F5D4A5A4A5A14FF5D495B4990C8FC5B5C495A495A133F5C495A495A5A5C
4890C9FC485A120F5B485A485A48B712E0A2B8FCA52B357DB433>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FF cmbx12 20.74 15
/FF 15 121 df<EE01F0EE07F8160F163F167FED01FF150F153F4AB5FC143F010FB6FCB8
FCA54A7E14C0EBF000C8FCB3B3B3B3AE007FBA12F0A8447171F061>49
D<92380FFFE04AB67E020F15F0027F15FE49B87E4917E0010F17F8013F8349D9C01F14FF
9027FFFC0001814801E06D6C80480180021F804890C86C8048486F8048486F8001FF6F80
4801C06E8002F081486D18806E816E18C0B5821BE06E81A37214F0A56C5BA36C5B6C5B6C
5B000313C0C690C9FC90CA15E060A34E14C0A21B80601B0060626295B55A5F624D5C624D
5C4D91C7FC614D5B4D13F04D5B6194B55A4C49C8FC4C5B4C5B4C13E04C5B604C90C9FCEE
7FFC4C5A4B5B4B5B4B0180EC0FF04B90C8FC4B5A4B5A4B48ED1FE0EDFFE04A5B4A5B4A90
C9FC4A48163F4A5ADA3FF017C05D4A48167F4A5A4990CA12FFD903FC160749BAFC5B4919
805B5B90BBFC5A5A5A5A481A005A5ABCFCA462A44C7176F061>I<923801FFFE033FEBFF
F84AB7FC020F16E0023F16F84A16FE49B97E49DA003F80010F01F0010714F04901800101
804948C880D97FF86F7F02E081496C834801FC6F148014FF486E6E14C08181481AE081A9
6C5C1BC06C4A5C6C5C6D90C815806D5AD90FF85D90CA150062606295B55A4D5C624D5C4D
5C4D91C7FC4D13FC4D5B4CB512E0047F1480037FB548C8FC92B612F818C018F8F0FF806F
15F092C7003F13FC050713FF050114C071807213F8727F727F867214801BC07214E01BF0
A27214F81BFCA37214FEA31BFFEBFF80000313E0487F001F13FC487FA2487FA2B67EA31B
FEA3601BFCA292C8FC6C1AF84A5D4A18F06C494B14E05C6C01C04B14C06C90C915804E14
006C6D4B5B6C01F092B55A6C01FC4A5C27007FFFC001075C6D01FE013F14C0010F90B85A
6D4DC7FC010117F8D9003F16E0020F93C8FC020015F0030749C9FC507378F061>I<F10F
F04F7E193FA2197F19FF60A260606060A2606095B5FCA25F5F5FA25F5F5F5F18BFEFFF3F
5EEE03FE17FCEE07F8160FEE1FF0EE3FE017C0167FEEFF804B13005E4B5A15074B5A4B5A
5E153F4B5A4B5A93C7FC4A5A14034A5A5D4A5A141F4A5A4A5A5D4AC8FC5B495A5C495A13
0F495A495A5C137F495A4890C9FC5B485A1207485A485A5B123F485A485A90BC12FCA8CB
02F8C7FCB3A20307B912FCA856727BF161>I<F103F84F7E4F7EA24F7EA34F7FA24F7FA3
96B57EA24E80A34E80A24E80A34E80A24E80A34E81A24E81A219BFDEFF9F80191F4D6D80
A218FE05036D8018FC05076D80A218F8050F6D8018F0051F6D80A260053F6E8060057F6E
80A26005FF6E8095C7FC4C6F80A25F04036F805F04076F80A25F040F6F805F041F6F80A2
5F043F70805F047F7080A25F04FF708094C9FC4B7180A25E030371805E4BBB7EA34B86A2
4B86A3DB3FE0CA6C805E037F7280A25E03FF7280A24A90CB6C80A25D02037380A24A4872
80A25D020F7380A24B84021F885D023F7480A24B85027F895D902607FFFC7380B86C031F
B912E0A8837979F892>65 D<BDFC1CFEF4FFC01DF81DFF1EC01EF08AC7003F49C9000F14
FE090180756C800A1F807680768076807680A27680A2777FA2208089A320C0A289A565A3
2080A3531400A29AB55AA2525C6764525C525C525C525C5249C7FC51B55A090714F0093F
14C00807B6C8FC93BA12F81DC0651DFCF5FF801EF04CCA14FC0A3F13FF0A0F800A0314E0
76807614FC777F777F2080897714C020E0A27714F0A220F88920FCA47714FEA96520FCA4
5314F8A26520F06520E05314C0659AB61280521500525C1C0F5214F899B65A09075DC05A
9CC7FC1EFC1EF01EC053C8FC1DE00AF8C9FC777679F58A>I<96267FFFE01670063FB6ED
01F80503B700F01403053F04FC14074CB96C130F040706E0131F043F72133F93BA00FC13
7F0303DC00076D13FF030F03C09039003FFF814B02FCC8000713C3037F02E0030113F792
B600806F6CB5FC02034ACA121F4A02F8834A02E0834A4A1701027F4A8391B548CC7E494A
85495C4C854988494A85494A85495C8A4991CDFC90B54886A2484A1B7FA2481E3F5D481E
1F5D5A1F0FA2485CA3481E075DA2F703F0489BC7FCA45DA2B6FCB27EA281A47EA2F703F0
6FF307F87EA36C80A21F0F7E6F1CF07E6F1B1F7E20E06C6E1B3F816DF57FC06D80F7FF80
6D806D6E4F13006D6E616D525A826D6E4F5A6D6E4F5A6E6D6C4E5A021F6EF0FFE06E6E4D
5B6E02F84D5B6E02FE050F90C7FC02006E6CEE3FFE6F02F0EEFFFC031F02FE03035B6FDA
FFC0021F13E0030303FF0103B55A030093B7C8FC043F18FC040718F0040118C0DC003F94
C9FC050316F8DD003F1580DE007F01F0CAFC757A75F78C>I<92383FFFF80207B612E002
7F15FC49B87E010717E0011F83499026F0007F13FC4948C7000F7F90B502036D7E486E6D
806F6D80727F486E6E7F8486727FA28684A26C5C72806C5C6D90C8FC6D5AEB0FF8EB03E0
90CAFCA70507B6FC041FB7FC0303B8FC157F0203B9FC021FECFE0391B612800103ECF800
010F14C04991C7FC017F13FC90B512F04814C0485C4891C8FC485B5A485B5C5A5CA2B5FC
5CA360A36E5DA26C5F6E5D187E6C6D846E4A48806C6D4A4814FC6C6ED90FF0ECFFFC6C02
E090263FE07F14FE00019139FC03FFC06C91B6487E013F4B487E010F4B1307010303F013
01D9003F0280D9003F13FC020101F8CBFC57507ACE5E>97 D<93387FFF80030FB512FC03
7FECFF804AB712E0020716F8021F16FE027FD9F8077F49B5D8C000804991C7003F13E049
01FC020F7F49496E7F49498049496E7F49496E7F90B55A48727E92C914804884485B1BC0
48841BE0485BA27313F05AA25C5AA21BF885A2B5FCA391BAFCA41BF002F8CCFCA67EA380
7EA47E806CF103F0F207F86C7F1A0F6C6E17F06C191F6F17E06C6E163F6D6DEE7FC06D6D
16FF6D6D4B13806D6D4B13006D6D6CEC0FFE6D02E0EC3FFC6D02F8ECFFF86D9126FFC00F
5B023F91B65A020F178002034CC7FC020016F8031F15E0030392C8FCDB000F13E04D507B
CE58>101 D<903801FFFCB6FCA8C67E131F7FB3AD95380FFFE095B512FE05036E7E050F
15E0053F15F84D81932701FFF01F7F4CD900077FDC07FC6D80DC0FF06D80DC1FC07F4C48
824CC8FC047E6F7F5EEDFDF85E03FF707F5EA25EA25EA293C9FCA45DB3B3A6B8D8E003B8
1280A8617879F76C>104 D<902601FFF891380FFFE0B692B512FE05036E7E050F15E005
3F15F84D81932701FFF01F7F4CD900077FDC07FC6D80C66CDA0FF06D80011FDA1FC07F6D
4A48824CC8FC047E6F7F5EEDF9F85E03FB707F5E15FF5EA25EA293C9FCA45DB3B3A6B8D8
E003B81280A8614E79CD6C>110 D<902601FFFCEC7FFEB6020FB512F0057F14FE4CB712
C0040716F0041F82047F16FE93B5C66C7F92B500F0010F14C0C66C0380010380011F4AC7
6C806D4A6E8004F06F7F4C6F7F4C6F7F4C8193C915804B7014C0861DE0A27414F0A27414
F8A47513FCA57513FEAF5113FCA598B512F8A31DF0621DE0621DC0621D806F5E70180070
4B5B505B704B5B7092B55A04FC4A5C704A5C706C010F5C05E0013F49C7FC9227FE7FFC01
B55A70B712F0040F16C0040393C8FC040015F8053F14C0050301F0C9FC94CCFCB3A6B812
E0A85F6F7ACD6C>112 D<902601FFF8EB07FEB691383FFFC094B512F00403804C14FE4C
8093261FFC3F138093263FE07F13C0DC7F80B5FCC66C5D011FDAFE0114E06DEBF9FC16F8
15FB16F016E015FF16C07114C05E72138095381FFE0093C76C5AF001E095C8FCA25DA65D
B3B3A2B812F8A8434E7ACD4F>114 D<15FFA75CA55CA45CA25CA25CA25CA25C91B5FCA2
5B5B5B131F5B90B9FC120FBAFCA6D8000791C9FCB3B3A3F01FE0AE183F7014C07F187F70
14806D16FF826D4B13006E6D485AEEFE0F6E90B55A020F5D6E5D020115C06E6C5C031F49
C7FC030113F03B6E7CEC4B>116 D<007FB7023FB612F0A8D8000302C0020191C7FC6D6E
9138007FF0705E6D4E5A6E6D4A5B6E6D4A90C8FC6E6D5C704A5A6E4C5A6E6E5C6E6E495A
6E6E495A7113FF6E6E485B6F4A5B6F6D4890C9FC6F01FE5B71485A6FEC9FF86F14BF6FEC
FFF06F5D616F5D7091CAFC705B828470808270807080854C805E4C80854C804C81EE7FE7
DCFFE3804B01C1804B0180804D804B487F4B486D7F031F6E7F4B486D7F4B48824B487F4C
6D804A496D804A90C8804A844A48814A486F7F4A486F7F4B6F7F4A48844A486F80010F01
F881B76C91B712FEA85F4D7DCC66>120 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FG cmbx10 10.95 63
/FG 63 124 df<DBFFF8EB3FF0021F9039FE03FFFC027FD9FF8F7F49B9FC0107D9C03F01
F113804948C66C1381D91FF8494913C0D93FE0EB7FFE495A01FF15FC5C484C6C138091C7
003F6D1300197E041F91C7FC160FA9BAFCA50001902780000FFCC8FCB3AC007FD9FE03B5
12FCA542407EBF3D>11 D<B612E0A91B097F9823>45 D<EA0FC0EA1FE0EA3FF0EA7FF8EA
FFFCA6EA7FF8EA3FF0EA1FE0EA0FC00E0E798D1D>I<161C163E167EA216FE16FC150116
F8A2150316F0A2150716E0150F16C0A2151F1680153F1600A25D157E15FE5DA214015DA2
14035D14075DA2140F5D141F5DA2143F92C7FC5C147EA214FE5CA213015C13035CA21307
5C130F5CA2131F5C133F91C8FCA25B137EA213FE5B12015BA212035B12075BA2120F5B12
1F5BA2123F90C9FCA25A127E12FE5AA25A1278275B7AC334>I<ECFFE0010713FC011F13
FF017F14C0D9FFE07F489038803FF03A03FE000FF848486D7EA248486D7E001F81A34848
6D1380A3007F16C0A500FF16E0B3A2007F16C0A5003F16806D5BA2001F1600A2000F5D6D
13076C6C495A6C6C495A6C6D485A6C9038E0FFE06DB55A011F91C7FC010713FC010013E0
2B3D7CBB34>I<140F143F5C495A130F48B5FCB6FCA313F7EAFE071200B3B3A8007FB612
F0A5243C78BB34>I<903803FF80013F13F890B512FE00036E7E4881260FF80F7F261FC0
037F4848C67F486C6D7E6D6D7E487E6D6D7EA26F1380A46C5A6C5A6C5A0007C7FCC8FC4B
1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48C7FC5D4A5AEC1FE04A5A4A5A9139FF000F
80EB01FC495A4948EB1F00495AEB1F8049C7FC017E5C5B48B7FC485D5A5A5A5A5AB7FC5E
A4293C7BBB34>I<903801FFE0010F13FE013F6D7E90B612E04801817F3A03FC007FF8D8
07F06D7E82D80FFC131F6D80121F7FA56C5A5E6C48133FD801F05CC8FC4B5A5E4B5A4A5B
020F5B902607FFFEC7FC15F815FEEDFFC0D9000113F06E6C7E6F7E6F7E6F7E1780A26F13
C0A217E0EA0FC0487E487E487E487EA317C0A25D491580127F49491300D83FC0495A6C6C
495A3A0FFE01FFF86CB65A6C5DC61580013F49C7FC010313E02B3D7CBB34>I<ED01F815
031507A2150F151F153FA2157F15FF5C5CA25C5CEC1FBFEC3F3F143E147C14FCEB01F814
F0EB03E01307EB0FC0EB1F801400133E137E5B485A5B485A1207485A5B48C7FC5A127E5A
B812F8A5C8387FF800AA49B612F8A52D3C7DBB34>I<00071538D80FE0EB01F801FE133F
90B6FC5E5E5E5E93C7FC5D15F85D15C04AC8FC0180C9FCA9ECFFC0018713FC019F13FF90
B67E020113E09039F8007FF0496D7E01C06D7E5B6CC77FC8120F82A31780A21207EA1FC0
487E487E12FF7FA21700A25B4B5A6C5A01805C6CC7123F6D495AD81FE0495A260FFC075B
6CB65A6C92C7FCC614FC013F13F0010790C8FC293D7BBB34>I<EC07FF023F13C049B512
F001078049EB03FC90383FF80090397FE001FE9038FFC0034849487E48495AA2485A120F
A2485A6F5A003F6E5A6F5A92C8FC485AA21402EC3FFE00FF496C7E01F9B512E001FB8091
38E03FF89039FF800FFC4A6C7E825B6F13804915C0A317E05BA4127FA5123FA26D15C012
1FA2000F4A13806D150012076C6C495A6C6D485A6C9038E07FF86DB55A6D5C6D14800107
49C7FC010013F02B3D7CBB34>I<121F7F13F890B712F0A45A17E017C0178017005E5E5A
007EC7EA01F84B5A007C4A5A4B5A4B5A93C7FC485C157E5DC7485A4A5AA24A5A140F5D14
1F143F5D147FA214FF92C8FC5BA25BA3495AA3130FA5131FAA6D5A6D5A6D5A2C3F7ABD34
>I<ECFFF0010713FE011F6D7E017F14E09039FFC07FF03A01FE001FF848486D7E48486D
7E1503485A8281121FA27F7F7F6D5B02C05B14F06C6D485A9138FE0FF89138FF9FF06CEC
FFE06C5D5E6C92C7FC6C816D14E0011F80498090B67E48812607FE3F7F48486C1480381F
F807D9F00114C048486C7E007F8049010F13E0150348487F81167FA2163FA36D15C0127F
EE7F807F6C6CECFF006C6C5B01FEEB07FE3A0FFFC03FFC6C90B55A000115E06C6C5C011F
49C7FC010113F02B3D7CBB34>I<903801FFE0010F13FC013F13FF90B612C04801E07F48
9038003FF048486D7E000F6E7E485A6F7E123F48488081178012FFA217C0A517E0A4007F
5CA4003F5C6C7E5D6C7E00075C3903FF80FB6C13FF6C6C13F36D13C3010F018313C09038
0008031400A24B1380EA03F0487E486C1500487E4B5AA25E151F4B5A495C6C48EBFFE049
485B2607FC0F5B6CB6C7FC6C14FC6C14F06D13C0D90FFEC8FC2B3D7CBB34>I<EA0FC0EA
1FE0EA3FF0EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC0C7FCACEA0FC0EA1FE0EA3FF0
EA7FF8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC00E2879A71D>I<007FBA12E0BB12F0A400
3F19E0CEFCB0003FBA12E0BB12F0A46C19E0441C7AA451>61 D<16FCA24B7EA24B7EA34B
7FA24B7FA34B7FA24B7FA34B7F157C03FC7FEDF87FA2020180EDF03F0203804B7E020781
15C082020F814B7E021F811500824A81023E7F027E81027C7FA202FC814A147F49B77EA3
4982A2D907E0C7001F7F4A80010F835C83011F8391C87E4983133E83017E83017C81B500
FC91B612FCA5463F7CBE4F>65 D<B812F8EFFF8018F018FC8426003FFCC7EA3FFF050F13
807113C07113E08319F0A27113F8A719F05FA24D13E019C04D13804D1300EF3FFE933801
FFF891B712E0188018F818FE02FCC7380FFF80050313C07113E07113F019F8F07FFCA2F0
3FFEA219FFA38460A419FE187FA2F0FFFC4D13F85F4D13F0053F13E0BA12C0190018FC18
F095C7FC403E7DBD4A>I<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91
B7EAE1FE01039138803FFB499039F80003FF4901C01300013F90C8127F4948151FD9FFF8
150F48491507485B4A1503481701485B18004890CAFC197E5A5B193E127FA349170012FF
AC127F7F193EA2123FA27F6C187E197C6C7F19FC6C6D16F86C6D150119F06C6D15036C6D
ED07E0D97FFEED0FC06D6CED3F80010F01C0ECFF006D01F8EB03FE6D9039FF801FFC0100
91B55A023F15E002071580020002FCC7FC030713C03F407ABE4C>I<B812F8EFFF8018F0
18FC18FF26003FFCC76C13C005077F05017F716C7E727E727E727E721380A27213C0A272
13E0A21AF084A21AF8A41AFCA5197FA319FFA51AF8A41AF0A2601AE0A24E13C0A24E1380
4E1300604E5A4E5A4D485A050713E0057F5BBA5A4EC7FC18F818C005F8C8FC463E7DBD50
>I<BAFCA4198026003FFEC7123F1707170183183FA2181FF00FC0A31807EE07C0A3F003
E0A3160F95C7FC161F163F16FF91B6FCA54AC6FC163F161F040F147CA2160719F8A593C7
1201A219F01803A21807A2180FF01FE0183F18FF1703173FBAFCA219C0A33E3D7DBC45>
I<B912FEA48426003FFEC77E170F1703170084A284F01F80A3180FA2EE07C0A2F007C0A4
040F90C7FCA2161F163F16FF91B6FCA54AC6FC163F161F160FA21607A693C9FCACB712E0
A53A3D7DBC42>I<922607FFC0130E92B500FC131E020702FF133E023FEDC07E91B7EAE1
FE01039138803FFB499039F80003FF4901C01300013F90C8127F4948151FD9FFF8150F48
491507485B4A1503481701485B18004890CAFC197E5A5B193E127FA34994C7FC12FFAB04
07B612FC127F7FA3003F92C7383FFE00A27F7EA26C7FA26C7F6C7FA26C7F6C7FD97FFE15
7F6D6C7E010F01E014FF6D01F813036D9038FF801F010091B512F3023F15C00207ED803E
02009138FE000E030701E090C7FC46407ABE52>I<B7D8803FB612E0A526003FFEC8000F
EB8000B3A491B9FCA54AC8120FB3A7B7D8803FB612E0A54B3E7DBD52>I<B71280A52600
3FFEC7FCB3B3B0B71280A5213E7DBD28>I<0103B612F8A590C7383FFC00B3B3A4EA1FE0
487E487EA2487EA3157F5EA26C48495A495C263FE0035B261FF80F5B6CB6C7FC000314FC
C614F0011F90C8FC2D3F7EBD36>I<B76C90B6FCA526003FFEC8D801FCC7FCF007F84E5A
4E5AF03F804EC8FC18FEEF03FC4D5A4D5AEF1FC04D5A4DC9FCEE01FE4C5A4C5AEE0FE04C
5A4C5A16FF4B7F4B7F5D4B7F4B7F037F7F92B5FC6E486C7E9238F83FFF03F0804B7E4B6C
7F4B6C7F0300804A7F707F707F84717E83717F85717F83717F85717F83727E85727F84B7
D88007B612C0A54A3E7DBD52>I<B712E0A526003FFEC9FCB3AD183EA4187E187CA418FC
A21701A2EF03F8A21707170F171F177FEE01FF160FB9FC18F0A4373E7DBD3F>I<B6051F
B512C06F5EA26F5EA2D8003F97C7FC6F16F7A26E6CED01E7A26E6CED03C7A36E6CED0787
A26E6CED0F07A26E6C151EA36E6D143CA26E6D1478A26E6D14F0A26F6CEB01E0A36F6CEB
03C0A26F6CEB0780A26F6CEB0F00A36F6C131EA26F6D5AA26F6D5AA26F6D5AA393387FF1
E0A293383FFBC0A270B45AA37090C7FCA2705AA2705AB600C0031FB612C0A2705AA2705A
5A3E7CBD63>I<B6037FB512E0A2818181D8003F6D9139001F800081A281816E7E6E7F6E
7F80826E7F6E7F6E7F6E7F157F826F7F6F7F6F7F6F7F81836F7F6F7F707E701380A27013
C07013E07013F07013F87013FCA27013FEEF7FFF71139F7113DF8319FF8383838384A284
84848484A284B600C080197F193F191FA24B3E7DBD52>I<ED3FFF0203B512F0021F14FE
027F6E7E902701FFF80713E00107D9C00013F84990C7EA3FFCD93FFCEC0FFF49486E7F49
486E7F48496E7F4A80488448496F7EA24890C96C7E4884A249161F003F84A34848701380
A400FF19C0AD007F19806D5EA3003F1900A26D5E6C60A26C6D4B5AA26C6D4B5A6C6D4A5B
A26C6D4A5B6C6D4A5B6D6C4A5B6DB4023F90C7FC6D01C0EBFFFE0107D9F80713F8010190
B612E06D5E021F4AC8FC020314F0DA003F90C9FC42407ABE4F>I<B812F017FF18C018F0
18FC26003FFCC77FEF1FFF7113807113C07113E0A27113F0A319F8A819F0A34D13E019C0
5F4D1380053F1300EFFFFE91B712F860188005FCC7FC4ACAFCB3A4B77EA53D3E7DBD47>
I<B87E17FCEFFF8018F08428003FFC000113FE9338003FFF050F7F717F717FA2858385A7
61A25F61614D5B4D90C8FCEF3FFE4CB45A91B712F018C04DC9FC717E9126FC000F7F0401
13F0707F717EA2717EA2717EA685A6F207C019C0A271140F07E01380B76DEBF01F719038
FC3F007190B5FC716C5B061F13F8CB000113E04A3F7DBD4E>82 D<903A03FFC001C0011F
EBF803017FEBFE0748B6128F4815DF48010013FFD80FF8130F48481303497F4848EB007F
127F49143F161F12FF160FA27F1607A27F7F01FC91C7FCEBFF806C13F8ECFFC06C14FCED
FF806C15E016F86C816C816C816C16806C6C15C07F010715E0EB007F020714F0EC003F15
03030013F8167F163F127800F8151FA2160FA27EA217F07E161F6C16E06D143F01E015C0
01F8EC7F8001FEEB01FF9026FFE00713004890B55A486C14F8D8F81F5CD8F00314C027E0
003FFEC7FC2D407ABE3A>I<003FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C01603
49160190C71500197E127EA2007C183EA400FC183F48181FA5C81600B3AF010FB712F8A5
403D7CBC49>I<B76C90B61280A526003FFEC9003EC7FCB3B3A4197E011F177C80A26D17
FC616D6D14014E5A6D6D4A5A6D6D140F6D01F8EC3FC0DA7FFEECFF8091273FFFC00F90C8
FC020F90B512FC02035D020015E0031F1480030101F8C9FC493F7DBD50>I<B600FC020F
B512C0A5C66C48C9381F8000013F95C7FC80616D173E6F157E6D177C6F15FC6D5F811801
6D6D5D18036D5F6F14076D5F6F140F027F5E81181F023F93C8FC6F5C6E153E70137E6E15
7C8218FC6E6D5B17016E5DEEF0036E5DEEF8076E5D16FC170F037F5CEEFE1F033F91C9FC
705A6F133E17BE17FE6F5BA26F5BA26F5BA26F5BA36F5BA2705AA270CAFCA24A3F7EBD4F
>I<903807FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF0486C806F7EA3
6F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F1380381FFE
00485A5B485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391FFF07F36CEB
FFE100031480C6EC003FD91FF890C7FC2F2B7DA933>97 D<13FFB5FCA512077EAFEDFFE0
020713FC021FEBFF80027F80DAFF8113F09139FC003FF802F06D7E4A6D7E4A13074A8070
1380A218C082A318E0AA18C0A25E1880A218005E6E5C6E495A6E495A02FCEB7FF0903AFC
FF01FFE0496CB55AD9F01F91C7FCD9E00713FCC7000113C033407DBE3A>I<EC7FF00107
B5FC011F14C0017F14E09039FFF01FF0489038800FF848EB001F4848EB3FFC120F485AA2
485AA2007FEC1FF849EB0FF0ED03C000FF91C7FCAB127F7FA3003F153E7F001F157E6C6C
147C6C6C14FC91388001F86C9038C003F0C69038F81FE06DB512C0011F14800107EBFE00
9038007FF0272B7DA92E>I<EE07F8ED07FFA5ED003F161FAFEC7FF0903807FFFE011FEB
FF9F017F14DF9039FFF01FFF48EBC00348EB00014848EB007F485A001F153F5B123FA212
7F5BA212FFAA127FA37F123FA26C6C147F120F6D14FF6C6C01037F6C6D48EBFFE06CEBF0
3F6C6CB512BF6D143F010713FC010001E0EBE00033407DBE3A>I<ECFFF0010713FE011F
6D7E017F809039FFE07FE0489038801FF048496C7E48486D7E48486D7E121F491301003F
81A2485A6F1380A212FFA290B7FCA401F0C9FCA5127FA27F123FEE0F806C7E161F6C6C15
006C6C5C6C6D137E6C9038E001FC6C9038F80FF8013FB55A6D14C0010391C7FC9038007F
F8292B7DA930>I<EC07FE91387FFF8049B512C0010714E090390FFE3FF0EB1FF090393F
E07FF8EB7FC013FF1480A2489038003FF0ED1FE0ED0FC092C7FCAAB612E0A500010180C7
FCB3AC007FEBFF80A525407DBF20>I<903A03FF8007F0013F9038F83FF8499038FCFFFC
48B712FE48018313F93A07FC007FC34848EB3FE1001FEDF1FC4990381FF0F81700003F81
A7001F5DA26D133F000F5D6C6C495A3A03FF83FF8091B5C7FC4814FC01BF5BD80F031380
90CAFCA2487EA27F13F06CB6FC16F016FC6C15FF17806C16C06C16E01207001F16F0393F
E000034848EB003F49EC1FF800FF150F90C81207A56C6CEC0FF06D141F003F16E001F014
7FD81FFC903801FFC02707FF800F13006C90B55AC615F8013F14E0010101FCC7FC2F3D7D
A834>I<13FFB5FCA512077EAFED1FF8EDFFFE02036D7E4A80DA0FE07F91381F007F023C
805C4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A5333F7CBE3A>I<EA01F8487E487E487E
481380A66C13006C5A6C5A6C5AC8FCA913FFB5FCA512077EB3ABB512F8A515407CBF1D>
I<13FFB5FCA512077EB092380FFFFEA5DB01FEC7FC4B5AED07F0ED1FE04B5A4B5A4BC8FC
EC03FC4A5A4A5A141F4A7EECFFFCA2818102E77F02C37F148102007F826F7E6F7E151F6F
7E826F7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37>107 D<13FFB5FCA512077EB3B3
AFB512FCA5163F7CBE1D>I<01FFD91FF8ECFFC0B590B5010713F80203DAC01F13FE4A6E
487FDA0FE09026F07F077F91261F003FEBF8010007013EDAF9F0806C0178ECFBC04A6DB4
486C7FA24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03FEBFF80A551297CA858>I<01FF
EB1FF8B5EBFFFE02036D7E4A80DA0FE07F91381F007F0007013C806C5B4A6D7E5CA25CA3
5CB3A4B5D8FE0FB512E0A533297CA83A>I<EC7FF0903803FFFE011FEBFFC0017F14F090
39FFE03FF8489038800FFC3A03FE0003FE48486D7E000F168048486D13C0A2003F16E049
147F007F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2001F16C06C6C491380A26C6C49
13003A03FF800FFE6C9038E03FFC6C6CB512F0011F14C0010791C7FC9038007FF02D2B7D
A934>I<01FFEBFFE0B5000713FC021FEBFF80027F80DAFF8113F09139FC007FF8000701
F06D7E6C496D7E4A130F4A6D7E1880A27013C0A38218E0AA4C13C0A318805E18005E6E5C
6E495A6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC028713FC028113C00280C9FCAC
B512FEA5333B7DA83A>I<DA7FE01378902607FFFC13F8011FEBFF01017F14819039FFF8
1FC3489038E007E74890388003F74890380001FF48487F001F157F5B003F153F5B127F16
1FA2485AAA127F7FA36C6C143F167F121F6C6C14FF6D5B6C6D5A6CEBC00F6CEBF03F6C6C
B512BF6DEBFE3F010713F8010013C091C7FCAC030FB512E0A5333B7DA837>I<3901FE01
FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF8000713F8000313F0EBFFE0A29138
C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA525297DA82B>I<90383FFC1E48
B512BE000714FE5A381FF00F383F800148C7FC007E147EA200FE143EA27E7F6D90C7FC13
F8EBFFE06C13FF15C06C14F06C806C806C806C80C61580131F1300020713C01400007814
7F00F8143F151F7EA27E16806C143F6D140001E013FF9038F803FE90B55A15F0D8F87F13
C026E00FFEC7FC222B7DA929>I<EB07C0A5130FA4131FA3133F137FA213FF5A1207001F
EBFFFEB6FCA40001EBC000B3151FA96CEBE03EA2017F137EECF8FC90383FFFF86D13F001
0713E001001380203B7EB929>I<D9FF80EB0FF8B5EB0FFFA50007EC007F6C153FB3A516
7FA316FF6C5C4B7F6C903AC007DFFFE09138F01F9F6DB5121F6D13FE010F13F8010101E0
EBE000332A7CA83A>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C5E6E13
0F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D5C15
C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA232287EA737>I<
B53CFC3FFFFC03FFFEA50003D980009039C0000F806E161F6C037F15006E496C5B6C183E
836E48157E017F177C6E486D13FC013F02EF5C83DAFC071401011F02C75CDAFE0FEBFE03
010F02835C17FFDAFF1F14076D02015C03BF148F6DD9BE005C18CF03FE14DF6D49017F90
C7FC18FF6D496D5AA36E486D5AA26E486D5AA36E486D5AA26E486D5A47287EA74C>I<B5
D8FC03B51280A5C69026E0007FC7FC6E13FE6D6C5B6D6C485A6D6C485A010F13076D6C48
5AED9FC06DEBFF806D91C8FC6D5B6E5AA2143F6E7E140F814A7F4A7F4A7F02FE7F903801
FC7F49486C7E02F07F49486C7E49486C7E011F7F49486C7FD97F008001FE6D7FB5D8C007
EBFFC0A532287EA737>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C5E6E
130F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D5C
15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA35D14075D000E
130FD83F805B387FC01FD8FFE090C9FC5C143E147E5CEBC1F8387FC3F0387E0FE06CB45A
6C5B6C48CAFCEA03F8323B7EA737>I<003FB612F8A4D9F80113F001C014E0495A494813
C04A1380007E15005C4A5A007C5C147F4A5A495B5DC65A495B495BA249EB007C495A5C13
7F494813FC484913F85C5A48EBC00114804814034813004848130749131F007FECFFF0B7
FCA426287DA72E>I<B912E0A43304809A34>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FH cmbx12 24.88 35
/FH 35 122 df[<F31FE0F37FF8A2517EA2507FA3507FA25080A35080A25080A35080A2
5080A397B67EA24F81A34F81A24F82A34F82A24F82A21AFBDF3FF981A2DF7FF1811AF062
07FF6D80A24E01C081871A804E6E80A24E0100828761060F6E81A24E48838761063F6E81
A24E4883876106FF6F80A24D498388614D7080A24D90C8FC768160050F7081A260051F70
8160053F7081A260057F70816005FF7180A2604C7280604C7280A295CAFC4C72815F040F
7281A294BDFC4C88A24C88A34C88A293BE7E05E0CB7E5F4B7480A24B497280A294CCFC4B
7481A24B487381A25E031F7481A24B487381A25E037F7481A24B487480A25E4A7680A24A
497480A293CEFC4A7681A24A4875814A7E0107B512FCB96C043FBA12FCA9>158
145 120 272 175 65 D[<BFFC1EFEF6FFE01FFCF7FF8020F020FC20FF8DC7000392CA00
1F15E00B0181776C800C1F807814FF0C03818A78818E79808B8E8B8E8B8EA27980A47915
80AB551500A4555CA26A676A676A555C9CB65AA2545D5492C7FC545C5414F80C3F5C545C
53B612800B0F4AC8FC0B7F14F80A1FB612E095BBC9FC1FF81F801FF8F7FF8020F820FE95
CBECFFC00C1F14F00C07807814FE0C006E7E7980798079807980798079808E79158023C0
8B23E08C23F0A223F88CA223FCA38C23FEAB5614FCA55614F8A39DB612F0A25515E06723
C055158067551500555C555C9CB6FC545D0C075D0C1F15C09BB75A0B0F93C7FCC212FC69
21E021800EFCC8FC20F020800DF0C9FC0CFCCAFC>143 142 120
269 165 I[<0803B500C0EE01F00703B600FEEE03F8077FDBFFE015070607B800FC150F
063F05FF151F4DBA00E0143F050F07F8147F053F07FE14FF94BC5B04039326F8000FECC0
03040F4BC86CEBF007043F03C0030F6D5A93B648C900036D5A4B03F09339007FFF3F0307
03C0051F90B5FC4B92CB7E033F02FC18034B02F08492B648844A0380193F4A92CD7E4A4A
864A4A864A02F0864A4A864A8991B65A494B874992CF7E4C885B494A885E498B494A88A2
495C8D90B65A8D5A5E48217FA24892D1FC223FA25A5DA248211FA3485CFA0FF09FC7FCA2
5AA45DA3B6FCB27EA381A47EA46C80FA07F0FA0FF87EA2817EA36C6F1D1F23F07E827E22
3F6D6E1EE0A26D6E1D7F23C06D6E1DFF7F705213806D806D55130070646D6F646D6F515A
6E6E1B1F6E6E515A6E6E515A6E6E1BFF6E6E505B6E6E505B6E6F4F5B6E03E04F90C7FC6F
6EF13FFE6F02FC4F5A030F02FF4E485A6F03C005075B030103F0051F5B6F03FE057F1380
043FDAFFE00303B5C8FC040F03FE033F13FC0403DBFFF80107B55A040093B812E0053F1A
80050F4FC9FC050119F8DD003F18C0060795CAFCDE007F16F0070393CBFCDF000314C0>
141 146 115 271 168 I[<BE12FEF5FFFCF6FFC01FFCF7FF8020E020FC20FF21C0C700
030380C8000116F0E2000F810B0015FE0C1F800C0315C00C00810D3F8079800D0714FE79
807981796C808C7A807A808F7A807A808C8F7A818DA17E8DA17E8DA17EA27B80A2A17E8D
A17EA28DA17EA3A113808DA3A113C0A57B15E0A6A113F0B3A2A113E0A569A113C0A5A113
80A269A2A11300A3575CA2A15AA269A15A69A15AA2575CA15A69A15A9EB6FC5692C7FC6B
565C68565C565C565C565C9DB65A5592C8FC0D075C555C0D3F5C9CB65A0C0315C00C0F5D
0C7F92C9FC0B07B612FC52B712F0C212C09ECAFC20FC20F020800DFCCBFC1FE00CFCCCFC
53CDFC>156 142 120 269 178 I[<C212F8A48DA5C7000303C0C9123FF5007F1E0F0C01
80787E1F1F8B8B1F018BA27A7E8C8CA28CA28CA28C8EA28CA38CA38EA2E21FF0157FA67B
7EA40A3F93C8FCA41C7FA21CFFA26363631B1F1B7F0807B5FC95B8FCA99538C00007F200
7F1B1F1B07878787A21C7FA21C3FA3FA7FC01C1FA2FAFF80A6571300A299CAFCA369A26A
A22107A3210F6AA2211FA2213FA2575AA221FFA26868565BA26868207F9DB5FC555C1F07
1F1F1F7F0C03B6FC1E3F0B1FB7FCC35AA66AA3>138 141 120 268
153 I[<BC12C0A9C7000103E0C8FCB3B3B3B3B3B3B0BC12C0A9>74
142 122 269 87 73 D[<0307BB12F0A992C96C02F0C7FCB3B3B3B3B3A4EB0FC0EB7FF8
3801FFFE487F4880488048804880A24880A2B67EA36496B6FCA364A26C4A4A5DA24B95C8
FC6C5F4B5F6C4A4A5C4B4A5C6C91C8FC6C01FC4B5C6C01F04B5C6C6D4B5C6C01FE4AB6C9
FC90267FFFE001075C6D01FE013F14F8010F90B85A6D18C0010195CAFCD9003F16F8020F
16C0020003FCCBFC030791CCFC>100 144 123 269 120 I[<BC12F8A9C7000303C0CEFC
B3B3B3B3A5F8FF80A4672100A667A368A21F07A41F0FA3555AA21F3FA21F7FA21FFFA266
6668666666666653B5FC65650B1F5C1D7F0A03B6FC1C1F0903B7FCC1FCA468A5>121
142 120 269 140 76 D[<B900C00C7FB812E0729BB9FC72657265A37265A27265C70003
A101F8C8FC72F51FEFA2706EF43FCFA3706EF47F8FA2706EF4FF0FA2706EF301FEA3706E
F303FCA2706EF307F8A2706EF30FF0A2706EF31FE0A3716EF23FC0A2716EF27F80A2716E
F2FF00A2716E4F5AA3716E4F5AA2716E4F5AA2716E4F5AA3716E4F5AA2726E4E5AA2726E
4E5AA2726E4EC7FCA3726E4D5AA2726E4D5AA2726E4D5AA2726E4D5AA3726E4D5AA2736E
4C5AA2736E4C5AA3736E4CC8FCA2736E4B5AA2736E4B5AA2736E4B5AA3736E4B5AA2736E
4B5AA2746E4A5AA2746E4A5AA3746E4AC9FCA2746E495AA2746E495AA3746E495AA2746E
495AA2746E495AA2756E485AA3756E485AA2756E48CAFCA275ECF1FEA275ECFBFCA375EC
FFF8A2755DA2755DA3765CA2765CA27691CBFCA2765BA34A6D715B49B512FEB900FC6F49
0303BB12E0A2765BA2765BA3775A0B1FC9FC>203 142 120 269
220 I[<BE12F8F5FFF01EFF1FE01FFCF7FF8020E020F820FEC700030380C8000781E200
3F15C00B03810B00810C3F8078800C07807880788178818E8B8E8B8E8B8EA28EA28B8EA4
2380AC2300A46A67A26AA26A676A676A9CB65A6A665492C7FC545C0C1F5C545C9BB612E0
0B075D0B3F5D0A07B648C8FC95BB12F820E0208055C9FC1FF09CCAFC1EF00BF8CBFC06C0
D0FCB3B3B2BCFCA9>137 142 120 269 159 80 D[<BD12FCF4FFFCF5FFE01EFCF6FFC0
1FF01FFE797E20E0C700030380C86C15F80A0181E2003F14FF0B07810B0115E0776C8078
807880788078808A78818E7881A28E8B8EA37980A48EAA6AA3676AA26AA29CB65AA26A54
5D9FCAFC66545C545C545C545C9BB612C0535D0B074ACBFC0B3F5C52B612F00A7F15C095
BBCCFC1FF81FC054CDFC66F6FF801FE00680C7000315F8E1003F14FE0A0F800A0315C076
81766C807780778077808C7781898D898D898DA38A8DAD8DACA1EB1FC0A1EB3FE08D8AA3
7880A1137FA114C078817818FF7C1580785F786F1500BB00FE6F6F5B796E495A7902FEEB
1FFC799139FFC07FF80D0792B55A0D015F796C5E0E1F5E0E034BC7FCD4001F14F8E7003F
13C0>163 144 120 269 173 82 D[<93260FFFF8163E4BB600E0153F031F03FE5D037F
DBFFC05C0203B800F05B020F05FC5B4A05FF5B027FF0C00F91B526FE000FECF01F010302
C0D9007F6D5A4991C800076D5A4901FC030090B6FC4901F0163F4949160F4901808290B5
170192CBFC4849844849181F87484984A2484984874886A248498588A24887A388A2B586
80A36E85A280A26E8580A2818103F0725A6C6E96C7FC15FE8116E06C15FEEEFFE017FF6C
17F0F0FF806C18F8F1FFC06C19FCF2FF806C1AE01BF86C1AFE6C747E6D1AE0886D866D86
6D1AFF6D876D87010087806E86020F86020386020086153F030F851501DB001F19801601
DC000F18C0EF007F060717E0F0003F070316F0F1003F1A0F080315F81A00871B1F877514
FCA287007F86486C85A288A388A36D86A31EF87FA37F1EF0A26D626D1CE0A27F6D5013C0
A26E1B806E96B5FC6E1B0002F8606E4E5B6E626E6C5F03E04D5B03F84D5B03FE057F5BDB
FFC093B55A04F803035C496CD9FF80021F91C7FCD9FC1F02FF49B55AD9F80792B75A496C
19F049C66149011F18804901074DC8FC90C817F848031F16C048030003FCC9FC007C0401
1480>102 146 115 271 129 I<93B512FC037FECFFF00207B8FC023F17E091B912F849
18FE0107727E499126C0007F14E04901E0C7000F80496D020380496D020014FE6F6F7F90
B570806F6F8085486E6F807380A27380A28885886C5CA26D4982886D5B6D5B010713C001
0190CAFC90CCFCA90603B7FC050FB8FC0403B9FC167F0307BAFC153F4AB7EA807F020FED
E000023F02FCC7FC91B612E0010392C8FC4914FC011F14F04914C0495C90B548C9FC485C
485C485C485C5A5D485CA24891CAFCA3B6FC5CA397B6FCA461806C60F107EF6C6E150F6F
16CF6C183F6FDB7F8F806C6EDBFF0F14E06C02FCDA03FE15FE6C6E91260FFC0791B5FC6C
6E6CD93FF817806C923AF803FFF003013F91B6487E010FEF8000010394C77E010004FC14
1F021F03F0140702010380DA007F1400DA000701F8CDFC695F79DD71>97
D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B296383FFFC00607B512FE063FECFFE0
4DB712F8050716FF051F17C0057F17F094B5D8C00F8004F301FCC714FE04F701E0023F7F
93B50080020F804DC86C14E005F80301804D6F804D707F05808294CA804C717F4C7180A2
4C71808BA27680A28B88A28BA28BA3888BA52080B02000A56764A267A3676467A2525CA2
67647062704D91C7FC704D5BA2714C5B7193B55A05F04B5CDCBFF84B5CDC1FFC030F5C4B
6CB44B91C8FC7001C0027F5B4B6C01F00103B55A4BC601FF013F14F04B6D90B712C04B01
1F94C9FC4B6D16FC4B010316F092C86C15804A030F02F8CAFC90CB49CBFC>113
144 121 270 129 I<94387FFFF0041FB612E093B712FE0307707E031F17F092B97E4A18
FE020784021F9126F8000F14804A0280010014C04A49C74814E049B500F85C494A17F049
4A5C495C494A4A14F84991C8FC5D495B90B5FC5D5A485C7314F05A4B6F14E05A7314C048
7214804B93383FFE00F20FF84896C8FCA4485CA5B6FCB07EA281A37EA36C80A37E6F18FE
6CF201FFA26C6E5F1CFE6C801B076C6EEF0FFC6D7F70EE1FF86DF13FF06D6E167F6D6EEE
FFE06D02F84B13C06D6E5D6D02FF030F13806D03C0023F1300023F02F0903801FFFC6E91
26FF801F5B020792B65A6E18C0020060033F4CC7FC030716F8030016C0041F4AC8FCDC00
7F13C0585F78DD67>I[<F53FE098B6FC4FB7FCA996C77E1B0FA287B3B294383FFF80040F
B512FC93B71280030716E0031F16F8037F16FE4AB9128702074AC66C13C7021F02E00107
13F74A91C890B6FC4A01FC153F49B548150F4902E081494A81494A814991CA7E495B8749
498390B548835A5D5AA2485CA25A5D5AA35AA25D5AA5B6FCB07EA57E81A37EA27EA2817E
A26C80A26C626C6E5F636D7F6D6D94B6FC6D606D6D1607705D6D6E4B81010102F0157F6D
6E92B712FE6E01FE020301EF91B512806E6D6C011F13CF020FDAF801B5120F020391B612
FE6E17F86E6C16E0030F16800301EDFC00DB003F14E0040049C74AC8FC>113
144 120 270 129 I<94387FFFC0040FB6FC93B712E0030716FC031F16FF037F17C04AB9
12F00207DAF80380021F912680003F13FE4A49C7000F7F4A01F802038049B5486E804902
C06E6C7F494A6F7F4991C9FC49727F4949707F4B84498490B548707F5A4B198048855D48
1CC086481CE05D5A871DF05AA25D5AA21DF887A2B6FCA392BBFCA51DF00380CDFCA77EA4
817EA37EA2817EA26CF307F06FF00FF87E816C1B1F6F19F06C1B3F6D6DF07FE06D7FF4FF
C06D6E4C13806D6E5E6D02F04C13006D6EEE1FFE6D6E4C5A6D6C01FFEEFFF86E02E00203
5B6E02FC021F5B02079126FFC003B55A6E92B7C7FC020060033F17F8030F17E003011780
DB003F03FCC8FC040315C0DC000F01F8C9FC5D5F7ADD6A>I[<95383FFF80050FB512F094
B612FE040781041F16C0047F824BB87E0307DAF8077F031FDAC00F7F4B49C6487F4B495B
92B500F0814A4A5B4A5C4A93B612805F4A91C7FC5C5E5C5E5C731400A24C6E5B91B56F5B
A2735B070313E00700138097C8FCB3A4BA12F8A9C702FCCBFCB3B3B3B3A2003FB9FCA9>
81 144 121 271 71 I<F5FFC093260FFFFC030F13F04BB600E0027F7F031F03FE49B512
FE037F9226FF8007800203B8EAF01F020FDDFC3F15804A7148133F027FDA003F90B500F0
14C091B500F80107ED807F4902E00101ECFC00010702806D6C5B93C87E49496F7F49496F
7F49496F6D6D1380491A8077130090B5486F6E6C5AF503F84875C8FCA2484A6F80A44887
AB6C63A46C6E4B5CA26C63A26D6D4B5CA26D97C9FC6D6D4B5B6D6D4B5B6D6D4B5B705C01
0102E049B512E06D02F801075C4902FF013F5C4992B648CAFC496002F317F090260FE07F
1680031F4BCBFC90261FC00115E0DB000F01FCCCFC013F91CFFCA3137FA280A380A28080
806E7E15F092B812F06DF0FFE01BFEF3FFC06D1AF81CFE767E6D1BE06D87896D1BFE6D87
7F6E878A0103BD7E130F013F8890BEFC4802E0C9003F814891CBFC4801FC180F48490601
804849727E484985884849737F88A2B55A88A66E616C65A26E616C6D4F5B6C656E616C6D
4F5B6C6D96B55A6C6D6C05035C6F5FC602F0051F49C7FC6D01FC057F5B6DD9FF800303B5
5A010F02F8033F14E06DDAFFE0010FB65A010192B9C8FCD9003F19F8020F19E0020196C9
FCDA001F17F0030194CAFCDB000192CBFC6A887ADD74>I[<ED1FF0017FB5FCB7FCA9EA00
3F1307A27FB3B2963803FFFC073FEBFFE096B612F8060715FE061F6F7E4E16E095B87E4D
D9FC03804DD9C000804D48C76C7FDD0FF880DD1FE0824D486E804D5A05FEC881DCF1FC81
5F04F385EEF7F04D81EEFFC0A24D84A294C9FCA25EA35EA45EB3B3AFB9D8E001B912C0A9
>114 143 119 270 129 I[<EC3FC0ECFFF0010313FC497F497F498049804980A290B67E
A24881A86C5DA26D5CA26D5C6D5C6D91C8FC6D5B6D5B010013F0EC3FC091CAFCB3A3ED1F
F0017FB5FCB7FCA9EA003F1307A27FB3B3B3B0B91280A9>49 144
119 271 65 I[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B3083FB712C0A908014AC7
FCE0003F13C09AC8FC515A515A505B5013E0080F5B505B5090C9FCF27FFC4F485A4F5B4F
5B4F5B4F90CAFCF17FFE4F5A4E5B4E5B4E13C0061F5B4E90CBFC4E5AF0FFF805037F5F4D
7F4D7F4D8094B67E16F104F38104F78193B77EA2868605F18017E04D814D6C804D6C8004
FC6D805E4C6D804C6D807280A27280728173808588738073807380A2738073807381A274
80748074808689748074807480A274818A5015F0B96C017F92B5FCA9>112
143 121 270 123 107 D[<ED1FF0017FB5FCB7FCA9EA003F1307A27FB3B3B3B3B3B3AC
B912C0A9>50 143 119 270 65 I<DB3FE0912601FFFC943801FFFC017FB5031FD9FFE0
041FEBFFE0B792B600FC93B612FC060303FF030315FF060F04C0020F16C0063F04F0023F
16F095B86C91B87E4DD9FC036E49D9FC03804DD9C0006E49D9C000804D48C7003F6D4948
C7003F7FDD0FF86EDB0FF880D8003F4B48714848830107DB3FC06E9126C03FC06E804D48
4E5A6D4BC86F48C881DCE1FE6FDAE1FE814D61DCE3F8DEF3F884DCE7F0F0F7F04D6F4B81
DCEFC0F0FFC0A2DCFF804F84A294C993C9FCA24C61A34C61A44C61B3B3AFB900E090B900
E090B912E0A9B35D77DCC2>I<DB3FE0913803FFFC017FB5033FEBFFE0B792B612F80607
15FE061F6F7E4E16E095B87E4DD9FC03804DD9C000804D48C76C7FDD0FF880D8003FDB1F
E08201074B486E804D5A6D03FEC881DCE1FC815F04E385EEE7F04D81EEEFC0A2DCFF8084
A294C9FCA25EA35EA45EB3B3AFB9D8E001B912C0A9725D77DC81>I<94381FFFF00407B6
12C0047F15FC0303B87E030F17E0037F17FC4ABAFC4A9126FC007F80020F02C0010714E0
4A49C880027F01F8033F13FC91B5486F7F4902C003077F494A6F804991C96C8049497080
4949717F49874949717FA290B548717F48884B83481D80A2481DC04B83481DE0A2481DF0
A3484A7114F8A4481DFCA5B61BFEAF6C1DFCA56C6E4D14F8A36C1DF0A36C1DE06F5F6C1D
C0A26C6E4D1480A26C1D006F5F6C646D6D4D5B6F94B5FC6D636D6D4C5C6D6E4B5C6D6E4B
5C6D02F0031F5C6D6E4B91C7FC6D6C01FE92B512FC6ED9FFC001075C6E02FC017F5C0207
91B812C0020196C8FC6E6C17FC031F17F003031780DB007F03FCC9FC040715C0DC001F01
F0CAFC675F7ADD74>I<DB1FF091381FFFC0017FB50203B6FCB7021F15E095B712FC0503
16FF050F17C0053F17F094B912FC04F1DAC01F8004F79026FC00018093B500E06D6C14C0
D8003F93C86C8001074B030F8005F86F806D03E06F804D6F804D8194CA6C7F4C864C7180
5E7680A27680A27680A28B88A28BA288A28BA4882080B0200064A467A26467A3525CA267
64676467647062704D91C7FC7094B55AA2714B5C714B5C714B5C05F84B5C71033F5C05FF
4B91C8FC06C049B55A04FB01F001075C04F801FF017F14F07190B712C0051F94C9FC7116
FC050316F0DD007F1580060F02F8CAFC060049CBFC96CDFCB3ACB912E0A9718579DC81>
I<DB7FC049B47E90B6021F13F8B7027F13FE4DB67E4D15E04D814D814D01077F94263FF0
0F7F94387FC01F4D48487FD8003F16000107DAC1FE491480EEC3FC6D5DEEC7F05F16CF5F
16DF4D6D1400A204FFC76C5BA2735B4C6E5B735B070013C04C92C8FCA45EA65EB3B3AAB9
12FCA9515D79DC5F>114 D<92261FFFF814F80203B638C001FC023FEDFC0791B8121F01
0317FF130F013F9038F8001F4990C8FCD9FFF8153F4801E0150F484915034849814890CA
FC197F4848173F191F485AA2007F180FA31907487EA27FA28002E0705A6E93C8FC14FC14
FF15F06CECFF8016FCEEFFF06CEEFF8018F06C17FE727E6C18E0856C18FC6C846C727E6C
856D84011F846D841303010084023F83140F020183EC001FDB007F16801603DC000F15C0
1700183F060F14E0007F1703486C82727E857F85857FA2857F1BC07FA27F1B806D5F7F1B
006E5E6E5F6E163F6E4C5A02FC4C5A6E03035B6E6C4A5B03F0023F5B03FF0107B55A01F9
91B7C7FCD9F07F16FCD9E01F16F0D9800716C0D9000193C8FC48D9003F14F8007C020349
C9FC4B5F78DD5C>I[<ED03FEA81507A5150FA4151FA3153FA2157FA215FFA25CA25C5CA2
5C5C5C5C91B5FC13035B131F017F91B712F00007BAFCBBFCA7C74AC9FCB3B3AAF101FFB1
616E17FE82A219076E17FC836EEE0FF871131F6E6EEB3FF071137F6E6EEBFFE06EDAFF03
13C06E92B512806E1700033F5D6F5D03075D030015E0041F1480040001FCC7FC>72
132 124 258 90 I<DB0FF8F01FF0017FB594B6FCB74BB7FCA9D8003F94C77E0107190F
A26D85B3B3B063A463A263A27F6398B6FCA26DF001FB7015036EEF07F3E00FE3806E6D15
1FE07FC314FF6E6D6CDAFF83EDFFC06E6E010313036E02FCEB3FFE6E91B612FC020017F8
6F16E0031F16800303EDFE00DB007F14F8040102C093C8FC725E77DC81>I<B90303B7FC
A9D8000702F8CA000FEBFE006D6E050013E0666D6E6164826D5090C7FC836E4F5AA26E6E
4C5AA26E6E4C5AA26E6E5F1C3F836E4F5A836E4F5AA26E6E4B5BA26E6E4B90C8FCA26F6E
5D1B07846F4D5A846F4D5AA26F6E4A5AA26F6E4A5AA26F6E5D1BFF846F4C5B846F4C90C9
FCA2706E485AA27002C05B1A0F7002E05B1A1F19F0704B5A19F8704B5AA2706E485AA270
6E5B96B5FC7093CAFCA3715CA2715CA2715CA2715CA3715CA2715CA2715CA27191CBFCA2
725AA3725A725A725A705D7BDB7B>I<B800FE017FB700F8023FB612F8A9D8000F02F0C8
000702C0C9003FEBF800100313806D6E6F7390C7FC775E6D69706F6E1607A26D6E6F6277
160F6D6970706D161FA26E6E6F61516D163F6E687192B6167FA26E68714A6F15FF6E6871
4A608A6E9DC8FC714A6F5C6E6771DA0FFD17078A6E06F86071021F6F140F6E67714A486C
161F8A6F4D6C5F72017F6F143F6F667249486C167F8A6F4D6C5F72487113FFA26F02F04A
6C4B5B4F17C06F4C6D94C9FCDEF807715AA26F02FC496D4B5A070F17F06F4C6D5EDEFE1F
EFF80FA26F02FF496E4A5A073F17FC704B6E5D07FFEFFE3FA2704B6E4A5A1FFF704B6E5D
20FFA27092C86C5DA2704A6F92CAFCA3704A6F5CA2704A6F5CA3704A705BA27149705BA3
7149705BA27149705BA37190CA6C5BA271487190CBFC7148715A9D5D7BDBA8>I<007FB8
6C49B712FEA9C792C9000F02C0C7FC6E6E030101F0C8FC715F6E6E4B5B6E6E4B5B6E4E90
C9FC6E6E5E71151F6E6E4B5A6E6E4B5A6E4E5A6F6E495B72495B6F6E495B6F806F6E4990
CAFC6F4C5A72495A6F6E495A6F6E495A6F03815B705E7014C307E75B7091B5CBFC705D70
5D705D6282705D715C8386718071807180837180864D814D815F4D81874D814D81DDFFF3
804C13E14C01C1804C0180814E6C804C6E804C487F4C48824C486D804C486D804B496D80
4B497F73804B49834B90C86C804B486F804B48814B486F804B48844C6F804A71804A496F
804A49814A90CA814A487180023F7280010FB500E07080B8031FB812E0A9735C7CDB7B>
I<007FB800C04AB71280A9D800034ACA000791C7FC6D080013F0775A6D6E4E5AA26E6E60
64836E4F90C8FC836E4F5A836E4F5AA26E6E4C5AA26E6E5F1C3F6E6E5F1C7F836E4F5A84
6F4D5B846F4D90C9FCA26F6E4A5AA26F6E5D1B0F846F4D5A846F4D5A846F4D5AA26F6E4A
5AA2706E5C627002C091CAFC6219E0704B5A19F0704B5AA2706E485AA2706E485AA27002
FE5B1A7F19FF704B5AA2715DA27192CBFCA2715CA2715CA3715CA2715CA2715CA2715CA2
725BA27290CCFCA3725AA2725AA24E5AA24E5AA261187FA24E5AA24D5B13FE2603FF804A
90CDFC000F13E0486D4A5A487F486D4A5AA260B56C141F4D5AA24D5A17FF604C5B4A4990
CEFC6C5D4C5A6C49EB3FFC4A495A6C4948485A9026FE80075B270FFFC03F5B6C90B6CFFC
6C5D6C15F86C6C5C011F14C0010749D0FC9038007FE071857CDB7B>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FI cmr6 6 10
/FI 10 58 df<13FF000313C0380781E0380F00F0001E137848133CA248131EA400F813
1FAD0078131EA2007C133E003C133CA26C13786C13F0380781E03803FFC0C6130018227D
A01E>48 D<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>I<EA01FC38
07FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013FCC7FC14F8
A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600185A5A383F
FFF85AB512F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F8003E13FC147C
A2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00F01478147C
143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFFC000011300
18227DA01E>I<14E01301A213031307A2130D131D13391331136113E113C1EA01811203
EA07011206120C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFFA218227DA1
1E>I<00101330381E01F0381FFFE014C01480EBFE00EA1BF00018C7FCA513FE381BFF80
381F03C0381C01E0381800F014F8C71278A2147CA21230127812F8A214784813F8006013
F0387001E01238381E07803807FF00EA01F816227CA01E>I<EB0FC0EB7FF03801F03838
03C0183807803C380F007C121E001C1338003C1300A2127C1278EB7FC038F9FFE038FB80
F038FE0038143C48131EA248131FA41278A36C131EA2001C133C001E13386C1370380781
E03801FFC038007F0018227DA01E>I<1230123C003FB5FCA24813FE14FC3860001C1438
14704813E014C0EA0001EB0380EB07001306130E5BA25BA21378A35BA41201A76C5A1823
7CA11E>I<137F3803FFC0380781E0380E00704813380018131C1238A3123C003F133838
1FC078EBE0F0380FF9E03807FF80120114C0000713F0380F0FF8381C03FC383801FE3870
007E141F48130F1407A314060070130E0078130C6C1338001F13F03807FFC0C613001822
7DA01E>I<13FE3803FFC0380781E0380E0070481378003C133848133CA200F8131EA314
1FA40078133FA26C137F121C380F01DF3807FF9F3803FE1EC7FCA2143E143C001C133800
3E13781470003C13E0381801C0381C0780380FFE00EA03F818227DA01E>I
E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FJ cmsy10 10.95 35
/FJ 35 113 df<007FB812F8B912FCA26C17F83604789847>0 D<121EEA7F80A2EAFFC0
A4EA7F80A2EA1E000A0A799B19>I<0060166000F816F06C1501007E15036CED07E06C6C
EC0FC06C6CEC1F806C6CEC3F006C6C147E6C6C5C6C6C495A017E495A6D495A6D6C485A6D
6C485A6D6C48C7FC903803F07E6D6C5A903800FDF8EC7FF06E5A6E5AA24A7E4A7EECFDF8
903801F8FC903803F07E49487E49486C7E49486C7E49486C7E017E6D7E496D7E48486D7E
4848147E4848804848EC1F804848EC0FC048C8EA07E0007EED03F0481501481500006016
602C2C73AC47>I<EB03C0A2805CA600F0140F00FC143F00FE147F00FF14FF393FC3C3FC
390FE187F03903F18FC03900FDBF00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF3903F1
8FC0390FE187F0393FC3C3FC39FF03C0FF00FE147F00FC143F00F0140F00001400A6805C
A220277AA92D>I[<150FED3FC04B7E4B7EA66F5A6F5A030FC9FC92CAFCAC007FB912E0BA
12F0A26C18E0CDFCAC150FED3FC04B7E4B7EA66F5A6F5A030FC9FC>60
52 123 176 71 I<1506150FB3A9007FB912E0BA12F0A26C18E0C8000FC9FCB3A6007FB9
12E0BA12F0A26C18E03C3C7BBC47>6 D<EDFFF0020F13FF023F14C09139FF801FF0903A
03F80001FCD90FE0EB007FD91F80EC1F80013EC8EA07C00178ED01E0496F7E4848167848
488248488290CA120E48170F000E83001E1880001C1703003C18C000381701007818E000
701700A300F018F0481870A3BA12F0A300E0CB1270A46C18F0007018E0A3007817010038
18C0003C1703001C1880001E1707000E1800000F5F6C170E6D161E6C6C5E6C6C5E6C6C5E
01784B5A013EED07C06D6CEC1F80D90FE0027FC7FCD903F8EB01FC903A00FF801FF0023F
B512C0020F91C8FC020013F03C3C7BB447>9 D<EDFFF0020F13FF023F14C09139FF801F
F0903A03F80001FCD90FE0EB007FD91F80EC1F80013EC8EA07C00178ED01E0496F7E4848
167848488248488290CA120E48170F000E83001E1880001C1703003C18C0003817010078
18E000701700A2150F00F0DA3FC014F0484A6C14704B7EA24A7FA46E5BA26F5A6C6E4814
F00070020FC812E092C9FCA200781701003818C0003C1703001C1880001E1707000E1800
000F5F6C170E6D161E6C6C5E6C6C5E6C6C5E01784B5A013EED07C06D6CEC1F80D90FE002
7FC7FCD903F8EB01FC903A00FF801FF0023FB512C0020F91C8FC020013F03C3C7BB447>
12 D<EE7FFE0307B512E0033F14FC92B7FC0203D9C00313C0DA0FFCC7EA3FF0DA3FE0EC
07FCDA7F80EC01FED901FEC9EA7F80D903F8EE1FC0D907E0EE07E04948707E4948707E49
CB7E017E187E498449844848F00F8000031AC04918074848F003E0A24848F001F0A248CD
12F8A2001E1A78003E1A7CA2003C1A3C007C1A3EA200781A1EA300F81A1FA2481A0FAB6C
1A1FA200781A1EA3007C1A3EA2003C1A3C003E1A7CA2001E1A78001F1AF8A26C6CF001F0
A26C6CF003E0A26C6CF007C06D180F00011A806C6CF01F006D60017E187E6D606D6C4C5A
6D6C4C5A6D6C4C5AD903F8EE1FC0D901FEEE7F809026007F80DA01FEC7FCDA3FE0EC07FC
DA0FFCEC3FF0913B03FFC003FFC0020090B6C8FC033F14FC030714E09226007FFEC9FC50
557BC05B>I<EB0FFCEB3FFF90B512C0000314F04880488048804880A2481580A3B712C0
AA6C1580A36C1500A26C5C6C5C6C5C6C5CC614C0013F90C7FCEB0FFC22227BA72D>15
D<007FB912E0BA12F0A26C18E0CDFCAE007FB912E0BA12F0A26C18E0CDFCAE007FB912E0
BA12F0A26C18E03C287BAA47>17 D<0207B612F8023F15FC49B7FC4916F8D90FFCC9FCEB
1FE0017FCAFC13FEEA01F8485A485A5B485A121F90CBFC123EA25AA21278A212F8A25AA8
7EA21278A2127CA27EA27E7F120F6C7E7F6C7E6C7EEA00FE137FEB1FE0EB0FFC0103B712
F86D16FCEB003F020715F891CAFCAE001FB812F84817FCA26C17F8364878B947>I<007F
B67EB712F016FE6C81C913C0EE1FE0EE03F8707EEE007E83EF1F80170FEF07C018E01703
EF01F0A2EF00F8A21878A2187CA2183CA8187CA21878A218F8A2EF01F0A2EF03E0170718
C0EF0F80171FEF3F00177E4C5A4C5AEE1FE0EEFFC0007FB7C7FCB75A16F06C1580CCFCAE
007FB812E0B912F0A26C17E0364878B947>I<1818187CEF01FCEF07F8EF1FF0EF7FC093
3801FF00EE07FCEE1FF0EE7FC04B48C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0
EC7FC04948C9FCEB07FCEB1FF0EB7FC04848CAFCEA07FCEA1FF0EA7FC048CBFC5AEA7F80
EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8EC03FE91
3800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80EF3FE0EF
0FF8EF03FC170018381800AE007FB812F8B912FCA26C17F8364878B947>I<126012F812
FEEA7F80EA3FE0EA0FF8EA03FEC66C7EEB3FE0EB0FF8EB03FE903800FF80EC3FE0EC0FF8
EC03FE913800FF80ED3FE0ED0FF8ED03FE923800FF80EE3FE0EE0FF8EE03FE933800FF80
EF3FE0EF0FF8EF03FC1701EF07F8EF1FF0EF7FC0933801FF00EE07FCEE1FF0EE7FC04B48
C7FCED07FCED1FF0ED7FC04A48C8FCEC07FCEC1FF0EC7FC04948C9FCEB07FCEB1FF0EB7F
C04848CAFCEA07FCEA1FF0EA7FC048CBFC12FC1270CCFCAE007FB812F8B912FCA26C17F8
364878B947>I<D91FE01620D97FF816703801FFFE486D7E48804814F09038E01FF8271F
8007FC15F0273E0001FE15E0003CD9007F1401007CDA3FC013030078DA0FE014C00070DA
07F8130700F0DA03FEEB1F8048913A01FF807F006F90B5FC043F5B705B04075B040113E0
00409238007F803C157BA047>24 D<D91FE01620D9FFFC16704813FF000714C04814F048
809026E01FFE15F0273F0003FFEC01E0007E010013C00078DA3FF01307DB0FFCEB0FC048
913A07FF807F8048020190B5FC6F1500043F5B040F13F804035B00409238007F80CDFCA4
D91FE01620D9FFFC16704813FF000714C04814F048809026E01FFE15F0273F0003FFEC01
E0007E010013C00078DA3FF01307DB0FFCEB0FC048913A07FF807F8048020190B5FC6F15
00043F5B040F13F804035B00409238007F803C287BAB47>I<0207B612F8023F15FC49B7
FC4916F8D90FFCC9FCEB1FE0017FCAFC13FEEA01F8485A485A5B485A121F90CBFC123EA2
5AA21278A212F8A25AA87EA21278A2127CA27EA27E7F120F6C7E7F6C7E6C7EEA00FE137F
EB1FE0EB0FFC0103B712F86D16FCEB003F020715F8363678B147>I<0630140606F8141F
0503157FDD0FF0EB01FE4D48EB03FCDD7F80EB0FF0DC01FEC7EA3FC0DC07F8ECFF004C48
495ADC3FC0EB07F804FFC7EA1FE0DB03FCEC7F804B484AC7FCDB1FE0EB03FCDB7F80EB0F
F0DA01FEC7EA3FC04A484A5ADA0FF0D901FEC8FCDA3FC0EB07F802FFC7EA1FE049484A5A
D907F802FFC9FCD91FE0EB03FCD97F80EB0FF049C7485AD803FCEC7F80D80FF0D901FECA
FCD83FC0EB07F84848495A00FEC7EA1FC0A2D87F80EB0FF06C6C6D7ED80FF0EB01FED803
FC9038007F80C6B4EC1FE06D6C6D7ED91FE0EB03FCD907F8EB00FFD901FEEC3FC06D6C6E
7EDA3FC0EB07F8DA0FF0EB01FEDA03FC9038007F806E6C6E7E9126007F80EB0FF0DB1FE0
EB03FCDB07F8EB00FF6F6C6E7EDB00FFEC1FE0DC3FC0EB07F8DC0FF0EB01FE706C6D7EDC
01FEEC3FC09326007F80EB0FF0DD1FE0EB03FC716CEB01FEDD03F8EB007F0500151F0630
1406503C7BB45B>28 D<140C141EA2143E143CA2147C1478A214F8495AA2495A495AA249
5A49CDFC133E137EEA01F8485AEA0FE0003FBB12FEBDFCA2003F1AFED80FE0CDFCEA03F0
6C7EEA007E133E7F6D7E6D7EA26D7E6D7EA26D7E1478A2147C143CA2143E141EA2140C50
307BAE5B>32 D<020C1630021E1678A2023E167C023C163CA2027C163E0278161EA202F8
161F4948707EA24948707E4948707EA24948707E49CB7E013E187C017E187ED801F8F01F
804848F00FC0D80FE0F007F0003FBB12FCBDFCA2003F1AFCD80FE0CBEA07F0D803F0F00F
C06C6CF01F80D8007EF07E00013E187C6D606D6C4C5A6D6C4C5AA26D6C4C5A6D6C4C5AA2
6D6C4CC7FC0278161EA2027C163E023C163CA2023E167C021E1678A2020C163050307BAE
5B>36 D<EF01E0841700841878187C84A284727E727E851803727E007FB912FCBA7E856C
85CCEA07E0737EF101FCF1007FF21FC0F20FF8F203FFA2F20FF8F21FC0F27F00F101FCF1
03F04F5A007FBA1280BBC7FC616C60CBEA01F04E5A1807614E5A4EC8FC183EA260187818
F86017016050327BAF5B>41 D<D907FCEE1FE090261FFF80EDFFF8017F01E0020313FE48
B500F891390FF01F804802FE91393F8003C02707E00FFF91397E0001E0260F80036D01F8
EB00F090C79026E001F01470001E6E6C48481438001C6E6C4848141C48021F495A6F6C48
C8120C48912607FE3E150E04FF160600606E13FC00E06E4915076F1703486F5AA2163F70
7E707E83A24C6C15076C8300604B6D1406047C6D140E0070167F00304B6C6C141C00384A
486C7EDB03E06D14386C4A486C6C14786C4A486C6C14F0000F91261F0001EBC0016C6C01
7E6D9038F007E06C6C48486EB512C02701F80FF0021F148027007FFFC00207EBFE00011F
90C8000113F8D907F89238003FE050297BA75B>49 D<0207B512E0023F14F049B6FC4915
E0D90FFCC8FCEB1FE0017FC9FC13FEEA01F8485A485A5B485A121F90CAFC123EA25AA212
78A212F8A25AA2B812E017F0A217E000F0CAFCA27EA21278A2127CA27EA27E7F120F6C7E
7F6C7E6C7EEA00FE137FEB1FE0EB0FFC0103B612E06D15F0EB003F020714E02C3678B13D
>I<176017F01601A2EE03E0A2EE07C0A2EE0F80A2EE1F00A2163EA25EA25EA24B5AA24B
5AA24B5AA24B5AA24BC7FCA2153EA25DA25DA24A5AA24A5AA24A5AA24A5AA24AC8FCA214
3EA25CA25CA2495AA2495AA2495AA2495AA249C9FCA2133EA25BA25BA2485AA2485AA248
5AA2485AA248CAFCA2123EA25AA25AA25A12602C5473C000>54 D<0060EE018000F0EE03
C06C1607A200781780007C160FA2003C1700003E5EA26C163EA26C163C6D157CA2000716
786D15F8A26C6C4A5AA200015E6D140390B7FC6C5EA3017CC7EA0F80A2013C92C7FC013E
5CA2011E141E011F143EA26D6C5BA2010714786E13F8A26D6C485AA201015CECF003A201
005CECF807A291387C0F80A2023C90C8FCEC3E1FA2EC1E1EEC1F3EA2EC0FFCA26E5AA36E
5AA36E5A6E5A324180BE33>56 D<1518153CA2157CA2903803FC7890380FFFF8EB3E0790
387801F0EBF0004848487ED803C07FD807807FA2390F0003EFA248ECCF80001EEB07C700
3E15C01587A2140F007E15E0007C1403A2141FA2141E00FC013E13F0A2143CA2147CA214
78A214F8A214F01301A214E0A21303A214C0A21307A21480D87C0F14E0A21400007E1407
5BA2D83E1E14C0A2133E001FEC0F80133CD80F7C1400A2495B0007141E00035C00015C49
13F83900F801E03901FE07C090B5C7FCEBE3FCD803E0C8FCA25BA26C5A244D7CC52D>59
D<17FE01FCEC0FFFD803FF147F270787C001B57E3A0E03E007F0281C01F00F807F3B3C00
F81F007F0038D9FC3C800078D97E78133F4B6D7E00706D5A4B6D7E8400784A13076F806C
011F1403003E836C82D80F806D1580D807C081D803E017C0D801F0167FF03FE0EA00F801
78EE1FF0133CF00FC0F03F0018FC011CED03F8EF0FE0013C90B6128005FCC7FC5F0020EC
E007EA7038A31378EA387001F081D81FE01403EA0780C7FCA615C0A41230007E1480003E
133F12F86C1400001C18E0001E013EECFE03000E017E0101EB07C0000F017C9138FF0F80
6C6C486DEB9E00D803C0ED7FFC2601E1F06E5A2600FFC06E5A011FC8EA07E03C437CC042
>I<0060EE018000F0EE03C0B3B3A36C1607A200781780007C160FA26CEE1F00003F5E6C
6C157E6C6C5DD807F0EC03F8D803FCEC0FF06CB4EC3FE03B007FF003FF80011FB548C7FC
010714F8010114E09026001FFEC8FC32397BB63D>91 D<EC1FFE49B512E0010714F8011F
14FE903A7FF003FF804848C7EA3FE0D803FCEC0FF0D807F0EC03F8D80FC0EC00FC484815
7E48C97E003E8248EE0F80A20078160700F817C0A2481603B3B3A30060EE018032397BB6
3D>I<153FEC03FFEC0FE0EC3F80EC7E00495A5C495AA2495AB3AA130F5C131F495A91C7
FC13FEEA03F8EA7FE048C8FCEA7FE0EA03F8EA00FE133F806D7E130F801307B3AA6D7EA2
6D7E80EB007EEC3F80EC0FE0EC03FFEC003F205B7AC32D>102 D<12FCEAFFC0EA07F0EA
01FCEA007E6D7E131F6D7EA26D7EB3AA801303806D7E1300147FEC1FC0EC07FEEC00FFEC
07FEEC1FC0EC7F0014FC1301495A5C13075CB3AA495AA2495A133F017EC7FC485AEA07F0
EAFFC000FCC8FC205B7AC32D>I<126012F0B3B3B3B3B11260045B76C319>106
D<0060131800F0133CB3B3B3B3B000601318165A75C32D>I<1A03F207801A0FA2F21F00
A21A3EA262A262A24F5AA24F5AA24F5AA24F5AA24FC7FCA2193EA261A261A24E5AA24E5A
A24E5AA24E5AA24EC8FCA2183EA260A260A24D5A131C017C5E01FE15031201D807FF4B5A
120E484C5A00787FD8E07F4BC9FC00C07FD8003F153E80011F5D80010F5D8001074A5A80
01034A5AA26E495A13016E495A7F6F48CAFC147FEDC03E143F6F5A141F6F5A140FEDF1F0
15F9913807FBE015FF6E5BA26E5BA26E90CBFCA2157EA2153C1538495B7B834C>112
D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FK cmr10 10.95 92
/FK 92 128 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
13FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
00F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<133E133F137F13FFA2EA01FEEA03FCEA07
F813F0EA0FE0EA1FC01380EA3E005A5A1270122010116EBE2D>19
D<B7FCA320037AB52D>22 D<EA03F8EA0FFEEA1C0738380380387001C038E000E0A63870
01C038380380381C0700EA0FFEEA03F8131068C044>I<EA01FCA3EBFFC038001FE0EB07
F8130314FC1301A2130314F8EB0FF0EB7FE0B51280EBF0001610757D28>I<001E130F39
7F803FC000FF137F01C013E0A201E013F0A3007F133F391E600F3000001300A401E01370
491360A3000114E04913C00003130101001380481303000EEB070048130E0018130C0038
131C003013181C1C7DBE2D>34 D<EC0F80EC7FE0ECF870903803E0380107133CECC01CEB
0F80011F131E150EA2EB3F00A55D1480A25D157815705D6D6C5A14C1ECC38002C7CAFC02
EE91387FFFFCEB0FEC14FC4A020713C06D48913801FE006E5DEF00F06D7E01074B5A496C
5D011D1503D939FF4A5A017093C7FC496D5B0001017F140E496C6C131E00036E131C2607
801F143C000F6E5B001F6D6C1370263F000714F0486E485ADA03FE5B913801FF03486D49
5A0487C8FCED7FCFED3FFE6F4814386D5C150F007F6E6C14786D6D6C1470003F4A6C14F0
6D496C6C13E0001F91393E3FC0016C6C903AFC1FF003C03D07FC07F007FC1F800001B5D8
C001B512006C6C90C7EA7FFCD90FF8EC0FF03E437CC047>38 D<121EEA7F8012FF13C0A2
13E0A3127FEA1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C
79BE19>I<1430147014E0EB01C0EB03801307EB0F00131E133E133C5B13F85B12015B12
03A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6127C12FCB2127C127EA6123E123F
A37EA27F120FA27F1207A26C7EA212017F12007F13787F133E131E7FEB07801303EB01C0
EB00E014701430145A77C323>I<12C07E12707E7E121E7E6C7E7F12036C7E7F12007F13
78137CA27FA2133F7FA21480130FA214C0A3130714E0A6130314F0B214E01307A614C013
0FA31480A2131F1400A25B133EA25BA2137813F85B12015B485A12075B48C7FC121E121C
5A5A5A5A145A7BC323>I<EB03C0A2805CA600F0140F00FC143F00FE147F00FF14FF393F
C3C3FC390FE187F03903F18FC03900FDBF00EB3FFCEB0FF0EB03C0EB0FF0EB3FFCEBFDBF
3903F18FC0390FE187F0393FC3C3FC39FF03C0FF00FE147F00FC143F00F0140F00001400
A6805CA220277AC32D>I<1506150FB3A9007FB912E0BA12F0A26C18E0C8000FC9FCB3A9
15063C3C7BB447>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312
011380120313005A120E5A1218123812300B1C798919>I<B512FEA617067F961E>I<121E
EA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>I<ED0180ED03C01507A21680150FA2
16005DA2151E153EA2153C157CA2157815F8A25D1401A25D1403A25D1407A25D140FA24A
C7FCA2141E143EA2143C147CA2147814F8A25C1301A25C1303A25C1307A25C130FA291C8
FC5BA2131E133EA25BA2137813F8A25B1201A25B1203A25B1207A25B120FA290C9FC5AA2
121E123EA2123C127CA2127812F8A25A1260225B7BC32D>I<EB01FE90380FFFC090383F
03F090387C00F849137C48487F48487F4848EB0F80A2000F15C04848EB07E0A3003F15F0
A290C712034815F8A64815FCB3A26C15F8A56C6CEB07F0A3001F15E0A36C6CEB0FC0A26C
6CEB1F80000315006C6C133E6C6C5B017C5B90383F03F090380FFFC0D901FEC7FC263F7D
BC2D>I<EB01C013031307131F137FEA07FFB5FC139FEAF81F1200B3B3ACEB7FF0B612F8
A31D3D78BC2D>I<EB07FC90383FFF8090B512E03903F01FF83907C007FC390F0001FE00
1E6D7E001C1580003CEC7FC05AED3FE01270B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0
153FA216C0157F168015FF16004A5A5D4A5A4A5A5D4A5A4A5A4AC7FC147E147C5C495A49
5A495A495A49C71270133E133C5B4914E0485A485A485A48C7120148B6FCA25A4815C0B7
FCA3243D7CBC2D>I<EB07FC90383FFF809038F80FE03901E003F839078001FCD80F007F
000E6D7E001E1580D81F80137F486C14C07FA27F5BA2121F6C5AC8138015FF1600A24A5A
A24A5A5DEC07E04A5A023FC7FCEB1FFCECFF809038000FE0EC07F86E7E6E7E6E7E1680ED
7FC0A216E0153FA216F0A2120C123F487E487EA316E0A249137F6CC713C01278EDFF807E
6C4913006C495A3907C007FC3903F80FF0C6B55A013F1380D907F8C7FC243F7CBC2D>I<
150E151E153EA2157EA215FE1401A21403EC077E1406140E141CA214381470A214E0EB01
C0A2EB0380EB0700A2130E5BA25B5BA25B5B1201485A90C7FC5A120E120C121C5AA25A5A
B8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD2D>I<00061403D80780131F01F813FE90B5
FC5D5D5D15C092C7FC14FCEB3FE090C9FCACEB01FE90380FFF8090383E03E090387001F8
496C7E49137E497F90C713800006141FC813C0A216E0150FA316F0A3120C127F7F12FFA4
16E090C7121F12FC007015C012780038EC3F80123C6CEC7F00001F14FE6C6C485A6C6C48
5A3903F80FE0C6B55A013F90C7FCEB07F8243F7CBC2D>I<EC1FE0ECFFF8903803F03E90
380FC00F90391F000780133E017EEB1FC049133F4848137F12035B12074848EB3F80ED1F
00001F91C7FC5BA2123FA3485AA214FE903887FF8039FF8F07E090389C01F09038B800FC
01B0137E13F0497F16804914C0A2ED1FE0A34914F0A5127FA6123F6D14E0A2121FED3FC0
A26C6C1480A20007EC7F006C6C137E6C6C5B6C6C485A90387E07F06DB45A010F1380D903
FCC7FC243F7CBC2D>I<1238123C123F90B612FCA316F85A16F016E00078C712010070EC
03C0ED078016005D48141E151C153C5DC8127015F04A5A5D14034A5A92C7FC5C141EA25C
A2147C147814F8A213015C1303A31307A3130F5CA2131FA6133FAA6D5A0107C8FC26407B
BD2D>I<EB03FC90381FFF8090387C07E09038F001F83901E0007C48487F48487F48C7FC
ED0F80121E16C0003E1407A4123FA26DEB0F807F6C6C131F6D140001FC133E6C6C5B9038
FF80786C6D5A6CEBF3E06CEBFF806C91C7FC133F6D13C06D7F013F13F801787F48486C7E
3903E01FFF48486C1380260F800313C048487E489038007FE0003E143F007E141F007CEC
0FF01507481403A31501A46C15E0007C1403A2007E15C06C14076CEC0F806DEB1F006C6C
133ED807F05B3901FC03F86CB512E0011F1380D903FCC7FC243F7CBC2D>I<EB03FCEB1F
FF90387E07C09038FC03F048486C7E48486C7E4848137C000F147E4848137F81003F1580
5B007F15C0A2151F12FF16E0A516F0A5127F153FA36C7EA2001F147F120F6C6C13FF6D13
DF000313013900F8039F90387E0F1FD91FFE13E0EB07F090C7FCA2ED3FC0A41680157FD8
0F801400487E486C13FEA24A5A5D49485AEB8007391E000FE0001F495A260FC07FC7FC38
03FFFE6C13F838003FC0243F7CBC2D>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FC
B3121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A2779A619>I<121EEA7F80A2EAFFC0A4EA
7F80A2EA1E00C7FCB3121E127FEAFF80A213C0A4127F121E1200A412011380A312031300
5A1206120E120C121C5A1230A20A3979A619>I<007FB912E0BA12F0A26C18E0CDFCAE00
7FB912E0BA12F0A26C18E03C167BA147>61 D<15074B7EA34B7EA34B7EA34B7EA34B7E15
E7A2913801C7FC15C3A291380381FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7E
A34A6D7EA349486D7E91B6FCA249819138800001A249C87EA24982010E157FA2011E8201
1C153FA2013C820138151FA2017882170F13FC00034C7ED80FFF4B7EB500F0010FB512F8
A33D417DC044>65 D<B712FCEEFF8017F00001903980000FF86C6CC7EA03FE707E701380
EF7FC0EF3FE0A2EF1FF0A218F8A3170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE
03FCEE0FF8EE7FE091B6C7FC17E091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF0
18F8170F18FC1707A218FEA718FC170FA2EF1FF818F0173FEF7FE0EFFFC0040313804848
6C90380FFE00B85A17E094C7FC373E7DBD40>I<DB3FF01306912603FFFE130E020F9038
FF801E913A3FF007E03E9139FF8000F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0
140749481403495A91C812014848150012034848167E5B000F173EA24848161EA2123F5B
180E127FA349160012FFAC127F7F180EA2123FA27F001F171E181C6C7EA20007173C6D16
386C6C1678000117706C6C16F06EEC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00
D903FE143E902600FF8013F891393FF007F0020FB512C0020391C7FC9138003FF037427B
BF42>I<B712FCEEFF8017E000019039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE0
84717E717E170184717EA21980187F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218
FF19004D5AA24D5A6017074D5A4D5AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FC
C8FC3C3E7DBD45>I<B912E0A300019038C000016C6C48EB001FEF0FF01703A217011700
A31870A418381638A41800A21678A216F81501150791B5FCA3EC8007150115001678A216
38A2180EA3181C93C7FCA4183C1838A21878A318F8EF01F0A21707170F173F48486CEB03
FFB912E0A3373E7DBD3E>I<B91280A300019038C000036C6C48EB007FEF1FC0170F1707
A21703A31701A4EF00E0A21638A31800A31678A216F81501150791B5FCA3EC8007150115
001678A21638A693C8FCAF3801FFE0B612F0A3333E7DBD3B>I<DB3FE0130C912603FFFE
131C021F9038FF803C913A7FF00FC07C9139FF0001F0D903FC90380078FC4948143DD91F
E0141F4948140F4948140701FF15034890C8FC491501485A000716005B000F177C5B001F
173CA2485AA2181C127FA25B95C7FC12FFAB041FB512F0127FA26D9139000FFE00EF03FC
123FA27F121FA26C7EA212077F12036C7E7F6C7F6D6C14076D7E6D6C140FD907F8141ED9
03FEEC3C7C902600FF80EBF83C913A7FF007F01C021FB5EAC00C020391C8FC9138003FF0
3C427BBF47>I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0B3A691B7FC
A30280C7120FB3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>I<B612F0A3C6EB
F000EB3FC0B3B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9000713006E5A14
01B3B3A6123FEA7F80EAFFC0A44A5A1380D87F005B007C130700385C003C495A6C495A6C
495A2603E07EC7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFFFCA3000101E0C7
000F138026007F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A4C5A4C5A4C5A4C
C8FC163E5E5E4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF8913883C7FCEC8787
91388F03FE91389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E707EA2707E707E
A2707F717E84173F717E717EA2717E848419802601FFE04A13C0B600C090B6FCA3403E7D
BD47>I<B612F8A3000101E0C9FC38007F80B3B0EF0380A517071800A45FA35FA25F5F5F
4C5A160748486C133FB8FCA3313E7DBD39>I<B500C093B512C0A300016D4BEBE000D800
7F1880D977F0ED03BFA3D973F8ED073FA3D971FC150EA2D970FE151CA3027F1538A36E6C
1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A26E6C130EA36E6C5BA303
7F5BA26F6C5AA36F6C5AA392380FE1C0A3923807F380A26FB4C7FCA36F5AA213F8486C6D
5AD807FFEFFFE0B500F80178017FEBFFC0A34A3E7CBD53>I<B56C91B512F88080D8007F
030713006EEC01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E6E7EA26E7E6E7E
A26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F1380A2EE7FC0EE
3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA2171F170FA21707
01F81503487ED807FF1501B500F81400A218703D3E7DBD44>I<ED7FE0913807FFFE9139
1FC03F8091397E0007E04948EB03F8D907F0EB00FE4948147F49486E7E49486E7E49C86C
7E01FE6F7E00018349150300038348486F7EA248486F7EA2001F188049167F003F18C0A3
007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEEFF80A36C6C4B13
00A26C6C4B5A00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A6D6C4AC7FC6D6C
14FED901FCEB03F8D9007FEB0FE091391FC03F80912607FFFEC8FC9138007FE03C427BBF
47>I<B712F8EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE707EEF7F80EF3FC0
18E0A2EF1FF0A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07FCEE3FF091B612
C04CC7FC0280C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<ED7FE0913807FFFE91391F
C03F8091397F000FE0D901FCEB03F8D907F0EB00FE4948147F49486E7E49486E7E49C86C
7E498248486F7E49150300038348486F7EA2000F834981001F1880A24848EE7FC0A3007F
18E0A249163FA200FF18F0AC007F18E0A26D167FA3003F18C0A26C6CEEFF80A3000F1800
6D5D0007DA0F805B6C6C90393FE003FCED70706C6C496C485A6C6C48486C485A017FD980
0E5BD93F819038061FC0D91FC19038073F80D90FE14AC7FCD907F1EB03FE902601FDC013
F8903A007EE007E091271FF03FC013180207B5FC9139007FE1E0DB0001143883711378A2
706C13F0EFFF0318FFA27113E0A37113C0711380711300715AEF01F83D527BBF47>I<B7
12C016FCEEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717EA284
A760177F606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F091388001FC
ED003FEE1FC0707E707E83160383160183A383A484A4F0C004190EA28218E0057F131E26
01FFE0161CB600C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD43>
I<D907FC131890391FFF8038017FEBE0783901FC03F83A03F0007CF8D807C0133F484813
0F001F140748C7FC003E1403007E1401A2007C140012FC1678A46C1538A27EA26C6C1400
7F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E0010714F0EB
007F020713F89138007FFC150FED07FE15031501ED00FFA200E0157FA3163FA27EA3163E
7E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF07F803F8090
391FFFFE00D8E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0007FE00101
8090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00E0A5C81600
B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0C700071300
26007F80EC01FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F15036E4A5A0107
93C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B51280020049C8
FCED1FF03D407DBD44>I<B691380FFFFEA3000301E0020113E06C01809138007F806CEF
3F00017F163E181C6E153C013F1638A26E1578011F1670A26D6C5DA26E140101075EA26E
140301035EA26D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F1438A26E6C5B
A26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A6E130EA2ED
7F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE017FB5D88007
B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E143F017F19
0E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F001076104037F6E02
81140101036104077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0DA7F80160E
A24CEB1FE003C0161E023F171C047814F0DBE070010F133C021F173804F014F84C1307DA
0FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA26E5FA24B15
7F020094C8FCA24B81037C153EA20378151E0338151C58407EBD5D>I<007FB5D8C003B5
12E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C141C6D6C143C5F
6D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F5BEDF81E913807
FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED3BFEED71FF15F1
03E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E02386D7E14784A
6D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A7E00076DEC7FFF
B500FC0103B512FEA33F3E7EBD44>I<B66C0103B51280A3000101F0C8EBF8006C6C48ED
3FC0725A013F041EC7FC6D7E606D6C15386D6C1578606D6C5D6E14016D5E6D6D1303606E
6C49C8FC6E6C5B170E6E6C131E171C6E6C5B6E6C137817706E6C13F06F5B6E13016EEB83
C05FED7FC7DB3FE7C9FC16EFED1FFE5E150F6F5AB3A4ED1FFC020FB512FCA3413E7FBD44
>I<003FB712F8A391C7EA1FF013F801E0EC3FE00180EC7FC090C8FC003EEDFF80A2003C
4A1300007C4A5A12784B5A4B5AA200704A5AA24B5A4B5AA2C8485A4A90C7FCA24A5A4A5A
A24A5AA24A5A4A5AA24A5A4A5AA24990C8FCA2495A4948141CA2495A495AA2495A495A17
3C495AA24890C8FC485A1778485A484815F8A24848140116034848140F4848143FED01FF
B8FCA32E3E7BBD38>I<EAFFFCA4EAF000B3B3B3B3ABEAFFFCA40E5B77C319>I<486C13C0
0003130101001380481303000EEB070048130E0018130C0038131C003013180070133800
601330A300E01370481360A400CFEB678039FFC07FE001E013F0A3007F133FA2003F131F
01C013E0390F0007801C1C73BE2D>I<EAFFFCA4EA003CB3B3B3B3ABEAFFFCA40E5B7FC3
19>I<1318133C137E13FF3801E7803803C3C0380781E0380F00F0001E137848133C4813
1E48130F00601306180D76BD2D>I<EA0180120313005A120E5A12181238123012701260
A312E05AA412CFEAFFC013E0A3127FA2123F13C0EA0F000B1C7ABE19>96
D<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8D81FF07F6E7EA3157F6C
5AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0FE0485A485A
A248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700261FC00E13CF3A07F03C
0FFE3A01FFF807FC3A003FC001F0292A7DA82D>I<EA01FC12FFA3120712031201B1EC03
FC91381FFF8091387C07E09039FDE001F09039FFC000FC4A137E91C77E49158049141F17
C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F006D5C6E13FE
9039F3C001F89039F1E003F09039E0780FC09026C03FFFC7FCC7EA07F82D407EBE33>I<
49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A5B121FA248
48EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C1307
6C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC222A7DA828
>I<ED01FC15FFA3150715031501B114FF010713E190381F80F990387E003D49131FD803
F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123FA26C7E000F
14037F000714076C6C497E6C6C497ED8007C017913F890383F01F190380FFFC1903A01FE
01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C7E4848137E
48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6FCA290C9FC
A67EA27F123F16E06C7E1501000F15C06C6C13036DEB07806C6C1400C66C131E017E5B90
381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801F83C903807E0
7E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C648C7FCB3AE48
7E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F8090397E0FDE1F9038
F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F147E6D13FE00
075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC120EA3120FA2
7F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE003E14004815
7E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE017F
C7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA3120712031201B1EC01FE9138
07FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91C7FCA25BA25BB3
A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8
FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<1478EB01FEA2EB
03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F38FF807E14
FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C>I<EA01FC
12FFA3120712031201B292B51280A392383FFC0016E0168093C7FC153C5D5D4A5AEC07C0
4A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F496C7E1401816E
7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B3F7EBE30>I<EA01FC12FFA3
120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F801FE14FF00FF902707FFC0
0313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603F9C06D487F
000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8F8
7FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E091387803F0
00079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5D8
F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F8131F4848EB0F
804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA44815FFA96C
15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D800
7EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC00FF90381F
FF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F805BEE1FC0
17E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C001
F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA733
>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E4848EB0FFC
150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E15076C6C13
0F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD4B7E92B512
F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C100031381EA01FB
1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<90383FC0603901
FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E7E7E6D1300
EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB001FEC0FF8
00E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3E01F0038E0
FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207001FB512C0
B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F8700EB07FE
EB01F81B397EB723>I<D801FC14FE00FF147FA3000714030003140100011400B3A51501
A31503120015076DEB06FF017E010E13806D4913FC90381FC078903807FFE00100903880
FE002E297DA733>I<B539E00FFFE0A32707FE000313006C48EB00FC5E00015D7F00005D
A26D13016D5CA26D6C485AA2ECC007011F91C7FCA290380FE00EA2ECF01E0107131CA26D
6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA630
>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C486D48EB3F806C4817006D010F141E
00016F131C15076D163C00004A6C1338A2017F5E4B7E151DD93F805DED3DFC1538D91FC0
4A5AED78FE9238707E03D90FE0017F5BEDE03F02F0140701070387C7FC9138F1C01F02F9
148F010315CE9138FB800F02FF14DE6D15FCED00076D5DA24A1303027E5CA2027C130102
3C5C023813003D287EA642>I<B539F01FFFE0A30003D9C00F1300C690388007F8D97F00
13E002805BD93FC05B011F49C7FC90380FE00EECF01E6D6C5A01035B6D6C5A6E5AEB00FF
6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF01037F49486C7ED90F007F01
1E6D7E013E130F496D7E01FC80486C80000F4A7EB539803FFFF8A32D277FA630>I<B539
E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495AA2EC800301
3F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFEF001
005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A2147800181370127EB45B
A2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB61280
A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A147F5D4AC7FC
C6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B4848130712074914
00485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>I<B812F0A22C0280
982D>I<BE12C0A25A0280985B>I<001C130E007FEB3F8039FF807FC0A5397F003F80001C
EB0E001A0977BD2D>127 D E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FL cmr12 12 28
/FL 28 118 df<140C141C1438147014E0EB01C01303EB0780EB0F00A2131E5BA25B13F8
5B12015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA4127CA312FCB3A2127CA312
7EA4123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13787FA27F7FA2EB0780EB
03C01301EB00E014701438141C140C166476CA26>40 D<12C07E12707E7E7E120F6C7E6C
7EA26C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0A3EB03E0A314F0A213
01A214F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3EB07C0A3EB0F80A3EB
1F00A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E5A5A5A5A5A16647BCA
26>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313
005A1206120E5A5A5A12600B1D78891B>44 D<14FF010713E090381F81F890383E007C01
FC133F4848EB1F8049130F4848EB07C04848EB03E0A2000F15F0491301001F15F8A2003F
15FCA390C8FC4815FEA54815FFB3A46C15FEA56D1301003F15FCA3001F15F8A26C6CEB03
F0A36C6CEB07E0000315C06D130F6C6CEB1F806C6CEB3F00013E137C90381F81F8903807
FFE0010090C7FC28447CC131>48 D<143014F013011303131F13FFB5FC13E713071200B3
B3B0497E497E007FB6FCA3204278C131>I<EB03FE90381FFFC0017F13F03901F80FFC39
03C001FE48486C7E000EC7EA7F8048EC3FC0ED1FE04815F00030140F007015F800601407
126CB415FC7F7F1503A46C4813076CC7FCC8FC16F8A2150F16F0151F16E0A2ED3FC0ED7F
8016005D5D4A5A4A5A4A5A5D4A5A4A5A4AC7FC147C5C5C495A495A495A49C7120C131E5B
013814185B5B485A4848143848C81230000E1570001FB612F0A25A5AB712E0A326427BC1
31>I<16C04B7EA34B7EA34B7EA34B7EA3ED19FEA3ED30FFA203707FED607FA203E07FED
C03FA2020180ED801FA2DA03007F160FA20206801607A24A6D7EA34A6D7EA34A6D7EA202
70810260147FA202E08191B7FCA249820280C7121FA249C87F170FA20106821707A2496F
7EA3496F7EA3496F7EA201788313F8486C83D80FFF03037FB500E0027FEBFFC0A342477D
C649>65 D<B8FC17E017FC00019039C00003FF6C6C4801007FEF3FC0717E717E717E8417
0384170184A760A21703601707604D5A4D5AEF7FC04DC7FCEE03FEEE3FF091B65A17FC02
80C7B47EEF1FC0EF0FF0717E717E717E717E1980187F19C0A2183F19E0A8F07FC0A21980
18FF4D1300A24D5AEF0FFC4D5AEF7FE048486C903803FFC0B9C7FC17FC17C03B447CC345
>I<B912F0A3000101C0C7127F6C6C48EC0FF817031701170018781838A2181CA3180CA4
180E1806160CA21800A5161CA2163C167CED01FC91B5FCA3EC8001ED007C163C161CA216
0CA793C8FCB08048487EB612F8A337447CC340>70 D<B612F8A3000101E0C9FC6C6C5A5C
B3B31830A418701860A518E0A3EF01C0A217031707A2170F173F177FEE01FF48486C011F
1380B9FCA334447CC33D>76 D<49B41303010FEBE007013F13F89039FE00FE0FD801F813
1FD807E0EB079F49EB03DF48486DB4FC48C8FC4881003E81127E82127C00FC81A282A37E
82A27EA26C6C91C7FC7F7FEA3FF813FE381FFFE06C13FE6CEBFFE06C14FC6C14FF6C15C0
013F14F0010F80010180D9001F7F14019138001FFF03031380816F13C0167F163F161F17
E000C0150FA31607A37EA36C16C0160F7E17806C151F6C16006C5D6D147ED8FBC05CD8F9
F0495AD8F07C495A90393FC00FE0D8E00FB51280010149C7FC39C0003FF02B487BC536>
83 D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C0078183CA2
0070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346>I<
EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7ED80FC0137E486C137F6D
6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03FC485A
485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D9038C7E0C0003F13013A
1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B2E7CAC31>97
D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E091387001F89039FDE0
007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FCA2160117FEAB
17FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB7E00D9E1C05B
9039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>I<EC7F809038
03FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB1FE049133F12
0F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F16307F001F15706C
6C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381FC078903807FF
F001001380242E7DAC2B>I<EB01FE903807FFC090381F03F090387E00FC49137E48487F
485A4848EB1F80000F15C049130F121F484814E01507A2007F15F090C7FCA25AA390B6FC
A290C9FCA67EA27FA2123F16306C7E1670000F15606D14E06C6C14C0000314016C6CEB03
806C6CEB0700013E131E90381F80F8903803FFE0010090C7FC242E7DAC2B>101
D<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC01FF033A01F800FE0148
48017E13E00007027FC7FC497F000F8149131F001F81A9000F5D6D133F000792C7FC6D5B
0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC90CAFCA25AA37F6C7E7F
90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF48481300003FC8EA3F80003E
151F48ED0FC0A2481507A56C150F007C1680007E151F003E16006C153E6C6C5CD807E049
5AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C427DAC31>103
D<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F091383801F802707FEC
E000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F457DC4
36>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA3120712031201B3B0
487EB512F8A315437DC21C>I<EA01FC12FFA3120712031201B3B3B3A5487EB512F8A315
457DC41C>108 D<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F801E07F913C3C
01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0D97F38804A1430
01FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB50003B512E0A34B
2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F8000701707F0003EB
E0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13FEA32F2C7D
AB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E48486D7E48486D7E
48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C1680A26D147F00
3F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C495A013E49C7
FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3901FC03FC00FF90380FFF8091
383C07E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA1FC04915E049
140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D15E0EE1FC06D
143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03FCC7FC91C9FC
AE487EB512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F0007EBE0FF38
03F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA3202C7DAB26>
114 D<90383FE0183901FFFC383907E01F78390F0003F8001E1301481300007C14781278
00F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14C06C14E0C6
14F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C6C147C1578
6C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26>I<1306A5
130EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4150CAA017E
131C017F1318A26D133890381F8030ECC070903807E0E0903801FFC09038007F001E3E7E
BC26>I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA212006D5B01
7E9038077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F8013002F2D
7DAB36>I E
%EndDVIPSBitmapFont
%DVIPSBitmapFont: FM cmr17 17.28 25
/FM 25 118 df<150E151E153C157815F0EC01E0EC03C01407EC0F80EC1F00143EA25C5C
13015C495A13075C130F5C131F91C7FC5B133E137E137C13FCA2485AA3485AA3485AA312
0F5BA3121F5BA3123FA390C8FCA25AA5127EA312FEB3A7127EA3127FA57EA27FA3121FA3
7F120FA37F1207A36C7EA36C7EA36C7EA2137C137E133E133F7F80130F8013078013036D
7E801300147C80A280EC0F80EC07C01403EC01E0EC00F01578153C151E150E1F8F73EA33
>40 D<12E07E12787E7E7E6C7E7F6C7E6C7E6C7EA2137C7F133F7F6D7E80130780130380
130180130080147C147EA280A3EC1F80A3EC0FC0A315E01407A315F01403A315F8A31401
A215FCA51400A315FEB3A715FCA31401A515F8A21403A315F0A3140715E0A3140F15C0A3
EC1F80A3EC3F00A3147EA2147C14FC5C13015C13035C13075C130F5C49C7FC5B133E5B5B
A2485A485A485A5B48C8FC121E5A5A5A5A1F8F7AEA33>I<170FA34D7EA24D7EA34D7EA3
4D7EA34C7F17DFA29338039FFC178FA29338070FFE1707040F7FEE0E03A2041E80EE1C01
A2043C80EE3800A24C80187FA24C80183FA24B4880181F0303814C130FA203078193C712
07A24B81030E80A24B8284A24B8284A24B82197F03F0824B153FA20201834B151FA20203
8392B8FCA24A83A292C91207020E8385A24A8485023C84023882A20278840270177FA202
F0844A173FA24948841A1FA24948841A0FA249CB7F1A074985865B496C85497E48486C4D
7F000F01F8051F13F0B60407B612F0A45C657DE463>65 D<B912F018FF19E019FCC601FC
C8EA3FFED93FF8923807FF80011F04017F9538007FF0737E737E737E1907737E1B808573
13C0A21BE01A7FA21BF0A91BE01AFFA21BC0611B804F1300614F5A62F13FF84F5AF1FFC0
06035BDE0FFEC7FCF07FF894380FFFE091B8C8FC19E019FC02F8C83803FF8006007FF13F
F0F10FFC737E737E7313807313C0F27FE01BF01A3FF21FF8A21BFC1A0F1BFEA21A071BFF
A91BFE1A0FA3F21FFCA2F23FF8A2F27FF0F2FFE0614F13C04F13804F1300F13FFE4F5A01
3F933803FFF0D9FFFC031F5BBB12804FC7FC19F096C8FC506279E15E>I<BB12FCA4C601
FCC8120FD93FF89238007FFE011F171F190719031900A21A7E1A3EA21A1EA21A1F86A486
A6F20380A318E0A297C7FCA61701A417031707170F171F17FF91B7FCA402F8C7FC171F17
0F170717031701A41700A895C9FCB3A580133F90B57EB712E0A4496279E156>70
D<B712E0A4C60280CAFCD93FFCCBFC131F5CB3B3B21A1CA61A3C1A38A61A78A41AF8A21A
F01901A219031907A2190F191F193F197FF001FF1807013F043F13E0D9FFFC0203B5FCBB
FCA4466279E153>76 D<DA07FF1403023F01F05B49B512FC010702FF5B90260FFC0013C0
D93FE090380FF01FD97F80EB03F801FEC86C5A4848157E4848ED1F7F48486F5A4848815B
001F824981003F8290CAFC4883A2007E83A212FE84A384A27EA36D82A26C7EA26D93C7FC
6C7E7F7F6C7E6D7E6C13E06C13FCECFFC06C14F86CECFF806C15F86DECFF80011F15E06D
15F8010315FE01006F7E021F81020181DA003F80030380DB003F7F04037FEE007FEF1FFF
71138017037113C083A2F07FE0183FA2181F00E018F0180FA41807A27EA47E19E0180F7E
19C07E6C171F19806D163F6D17006D5E6D16FE486C5E6D4B5AD8FC7F1503D91F80EC0FF0
26F80FE04A5AD907FCEC7F8029F001FFE003FFC7FC6D6CB512FC48011F14F0020314C048
9026001FFEC8FC3C667AE349>83 D<003FBC12F8A49126C000039038C0000301FCC76C49
EB007F01F0190F01C019074848F103FC90C81701007E1A00007C1B7CA300781B3CA40070
1B1CA600F01B1E481B0EA7C91800B3B3B3A54C7FA2041F13F84AB87EA457627CE160>I<
EC3FF0903803FFFE010F6D7E90393FC03FE090397E0007F801F86D7ED801E06D7E48486D
7E48486E7E48C86C7E7F01F06E7E487E6D6E7EA3707EA36C5AEA03E0C9FCA6167FED7FFF
020FB5FC91387FF807903801FF80903807FC00EB1FF0EB7FC0495AD803FEC7FC485A120F
5B485A485AA2484817E0A312FF5BA2160FA3161F6D141B007F153B16736D913971FC01C0
6C6C14E1001FEC01C1D80FFC903A0780FE03806C6C903A0F00FF07002701FF807E6DB4FC
27007FFFF86D5A011F01E0EB1FF8010190C7EA07E03B417ABF42>97
D<EB03C0EA07FFB5FCA41201EA007FA2133FB3AAEE7FC0923807FFFC031F13FF92397F00
7FC003F8EB0FF0DAC3E06D7EDAC780EB01FC02CFC87E02DE157F02FC6F7E4A824A6F7E18
0F4A82727E5C727EA2851801A285A3841A80AD1A0060A461180361A21807616E5E180F6E
4B5A6E5E02B8153F023C4B5A6E4BC7FC6E4A5A90263E0780495A6E6CEB0FF090263C01F0
495ADA007EEBFF806FB448C8FC0138010F13F890C8138041657DE349>I<4AB47E020F13
F8023F13FE9139FF007F80D903FCEB07E0D907F0EB01F0D91FE0EB007849488049488049
C87E48485D4915FF00034B138048485CA2485AA2485AA2003F6F130049EC007C94C7FC12
7FA35B12FFAD127F7FA4123F7FA2001FEE01C07F000F16036D168012076C6C15076D1600
00015E6C6C151E6D6C5C6D6C5C6D6C5CD90FF8495AD903FCEB07C0903A00FF803F809126
3FFFFEC7FC020F13F80201138032417CBF3A>I<181EEF3FFEEE07FFA4EE000F1703A217
01B3AAEDFF80020F13F8023F13FE9139FF803F81903A03FC0007C14948EB01E1D91FE0EB
00F94948147D4948143D49C8121F4848150F491507120348481503491501120F121F5BA2
123F5B127FA45B12FFAD127F7FA3123FA27F121FA26C6C1503A26C6C150712036D150F6C
6C151F0000163D137F6D6CECF9FF6D6CEB01F1D90FF0D903C113C06D6CD90F81EBFF80D9
01FFEB7F019039007FFFFC021F13E00201010091C7FC41657CE349>I<EC03FE91381FFF
E091B512F8903901FE03FE903A07F0007F8049486D7ED93FC06D7E49C76C7E496E7E4914
0348488148481401000782491400000F8283485A1880123F49153FA2007F17C0A35BA212
FF90B8FCA30180CAFCA9127F7FA3123FA27F121FEF01C06C7E17036C6C1680A26C6C1507
0001EE0F006D150E6C6C151E6D6C5C6D6C5C6D6C5CD907F0EB03E0D903FC495A902700FF
803FC7FC91383FFFFC020F13F00201138032417CBF3A>I<F03F80DA03FC903801FFE091
273FFFC00713F091B539F01FC1F8903B03FC03FC3E03903A07F000FE784948EB7FE04948
EB3FC04948011FEB01F049C76C6CC7FC01FE6E7EA248486E7EA2000382A2491401000782
AA00035E6D1403A200015EA26C6C4A5AA2017F4A5A6D6C495A6D6C495A496C49C8FCD937
F013FE903973FC03FC0160B512F0D9E03F13C0DA03FCC9FC4848CBFCA57FA27FA27F6C7E
13FF91B512FE6DECFFF06D15FE6D6F7E6D16E084013F16FC01FEC700017FD803F8EC001F
D807E0ED03FF4848030013804848167F003FEF3FC090CA121F127EF00FE012FE481707A6
6C170F007E18C0A2007F171F6C6CEE3F806C6CEE7F00000F177ED807F04B5A6C6C4B5A6C
6C4B5AD8007FED1FC0D93FE0ECFF80D90FFED90FFEC7FC0101B612F0D9003F1480020101
F0C8FC3D5E7DBF42>103 D<EB03C0EA07FFB5FCA41201EA007FA2133FB3AAEE7FE09238
03FFFC030F13FFDB3F0013C00378EB1FE04B6D7EDAC1C06D7EDAC3808002C7C7120302CE
81170114DC14D802F86E7E5CA35CA35CB3B3496C4A7F496C4A7FB6D8F003B612C0A44264
7DE349>I<133C13FF487F487FA66C5B6C90C7FC133C90C8FCB3A2EB03C0EA07FF127FA4
1201EA007FA2133FB3B3AC497E497EB612E0A41B5F7DDE23>I<EB03C0EA07FFB5FCA412
01EA007FA2133FB3B3B3B3AD497E497EB612F0A41C647DE323>108
D<D903C0D9FFC0EC07FED807FF010301F891381FFFC0B5010F01FE027F13F0923D3F00FF
8001F807FC0378903B3FC003C001FEDAC1E090261FE00FC77E0001D9C3C090260FF01E6E
7ED8007F49902607F81C6E7E02C7C75CD93FCE6E6C486E7E02CC166002DC16E002D85E02
F8DA01FF6F7E4A5EA24A93C8FCA44A5DB3B3496C4A6C4B7E496C4A6D4A7EB6D8F007B6D8
803FB512FCA4663F7CBE6F>I<D903C0EB7FE0D807FF903803FFFCB5010F13FFDB3F0013
C00378EB1FE04B6D7E0001D9C1C06D7E27007FC3808002C7C71203D93FCE81170114DC14
D802F86E7E5CA35CA35CB3B3496C4A7F496C4A7FB6D8F003B612C0A4423F7DBE49>I<ED
FF80020F13F8023F13FE9139FF007F80D903FCEB1FE0D907F0EB07F0D90FC0EB01F8D93F
80EB00FE49C8127F017E81496F7E48486F7E00038349150700078348486F7EA2001F8349
1501A2003F83A348486F7EA400FF1880AC007F1800A26D5DA2003F5FA36C6C4B5AA36C6C
4B5A00075FA26C6C4B5A6C6C4B5AA26C6C4B5A017F4BC7FC6D6C14FE6D6C495AD90FF0EB
07F8D903FCEB1FE0D900FFEB7F806EB5C8FC020F13F8020113C039417CBF42>I<D903C0
EB7FC0D807FF903807FFFCB5011F13FFDB7F0013C003F8EB1FF0DAC3E0EB07F80001D9C7
806D7E26007FCFC76C7E02DE6E7ED93FFC6F7E4A6F7E4A82181F4A82727E5C727EA2727E
A3727EA41A8084AC4E1300A54E5AA2611807A24E5A6E5E181F6E4B5A6E5E187F6E4B5A02
DE4A90C7FC02CF4A5ADAC780495ADAC3C0EB0FF0DAC1F0EB3FE0913AC07E01FF806FB448
C8FC030F13F80300138093CAFCB3A3497E497EB612F0A4415B7DBE49>I<9039078003F8
D807FFEB0FFFB5013F13C092387C0FE0913881F01F9238E03FF00001EB838039007F8700
148FEB3F8E029CEB1FE0EE0FC00298EB030002B890C7FCA214B014F0A25CA55CB3B0497E
EBFFF8B612FCA42C3F7CBE33>114 D<9139FFE00180010FEBFC03017FEBFF073A01FF00
1FCFD803F8EB03EFD807E0EB01FF48487F4848147F48C8123F003E151F007E150F127CA2
00FC1507A316037EA27E7F6C7E6D91C7FC13F8EA3FFE381FFFF06CEBFF806C14F86C14FF
6C15C06C6C14F0011F80010714FED9007F7F02031480DA003F13C01503030013E0167F00
E0ED1FF0160F17F86C15071603A36C1501A37EA26C16F016037E17E06D14076DEC0FC06D
1580D8FDF0141FD8F8F8EC7F00013E14FC3AF01FC00FF80107B512E0D8E001148027C000
3FF8C7FC2D417DBF34>I<1438A71478A414F8A31301A31303A21307130F131FA2137F13
FF1203000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D6C14801607
6D6C14006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F802B597FD733>I<
D903C0150FD807FFED1FFFB50203B5FCA40001ED0007D8007F1501A2013F81B3B25FA35F
A35F011F15066E140E5F130F6E4A7F01075D6D6C494813E0D901FE4948EBFFC0903A00FF
C01F8091393FFFFE00020F13F8020001C0EC800042407DBE49>I
E
%EndDVIPSBitmapFont
end
%%EndProlog
%%BeginSetup
%%Feature: *Resolution 600dpi
TeXDict begin
%%EndSetup
%%Page: 1 1
1 0 bop 151 1969 a FM(Basic)44 b(Linear)g(Algebra)g(Subprograms)f(T)-11
b(ec)l(hnical)46 b(\(BLAST\))d(F)-11 b(orum)1687 2152
y(Standard)616 2541 y FL(Basic)32 b(Linear)g(Algebra)g(Subprograms)g(T)
-8 b(ec)m(hnical)32 b(\(BLAST\))i(F)-8 b(orum)1604 2793
y(August)33 b(21,)g(2001)p eop
%%Page: 2 2
2 1 bop 166 2601 a FK(c)141 2604 y FJ(\015)p FK(1996-2000)35
b(Univ)m(ersit)m(y)30 b(of)h(T)-8 b(ennessee,)32 b(Kno)m(xville,)e(T)-8
b(ennessee.)43 b(P)m(ermission)29 b(to)j(cop)m(y)f(without)g(fee)g(all)
0 2717 y(or)i(part)f(of)h(this)f(material)g(is)g(gran)m(ted,)j(pro)m
(vided)c(the)i(Univ)m(ersit)m(y)f(of)h(T)-8 b(ennessee)33
b(cop)m(yrigh)m(t)g(notice)h(and)e(the)0 2830 y(title)g(of)h(this)f(do)
s(cumen)m(t)h(app)s(ear,)g(and)f(notice)h(is)f(giv)m(en)h(that)g(cop)m
(ying)g(is)f(b)m(y)h(p)s(ermission)d(of)j(the)g(Univ)m(ersit)m(y)0
2943 y(of)e(T)-8 b(ennessee.)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 3 3
3 2 bop 0 756 a FH(Con)-6 b(ten)g(ts)0 1291 y FG(Ac)m(kno)m(wledgmen)m
(ts)2938 b(viii)0 1495 y(Suggestions)36 b(for)f(Reading)2743
b(x)0 1699 y(1)84 b(In)m(tro)s(duction)3136 b(1)136 1812
y FK(1.1)94 b(In)m(tro)s(duction)27 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(1)136 1925 y(1.2)94 b(Motiv)-5 b(ation)92 b(.)46 b(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
131 b(3)136 2038 y(1.3)94 b(Organization)30 b(of)h(the)f(Do)s(cumen)m
(t)91 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(3)136 2151 y(1.4)94 b(Nomenclature)31 b(and)f(Con)m(v)m(en)m(tions)58
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(4)345 2264 y(1.4.1)106 b(Notation)27 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(4)345 2377 y(1.4.2)106 b(Op)s(erator)30 b(Argumen)m(ts)45
b(.)g(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(5)345 2489 y(1.4.3)106 b(Scalar)30 b(Argumen)m(ts)93
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(6)345 2602 y(1.4.4)106 b(V)-8 b(ector)32 b(Op)s(erands)58
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(6)345 2715 y(1.4.5)106 b(Matrix)31 b(Op)s(erands)42
b(.)k(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(7)345 2828 y(1.4.6)106 b(Naming)30 b(Con)m(v)m(en)m(tions)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(7)136 2941 y(1.5)94 b(Ov)m(erall)30 b(F)-8 b(unctionalit)m(y)34
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)131 b(8)345 3054 y(1.5.1)106 b(Scalar)30 b(and)g(V)-8
b(ector)32 b(Op)s(erations)48 b(.)e(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)131
b(8)345 3167 y(1.5.2)106 b(Matrix-V)-8 b(ector)33 b(Op)s(erations)53
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(10)345
3280 y(1.5.3)106 b(Matrix)31 b(Op)s(erations)58 b(.)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(10)136 3393 y(1.6)94 b(Numerical)30 b(Accuracy)h(and)f(En)m(vironmen)
m(tal)f(Enquiry)60 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(12)136 3506 y(1.7)94
b(Language)32 b(Bindings)48 b(.)e(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(13)136 3619
y(1.8)94 b(Error)30 b(Handling)60 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(14)345 3731 y(1.8.1)106 b(Return)30 b(Co)s(des)38 b(.)45
b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
85 b(14)345 3844 y(1.8.2)106 b(Error)30 b(Handlers)61
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)85 b(14)0 4048 y FG(2)f(Dense)36 b(and)e(Banded)i(BLAS)2490
b(18)136 4161 y FK(2.1)94 b(Ov)m(erview)30 b(and)g(F)-8
b(unctionalit)m(y)57 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)85 b(18)345 4274 y(2.1.1)106 b(Scalar)30
b(and)g(V)-8 b(ector)32 b(Op)s(erations)48 b(.)e(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)f(.)85 b(18)345 4387 y(2.1.2)106 b(Matrix-V)-8
b(ector)33 b(Op)s(erations)53 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)f(.)85 b(18)345 4500 y(2.1.3)106 b(Matrix)31 b(Op)s(erations)58
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(19)136 4613 y(2.2)94 b(Matrix)31 b(Storage)g(Sc)m(hemes)58
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(22)345 4726 y(2.2.1)106 b(Con)m(v)m(en)m(tional)31
b(Storage)94 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
85 b(22)345 4839 y(2.2.2)106 b(P)m(ac)m(k)m(ed)33 b(Storage)52
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)85 b(23)345 4951 y(2.2.3)106 b(Band)31 b(Storage)50
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)85 b(24)345 5064 y(2.2.4)106 b(Unit)30 b(T)-8
b(riangular)28 b(Matrices)86 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)f(.)85 b(25)345 5177 y(2.2.5)106 b(Represen)m(tation)31
b(of)g(a)f(Householder)g(Matrix)52 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(25)345 5290 y(2.2.6)106 b(Represen)m(tation)31 b(of)g(a)f(P)m(erm)m
(utation)h(Matrix)44 b(.)i(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(26)-214 64 y
FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 4 4
4 3 bop 136 91 a FK(2.3)94 b(In)m(terface)32 b(Issues)59
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)f(.)85 b(26)345 204 y(2.3.1)106 b(Naming)30
b(Con)m(v)m(en)m(tions)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)85 b(26)345 317 y(2.3.2)106 b(Argumen)m(t)31
b(Aliasing)48 b(.)e(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
f(.)85 b(26)136 430 y(2.4)94 b(In)m(terface)32 b(Issues)e(for)g(F)-8
b(ortran)31 b(95)k(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
f(.)85 b(26)345 543 y(2.4.1)106 b(F)-8 b(ortran)31 b(95)h(Mo)s(dules)85
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(26)345 656 y(2.4.2)106 b(Indexing)32 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(26)345 769 y(2.4.3)106 b(Design)31 b(of)f(the)h(F)-8
b(ortran)31 b(95)g(In)m(terfaces)47 b(.)f(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(27)345 882 y(2.4.4)106 b(Matrix)31 b(Storage)g(Sc)m(hemes)50
b(.)c(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(28)345 995 y(2.4.5)106 b(F)-8 b(ormat)32 b(of)f(the)f(F)-8
b(ortran)31 b(95)g(bindings)69 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(28)345 1108 y(2.4.6)106 b(Error)30 b(Handling)51 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(29)136 1220 y(2.5)94 b(In)m(terface)32 b(Issues)e(for)g(F)-8
b(ortran)31 b(77)k(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
f(.)85 b(30)345 1333 y(2.5.1)106 b(F)-8 b(ortran)31 b(77)h(Include)c
(File)90 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(30)345 1446 y(2.5.2)106 b(Indexing)32 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(30)345 1559 y(2.5.3)106 b(Arra)m(y)31 b(Argumen)m(ts)j(.)46
b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(30)345 1672 y(2.5.4)106 b(Matrix)31 b(Storage)g(Sc)m(hemes)50
b(.)c(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(31)345 1785 y(2.5.5)106 b(F)-8 b(ormat)32 b(of)f(the)f(F)-8
b(ortran)31 b(77)g(bindings)69 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(31)345 1898 y(2.5.6)106 b(Error)30 b(Handling)51 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(31)136 2011 y(2.6)94 b(In)m(terface)32 b(Issues)e(for)g(C)36
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)85 b(32)345 2124 y(2.6.1)106 b(C)30 b(Include)f(File)91
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)85 b(32)345 2237 y(2.6.2)106 b(Indexing)32 b(.)45
b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)85 b(32)345 2350 y(2.6.3)106 b(Handling)29
b(of)h(complex)g(data)h(t)m(yp)s(es)d(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)85 b(32)345 2462 y(2.6.4)106 b(Return)30 b(v)-5 b(alues)30
b(of)g(complex)g(functions)k(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(32)345 2575 y(2.6.5)106 b(Aliasing)29 b(of)h(argumen)m(ts)75
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(33)345 2688 y(2.6.6)106 b(Arra)m(y)31 b(argumen)m(ts)57
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(33)345 2801 y(2.6.7)106 b(Matrix)31 b(Storage)g(Sc)m(hemes)50
b(.)c(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(33)345 2914 y(2.6.8)106 b(F)-8 b(ormat)32 b(of)f(the)f(C)g(bindings)
71 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(33)345 3027 y(2.6.9)106 b(Error)30 b(Handling)51 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(33)136 3140 y(2.7)94 b(Numerical)30 b(Accuracy)h(and)f(En)m(vironmen)
m(tal)f(Enquiry)60 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(34)136 3253 y(2.8)94
b(Language)32 b(Bindings)48 b(.)e(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(35)345 3366
y(2.8.1)106 b(Ov)m(erview)75 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(36)345
3479 y(2.8.2)106 b(Reduction)30 b(Op)s(erations)67 b(.)46
b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(38)345 3592 y(2.8.3)106 b(Generate)32 b(T)-8 b(ransformations)45
b(.)g(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(43)345
3704 y(2.8.4)106 b(V)-8 b(ector)32 b(Op)s(erations)74
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(47)345 3817 y(2.8.5)106 b(Data)32 b(Mo)m(v)m(emen)m(t)h(with)c(V)-8
b(ectors)58 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(50)345 3930 y(2.8.6)106 b(Matrix-V)-8 b(ector)33 b(Op)s(erations)53
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(53)345
4043 y(2.8.7)106 b(Matrix)31 b(Op)s(erations)58 b(.)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85
b(69)345 4156 y(2.8.8)106 b(Matrix-Matrix)31 b(Op)s(erations)38
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(83)345
4269 y(2.8.9)106 b(Data)32 b(Mo)m(v)m(emen)m(t)h(with)c(Matrices)80
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)85 b(98)345 4382
y(2.8.10)61 b(En)m(vironmen)m(tal)30 b(Enquiry)75 b(.)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(103)0
4586 y FG(3)84 b(Sparse)35 b(BLAS)2999 b(104)136 4699
y FK(3.1)94 b(Ov)m(erview)83 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(104)136 4812 y(3.2)94 b(Naming)30 b(Con)m(v)m(en)m(tions)54
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)40 b(105)136 4924 y(3.3)94 b(F)-8 b(unctionalit)m(y)70
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)f(.)40 b(105)345 5037 y(3.3.1)106
b(Scalar)30 b(and)g(V)-8 b(ector)32 b(Op)s(erations)48
b(.)e(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(106)345 5150
y(3.3.2)106 b(Matrix-V)-8 b(ector)33 b(Op)s(erations)53
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(106)345
5263 y(3.3.3)106 b(Matrix-Matrix)31 b(Op)s(erations)38
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(106)136
5376 y(3.4)94 b(Describing)29 b(sparsit)m(y)50 b(.)c(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(107)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 5 5
5 4 bop 345 91 a FK(3.4.1)106 b(Sparse)30 b(V)-8 b(ectors)78
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)40 b(107)345 204 y(3.4.2)106 b(Index)30 b(bases)57
b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)f(.)40 b(107)345 317 y(3.4.3)106 b(Rep)s(eated)31
b(Indices)50 b(.)c(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)f(.)40 b(108)136 430 y(3.5)94 b(Sparse)30 b(BLAS)g(Matrices)50
b(.)c(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
40 b(108)345 543 y(3.5.1)106 b(Creation)30 b(Routines)76
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(108)345 656 y(3.5.2)106 b(Sp)s(ecifying)28 b(matrix)i(prop)s(erties)
22 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(109)345
769 y(3.5.3)106 b(Sparse)30 b(Matrices:)41 b(Inserting)29
b(a)i(Single)e(En)m(try)69 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(109)345 882
y(3.5.4)106 b(Sparse)30 b(Matrices:)41 b(Inserting)29
b(List)h(of)h(En)m(tries)71 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(110)345
995 y(3.5.5)106 b(Sparse)30 b(Matrices:)41 b(Inserting)29
b(Ro)m(w)i(and)f(Column)e(V)-8 b(ectors)48 b(.)e(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(111)345 1108 y(3.5.6)106
b(Sparse)30 b(Matrices:)41 b(Inserting)29 b(Cliques)66
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(111)136 1220 y(3.6)94
b(In)m(terface)32 b(Issues)59 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(111)345
1333 y(3.6.1)106 b(In)m(terface)32 b(Issues)d(for)i(F)-8
b(ortran)31 b(95)c(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(111)345 1446 y(3.6.2)106 b(In)m(terface)32 b(Issues)d(for)i(F)-8
b(ortran)31 b(77)c(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(113)345 1559 y(3.6.3)106 b(In)m(terface)32 b(Issues)d(for)i(C)d(.)45
b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(114)136 1672 y(3.7)94 b(Numerical)30 b(Accuracy)h(and)f(En)m
(vironmen)m(tal)f(Enquiry)60 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(116)136
1785 y(3.8)94 b(Language)32 b(Bindings)48 b(.)e(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(116)345
1898 y(3.8.1)106 b(Ov)m(erview)75 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(116)345
2011 y(3.8.2)106 b(Lev)m(el)31 b(1)g(Computational)e(Routines)74
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(117)345 2124 y(3.8.3)106
b(Lev)m(el)31 b(2)g(Computational)e(Routines)74 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(120)345 2237 y(3.8.4)106
b(Lev)m(el)31 b(3)g(Computational)e(Routines)74 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(122)345 2350 y(3.8.5)106
b(Handle)30 b(Managemen)m(t)53 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)f(.)40 b(123)345 2462 y(3.8.6)106 b(Creation)30
b(Routines)76 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)f(.)40 b(123)345 2575 y(3.8.7)106 b(Insertion)29
b(routines)f(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)f(.)40 b(125)345 2688 y(3.8.8)106 b(Completion)29
b(of)i(construction)f(routine)38 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(129)345 2801 y(3.8.9)106 b(Matrix)31 b(prop)s(ert)m(y)e(routines)89
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(130)345
2914 y(3.8.10)61 b(Destruction)31 b(routine)22 b(.)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(131)0 3118 y FG(4)84 b(Extended)35 b(and)g(Mixed)g(Precision)h(BLAS)
1884 b(132)136 3231 y FK(4.1)94 b(Ov)m(erview)83 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)f(.)40 b(132)136 3344 y(4.2)94 b(Design)31
b(Goals)f(and)g(Summary)52 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)f(.)40 b(132)136 3457 y(4.3)94 b(F)-8 b(unctionalit)m(y)70
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)f(.)40 b(134)345 3570 y(4.3.1)106
b(Sp)s(ecifying)28 b(Extra)j(Precision)d(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)f(.)40 b(134)345 3682 y(4.3.2)106 b(Mixed)30
b(Precision)90 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)40 b(135)345 3795 y(4.3.3)106 b(Numerical)29
b(Accuracy)j(and)d(En)m(vironmen)m(tal)h(Enquiries)69
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(136)345 3908 y(4.3.4)106 b(F)-8 b(unction)30 b(T)-8
b(ables)23 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)40 b(139)136 4021 y(4.4)94 b(In)m(terface)32
b(Issues)59 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(139)345 4134 y(4.4.1)106
b(In)m(terface)32 b(Issues)d(for)i(F)-8 b(ortran)31 b(95)c(.)46
b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(140)345 4247
y(4.4.2)106 b(In)m(terface)32 b(Issues)d(for)i(F)-8 b(ortran)31
b(77)c(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(141)345
4360 y(4.4.3)106 b(In)m(terface)32 b(Issues)d(for)i(C)d(.)45
b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(141)136 4473 y(4.5)94 b(Language)32 b(Bindings)48 b(.)e(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(142)345 4586 y(4.5.1)106 b(Ov)m(erview)75 b(.)46 b(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g
(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(142)345 4699 y(4.5.2)106 b(Mixed)30 b(and)g(Extended)g(Precision)f
(Reduction)g(Op)s(erations)87 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)f(.)40 b(143)345 4812 y(4.5.3)106 b(Mixed)30
b(and)g(Extended)g(Precision)f(V)-8 b(ector)32 b(Op)s(erations)22
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(145)345 4924 y(4.5.4)106 b(Mixed)30 b(and)g(Extended)g(Precision)f
(Matrix-V)-8 b(ector)32 b(Op)s(erations)72 b(.)46 b(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)f(.)40 b(147)345 5037 y(4.5.5)106 b(Mixed)30
b(and)g(Extended)g(Precision)f(Matrix-Matrix)h(Op)s(erations)57
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(157)345
5150 y(4.5.6)106 b(En)m(vironmen)m(tal)30 b(Enquiry)75
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(172)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 6 6
6 5 bop 0 91 a FG(A)57 b(App)s(endix)3161 b(173)136 204
y FK(A.1)71 b(V)-8 b(ector)33 b(Norms)47 b(.)f(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(173)136 317 y(A.2)71 b(Matrix)31 b(Norms)h(.)46 b(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(174)136 430 y(A.3)71 b(Op)s(erator)30 b(Argumen)m(ts)53
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)40 b(174)136 543 y(A.4)71 b(F)-8 b(ortran)32 b(95)f(Mo)s(dules)
22 b(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)40 b(176)136 656 y(A.5)71 b(F)-8 b(ortran)32
b(77)f(Include)d(File)f(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)f(.)40 b(178)136 769 y(A.6)71 b(C)30
b(Include)f(Files)64 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(178)0 973
y FG(B)62 b(Legacy)36 b(BLAS)2982 b(180)136 1086 y FK(B.1)75
b(In)m(tro)s(duction)27 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)
h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(180)136 1198 y(B.2)75 b(C)30 b(in)m(terface)h(to)g(the)g(Legacy)h
(BLAS)24 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(180)345 1311 y(B.2.1)87 b(Naming)30 b(sc)m(heme)38
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)40 b(180)345 1424 y(B.2.2)87 b(Indices)29 b(and)h(I)p
1157 1424 28 4 v 33 w(AMAX)36 b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)f(.)40 b(181)345 1537 y(B.2.3)87 b(Character)31
b(argumen)m(ts)k(.)45 b(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g
(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
f(.)40 b(181)345 1650 y(B.2.4)87 b(Handling)29 b(of)h(complex)g(data)h
(t)m(yp)s(es)d(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h
(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(181)345 1763 y(B.2.5)87 b(Return)30 b(v)-5 b(alues)30
b(of)g(complex)g(functions)k(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(182)345 1876 y(B.2.6)87 b(Arra)m(y)31 b(argumen)m(ts)57
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(183)345 1989 y(B.2.7)87 b(Aliasing)29 b(of)h(argumen)m(ts)75
b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)
f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(185)345 2102 y(B.2.8)87 b(C)30 b(in)m(terface)h(include)d(\014le)47
b(.)f(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(186)345 2215 y(B.2.9)87 b(Error)30 b(c)m(hec)m(king)79
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)40 b(186)345 2328 y(B.2.10)i(Rules)30 b(for)g(obtaining)f(the)h(C)g
(in)m(terface)h(from)f(the)h(F)-8 b(ortran)31 b(77)80
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(186)345 2440 y(B.2.11)i(cblas.h)30 b(include)e(\014le)67
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(186)345 2553 y(B.2.12)i(Using)30 b(F)-8 b(ortran)31
b(77)g(BLAS)f(to)h(supp)s(ort)e(ro)m(w-ma)5 b(jor)31
b(BLAS)f(op)s(erations)91 b(.)46 b(.)g(.)f(.)h(.)g(.)f(.)40
b(187)0 2757 y FG(C)60 b(Journal)36 b(of)f(Dev)m(elopmen)m(t)2508
b(196)136 2870 y FK(C.1)104 b(En)m(vironmen)m(tal)29
b(Routine)h(for)g(E\013ectiv)m(e)h(use)f(of)h(Cac)m(he,)g(Pip)s
(elining)26 b(and)k(Registers)43 b(.)i(.)h(.)g(.)f(.)40
b(197)345 2983 y(C.1.1)85 b(In)m(tro)s(duction)90 b(.)45
b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
40 b(197)345 3096 y(C.1.2)85 b(Language)32 b(Extensions)d(for)h(the)h
(Cac)m(he)h(.)46 b(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(197)345 3209
y(C.1.3)85 b(F)-8 b(or)31 b(E\016cien)m(t)g(LA)f(Soft)m(w)m(are)68
b(.)45 b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(198)345
3322 y(C.1.4)85 b(Adv)-5 b(an)m(tages)32 b(of)f(this)e(approac)m(h)24
b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(198)345
3435 y(C.1.5)85 b(Disadv)-5 b(an)m(tages)32 b(of)f(this)e(approac)m(h)
58 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(198)136 3548
y(C.2)73 b(Distributed-memory)29 b(Dense)i(BLAS)h(.)45
b(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(200)136
3660 y(C.3)73 b(F)-8 b(ortran)32 b(95)f(Thin)d(BLAS)36
b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)40 b(206)345 3773 y(C.3.1)85 b(In)m(tro)s(duction)90
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)40 b(206)345 3886 y(C.3.2)85 b(Design)31 b(of)f(F)-8
b(ortran)31 b(95)g(In)m(terfaces)63 b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)
f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f
(.)40 b(206)345 3999 y(C.3.3)85 b(In)m(terfaces)32 b(for)e(Real)g(Data)
59 b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(207)345 4112 y(C.3.4)85 b(In)m(terfaces)32 b(for)e(Complex)f(Data)e
(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(211)345
4225 y(C.3.5)85 b(Error)30 b(c)m(hec)m(king)79 b(.)46
b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h
(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(211)345 4338 y(C.3.6)85 b(Comparison)29 b(with)g(the)i(F)-8
b(ortran)31 b(77)g(BLAS)88 b(.)46 b(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(211)345
4451 y(C.3.7)85 b(Conclusion)c(.)46 b(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(213)345
4564 y(C.3.8)85 b(F)-8 b(urther)30 b(Details:)41 b(Sp)s(eci\014c)29
b(pro)s(cedures)g(for)h(gemm)23 b(.)46 b(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40 b(214)136 4677
y(C.4)73 b(In)m(terv)-5 b(al)31 b(BLAS)91 b(.)45 b(.)h(.)g(.)f(.)h(.)g
(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)
g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(219)345 4790 y(C.4.1)85 b(In)m(tro)s(duction)90 b(.)45
b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f
(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)
40 b(219)345 4902 y(C.4.2)85 b(F)-8 b(unctionalit)m(y)62
b(.)45 b(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)
g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g
(.)f(.)40 b(220)345 5015 y(C.4.3)85 b(In)m(terface)32
b(Issues)50 b(.)c(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f
(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)
h(.)g(.)f(.)40 b(224)345 5128 y(C.4.4)85 b(Numerical)29
b(Accuracy)j(and)d(En)m(vironmen)m(tal)h(Enquiry)52 b(.)46
b(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(226)345 5241 y(C.4.5)85 b(Language)32 b(Bindings)40
b(.)46 b(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)
g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)g(.)f(.)h(.)g(.)f(.)h(.)g(.)f(.)40
b(227)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 7 7
7 6 bop 0 91 a FG(Bibliograph)m(y)3158 b(299)0 295 y(Index)3484
b(303)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 8 8
8 7 bop 0 143 a FH(Ac)-6 b(kno)g(wledgmen)g(ts)141 556
y FK(The)29 b(tec)m(hnical)h(dev)m(elopmen)m(t)g(w)m(as)g(carried)f
(out)h(b)m(y)f(subgroups,)f(whose)i(w)m(ork)g(w)m(as)g(review)m(ed)f(b)
m(y)g(the)h(full)0 669 y(committee.)53 b(During)33 b(the)h(p)s(erio)s
(d)e(of)i(dev)m(elopmen)m(t)h(of)f(the)h(Basic)f(Linear)f(Algebra)h
(Subprograms)e(\(BLAS\))0 782 y(T)-8 b(ec)m(hnical)30
b(F)-8 b(orum)30 b(Standard,)g(man)m(y)g(p)s(eople)g(serv)m(ed)g(in)f
(p)s(ositions)g(of)h(resp)s(onsibilit)m(y)d(and)i(are)i(listed)e(b)s
(elo)m(w.)136 995 y FJ(\017)46 b FK(Jac)m(k)32 b(Dongarra)f(and)f(Sv)m
(en)g(Hammarling,)f(Con)m(v)m(eners)i(and)e(Meeting)i(Chairs)136
1182 y FJ(\017)46 b FK(Susan)29 b(Blac)m(kford)i(and)f(Andrew)f
(Lumsdaine,)g(Min)m(utes)136 1370 y FJ(\017)46 b FK(Susan)29
b(Blac)m(kford,)i(Editor)141 1583 y(The)f(primary)e(c)m(hapter)j
(authors)g(are)f(the)h(follo)m(wing:)136 1795 y FJ(\017)46
b FK(Susan)29 b(Blac)m(kford,)i(Jac)m(k)h(Dongarra,)f(and)f(Sv)m(en)g
(Hammarling,)f(Chapter)h(1)136 1983 y FJ(\017)46 b FK(Susan)c(Blac)m
(kford,)47 b(Jac)m(k)c(Dongarra,)48 b(and)42 b(Sv)m(en)h(Hammarling,)i
(Linda)c(Kaufman,)k(Zohair)d(Maan)m(y)-8 b(,)227 2096
y(An)m(toine)31 b(P)m(etitet,)h(Chapter)e(2)136 2283
y FJ(\017)46 b FK(Iain)30 b(Du\013,)g(Mik)m(e)h(Heroux,)g(Roldan)e(P)m
(ozo,)j(Karin)d(Remington,)h(Chapter)g(3)136 2471 y FJ(\017)46
b FK(Jim)29 b(Demmel,)i(Greg)g(Henry)-8 b(,)31 b(V)-8
b(elv)m(el)30 b(Kahan,)h(Xiao)m(y)m(e)g(Li,)f(Chapter)g(4)136
2658 y FJ(\017)46 b FK(Clin)m(t)29 b(Whaley)-8 b(,)31
b(C)f(In)m(terface)i(to)f(the)f(Legacy)i(BLAS)136 2846
y FJ(\017)46 b FK(Jac)m(k)32 b(Dongarra,)f(F)-8 b(red)31
b(Krogh,)f(Journal)f(of)h(Dev)m(elopmen)m(t)i({)f(En)m(vironmen)m(tal)e
(routines)136 3034 y FJ(\017)46 b FK(An)m(toine)31 b(P)m(etitet,)h
(Journal)d(of)h(Dev)m(elopmen)m(t)i({)f(Distributed-Memory)e(Dense)i
(BLAS)136 3221 y FJ(\017)46 b FK(Sv)m(en)30 b(Hammarling,)g(Zohair)f
(Maan)m(y)-8 b(,)32 b(Journal)d(of)h(Dev)m(elopmen)m(t)i({)f(F)-8
b(ortran95)32 b(Thin)c(BLAS)136 3409 y FJ(\017)46 b FK(George)33
b(Corliss,)c(Chen)m(yi)h(Hu,)h(Bak)m(er)i(Kearfo)s(ot,)f(Bill)d(W)-8
b(alster,)32 b(J.)f(W)-8 b(ol\013)32 b(v.)43 b(Guden)m(b)s(erg,)30
b(Journal)g(of)227 3522 y(Dev)m(elopmen)m(t)i({)f(In)m(terv)-5
b(al)30 b(BLAS)141 3734 y(W)-8 b(e)33 b(w)m(ould)e(lik)m(e)g(to)i
(thank)f(the)g(individuals)27 b(from)32 b(the)g(follo)m(wing)e
(organizations)i(who)g(ha)m(v)m(e)h(written)e(the)0 3847
y(reference)k(implemen)m(tations:)48 b(Univ)m(ersit)m(y)34
b(of)h(California,)f(Berk)m(eley)-8 b(,)38 b(Univ)m(ersit)m(y)c(of)h
(Houston,)h(Do)m(wn)m(to)m(wn,)0 3960 y(Univ)m(ersit)m(y)30
b(of)g(Notre)h(Dame,)h(Univ)m(ersit)m(y)e(of)g(T)-8 b(ennessee,)31
b(HP/Con)m(v)m(ex,)h(NA)m(G,)g(NIST,)e(and)f(CERF)-10
b(A)m(CS.)141 4193 y(Sp)s(eci\014cally)i(,)29 b(w)m(e)h(thank)g(the)h
(follo)m(wing)e(studen)m(ts)h(at)h(the)g(Univ)m(ersit)m(y)e(of)i
(California,)d(Berk)m(eley)-8 b(,)32 b(for)e(their)0
4306 y(w)m(ork)g(on)f(the)h(reference)g(implemen)m(tations)e(and)h(pro)
s(ofreading)f(of)i(v)-5 b(arious)29 b(v)m(ersions)g(of)h(the)g(do)s
(cumen)m(t:)40 b(Ben)0 4419 y(W)-8 b(anzo,)45 b(Berk)-5
b(at)42 b(T)-8 b(ung,)43 b(W)-8 b(eih)m(ua)42 b(Shen,)g(Anil)d(Kapur,)j
(Mic)m(hael)f(Martin,)i(Jimm)m(y)d(Isk)-5 b(andar,)43
b(Y)-8 b(ozo)42 b(Hida,)0 4532 y(T)-8 b(eresa)31 b(T)-8
b(ung,)30 b(Y)-8 b(ulin)29 b(Li.)141 4765 y(W)-8 b(e)36
b(w)m(ould)e(lik)m(e)h(to)h(thank)e(the)i(follo)m(wing)d(v)m(endors)i
(and)g(ISPs:)49 b(Cra)m(y)-8 b(,)37 b(Digital/Compaq,)f(HP/Con)m(v)m
(ex,)0 4878 y(IBM,)31 b(In)m(tel,)f(NEC,)h(SGI,)f(T)-8
b(era,)31 b(NA)m(G,)h(and)e(VNI.)141 5111 y(W)-8 b(e)40
b(thank)f(P)m(aul)g(McMahan)h(of)f(the)h(Univ)m(ersit)m(y)e(of)h(T)-8
b(ennessee)40 b(for)f(preparing)e(the)i(commen)m(ting)h(and)0
5224 y(v)m(oting)31 b(pages)g(on)f(the)h(BLAS)f(T)-8
b(ec)m(hnical)30 b(F)-8 b(orum)30 b(w)m(ebpage.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 9 9
9 8 bop 141 91 a FK(W)-8 b(e)42 b(w)m(ould)d(lik)m(e)h(to)i(thank)e
(the)h(mem)m(b)s(ers)f(of)g(the)h(global)f(comm)m(unit)m(y)h(who)f(ha)m
(v)m(e)i(p)s(osted)e(commen)m(ts,)0 204 y(suggestions,)31
b(and)e(prop)s(osals)g(to)i(the)g(email)e(re\015ector)i(and)f(the)h
(BLAS)f(T)-8 b(ec)m(hnical)30 b(F)-8 b(orum)30 b(w)m(ebpage.)141
437 y(And)g(lastly)-8 b(,)30 b(w)m(e)h(w)m(ould)e(lik)m(e)g(to)j(thank)
e(the)g(attendees)i(of)e(the)h(BLAS)f(T)-8 b(ec)m(hnical)30
b(F)-8 b(orum)30 b(meetings:)141 663 y(Andy)39 b(Anda,)i(Ed)e
(Anderson,)i(Zhao)5 b(jun)39 b(Bai,)j(Da)m(vid)d(Bailey)-8
b(,)43 b(Satish)38 b(Bala)m(y)-8 b(,)44 b(Puri)37 b(Bangalore,)43
b(Claus)0 776 y(Bendtsen,)30 b(Jesse)h(Bennett,)g(Mik)m(e)g(Berry)-8
b(,)31 b(Je\013)f(Bilmes,)f(Susan)g(Blac)m(kford,)i(Phil)d(Bording,)i
(Cla)m(y)g(Breshears,)0 889 y(Sandra)44 b(Carney)-8 b(,)50
b(Mimi)44 b(Celis,)k(Andrew)c(Chapman,)k(Samar)d(Choudhary)-8
b(,)48 b(Edmond)c(Cho)m(w,)49 b(Almadena)0 1002 y(Ch)m(tc)m(helk)-5
b(ano)m(v)g(a,)35 b(Andrew)d(Cleary)-8 b(,)33 b(Isom)g(Cra)m(wford,)g
(Mic)m(hel)g(Da)m(yd)m(\023)-43 b(e,)36 b(John)c(Dempsey)-8
b(,)34 b(Theresa)f(Do,)i(Da)m(v)m(e)0 1115 y(Do)s(dson,)46
b(Jac)m(k)f(Dongarra,)i(Craig)c(Douglas,)k(P)m(aul)42
b(Dressel,)47 b(Jerem)m(y)c(Du)h(Croz,)i(Iain)c(Du\013,)47
b(Carter)c(Ed-)0 1228 y(w)m(ards,)d(Salv)-5 b(atore)39
b(Filipp)s(one,)f(Rob)g(Gjertsen,)j(Roger)e(Golliv)m(er,)h(Cormac)f
(Garv)m(ey)-8 b(,)42 b(Ian)c(Gladw)m(ell,)i(Bruce)0 1340
y(Greer,)c(Bill)c(Gropp,)j(John)e(Gunnels,)h(F)-8 b(red)34
b(Gusta)m(vson,)i(Sv)m(en)e(Hammarling,)g(Ric)m(hard)g(Hanson,)h
(Hidehik)m(o)0 1453 y(Hasega)m(w)m(a,)46 b(Satomi)41
b(Hasega)m(w)m(a,)46 b(Greg)41 b(Henry)-8 b(,)44 b(Mik)m(e)d(Heroux,)i
(Je\013)e(Horner,)i(Gary)e(Ho)m(w)m(ell,)i(Mary)e(Beth)0
1566 y(Hribar,)24 b(Chen)m(yi)e(Hu,)i(Stev)m(e)h(Huss-Lederman,)f(Melo)
s(dy)f(Iv)m(ory)-8 b(,)26 b(Naoki)d(Iw)m(ata,)k(Bo)d(K)-11
b(\027)-57 b(agstr\177)-45 b(om,)25 b(V)-8 b(elv)m(el)24
b(Kahan,)0 1679 y(Chandrik)-5 b(a)30 b(Kamath,)j(Linda)e(Kaufman,)h(Da)
m(vid)g(Kincaid,)f(Jim)g(Ko)s(ehler,)g(Vipin)f(Kumar,)i(Ric)m(h)f(Lee,)
j(Stev)m(e)0 1792 y(Lee,)39 b(Guangy)m(e)f(Li,)g(Jin)d(Li,)j(Sherry)d
(Li,)j(Hsin-Ying)d(Lin,)j(John)e(Liu,)h(Andew)f(Lumsdaine,)h(Da)m(v)m
(e)i(Mac)m(k)-5 b(a)m(y)d(,)0 1905 y(Kristin)25 b(Marsho\013e,)k
(Kristi)c(Masc)m(hho\013,)k(Brian)e(McCandless,)g(Joan)h(McCom)m(b,)h
(No)s(el)e(Nac)m(h)m(tigal,)i(Jim)d(Nagy)-8 b(,)0 2018
y(Esmond)27 b(Ng,)i(T)-8 b(om)27 b(Opp)s(e,)g(An)m(toine)h(P)m(etitet,)
i(Roldan)d(P)m(ozo,)j(Avi)d(Purk)-5 b(a)m(y)m(astha,)29
b(P)m(adma)f(Ragha)m(v)-5 b(an,)29 b(Karin)0 2131 y(Remington,)45
b(Y)-8 b(ousef)44 b(Saad,)h(Ma)5 b(jed)43 b(Sidani,)h(Jerem)m(y)f
(Siek,)i(T)-8 b(on)m(y)43 b(Skjellum,)g(Barry)g(Smith,)h(Ken)e(Stan-)0
2244 y(ley)-8 b(,)38 b(P)m(ete)g(Stew)m(art,)h(Shane)c(Story)-8
b(,)39 b(Ch)m(uc)m(k)d(Sw)m(anson,)h(F)-8 b(ran\030)-40
b(coise)37 b(Tisseur,)f(Anne)g(T)-8 b(refethen,)38 b(Anna)e(Tsao,)0
2357 y(Rob)s(ert)e(v)-5 b(an)34 b(de)g(Geijn,)h(Ph)m(uong)f(V)-8
b(u,)35 b(Kevin)e(W)-8 b(adleigh,)35 b(Da)m(vid)g(W)-8
b(alk)m(er,)36 b(Bob)f(W)-8 b(ard,)35 b(Jerzy)g(W)-8
b(a)j(\023)-41 b(sniewski,)0 2470 y(Clin)m(t)29 b(Whaley)-8
b(,)31 b(Y)-8 b(uan-Jy)m(e)31 b(Jason)f(W)-8 b(u,)31
b(Chao)g(Y)-8 b(ang,)31 b(and)f(Guo)s(dong)g(Zhang.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 10 10
10 9 bop 0 756 a FH(Suggestions)78 b(for)f(Reading)0
1200 y FK(This)38 b(do)s(cumen)m(t)h(is)g(divided)e(in)m(to)j(c)m
(hapters,)j(app)s(endices,)d(a)g(journal)e(of)i(dev)m(elopmen)m(t,)j
(and)c(an)h(index)e(of)0 1313 y(routine)31 b(names.)46
b(It)33 b(is)e(large,)i(and)e(it)h(is)f(not)i(necessary)f(for)g(a)h
(user)e(to)i(read)f(it)g(in)f(its)g(en)m(tiret)m(y)-8
b(.)48 b(A)32 b(user)f(ma)m(y)0 1426 y(c)m(ho)s(ose)c(to)f(not)g(read)f
(certain)g(c)m(hapters)h(or)g(sections)f(within)e(this)i(do)s(cumen)m
(t,)h(dep)s(ending)d(up)s(on)h(his/her)g(areas)0 1539
y(of)30 b(in)m(terest.)40 b FG(Chapters)33 b(2{4)e FK(con)m(tain)e(a)h
(functionalit)m(y)e(discussion)f(and)i(language)h(bindings)c(for)j
(dense)h(and)0 1652 y(band,)40 b(sparse,)h(and)d(mixed)f(and)h
(extended)h(precision)e(BLAS,)i(resp)s(ectiv)m(ely)-8
b(.)65 b(Th)m(us,)40 b(these)f(c)m(hapters)g(ma)m(y)0
1765 y(b)s(e)e(read)g(indep)s(enden)m(tly)-8 b(,)37 b(referring)f(to)i
FG(Chapter)k(1)c FK(and)f(the)g FG(App)s(endix)h FK(for)f(notation)h
(and)f(implemen-)0 1878 y(tation)d(details)f(common)h(to)h(all)d(c)m
(hapters.)52 b(Refer)34 b(to)g(section)g(1.3)h(for)f(a)g(more)g
(detailed)f(description)f(of)i(the)0 1991 y(organization)c(of)h(this)e
(do)s(cumen)m(t.)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 1 11
1 10 bop 0 714 a FF(Chapter)65 b(1)0 1129 y FH(In)-6
b(tro)6 b(duction)0 1611 y FE(1.1)116 b(Intro)s(duction)0
1814 y FK(This)42 b(do)s(cumen)m(t)i(de\014nes)f(the)h(BLAS)g(T)-8
b(ec)m(hnical)43 b(F)-8 b(orum)44 b(standard,)j(a)e(sp)s(eci\014cation)
d(of)i(a)h(set)f(of)g(k)m(ernel)0 1926 y(routines)23
b(for)i(linear)e(algebra,)j(historically)c(called)h(the)i(Basic)g
(Linear)f(Algebra)g(Subprograms)f(and)g(commonly)0 2039
y(kno)m(wn)34 b(as)h(the)g(BLAS.)g(In)f(addition)f(to)i(this)f
(publication,)f(the)i(complete)g(standard)f(can)h(b)s(e)f(found)f(on)i
(the)0 2152 y(BLAS)30 b(T)-8 b(ec)m(hnical)30 b(F)-8
b(orum)31 b(w)m(ebpage)g(\()p FD(
http://www.netlib.org/bla)o(s/bl)o
(ast)o(-for)o(um/)o FK(\).)141 2265 y(Numerical)k(linear)f(algebra,)j
(particularly)c(the)j(solution)f(of)h(linear)e(systems)i(of)f
(equations,)j(linear)c(least)0 2378 y(squares)29 b(problems,)f(eigen)m
(v)-5 b(alue)29 b(problems)e(and)i(singular)e(v)-5 b(alue)28
b(problems,)g(is)g(fundamen)m(tal)g(to)i(most)g(calcu-)0
2491 y(lations)h(in)g(scien)m(ti\014c)g(computing,)h(and)g(is)f(often)i
(the)f(computationally)f(in)m(tense)h(part)g(of)g(suc)m(h)g
(calculations.)0 2604 y(Designers)40 b(of)f(computer)h(programs)g(in)m
(v)m(olving)e(linear)g(algebraic)i(op)s(erations)f(ha)m(v)m(e)i
(frequen)m(tly)e(c)m(hosen)h(to)0 2717 y(implemen)m(t)32
b(certain)i(lo)m(w)f(lev)m(el)g(op)s(erations,)h(suc)m(h)g(as)g(the)f
(dot)h(pro)s(duct)f(or)g(the)h(matrix)f(v)m(ector)i(pro)s(duct,)f(as)0
2830 y(separate)f(subprograms.)44 b(This)30 b(ma)m(y)j(b)s(e)e(observ)m
(ed)h(b)s(oth)g(in)e(man)m(y)i(published)d(co)s(des)j(and)f(in)g(co)s
(des)h(written)0 2943 y(for)e(sp)s(eci\014c)f(applications)g(at)i(man)m
(y)f(computer)h(installations.)141 3056 y(This)f(approac)m(h)h
(encourages)h(structured)e(programming)g(and)h(impro)m(v)m(es)g(the)g
(self-do)s(cumen)m(ting)f(qualit)m(y)0 3168 y(of)38 b(the)h(soft)m(w)m
(are)g(b)m(y)f(sp)s(ecifying)e(basic)i(building)c(blo)s(c)m(ks)k(and)f
(iden)m(tifying)f(these)j(op)s(erations)e(with)g(unique)0
3281 y(mnemonic)i(names.)71 b(Since)40 b(a)h(signi\014can)m(t)e(amoun)m
(t)i(of)f(execution)h(time)f(in)f(complicated)h(linear)f(algebraic)0
3394 y(programs)34 b(ma)m(y)g(b)s(e)g(sp)s(en)m(t)g(in)e(a)j(few)f(lo)m
(w)g(lev)m(el)f(op)s(erations,)i(reducing)e(the)h(execution)g(time)g
(sp)s(en)m(t)g(in)e(these)0 3507 y(op)s(erations)g(leads)h(to)h(an)f(o)
m(v)m(erall)g(reduction)f(in)g(the)h(execution)h(time)e(of)i(the)f
(program.)49 b(The)32 b(programming)0 3620 y(of)e(some)f(of)h(these)g
(lo)m(w)f(lev)m(el)g(op)s(erations)g(in)m(v)m(olv)m(es)g(algorithmic)f
(and)h(implemen)m(tation)f(subtleties)g(that)i(need)0
3733 y(care,)f(and)d(can)h(b)s(e)f(easily)g(o)m(v)m(erlo)s(ok)m(ed.)41
b(If)26 b(there)h(is)f(general)h(agreemen)m(t)h(on)f(standard)f(names)g
(and)g(parameter)0 3846 y(lists)j(for)h(some)h(of)f(these)h(basic)f(op)
s(erations,)g(then)g(p)s(ortabilit)m(y)e(and)i(e\016ciency)g(can)h
(also)f(b)s(e)g(ac)m(hiev)m(ed.)141 3959 y(The)20 b(\014rst)f(ma)5
b(jor)21 b(concerted)g(e\013ort)g(to)g(ac)m(hiev)m(e)h(agreemen)m(t)g
(on)e(the)h(sp)s(eci\014cation)e(of)h(a)h(set)g(of)f(linear)f(algebra)0
4072 y(k)m(ernels)26 b(resulted)g(in)f(the)i(Lev)m(el)g(1)g(Basic)g
(Linear)e(Algebra)i(Subprograms)d(\(BLAS\))2916 4039
y FC(1)2983 4072 y FK([39)q(])j(and)f(asso)s(ciated)h(test)0
4185 y(suite.)47 b(The)32 b(Lev)m(el)h(1)g(BLAS)g(are)g(the)g(sp)s
(eci\014cation)f(and)g(implemen)m(tation)f(in)h(F)-8
b(ortran)33 b(of)g(subprograms)e(for)0 4298 y(scalar)i(and)f(v)m(ector)
i(op)s(erations.)47 b(This)31 b(w)m(as)i(the)g(result)e(of)i(a)g
(collab)s(orativ)m(e)f(pro)5 b(ject)34 b(in)d(1973-77.)50
b(F)-8 b(ollo)m(wing)0 4410 y(the)36 b(distribution)c(of)k(the)g
(initial)c(v)m(ersion)k(of)f(the)h(sp)s(eci\014cations)f(to)h(p)s
(eople)f(activ)m(e)i(in)d(the)i(dev)m(elopmen)m(t)g(of)0
4523 y(n)m(umerical)21 b(linear)g(algebra)h(soft)m(w)m(are,)k(a)c
(series)g(of)g(op)s(en)g(meetings)g(w)m(ere)h(held)e(at)i(conferences)g
(and,)h(as)e(a)h(result,)0 4636 y(extensiv)m(e)35 b(mo)s(di\014cations)
d(w)m(ere)j(made)g(in)e(an)h(e\013ort)h(to)g(impro)m(v)m(e)f(the)h
(design)e(and)h(mak)m(e)h(the)f(subprograms)0 4749 y(more)k(robust.)63
b(The)38 b(Lev)m(el)g(1)g(BLAS)g(w)m(ere)h(extensiv)m(ely)f(and)f
(successfully)f(exploited)h(b)m(y)h(LINP)-8 b(A)m(CK)38
b([23)q(],)0 4862 y(a)c(soft)m(w)m(are)h(pac)m(k)-5 b(age)36
b(for)d(the)h(solution)e(of)i(dense)f(and)g(banded)g(linear)f
(equations)h(and)g(linear)f(least)i(squares)0 4975 y(problems.)141
5088 y(With)25 b(the)g(adv)m(en)m(t)h(of)f(v)m(ector)i(mac)m(hines,)f
(hierarc)m(hical)d(memory)i(mac)m(hines)g(and)g(shared)f(memory)h
(parallel)0 5201 y(mac)m(hines,)39 b(sp)s(eci\014cations)e(for)g(the)h
(Lev)m(el)g(2)g(and)f(3)h(BLAS)g([26)q(,)g(25],)i(concerned)e(with)f
(matrix-v)m(ector)i(and)p 0 5262 1560 4 v 104 5316 a
FI(1)138 5348 y FB(Originally)23 b(kno)n(wn)f(just)h(as)g(the)e(BLAS,)i
(but)e(in)h(the)g(ligh)n(t)h(of)g(subsequen)n(t)e(dev)n(elopmen)n(ts)f
(no)n(w)j(kno)n(wn)f(as)h(the)f(Lev)n(el)g(1)g(BLAS)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 2 12
2 11 bop 0 -165 a FK(2)2483 b FA(CHAPTER)29 b(1.)72 b(INTR)m(ODUCTION)0
91 y FK(matrix-matrix)26 b(op)s(erations)g(resp)s(ectiv)m(ely)-8
b(,)28 b(w)m(ere)f(dra)m(wn)f(up)g(in)f(1984-86)30 b(and)c(1987-88.)43
b(These)26 b(sp)s(eci\014cations)0 204 y(made)39 b(it)f(p)s(ossible)f
(to)i(construct)g(new)g(soft)m(w)m(are)h(to)g(utilize)d(the)i(memory)g
(hierarc)m(h)m(y)f(of)h(mo)s(dern)f(comput-)0 317 y(ers)e(more)g
(e\013ectiv)m(ely)-8 b(.)60 b(In)35 b(particular,)i(the)f(Lev)m(el)g(3)
h(BLAS)f(allo)m(w)m(ed)g(the)g(construction)g(of)h(soft)m(w)m(are)g
(based)0 430 y(up)s(on)e(blo)s(c)m(k-partitioned)h(algorithms,)i(t)m
(ypi\014ed)e(b)m(y)g(the)i(linear)d(algebra)i(soft)m(w)m(are)i(pac)m(k)
-5 b(age)39 b(LAP)-8 b(A)m(CK)37 b([6].)0 543 y(LAP)-8
b(A)m(CK)32 b(is)f(state-of-the-art)j(soft)m(w)m(are)g(for)d(the)h
(solution)e(of)i(dense)f(and)g(banded)g(linear)f(equations,)i(linear)0
656 y(least)37 b(squares,)i(eigen)m(v)-5 b(alue)37 b(and)f(singular)f
(v)-5 b(alue)37 b(problems,)g(mak)m(es)h(extensiv)m(e)f(use)g(of)g(all)
f(lev)m(els)h(of)g(BLAS)0 769 y(and)g(particularly)e(utilizes)h(the)h
(Lev)m(el)h(2)g(and)f(3)g(BLAS)h(for)f(p)s(ortable)f(p)s(erformance.)62
b(LAP)-8 b(A)m(CK)37 b(is)g(widely)0 882 y(used)30 b(in)f(application)f
(soft)m(w)m(are)k(and)e(is)f(supp)s(orted)g(b)m(y)h(a)h(n)m(um)m(b)s
(er)e(of)h(hardw)m(are)g(and)g(soft)m(w)m(are)i(v)m(endors.)141
995 y(T)-8 b(o)31 b(a)f(great)i(exten)m(t,)g(the)e(user)g(comm)m(unit)m
(y)g(em)m(braced)g(the)h(BLAS,)f(not)h(only)e(for)h(p)s(erformance)g
(reasons,)0 1108 y(but)39 b(also)h(b)s(ecause)f(dev)m(eloping)g(soft)m
(w)m(are)i(around)e(a)h(core)g(of)g(common)g(routines)e(lik)m(e)h(the)h
(BLAS)f(is)g(go)s(o)s(d)0 1220 y(soft)m(w)m(are)d(engineering)d
(practice.)52 b(Highly)33 b(e\016cien)m(t)i(mac)m(hine-sp)s(eci\014c)e
(implemen)m(tations)g(of)h(the)g(BLAS)h(are)0 1333 y(a)m(v)-5
b(ailable)45 b(for)g(most)h(mo)s(dern)e(high-p)s(erformance)g
(computers.)86 b(The)45 b(BLAS)h(ha)m(v)m(e)h(enabled)d(soft)m(w)m(are)
j(to)0 1446 y(ac)m(hiev)m(e)32 b(high)d(p)s(erformance)g(with)g(p)s
(ortable)h(co)s(de.)141 1559 y(The)22 b(original)e(BLAS)i(concen)m
(trated)i(on)e(dense)g(and)f(banded)g(op)s(erations,)i(but)f(man)m(y)g
(applications)e(require)0 1672 y(the)43 b(solution)f(of)h(problems)e
(in)m(v)m(olving)h(sparse)g(matrices,)47 b(and)42 b(there)h(ha)m(v)m(e)
i(also)e(b)s(een)f(e\013orts)i(to)f(sp)s(ecify)0 1785
y(computational)30 b(k)m(ernels)g(for)g(sparse)g(v)m(ector)i(and)e
(matrix)f(op)s(erations)h([22)q(,)h(27)q(].)141 1898
y(In)43 b(the)g(spirit)e(of)i(the)g(earlier)f(BLAS)h(meetings)g(and)g
(the)g(standardization)f(e\013orts)i(of)f(the)g(MPI)h(and)0
2011 y(HPF)38 b(forums,)h(a)g(tec)m(hnical)f(forum)f(w)m(as)h
(established)e(to)j(consider)e(expanding)g(the)h(BLAS)g(in)e(the)j
(ligh)m(t)e(of)0 2124 y(mo)s(dern)h(soft)m(w)m(are,)43
b(language,)f(and)d(hardw)m(are)g(dev)m(elopmen)m(ts.)67
b(The)39 b(BLAS)g(T)-8 b(ec)m(hnical)39 b(F)-8 b(orum)39
b(meetings)0 2237 y(b)s(egan)27 b(with)e(a)j(w)m(orkshop)e(in)g(No)m(v)
m(em)m(b)s(er)i(1995)h(at)f(the)f(Univ)m(ersit)m(y)f(of)h(T)-8
b(ennessee.)40 b(Meetings)28 b(w)m(ere)f(hosted)g(b)m(y)0
2350 y(univ)m(ersities,)33 b(go)m(v)m(ernmen)m(t)i(institutions,)d(and)
i(soft)m(w)m(are)h(and)e(hardw)m(are)g(v)m(endors.)51
b(Detailed)34 b(min)m(utes)e(w)m(ere)0 2462 y(tak)m(en)41
b(for)f(eac)m(h)i(of)e(the)h(meetings,)i(and)d(these)g(min)m(utes)g
(are)g(a)m(v)-5 b(ailable)40 b(on)g(the)h(BLAS)f(T)-8
b(ec)m(hnical)40 b(F)-8 b(orum)0 2575 y(w)m(ebpage)31
b(\()p FD(
http://www.netlib.org/blas)o(/bla)o(st-)o(foru)o(m/)p
FK(\).)141 2688 y(V)-8 b(arious)38 b(w)m(orking)f(groups)g(within)e
(the)j(T)-8 b(ec)m(hnical)38 b(F)-8 b(orum)38 b(w)m(ere)g(established)e
(to)j(consider)e(issues)f(suc)m(h)0 2801 y(as)i(the)h(o)m(v)m(erall)f
(functionalit)m(y)-8 b(,)40 b(language)e(in)m(terfaces,)j(sparse)d
(BLAS,)g(distributed-memory)e(dense)i(BLAS,)0 2914 y(extended)g(and)f
(mixed)g(precision)f(BLAS,)i(in)m(terv)-5 b(al)37 b(BLAS,)h(and)f
(extensions)g(to)i(the)f(existing)f(BLAS.)g(The)0 3027
y(rules)d(of)h(the)h(forum)e(w)m(ere)i(adopted)f(from)g(those)h(used)f
(for)g(the)g(MPI)g(and)g(HPF)h(forums.)54 b(In)35 b(other)g(w)m(ords,)0
3140 y(\014nal)24 b(acceptance)k(of)e(eac)m(h)h(of)f(the)g(c)m(hapters)
h(in)d(the)i(BLAS)g(T)-8 b(ec)m(hnical)25 b(F)-8 b(orum)26
b(standard)f(w)m(ere)h(decided)f(at)i(the)0 3253 y(meetings)j(using)e
Fz(R)-5 b(ob)g(ert's)33 b(R)n(ules)7 b FK(.)41 b(Drafts)30
b(of)g(the)g(do)s(cumen)m(t)f(w)m(ere)h(also)g(a)m(v)-5
b(ailable)29 b(on)g(the)h(BLAS)f(T)-8 b(ec)m(hnical)0
3366 y(F)g(orum)34 b(w)m(ebpage,)h(and)e(attendees)i(w)m(ere)f(p)s
(ermitted)e(to)j(edit)e(c)m(hapters,)i(giv)m(e)f(commen)m(ts,)i(and)d
(v)m(ote)i(on-line)0 3479 y(in)29 b(\\virtual)g(meetings",)h(as)h(w)m
(ell)e(as)h(to)h(conduct)f(discussions)d(on)j(the)h(email)e
(re\015ector.)41 b(The)30 b(e\013orts)g(of)g(these)0
3592 y(w)m(orking)h(groups)h(are)g(summarized)f(in)f(this)h(do)s(cumen)
m(t.)46 b(Most)33 b(of)f(these)g(discussions)e(resulted)h(in)f
(de\014nitiv)m(e)0 3704 y(prop)s(osals)c(whic)m(h)f(led)i(to)h(the)f
(sp)s(eci\014cations)f(giv)m(en)h(in)f(Chapters)g(2)i(-)f(4.)40
b(Not)28 b(all)e(of)h(the)h(discussions)c(resulted)0
3817 y(in)29 b(de\014nitiv)m(e)f(prop)s(osals,)h(and)h(suc)m(h)f
(discussions)f(are)i(summarized)f(in)g(the)h(Journal)e(of)j(Dev)m
(elopmen)m(t)g(in)e(the)0 3930 y(hop)s(e)h(that)h(they)f(ma)m(y)h
(encourage)h(future)d(e\013orts)i(to)g(tak)m(e)h(those)f(discussions)d
(to)j(a)g(successful)e(conclusion.)141 4043 y(A)41 b(ma)5
b(jor)40 b(aim)g(of)h(the)f(standards)g(de\014ned)f(in)g(this)h(do)s
(cumen)m(t)g(is)f(to)j(enable)d(linear)g(algebra)i(libraries)0
4156 y(\(b)s(oth)c(public)f(domain)g(and)h(commercial\))h(to)h(in)m
(terop)s(erate)f(e\016cien)m(tly)-8 b(,)40 b(reliably)35
b(and)i(easily)-8 b(.)63 b(W)-8 b(e)39 b(b)s(eliev)m(e)0
4269 y(that)34 b(hardw)m(are)e(and)h(soft)m(w)m(are)i(v)m(endors,)e
(higher)f(lev)m(el)h(library)e(writers)h(and)g(application)g
(programmers)g(all)0 4382 y(b)s(ene\014t)e(from)f(the)i(e\013orts)g(of)
g(this)e(forum)g(and)h(are)h(the)f(in)m(tended)g(end)f(users)h(of)g
(these)h(standards.)141 4495 y(The)j(sp)s(eci\014cation)g(of)h(the)g
(original)e(BLAS)h(w)m(as)h(giv)m(en)g(in)e(the)i(form)f(of)h(F)-8
b(ortran)36 b(66)f(and)f(subsequen)m(tly)0 4608 y(F)-8
b(ortran)24 b(77)f(subprograms.)37 b(In)22 b(this)g(do)s(cumen)m(t)h(w)
m(e)g(pro)m(vide)f(sp)s(eci\014cations)g(for)h(F)-8 b(ortran)23
b(95)3227 4575 y FC(2)3268 4608 y FK(,)h(F)-8 b(ortran)24
b(77)g(and)0 4721 y(C.)h(Reference)h(implemen)m(tations)e(of)h(the)h
(standard)e(are)i(pro)m(vided)d(on)j(the)f(BLAS)g(T)-8
b(ec)m(hnical)25 b(F)-8 b(orum)25 b(w)m(ebpage)0 4834
y(\()p FD(
http://www.netlib.org/blas)o(/bl)o(ast-)o(foru)o(m/)p
FK(\).)32 b(Alternativ)m(e)23 b(language)g(bindings)c(for)j(C++)g(and)g
(Ja)m(v)-5 b(a)0 4946 y(w)m(ere)27 b(also)g(discussed)d(during)h(the)i
(meetings)f(of)h(the)g(forum,)f(but)g(the)h(sp)s(eci\014cations)f(for)g
(these)h(bindings)c(w)m(ere)0 5059 y(p)s(ostp)s(oned)29
b(for)h(a)h(future)e(series)h(of)g(meetings.)141 5172
y(The)j(remainder)e(of)i(this)f(c)m(hapter)i(is)e(organized)h(as)g
(follo)m(ws.)48 b(Section)33 b(1.2)h(pro)m(vides)e(motiv)-5
b(ation)33 b(for)g(the)p 0 5234 1560 4 v 104 5287 a FI(2)138
5319 y FB(the)26 b(curren)n(t)f(F)-6 b(ortran)25 b(standard)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 3 13
3 12 bop 0 -165 a FA(1.2.)72 b(MOTIV)-10 b(A)i(TION)3034
b FK(3)0 91 y(functionalit)m(y)-8 b(.)37 b(Section)23
b(1.3)h(outlines)d(the)j(organization)f(of)g(the)g(do)s(cumen)m(t,)h
(and)f(section)g(1.4)h(summarizes)e(the)0 204 y(nomenclature)34
b(and)g(con)m(v)m(en)m(tions)h(used)f(in)f(the)h(do)s(cumen)m(t.)53
b(Section)34 b(1.5)i(presen)m(ts)e(tables)g(of)g(functionalit)m(y)0
317 y(for)f(the)g(routines,)g(and)f(section)i(1.6)g(discusses)d(issues)
h(concerning)g(the)i(n)m(umerical)d(accuracy)j(of)g(the)f(BLAS.)0
430 y(Section)e(1.7)h(brie\015y)e(describ)s(es)f(the)i(presen)m(tation)
h(of)f(the)g(sp)s(eci\014cations)f(for)h(the)g(routines,)g(and)g
(section)g(1.8)0 543 y(details)e(the)i(error)f(handling)e(mec)m
(hanisms)h(utilized)f(within)g(the)j(routines.)0 829
y FE(1.2)116 b(Motivation)0 1032 y FK(The)32 b(motiv)-5
b(ation)32 b(for)h(the)g(k)m(ernel)f(op)s(erations)g(is)f(pro)m(v)m(en)
i(functionalit)m(y)-8 b(.)47 b(Man)m(y)33 b(of)g(the)g(new)f(op)s
(erations)g(are)0 1145 y(based)e(up)s(on)e(auxiliary)g(routines)h(in)g
(LAP)-8 b(A)m(CK)30 b([6)q(])g(\(e.g.,)i(SUMSQ,)d(GEN)p
2664 1145 28 4 v 33 w(GR)m(OT,)i(GEN)p 3226 1145 V 33
w(HOUSE,)f(SOR)-8 b(T,)0 1258 y(GE)p 138 1258 V 33 w(NORM,)39
b(GE)p 657 1258 V 33 w(COPY\).)f(Only)f(after)i(the)f(LAP)-8
b(A)m(CK)39 b(pro)5 b(ject)39 b(w)m(as)f(b)s(egun)g(w)m(as)g(it)g
(realized)g(that)h(there)0 1371 y(w)m(ere)31 b(op)s(erations)e(lik)m(e)
g(the)i(matrix)e(cop)m(y)i(routine)e(\(GE)p 1968 1371
V 33 w(COPY\),)h(the)h(computation)f(of)g(a)g(norm)g(of)g(a)h(matrix)0
1484 y(\(GE)p 173 1484 V 33 w(NORM\))e(and)g(the)g(generation)g(of)g
(Householder)e(transformations)h(\(GEN)p 2841 1484 V
34 w(HOUSE\))g(that)i(o)s(ccurred)e(so)0 1597 y(often)j(that)g(it)f(w)m
(as)g(wise)g(to)h(mak)m(e)g(separate)h(routines)d(for)h(them.)141
1710 y(A)21 b(second)g(group)g(of)g(these)g(op)s(erations)g(extended)g
(the)g(functionalit)m(y)e(of)i(some)h(of)f(the)g(existing)f(BLAS)h
(\(e.g.,)0 1823 y(AXPBY,)27 b(W)-10 b(AXPBY,)28 b(GER,)f(SYR/HER,)f
(SPR/HPR,)h(SYR2/HER2,)h(SPR2/HPR2\).)40 b(F)-8 b(or)28
b(example,)f(the)0 1936 y(Lev)m(el)34 b(3)h(BLAS)f(for)f(the)i(rank)e
Fy(k)k FK(up)s(date)d(of)g(a)g(symmetric)f(matrix)h(only)f(allo)m(ws)g
(a)i(p)s(ositiv)m(e)e(up)s(date,)h(whic)m(h)0 2049 y(means)42
b(that)g(it)g(cannot)g(b)s(e)g(used)f(for)g(the)i(reduction)d(of)j(a)f
(symmetric)f(matrix)g(to)i(tridiagonal)d(form)i(\(to)0
2161 y(facilitate)31 b(the)g(computation)g(of)h(the)f(eigensystem)g(of)
g(a)h(symmetric)e(matrix\),)h(or)g(for)g(the)h(factorization)f(of)h(a)0
2274 y(symmetric)e(inde\014nite)e(matrix,)i(or)g(for)g(a)h
(quasi-Newton)f(up)s(date)g(in)f(an)h(optimization)f(routine.)141
2387 y(Other)37 b(extensions)g(\(e.g.,)k(AXPY)p 1363
2387 V 33 w(DOT,)d(GE)p 1798 2387 V 33 w(SUM)p 2033 2387
V 33 w(MV,)g(GEMVT,)g(TRMVT,)f(GEMVER\))h(p)s(erform)0
2500 y(t)m(w)m(o)44 b(Lev)m(el)f(1)g(BLAS)f(\(or)h(Lev)m(el)g(2)g
(BLAS\))g(routine)f(calls)g(sim)m(ultaneously)e(to)k(increase)e(p)s
(erformance)g(b)m(y)0 2613 y(reducing)29 b(memory)h(tra\016c.)141
2726 y(One)40 b(imp)s(ortan)m(t)g(feature)h(of)g(the)g(new)f(standard)g
(is)g(the)h(inclusion)c(of)k(sparse)f(matrix)g(computational)0
2839 y(routines.)e(Because)28 b(there)f(are)g(man)m(y)g(formats)g
(commonly)f(used)g(to)i(represen)m(t)f(sparse)f(matrices,)i(the)f(Lev)m
(el)g(2)0 2952 y(and)f(Lev)m(el)h(3)g(Sparse)f(BLAS)h(routines)f
(utilize)f(an)i(abstract)g(represen)m(tation,)h(or)f(handle,)f(rather)h
(than)f(a)i(\014xed)0 3065 y(storage)40 b(description)c(\(e.g.)65
b(compressed)38 b(ro)m(w,)i(or)f(skyline)d(storage\).)66
b(This)36 b(handle-based)h(represen)m(tation)0 3178 y(allo)m(ws)21
b(one)g(to)h(write)e(p)s(ortable)g(n)m(umerical)g(algorithms)g(using)g
(the)h(Sparse)g(BLAS,)g(indep)s(enden)m(t)e(of)i(the)h(matrix)0
3291 y(storage)j(implemen)m(tation,)e(and)g(giv)m(es)g(BLAS)g(library)e
(dev)m(elop)s(ers)h(the)h(b)s(est)g(opp)s(ortunit)m(y)e(for)i
(optimizing)f(and)0 3403 y(\014ne-tuning)29 b(their)g(k)m(ernels)h(for)
g(sp)s(eci\014c)f(arc)m(hitectures)i(or)f(application)f(domains.)141
3516 y(The)37 b(original)f(Lev)m(el)i(2)g(BLAS)g(included,)f(as)h(an)f
(app)s(endix,)h(the)g(sp)s(eci\014cation)e(of)i(extended)g(precision)0
3629 y(subprograms.)f(With)23 b(the)g(widespread)f(adoption)h(of)g
(hardw)m(are)g(supp)s(orting)e(the)j(IEEE)e(extended)i(arithmetic)0
3742 y(format)37 b([37)q(],)i(as)d(w)m(ell)g(as)h(other)g(forms)f(of)g
(extended)h(precision)e(arithmetic,)i(together)i(with)c(the)i
(increased)0 3855 y(understanding)i(of)j(algorithms)e(to)j
(successfully)c(exploit)i(suc)m(h)h(arithmetic,)i(it)d(w)m(as)h(felt)f
(to)i(b)s(e)e(timely)f(to)0 3968 y(include)28 b(a)j(complete)g(sp)s
(eci\014cation)e(for)h(a)h(set)g(of)f(extra)h(precise)f(BLAS.)0
4254 y FE(1.3)116 b(Organization)37 b(of)h(the)i(Do)s(cument)0
4457 y FK(This)35 b(do)s(cumen)m(t)i(is)e(divided)f(in)m(to)j(c)m
(hapters,)i(app)s(endices,)e(a)g(journal)f(of)h(dev)m(elopmen)m(t,)i
(and)d(an)g(index.)59 b(It)0 4570 y(is)38 b(large,)k(and)d(it)g(is)g
(not)g(necessary)h(for)f(a)h(user)f(to)h(read)f(it)g(in)f(its)h(en)m
(tiret)m(y)-8 b(.)69 b(A)39 b(user)g(ma)m(y)h(c)m(ho)s(ose)h(to)f(not)0
4683 y(read)33 b(certain)g(c)m(hapters)h(or)f(sections)h(within)d(this)
h(do)s(cumen)m(t,)i(dep)s(ending)d(up)s(on)g(his/her)h(areas)i(of)g(in)
m(terest.)0 4796 y FG(Chapters)26 b(2{4)d FK(con)m(tain)g(a)h
(functionalit)m(y)d(discussion)f(and)i(language)i(bindings)19
b(for)k(dense)f(and)h(band,)g(sparse,)0 4909 y(and)34
b(mixed)f(and)h(extended)g(precision)f(BLAS,)i(resp)s(ectiv)m(ely)-8
b(.)52 b(The)34 b FG(Journal)40 b(of)g(Dev)m(elopmen)m(t)34
b FK(presen)m(ts)0 5022 y(areas)24 b(of)g(researc)m(h)g(that)g(are)g
(not)g(y)m(et)h(mature)e(enough)g(to)i(b)s(e)d(considered)h(as)h(c)m
(hapters,)h(but)e(w)m(ere)h(nev)m(ertheless)0 5135 y(discussed)29
b(at)j(the)f(meetings)g(of)g(the)g(forum.)42 b(A)31 b
FG(Bibliograph)m(y)h FK(is)f(also)g(pro)m(vided,)f(as)h(w)m(ell)f(as)h
(an)g FG(Index)g FK(of)0 5248 y(routine)e(names.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 4 14
4 13 bop 0 -165 a FK(4)2483 b FA(CHAPTER)29 b(1.)72 b(INTR)m(ODUCTION)
141 91 y FK(All)30 b(users)g(are)i(encouraged)g(to)g(frequen)m(tly)f
(refer)g(to)h(the)f(list)f(of)i(notation)f(denoted)g(in)f(sections)i
(1.4,)h(2.3,)0 204 y(and)d(3.4.)136 417 y FJ(\017)46
b FG(Chapter)e(1:)65 b(In)m(tro)s(duction)39 b FK(pro)m(vides)f(a)h
(brief)e(o)m(v)m(erview)i(of)g(the)f(bac)m(kground,)j(motiv)-5
b(ation,)41 b(and)227 530 y(history)31 b(of)h(the)h(BLAS)f(T)-8
b(ec)m(hnical)31 b(F)-8 b(orum)32 b(e\013ort.)47 b(It)32
b(also)g(outlines)f(the)h(structure)f(of)i(the)f(do)s(cumen)m(t,)227
643 y(con)m(v)m(en)m(tions)g(in)d(notation,)i(and)e(o)m(v)m(erall)i
(functionalit)m(y)e(con)m(tained)h(in)g(the)g(c)m(hapters.)136
830 y FJ(\017)46 b FG(Chapter)g(2:)71 b(Dense)47 b(and)f(Banded)h(BLAS)
41 b FK(presen)m(ts)g(the)g(functionalit)m(y)e(and)h(language)h(bind-)
227 943 y(ings)h(for)g(prop)s(osed)f(\\new")h(dense)g(and)g(banded)f
(BLAS)h(routines)g(for)g(serial)f(and)g(shared)h(memory)227
1056 y(computing.)136 1244 y FJ(\017)k FG(Chapter)38
b(3:)54 b(Sparse)39 b(BLAS)33 b FK(presen)m(ts)h(the)g(functionalit)m
(y)e(and)h(language)h(bindings)c(for)j(prop)s(osed)227
1357 y(\\new")e(sparse)f(BLAS)g(routines)f(for)i(serial)e(and)h(shared)
f(memory)h(computing.)136 1544 y FJ(\017)46 b FG(Chapter)35
b(4:)49 b(Extended)36 b(and)g(Mixed)g(Precision)i(BLAS)31
b FK(presen)m(ts)g(the)h(functionalit)m(y)e(and)g(lan-)227
1657 y(guage)c(bindings)21 b(for)k(prop)s(osed)e(extended-)i(precision)
d(and)i(mixed-precision)e(BLAS)i(routines)g(for)g(serial)227
1770 y(and)30 b(shared)g(memory)g(computing.)136 1958
y FJ(\017)46 b FG(App)s(endix)31 b FK(con)m(tains)g(p)s(ertinen)m(t)e
(de\014nitions)f(and)h(implemen)m(tation)g(details)h(for)g(the)g(c)m
(hapters.)136 2145 y FJ(\017)46 b FG(Legacy)32 b(BLAS)c
FK(con)m(tains)g(alternativ)m(e)f(language)h(bindings)c(for)k(the)f
(legacy)i(Lev)m(el)e(1,)i(2,)f(and)f(3)h(BLAS)227 2258
y(for)i(dense)g(and)g(band)f(matrix)h(computations.)136
2446 y FJ(\017)46 b FG(Journal)38 b(of)g(Dev)m(elopmen)m(t)32
b FK(con)m(tains)g(separate)i(prop)s(osals)d(for)h(en)m(vironmen)m(tal)
g(enquiry)f(routines,)227 2559 y(Distributed-memory)e(dense)h(BLAS,)g
(F)-8 b(ortran)31 b(95)h(Thin)c(BLAS,)i(and)g(In)m(terv)-5
b(al)30 b(BLAS.)0 2845 y FE(1.4)116 b(Nomenclature)37
b(and)i(Conventions)0 3048 y FK(This)24 b(section)j(addresses)e
(mathematical)i(notation)f(and)f(de\014nitions,)g(as)i(w)m(ell)e(as)h
(the)g(n)m(umerical)f(accuracy)i(for)0 3161 y(the)k(BLAS)f(routines.)39
b(Language-indep)s(enden)m(t)30 b(issues)f(are)i(also)f(presen)m(ted.)0
3404 y Fx(1.4.1)97 b(Notation)0 3576 y FK(The)30 b(follo)m(wing)f
(notation)h(is)g(used)f(throughout)h(the)h(do)s(cumen)m(t.)136
3789 y FJ(\017)46 b Fy(A)p FK(,)31 b Fy(B)5 b FK(,)30
b Fy(C)37 b FK({)31 b(matrices)136 3976 y FJ(\017)46
b Fy(D)s FK(,)31 b Fy(D)436 3990 y Fw(L)488 3976 y FK(,)g
Fy(D)619 3990 y Fw(R)707 3976 y FK({)g(diagonal)e(matrices)136
4164 y FJ(\017)46 b Fy(H)38 b FK({)30 b(Householder)g(matrix)136
4352 y FJ(\017)46 b Fy(J)40 b FK({)30 b(symmetric)g(tridiagonal)f
(matrix)h(\(including)d(2)21 b FJ(\002)f FK(2)30 b(blo)s(c)m(k)m(ed)h
(diagonal\))136 4539 y FJ(\017)46 b Fy(P)e FK({)30 b(p)s(erm)m(utation)
g(matrix)136 4727 y FJ(\017)46 b Fy(T)d FK({)31 b(triangular)e(matrix)
136 4914 y FJ(\017)46 b Fy(op)p FK(\()p Fy(A)p FK(\))31
b({)g(denotes)g Fy(A)p FK(,)g(or)f Fy(A)1194 4881 y Fw(T)1279
4914 y FK(or)h Fy(A)1459 4881 y Fw(H)1557 4914 y FK(where)e
Fy(A)i FK(is)e(a)i(matrix.)136 5102 y FJ(\017)46 b FK(transp)s(ose)30
b({)h(denotes)g Fy(A)1108 5069 y Fw(T)1193 5102 y FK(where)f
Fy(A)h FK(is)e(a)i(matrix.)136 5290 y FJ(\017)46 b FK(conjugate-transp)
s(ose)32 b({)e(denotes)h Fy(A)1519 5257 y Fw(H)1617 5290
y FK(where)f Fy(A)g FK(is)g(a)h(complex)f(Hermitian)f(matrix.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 5 15
5 14 bop 0 -165 a FA(1.4.)72 b(NOMENCLA)-8 b(TURE)30
b(AND)i(CONVENTIONS)1886 b FK(5)136 91 y FJ(\017)46 b
Fy(u)p FK(,)31 b Fy(v)s FK(,)g Fy(w)r FK(,)g Fy(x)p FK(,)f
Fy(y)s FK(,)h Fy(z)j FK({)d(v)m(ectors)136 279 y FJ(\017)52
b FK(\026)-51 b Fy(x)31 b FK({)f(sp)s(eci\014es)f(the)i(conjugate)g(of)
g(the)g(complex)f(v)m(ector)i Fy(x)136 467 y FJ(\017)46
b Fy(incu)p FK(,)25 b Fy(incv)s FK(,)g Fy(incw)r FK(,)h
Fy(incx)p FK(,)e Fy(incy)s FK(,)h Fy(incz)i FK({)c(stride)f(b)s(et)m(w)
m(een)i(successiv)m(e)f(elemen)m(ts)g(of)g(the)g(resp)s(ectiv)m(e)g(v)m
(ector)136 654 y FJ(\017)46 b FK(Greek)31 b(letters)g(-)f(scalars)h
(\(but)f(not)g(exclusiv)m(ely)f(Greek)i(letters\))136
842 y FJ(\017)46 b Fy(x)279 856 y Fw(i)338 842 y FK(-)30
b(an)h(elemen)m(t)f(of)h(a)g(one-dimensional)d(arra)m(y)136
1029 y FJ(\017)46 b Fy(y)s FJ(j)300 1043 y Fw(x)375 1029
y FK({)30 b(refers)g(to)h(the)g(elemen)m(ts)g(of)f Fy(y)j
FK(that)e(ha)m(v)m(e)h(common)f(indices)d(with)h(the)i(sparse)f(v)m
(ector)i Fy(x)p FK(.)136 1217 y FJ(\017)46 b Fy(\017)30
b FK(-)h(mac)m(hine)f(epsilon)136 1405 y FJ(\017)46 b( )30
b FK({)h(assignmen)m(t)f(statemen)m(t)136 1592 y FJ(\017)46
b($)30 b FK({)h(sw)m(ap)f(\(assignmen)m(t\))h(statemen)m(t)136
1780 y FJ(\017)46 b(jj)21 b(\001)f(jj)393 1794 y Fw(p)464
1780 y FK({)31 b(the)f(p-norm)g(of)g(a)h(v)m(ector)h(or)e(matrix)141
1993 y(Additional)e(notation)j(for)f(sparse)g(matrices)g(can)h(b)s(e)f
(found)f(in)g(3.4.)141 2105 y(F)-8 b(or)23 b(the)g(mathematical)f(form)
m(ulation)f(of)i(the)f(op)s(erations,)i(as)e(w)m(ell)f(as)i(their)e
(algorithmic)g(presen)m(tation,)j(w)m(e)0 2218 y(ha)m(v)m(e)33
b(c)m(hosen)g(to)g(index)d(the)j(v)m(ector)g(and)f(matrix)f(op)s
(erands)g(starting)h(from)g(zero.)46 b(This)31 b(decision)f(w)m(as)j
(tak)m(en)0 2331 y(to)40 b(simplify)35 b(the)40 b(presen)m(tation)f(of)
g(the)g(do)s(cumen)m(t)g(but)f(has)h(no)g(impact)g(on)g(the)g(con)m(v)m
(en)m(tion)h(a)g(particular)0 2444 y(language)31 b(binding)c(ma)m(y)k
(c)m(ho)s(ose.)0 2688 y Fx(1.4.2)97 b(Op)s(erato)m(r)33
b(Arguments)0 2859 y FK(Some)44 b(BLAS)h(routines)e(tak)m(e)j
(input-only)c(argumen)m(ts)i(that)h(are)g(called)f(\\op)s(erator")h
(argumen)m(ts.)83 b(These)0 2972 y(argumen)m(ts)38 b(allo)m(w)g(for)g
(the)g(sp)s(eci\014cation)f(of)h(m)m(ultiple)e(related)i(op)s(erations)
g(to)h(b)s(e)e(p)s(erformed)g(b)m(y)h(a)g(single)0 3085
y(function.)141 3198 y(The)31 b(op)s(erator)g(argumen)m(ts)g(used)f(in)
g(this)f(do)s(cumen)m(t)i(are)g Fv(no)m(rm)p FK(,)i Fv(so)m(rt)p
FK(,)f Fv(side)p FK(,)f Fv(uplo)p FK(,)g Fv(trans)p FK(,)g
Fv(conj)p FK(,)h Fv(diag)p FK(,)f Fv(jrot)p FK(,)0 3311
y Fv(o)m(rder)p FK(,)h Fv(index)p 451 3311 28 4 v 33
w(base)p FK(,)e(and)g Fv(p)m(rec)p FK(.)42 b(Their)29
b(p)s(ossible)f(meanings)h(are)i(de\014ned)e(as)i(follo)m(ws:)-37
3498 y Fv(no)m(rm)p FK(:)47 b(this)21 b(argumen)m(t)g(is)g(used)f(b)m
(y)h(the)h(routines)e(computing)h(the)g(norm)g(of)g(a)h(v)m(ector)h(or)
e(matrix.)37 b(Eigh)m(t)21 b(p)s(ossible)227 3611 y(distinct)35
b(v)-5 b(alues)35 b(are)h(v)-5 b(alid)35 b(that)h(sp)s(ecify)f(the)h
(norm)g(to)g(b)s(e)g(computed,)h(namely)e(the)i(one-norm,)g(real)227
3724 y(one-norm,)47 b(in\014nit)m(y-norm)40 b(and)j(real)f(in\014nit)m
(y)f(norms)h(for)h(v)m(ectors)i(and)d(matrices,)47 b(the)c(2-norm)g
(for)227 3837 y(v)m(ectors,)32 b(and)e(the)h(F)-8 b(rob)s(enius-norm,)
28 b(max-norm)i(and)g(real)g(max-norm)g(for)g(matrices.)15
4025 y Fv(so)m(rt)p FK(:)46 b(this)38 b(argumen)m(t)h(is)f(used)g(b)m
(y)h(the)g(sorting)f(routines.)65 b(Tw)m(o)38 b(p)s(ossible)f(distinct)
g(v)-5 b(alues)38 b(are)h(v)-5 b(alid)37 b(that)227 4138
y(sp)s(ecify)29 b(whether)h(the)h(data)g(should)d(b)s(e)i(sorted)g(in)f
(increasing)g(or)i(decreasing)f(order.)13 4325 y Fv(side)p
FK(:)45 b(this)37 b(argumen)m(t)h(is)f(used)g(only)g(b)m(y)h(functions)
e(computing)h(the)h(pro)s(duct)e(of)i(t)m(w)m(o)h(matrices)f
Fy(A)g FK(and)f Fy(B)5 b FK(.)227 4438 y(Tw)m(o)25 b(p)s(ossible)d
(distinct)h(v)-5 b(alues)23 b(are)i(v)-5 b(alid,)24 b(that)h(sp)s
(ecify)f(whether)f Fy(A)8 b FJ(\001)g Fy(B)30 b FK(or)25
b Fy(B)13 b FJ(\001)8 b Fy(A)25 b FK(should)d(b)s(e)i(computed.)-5
4626 y Fv(uplo)p FK(:)46 b(this)24 b(argumen)m(t)h(refers)f(to)h
(triangular)e(and)h(symmetric)g(\(Hermitian\))g(matrices.)39
b(Tw)m(o)24 b(p)s(ossible)f(distinct)227 4739 y(v)-5
b(alues)31 b(are)h(v)-5 b(alid)30 b(distinguishing)e(whether)j(the)h
(matrix,)f(or)h(its)f(storage)i(represen)m(tation,)g(is)d(upp)s(er)g
(or)227 4852 y(lo)m(w)m(er)h(triangular.)-33 5039 y Fv(trans)p
FK(:)45 b(this)28 b(argumen)m(t)h(is)f(used)g(b)m(y)h(the)g(routines)f
(applying)f(a)i(matrix,)g(sa)m(y)g Fy(A)p FK(,)h(to)f(another)g(v)m
(ector)i(or)e(another)227 5152 y(matrix.)40 b(Three)29
b(p)s(ossible)d(distinct)i(v)-5 b(alues)28 b(are)i(v)-5
b(alid)27 b(that)j(sp)s(ecify)d(whether)i(the)g(matrix)g
Fy(A)p FK(,)g(its)g(trans-)227 5265 y(p)s(ose)e Fy(A)497
5232 y Fw(T)578 5265 y FK(or)g(its)f(conjugate)i(transp)s(ose)e
Fy(A)1689 5232 y Fw(H)1782 5265 y FK(should)f(b)s(e)h(applied.)37
b(W)-8 b(e)28 b(use)e(the)h(notation)g Fy(op)p FK(\()p
Fy(A)p FK(\))g(to)g(refer)227 5378 y(to)k Fy(A)p FK(,)g
Fy(A)530 5345 y Fw(T)616 5378 y FK(or)f Fy(A)795 5345
y Fw(H)893 5378 y FK(dep)s(ending)e(on)i(the)g(input)f(v)-5
b(alue)30 b(of)g(the)h Fv(trans)e FK(op)s(erator)i(argumen)m(t.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 6 16
6 15 bop 0 -165 a FK(6)2483 b FA(CHAPTER)29 b(1.)72 b(INTR)m(ODUCTION)
-1 91 y Fv(conj)p FK(:)47 b(this)30 b(argumen)m(t)g(is)g(used)f(b)m(y)i
(the)f(complex)g(routines)f(op)s(erating)h(with)35 b(\026)-51
b Fy(x)31 b FK(or)f Fy(x)p FK(.)-1 267 y Fv(diag)p FK(:)45
b(this)26 b(argumen)m(t)i(refers)f(exclusiv)m(ely)f(to)i(triangular)e
(matrices.)39 b(Tw)m(o)28 b(p)s(ossible)d(distinct)g(v)-5
b(alues)27 b(are)h(v)-5 b(alid)227 380 y(distinguishing)26
b(whether)k(the)g(triangular)f(matrix)h(has)g(unit-diagonal)f(or)h
(not.)23 556 y Fv(jrot)p FK(:)46 b(this)37 b(argumen)m(t)h(is)f(used)g
(b)m(y)h(the)g(routine)e(to)j(generate)g(Jacobi)f(rotations.)63
b(Three)37 b(p)s(ossible)f(distinct)227 669 y(v)-5 b(alues)29
b(are)g(v)-5 b(alid)28 b(and)g(sp)s(ecify)g(whether)g(the)h(rotation)h
(is)e(an)h(inner)e(rotation,)j(an)f(outer)h(rotation,)f(or)h(a)227
782 y(sorted)h(rotation.)-36 958 y Fv(o)m(rder)p FK(:)47
b(this)33 b(argumen)m(t)h(is)e(used)h(b)m(y)h(the)f(C)g(bindings)e(to)j
(sp)s(ecify)e(if)h(elemen)m(ts)h(within)d(a)j(ro)m(w)f(of)h(an)f(arra)m
(y)i(are)227 1071 y(con)m(tiguous,)c(or)f(if)g(elemen)m(ts)g(within)e
(a)j(column)e(of)i(an)f(arra)m(y)h(are)g(con)m(tiguous)f(\(see)i
(section)e(2.6.6\).)-240 1247 y Fv(index)p -37 1247 28
4 v 33 w(base)p FK(:)45 b(this)35 b(argumen)m(t)g(is)g(used)f(b)m(y)h
(Chapter)g(3)h(to)g(sp)s(ecify)e(either)h(one-based)g(or)h(zero-based)g
(indexing)d(\(see)227 1359 y(section)e(3.4.1\).)0 1535
y Fv(p)m(rec)p FK(:)47 b(this)41 b(argumen)m(t)i(is)e(used)g(in)g
(Chapter)h(4)g(and)g(sp)s(eci\014es)f(the)h(in)m(ternal)f(precision)f
(to)j(b)s(e)f(used)f(b)m(y)h(an)227 1648 y(extended)37
b(precision)d(routine.)58 b(F)-8 b(our)37 b(distinct)e(v)-5
b(alues)35 b(are)i(v)-5 b(alid)35 b(and)h(sp)s(ecify)f(whether)h(the)g
(in)m(ternal)227 1761 y(precision)30 b(is)h(single)f(precision,)g
(double)h(precision,)f(indigenous,)g(or)h(extra.)46 b(Details)31
b(on)h(these)g(settings)227 1874 y(can)f(b)s(e)f(found)f(in)g(section)h
(4.3.1.)141 2032 y(All)24 b(p)s(ossible)f(meanings)h(for)i(eac)m(h)g
(op)s(erator)g(are)f(listed)f(in)g(section)i(A.3.)40
b(Their)23 b(represen)m(tation)j(is)e(de\014ned)0 2145
y(in)40 b(the)i(in)m(terface)g(issues)e(for)h(the)g(sp)s(eci\014c)g
(programming)f(language:)63 b(sections)41 b(2.4,)46 b(3.6.1,)g(and)41
b(4.4.1)i(for)0 2258 y(F)-8 b(ortran)25 b(95;)i(sections)d(2.5,)j
(3.6.2,)g(and)c(4.4.2)j(for)e(F)-8 b(ortran)25 b(77;)i(and)c(sections)
48 b(2.6,)27 b(3.6.3,)g(and)d(4.4.3)i(for)e(C.)f(The)0
2371 y(v)-5 b(alues)28 b(of)g(the)g(F)-8 b(ortran)29
b(95)h(deriv)m(ed)d(t)m(yp)s(es)h(\(for)h(Chapters)e(2)i(and)e(4\))i
(are)g(de\014ned)e(in)g(the)i(F)-8 b(ortran)28 b(95)i(mo)s(dule)0
2484 y FD(blas)p 198 2484 29 4 v 33 w(operator)p 615
2484 V 32 w(arguments)p FK(,)f(and)h(the)g(v)-5 b(alues)30
b(of)h(the)g(F)-8 b(ortran)31 b(95)g(named)f(constan)m(ts)i(\(for)e
(Chapter)g(3\))i(are)0 2597 y(de\014ned)g(in)g FD(blas)p
623 2597 V 33 w(sparse)p 944 2597 V 33 w(namedconstants)p
FK(,)f(see)j(section)f(A.4.)51 b(Similarly)-8 b(,)31
b(the)i(v)-5 b(alues)33 b(of)g(the)h(F)-8 b(ortran)34
b(77)0 2710 y(named)26 b(constan)m(ts)h(are)g(de\014ned)e(in)g(the)i(F)
-8 b(ortran)27 b(77)g(include)d(\014le)h FD(blas)p 2491
2710 V 33 w(namedconstants.h)p FK(,)e(in)i(section)i(A.5.)0
2823 y(And)g(\014nally)-8 b(,)28 b(the)g(v)-5 b(alues)28
b(of)g(the)h(C)e(en)m(umerated)i(t)m(yp)s(es)f(are)h(de\014ned)e(in)g
(the)h(C)g(include)e(\014le)i FD(blas)p 3457 2823 V 33
w(enum.h)p FK(,)f(in)0 2936 y(section)k(A.6.)227 3113
y Fz(R)-5 b(ationale.)105 b FK(The)34 b(in)m(ten)m(t)g(is)f(to)i(pro)m
(vide)e(eac)m(h)i(language)g(binding)c(with)h(the)j(opp)s(ortunit)m(y)d
(to)j(c)m(ho)s(ose)227 3226 y(the)29 b(most)g(appropriate)e(form)h
(these)h(argumen)m(ts)g(should)d(tak)m(e.)42 b(F)-8 b(or)29
b(example,)g(in)e(F)-8 b(ortran)29 b(95,)h(deriv)m(ed)227
3339 y(t)m(yp)s(es)h(with)f(named)h(constan)m(ts)h(ha)m(v)m(e)h(b)s
(een)d(selected)i(for)f(Chapters)f(2)i(and)f(4,)h(whereas)f(deriv)m(ed)
f(t)m(yp)s(es)227 3452 y(could)35 b(not)h(b)s(e)f(used)g(in)f(Chapter)h
(3)h(\(see)h(section)f(3.6.1)h(for)f(details\).)56 b(In)35
b(F)-8 b(ortran)36 b(77,)i(in)m(tegers)e(with)227 3565
y(named)27 b(constan)m(ts)i(ha)m(v)m(e)g(b)s(een)e(c)m(hosen.)40
b(And)27 b(\014nally)-8 b(,)27 b(in)f(C,)i(op)s(erator)g(argumen)m(ts)f
(are)h(represen)m(ted)g(b)m(y)227 3678 y(en)m(umerated)j(t)m(yp)s(es.)
41 b(\()p Fz(End)33 b(of)g(r)-5 b(ationale.)p FK(\))0
3916 y Fx(1.4.3)97 b(Scala)m(r)33 b(Arguments)0 4087
y FK(Man)m(y)f(scalar)f(argumen)m(ts)g(are)g(used)f(in)g(the)h(sp)s
(eci\014cations)f(of)h(the)g(BLAS)g(routines.)41 b(F)-8
b(or)32 b(example,)f(the)g(size)0 4200 y(of)37 b(a)h(v)m(ector)g(or)g
(matrix)e(op)s(erand)g(is)g(determined)g(b)m(y)h(the)g(in)m(teger)h
(argumen)m(t\(s\))g Fv(m)f FK(and/or)g Fv(n)p FK(.)61
b(Note)38 b(that)0 4313 y(it)h(is)g(p)s(ermissible)d(to)k(call)f(the)h
(routines)f(with)g Fv(m)g FK(or)h Fv(n)g FK(equal)f(to)i(zero,)i(in)38
b(whic)m(h)h(case)h(the)g(routine)f(exits)0 4426 y(immediately)29
b(without)h(referencing)g(its)g(v)m(ector/matrix)i(elemen)m(ts.)43
b(Some)30 b(routines)g(return)g(a)h(displacemen)m(t)0
4539 y(denoted)41 b(b)m(y)f(the)h(in)m(teger)g(argumen)m(t)g
Fv(k)p FK(.)72 b(The)40 b(scaling)f(of)i(a)g(v)m(ector)h(or)f(matrix)f
(is)g(often)h(denoted)f(b)m(y)h(the)0 4652 y(argumen)m(ts)31
b Fv(alpha)e FK(and)h Fv(b)s(eta)p FK(.)141 4765 y(The)g(follo)m(wing)f
(sym)m(b)s(ols)g(are)i(used:)40 b Fv(a)p FK(,)30 b Fv(b)p
FK(,)g Fv(c)p FK(,)h Fv(d)p FK(,)g Fv(r)p FK(,)f Fv(s)p
FK(,)h Fv(t)p FK(,)f Fv(alpha)p FK(,)g Fv(b)s(eta)f FK(and)h
Fv(tau)p FK(.)0 5003 y Fx(1.4.4)97 b(V)m(ecto)m(r)34
b(Op)s(erands)0 5174 y FK(A)27 b Fy(n)p FK(-length)g(v)m(ector)h(op)s
(erand)f Fy(x)g FK(is)f(sp)s(eci\014ed)f(b)m(y)i(t)m(w)m(o)i(argumen)m
(ts)e({)h Fv(x)f FK(and)f Fv(incx)p FK(.)40 b Fv(x)27
b FK(is)f(an)h(arra)m(y)h(that)g(con)m(tains)0 5287 y(the)j(en)m(tries)
g(of)g(the)h Fy(n)p FK(-length)e(v)m(ector)j Fy(x)p FK(.)42
b Fv(incx)31 b FK(is)f(the)i(stride)d(within)g Fv(x)i
FK(b)s(et)m(w)m(een)h(t)m(w)m(o)g(successiv)m(e)f(elemen)m(ts)h(of)0
5400 y(the)f(v)m(ector)h Fy(x)p FK(.)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 7 17
7 16 bop 0 -165 a FA(1.4.)72 b(NOMENCLA)-8 b(TURE)30
b(AND)i(CONVENTIONS)1886 b FK(7)141 91 y(The)37 b(follo)m(wing)f(lo)m
(w)m(ercase)i(letters)g(are)f(used)g(to)h(denote)g(a)f(v)m(ector:)56
b Fv(u,)39 b(v,)h(w,)f(x,)g(y)p FK(,)g(and)e Fv(z)p FK(.)60
b(The)37 b(corre-)0 204 y(sp)s(onding)28 b(strides)h(are)i(resp)s
(ectiv)m(ely)e(denoted)i Fv(incu,)g(incv,)f(incw,)h(incx,)f(incy)p
FK(,)h(and)f Fv(incz)p FK(.)227 417 y Fz(A)-5 b(dvic)g(e)34
b(to)g(implementors.)91 b FK(The)31 b(incremen)m(t)h(argumen)m(ts)f
Fv(incu,)i(incv,)f(incw,)g(incx,)g(incy)g FK(and)f Fv(incz)g
FK(ma)m(y)227 530 y(not)g(b)s(e)f(zero.)41 b(\()p Fz(End)33
b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p FK(\))0
742 y FG(Example:)43 b FK(The)31 b(mathematical)i(function)e(returning)
f(the)i(inner-pro)s(duct)e Fy(r)k FK(of)f(t)m(w)m(o)g(real)f
Fy(n)p FK(-length)f(v)m(ectors)0 855 y Fy(x)f FK(and)g
Fy(y)j FK(can)e(b)s(e)f(de\014ned)f(b)m(y:)1566 1038
y Fy(r)f FK(=)d Fy(x)1783 1000 y Fw(T)1838 1038 y Fy(y)j
FK(=)2007 932 y Fw(n)p Fu(\000)p FC(1)2014 957 y Ft(X)2017
1139 y Fw(i)p FC(=0)2155 1038 y Fy(x)2207 1052 y Fw(i)2236
1038 y Fy(y)2281 1052 y Fw(i)2308 1038 y Fy(:)227 1319
y Fz(R)-5 b(ationale.)81 b FK(The)28 b(argumen)m(ts)g
Fv(incx,)g FK(and)f Fv(incy)h FK(do)f(not)h(pla)m(y)g(a)g(role)f(in)f
(the)i(mathematical)g(form)m(ulation)227 1432 y(of)d(the)g(op)s
(eration.)38 b(These)25 b(argumen)m(ts)g(allo)m(w)f(for)h(the)g(sp)s
(eci\014cation)e(of)i(sub)m(v)m(ector)h(op)s(erands)d(in)h(v)-5
b(arious)227 1545 y(language)34 b(bindings.)45 b(Therefore,)34
b(some)f(of)g(these)h(argumen)m(ts)f(ma)m(y)h(not)f(b)s(e)g(presen)m(t)
g(in)e(all)h(language-)227 1657 y(dep)s(enden)m(t)e(sp)s
(eci\014cations.)39 b(\()p Fz(End)33 b(of)g(r)-5 b(ationale.)p
FK(\))0 1901 y Fx(1.4.5)97 b(Matrix)32 b(Op)s(erands)0
2073 y FK(A)45 b Fy(m)p FK(-b)m(y-)p Fy(n)g FK(matrix)f(op)s(erand)g
Fy(A)h FK(is)f(sp)s(eci\014ed)f(b)m(y)i(the)g(argumen)m(t)g
Fv(A)p FK(.)g Fv(A)f FK(is)g(a)i(language-dep)s(enden)m(t)e(data)0
2185 y(structure)32 b(con)m(taining)g(the)h(en)m(tries)f(of)h(the)g
(matrix)f(op)s(erand)f Fy(A)p FK(.)48 b(The)32 b(represen)m(tation)g
(of)h(the)g(matrix)f(en)m(try)0 2298 y Fy(a)48 2312 y
Fw(i;j)159 2298 y FK(in)d Fv(A)g FK(is)h(denoted)g(b)m(y)h
Fv(A\(i,j\))f FK(for)h(all)e(\(i,j\))h(in)f(the)i(in)m(terv)-5
b(al)29 b([0)15 b Fy(:)g(:)g(:)i(m)j FJ(\000)g FK(1])h
FJ(\002)f FK([0)15 b Fy(:)g(:)g(:)i(n)j FJ(\000)g FK(1].)141
2411 y(Capital)38 b(letters)h(are)h(used)e(to)i(denote)f(a)h(matrix.)66
b(The)38 b(functions)g(in)m(v)m(olving)g(matrices)h(use)f(only)h(four)0
2524 y(sym)m(b)s(ols,)29 b(namely)h Fv(A,)g(B,)g(C)p
FK(,)h(and)f Fv(T)p FK(.)0 2768 y Fx(1.4.6)97 b(Naming)33
b(Conventions)0 2939 y FK(Language)e(bindings)c(are)k(sp)s(eci\014ed)e
(for)h(F)-8 b(ortran)31 b(95,)h(F)-8 b(ortran)31 b(77,)g(and)f(C.)141
3052 y(The)24 b(F)-8 b(ortran)26 b(95)f(language)g(bindings)d(ha)m(v)m
(e)j(routine)f(names)h(of)f(the)h(form)f Fy(<)p FG(name)p
Fy(>)p FK(,)h(where)f Fy(<)p FG(name)p Fy(>)f FK(is)0
3165 y(in)g(lo)m(w)m(ercase)j(letters)f(and)f(indicates)g(the)h
(computation)f(p)s(erformed.)38 b(These)24 b(bindings)e(use)i(generic)h
(in)m(terfaces)0 3278 y(to)30 b(manipulate)d(the)i(data)h(t)m(yp)s(e)f
(of)g(the)g(routine,)f(and)h(th)m(us)f(their)g(names)h(do)g(not)g(con)m
(tain)g(a)h(letter)f(to)g(denote)0 3391 y(the)i(data)g(t)m(yp)s(e.)141
3504 y(The)f(F)-8 b(ortran)31 b(77)g(and)f(C)g(language)h(bindings)c
(ha)m(v)m(e)32 b(routine)d(names)h(of)h(the)f(form)0
3617 y FG(BLAS)p 280 3617 32 4 v 38 w(x)p Fy(<)p FG(name)p
Fy(>)p FK(,)f(where)h(the)h(letter)f FG(x)p FK(,)h(indicates)e(the)i
(data)g(t)m(yp)s(e)f(as)h(follo)m(ws:)p 141 3796 3021
4 v 139 3909 4 113 v 191 3875 a(Data)h(t)m(yp)s(e)p 742
3909 V 203 w(x)p 911 3909 V 121 w(F)-8 b(ortran)31 b(77)p
2647 3909 V 1316 w(x)p 2798 3909 V 102 w(C)p 3160 3909
V 141 3912 3021 4 v 139 4025 4 113 v 191 3991 a(s.p.)40
b(real)p 742 4025 V 279 w(S)p 911 4025 V 118 w(REAL)p
2647 4025 V 1482 w(s)p 2798 4025 V 114 w(\015oat)p 3160
4025 V 139 4138 V 191 4104 a(d.p.)g(real)p 742 4138 V
264 w(D)p 911 4138 V 100 w(DOUBLE)30 b(PRECISION)p 2647
4138 V 802 w(d)p 2798 4138 V 99 w(double)p 3160 4138
V 139 4251 V 191 4217 a(s.p.)40 b(complex)p 742 4251
V 100 w(C)p 911 4251 V 103 w(COMPLEX)p 2647 4251 V 1267
w(c)p 2798 4251 V 110 w(\015oat)p 3160 4251 V 139 4364
V 191 4330 a(d.p.complex)p 742 4364 V 125 w(Z)p 911 4364
V 113 w(COMPLEX*16)31 b(or)f(DOUBLE)h(COMPLEX)p 2647
4364 V 99 w(z)p 2798 4364 V 110 w(double)p 3160 4364
V 141 4367 3021 4 v 141 4589 a(The)f(su\016x)f Fy(<)p
FG(name)p Fy(>)f FK(in)h(the)h(routine)f(name)h(indicates)f(the)h
(computation)g(p)s(erformed.)39 b(In)29 b(the)h(matrix-)0
4702 y(v)m(ector)f(and)d(matrix-matrix)g(routines)g(of)h(Chapters)f(2)h
(and)f(4)i(\(and)e(App)s(endix)f(C.4\),)j(the)f(t)m(yp)s(e)g(of)g(the)h
(matrix)0 4814 y(\(or)34 b(of)f(the)h(most)f(signi\014can)m(t)g
(matrix\))g(is)f(also)h(sp)s(eci\014ed)f(as)i(part)f(of)g(this)g
Fy(<)p FG(name)p Fy(>)e FK(name)j(of)f(the)h(routine.)0
4927 y(Most)27 b(of)f(these)g(matrix)f(t)m(yp)s(es)h(apply)f(to)h(b)s
(oth)f(real)h(and)f(complex)h(matrices;)h(a)f(few)g(apply)e(sp)s
(eci\014cally)g(to)j(one)0 5040 y(or)i(the)g(other,)h(as)f(indicated)e
(b)s(elo)m(w.)40 b(Note)30 b(that)f(for)g(App)s(endix)d(C.4,)k(these)f
(matrix)g(t)m(yp)s(es)g(apply)e(to)j(in)m(terv)-5 b(al)0
5153 y(matrices.)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 8 18
8 17 bop 0 -165 a FK(8)2483 b FA(CHAPTER)29 b(1.)72 b(INTR)m(ODUCTION)
191 79 y FK(GB)100 b(general)31 b(band)191 192 y(GE)102
b(general)31 b(\(i.e.,)g(unsymmetric,)e(in)g(some)i(cases)g
(rectangular\))191 305 y(HB)103 b(\(complex\))31 b(Hermitian)e(band)191
418 y(HE)105 b(\(complex\))31 b(Hermitian)191 531 y(HP)105
b(\(complex\))31 b(Hermitian,)e(pac)m(k)m(ed)j(storage)191
644 y(SB)120 b(\(real\))31 b(symmetric)f(band)191 756
y(SP)122 b(symmetric,)30 b(pac)m(k)m(ed)i(storage)191
869 y(SY)116 b(symmetric)191 982 y(TB)105 b(triangular)29
b(band)191 1095 y(TP)107 b(triangular,)29 b(pac)m(k)m(ed)j(storage)191
1208 y(TR)102 b(triangular)29 b(\(or)i(in)e(some)i(cases)g
(quasi-triangular\))191 1321 y(US)116 b(unstructured)29
b(sparse)141 1486 y(F)-8 b(or)29 b(F)-8 b(ortran)28 b(77,)i(routine)c
(names)i(are)g(in)f(upp)s(ercase)g(letters;)i(ho)m(w)m(ev)m(er,)h(for)e
(the)g(C)f(in)m(terfaces)h(all)f(routine)0 1599 y(names)e(are)g(in)e
(lo)m(w)m(ercase)j(letters.)39 b(T)-8 b(o)25 b(a)m(v)m(oid)g(p)s
(ossible)e(name)h(collisions,)g(programmers)g(are)h(strongly)f(advised)
0 1712 y(not)31 b(to)g(declare)f(v)-5 b(ariables)29 b(or)h(functions)f
(with)g(names)i(b)s(eginning)c(with)i(these)i(pre\014xes.)141
1825 y(A)38 b(detailed)e(discussion)f(of)i(the)h(format)g(of)f(the)h
Fy(<)p FG(name)p Fy(>)e FK(naming)g(con)m(v)m(en)m(tion)j(is)d(con)m
(tained)i(in)e(eac)m(h)0 1938 y(resp)s(ectiv)m(e)30 b(c)m(hapter)h(of)g
(the)g(do)s(cumen)m(t.)0 2220 y FE(1.5)116 b(Overall)37
b(F)m(unctionalit)m(y)0 2423 y FK(This)32 b(section)i(summarizes,)f(in)
f(tabular)h(form,)h(the)g(functionalit)m(y)e(of)i(the)g(prop)s(osed)e
(routines.)49 b(Issues)33 b(suc)m(h)0 2535 y(as)27 b(storage)h(formats)
f(or)g(data)h(t)m(yp)s(es)e(are)h(not)g(addressed.)39
b(The)26 b(functionalit)m(y)g(of)g(the)h(existing)f(Lev)m(el)h(1,)h(2)g
(and)0 2648 y(3)j(BLAS)f([39)q(,)h(22)q(,)f(26)q(,)h(25)q(])f(is)f(a)i
(subset)f(of)h(the)f(functionalit)m(y)f(prop)s(osed)g(in)g(this)g(do)s
(cumen)m(t.)141 2761 y(In)35 b(the)h(original)e(BLAS,)h(eac)m(h)i(lev)m
(el)e(w)m(as)h(categorized)h(b)m(y)f(the)g(t)m(yp)s(e)f(of)h(op)s
(eration;)i(Lev)m(el)e(1)g(addressed)0 2874 y(scalar)c(and)f(v)m(ector)
j(op)s(erations,)e(Lev)m(el)g(2)h(addressed)e(matrix-v)m(ector)i(op)s
(erations,)f(while)e(Lev)m(el)i(3)h(addressed)0 2987
y(matrix-matrix)h(op)s(erations.)55 b(The)35 b(functionalit)m(y)e
(tables)i(in)f(this)g(do)s(cumen)m(t)h(are)h(categorized)h(in)d(a)i
(similar)0 3100 y(manner,)j(with)d(additional)f(categories)k(to)f(co)m
(v)m(er)h(op)s(erations)e(whic)m(h)f(w)m(ere)i(not)g(addressed)e(in)g
(the)i(original)0 3213 y(BLAS.)141 3326 y(Unless)31 b(otherwise)g(sp)s
(eci\014ed,)g(the)h(op)s(erations)g(apply)e(to)j(b)s(oth)e(real)g(and)h
(complex)f(argumen)m(ts.)46 b(F)-8 b(or)33 b(the)0 3439
y(sak)m(e)d(of)g(compactness)g(the)f(complex)g(op)s(erators)g(are)g
(omitted,)h(so)f(that)h(whenev)m(er)f(a)h(transp)s(ose)e(op)s(eration)h
(is)0 3552 y(giv)m(en)h(the)h(conjugate)h(transp)s(ose)d(should)g(also)
h(b)s(e)g(assumed)f(for)i(the)f(complex)g(case.)141 3665
y(The)42 b(last)g(column)f(of)h(eac)m(h)i(table)e(denotes)h(in)e(whic)m
(h)g(c)m(hapter)h(of)h(this)e(do)s(cumen)m(t)h(the)g(functionalit)m(y)0
3777 y(o)s(ccurs.)e(Sp)s(eci\014cally)-8 b(,)136 3940
y FJ(\017)46 b FK(\\D")32 b(denotes)f(dense)f(and)f(banded)h(BLAS)g
(\(Chapter)g(2\),)136 4117 y FJ(\017)46 b FK(\\S")31
b(denotes)g(sparse)f(BLAS)g(\(Chapter)g(3\),)h(and)136
4295 y FJ(\017)46 b FK(\\E")31 b(denotes)g(extended)g(and)e(mixed)g
(precision)g(BLAS)h(\(Chapter)g(4\).)0 4533 y Fx(1.5.1)97
b(Scala)m(r)33 b(and)f(V)m(ecto)m(r)j(Op)s(erations)0
4705 y FK(This)e(section)i(lists)e(scalar)i(and)f(v)m(ector)i(op)s
(erations.)54 b(The)34 b(functionalit)m(y)f(tables)i(are)g(organized)g
(as)g(follo)m(ws.)0 4818 y(T)-8 b(able)28 b(1.1)h(lists)d(the)j(scalar)
f(and)f(v)m(ector)j(reduction)d(op)s(erations,)h(T)-8
b(able)28 b(1.2)h(lists)d(the)j(v)m(ector)g(rotation)g(op)s(era-)0
4931 y(tions,)g(T)-8 b(able)29 b(1.3)h(lists)e(the)h(v)m(ector)i(op)s
(erations,)e(and)g(T)-8 b(able)29 b(1.4)h(lists)e(those)i(v)m(ector)g
(op)s(erations)f(that)h(in)m(v)m(olv)m(e)0 5044 y(only)f(data)j(mo)m(v)
m(emen)m(t.)141 5157 y(F)-8 b(or)32 b(the)f(Sparse)f(BLAS,)h
Fy(x)g FK(is)f(a)h(compressed)g(sparse)g(v)m(ector)h(and)f
Fy(y)i FK(is)d(a)i(dense)e(v)m(ector.)44 b(Details)31
b(of)g(data)0 5269 y(structures)f(are)h(in)e(Section)h(3.4.1.)141
5382 y(F)-8 b(or)31 b(further)e(details)h(of)g(v)m(ector)i(norm)e
(notation,)h(refer)f(to)h(section)f(2.1.1.)4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 9 19
9 18 bop 0 -165 a FA(1.5.)72 b(O)m(VERALL)30 b(FUNCTIONALITY)2375
b FK(9)p 432 50 3036 4 v 430 163 4 113 v 482 129 a(Dot)32
b(pro)s(duct)p 1551 163 V 627 w Fy(r)c FJ( )d Fy(\014)5
b(r)23 b FK(+)d Fy(\013x)2108 96 y Fw(T)2164 129 y Fy(y)p
3210 163 V 1052 w FK(D,E)p 3466 163 V 430 276 V 1551
276 V 1602 242 a Fy(r)28 b FJ( )d Fy(x)1839 209 y Fw(T)1894
242 y Fy(y)p 3210 276 V 1322 w FK(S)p 3466 276 V 430
389 V 482 355 a(V)-8 b(ector)32 b(norms)p 1551 389 V
588 w Fy(r)c FJ( )d(jj)p Fy(x)p FJ(jj)1939 369 y FC(1)1980
355 y Fy(;)p 3210 389 V 1256 w FK(D)p 3466 389 V 430
502 V 1551 502 V 1602 468 a Fy(r)j FJ( )d(jj)p Fy(x)p
FJ(jj)1939 482 y FC(1)p Fw(R)2033 468 y Fy(;)p 3210 502
V 1203 w FK(D)p 3466 502 V 430 615 V 1551 615 V 1602
581 a Fy(r)j FJ( )d(jj)p Fy(x)p FJ(jj)1939 595 y FC(2)1980
581 y Fy(;)p 3210 615 V 1256 w FK(D)p 3466 615 V 430
727 V 1551 727 V 1602 694 a Fy(r)j FJ( )d(jj)p Fy(x)p
FJ(jj)1939 708 y Fu(1)2015 694 y Fy(;)p 3210 727 V 1221
w FK(D)p 3466 727 V 430 840 V 1551 840 V 1602 806 a Fy(r)j
FJ( )d(jj)p Fy(x)p FJ(jj)1939 820 y Fu(1)p Fw(R)2069
806 y Fy(;)p 3210 840 V 1167 w FK(D)p 3466 840 V 430
953 V 482 919 a(Sum)p 1551 953 V 942 w Fy(r)j FJ( )1787
855 y Ft(P)1875 942 y Fw(i)1918 919 y Fy(x)1970 933 y
Fw(i)p 3210 953 V 3261 919 a FK(D,E)p 3466 953 V 430
1066 V 482 1032 a(Min)h(v)-5 b(alue)30 b(&)g(lo)s(cation)p
1551 1066 V 279 w Fy(k)s(;)15 b(x)1744 1047 y Fw(k)1788
1032 y Fy(;)g FK(;)g Fy(k)29 b FK(=)c(arg)15 b(min)2333
1046 y Fw(i)2376 1032 y Fy(x)2428 1046 y Fw(i)p 3210
1066 V 3261 1032 a FK(D)p 3466 1066 V 430 1179 V 482
1145 a(Min)29 b(abs)h(v)-5 b(alue)30 b(&)g(lo)s(cation)p
1551 1179 V 117 w Fy(k)s(;)15 b(x)1744 1160 y Fw(k)1788
1145 y Fy(;)g(k)28 b FK(=)d(arg)16 b(min)2293 1159 y
Fw(i)2321 1145 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)2580
1159 y Fw(i)2609 1145 y FK(\))p FJ(j)21 b FK(+)f FJ(j)p
Fy(I)7 b(m)p FK(\()p Fy(x)3020 1159 y Fw(i)3048 1145
y FK(\))p FJ(j)p FK(\))p 3210 1179 V 118 w(D)p 3466 1179
V 430 1292 V 482 1258 a(Max)31 b(v)-5 b(alue)30 b(&)g(lo)s(cation)p
1551 1292 V 261 w Fy(k)s(;)15 b(x)1744 1273 y Fw(k)1788
1258 y Fy(;)g FK(;)g Fy(k)29 b FK(=)c(arg)15 b(max)2351
1272 y Fw(i)2394 1258 y Fy(x)2446 1272 y Fw(i)p 3210
1292 V 3261 1258 a FK(D)p 3466 1292 V 430 1405 V 482
1371 a(Max)31 b(abs)f(v)-5 b(alue)30 b(&)g(lo)s(cation)p
1551 1405 V 99 w Fy(k)s(;)15 b(x)1744 1386 y Fw(k)1788
1371 y Fy(;)g(k)28 b FK(=)d(arg)16 b(max)2310 1385 y
Fw(i)2338 1371 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)2597
1385 y Fw(i)2627 1371 y FK(\))p FJ(j)k FK(+)g FJ(j)p
Fy(I)7 b(m)p FK(\()p Fy(x)3037 1385 y Fw(i)3066 1371
y FK(\))p FJ(j)p FK(\))p 3210 1405 V 100 w(D)p 3466 1405
V 430 1518 V 482 1484 a(Sum)29 b(of)i(squares)p 1551
1518 V 517 w(\()p Fy(scl)r(;)15 b(ssq)s FK(\))26 b FJ( )2095
1420 y Ft(P)2198 1484 y Fy(x)2250 1451 y FC(2)2250 1508
y Fw(i)2289 1484 y Fy(;)p 3210 1518 V 947 w FK(D)p 3466
1518 V 430 1631 V 1551 1631 V 1602 1597 a Fy(ssq)d FJ(\001)d
Fy(scl)1908 1564 y FC(2)1973 1597 y FK(=)2069 1533 y
Ft(P)2171 1597 y Fy(x)2223 1564 y FC(2)2223 1621 y Fw(i)p
3210 1631 V 3261 1597 a FK(D)p 3466 1631 V 432 1634 3036
4 v 1297 1888 a(T)-8 b(able)30 b(1.1:)42 b(Reduction)30
b(Op)s(erations)p 646 2069 2609 4 v 644 2182 4 113 v
696 2148 a(Generate)i(Giv)m(ens)e(rotation)p 2040 2182
V 388 w(\()p Fy(c;)15 b(s;)g(r)s FK(\))26 b FJ( )f FK(rot)q(\()p
Fy(a;)15 b(b)p FK(\))p 3083 2182 V 312 w(D)p 3252 2182
V 644 2295 V 696 2261 a(Generate)32 b(Jacobi)e(rotation)p
2040 2295 V 403 w(\()p Fy(a;)15 b(b;)g(c;)g(s)p FK(\))27
b FJ( )e FK(jrot)q(\()p Fy(x;)15 b(y)s(;)g(z)t FK(\))p
3083 2295 V 101 w(D)p 3252 2295 V 644 2408 V 696 2374
a(Generate)32 b(Householder)d(transform)p 2040 2408 V
99 w(\()p Fy(\013;)15 b(x;)g(\034)10 b FK(\))27 b FJ( )e
FK(house\()p Fy(\013;)15 b(x)p FK(\))p Fy(;)p 3083 2408
V 123 w FK(D)p 3252 2408 V 644 2520 V 2040 2520 V 2091
2487 a Fy(H)32 b FK(=)25 b Fy(I)i FJ(\000)20 b Fy(\013uu)2615
2454 y Fw(T)p 3083 2520 V 3252 2520 V 646 2524 2609 4
v 1215 2678 a FK(T)-8 b(able)30 b(1.2:)42 b(Generate)32
b(T)-8 b(ransformations)p 668 2941 2565 4 v 666 3054
4 113 v 717 3020 a(Recipro)s(cal)30 b(Scale)p 1991 3054
V 674 w Fy(x)25 b FJ( )g Fy(x=\013)p 2974 3054 V 636
w FK(D)p 3231 3054 V 666 3167 V 717 3133 a(Scaled)30
b(v)m(ector)i(accum)m(ulation)p 1991 3167 V 241 w Fy(y)c
FJ( )d Fy(\013x)c FK(+)f Fy(\014)5 b(y)s(;)p 2974 3167
V 444 w FK(D,E)p 3231 3167 V 666 3280 V 1991 3280 V 2042
3246 a Fy(y)28 b FJ( )d Fy(\013x)c FK(+)f Fy(y)p 2974
3280 V 528 w FK(S)p 3231 3280 V 666 3392 V 717 3359 a(Scaled)30
b(v)m(ector)i(addition)p 1991 3392 V 439 w Fy(w)c FJ( )d
Fy(\013x)c FK(+)f Fy(\014)5 b(y)p 2974 3392 V 452 w FK(D,E)p
3231 3392 V 666 3642 4 250 v 717 3540 a(Com)m(bined)29
b(axp)m(y)i(&)f(dot)h(pro)s(duct)p 1991 3642 V 2042 3396
a Ft(\()2169 3483 y FK(^)-64 b Fy(w)28 b FJ( )d Fy(w)e
FJ(\000)d Fy(\013v)2150 3596 y(r)28 b FJ( )44 b FK(^)-64
b Fy(w)2402 3563 y Fw(T)2458 3596 y Fy(u)p 2974 3642
V 3026 3540 a FK(D)p 3231 3642 V 666 3755 4 114 v 717
3721 a(Apply)29 b(plane)h(rotation)p 1991 3755 V 491
w(\()42 b Fy(x)83 b(y)44 b FK(\))26 b FJ( )f FK(\()42
b Fy(x)83 b(y)44 b FK(\))p Fy(R)p 2974 3755 V 101 w FK(D)p
3231 3755 V 668 3758 2565 4 v 1371 4012 a(T)-8 b(able)30
b(1.3:)42 b(V)-8 b(ector)32 b(Op)s(erations)p 757 4193
2386 4 v 755 4306 4 113 v 807 4272 a(Cop)m(y)p 2192 4306
V 1230 w Fy(y)c FJ( )d Fy(x)p 2972 4306 V 538 w FK(D)p
3141 4306 V 755 4419 V 807 4385 a(Sw)m(ap)p 2192 4419
V 1227 w Fy(y)j FJ($)d Fy(x)p 2972 4419 V 538 w FK(D)p
3141 4419 V 755 4531 V 807 4498 a(Sort)30 b(v)m(ector)p
2192 4531 V 999 w Fy(x)25 b FJ( )g FK(sort)q(\()p Fy(x)p
FK(\))p 2972 4531 V 311 w(D)p 3141 4531 V 755 4644 V
807 4610 a(Sort)30 b(v)m(ector)i(&)e(return)g(index)f(v)m(ector)p
2192 4644 V 101 w(\()p Fy(p;)15 b(x)p FK(\))26 b FJ( )f
FK(sort\()p Fy(x)p FK(\))p 2972 4644 V 155 w(D)p 3141
4644 V 755 4757 V 807 4723 a(P)m(erm)m(ute)31 b(v)m(ector)p
2192 4757 V 831 w Fy(x)25 b FJ( )g Fy(P)13 b(x)p 2972
4757 V 463 w FK(D)p 3141 4757 V 755 4870 V 807 4836 a(Sparse)30
b(gather)p 2192 4870 V 896 w Fy(x)25 b FJ( )g Fy(y)s
FJ(j)2510 4850 y Fw(x)p 2972 4870 V 3023 4836 a FK(S)p
3141 4870 V 755 4983 V 807 4949 a(Sparse)30 b(gather)h(and)f(zero)p
2192 4983 V 527 w Fy(x)25 b FJ( )g Fy(y)s FJ(j)2510 4963
y Fw(x)2554 4949 y FK(;)41 b Fy(y)s FJ(j)2693 4963 y
Fw(x)2762 4949 y FJ( )25 b FK(0)p 2972 4983 V 100 w(S)p
3141 4983 V 755 5096 V 807 5062 a(Sparse)30 b(scatter)p
2192 5096 V 881 w Fy(y)s FJ(j)2317 5076 y Fw(x)2386 5062
y FJ( )25 b Fy(x)p 2972 5096 V 469 w FK(S)p 3141 5096
V 757 5099 2386 4 v 1150 5353 a(T)-8 b(able)30 b(1.4:)42
b(Data)32 b(Mo)m(v)m(emen)m(t)g(with)e(V)-8 b(ectors)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 10 20
10 19 bop 0 -165 a FK(10)2438 b FA(CHAPTER)29 b(1.)72
b(INTR)m(ODUCTION)0 91 y Fx(1.5.2)97 b(Matrix-V)m(ecto)m(r)33
b(Op)s(erations)0 263 y FK(This)19 b(section)j(lists)d(matrix-v)m
(ector)k(op)s(erations)d(in)g(table)h(1.5.)39 b(The)21
b(matrix)f(argumen)m(ts)i Fy(A)p FK(,)h Fy(B)35 b FK(and)30
b Fy(T)k FK(are)21 b(dense)0 376 y(or)31 b(banded)g(or)g(sparse.)44
b(In)30 b(addition,)g(where)h(appropriate,)g(the)h(matrix)f
Fy(A)g FK(can)h(b)s(e)f(symmetric)g(\(Hermitian\))0 489
y(or)g(triangular)f(or)i(general.)44 b(The)31 b(matrix)g
Fy(T)44 b FK(represen)m(ts)31 b(an)h(upp)s(er)d(or)i(lo)m(w)m(er)h
(triangular)e(matrix,)h(whic)m(h)g(can)0 602 y(b)s(e)25
b(unit)f(or)h(non-unit)f(triangular.)37 b(F)-8 b(or)27
b(the)e(Sparse)g(BLAS,)h(the)f(matrix)g Fy(A)g FK(is)g(sparse,)h(the)g
(matrix)f Fy(T)38 b FK(is)24 b(sparse)0 715 y(triangular,)29
b(and)h(the)g(v)m(ectors)i Fy(x)e FK(and)g Fy(y)j FK(are)e(dense.)141
827 y(Details)f(of)h(the)g(data)g(structures)e(are)i(discussed)e(in)g
(sections)h(2.2,)i(and)e(3.4.1.)p 376 948 3148 4 v 374
1061 4 113 v 426 1027 a(Matrix-v)m(ector)i(pro)s(duct)p
1804 1061 V 541 w Fy(y)c FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5
b(y)s(;)41 b(y)28 b FJ( )d Fy(\013A)2819 994 y Fw(T)2875
1027 y Fy(x)20 b FK(+)g Fy(\014)5 b(y)p 3190 1061 V 102
w FK(D,S,E)p 3522 1061 V 374 1174 V 1804 1174 V 1855
1140 a Fy(x)25 b FJ( )g Fy(\013T)13 b(x;)41 b(x)26 b
FJ( )f Fy(\013T)2608 1107 y Fw(T)2663 1140 y Fy(x)p 3190
1174 V 526 w FK(D,E)p 3522 1174 V 374 1287 V 1804 1287
V 1855 1253 a Fy(y)j FJ( )d Fy(\013Ax)c FK(+)f Fy(y)s(;)41
b(y)28 b FJ( )d Fy(\013A)2763 1220 y Fw(T)2819 1253 y
Fy(x)20 b FK(+)g Fy(y)p 3190 1287 V 214 w FK(S)p 3522
1287 V 376 1290 3148 4 v 374 1403 4 113 v 426 1369 a(Summed)29
b(matrix-v)m(ector)j(m)m(ultiplies)p 1804 1403 V 96 w
Fy(y)c FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5 b(B)g(x)p
3190 1403 V 725 w FK(D,E)p 3522 1403 V 376 1406 3148
4 v 374 1655 4 250 v 426 1554 a(Multiple)28 b(matrix-v)m(ector)k(m)m
(ultiplies)p 1804 1655 V 1855 1410 a Ft(\()1963 1497
y Fy(x)26 b FJ( )f Fy(T)2223 1464 y Fw(T)2278 1497 y
Fy(y)1963 1610 y(w)j FJ( )d Fy(T)13 b(z)p 3190 1655 V
3241 1554 a FK(D)p 3522 1655 V 374 1905 V 1804 1905 V
1855 1659 a Ft(\()1963 1746 y Fy(x)26 b FJ( )f Fy(\014)5
b(A)2281 1713 y Fw(T)2336 1746 y Fy(y)23 b FK(+)d Fy(z)1963
1859 y(w)28 b FJ( )d Fy(\013Ax)p 3190 1905 V 3241 1803
a FK(D)p 3522 1905 V 376 1908 3148 4 v 374 2021 4 113
v 426 1987 a(Multiple)j(matrix-v)m(ector)k(m)m(ults)p
1804 2021 V 3190 2021 V 3522 2021 V 374 2381 4 360 v
426 2223 a(and)e(lo)m(w)g(rank)g(up)s(dates)p 1804 2381
V 1855 2026 a Ft(8)1855 2101 y(>)1855 2126 y(<)1855 2275
y(>)1855 2300 y(:)1994 2084 y FK(^)1970 2107 y Fy(A)c
FJ( )f Fy(A)20 b FK(+)g Fy(u)2411 2121 y FC(1)2451 2107
y Fy(v)2498 2074 y Fw(T)2495 2130 y FC(1)2573 2107 y
FK(+)g Fy(u)2716 2121 y FC(2)2756 2107 y Fy(v)2803 2074
y Fw(T)2800 2130 y FC(2)1970 2227 y Fy(x)26 b FJ( )f
Fy(\014)2244 2204 y FK(^)2220 2227 y Fy(A)2288 2194 y
Fw(T)2343 2227 y Fy(y)e FK(+)d Fy(z)1970 2347 y(w)28
b FJ( )d Fy(\013)2262 2324 y FK(^)2237 2347 y Fy(A)q(x)p
3190 2381 V 3241 2223 a FK(D)p 3522 2381 V 376 2384 3148
4 v 374 2497 4 113 v 426 2463 a(T)-8 b(riangular)29 b(solv)m(e)p
1804 2497 V 789 w Fy(x)c FJ( )g Fy(\013T)2172 2430 y
Fu(\000)p FC(1)2267 2463 y Fy(x;)41 b(x)25 b FJ( )g Fy(\013T)2702
2430 y Fu(\000)p Fw(T)2812 2463 y Fy(x)p 3190 2497 V
377 w FK(D,S,E)p 3522 2497 V 376 2500 3148 4 v 374 2613
4 113 v 426 2579 a(Rank)30 b(one)h(up)s(dates)p 1804
2613 V 709 w Fy(A)26 b FJ( )f Fy(\013xy)2223 2546 y Fw(T)2298
2579 y FK(+)20 b Fy(\014)5 b(A)p 3190 2613 V 728 w FK(D)p
3522 2613 V 374 2726 V 487 2692 a(and)30 b(symmetric)f(\()p
Fy(A)d FK(=)f Fy(A)1399 2659 y Fw(T)1454 2692 y FK(\))p
1804 2726 V 366 w Fy(A)h FJ( )f Fy(\013xx)2227 2659 y
Fw(T)2302 2692 y FK(+)20 b Fy(\014)5 b(A)p 3190 2726
V 724 w FK(D)p 3522 2726 V 374 2839 V 487 2805 a(rank)30
b(one)g(&)g(t)m(w)m(o)i(up)s(dates)p 1804 2839 V 407
w Fy(A)26 b FJ( )f FK(\()p Fy(\013x)p FK(\))p Fy(y)2293
2772 y Fw(T)2369 2805 y FK(+)20 b Fy(y)s FK(\()p Fy(\013x)p
FK(\))2688 2772 y Fw(T)2764 2805 y FK(+)g Fy(\014)5 b(A)p
3190 2839 V 262 w FK(D)p 3522 2839 V 376 2842 3148 4
v 1220 3096 a(T)-8 b(able)30 b(1.5:)41 b(Matrix-V)-8
b(ector)33 b(Op)s(erations)0 3439 y Fx(1.5.3)97 b(Matrix)32
b(Op)s(erations)0 3611 y FK(This)c(section)j(lists)e(a)h(v)-5
b(ariet)m(y)31 b(of)f(matrix)g(op)s(erations.)40 b(The)30
b(functionalit)m(y)e(tables)i(are)h(organized)f(as)h(follo)m(ws.)0
3724 y(T)-8 b(able)26 b(1.6)i(lists)d(single)g(matrix)h(op)s(erations)g
(and)g(matrix)g(op)s(erations)g(that)h(in)m(v)m(olv)m(e)g
Fy(O)s FK(\()p Fy(n)3114 3691 y FC(2)3153 3724 y FK(\))g(op)s
(erations,)g(T)-8 b(able)0 3837 y(1.7)24 b(lists)e(the)h
Fy(O)s FK(\()p Fy(n)631 3804 y FC(3)670 3837 y FK(\))h(matrix-matrix)e
(op)s(erations)g(and)h(T)-8 b(able)23 b(1.8)h(lists)e(those)h(matrix)g
(op)s(erations)f(that)i(in)m(v)m(olv)m(e)0 3950 y(only)44
b(data)h(mo)m(v)m(emen)m(t.)85 b(Where)45 b(appropriate)f(one)h(or)f
(more)h(of)g(the)g(matrices)f(can)h(also)g(b)s(e)f(symmetric)0
4063 y(\(Hermitian\))26 b(or)g(triangular)e(or)i(general.)39
b(The)26 b(matrix)g Fy(T)38 b FK(represen)m(ts)26 b(an)g(upp)s(er)e(or)
j(lo)m(w)m(er)f(triangular)e(matrix,)0 4176 y(whic)m(h)39
b(can)i(b)s(e)f(unit)f(or)h(non-unit)f(triangular.)70
b Fy(D)s FK(,)43 b Fy(D)1995 4190 y Fw(L)2047 4176 y
FK(,)g(and)d Fy(D)2377 4190 y Fw(R)2475 4176 y FK(represen)m(t)h
(diagonal)f(matrices,)j(and)d Fy(J)0 4289 y FK(represen)m(ts)30
b(a)h(symmetric)f(tridiagonal)f(matrix)g(\(including)f(2)20
b FJ(\002)g FK(2)31 b(blo)s(c)m(k)f(diagonal\).)141 4401
y(Details)g(of)h(the)g(data)g(structures)e(are)i(discussed)e(in)g
(sections)h(2.2,)i(and)e(3.4.1.)141 4514 y(F)-8 b(or)31
b(further)e(details)h(of)g(matrix)g(norm)g(notation,)g(refer)h(to)g
(section)f(2.1.3.)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 11 21
11 20 bop 0 -165 a FA(1.5.)72 b(O)m(VERALL)30 b(FUNCTIONALITY)2329
b FK(11)p 641 287 2618 4 v 639 400 4 113 v 691 366 a(Matrix)30
b(norms)p 1583 400 V 397 w Fy(r)e FJ( )d(jj)p Fy(A)p
FJ(jj)1988 380 y FC(1)2029 366 y Fy(;)15 b(r)28 b FJ( )d(jj)p
Fy(A)p FJ(jj)2422 380 y FC(1)p Fw(R)p 3088 400 V 3139
366 a FK(D)p 3257 400 V 639 513 V 1583 513 V 1635 479
a Fy(r)j FJ( )d(jj)p Fy(A)p FJ(jj)1988 493 y Fw(F)2048
479 y Fy(;)15 b(r)28 b FJ( )d(jj)p Fy(A)p FJ(jj)2441
493 y Fu(1)2517 479 y Fy(;)15 b(r)28 b FJ( )d(jj)p Fy(A)p
FJ(jj)2910 493 y Fu(1)p Fw(R)p 3088 513 V 3139 479 a
FK(D)p 3257 513 V 639 626 V 1583 626 V 1635 592 a Fy(r)j
FJ( )d(jj)p Fy(A)p FJ(jj)1988 606 y Fw(max)2133 592 y
Fy(;)15 b(r)28 b FJ( )d(jj)p Fy(A)p FJ(jj)2526 606 y
Fw(maxR)p 3088 626 V 3139 592 a FK(D)p 3257 626 V 639
739 V 691 705 a(Diagonal)31 b(scaling)p 1583 739 V 292
w Fy(A)25 b FJ( )h Fy(D)s(A;)40 b(A)26 b FJ( )f Fy(AD)s(;)40
b(A)26 b FJ( )f Fy(D)2762 719 y Fw(L)2814 705 y Fy(AD)2957
719 y Fw(R)p 3088 739 V 3139 705 a FK(D)p 3257 739 V
639 852 V 1583 852 V 1635 818 a Fy(A)g FJ( )h Fy(D)s(AD)p
3088 852 V 1073 w FK(D)p 3257 852 V 639 965 V 1583 965
V 1635 931 a Fy(A)f FJ( )h Fy(A)20 b FK(+)g Fy(B)5 b(D)p
3088 965 V 966 w FK(D)p 3257 965 V 639 1078 V 691 1044
a(Matrix)30 b(acc)i(and)e(scale)p 1583 1078 V 120 w Fy(C)i
FJ( )25 b Fy(\013A)c FK(+)f Fy(\014)5 b(B)p 3088 1078
V 928 w FK(D)p 3257 1078 V 639 1191 V 691 1157 a(Matrix)30
b(add)g(and)g(scale)p 1583 1191 V 100 w Fy(B)g FJ( )25
b Fy(\013A)c FK(+)f Fy(\014)5 b(B)g(;)40 b(B)30 b FJ( )25
b Fy(\013A)2624 1124 y Fw(T)2700 1157 y FK(+)20 b Fy(\014)5
b(B)p 3088 1191 V 223 w FK(D)p 3257 1191 V 641 1194 2618
4 v 688 1461 a(T)-8 b(able)30 b(1.6:)42 b(Matrix)30 b(Op)s(erations)f
({)i Fy(O)s FK(\()p Fy(n)2129 1428 y FC(2)2168 1461 y
FK(\))g(\015oating)f(p)s(oin)m(t)f(op)s(erations)p 421
2121 3058 4 v 419 2234 4 113 v 471 2200 a(Matrix-matrix)h(pro)s(duct)p
1463 2234 V 133 w Fy(C)i FJ( )25 b Fy(\013AB)g FK(+)20
b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2566
2167 y Fw(T)2622 2200 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p
3145 2234 V 269 w FK(D,E)p 3477 2234 V 419 2347 V 1463
2347 V 1515 2313 a Fy(C)32 b FJ( )25 b Fy(\013AB)1928
2280 y Fw(T)2003 2313 y FK(+)20 b Fy(\014)5 b(C)q(;)41
b(C)32 b FJ( )25 b Fy(\013A)2621 2280 y Fw(T)2677 2313
y Fy(B)2751 2280 y Fw(T)2826 2313 y FK(+)20 b Fy(\014)5
b(C)p 3145 2347 V 159 w FK(D,E)p 3477 2347 V 419 2460
V 1463 2460 V 1515 2426 a Fy(C)32 b FJ( )25 b Fy(\013AB)g
FK(+)20 b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2566
2393 y Fw(T)2622 2426 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p
3145 2460 V 269 w FK(S)p 3477 2460 V 421 2463 3058 4
v 419 2573 4 113 v 471 2539 a(T)-8 b(riangular)28 b(m)m(ultiply)p
1463 2573 V 261 w Fy(B)i FJ( )25 b Fy(\013T)13 b(B)5
b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5 b(T)p 3145 2573
V 804 w FK(D,E)p 3477 2573 V 419 2686 V 1463 2686 V 1515
2652 a Fy(B)30 b FJ( )25 b Fy(\013T)1854 2619 y Fw(T)1909
2652 y Fy(B)5 b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5 b(T)2461
2619 y Fw(T)p 3145 2686 V 3197 2652 a FK(D,E)p 3477 2686
V 421 2689 3058 4 v 419 2799 4 113 v 471 2765 a(T)-8
b(riangular)28 b(solv)m(e)p 1463 2799 V 405 w Fy(B)i
FJ( )25 b Fy(\013T)1854 2732 y Fu(\000)p FC(1)1948 2765
y Fy(B)5 b(;)41 b(B)29 b FJ( )d Fy(\013T)2427 2732 y
Fu(\000)p Fw(T)2537 2765 y Fy(B)p 3145 2799 V 591 w FK(D,S,E)p
3477 2799 V 419 2912 V 1463 2912 V 1515 2878 a Fy(B)k
FJ( )25 b Fy(\013B)5 b(T)1928 2845 y Fu(\000)p FC(1)2022
2878 y Fy(;)41 b(B)29 b FJ( )d Fy(\013B)5 b(T)2501 2845
y Fu(\000)p Fw(T)p 3145 2912 V 3197 2878 a FK(D,E)p 3477
2912 V 421 2915 3058 4 v 419 3025 4 113 v 471 2991 a(Symmetric)29
b(rank)h Fy(k)k FK(&)c(2)p Fy(k)p 1463 3025 V 103 w(C)i
FJ( )25 b Fy(\013AA)1922 2958 y Fw(T)1998 2991 y FK(+)20
b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2616
2958 y Fw(T)2672 2991 y Fy(A)20 b FK(+)g Fy(\014)5 b(C)p
3145 3025 V 225 w FK(D,E)p 3477 3025 V 419 3138 V 501
3104 a(up)s(dates)30 b(\()p Fy(C)i FK(=)25 b Fy(C)1143
3071 y Fw(T)1197 3104 y FK(\))p 1463 3138 V 283 w Fy(C)32
b FJ( )25 b Fy(\013AJ)9 b(A)1981 3071 y Fw(T)2057 3104
y FK(+)20 b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2675
3071 y Fw(T)2731 3104 y Fy(J)9 b(A)20 b FK(+)g Fy(\014)5
b(C)p 3145 3138 V 107 w FK(D)p 3477 3138 V 419 3250 V
1463 3250 V 1515 3217 a Fy(C)32 b FJ( )25 b FK(\()p Fy(\013A)p
FK(\))p Fy(B)1998 3184 y Fw(T)2074 3217 y FK(+)20 b Fy(B)5
b FK(\()p Fy(\013A)p FK(\))2435 3184 y Fw(T)2511 3217
y FK(+)20 b Fy(\014)5 b(C)i FK(,)p 3145 3250 V 442 w(D,E)p
3477 3250 V 419 3363 V 1463 3363 V 1515 3329 a Fy(C)32
b FJ( )25 b FK(\()p Fy(\013A)p FK(\))1924 3296 y Fw(T)1980
3329 y Fy(B)g FK(+)20 b Fy(B)2239 3296 y Fw(T)2293 3329
y FK(\()p Fy(\013A)p FK(\))i(+)e Fy(\014)5 b(C)p 3145
3363 V 3477 3363 V 419 3476 V 1463 3476 V 1515 3442 a(C)32
b FJ( )25 b FK(\()p Fy(\013AJ)9 b FK(\))p Fy(B)2057 3409
y Fw(T)2133 3442 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013AJ)k
FK(\))2553 3409 y Fw(T)2629 3442 y FK(+)20 b Fy(\014)5
b(C)i FK(,)p 3145 3476 V 324 w(D)p 3477 3476 V 419 3589
V 1463 3589 V 1515 3555 a Fy(C)32 b FJ( )25 b FK(\()p
Fy(\013AJ)9 b FK(\))1983 3522 y Fw(T)2039 3555 y Fy(B)25
b FK(+)20 b Fy(B)2298 3522 y Fw(T)2353 3555 y FK(\()p
Fy(\013AJ)9 b FK(\))21 b(+)f Fy(\014)5 b(C)p 3145 3589
V 3477 3589 V 421 3592 3058 4 v 544 3859 a FK(T)-8 b(able)30
b(1.7:)42 b(Matrix-Matrix)30 b(Op)s(erations)f(-)i Fy(O)s
FK(\()p Fy(n)2273 3826 y FC(3)2312 3859 y FK(\))g(\015oating)f(p)s(oin)
m(t)g(op)s(erations)p 1049 4520 1803 4 v 1047 4633 4
113 v 1099 4599 a(Matrix)g(cop)m(y)p 1828 4633 V 296
w Fy(B)g FJ( )25 b Fy(A;)41 b(B)30 b FJ( )25 b Fy(A)2511
4566 y Fw(T)p 2680 4633 V 2732 4599 a FK(D)p 2849 4633
V 1047 4746 V 1099 4712 a(Matrix)30 b(transp)s(ose)p
1828 4746 V 99 w Fy(A)c FJ( )f Fy(A)2157 4679 y Fw(T)p
2680 4746 V 2732 4712 a FK(D)p 2849 4746 V 1047 4859
V 1099 4825 a(P)m(erm)m(ute)31 b(Matrix)p 1828 4859 V
142 w Fy(A)26 b FJ( )f Fy(P)13 b(A)p FK(,)30 b Fy(A)c
FJ( )f Fy(AP)p 2680 4859 V 113 w FK(D)p 2849 4859 V 1049
4862 1803 4 v 1126 5116 a(T)-8 b(able)30 b(1.8:)42 b(Data)32
b(Mo)m(v)m(emen)m(t)h(with)c(Matrices)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 12 22
12 21 bop 0 -165 a FK(12)2438 b FA(CHAPTER)29 b(1.)72
b(INTR)m(ODUCTION)0 91 y FE(1.6)116 b(Numerical)36 b(Accuracy)j(and)g
(Environmental)d(Enquiry)0 294 y FK(T)-8 b(o)41 b(understand)d(the)j(n)
m(umerical)e(b)s(eha)m(vior)g(of)h(the)h(routines)e(prop)s(osed)g
(here,)k(certain)d(\015oating)g(p)s(oin)m(t)g(pa-)0 407
y(rameters)35 b(are)f(necessary)-8 b(.)53 b(Detailed)35
b(error)e(b)s(ounds)f(and)i(limitations)e(due)i(to)g(o)m(v)m(er\015o)m
(w)i(and)e(under\015o)m(w)f(are)0 520 y(discussed)c(in)h(individual)c
(c)m(hapters)32 b(\(see)g(sections)f(2.7,)i(3.7,)g(4.3.3,)g(and)d
(C.4.4\))j(but)d(all)g(of)i(them)f(dep)s(end)e(on)0 633
y(details)37 b(of)i(ho)m(w)f(\015oating)h(p)s(oin)m(t)e(n)m(um)m(b)s
(ers)g(are)i(represen)m(ted.)65 b(These)38 b(details)f(are)i(a)m(v)-5
b(ailable)38 b(b)m(y)g(calling)f(an)0 746 y(en)m(vironmen)m(tal)30
b(enquiry)e(function)h(called)h(FPINF)m(O.)141 859 y(Floating)e(p)s
(oin)m(t)e(n)m(um)m(b)s(ers)h(are)h(represen)m(ted)f(in)f(scien)m
(ti\014c)h(notation)h(as)g(follo)m(ws.)39 b(This)26 b(discussion)f
(follo)m(ws)0 972 y(the)31 b(IEEE)e(Floating)i(P)m(oin)m(t)f
(Arithmetic)g(Standard)f(754)j([7].)2155 939 y FC(3)1466
1176 y Fy(x)25 b FK(=)g FJ(\006)p Fy(d:d)15 b FJ(\001)g(\001)g(\001)i
Fy(d)k FJ(\003)f Fy(B)5 b(AS)g(E)2374 1138 y Fw(E)0 1380
y FK(where)35 b Fy(d:d)15 b FJ(\001)g(\001)g(\001)i Fy(d)35
b FK(is)f(a)i(n)m(um)m(b)s(er)d(represen)m(ted)i(as)g(a)h(string)e(of)h
(T)g(signi\014can)m(t)f(digits)f(in)h(base)h(BASE)g(with)f(the)0
1493 y(\\p)s(oin)m(t")f(to)h(the)f(righ)m(t)f(of)h(the)h(leftmost)f
(digit,)f(and)h(E)g(is)f(an)g(in)m(teger)i(exp)s(onen)m(t.)48
b(E)33 b(ranges)g(from)g(EMIN)g(up)0 1606 y(to)40 b(EMAX.)h(This)d
(means)h(that)h(the)g(largest)g(represen)m(table)f(n)m(um)m(b)s(er,)i
(whic)m(h)d(is)h(also)h(called)e(the)i Fz(over\015ow)0
1719 y(thr)-5 b(eshold)32 b FK(or)d(O)m(V,)g(is)f(just)g(less)g(than)h
Fy(B)5 b(AS)g(E)1601 1686 y Fw(E)t(M)i(AX)e FC(+1)1942
1719 y FK(,)29 b(This)e(also)i(means)f(that)i(the)f(smallest)f(p)s
(ositiv)m(e)g(\\nor-)0 1832 y(malized")f(represen)m(table)h(n)m(um)m(b)
s(er)f(\(i.e.)40 b(where)28 b(the)g(leading)f(digit)g(of)h
Fy(d:d)15 b FJ(\001)g(\001)g(\001)i Fy(d)28 b FK(is)g(nonzero\))g(is)f
Fy(B)5 b(AS)g(E)3641 1799 y Fw(E)t(M)i(I)e(N)3875 1832
y FK(,)0 1945 y(whic)m(h)29 b(is)h(also)g(called)f(the)i
Fz(under\015ow)j(thr)-5 b(eshold)34 b FK(or)c(UN.)141
2058 y(When)23 b(o)m(v)m(er\015o)m(w)i(o)s(ccurs)e(\(b)s(ecause)h(a)g
(computed)f(quan)m(tit)m(y)h(exceeds)g(O)m(V)g(in)e(absolute)h(v)-5
b(alue\),)25 b(the)f(result)e(is)0 2171 y(t)m(ypically)k
FJ(\0061)p FK(,)i(or)f(p)s(erhaps)e(an)i(error)g(message.)41
b(When)27 b(under\015o)m(w)f(o)s(ccurs)h(\(b)s(ecause)g(a)h(computed)f
(quan)m(tit)m(y)0 2283 y(is)k(less)h(than)g(UN)h(in)e(absolute)h
(magnitude\))g(the)h(returned)e(result)g(ma)m(y)i(b)s(e)f(either)g(0)g
(or)h(a)g(tin)m(y)f(n)m(um)m(b)s(er)f(less)0 2396 y(than)26
b(UN)h(in)e(magnitude,)h(with)f(minimal)f(exp)s(onen)m(t)i(EMIN)h(but)e
(with)g(a)i(leading)e(zero)i(\(0)p Fy(:d)15 b FJ(\001)g(\001)g(\001)j
Fy(d)p FK(\).)40 b(Suc)m(h)25 b(tin)m(y)0 2509 y(n)m(um)m(b)s(ers)33
b(are)h(often)h(called)e Fz(denormalize)-5 b(d)37 b FK(or)d
Fz(subnormal)p FK(,)j(and)d(\015oating)g(p)s(oin)m(t)f(arithmetic)g
(whic)m(h)g(returns)0 2622 y(them)d(instead)g(of)g(0)h(is)f(said)f(to)i
(supp)s(ort)e Fz(gr)-5 b(adual)34 b(under\015ow)p FK(.)141
2735 y(The)39 b Fz(r)-5 b(elative)41 b(machine)g(pr)-5
b(e)g(cision)41 b FK(\(or)e Fz(machine)i(epsilon)p FK(\))g(of)e(a)g
(basic)g(op)s(eration)f FJ(\014)h(2)h(f)p FK(+)p Fy(;)15
b FJ(\000)p Fy(;)g FJ(\003)p Fy(;)g(=)p FJ(g)41 b FK(is)0
2848 y(de\014ned)29 b(as)i(the)f(smallest)g Fy(E)5 b(P)13
b(S)30 b(>)25 b FK(0)31 b(satisfying)1007 3052 y Fy(f)10
b(l)r FK(\()p Fy(a)20 b FJ(\014)g Fy(b)p FK(\))25 b(=)g(\()p
Fy(a)c FJ(\014)f Fy(b)p FK(\))g FJ(\003)h FK(\(1)g(+)f
Fy(\016)s FK(\))15 b(for)31 b(some)16 b FJ(j)p Fy(\016)s
FJ(j)27 b(\024)e Fy(E)5 b(P)13 b(S)0 3256 y FK(for)38
b(all)f(argumen)m(ts)h Fy(a)h FK(and)e Fy(b)h FK(that)h(do)f(not)g
(cause)h(under\015o)m(w,)g(o)m(v)m(er\015o)m(w,)j(division)35
b(b)m(y)j(zero,)j(or)d(an)g(in)m(v)-5 b(alid)0 3369 y(op)s(eration.)61
b(When)37 b Fy(f)10 b(l)r FK(\()p Fy(a)25 b FJ(\014)f
Fy(b)p FK(\))38 b(is)e(a)i(closest)g(\015oating)f(p)s(oin)m(t)f(n)m(um)
m(b)s(er)g(to)i(the)g(true)f(result)f Fy(a)25 b FJ(\014)f
Fy(b)38 b FK(\(with)e(ties)0 3482 y(brok)m(en)45 b(arbitrarily\),)i
(then)e(rounding)e(is)h(called)h(\\prop)s(er")f(and)h
Fy(E)5 b(P)13 b(S)55 b FK(=)50 b Fy(:)p FK(5)31 b FJ(\003)g
Fy(B)5 b(AS)g(E)3245 3449 y FC(1)p Fu(\000)p Fw(T)3390
3482 y FK(.)85 b(Otherwise)0 3595 y(t)m(ypically)29 b
Fy(E)5 b(P)13 b(S)30 b FK(=)25 b Fy(B)5 b(AS)g(E)971
3562 y FC(1)p Fu(\000)p Fw(T)1116 3595 y FK(,)30 b(although)g(it)f(can)
h(sometimes)g(b)s(e)f(w)m(orse)h(if)f(arithmetic)g(is)f(not)i(implemen)
m(ted)0 3708 y(carefully)-8 b(.)38 b(W)-8 b(e)25 b(further)e(sa)m(y)h
(that)h(rounding)d(is)h(\\IEEE)h(st)m(yle")g(if)f(ties)h(are)h(brok)m
(en)f(b)m(y)g(rounding)d(to)k(the)f(nearest)0 3821 y(n)m(um)m(b)s(er)29
b(whose)h(least)h(signi\014can)m(t)e(digit)g(is)h(ev)m(en)h(\(i.e.)41
b(whose)30 b(b)s(ottom)h(bit)e(is)g(0\).)141 3934 y(The)i(function)g
(FPINF)m(O)i(returns)d(the)i(ab)s(o)m(v)m(e)h(\015oating)f(p)s(oin)m(t)
f(parameters,)i(among)f(others,)h(to)f(help)f(the)0 4047
y(user)j(understand)f(the)i(accuracy)h(to)g(whic)m(h)d(results)h(are)h
(computed.)54 b(FPINF)m(O)35 b(can)g(return)f(the)h(v)-5
b(alues)34 b(for)0 4160 y(either)24 b(single)f(precision)g(or)h(double)
f(precision.)37 b(The)24 b(w)m(a)m(y)h(the)g(precision)d(is)i(sp)s
(eci\014ed)e(is)i(language)h(dep)s(enden)m(t,)0 4273
y(as)f(is)f(the)h(c)m(hoice)g(of)g(\015oating)g(p)s(oin)m(t)f
(parameter)h(to)g(return,)h(and)e(describ)s(ed)e(in)i(section)h(2.7.)39
b(The)24 b(names)f(single)0 4386 y(and)30 b(double)f(ma)m(y)i(ha)m(v)m
(e)h(di\013eren)m(t)e(meanings)g(on)h(di\013eren)m(t)f(mac)m(hines:)41
b(W)-8 b(e)31 b(ha)m(v)m(e)h(long)f(b)s(een)f(accustomed)h(to)0
4498 y(single)38 b(precision)f(meaning)h(32-bits)h(on)g(all)e(IEEE)i
(and)f(most)h(other)g(mac)m(hines)g([7)q(],)i(except)f(for)f(Cra)m(y)g
(and)0 4611 y(its)31 b(em)m(ulators)h(where)f(single)f(is)h(64-bits.)45
b(And)31 b(there)h(are)g(historical)e(examples)h(of)h(60-bit)g(formats)
g(on)g(some)0 4724 y(old)j(CDC)h(mac)m(hines,)h(etc.)59
b(Nonetheless,)38 b(w)m(e)f(all)e(agree)i(on)f(single)f(precision)f(as)
j(a)f(phrase)g(with)f(a)h(certain)0 4837 y(system-dep)s(enden)m(t)e
(meaning,)h(and)f(double)g(precision)e(to)s(o,)37 b(meaning)d(at)h
(least)g(t)m(wice)g(as)g(man)m(y)g(signi\014can)m(t)0
4950 y(digits)29 b(as)i(single.)p 0 5012 1560 4 v 104
5065 a FI(3)138 5097 y FB(W)-6 b(e)19 b(ignore)i(implemen)n(tation)d
(details)i(lik)n(e)g(\\hidden)e(bits",)k(as)e(w)n(ell)g(as)g(un)n
(usual)f(represen)n(tations)h(lik)n(e)g(logarithmic)g(arithmetic)0
5188 y(and)25 b(double-double.)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 13 23
13 22 bop 0 -165 a FA(1.7.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(13)141 91 y(The)21 b(v)-5 b(alues)20 b(returned)g(b)m(y)h(FPINF)m
(O)g(are)h(as)f(follo)m(ws,)h(including)c(the)j(v)-5
b(alues)20 b(returned)g(for)h(IEEE)f(single)g(and)0 204
y(IEEE)30 b(double,)g(the)g(most)h(common)g(cases.)43
b(The)30 b(\015oating)g(p)s(oin)m(t)g(parameters)h(in)e(column)h(1)h
(ha)m(v)m(e)h(analogous)0 317 y(meanings)d(as)i(the)g(lik)m(e-named)e
(c)m(haracter)j(argumen)m(ts)f(of)f(the)h(LAP)-8 b(A)m(CK)31
b(subroutine)d(xLAMCH.)3504 284 y FC(4)p 259 438 3383
4 v 257 551 4 113 v 309 517 a FK(Floating)i(p)s(oin)m(t)p
926 551 V 99 w(Description)p 2180 551 V 1108 w(V)-8 b(alue)30
b(in)p 2917 551 V 393 w(V)-8 b(alue)31 b(in)p 3640 551
V 257 664 V 309 630 a(parameter)p 926 664 V 2180 664
V 1685 w(IEEE)e(single)p 2917 664 V 210 w(IEEE)h(double)p
3640 664 V 259 667 3383 4 v 257 780 4 113 v 309 746 a(BASE)p
926 780 V 424 w(base)g(of)h(the)f(mac)m(hine)p 2180 780
V 1058 w(2)p 2917 780 V 677 w(2)p 3640 780 V 257 893
V 309 859 a(T)p 926 893 V 603 w(n)m(um)m(b)s(er)f(of)h(digits)p
2180 893 V 1147 w(24)p 2917 893 V 633 w(53)p 3640 893
V 257 1006 V 309 972 a(RND)p 926 1006 V 465 w(1)g(when)g(prop)s(er)f
(rounding)p 2180 1006 V 886 w(1)p 2917 1006 V 677 w(1)p
3640 1006 V 257 1119 V 926 1119 V 978 1085 a(o)s(ccurs)h(in)f(addition)
p 2180 1119 V 2917 1119 V 3640 1119 V 257 1231 V 926
1231 V 978 1198 a(0)h(otherwise)p 2180 1231 V 2917 1231
V 3640 1231 V 257 1344 V 309 1310 a(IEEE)p 926 1344 V
450 w(1)g(when)g(rounding)e(in)h(addition)p 2180 1344
V 713 w(1)p 2917 1344 V 677 w(1)p 3640 1344 V 257 1457
V 926 1457 V 978 1423 a(is)g(IEEE)h(st)m(yle)p 2180 1457
V 2917 1457 V 3640 1457 V 257 1570 V 926 1570 V 978 1536
a(0)g(otherwise)p 2180 1570 V 2917 1570 V 3640 1570 V
257 1683 V 309 1649 a(EMIN)p 926 1683 V 423 w(minim)m(um)d(exp)s(onen)m
(t)k(b)s(efore)p 2180 1683 V 683 w(-126)p 2917 1683 V
512 w(-1022)p 3640 1683 V 257 1796 V 926 1796 V 978 1762
a(\(gradual\))f(under\015o)m(w)p 2180 1796 V 2917 1796
V 3640 1796 V 257 1909 V 309 1875 a(EMAX)p 926 1909 V
388 w(maxim)m(um)f(exp)s(onen)m(t)h(b)s(efore)p 2180
1909 V 697 w(127)p 2917 1909 V 542 w(1023)p 3640 1909
V 257 2022 V 926 2022 V 978 1988 a(o)m(v)m(er\015o)m(w)p
2180 2022 V 2917 2022 V 3640 2022 V 257 2135 V 309 2101
a(EPS)p 926 2135 V 494 w(mac)m(hine)g(epsilon)p 2180
2135 V 622 w(2)2276 2068 y Fu(\000)p FC(24)2431 2101
y FJ(\031)25 b FK(5)c FJ(\002)f FK(10)2774 2068 y Fu(\000)p
FC(8)p 2917 2135 V 3075 2101 a FK(2)3120 2068 y Fu(\000)p
FC(53)3275 2101 y FJ(\031)25 b FK(10)3461 2068 y Fu(\000)p
FC(16)p 3640 2135 V 257 2248 V 926 2248 V 978 2214 a
FK(=)30 b(.5)p FJ(\003)p FK(BASE)1439 2181 y FC(1)p Fu(\000)p
Fw(T)1615 2214 y FK(if)g(RND=1)p 2180 2248 V 2917 2248
V 3640 2248 V 257 2361 V 926 2361 V 978 2327 a(=)g(BASE)1324
2294 y FC(1)p Fu(\000)p Fw(T)1499 2327 y FK(if)f(RND=0)p
2180 2361 V 2917 2361 V 3640 2361 V 257 2473 V 309 2440
a(PREC)p 926 2473 V 412 w(EPS)p FJ(\003)p FK(BASE)p 2180
2473 V 1251 w(2)2739 2407 y Fu(\000)p FC(23)p 2917 2473
V 3416 2440 a FK(2)3461 2407 y Fu(\000)p FC(52)p 3640
2473 V 257 2586 V 309 2553 a FK(UN)p 926 2586 V 533 w(under\015o)m(w)g
(threshold)p 2180 2586 V 551 w(2)2362 2520 y Fu(\000)p
FC(126)2553 2553 y FJ(\031)c FK(10)2739 2520 y Fu(\000)p
FC(38)p 2917 2586 V 2969 2553 a FK(2)3014 2520 y Fu(\000)p
FC(1022)3240 2553 y FJ(\031)g FK(10)3426 2520 y Fu(\000)p
FC(308)p 3640 2586 V 257 2699 V 926 2699 V 978 2665 a
FK(=)30 b(BASE)1324 2632 y Fw(E)t(M)7 b(I)e(N)p 2180
2699 V 2917 2699 V 3640 2699 V 257 2812 V 309 2778 a
FK(O)m(V)p 926 2812 V 533 w(o)m(v)m(er\015o)m(w)31 b(threshold)p
2180 2812 V 629 w FJ(\030)25 b FK(2)2472 2745 y FC(128)2608
2778 y FJ(\031)g FK(10)2794 2745 y FC(38)p 2917 2812
V 2983 2778 a FJ(\030)g FK(2)3124 2745 y FC(1024)3295
2778 y FJ(\031)g FK(10)3481 2745 y FC(308)p 3640 2812
V 257 2925 V 926 2925 V 978 2891 a FK(=)30 b(BASE)1324
2858 y Fw(E)t(M)7 b(AX)e FC(+1)1695 2891 y FJ(\003)30
b FK(\(1)p FJ(\000)p FK(EPS\))p 2180 2925 V 2917 2925
V 3640 2925 V 257 3038 V 309 3004 a(SFMIN)p 926 3038
V 375 w(safe)g(minim)m(um,)e(suc)m(h)i(that)p 2180 3038
V 357 w(2)2362 2971 y Fu(\000)p FC(126)2553 3004 y FJ(\031)25
b FK(10)2739 2971 y Fu(\000)p FC(38)p 2917 3038 V 2969
3004 a FK(2)3014 2971 y Fu(\000)p FC(1022)3240 3004 y
FJ(\031)g FK(10)3426 2971 y Fu(\000)p FC(308)p 3640 3038
V 257 3151 V 926 3151 V 978 3117 a FK(1/SFMIN)31 b(do)s(es)f(not)h(o)m
(v)m(er\015o)m(w)p 2180 3151 V 2917 3151 V 3640 3151
V 257 3264 V 926 3264 V 978 3230 a(=)f(UN)g(if)g(1/O)m(V)p
Fy(<)p FK(UN,)p 2180 3264 V 2917 3264 V 3640 3264 V 257
3377 V 926 3377 V 978 3343 a(else)g(\(1+EPS\)/O)m(V)p
2180 3377 V 2917 3377 V 3640 3377 V 259 3380 3383 4 v
1167 3634 a(T)-8 b(able)30 b(1.9:)42 b(V)-8 b(alues)30
b(returned)g(b)m(y)g(FPINF)m(O)141 3847 y(Chapter)i(4)h(de\014nes)f(an)
h(additional)e(FPINF)m(O-lik)m(e)i(function)e(to)j(supplemen)m(t)d
(this)h(one)h(with)e(additional)0 3960 y(information)e(needed)h(for)g
(error)g(b)s(ounds.)0 4246 y FE(1.7)116 b(Language)38
b(Bindings)0 4449 y FK(Eac)m(h)i(sp)s(eci\014cation)e(of)h(a)g(routine)
f(corresp)s(onds)g(to)i(an)f(op)s(eration)f(outlined)f(in)h(the)h
(functionalit)m(y)f(tables.)0 4562 y(Op)s(erations)33
b(are)h(organized)g(analogous)g(to)h(the)f(order)g(in)e(whic)m(h)h
(they)h(are)h(presen)m(ted)f(in)e(the)i(functionalit)m(y)0
4675 y(tables.)40 b(The)30 b(sp)s(eci\014cation)g(has)g(the)g(form:)0
4901 y(NAME)h(\()p Fz(multi-wor)-5 b(d)35 b(description)f(of)f(op)-5
b(er)g(ation)p FK(\))33 b Fy(<)25 b(mathematical)33 b(r)s(epr)s
(esentation)24 b(>)p 0 5075 1560 4 v 104 5129 a FI(4)138
5160 y FB(Here)h(are)g(the)f(di\013erences:)34 b(In)24
b(xLAMCH,)g(UN)g(w)n(as)i(called)f(RMIN)f(and)g(O)n(V)g(w)n(as)h
(called)h(RMAX.)e(The)g(v)l(alue)h(of)g(IEEE)g(w)n(as)0
5252 y(computed)c(b)n(y)h(xLAMCH)h(but)f(not)h(returned.)32
b(xLAMCH)23 b(returned)f(EMIN+1)h(and)g(EMAX+1)f(instead)i(of)f(EMIN)g
(and)g(EMAX,)0 5343 y(resp)r(ectiv)n(ely)j(\(this)f(corresp)r(onds)i
(to)f(a)g(di\013eren)n(t)f(c)n(hoice)h(of)h(where)f(to)g(put)e(the)i
(\\p)r(oin)n(t")g(in)g Fs(d:d)12 b Fr(\001)h(\001)h(\001)f
Fs(d)j Fr(\003)i Fs(B)t(AS)t(E)3313 5311 y Fq(E)3364
5343 y FB(\).)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 14 24
14 23 bop 0 -165 a FK(14)2438 b FA(CHAPTER)29 b(1.)72
b(INTR)m(ODUCTION)141 91 y Fz(Optional)30 b(brief)e(textual)i
(description)g(of)f(the)g(functionality)h(including)e(any)i(r)-5
b(estrictions)30 b(that)g(apply)g(to)f(al)5 b(l)0 204
y(language)33 b(bindings.)136 378 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding)136 561 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(77)h(binding)136 743 y FJ(\017)46 b FK(C)30
b(binding)141 917 y(Alternativ)m(e)c(language)g(bindings)d(for)i(C++)g
(and)g(Ja)m(v)-5 b(a)27 b(w)m(ere)f(also)g(discussed)e(during)f(the)j
(meetings)g(of)g(the)0 1030 y(forum,)k(but)f(the)i(sp)s(eci\014cations)
e(for)h(these)h(bindings)c(w)m(ere)k(p)s(ostp)s(oned)e(for)h(a)h
(future)e(series)h(of)g(meetings.)0 1314 y FE(1.8)116
b(Erro)m(r)37 b(Handling)0 1517 y FK(This)25 b(do)s(cumen)m(t)h(supp)s
(orts)f(t)m(w)m(o)j(t)m(yp)s(es)e(of)h(error-handling)d(capabilities:)
37 b(an)26 b(error)g(handler)f(and)h(error)g(return)0
1630 y(co)s(des.)40 b(Eac)m(h)28 b(c)m(hapter)g(of)g(this)e(do)s(cumen)
m(t,)i(and)f(th)m(us)g(eac)m(h)i(\015a)m(v)m(or)f(of)g(BLAS,)g(has)f
(the)g(c)m(hoice)i(of)e(using)f(either)0 1743 y(capabilit)m(y)-8
b(,)24 b(whic)m(hev)m(er)f(is)f(more)i(appropriate.)37
b(Chapters)23 b(2)g(and)g(4)h(rely)e(on)h(an)g(error)g(handler,)g(and)g
(Chapter)g(3)0 1856 y(pro)m(vides)29 b(error)h(return)g(co)s(des.)141
1968 y(One)k(error)f(handler,)g(BLAS)p 1166 1968 28 4
v 33 w(ERR)m(OR,)h(is)f(de\014ned.)49 b(A)34 b(series)g(of)g(error)f
(return)g(co)s(des)h(are)g(also)g(de\014ned.)0 2081 y(Eac)m(h)27
b(function)e(in)g(this)h(do)s(cumen)m(t)g(determines)g(when)f(and)h(if)
f(an)i(error-handling)d(mec)m(hanism)h(is)h(called,)h(and)0
2194 y(its)34 b(function)g(sp)s(eci\014cation)g(m)m(ust)h(do)s(cumen)m
(t)g(the)g(conditions)f(\(if)g(an)m(y\))i(whic)m(h)e(trigger)h(the)g
(error)g(handling)0 2307 y(mec)m(hanism.)0 2548 y Fx(1.8.1)97
b(Return)33 b(Co)s(des)0 2720 y FK(Routines)k(in)f(the)i(Sparse)f(BLAS)
h(c)m(hapter)g(utilize)e(return)g(co)s(des)i(since)f(man)m(y)h(of)g
(the)g(op)s(erations)f(need)g(to)0 2833 y(b)s(e)c(reco)m(v)m(erable.)50
b(In)32 b(F)-8 b(ortran)34 b(95)g(and)f(77,)i(the)e(error)g(return)f
(co)s(de)i(of)f(a)g(BLAS)g(routine)g(is)f(returned)g(in)g(the)0
2946 y(parameter)26 b FD(istat)p FK(,)f(usually)e(the)j(last)f(argumen)
m(t)h(in)e(the)h(parameter)h(list.)38 b(In)25 b(C,)g(the)g(error)g(co)s
(de)h(is)e(the)i(return)0 3058 y(v)-5 b(alue)35 b(of)g(the)g(function.)
53 b(In)35 b(either)f(case,)k(the)d(v)-5 b(alue)35 b(of)g(the)g(error)g
(co)s(de)g(is)f(the)h(in)m(teger)h(0)f(if)f(the)h(op)s(eration)0
3171 y(w)m(as)d(successful.)42 b(In)31 b(the)g(ev)m(en)m(t)i(of)f(an)f
(error)g(detection,)i(a)e(nonzero)h(v)-5 b(alue)31 b(is)f(returned)h
(and)f(con)m(trol)i(returns)0 3284 y(bac)m(k)42 b(to)g(the)g(calling)d
(program,)44 b(as)e(usual.)72 b(The)41 b(application)e(is)h(not)i(ab)s
(orted)f(or)g(halted,)j(and)d(it)f(is)h(the)0 3397 y(resp)s(onsibilit)m
(y)26 b(of)31 b(the)f(caller)g(to)h(c)m(hec)m(k)h(error)e(status)h(of)f
(these)h(BLAS)f(op)s(erations.)0 3638 y Fx(1.8.2)97 b(Erro)m(r)33
b(Handlers)0 3810 y FK(The)d(error)g(handler)e(de\014nes)i(some)h
(minimal)c(scalar)k(input)d(argumen)m(t)j(c)m(hec)m(king.)227
3984 y Fz(A)-5 b(dvic)g(e)44 b(to)h(implementors.)156
b FK(A)43 b(BLAS)g(supplier)c(is)j(free)h(to)g(pro)m(vide)f(m)m
(ultiple)e(in)m(terfaces)j(to)h(the)227 4097 y(libraries,)28
b(so)i(that)h(a)f(second)g(in)m(terface)h(ma)m(y)g(p)s(erform)d(no)i
(error)g(c)m(hec)m(king.)41 b(\()p Fz(End)33 b(of)g(advic)-5
b(e)33 b(to)g(imple-)227 4210 y(mentors.)p FK(\))0 4384
y(Additional)28 b(error)h(c)m(hec)m(king)i(ma)m(y)g(b)s(e)e(p)s
(erformed)g(\(for)h(instance,)g(c)m(hec)m(king)h(that)f(there)h(are)f
(no)g(zeros)h(on)f(the)0 4497 y(diagonal)g(of)i(a)f(triangular)f(solv)m
(e\),)i(but)f(these)h(kinds)d(of)i(tests)h(are)g(to)s(o)g(implemen)m
(tation-constraining)d(to)j(b)s(e)0 4610 y(mandated)e(b)m(y)h(the)f
(standard.)40 b(An)m(y)30 b(additional)f(error)h(c)m(hec)m(king)h(m)m
(ust)f(not)h(ab)s(ort)f(execution.)141 4723 y(When)25
b(an)m(y)g(of)g(the)g(mandated)g(scalar)g(input)e(argumen)m(t)j(c)m
(hec)m(ks)g(fail,)f(if)f(the)h(BLAS)g(error)f(handler)f(is)h(used,)0
4835 y(it)30 b(m)m(ust)h(use)f(the)h(API)g(giv)m(en)g(b)s(elo)m(w.)41
b(The)30 b(default)g(b)s(eha)m(vior)g(of)h(the)g(BLAS-complian)m(t)f
(error)g(handler)f(is)h(to)0 4948 y(prin)m(t)f(an)h(informativ)m(e)f
(error)g(message)j(and)d(ab)s(ort)h(execution.)41 b(Ho)m(w)m(ev)m(er,)
32 b(the)e(API)g(of)g(this)f(error)h(handler)e(is)0 5061
y(mandated)j(b)m(y)g(this)f(do)s(cumen)m(t)h(sp)s(eci\014cally)e(so)j
(that)f(a)h(user)f(can)g(o)m(v)m(erride)g(the)h(default)e(error)h
(handler)e(with)0 5174 y(a)39 b(user-de\014ned)f(routine,)i(so)f(that)h
(this)e(b)s(eha)m(vior)g(can)h(b)s(e)f(c)m(hanged.)67
b(It)39 b(is)f(therefore)i(necessary)f(that)h(the)0 5287
y(implemen)m(tor)30 b(not)j(assume)e(that)h(the)g(error)g(handler)e
(stops)i(execution,)g(but)f(rather)h(m)m(ust)g(return)e(explicitly)0
5400 y(b)s(efore)g(altering)g(the)g(routine's)g(op)s(erands)f(in)g(the)
h(ev)m(en)m(t)i(of)f(an)f(error.)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 15 25
15 24 bop 0 -165 a FA(1.8.)72 b(ERR)m(OR)30 b(HANDLING)2734
b FK(15)141 91 y(The)26 b(follo)m(wing)f(are)i(de\014ned)e(as)h(errors)
g(b)m(y)h(this)e(standard.)39 b(All)25 b(F)-8 b(ortran)27
b(95,)h(F)-8 b(ortran)27 b(77,)h(and)e(C)g(routines)0
204 y(m)m(ust)k(p)s(erform)f(the)i(follo)m(wing)e(error)h(c)m(hec)m(k.)
136 383 y FJ(\017)46 b FK(An)m(y)28 b(v)-5 b(alue)28
b(of)g(the)g(op)s(erator)g(argumen)m(ts)h(whose)f(meaning)f(is)g(not)h
(sp)s(eci\014ed)e(in)h(section)h(A.3)h(is)e(in)m(v)-5
b(alid.)0 562 y(Additionally)d(,)21 b(all)f(F)-8 b(ortran)22
b(77)g(and)e(C)h(routines)f(m)m(ust)h(p)s(erform)f(the)i(follo)m(wing)d
(error)i(c)m(hec)m(ks,)k(unless)20 b(otherwise)0 675
y(noted)31 b(in)e(the)h(sp)s(eci\014cation)f(of)i(the)f(routine.)136
854 y FJ(\017)46 b FK(An)m(y)31 b(problem)e(dimension)e(or)k(bandwidth)
c(\(eg.,)32 b Fv(m)p FK(,)f Fv(n)p FK(,)g Fv(k)p FK(,)g
Fv(k)p FK(l,)f Fv(k)p FK(u\))g(less)g(than)g(zero)136
1038 y FJ(\017)46 b FK(An)m(y)31 b(v)m(ector)h(incremen)m(t)e(\(eg.,)i
Fv(i)p FK(ncw,)e Fv(i)p FK(ncx,)g Fv(i)p FK(ncy,)g Fv(i)p
FK(ncz\))h(equal)e(to)j(zero)136 1222 y FJ(\017)46 b
FK(An)m(y)31 b(leading)e(dimension)f(\(eg.)42 b Fv(l)p
FK(da,)30 b Fv(l)p FK(db,)f Fv(l)p FK(dc,)h Fv(l)p FK(dt\))g(less)g
(than)g(one)136 1406 y FJ(\017)46 b FK(An)m(y)26 b(leading)f(dimension)
e(\(eg.)40 b Fv(l)p FK(da,)27 b Fv(l)p FK(db,)e Fv(l)p
FK(dc,)i Fv(l)p FK(dt\))e(less)h(than)f(the)h(relev)-5
b(an)m(t)26 b(dimension)d(of)j(the)g(problem.)227 1519
y(The)k(relev)-5 b(an)m(t)31 b(dimension)d(of)i(the)h(problem)e(is:)330
1703 y FG({)45 b Fv(n)p FK(,)31 b(for)f(a)h(square,)f(symmetric,)g(or)g
(triangular)f(matrix)330 1846 y FG({)45 b Fv(m)p FK(,)31
b(for)f(a)h Fv(m)f FJ(\002)g Fv(n)h FK(general,)f(non-transp)s(osed)f
(matrix)330 1988 y FG({)45 b Fv(n)p FK(,)31 b(for)f(a)h
Fv(m)f FJ(\002)g Fv(n)h FK(general,)f(transp)s(osed)f(matrix)330
2131 y FG({)45 b Fv(k)p FK(l)30 b(+)g Fv(k)p FK(u)h(+)f(1)g(for)g(a)h
Fv(m)g FJ(\002)f Fv(n)g FK(general)g(band)g(matrix)330
2273 y FG({)45 b Fv(k)31 b FK(+)f(1)h(for)f(a)h Fv(n)f
FJ(\002)g Fv(n)g FK(symmetric)g(or)g(triangular)f(band)g(matrix)h(with)
f Fv(k)i FK(sup)s(er-)e(or)h(sub)s(diagonals)141 2457
y(Eac)m(h)43 b(language)f(binding)d(p)s(ossesses)i(its)g(o)m(wn)h
(unique)e(error)h(handler.)74 b(Ho)m(w)m(ev)m(er,)47
b(all)40 b(error)i(handlers)0 2570 y(minimally)27 b(pass)j(three)g
(pieces)g(of)h(information:)111 2749 y(1.)46 b FD(RNAME)p
FK(,)29 b(the)i(name)f(of)h(the)g(routine)e(in)g(whic)m(h)g(the)i
(error)f(o)s(ccurred.)111 2933 y(2.)46 b FD(IFLAG)p FK(,)33
b(an)h(in)m(teger)h(\015ag)f(whic)m(h,)g(if)f(negativ)m(e,)j(means)e
(that)h(parameter)g(n)m(um)m(b)s(er)d FD(-IFLAG)h FK(caused)h(the)227
3046 y(error,)d(and)e(if)h(set)h(to)g(nonnegativ)m(e,)g(is)e(an)i
(implemen)m(tation-sp)s(eci\014c)d(error)i(co)s(de)111
3230 y(3.)46 b FD(IVAL)p FK(,)30 b(the)g(v)-5 b(alue)30
b(of)h(parameter)g(n)m(um)m(b)s(er)e FD(-IFLAG)p FK(.)0
3409 y(Eac)m(h)24 b(language's)h(BLAS)e(error)g(handler)f(should)g
(prin)m(t)g(an)i(informativ)m(e)f(error)g(message)i(describing)c(the)j
(error,)0 3522 y(and)j(halt)g(execution.)40 b(The)27
b(API)h(of)g(the)g(error)f(handler)f(is)g(explicitly)g(sp)s(elled)f
(out)j(in)e(eac)m(h)j(section,)g(so)f(that)g(if)0 3635
y(this)i(b)s(eha)m(vior)h(is)g(not)h(desired)e(b)m(y)h(the)h(user)f(or)
g(higher)g(lev)m(el)g(library)e(pro)m(vider,)i(it)g(ma)m(y)h(b)s(e)f(c)
m(hanged)h(b)m(y)g(the)0 3748 y(BLAS)e(user,)g(o)m(v)m(erriding)f(the)i
(BLAS's)f(error)g(handler)f(with)g(one)i(whic)m(h)e(p)s(erforms)f(as)j
(required.)141 3861 y(The)i(API)g(for)g(eac)m(h)h(language)g(binding)c
(is)i(mandated)h(in)f(the)h(follo)m(wing)f(sections;)i(as)g(an)f
(advice)g(to)h(the)0 3974 y(implemen)m(tor,)29 b(an)i(example)f(of)g(a)
h(BLAS-2000)h(complian)m(t)e(error)g(handler)e(is)i(included)e(as)i(w)m
(ell.)0 4212 y Fv(F95)h(erro)m(r)h(handler)0 4384 y FK(The)d(F)-8
b(ortran)30 b(95)g(BLAS)f(do)h(not)f(need)g(to)i(test)f(the)f(option)g
(argumen)m(ts,)h(since)f(these)h(are)g(deriv)m(ed)e(t)m(yp)s(es)i(and)0
4497 y(hence)37 b(in)m(v)-5 b(alid)34 b(argumen)m(ts)j(are)f(\015agged)
i(b)m(y)e(the)h(compiler.)57 b(The)37 b(only)e(case)j(where)e(arra)m(y)
h(dimensions)d(are)0 4610 y(argumen)m(ts)26 b(to)g(the)g(F)-8
b(ortran)27 b(95)f(BLAS)g(are)g(the)f(nonsymmetric)g(band)f(routines)h
(where)g Fy(m)h FK(and)f Fy(k)s(l)i FK(are)f(passed)0
4723 y(as)41 b(argumen)m(ts.)73 b(The)41 b(other)g(arra)m(y)h
(dimensions)c(can)j(b)s(e)g(determined)e(in)h(the)h(BLAS)g(routines)f
(using)g(the)0 4835 y(in)m(trinsic)29 b(function)i(SIZE,)g(and)g(arra)m
(ys)h(should)e(b)s(e)h(c)m(hec)m(k)m(ed)j(for)e(conformance)g
(according)g(to)g(the)g(op)s(eration)0 4948 y(b)s(eing)27
b(p)s(erformed.)38 b(F)-8 b(or)29 b(example)e(in)g(the)h(op)s(eration)g
Fy(AB)k FK(the)c(second)g(dimension)e(of)i Fy(A)g FK(m)m(ust)g(equal)g
(the)g(\014rst)0 5061 y(dimension)d(of)j Fy(B)5 b FK(.)39
b(Note)29 b(that,)g(for)e(consistency)-8 b(,)29 b Fy(m)e
FK(is)f(included)f(in)i(all)f(of)i(the)f(nonsymmetric)g(band)f
(routines)0 5174 y(although)h(in)f(some)i(cases)g(it)f(is)f(redundan)m
(t;)h(in)f(those)i(cases)h(it)d(should)g(b)s(e)g(tested)j(against)e
(the)h(relev)-5 b(an)m(t)27 b(arra)m(y)0 5287 y(dimension.)141
5400 y(The)j(mandated)g(API)g(of)h(the)g(routine)e(is:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 16 26
16 25 bop 0 -165 a FK(16)2438 b FA(CHAPTER)29 b(1.)72
b(INTR)m(ODUCTION)191 91 y FD(MODULE)46 b(blas_error_handler)286
204 y(INTERFACE)g(blas_error)382 317 y(SUBROUTINE)f
(blas_error\(rname,iflag,i)o(val)o(\))477 430 y(INTEGER,)h(INTENT)g
(\(IN\))h(::)g(iflag)477 543 y(INTEGER,)f(OPTIONAL,)f(INTENT)h(\(IN\))h
(::)g(ival)477 656 y(CHARACTER)f(\(*\),)g(INTENT)g(\(IN\))h(::)g(rname)
382 769 y(END)g(SUBROUTINE)e(blas_error)286 882 y(END)i(INTERFACE)191
995 y(END)g(MODULE)f(blas_error_handler)141 1182 y FK(A)31
b(p)s(ossible)d(implemen)m(tation)h(w)m(ould)g(b)s(e:)191
1370 y FD(SUBROUTINE)45 b(blas_error\(rname,iflag,i)o(val\))286
1483 y(!)j(..)f(Scalar)f(Arguments)f(..)286 1596 y(!)j(The)f(optional)e
(argument)h(ival)g(must)h(be)g(present)f(when)h(iflag)f(is)h(in)g
(\(-98,-1\))286 1709 y(INTEGER,)f(INTENT)g(\(IN\))h(::)g(iflag)286
1822 y(INTEGER,)f(OPTIONAL,)f(INTENT)h(\(IN\))h(::)g(ival)286
1934 y(CHARACTER)f(\(*\),)g(INTENT)g(\(IN\))h(::)g(rname)286
2047 y(!)h(..)286 2160 y(SELECT)e(CASE)h(\(iflag\))286
2273 y(CASE)g(\(-99\))382 2386 y(WRITE)f(\(*,1000\))g(rname)286
2499 y(CASE)h(\(-98:-1\))382 2612 y(WRITE)f(\(*,2000\))g(rname,)g
(-iflag,)g(ival)286 2725 y(CASE)h(DEFAULT)382 2838 y(WRITE)f
(\(*,3000\))g(iflag,)g(rname)286 2951 y(END)h(SELECT)286
3176 y(STOP)0 3402 y(1000)94 b(FORMAT)46 b(\('On)h(entry)f(to)i(',A,)e
(&)334 3515 y(')i(two)e(or)i(more)e(array)h(argument)e(sizes)i(do)g
(not)g(conform'\))0 3628 y(2000)94 b(FORMAT)46 b(\('On)h(entry)f(to)i
(',A,')e(argument)g(number',I3,)e(&)334 3741 y(')k(had)e(the)h(illegal)
f(value)h(of)g(',I5\))0 3854 y(3000)94 b(FORMAT)46 b(\('Unknown)g
(error)g(code)h(',I5,')f(raised)g(by)h(routine)f(',A\))191
4080 y(END)h(SUBROUTINE)e(blas_error)0 4320 y Fv(F77)31
b(erro)m(r)h(handler)0 4491 y FK(The)e(mandated)g(API)g(of)h(the)f
(routine)g(is:)334 4679 y FD(SUBROUTINE)45 b(BLAS_ERROR\()g(RNAME,)h
(IFLAG,)g(IVAL)h(\))334 4792 y(CHARACTER*\(*\))d(RNAME)334
4905 y(INTEGER)i(IFLAG,)g(IVAL)141 5093 y FK(A)31 b(p)s(ossible)d
(implemen)m(tation)h(w)m(ould)g(b)s(e:)334 5280 y FD(SUBROUTINE)45
b(BLAS_ERROR\()g(RNAME,)h(IFLAG,)g(IVAL)h(\))334 5393
y(CHARACTER*\(*\))d(RNAME)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 17 27
17 26 bop 0 -165 a FA(1.8.)72 b(ERR)m(OR)30 b(HANDLING)2734
b FK(17)334 91 y FD(INTEGER)46 b(IFLAG,)g(IVAL)334 317
y(IF\()h(IFLAG.LT.0)e(\))i(THEN)477 430 y(WRITE\(*,1000\))d(RNAME,)j
(-IFLAG,)e(IVAL)334 543 y(ELSE)477 656 y(WRITE\(*,2000\))f(IFLAG,)j
(RNAME)334 769 y(END)g(IF)334 882 y(STOP)0 1108 y(1000)142
b(FORMAT\('On)45 b(entry)h(to)i(',A,)e(')i(parameter)d(number',)h(I3,)
286 1220 y($)334 b(')48 b(had)f(the)f(illegal)g(value)h(of',)f(I\))0
1333 y(2000)142 b(FORMAT\('Unknown)44 b(error)i(code)h(',I,')f(raised)g
(by)h(routine',A\))334 1446 y(END)0 1686 y Fv(C)30 b(erro)m(r)i
(handler)0 1858 y FK(The)e(mandated)g(API)g(of)h(the)f(routine)g(is:)0
2046 y FD(void)47 b(BLAS_error\(char)c(*rname,)j(int)h(iflag,)f(int)h
(ival,)f(char)h(*form,)f(...\))141 2233 y FK(A)31 b(p)s(ossible)d
(implemen)m(tation)h(w)m(ould)g(b)s(e:)0 2421 y FD(#include)46
b(<stdio.h>)0 2534 y(#include)g(<stdarg.h>)0 2647 y(void)h
(BLAS_error\(char)c(*rname,)j(int)h(iflag,)f(int)h(ival,)f(char)h
(*form,)f(...\))0 2760 y({)143 2873 y(va_list)g(argptr;)143
3098 y(va_start\(argptr,)e(form\);)143 3211 y(fprintf\(stderr,)g
("Error)i(#\045d)h(from)f(routine)g(\045s:\\n",)g(iflag,)g(rname\);)143
3324 y(if)h(\(form\))f(vfprintf\(stderr,)e(form,)i(argptr\);)143
3437 y(else)h(if)g(\(iflag)f(<)i(0\))286 3550 y(fprintf\(stderr,)430
3663 y(")142 b(Parameter)46 b(number)g(\045d)h(to)g(routine)f(\045s)h
(had)g(the)g(illegal)f(value)g(\045d\\n",)668 3776 y(-iflag,)g(rname,)g
(ival\);)143 3889 y(else)h(fprintf\(stderr,)c(")143 b(Unknown)46
b(error)h(code)f(\045d)h(from)g(routine)f(\045s\\n",)764
4002 y(iflag,)g(rname\);)143 4115 y(exit\(iflag\);)0
4227 y(})-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 18 28
18 27 bop 0 714 a FF(Chapter)65 b(2)0 1129 y FH(Dense)77
b(and)h(Banded)g(BLAS)0 1611 y FE(2.1)116 b(Overview)37
b(and)i(F)m(unctionalit)m(y)0 1814 y FK(This)28 b(c)m(hapter)i
(de\014nes)f(the)g(functionalit)m(y)f(and)h(language)h(bindings)c(for)k
(the)f(dense)h(and)e(banded)h(BLAS)g(rou-)0 1926 y(tines,)h(addressing)
e(mathematical)j(op)s(erations)e(with)g(scalars,)h(v)m(ectors)i(and)e
(dense,)g(banded,)f(and)h(triangular)0 2039 y(matrices)g(but)g(not)h
(sparse)f(data)h(structures.)141 2152 y(The)39 b(c)m(hapter)g(is)f
(organized)h(as)g(follo)m(ws.)65 b(Sections)39 b(2.1.1,)k(2.1.2,)g(and)
c(2.1.3)h(list)e(in)f(tabular)h(form)h(the)0 2265 y(functionalit)m(y)d
(of)i(the)h(prop)s(osed)d(routines.)62 b(Unless)37 b(otherwise)h(sp)s
(eci\014ed,)g(the)g(op)s(erations)f(apply)g(to)i(b)s(oth)0
2378 y(real)33 b(and)g(complex)h(argumen)m(ts.)51 b(F)-8
b(or)34 b(the)g(sak)m(e)h(of)e(compactness)i(the)f(complex)f(op)s
(erators)h(are)g(omitted,)h(so)0 2491 y(that)f(whenev)m(er)f(a)h
(transp)s(ose)e(op)s(eration)h(is)f(giv)m(en)i(the)f(conjugate)i
(transp)s(ose)d(should)g(also)h(b)s(e)g(assumed)f(for)0
2604 y(the)38 b(complex)f(case.)63 b(Section)37 b(2.2)h(de\014nes)f
(the)g(matrix)g(storage)i(sc)m(hemes.)62 b(Section)38
b(2.3)g(discusses)e(general)0 2717 y(in)m(terface)29
b(issues,)f(and)f(sections)i(2.4,)h(2.5,)g(and)d(2.6)j(detail)d(the)i
(in)m(terface)g(issues)e(for)h(the)g(resp)s(ectiv)m(e)h(language)0
2830 y(bindings)35 b({)j(F)-8 b(ortran)39 b(95,)i(F)-8
b(ortran)39 b(77,)i(and)c(C.)h(Section)g(2.7)h(discusses)e(issues)g
(concerning)g(the)h(n)m(umerical)0 2943 y(accuracy)i(of)f(the)g(BLAS.)g
(And)f(lastly)-8 b(,)41 b(sections)d(2.8.2)j({)e(2.8.10)i(presen)m(t)e
(the)g(language)h(bindings)35 b(for)k(the)0 3056 y(prop)s(osed)29
b(routines.)0 3299 y Fx(2.1.1)97 b(Scala)m(r)33 b(and)f(V)m(ecto)m(r)j
(Op)s(erations)0 3471 y FK(This)e(section)i(lists)e(scalar)i(and)f(v)m
(ector)i(op)s(erations.)54 b(The)34 b(functionalit)m(y)f(tables)i(are)g
(organized)g(as)g(follo)m(ws.)0 3584 y(T)-8 b(able)35
b(2.1)i(lists)d(the)i(scalar)f(and)g(v)m(ector)i(reduction)e(op)s
(erations,)h(table)g(2.2)h(lists)d(the)h(rotation)h(op)s(erations,)0
3696 y(table)27 b(2.3)i(lists)d(the)h(v)m(ector)i(op)s(erations,)f(and)
f(table)g(2.4)i(lists)d(v)m(ector)j(op)s(erations)e(in)m(v)m(olving)e
(only)i(data)h(mo)m(v)m(e-)0 3809 y(men)m(t.)38 b(Notation)23
b(in)e(the)i(tables)e(is)h(de\014ned)f(in)f(section)j(1.4,)i(and)c
(details)g(of)i(the)f(data)h(structures)e(are)i(discussed)0
3922 y(in)28 b(section)i(2.2.)42 b(V)-8 b(ector)31 b(norms)e(are)h
(de\014ned)e(in)h(App)s(endix)e(A.1.)41 b(The)29 b(language)h(bindings)
d(are)j(presen)m(ted)f(in)0 4035 y(sections)h(2.8.2,)j(2.8.4,)f(and)e
(2.8.5.)0 4279 y Fx(2.1.2)97 b(Matrix-V)m(ecto)m(r)33
b(Op)s(erations)0 4450 y FK(This)19 b(section)j(lists)e(the)h(matrix-v)
m(ectors)h(op)s(erations)f(in)f(functionalit)m(y)g(table)h(2.5.)38
b(Unless)21 b(otherwise)f(sp)s(eci\014ed,)0 4563 y(the)k(op)s(erations)
f(apply)g(to)i(b)s(oth)e(real)g(and)h(complex)f(argumen)m(ts.)39
b(F)-8 b(or)25 b(the)f(sak)m(e)h(of)f(compactness)h(the)f(complex)0
4676 y(op)s(erators)39 b(are)h(omitted,)i(so)d(that)h(whenev)m(er)f(a)g
(transp)s(ose)g(op)s(eration)g(is)f(giv)m(en)h(b)s(oth)g(the)g
(conjugate)i(and)0 4789 y(conjugate)32 b(transp)s(ose)d(should)g(also)h
(b)s(e)g(assumed)g(for)g(the)g(complex)g(case.)141 4902
y(The)35 b(matrix)g Fy(T)48 b FK(represen)m(ts)36 b(an)f(upp)s(er)f(or)
h(lo)m(w)m(er)h(triangular)e(matrix,)i(whic)m(h)e(can)i(b)s(e)f(unit)f
(or)i(non-unit)0 5015 y(triangular.)54 b Fy(D)38 b FK(represen)m(ts)d
(a)g(diagonal)g(matrix.)55 b(Notation)36 b(in)e(the)h(tables)g(is)f
(de\014ned)g(in)g(section)i(1.4,)i(and)0 5128 y(details)30
b(of)i(the)f(data)h(structures)f(are)h(discussed)d(in)h(section)h(2.2.)
45 b(The)31 b(language)g(bindings)d(are)k(presen)m(ted)f(in)0
5241 y(section)g(2.8.6.)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 19 29
19 28 bop 0 -165 a FA(2.1.)72 b(O)m(VER)-10 b(VIEW)31
b(AND)g(FUNCTIONALITY)2028 b FK(19)p 259 3 3383 4 v 257
116 4 113 v 308 82 a(Dot)32 b(pro)s(duct)p 1377 116 V
628 w Fy(r)c FJ( )d Fy(\014)5 b(r)23 b FK(+)d Fy(\013x)1935
49 y Fw(T)1990 82 y Fy(y)p 3036 116 V 1053 w FK(DOT)p
3640 116 V 257 229 V 308 195 a(V)-8 b(ector)33 b(norms)p
1377 229 V 588 w Fy(r)28 b FJ( )d(jj)p Fy(x)p FJ(jj)1766
209 y FC(1)1806 195 y Fy(;)15 b(r)28 b FJ( )d(jj)p Fy(x)p
FJ(jj)2183 209 y FC(1)p Fw(R)2277 195 y Fy(;)p 3036 229
V 786 w FK(NORM)p 3640 229 V 257 342 V 1377 342 V 1429
308 a Fy(r)j FJ( )d(jj)p Fy(x)p FJ(jj)1766 322 y FC(2)1806
308 y Fy(;)p 3036 342 V 3640 342 V 257 455 V 1377 455
V 1429 421 a(r)j FJ( )d(jj)p Fy(x)p FJ(jj)1766 435 y
Fu(1)1841 421 y Fy(;)15 b(r)29 b FJ( )c(jj)p Fy(x)p FJ(jj)2219
435 y Fu(1)p Fw(R)p 3036 455 V 3640 455 V 257 568 V 308
534 a FK(Sum)p 1377 568 V 943 w Fy(r)j FJ( )1614 470
y Ft(P)1701 557 y Fw(i)1745 534 y Fy(x)1797 548 y Fw(i)p
3036 568 V 3088 534 a FK(SUM)p 3640 568 V 257 681 V 308
647 a(Min)i(v)-5 b(alue)30 b(&)g(lo)s(cation)p 1377 681
V 279 w Fy(k)s(;)15 b(x)1571 662 y Fw(k)1614 647 y Fy(;)g
FK(;)g Fy(k)29 b FK(=)c(arg)16 b(min)2159 661 y Fw(i)2203
647 y Fy(x)2255 661 y Fw(i)p 3036 681 V 3088 647 a FK(MIN)p
3277 647 28 4 v 33 w(V)-10 b(AL)p 3640 681 4 113 v 257
794 V 308 760 a(Min)30 b(abs)g(v)-5 b(alue)30 b(&)g(lo)s(cation)p
1377 794 V 117 w Fy(k)s(;)15 b(x)1571 775 y Fw(k)1614
760 y Fy(;)g(k)29 b FK(=)c(arg)15 b(min)2119 774 y Fw(i)2147
760 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)2406 774
y Fw(i)2435 760 y FK(\))p FJ(j)21 b FK(+)f FJ(j)p Fy(I)7
b(m)p FK(\()p Fy(x)2846 774 y Fw(i)2875 760 y FK(\))p
FJ(j)p FK(\))p 3036 794 V 118 w(AMIN)p 3345 760 28 4
v 33 w(V)-10 b(AL)p 3640 794 4 113 v 257 907 V 308 873
a(Max)31 b(v)-5 b(alue)30 b(&)g(lo)s(cation)p 1377 907
V 262 w Fy(k)s(;)15 b(x)1571 888 y Fw(k)1614 873 y Fy(;)g
FK(;)g Fy(k)29 b FK(=)c(arg)16 b(max)2177 887 y Fw(i)2220
873 y Fy(x)2272 887 y Fw(i)p 3036 907 V 3088 873 a FK(MAX)p
3312 873 28 4 v 33 w(V)-10 b(AL)p 3640 907 4 113 v 257
1020 V 308 986 a(Max)31 b(abs)g(v)-5 b(alue)29 b(&)h(lo)s(cation)p
1377 1020 V 100 w Fy(k)s(;)15 b(x)1571 1001 y Fw(k)1614
986 y Fy(;)g(k)29 b FK(=)c(arg)15 b(max)2137 1000 y Fw(i)2165
986 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)2424 1000
y Fw(i)2453 986 y FK(\))p FJ(j)21 b FK(+)f FJ(j)p Fy(I)7
b(m)p FK(\()p Fy(x)2864 1000 y Fw(i)2892 986 y FK(\))p
FJ(j)p FK(\))p 3036 1020 V 101 w(AMAX)p 3380 986 28 4
v 34 w(V)-10 b(AL)p 3640 1020 4 113 v 257 1132 V 308
1099 a(Sum)29 b(of)i(squares)p 1377 1132 V 518 w(\()p
Fy(ssq)s(;)15 b(scl)r FK(\))25 b FJ( )1921 1034 y Ft(P)2024
1099 y Fy(x)2076 1066 y FC(2)2076 1123 y Fw(i)2115 1099
y Fy(;)p 3036 1132 V 948 w FK(SUMSQ)p 3640 1132 V 257
1245 V 1377 1245 V 1429 1211 a Fy(ssq)d FJ(\001)e Fy(scl)1734
1178 y FC(2)1799 1211 y FK(=)1895 1147 y Ft(P)1998 1211
y Fy(x)2050 1178 y FC(2)2050 1236 y Fw(i)p 3036 1245
V 3640 1245 V 259 1249 3383 4 v 1297 1403 a FK(T)-8 b(able)30
b(2.1:)42 b(Reduction)30 b(Op)s(erations)p 404 1623 3093
4 v 402 1736 4 113 v 454 1702 a(Generate)i(Giv)m(ens)e(rotation)p
1797 1736 V 388 w(\()p Fy(c;)15 b(s;)g(r)s FK(\))26 b
FJ( )f FK(rot)q(\()p Fy(a;)15 b(b)p FK(\))p 2841 1736
V 312 w(GEN)p 3099 1702 28 4 v 33 w(GR)m(OT)p 3494 1736
4 113 v 402 1849 V 454 1815 a(Generate)32 b(Jacobi)e(rotation)p
1797 1849 V 403 w(\()p Fy(a;)15 b(b;)g(c;)g(s)p FK(\))27
b FJ( )e FK(jrot\()p Fy(x;)15 b(y)s(;)g(z)t FK(\))p 2841
1849 V 102 w(GEN)p 3099 1815 28 4 v 33 w(JR)m(OT)p 3494
1849 4 113 v 402 1962 V 454 1928 a(Generate)32 b(Householder)d
(transform)p 1797 1962 V 99 w(\()p Fy(\013;)15 b(x;)g(\034)10
b FK(\))27 b FJ( )e FK(house\()p Fy(\013;)15 b(x)p FK(\))p
Fy(;)p 2841 1962 V 123 w FK(GEN)p 3099 1928 28 4 v 33
w(HOUSE)p 3494 1962 4 113 v 402 2075 V 1797 2075 V 1849
2041 a Fy(H)32 b FK(=)25 b Fy(I)i FJ(\000)20 b Fy(\013uu)2373
2008 y Fw(T)p 2841 2075 V 3494 2075 V 404 2078 3093 4
v 1215 2233 a FK(T)-8 b(able)30 b(2.2:)42 b(Generate)32
b(T)-8 b(ransformations)p 439 2435 3023 4 v 437 2548
4 113 v 489 2514 a(Recipro)s(cal)29 b(Scale)p 1762 2548
V 674 w Fy(x)d FJ( )f Fy(x=\013)p 2746 2548 V 635 w FK(RSCALE)p
3459 2548 V 437 2661 V 489 2627 a(Scaled)30 b(v)m(ector)h(accum)m
(ulation)p 1762 2661 V 241 w Fy(y)d FJ( )e Fy(\013x)20
b FK(+)g Fy(\014)5 b(y)s(;)p 2746 2661 V 444 w FK(AXPBY)p
3459 2661 V 437 2774 V 489 2740 a(Scaled)30 b(v)m(ector)h(addition)p
1762 2774 V 439 w Fy(w)d FJ( )d Fy(\013x)c FK(+)f Fy(\014)5
b(y)p 2746 2774 V 452 w FK(W)-10 b(AXPBY)p 3459 2774
V 437 3023 4 250 v 489 2921 a(Com)m(bined)28 b(axp)m(y)j(&)f(dot)h(pro)
s(duct)p 1762 3023 V 1813 2777 a Ft(\()1940 2865 y FK(^)-63
b Fy(w)27 b FJ( )f Fy(w)c FJ(\000)e Fy(\013v)1922 2978
y(r)27 b FJ( )44 b FK(^)-63 b Fy(w)2174 2945 y Fw(T)2229
2978 y Fy(u)p 2746 3023 V 2797 2921 a FK(AXPY)p 3068
2921 28 4 v 33 w(DOT)p 3459 3023 4 250 v 437 3136 4 114
v 489 3102 a(Apply)28 b(plane)i(rotation)p 1762 3136
V 491 w(\()42 b Fy(x)83 b(y)44 b FK(\))26 b FJ( )f FK(\()42
b Fy(x)83 b(y)44 b FK(\))p Fy(R)p 2746 3136 V 101 w FK(APPL)-8
b(Y)p 3111 3102 28 4 v 33 w(GR)m(OT)p 3459 3136 4 114
v 439 3140 3023 4 v 1371 3294 a(T)g(able)30 b(2.3:)42
b(V)-8 b(ector)32 b(Op)s(erations)p 585 3514 2731 4 v
583 3627 4 113 v 634 3593 a(Cop)m(y)p 2020 3627 V 1230
w Fy(y)c FJ( )d Fy(x)p 2744 3627 V 484 w FK(COPY)p 3314
3627 V 583 3740 V 634 3706 a(Sw)m(ap)p 2020 3740 V 1227
w Fy(y)j FJ($)d Fy(x)p 2744 3740 V 484 w FK(SW)-10 b(AP)p
3314 3740 V 583 3853 V 634 3819 a(Sort)31 b(v)m(ector)p
2020 3853 V 998 w Fy(x)25 b FJ( )h FK(sort\()p Fy(x)p
FK(\))p 2744 3853 V 257 w(SOR)-8 b(T)p 3314 3853 V 583
3966 V 634 3932 a(Sort)31 b(v)m(ector)h(&)e(return)f(index)g(v)m(ector)
p 2020 3966 V 101 w(\()p Fy(p;)15 b(x)p FK(\))26 b FJ( )f
FK(sort)q(\()p Fy(x)p FK(\))p 2744 3966 V 100 w(SOR)-8
b(TV)p 3314 3966 V 583 4079 V 634 4045 a(P)m(erm)m(ute)32
b(v)m(ector)p 2020 4079 V 830 w Fy(x)25 b FJ( )h Fy(P)13
b(x)p 2744 4079 V 408 w FK(PERMUTE)p 3314 4079 V 585
4082 2731 4 v 1150 4237 a(T)-8 b(able)30 b(2.4:)42 b(Data)32
b(Mo)m(v)m(emen)m(t)g(with)e(V)-8 b(ectors)0 4594 y Fx(2.1.3)97
b(Matrix)32 b(Op)s(erations)0 4765 y FK(This)38 b(section)h(lists)f
(single)g(matrix)h(op)s(erations,)i(matrix-matrix)e(op)s(erations,)i
(and)e(matrix)f(op)s(erations)h(in-)0 4878 y(v)m(olving)d(data)i(mo)m
(v)m(emen)m(t.)62 b(The)37 b(functionalit)m(y)e(tables)i(are)g
(organized)g(as)g(follo)m(ws.)59 b(T)-8 b(able)37 b(2.6)h(lists)d
(single)0 4991 y(matrix)h(op)s(erations)g(and)g(matrix)g(op)s(erations)
g(that)h(in)m(v)m(olv)m(e)g Fy(O)s FK(\()p Fy(n)2362
4958 y FC(2)2401 4991 y FK(\))g(\015oating)g(p)s(oin)m(t)f(op)s
(erations,)i(T)-8 b(able)36 b(2.7)0 5104 y(lists)g(the)i
Fy(O)s FK(\()p Fy(n)521 5071 y FC(3)560 5104 y FK(\))h(matrix-matrix)d
(\015oating)i(p)s(oin)m(t)f(op)s(erations)g(and)g(T)-8
b(able)37 b(2.8)i(lists)e(those)h(matrix)f(\015oating)0
5217 y(p)s(oin)m(t)24 b(op)s(erations)g(that)i(in)m(v)m(olv)m(e)f(only)
f(data)h(mo)m(v)m(emen)m(t.)41 b(Unless)24 b(otherwise)g(sp)s
(eci\014ed,)h(the)g(op)s(erations)f(apply)0 5330 y(to)k(b)s(oth)f(real)
g(and)g(complex)h(argumen)m(ts.)40 b(F)-8 b(or)28 b(the)g(sak)m(e)h(of)
f(compactness)g(the)g(complex)f(op)s(erators)h(are)g(omit-)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 20 30
20 29 bop 0 -165 a FK(20)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)p 0 12 4083 4 v -2 125
4 113 v 50 91 a FK(Matrix)e(v)m(ector)i(pro)s(duct)p
1652 125 V 766 w Fy(y)c FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5
b(y)p 2876 125 V 644 w FK(GE,GB,SY,HE,)p 3594 125 V 101
w(MV)p 4080 125 V -2 237 V 1652 237 V 2876 237 V 2928
204 a(SB,HB,SP)-8 b(,HP)p 3594 237 V 4080 237 V -2 350
V 1652 350 V 1704 316 a Fy(y)28 b FJ( )d Fy(\013A)2019
283 y Fw(T)2075 316 y Fy(x)20 b FK(+)g Fy(\014)5 b(y)p
2876 350 V 589 w FK(GE,GB)p 3594 350 V 425 w(MV)p 4080
350 V -2 463 V 1652 463 V 1704 429 a Fy(x)25 b FJ( )g
Fy(\013T)13 b(x;)41 b(x)25 b FJ( )g Fy(\013T)2456 396
y Fw(T)2512 429 y Fy(x)p 2876 463 V 364 w FK(TR,TB,TP)p
3594 463 V 277 w(MV)p 4080 463 V 0 467 4083 4 v -2 579
4 113 v 50 546 a(Summed)k(matrix)g(v)m(ector)j(m)m(ultiplies)p
1652 579 V 322 w Fy(y)c FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5
b(B)g(x)p 2876 579 V 563 w FK(GE)p 3594 579 V 585 w(SUM)p
3853 546 28 4 v 33 w(MV)p 4080 579 4 113 v 0 583 4083
4 v -2 832 4 250 v 50 730 a(Multiple)28 b(matrix)i(v)m(ector)i(m)m
(ultiplies)p 1652 832 V 1704 586 a Ft(\()1812 673 y Fy(x)25
b FJ( )g Fy(T)2071 640 y Fw(T)2126 673 y Fy(y)1812 786
y(w)j FJ( )d Fy(T)13 b(z)p 2876 832 V 2928 730 a FK(TR)p
3594 832 V 585 w(MVT)p 4080 832 V -2 1081 V 1652 1081
V 1704 835 a Ft(\()1812 923 y Fy(x)25 b FJ( )g Fy(\014)5
b(A)2129 890 y Fw(T)2185 923 y Fy(y)23 b FK(+)d Fy(z)1812
1035 y(w)28 b FJ( )d Fy(\013Ax)p 2876 1081 V 2928 979
a FK(GE)p 3594 1081 V 585 w(MVT)p 4080 1081 V 0 1084
4083 4 v -2 1444 4 360 v 50 1287 a(Multiple)j(m)m(v)i(m)m(ults)g(&)g
(lo)m(w)g(rank)g(up)s(dates)p 1652 1444 V 1704 1090 a
Ft(8)1704 1165 y(>)1704 1190 y(<)1704 1339 y(>)1704 1364
y(:)1843 1147 y FK(^)1819 1170 y Fy(A)25 b FJ( )h Fy(A)20
b FK(+)g Fy(u)2260 1184 y FC(1)2299 1170 y Fy(v)2346
1137 y Fw(T)2343 1193 y FC(1)2422 1170 y FK(+)g Fy(u)2565
1184 y FC(2)2604 1170 y Fy(v)2651 1137 y Fw(T)2648 1193
y FC(2)1819 1290 y Fy(x)25 b FJ( )g Fy(\014)2093 1267
y FK(^)2068 1290 y Fy(A)2136 1257 y Fw(T)2192 1290 y
Fy(y)e FK(+)d Fy(z)1819 1410 y(w)28 b FJ( )d Fy(\013)2110
1387 y FK(^)2086 1410 y Fy(A)q(x)p 2876 1444 V 2928 1287
a FK(GE)p 3594 1444 V 585 w(MVER)p 4080 1444 V 0 1448
4083 4 v -2 1560 4 113 v 50 1527 a(T)-8 b(riangular)28
b(solv)m(e)p 1652 1560 V 1015 w Fy(x)d FJ( )g Fy(\013T)2021
1494 y Fu(\000)p FC(1)2116 1527 y Fy(x;)40 b(x)25 b FJ( )h
Fy(\013T)2551 1494 y Fu(\000)p Fw(T)2661 1527 y Fy(x)p
2876 1560 V 215 w FK(TR,TB,TP)p 3594 1560 V 277 w(SV)p
4080 1560 V 0 1564 4083 4 v -2 1677 4 113 v 50 1643 a(Rank)k(one)h(up)s
(dates)p 1652 1677 V 934 w Fy(A)25 b FJ( )g Fy(\013xy)2071
1610 y Fw(T)2147 1643 y FK(+)20 b Fy(\014)5 b(A)p 2876
1677 V 566 w FK(GE)p 3594 1677 V 585 w(R)p 4080 1677
V -2 1790 V 110 1756 a(and)30 b(symmetric)g(\()p Fy(A)c
FK(=)f Fy(A)1023 1723 y Fw(T)1078 1756 y FK(\))p 1652
1790 V 591 w Fy(A)g FJ( )g Fy(\013xx)2075 1723 y Fw(T)2151
1756 y FK(+)20 b Fy(\014)5 b(A)p 2876 1790 V 562 w FK(SY,HE,SP)-8
b(,HP)p 3594 1790 V 159 w(R)p 4080 1790 V -2 1903 V 110
1869 a(rank)30 b(one)h(&)f(t)m(w)m(o)i(up)s(dates)p 1652
1903 V 632 w Fy(A)25 b FJ( )g FK(\()p Fy(\013x)p FK(\))p
Fy(y)2141 1836 y Fw(T)2218 1869 y FK(+)19 b Fy(y)s FK(\()p
Fy(\013x)p FK(\))2536 1836 y Fw(T)2613 1869 y FK(+)h
Fy(\014)5 b(A)p 2876 1903 V 100 w FK(SY,HE,SP)-8 b(,HP)p
3594 1903 V 159 w(R2)p 4080 1903 V 0 1906 4083 4 v 1220
2060 a(T)g(able)30 b(2.5:)41 b(Matrix-V)-8 b(ector)33
b(Op)s(erations)0 2435 y(ted,)i(so)e(that)h(whenev)m(er)f(a)h(transp)s
(ose)f(op)s(eration)g(is)f(giv)m(en)h(b)s(oth)g(the)h(conjugate)g(and)f
(conjugate)h(transp)s(ose)0 2548 y(should)23 b(also)j(b)s(e)f(assumed)f
(for)i(the)f(complex)g(case.)40 b(The)25 b(matrix)g Fy(T)38
b FK(represen)m(ts)26 b(an)f(upp)s(er)e(or)j(lo)m(w)m(er)g(triangular)0
2661 y(matrix,)h(whic)m(h)e(can)i(b)s(e)f(unit)f(or)h(non-unit)f
(triangular.)38 b Fy(D)s FK(,)27 b Fy(D)2181 2675 y Fw(L)2234
2661 y FK(,)g(and)f Fy(D)2534 2675 y Fw(R)2619 2661 y
FK(represen)m(t)g(diagonal)g(matrices,)i(and)0 2774 y
Fy(J)38 b FK(is)28 b(a)i(symmetric)e(tridiagonal)f(matrix.)40
b(Notation)30 b(in)e(the)h(tables)g(is)f(de\014ned)g(in)f(section)j
(1.4,)g(and)f(details)f(of)0 2887 y(the)33 b(data)h(structures)e(are)h
(discussed)e(in)g(section)i(2.2.)49 b(Matrix)33 b(norms)f(are)h
(de\014ned)f(in)f(App)s(endix)g(A.2.)48 b(The)0 3000
y(language)31 b(bindings)c(are)k(listed)e(in)g(sections)h(2.8.6,)j
(2.8.7,)f(2.8.8,)g(and)e(2.8.9.)p 0 3128 4357 4 v -2
3241 4 113 v 50 3207 a(Matrix)g(norms)p 942 3241 V 397
w Fy(r)d FJ( )f(jj)p Fy(A)p FJ(jj)1347 3221 y FC(1)1387
3207 y Fy(;)15 b(r)28 b FJ( )e(jj)p Fy(A)p FJ(jj)1781
3221 y FC(1)p Fw(R)1875 3207 y Fy(;)15 b(r)28 b FJ( )d(jj)p
Fy(A)p FJ(jj)2268 3221 y Fw(F)2328 3207 y Fy(;)p 2401
3241 V 100 w FK(GE,GB,SY,HE,SB,HB,)p 3418 3241 V 3475
3207 28 4 v 135 w(NORM)p 4355 3241 4 113 v -2 3354 V
942 3354 V 994 3320 a Fy(r)i FJ( )f(jj)p Fy(A)p FJ(jj)1347
3334 y Fu(1)1422 3320 y Fy(;)15 b(r)29 b FJ( )c(jj)p
Fy(A)p FJ(jj)1816 3334 y Fu(1)p Fw(R)1945 3320 y Fy(;)p
2401 3354 V 483 w FK(SP)-8 b(,HP)g(,TR,TB,TP)p 3418 3354
V 4355 3354 V -2 3467 V 942 3467 V 994 3433 a Fy(r)27
b FJ( )f(jj)p Fy(A)p FJ(jj)1347 3447 y Fw(max)1492 3433
y Fy(;)15 b(r)28 b FJ( )d(jj)p Fy(A)p FJ(jj)1885 3447
y Fw(maxR)p 2401 3467 V 3418 3467 V 4355 3467 V -2 3580
V 50 3546 a FK(Diagonal)30 b(scaling)p 942 3580 V 293
w Fy(A)25 b FJ( )g Fy(D)s(A;)41 b(A)25 b FJ( )g Fy(AD)p
2401 3580 V 686 w FK(GE,GB)p 3418 3580 V 3475 3546 28
4 v 756 w(DIA)m(G)p 3745 3546 V 34 w(SCALE)p 4355 3580
4 113 v -2 3693 V 942 3693 V 994 3659 a Fy(A)g FJ( )g
Fy(D)1278 3673 y Fw(L)1331 3659 y Fy(AD)1474 3673 y Fw(R)p
2401 3693 V 2453 3659 a FK(GE,GB)p 3418 3693 V 3475 3659
28 4 v 756 w(LRSCALE)p 4355 3693 4 113 v -2 3806 V 942
3806 V 994 3772 a Fy(A)g FJ( )g Fy(D)s(AD)p 2401 3806
V 1029 w FK(SY,HE,SB,HB,SP)-8 b(,HP)p 3418 3806 V 3475
3772 28 4 v 193 w(LRSCALE)p 4355 3806 4 113 v -2 3919
V 942 3919 V 994 3885 a Fy(A)25 b FJ( )g Fy(A)c FK(+)f
Fy(B)5 b(D)p 2401 3919 V 921 w FK(GE,GB)p 3418 3919 V
3475 3885 28 4 v 756 w(DIA)m(G)p 3745 3885 V 34 w(SCALE)p
4083 3885 V 32 w(A)m(CC)p 4355 3919 4 113 v -2 4032 V
50 3998 a(Matrix)30 b(acc)i(and)d(scale)p 942 4032 V
121 w Fy(B)g FJ( )d Fy(\013A)20 b FK(+)g Fy(\014)5 b(B)g(;)41
b(B)30 b FJ( )25 b Fy(\013A)1983 3965 y Fw(T)2059 3998
y FK(+)19 b Fy(\014)5 b(B)p 2401 4032 V 179 w FK(GE,GB,SY,SB,)p
3418 4032 V 3475 3998 28 4 v 447 w(A)m(CC)p 4355 4032
4 113 v -2 4145 V 942 4145 V 2401 4145 V 2453 4111 a(SP)-8
b(,TR,TB,TP)p 3418 4145 V 4355 4145 V -2 4258 V 50 4224
a(Matrix)30 b(add)g(and)g(scale)p 942 4258 V 100 w Fy(C)h
FJ( )26 b Fy(\013A)20 b FK(+)g Fy(\014)5 b(B)p 2401 4258
V 884 w FK(GE,GB,SY,SB,)p 3418 4258 V 3475 4224 28 4
v 447 w(ADD)p 4355 4258 4 113 v -2 4370 V 942 4370 V
2401 4370 V 2453 4337 a(SP)-8 b(,TR,TB,TP)p 3418 4370
V 4355 4370 V 0 4374 4357 4 v 688 4541 a(T)g(able)30
b(2.6:)42 b(Matrix)30 b(Op)s(erations)f({)i Fy(O)s FK(\()p
Fy(n)2129 4508 y FC(2)2168 4541 y FK(\))g(\015oating)f(p)s(oin)m(t)f
(op)s(erations)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 21 31
21 30 bop 0 -165 a FA(2.1.)72 b(O)m(VER)-10 b(VIEW)31
b(AND)g(FUNCTIONALITY)2028 b FK(21)p 24 715 3853 4 v
22 828 4 113 v 74 794 a(Matrix)30 b(matrix)g(pro)s(duct)p
1066 828 V 133 w Fy(C)h FJ( )26 b Fy(\013AB)f FK(+)20
b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2169
761 y Fw(T)2225 794 y Fy(B)g FK(+)19 b Fy(\014)5 b(C)p
2748 828 V 269 w FK(GE)p 3122 828 V 241 w(MM)p 3874 828
V 22 941 V 1066 941 V 1118 907 a Fy(C)31 b FJ( )26 b
Fy(\013AB)1531 874 y Fw(T)1606 907 y FK(+)20 b Fy(\014)5
b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2224 874 y Fw(T)2280
907 y Fy(B)2354 874 y Fw(T)2429 907 y FK(+)19 b Fy(\014)5
b(C)p 2748 941 V 3122 941 V 3874 941 V 1068 944 2809
4 v 22 1053 4 113 v 1066 1053 V 1118 1020 a(C)31 b FJ( )26
b Fy(\013AB)f FK(+)20 b Fy(\014)5 b(C)q(;)41 b(C)32 b
FJ( )25 b Fy(\013B)5 b(A)20 b FK(+)g Fy(\014)5 b(C)p
2748 1053 V 324 w FK(SY,HE)p 3122 1053 V 100 w(MM)p 3874
1053 V 24 1057 3853 4 v 22 1170 4 113 v 74 1136 a(T)-8
b(riangular)28 b(m)m(ultiply)p 1066 1170 V 261 w Fy(B)h
FJ( )d Fy(\013T)13 b(B)5 b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5
b(T)p 2748 1170 V 803 w FK(TR)p 3122 1170 V 241 w(MM)p
3874 1170 V 22 1283 V 1066 1283 V 1118 1249 a Fy(B)29
b FJ( )d Fy(\013T)1457 1216 y Fw(T)1512 1249 y Fy(B)5
b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5 b(T)2064 1216 y
Fw(T)p 2748 1283 V 3122 1283 V 3874 1283 V 24 1286 3853
4 v 22 1396 4 113 v 74 1362 a FK(T)-8 b(riangular)28
b(solv)m(e)p 1066 1396 V 405 w Fy(B)h FJ( )d Fy(\013T)1457
1329 y Fu(\000)p FC(1)1551 1362 y Fy(B)5 b(;)40 b(B)30
b FJ( )25 b Fy(\013B)5 b(T)2103 1329 y Fu(\000)p FC(1)p
2748 1396 V 2799 1362 a FK(TR)p 3122 1396 V 241 w(SM)p
3874 1396 V 22 1508 V 1066 1508 V 1118 1475 a Fy(B)29
b FJ( )d Fy(\013T)1457 1442 y Fu(\000)p Fw(T)1567 1475
y Fy(B)5 b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5 b(T)2119
1442 y Fu(\000)p Fw(T)p 2748 1508 V 3122 1508 V 3874
1508 V 24 1512 3853 4 v 22 1621 4 113 v 74 1587 a FK(Symmetric)29
b(rank)h Fy(k)j FK(&)d(2)p Fy(k)p 1066 1621 V 104 w(C)h
FJ( )26 b Fy(\013AA)1525 1554 y Fw(T)1601 1587 y FK(+)20
b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2219
1554 y Fw(T)2274 1587 y Fy(A)c FK(+)f Fy(\014)5 b(C)p
2748 1621 V 224 w FK(SY,HE)p 3122 1621 V 100 w(RK)p 3874
1621 V 1068 1625 2809 4 v 22 1734 4 113 v 104 1700 a(up)s(dates)29
b(\()p Fy(C)k FK(=)25 b Fy(C)746 1667 y Fw(T)800 1700
y FK(\))p 1066 1734 V 283 w Fy(C)31 b FJ( )26 b Fy(\013AJ)9
b(A)1584 1667 y Fw(T)1660 1700 y FK(+)20 b Fy(\014)5
b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2278 1667 y Fw(T)2334
1700 y Fy(J)9 b(A)20 b FK(+)g Fy(\014)5 b(C)p 2748 1734
V 106 w FK(SY,HE)p 3122 1734 V 3178 1700 28 4 v 133 w(TRIDIA)m(G)p
3615 1700 V 33 w(RK)p 3874 1734 4 113 v 1068 1738 2809
4 v 22 1847 4 113 v 1066 1847 V 1118 1813 a Fy(C)31 b
FJ( )26 b FK(\()p Fy(\013A)p FK(\))p Fy(B)1601 1780 y
Fw(T)1677 1813 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013A)p
FK(\))2038 1780 y Fw(T)2114 1813 y FK(+)20 b Fy(\014)5
b(C)i FK(,)p 2748 1847 V 441 w(SY,HE)p 3122 1847 V 100
w(R2K)p 3874 1847 V 22 1960 V 1066 1960 V 1118 1926 a
Fy(C)31 b FJ( )26 b FK(\()p Fy(\013A)p FK(\))1527 1893
y Fw(T)1583 1926 y Fy(B)f FK(+)20 b Fy(B)1842 1893 y
Fw(T)1896 1926 y FK(\()p Fy(\013A)p FK(\))i(+)e Fy(\014)5
b(C)p 2748 1960 V 3122 1960 V 3874 1960 V 1068 1963 2809
4 v 22 2073 4 113 v 1066 2073 V 1118 2039 a(C)31 b FJ( )26
b FK(\()p Fy(\013AJ)9 b FK(\))p Fy(B)1660 2006 y Fw(T)1736
2039 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013AJ)k FK(\))2156
2006 y Fw(T)2232 2039 y FK(+)20 b Fy(\014)5 b(C)i FK(,)p
2748 2073 V 323 w(SY,HE)p 3122 2073 V 3178 2039 28 4
v 133 w(TRIDIA)m(G)p 3615 2039 V 33 w(R2K)p 3874 2073
4 113 v 22 2186 V 1066 2186 V 1118 2152 a Fy(C)31 b FJ( )26
b FK(\()p Fy(\013AJ)9 b FK(\))1586 2119 y Fw(T)1642 2152
y Fy(B)25 b FK(+)20 b Fy(B)1901 2119 y Fw(T)1955 2152
y FK(\()p Fy(\013AJ)9 b FK(\))22 b(+)e Fy(\014)5 b(C)p
2748 2186 V 3122 2186 V 3874 2186 V 1068 2189 2809 4
v 24 2189 3853 4 v 537 2356 a FK(T)-8 b(able)30 b(2.7:)41
b(Matrix-Matrix)31 b(Op)s(erations)e({)i Fy(O)s FK(\()p
Fy(n)2281 2323 y FC(3)2320 2356 y FK(\))f(\015oating)h(p)s(oin)m(t)e
(op)s(erations)p 0 3980 3970 4 v -2 4092 4 113 v 50 4059
a(Matrix)h(cop)m(y)p 779 4092 V 296 w Fy(B)g FJ( )25
b Fy(A)p 1631 4092 V 570 w FK(GE,GB,SY,HE,SB,HB,SP)-8
b(,HP)g(,TR,TB,TP)p 3366 4092 V 3423 4059 28 4 v 135
w(COPY)p 3968 4092 4 113 v -2 4205 V 779 4205 V 830 4171
a Fy(B)30 b FJ( )25 b Fy(A)1113 4139 y Fw(T)p 1631 4205
V 1683 4171 a FK(GE,GB)p 3366 4205 V 3423 4171 28 4 v
1474 w(COPY)p 3968 4205 4 113 v -2 4318 V 50 4284 a(Matrix)30
b(transp)s(ose)p 779 4318 V 99 w Fy(A)c FJ( )f Fy(A)1108
4251 y Fw(T)p 1631 4318 V 1683 4284 a FK(GE)p 3366 4318
V 3423 4284 28 4 v 1634 w(TRANS)p 3968 4318 4 113 v -2
4431 V 50 4397 a(P)m(erm)m(ute)31 b(Matrix)p 779 4431
V 142 w Fy(A)26 b FJ( )f Fy(P)13 b(A)p FK(,)31 b Fy(A)25
b FJ( )g Fy(AP)p 1631 4431 V 113 w FK(GE)p 3366 4431
V 3423 4397 28 4 v 1634 w(PERMUTE)p 3968 4431 4 113 v
0 4435 3970 4 v 1126 4589 a(T)-8 b(able)30 b(2.8:)42
b(Data)32 b(Mo)m(v)m(emen)m(t)h(with)c(Matrices)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 22 32
22 31 bop 0 -165 a FK(22)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FE(2.2)116 b(Matrix)37
b(Sto)m(rage)h(Schemes)0 294 y FK(The)30 b(follo)m(wing)f(matrix)g
(storage)j(sc)m(hemes)f(are)g(used:)136 482 y FJ(\017)46
b FK(column-based)29 b(and)h(ro)m(w-based)h(storage)h(in)d(a)h(con)m
(tiguous)h(arra)m(y;)136 670 y FJ(\017)46 b FK(pac)m(k)m(ed)32
b(storage)g(for)e(symmetric,)g(Hermitian)f(or)h(triangular)f(matrices;)
136 857 y FJ(\017)46 b FK(band)30 b(storage)h(for)g(band)e(matrices;)
141 1045 y(In)g(the)h(examples)g(b)s(elo)m(w,)f FJ(\003)h
FK(indicates)f(an)h(arra)m(y)g(elemen)m(t)g(that)h(need)e(not)h(b)s(e)f
(set)i(and)e(is)g(not)h(referenced)0 1158 y(b)m(y)35
b(the)f(BLAS)h(routines.)52 b(Elemen)m(ts)35 b(that)g(\\need)g(not)g(b)
s(e)f(set")i(are)f(nev)m(er)g(read,)g(written)f(to,)j(or)e(otherwise)0
1271 y(accessed)30 b(b)m(y)e(the)h(BLAS)g(routines.)39
b(The)28 b(examples)g(illustrate)f(only)h(the)h(relev)-5
b(an)m(t)28 b(part)h(of)g(the)g(arra)m(ys;)g(arra)m(y)0
1384 y(argumen)m(ts)g(ma)m(y)h(of)f(course)g(ha)m(v)m(e)h(additional)c
(ro)m(ws)j(or)g(columns,)f(according)h(to)h(the)f(usual)e(rules)g(for)i
(passing)0 1496 y(arra)m(y)i(argumen)m(ts)g(in)e(C)h(or)g(F)-8
b(ortran.)0 1740 y Fx(2.2.1)97 b(Conventional)32 b(Sto)m(rage)0
1911 y FK(The)40 b(default)f(sc)m(heme)i(for)f(storing)g(matrices)g(in)
f(the)i(F)-8 b(ortran)40 b(95)i(and)d(F)-8 b(ortran)41
b(77)g(in)m(terfaces)g(is)e(the)i(one)0 2024 y(describ)s(ed)e(in)h
(subsection)h(2.5.3:)64 b(a)42 b(matrix)f Fy(A)g FK(is)f(stored)i(in)e
(a)i(t)m(w)m(o-dimensional)e(arra)m(y)i(A,)g(with)e(matrix)0
2137 y(elemen)m(t)31 b Fy(a)384 2151 y Fw(ij)475 2137
y FK(stored)f(in)f(arra)m(y)i(elemen)m(t)g(A\()p Fy(i;)15
b(j)5 b FK(\),)33 b(assuming)c(one-based)h(indexing.)141
2250 y(F)-8 b(or)30 b(the)g(C)f(language)h(in)m(terfaces,)g(matrices)g
(ma)m(y)g(b)s(e)e(stored)i(column-wise)e(or)h(ro)m(w-wise)g(as)h
(describ)s(ed)d(in)0 2363 y(subsection)f(2.6.6:)40 b(a)27
b(matrix)f Fy(A)h FK(is)e(stored)i(in)e(a)i(one-dimensional)e(arra)m(y)
i(A,)g(with)e(matrix)h(elemen)m(t)h Fy(a)3570 2377 y
Fw(ij)3657 2363 y FK(stored)0 2476 y(column-wise)j(in)g(arra)m(y)j
(elemen)m(t)f(A\()p Fy(i)22 b FK(+)f Fy(j)26 b FJ(\003)c
Fy(l)r(da)p FK(\))32 b(or)g(ro)m(w-wise)f(in)g(arra)m(y)h(elemen)m(t)g
(A\()p Fy(j)c FK(+)20 b Fy(i)i FJ(\003)f Fy(l)r(da)p
FK(\),)33 b(assuming)0 2589 y(zero-based)e(indexing.)141
2702 y(If)24 b(a)g(matrix)g(is)f FG(triangular)h FK(\(upp)s(er)e(or)j
(lo)m(w)m(er,)g(as)g(sp)s(eci\014ed)d(b)m(y)i(the)h(argumen)m(t)f
FD(uplo)p FK(\),)h(only)e(the)i(elemen)m(ts)0 2815 y(of)34
b(the)g(relev)-5 b(an)m(t)34 b(triangle)g(are)g(accessed.)52
b(The)34 b(remaining)e(elemen)m(ts)i(of)g(the)g(arra)m(y)h(need)e(not)h
(b)s(e)g(set.)52 b(Suc)m(h)0 2928 y(elemen)m(ts)26 b(are)g(indicated)e
(b)m(y)h FJ(\003)h FK(in)e(the)i(examples)f(b)s(elo)m(w.)38
b(F)-8 b(or)26 b(example,)h(assuming)d(zero-based)i(indexing)e(and)0
3041 y Fy(n)h FK(=)g(3:)p 273 3152 3355 4 v 271 3265
4 113 v 488 3231 a FD(order)p 940 3265 V 378 w(uplo)p
1459 3265 V 213 w FK(T)-8 b(riangular)28 b(matrix)i Fy(A)p
2370 3265 V 307 w FK(Storage)i(in)d(arra)m(y)i(A)p 3626
3265 V 273 3268 3355 4 v 271 3617 4 349 v 339 3465 a(blas)p
502 3465 28 4 v 32 w(colma)5 b(jor)p 940 3617 4 349 v
116 w(blas)p 1154 3465 28 4 v 32 w(upp)s(er)p 1459 3617
4 349 v 1535 3271 a Ft(0)1535 3418 y(B)1535 3471 y(@)1649
3352 y Fy(a)1697 3366 y FC(00)1855 3352 y Fy(a)1903 3366
y FC(01)2061 3352 y Fy(a)2109 3366 y FC(02)1855 3465
y Fy(a)1903 3479 y FC(11)2061 3465 y Fy(a)2109 3479 y
FC(12)2061 3578 y Fy(a)2109 3592 y FC(22)2225 3271 y
Ft(1)2225 3418 y(C)2225 3471 y(A)p 2370 3617 V 2422 3465
a Fy(a)2470 3479 y FC(00)2590 3465 y FJ(\003)46 b(\003)26
b Fy(a)2800 3479 y FC(01)2900 3465 y Fy(a)2948 3479 y
FC(11)3068 3465 y FJ(\003)46 b Fy(a)3207 3479 y FC(02)3307
3465 y Fy(a)3355 3479 y FC(12)3455 3465 y Fy(a)3503 3479
y FC(22)p 3626 3617 V 273 3620 3355 4 v 271 3969 4 349
v 322 3817 a FK(blas)p 485 3817 28 4 v 32 w(ro)m(wma)5
b(jor)p 940 3969 4 349 v 100 w(blas)p 1154 3817 28 4
v 32 w(upp)s(er)p 1459 3969 4 349 v 1535 3623 a Ft(0)1535
3770 y(B)1535 3823 y(@)1649 3704 y Fy(a)1697 3718 y FC(00)1855
3704 y Fy(a)1903 3718 y FC(01)2061 3704 y Fy(a)2109 3718
y FC(02)1855 3817 y Fy(a)1903 3831 y FC(11)2061 3817
y Fy(a)2109 3831 y FC(12)2061 3930 y Fy(a)2109 3944 y
FC(22)2225 3623 y Ft(1)2225 3770 y(C)2225 3823 y(A)p
2370 3969 V 2422 3817 a Fy(a)2470 3831 y FC(00)2570 3817
y Fy(a)2618 3831 y FC(01)2718 3817 y Fy(a)2766 3831 y
FC(02)2886 3817 y FJ(\003)46 b Fy(a)3025 3831 y FC(11)3125
3817 y Fy(a)3173 3831 y FC(12)3293 3817 y FJ(\003)g(\003)26
b Fy(a)3503 3831 y FC(22)p 3626 3969 V 273 3972 3355
4 v 271 4321 4 349 v 339 4169 a FK(blas)p 502 4169 28
4 v 32 w(colma)5 b(jor)p 940 4321 4 349 v 128 w(blas)p
1166 4169 28 4 v 31 w(lo)m(w)m(er)p 1459 4321 4 349 v
1535 3975 a Ft(0)1535 4122 y(B)1535 4175 y(@)1649 4056
y Fy(a)1697 4070 y FC(00)1649 4169 y Fy(a)1697 4183 y
FC(10)1855 4169 y Fy(a)1903 4183 y FC(11)1649 4282 y
Fy(a)1697 4296 y FC(20)1855 4282 y Fy(a)1903 4296 y FC(21)2061
4282 y Fy(a)2109 4296 y FC(22)2225 3975 y Ft(1)2225 4122
y(C)2225 4175 y(A)p 2370 4321 V 2422 4169 a Fy(a)2470
4183 y FC(00)2570 4169 y Fy(a)2618 4183 y FC(10)2718
4169 y Fy(a)2766 4183 y FC(20)2886 4169 y FJ(\003)46
b Fy(a)3025 4183 y FC(11)3125 4169 y Fy(a)3173 4183 y
FC(21)3293 4169 y FJ(\003)g(\003)26 b Fy(a)3503 4183
y FC(22)p 3626 4321 V 273 4324 3355 4 v 271 4673 4 349
v 322 4521 a FK(blas)p 485 4521 28 4 v 32 w(ro)m(wma)5
b(jor)p 940 4673 4 349 v 112 w(blas)p 1166 4521 28 4
v 31 w(lo)m(w)m(er)p 1459 4673 4 349 v 1535 4327 a Ft(0)1535
4474 y(B)1535 4527 y(@)1649 4408 y Fy(a)1697 4422 y FC(00)1649
4521 y Fy(a)1697 4535 y FC(10)1855 4521 y Fy(a)1903 4535
y FC(11)1649 4634 y Fy(a)1697 4648 y FC(20)1855 4634
y Fy(a)1903 4648 y FC(21)2061 4634 y Fy(a)2109 4648 y
FC(22)2225 4327 y Ft(1)2225 4474 y(C)2225 4527 y(A)p
2370 4673 V 2422 4521 a Fy(a)2470 4535 y FC(00)2590 4521
y FJ(\003)46 b(\003)26 b Fy(a)2800 4535 y FC(10)2900
4521 y Fy(a)2948 4535 y FC(11)3068 4521 y FJ(\003)46
b Fy(a)3207 4535 y FC(20)3307 4521 y Fy(a)3355 4535 y
FC(21)3455 4521 y Fy(a)3503 4535 y FC(22)p 3626 4673
V 273 4676 3355 4 v 141 4847 a FK(Routines)33 b(that)h(handle)e
FG(symmetric)g FK(or)h FG(Hermitian)f FK(matrices)h(allo)m(w)g(for)g
(either)g(the)h(upp)s(er)d(or)j(lo)m(w)m(er)0 4960 y(triangle)23
b(of)i(the)f(matrix)f(\(as)i(sp)s(eci\014ed)e(b)m(y)h
FD(uplo)p FK(\))f(to)i(b)s(e)e(stored)i(in)e(the)h(corresp)s(onding)e
(elemen)m(ts)j(of)f(the)g(arra)m(y;)0 5073 y(the)31 b(remaining)d
(elemen)m(ts)j(of)f(the)h(arra)m(y)g(need)f(not)g(b)s(e)g(set.)42
b(F)-8 b(or)31 b(example,)f(when)f Fy(n)c FK(=)g(3:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 23 33
23 32 bop 0 -165 a FA(2.2.)72 b(MA)-8 b(TRIX)31 b(STORA)m(GE)f(SCHEMES)
2263 b FK(23)p 280 3 3340 4 v 278 116 4 113 v 495 82
a FD(order)p 947 116 V 378 w(uplo)p 1467 116 V 213 w
FK(Hermitian)29 b(matrix)h Fy(A)p 2362 116 V 308 w FK(Storage)h(in)e
(arra)m(y)i(A)p 3618 116 V 280 120 3340 4 v 278 468 4
349 v 347 317 a(blas)p 510 317 28 4 v 32 w(colma)5 b(jor)p
947 468 4 349 v 116 w(blas)p 1162 317 28 4 v 32 w(upp)s(er)p
1467 468 4 349 v 1535 123 a Ft(0)1535 269 y(B)1535 322
y(@)1649 204 y Fy(a)1697 218 y FC(00)1855 204 y Fy(a)1903
218 y FC(01)2061 204 y Fy(a)2109 218 y FC(02)1650 316
y FK(\026)-46 b Fy(a)1697 330 y FC(01)1855 316 y Fy(a)1903
330 y FC(11)2061 316 y Fy(a)2109 330 y FC(12)1650 429
y FK(\026)g Fy(a)1697 443 y FC(02)1856 429 y FK(\026)g
Fy(a)1903 443 y FC(12)2061 429 y Fy(a)2109 443 y FC(22)2225
123 y Ft(1)2225 269 y(C)2225 322 y(A)p 2362 468 V 2414
317 a Fy(a)2462 331 y FC(00)2582 317 y FJ(\003)46 b(\003)26
b Fy(a)2792 331 y FC(01)2892 317 y Fy(a)2940 331 y FC(11)3060
317 y FJ(\003)46 b Fy(a)3199 331 y FC(02)3299 317 y Fy(a)3347
331 y FC(12)3447 317 y Fy(a)3495 331 y FC(22)p 3618 468
V 280 472 3340 4 v 278 820 4 349 v 330 669 a FK(blas)p
493 669 28 4 v 32 w(ro)m(wma)5 b(jor)p 947 820 4 349
v 100 w(blas)p 1162 669 28 4 v 32 w(upp)s(er)p 1467 820
4 349 v 1535 475 a Ft(0)1535 621 y(B)1535 674 y(@)1649
556 y Fy(a)1697 570 y FC(00)1855 556 y Fy(a)1903 570
y FC(01)2061 556 y Fy(a)2109 570 y FC(02)1650 668 y FK(\026)-46
b Fy(a)1697 682 y FC(01)1855 668 y Fy(a)1903 682 y FC(11)2061
668 y Fy(a)2109 682 y FC(12)1650 781 y FK(\026)g Fy(a)1697
795 y FC(02)1856 781 y FK(\026)g Fy(a)1903 795 y FC(12)2061
781 y Fy(a)2109 795 y FC(22)2225 475 y Ft(1)2225 621
y(C)2225 674 y(A)p 2362 820 V 2414 669 a Fy(a)2462 683
y FC(00)2562 669 y Fy(a)2610 683 y FC(01)2710 669 y Fy(a)2758
683 y FC(02)2878 669 y FJ(\003)46 b Fy(a)3017 683 y FC(11)3117
669 y Fy(a)3165 683 y FC(12)3285 669 y FJ(\003)g(\003)26
b Fy(a)3495 683 y FC(22)p 3618 820 V 280 824 3340 4 v
278 1172 4 349 v 347 1021 a FK(blas)p 510 1021 28 4 v
32 w(colma)5 b(jor)p 947 1172 4 349 v 127 w(blas)p 1173
1021 28 4 v 32 w(lo)m(w)m(er)p 1467 1172 4 349 v 1535
827 a Ft(0)1535 973 y(B)1535 1026 y(@)1649 908 y Fy(a)1697
922 y FC(00)1856 908 y FK(\026)-46 b Fy(a)1903 922 y
FC(10)2062 908 y FK(\026)g Fy(a)2109 922 y FC(20)1649
1021 y Fy(a)1697 1035 y FC(10)1855 1021 y Fy(a)1903 1035
y FC(11)2062 1021 y FK(\026)g Fy(a)2109 1035 y FC(21)1649
1133 y Fy(a)1697 1147 y FC(20)1855 1133 y Fy(a)1903 1147
y FC(21)2061 1133 y Fy(a)2109 1147 y FC(22)2225 827 y
Ft(1)2225 973 y(C)2225 1026 y(A)p 2362 1172 V 2414 1021
a Fy(a)2462 1035 y FC(00)2562 1021 y Fy(a)2610 1035 y
FC(10)2710 1021 y Fy(a)2758 1035 y FC(20)2878 1021 y
FJ(\003)46 b Fy(a)3017 1035 y FC(11)3117 1021 y Fy(a)3165
1035 y FC(21)3285 1021 y FJ(\003)g(\003)26 b Fy(a)3495
1035 y FC(22)p 3618 1172 V 280 1176 3340 4 v 278 1524
4 349 v 330 1373 a FK(blas)p 493 1373 28 4 v 32 w(ro)m(wma)5
b(jor)p 947 1524 4 349 v 111 w(blas)p 1173 1373 28 4
v 32 w(lo)m(w)m(er)p 1467 1524 4 349 v 1535 1179 a Ft(0)1535
1325 y(B)1535 1378 y(@)1649 1260 y Fy(a)1697 1274 y FC(00)1856
1260 y FK(\026)-46 b Fy(a)1903 1274 y FC(10)2062 1260
y FK(\026)g Fy(a)2109 1274 y FC(20)1649 1373 y Fy(a)1697
1387 y FC(10)1855 1373 y Fy(a)1903 1387 y FC(11)2062
1373 y FK(\026)g Fy(a)2109 1387 y FC(21)1649 1485 y Fy(a)1697
1499 y FC(20)1855 1485 y Fy(a)1903 1499 y FC(21)2061
1485 y Fy(a)2109 1499 y FC(22)2225 1179 y Ft(1)2225 1325
y(C)2225 1378 y(A)p 2362 1524 V 2414 1373 a Fy(a)2462
1387 y FC(00)2582 1373 y FJ(\003)46 b(\003)26 b Fy(a)2792
1387 y FC(10)2892 1373 y Fy(a)2940 1387 y FC(11)3060
1373 y FJ(\003)46 b Fy(a)3199 1387 y FC(20)3299 1373
y Fy(a)3347 1387 y FC(21)3447 1373 y Fy(a)3495 1387 y
FC(22)p 3618 1524 V 280 1528 3340 4 v 0 1732 a Fx(2.2.2)97
b(P)m(ack)m(ed)34 b(Sto)m(rage)0 1904 y FK(Symmetric,)25
b(Hermitian)d(or)j(triangular)d(matrices)i(ma)m(y)h(b)s(e)f(stored)g
(more)g(compactly)-8 b(,)27 b(if)c(the)h(relev)-5 b(an)m(t)25
b(triangle)0 2017 y(\(again)36 b(as)f(sp)s(eci\014ed)f(b)m(y)h
FD(uplo)p FK(\))g(is)f(pac)m(k)m(ed)j FG(b)m(y)k(columns)g(or)g(ro)m
(ws)35 b FK(in)f(a)i(one-dimensional)d(arra)m(y)-8 b(.)57
b(In)35 b(the)0 2130 y(BLAS,)g(arra)m(ys)h(that)g(hold)e(matrices)h(in)
g(pac)m(k)m(ed)h(storage,)i(ha)m(v)m(e)f(names)e(ending)f(in)g(`P'.)i
(So,)h(in)d(the)h(case)i(of)0 2243 y(zero-based)k(addressing)e(as)h(in)
f(C,)h(w)m(e)h(ha)m(v)m(e)g(the)g(follo)m(wing)d(form)m(ulas)i(\(F)-8
b(or)41 b(one-based)f(addressing,)i(as)e(in)0 2356 y(F)-8
b(ortran,)31 b(replace)g Fy(i)f FK(b)m(y)h Fy(i)20 b
FJ(\000)g FK(1)31 b(and)e Fy(j)36 b FK(b)m(y)31 b Fy(j)26
b FJ(\000)19 b FK(1)31 b(in)e(these)i(form)m(ulas\).)136
2568 y FJ(\017)46 b FK(if)30 b FD(uplo)46 b(=)i(blas)p
843 2568 29 4 v 33 w(upper)29 b FK(then)330 2756 y FG({)45
b FK(if)30 b FD(order)46 b(=)h(blas)p 1090 2756 V 34
w(colmajor)p FK(,)28 b Fy(a)1603 2770 y Fw(ij)1694 2756
y FK(is)h(stored)i(in)e(AP\()p Fy(i)21 b FK(+)f Fy(j)5
b FK(\()p Fy(j)27 b FK(+)20 b(1\))p Fy(=)p FK(2\))32
b(for)e Fy(i)c FJ(\024)f Fy(j)5 b FK(;)330 2902 y FG({)45
b FK(if)30 b FD(order)46 b(=)h(blas)p 1090 2902 V 34
w(rowmajor)p FK(,)28 b Fy(a)1603 2916 y Fw(ij)1694 2902
y FK(is)h(stored)i(in)e(AP\()p Fy(j)d FK(+)20 b Fy(i)p
FK(\(2)p Fy(n)h FJ(\000)f Fy(i)g FJ(\000)g FK(1\))p Fy(=)p
FK(2\))33 b(for)d Fy(i)25 b FJ(\024)g Fy(j)5 b FK(;)136
3089 y FJ(\017)46 b FK(if)30 b FD(uplo)46 b(=)i(blas)p
843 3089 V 33 w(lower)29 b FK(then)330 3277 y FG({)45
b FK(if)30 b FD(order)46 b(=)h(blas)p 1090 3277 V 34
w(colmajor)p FK(,)28 b Fy(a)1603 3291 y Fw(ij)1694 3277
y FK(is)h(stored)i(in)e(AP\()p Fy(i)21 b FK(+)f Fy(j)5
b FK(\(2)p Fy(n)21 b FJ(\000)f Fy(j)26 b FJ(\000)20 b
FK(1\))p Fy(=)p FK(2\))32 b(for)e Fy(j)h FJ(\024)25 b
Fy(i)p FK(.)330 3423 y FG({)45 b FK(if)30 b FD(order)46
b(=)h(blas)p 1090 3423 V 34 w(rowmajor)p FK(,)28 b Fy(a)1603
3437 y Fw(ij)1694 3423 y FK(is)h(stored)i(in)e(AP\()p
Fy(j)d FK(+)20 b Fy(i)p FK(\()p Fy(i)h FK(+)f(1\))p Fy(=)p
FK(2\))33 b(for)d Fy(j)h FJ(\024)25 b Fy(i)p FK(.)141
3636 y(F)-8 b(or)31 b(example,)g(assuming)e(zero-based)i(indexing:)p
319 3765 3262 4 v 317 3878 4 113 v 534 3844 a FD(order)p
986 3878 V 378 w(uplo)p 1506 3878 V 213 w FK(T)-8 b(riangular)29
b(matrix)g Fy(A)p 2417 3878 V 100 w FK(P)m(ac)m(k)m(ed)j(storage)g(in)d
(arra)m(y)i(ap)p 3579 3878 V 319 3881 3262 4 v 317 4230
4 349 v 385 4078 a(blas)p 548 4078 28 4 v 32 w(colma)5
b(jor)p 986 4230 4 349 v 117 w(blas)p 1201 4078 28 4
v 31 w(upp)s(er)p 1506 4230 4 349 v 1581 3884 a Ft(0)1581
4030 y(B)1581 4084 y(@)1696 3965 y Fy(a)1744 3979 y FC(00)1901
3965 y Fy(a)1949 3979 y FC(01)2107 3965 y Fy(a)2155 3979
y FC(02)1901 4078 y Fy(a)1949 4092 y FC(11)2107 4078
y Fy(a)2155 4092 y FC(12)2107 4191 y Fy(a)2155 4205 y
FC(22)2271 3884 y Ft(1)2271 4030 y(C)2271 4084 y(A)p
2417 4230 V 2561 4078 a Fy(a)2609 4092 y FC(00)2724 4078
y Fy(a)2772 4092 y FC(01)2867 4078 y Fy(a)2915 4092 y
FC(11)2724 4127 y Ft(|)p 2761 4127 59 10 v 59 w({z)p
2894 4127 V 59 w(})3030 4078 y Fy(a)3078 4092 y FC(02)3173
4078 y Fy(a)3221 4092 y FC(12)3316 4078 y Fy(a)3364 4092
y FC(22)3030 4127 y Ft(|)p 3067 4127 130 10 v 130 w({z)p
3271 4127 V 130 w(})p 3579 4230 4 349 v 319 4233 3262
4 v 317 4582 4 349 v 369 4430 a FK(blas)p 532 4430 28
4 v 32 w(ro)m(wma)g(jor)p 986 4582 4 349 v 100 w(blas)p
1201 4430 28 4 v 31 w(upp)s(er)p 1506 4582 4 349 v 1581
4236 a Ft(0)1581 4382 y(B)1581 4436 y(@)1696 4317 y Fy(a)1744
4331 y FC(00)1901 4317 y Fy(a)1949 4331 y FC(01)2107
4317 y Fy(a)2155 4331 y FC(02)1901 4430 y Fy(a)1949 4444
y FC(11)2107 4430 y Fy(a)2155 4444 y FC(12)2107 4543
y Fy(a)2155 4557 y FC(22)2271 4236 y Ft(1)2271 4382 y(C)2271
4436 y(A)p 2417 4582 V 2561 4430 a Fy(a)2609 4444 y FC(00)2704
4430 y Fy(a)2752 4444 y FC(01)2847 4430 y Fy(a)2895 4444
y FC(02)2561 4479 y Ft(|)p 2598 4479 130 10 v 130 w({z)p
2802 4479 V 130 w(})3010 4430 y Fy(a)3058 4444 y FC(11)3153
4430 y Fy(a)3201 4444 y FC(12)3010 4479 y Ft(|)p 3047
4479 59 10 v 59 w({z)p 3180 4479 V 59 w(})3316 4430 y
Fy(a)3364 4444 y FC(22)p 3579 4582 4 349 v 319 4585 3262
4 v 317 4934 4 349 v 385 4782 a FK(blas)p 548 4782 28
4 v 32 w(colma)g(jor)p 986 4934 4 349 v 128 w(blas)p
1212 4782 28 4 v 32 w(lo)m(w)m(er)p 1506 4934 4 349 v
1581 4588 a Ft(0)1581 4734 y(B)1581 4788 y(@)1696 4669
y Fy(a)1744 4683 y FC(00)1696 4782 y Fy(a)1744 4796 y
FC(10)1901 4782 y Fy(a)1949 4796 y FC(11)1696 4895 y
Fy(a)1744 4909 y FC(20)1901 4895 y Fy(a)1949 4909 y FC(21)2107
4895 y Fy(a)2155 4909 y FC(22)2271 4588 y Ft(1)2271 4734
y(C)2271 4788 y(A)p 2417 4934 V 2561 4782 a Fy(a)2609
4796 y FC(00)2704 4782 y Fy(a)2752 4796 y FC(10)2847
4782 y Fy(a)2895 4796 y FC(20)2561 4831 y Ft(|)p 2598
4831 130 10 v 130 w({z)p 2802 4831 V 130 w(})3010 4782
y Fy(a)3058 4796 y FC(11)3153 4782 y Fy(a)3201 4796 y
FC(21)3010 4831 y Ft(|)p 3047 4831 59 10 v 59 w({z)p
3180 4831 V 59 w(})3316 4782 y Fy(a)3364 4796 y FC(22)p
3579 4934 4 349 v 319 4937 3262 4 v 317 5286 4 349 v
369 5134 a FK(blas)p 532 5134 28 4 v 32 w(ro)m(wma)g(jor)p
986 5286 4 349 v 111 w(blas)p 1212 5134 28 4 v 32 w(lo)m(w)m(er)p
1506 5286 4 349 v 1581 4940 a Ft(0)1581 5086 y(B)1581
5140 y(@)1696 5021 y Fy(a)1744 5035 y FC(00)1696 5134
y Fy(a)1744 5148 y FC(10)1901 5134 y Fy(a)1949 5148 y
FC(11)1696 5247 y Fy(a)1744 5261 y FC(20)1901 5247 y
Fy(a)1949 5261 y FC(21)2107 5247 y Fy(a)2155 5261 y FC(22)2271
4940 y Ft(1)2271 5086 y(C)2271 5140 y(A)p 2417 5286 V
2561 5134 a Fy(a)2609 5148 y FC(00)2724 5134 y Fy(a)2772
5148 y FC(10)2867 5134 y Fy(a)2915 5148 y FC(11)2724
5183 y Ft(|)p 2761 5183 59 10 v 59 w({z)p 2894 5183 V
59 w(})3030 5134 y Fy(a)3078 5148 y FC(20)3173 5134 y
Fy(a)3221 5148 y FC(21)3316 5134 y Fy(a)3364 5148 y FC(22)3030
5183 y Ft(|)p 3067 5183 130 10 v 130 w({z)p 3271 5183
V 130 w(})p 3579 5286 4 349 v 319 5289 3262 4 v -214
64 a FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 24 34
24 33 bop 0 -165 a FK(24)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)141 91 y FK(Note)39
b(that)f(for)f(real)g(or)h(complex)f(symmetric)g(matrices,)i(pac)m
(king)f(the)f(upp)s(er)f(triangle)g(b)m(y)i(columns)e(is)0
204 y(equiv)-5 b(alen)m(t)23 b(to)h(pac)m(king)g(the)f(lo)m(w)m(er)h
(triangle)f(b)m(y)g(ro)m(ws;)k(pac)m(king)c(the)h(lo)m(w)m(er)g
(triangle)e(b)m(y)i(columns)e(is)g(equiv)-5 b(alen)m(t)0
317 y(to)26 b(pac)m(king)g(the)g(upp)s(er)e(triangle)h(b)m(y)g(ro)m
(ws.)39 b(F)-8 b(or)27 b(complex)e(Hermitian)g(matrices,)h(pac)m(king)g
(the)g(upp)s(er)e(triangle)0 430 y(b)m(y)30 b(columns)e(is)h(equiv)-5
b(alen)m(t)30 b(to)h(pac)m(king)e(the)i(conjugate)g(of)f(the)g(lo)m(w)m
(er)g(triangle)f(b)m(y)h(ro)m(ws;)h(pac)m(king)f(the)g(lo)m(w)m(er)0
543 y(triangle)g(b)m(y)g(columns)f(is)g(equiv)-5 b(alen)m(t)30
b(to)h(pac)m(king)g(the)f(conjugate)i(of)e(the)h(upp)s(er)d(triangle)i
(b)m(y)g(ro)m(ws.)0 786 y Fx(2.2.3)97 b(Band)32 b(Sto)m(rage)0
958 y FK(F)-8 b(or)34 b(F)-8 b(ortran)33 b(\(column-ma)5
b(jor)32 b(storage\),)k(an)d Fy(m)p FK(-b)m(y-)p Fy(n)f
FK(band)g(matrix)g(with)g Fy(k)s(l)j FK(sub)s(diagonals)30
b(and)i Fy(k)s(u)h FK(sup)s(er-)0 1071 y(diagonals)24
b(ma)m(y)h(b)s(e)e(stored)i(compactly)g(in)e(a)i(t)m(w)m(o-dimensional)
e(arra)m(y)i(with)f Fy(k)s(l)10 b FK(+)e Fy(k)s(u)g FK(+)g(1)26
b(ro)m(ws)e(and)g Fy(n)g FK(columns.)0 1184 y(Columns)k(of)j(the)f
(matrix)g(are)g(stored)h(in)e(corresp)s(onding)f(columns)h(\(con)m
(tiguous)i(storage)g(dimension\))d(of)j(the)0 1297 y(arra)m(y)-8
b(,)31 b(and)f(diagonals)f(of)h(the)h(matrix)e(are)i(stored)f(in)f(ro)m
(ws)h(\(non-con)m(tiguous)g(or)g(strided)f(dimension\))e(of)k(the)0
1410 y(arra)m(y)-8 b(.)44 b(This)29 b(storage)k(sc)m(heme)f(should)d(b)
s(e)i(used)f(in)g(practice)i(only)e(if)g Fy(k)s(l)r(;)15
b(k)s(u)27 b FJ(\034)g FK(min)n(\()p Fy(m;)15 b(n)p FK(\),)33
b(although)d(BLAS)0 1523 y(routines)c(w)m(ork)i(correctly)g(for)g(all)e
(v)-5 b(alues)27 b(of)h Fy(k)s(l)h FK(and)e Fy(k)s(u)p
FK(.)40 b(In)27 b(the)h(BLAS,)g(arra)m(ys)g(that)g(hold)e(matrices)i
(in)e(band)0 1635 y(storage)32 b(ha)m(v)m(e)f(names)g(ending)e(in)g
(`B'.)141 1748 y(T)-8 b(o)30 b(b)s(e)f(precise,)g(for)g(column-ma)5
b(jor)29 b(storage,)j Fy(a)1828 1762 y Fw(ij)1918 1748
y FK(is)c(stored)i(in)e(AB\()p Fy(k)s(u)19 b FK(+)f Fy(i)h
FJ(\000)f Fy(j;)d(j)5 b FK(\))32 b(for)d(max\(0)p Fy(;)15
b(j)25 b FJ(\000)18 b Fy(k)s(u)p FK(\))26 b FJ(\024)0
1861 y Fy(i)g FJ(\024)f FK(min)n(\()p Fy(m)13 b FJ(\000)g
FK(1)p Fy(;)i(j)21 b FK(+)13 b Fy(k)s(l)r FK(\).)40 b(F)-8
b(or)27 b(ro)m(w-ma)5 b(jor)28 b(storage,)h Fy(a)1902
1875 y Fw(ij)1990 1861 y FK(is)d(stored)h(in)e(AB\()p
Fy(i;)15 b(k)s(l)j FK(+)13 b Fy(j)19 b FJ(\000)13 b Fy(i)p
FK(\))27 b(for)g(max\(0)p Fy(;)15 b(j)20 b FJ(\000)13
b Fy(k)s(u)p FK(\))26 b FJ(\024)0 1974 y Fy(i)g FJ(\024)f
FK(min)n(\()p Fy(n)17 b FJ(\000)g FK(1)p Fy(;)e(j)23
b FK(+)17 b Fy(k)s(l)r FK(\).)41 b(F)-8 b(or)29 b(example,)g(assuming)f
(column-ma)5 b(jor)28 b(storage,)j(when)c Fy(m)f FK(=)e
Fy(n)h FK(=)g(5,)30 b Fy(k)s(l)d FK(=)e(2)30 b(and)0
2087 y Fy(k)s(u)25 b FK(=)g(1:)p 747 2198 2406 4 v 745
2311 4 113 v 1082 2277 a(Band)30 b(matrix)g Fy(A)p 2020
2311 V 384 w FK(Band)g(storage)i(in)d(arra)m(y)i(AB)p
3151 2311 V 747 2315 2406 4 v 745 2879 4 565 v 797 2326
a Ft(0)797 2472 y(B)797 2522 y(B)797 2572 y(B)797 2622
y(B)797 2672 y(B)797 2725 y(@)911 2394 y Fy(a)959 2408
y FC(00)1117 2394 y Fy(a)1165 2408 y FC(01)911 2507 y
Fy(a)959 2521 y FC(10)1117 2507 y Fy(a)1165 2521 y FC(11)1323
2507 y Fy(a)1371 2521 y FC(12)911 2619 y Fy(a)959 2633
y FC(20)1117 2619 y Fy(a)1165 2633 y FC(21)1323 2619
y Fy(a)1371 2633 y FC(22)1529 2619 y Fy(a)1577 2633 y
FC(23)1117 2732 y Fy(a)1165 2746 y FC(31)1323 2732 y
Fy(a)1371 2746 y FC(32)1529 2732 y Fy(a)1577 2746 y FC(33)1735
2732 y Fy(a)1783 2746 y FC(34)1323 2845 y Fy(a)1371 2859
y FC(42)1529 2845 y Fy(a)1577 2859 y FC(43)1735 2845
y Fy(a)1783 2859 y FC(44)1899 2326 y Ft(1)1899 2472 y(C)1899
2522 y(C)1899 2572 y(C)1899 2622 y(C)1899 2672 y(C)1899
2725 y(A)p 2020 2879 V 2153 2450 a FJ(\003)122 b Fy(a)2368
2464 y FC(01)2526 2450 y Fy(a)2574 2464 y FC(12)2731
2450 y Fy(a)2779 2464 y FC(23)2937 2450 y Fy(a)2985 2464
y FC(34)2114 2563 y Fy(a)2162 2577 y FC(00)2320 2563
y Fy(a)2368 2577 y FC(11)2526 2563 y Fy(a)2574 2577 y
FC(22)2731 2563 y Fy(a)2779 2577 y FC(33)2937 2563 y
Fy(a)2985 2577 y FC(44)2114 2676 y Fy(a)2162 2690 y FC(10)2320
2676 y Fy(a)2368 2690 y FC(21)2526 2676 y Fy(a)2574 2690
y FC(32)2731 2676 y Fy(a)2779 2690 y FC(43)2976 2676
y FJ(\003)2114 2789 y Fy(a)2162 2803 y FC(20)2320 2789
y Fy(a)2368 2803 y FC(31)2526 2789 y Fy(a)2574 2803 y
FC(42)2770 2789 y FJ(\003)161 b(\003)p 3151 2879 V 747
2882 2406 4 v 141 3054 a FK(The)32 b(elemen)m(ts)h(mark)m(ed)g
FJ(\003)g FK(in)f(the)h(upp)s(er)d(left)j(and)f(lo)m(w)m(er)h(righ)m(t)
f(corners)h(of)g(the)g(arra)m(y)g(AB)g(need)g(not)g(b)s(e)0
3166 y(set,)e(and)f(are)h(not)f(referenced)h(b)m(y)f(BLAS)g(routines.)
141 3279 y(F)-8 b(or)46 b(C)e(\(ro)m(w-ma)5 b(jor)46
b(storage\),)51 b FD(order)46 b(=)i(blas)p 1892 3279
29 4 v 33 w(rowmajor)p FK(,)e(the)g(ro)m(ws)e(of)i(the)f(matrix)f(are)h
(stored)g(in)0 3392 y(corresp)s(onding)34 b(ro)m(ws)h(\(con)m(tiguous)h
(storage)h(dimension\))d(of)h(the)h(arra)m(y)-8 b(,)38
b(and)d(diagonals)g(of)h(the)g(matrix)f(are)0 3505 y(stored)i(in)e
(columns)h(\(non-con)m(tiguous)h(or)f(strided)f(dimension\))g(of)i(the)
g(arra)m(y)-8 b(.)60 b(The)36 b Fy(m)p FK(-b)m(y-)p Fy(n)h
FK(band)f(matrix)0 3618 y(with)30 b Fy(k)s(l)k FK(sub)s(diagonals)29
b(and)i Fy(k)s(u)h FK(sup)s(erdiagonals)e(is)g(stored)i(in)e(a)j
(one-dimensional)c(arra)m(y)j(with)f Fy(n)g FK(ro)m(ws)h(and)0
3731 y Fy(k)s(l)r FK(+)p Fy(k)s(u)p FK(+1)h(columns,)g(strided)f(b)m(y)
h Fy(l)r(da)p FK(.)49 b(The)32 b(padding)g(with)g(elemen)m(ts)h(mark)m
(ed)g FJ(\003)h FK(is)e(no)m(w)h(shifted)f(to)i(ensure)0
3844 y(that)d(ro)m(ws)f(of)h(the)f(matrix)g(are)h(stored)f(con)m
(tiguously)-8 b(.)41 b(Refer)30 b(to)h(section)g(B.2.12)i(for)d(full)e
(details.)141 3957 y(T)-8 b(riangular)27 b(band)h(matrices)h(are)g
(stored)g(in)e(the)i(same)h(format,)f(with)f(either)g
Fy(k)s(l)g FK(=)c(0)30 b(if)d(upp)s(er)g(triangular,)0
4070 y(or)j Fy(k)s(u)c FK(=)f(0)31 b(if)e(lo)m(w)m(er)i(triangular.)141
4183 y(F)-8 b(or)29 b(F)-8 b(ortran)28 b(77,)i(and)d(symmetric)g(or)h
(Hermitian)e(band)h(matrices)h(with)e Fy(k)s(d)j FK(sub)s(diagonals)c
(or)j(sup)s(erdiag-)0 4296 y(onals,)i(only)g(the)g(upp)s(er)e(or)j(lo)m
(w)m(er)f(triangle)g(\(as)h(sp)s(eci\014ed)e(b)m(y)h
FD(uplo)p FK(\))g(need)g(b)s(e)f(stored:)136 4508 y FJ(\017)46
b FK(if)30 b FD(uplo)46 b(=)i(blas)p 843 4508 V 33 w(upper)p
FK(,)29 b Fy(a)1212 4522 y Fw(ij)1303 4508 y FK(is)g(stored)i(in)e
(AB\()p Fy(k)s(d)22 b FK(+)e Fy(i)g FJ(\000)g Fy(j;)15
b(j)5 b FK(\))32 b(for)e(max)q(\(0)p Fy(;)15 b(j)27 b
FJ(\000)20 b Fy(k)s(d)p FK(\))26 b FJ(\024)f Fy(i)g FJ(\024)g
Fy(j)5 b FK(;)136 4696 y FJ(\017)46 b FK(if)30 b FD(uplo)46
b(=)i(blas)p 843 4696 V 33 w(lower)p FK(,)29 b Fy(a)1212
4710 y Fw(ij)1303 4696 y FK(is)g(stored)i(in)e(AB\()p
Fy(i)21 b FJ(\000)f Fy(j;)15 b(j)5 b FK(\))33 b(for)d
Fy(j)h FJ(\024)25 b Fy(i)g FJ(\024)g FK(min)o(\()p Fy(n)20
b FJ(\000)g FK(1)p Fy(;)15 b(j)26 b FK(+)20 b Fy(k)s(d)p
FK(\).)141 4908 y(F)-8 b(or)31 b(example,)g(assuming)e(zero-based)i
(indexing)d(and)i Fy(n)24 b FK(=)h(5)31 b(and)f Fy(k)s(d)c
FK(=)f(2:)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 25 35
25 34 bop 0 -165 a FA(2.2.)72 b(MA)-8 b(TRIX)31 b(STORA)m(GE)f(SCHEMES)
2263 b FK(25)p 488 3 2925 4 v 486 116 4 113 v 652 82
a FD(uplo)p 1006 116 V 289 w FK(Hermitian)29 b(band)g(matrix)h
Fy(A)p 2279 116 V 175 w FK(Band)g(storage)i(in)d(arra)m(y)i(AB)p
3411 116 V 488 120 2925 4 v 486 684 4 565 v 538 425 a(blas)p
701 425 28 4 v 31 w(upp)s(er)p 1006 684 4 565 v 1057
131 a Ft(0)1057 277 y(B)1057 327 y(B)1057 377 y(B)1057
427 y(B)1057 477 y(B)1057 530 y(@)1171 199 y Fy(a)1219
213 y FC(00)1377 199 y Fy(a)1425 213 y FC(01)1583 199
y Fy(a)1631 213 y FC(02)1172 311 y FK(\026)-46 b Fy(a)1219
325 y FC(01)1377 311 y Fy(a)1425 325 y FC(11)1583 311
y Fy(a)1631 325 y FC(12)1789 311 y Fy(a)1837 325 y FC(13)1172
424 y FK(\026)g Fy(a)1219 438 y FC(02)1378 424 y FK(\026)g
Fy(a)1425 438 y FC(12)1583 424 y Fy(a)1631 438 y FC(22)1789
424 y Fy(a)1837 438 y FC(23)1994 424 y Fy(a)2042 438
y FC(24)1378 537 y FK(\026)g Fy(a)1425 551 y FC(13)1584
537 y FK(\026)g Fy(a)1631 551 y FC(23)1789 537 y Fy(a)1837
551 y FC(33)1994 537 y Fy(a)2042 551 y FC(34)1584 650
y FK(\026)g Fy(a)1631 664 y FC(24)1790 650 y FK(\026)g
Fy(a)1837 664 y FC(34)1994 650 y Fy(a)2042 664 y FC(44)2159
131 y Ft(1)2159 277 y(C)2159 327 y(C)2159 377 y(C)2159
427 y(C)2159 477 y(C)2159 530 y(A)p 2279 684 V 2412 311
a FJ(\003)161 b(\003)122 b Fy(a)2833 325 y FC(02)2991
311 y Fy(a)3039 325 y FC(13)3197 311 y Fy(a)3245 325
y FC(24)2412 424 y FJ(\003)h Fy(a)2628 438 y FC(01)2785
424 y Fy(a)2833 438 y FC(12)2991 424 y Fy(a)3039 438
y FC(23)3197 424 y Fy(a)3245 438 y FC(34)2374 537 y Fy(a)2422
551 y FC(00)2580 537 y Fy(a)2628 551 y FC(11)2785 537
y Fy(a)2833 551 y FC(22)2991 537 y Fy(a)3039 551 y FC(33)3197
537 y Fy(a)3245 551 y FC(44)p 3411 684 V 488 687 2925
4 v 486 1252 4 565 v 549 992 a FK(blas)p 712 992 28 4
v 32 w(lo)m(w)m(er)p 1006 1252 4 565 v 1057 699 a Ft(0)1057
845 y(B)1057 895 y(B)1057 945 y(B)1057 995 y(B)1057 1044
y(B)1057 1098 y(@)1171 766 y Fy(a)1219 780 y FC(00)1378
766 y FK(\026)-46 b Fy(a)1425 780 y FC(10)1584 766 y
FK(\026)g Fy(a)1631 780 y FC(20)1171 879 y Fy(a)1219
893 y FC(10)1377 879 y Fy(a)1425 893 y FC(11)1584 879
y FK(\026)g Fy(a)1631 893 y FC(21)1790 879 y FK(\026)g
Fy(a)1837 893 y FC(31)1171 992 y Fy(a)1219 1006 y FC(20)1377
992 y Fy(a)1425 1006 y FC(21)1583 992 y Fy(a)1631 1006
y FC(22)1790 992 y FK(\026)g Fy(a)1837 1006 y FC(32)1996
992 y FK(\026)f Fy(a)2042 1006 y FC(42)1377 1105 y Fy(a)1425
1119 y FC(31)1583 1105 y Fy(a)1631 1119 y FC(32)1789
1105 y Fy(a)1837 1119 y FC(33)1996 1105 y FK(\026)g Fy(a)2042
1119 y FC(43)1583 1218 y Fy(a)1631 1232 y FC(42)1789
1218 y Fy(a)1837 1232 y FC(43)1994 1218 y Fy(a)2042 1232
y FC(44)2159 699 y Ft(1)2159 845 y(C)2159 895 y(C)2159
945 y(C)2159 995 y(C)2159 1044 y(C)2159 1098 y(A)p 2279
1252 V 2374 879 a Fy(a)2422 893 y FC(00)2580 879 y Fy(a)2628
893 y FC(11)2785 879 y Fy(a)2833 893 y FC(22)2991 879
y Fy(a)3039 893 y FC(33)3197 879 y Fy(a)3245 893 y FC(44)2374
992 y Fy(a)2422 1006 y FC(10)2580 992 y Fy(a)2628 1006
y FC(21)2785 992 y Fy(a)2833 1006 y FC(32)2991 992 y
Fy(a)3039 1006 y FC(43)3236 992 y FJ(\003)2374 1105 y
Fy(a)2422 1119 y FC(20)2580 1105 y Fy(a)2628 1119 y FC(31)2785
1105 y Fy(a)2833 1119 y FC(42)3030 1105 y FJ(\003)161
b(\003)p 3411 1252 V 488 1255 2925 4 v 141 1431 a FK(Similarly)-8
b(,)21 b(for)i(C)f(\(ro)m(w-ma)5 b(jor)24 b(storage\),)i
FD(order)46 b(=)i(blas)p 2175 1431 29 4 v 33 w(rowmajor)p
FK(,)22 b(the)h(con)m(tiguous)g(dimension)d(\(ro)m(ws\))0
1544 y(of)26 b(the)g(matrix)g(is)f(stored)h(in)f(the)h(con)m(tiguous)g
(dimension)e(\(ro)m(ws\))i(of)h(the)f(arra)m(y)-8 b(,)28
b(strided)c(b)m(y)i Fy(l)r(da)p FK(.)40 b(And)25 b(pictori-)0
1657 y(ally)-8 b(,)29 b(the)g(one-dimensional)e(arra)m(y)i(is)f(the)i
(transp)s(ose)e(of)h(the)g(AB)h(storage)g(as)g(depicted)e(ab)s(o)m(v)m
(e.)41 b(The)29 b(padding)0 1770 y(with)j(elemen)m(ts)i(mark)m(ed)f
FJ(\003)h FK(is)f(no)m(w)g(shifted)f(to)i(ensure)f(that)h(ro)m(ws)f(of)
h(the)g(matrix)e(are)i(stored)g(con)m(tiguously)-8 b(.)0
1883 y(Refer)30 b(to)i(section)e(B.2.12)j(for)d(full)e(details.)0
2126 y Fx(2.2.4)97 b(Unit)33 b(T)-8 b(riangula)m(r)32
b(Matrices)0 2298 y FK(Some)38 b(BLAS)g(routines)f(ha)m(v)m(e)i(an)f
(option)f(to)i(handle)e(unit)f(triangular)h(matrices)h(\(that)h(is,)g
(triangular)d(ma-)0 2411 y(trices)42 b(with)f(diagonal)g(elemen)m(ts)i
(=)f(1\).)77 b(This)40 b(option)i(is)f(sp)s(eci\014ed)g(b)m(y)h(an)g
(argumen)m(t)h FD(diag)p FK(.)75 b(If)42 b FD(diag)k(=)0
2524 y(blas)p 198 2524 V 33 w(unit)p 423 2524 V 34 w(diag)32
b FK(\(Unit)h(triangular\)\),)h(the)g(arra)m(y)g(elemen)m(ts)f(corresp)
s(onding)f(to)i(the)g(diagonal)f(elemen)m(ts)h(of)0 2637
y(the)d(matrix)f(are)h(not)g(referenced)g(b)m(y)g(the)g(BLAS)f
(routines.)41 b(The)31 b(storage)h(sc)m(heme)g(for)e(the)h(matrix)f
(\(whether)0 2750 y(con)m(v)m(en)m(tional,)i(pac)m(k)m(ed)f(or)f
(band\))g(remains)f(unc)m(hanged,)h(as)h(describ)s(ed)d(in)h
(subsection)h(2.2.1.)0 2993 y Fx(2.2.5)97 b(Rep)m(resentation)34
b(of)e(a)h(Householder)g(Matrix)0 3165 y FK(An)h(elemen)m(tary)g
(re\015ector)h(\(or)f(elemen)m(tary)h FG(Householder)k(matrix)p
FK(\))34 b Fy(H)40 b FK(of)35 b(order)e Fy(n)h FK(is)f(a)h(unitary)f
(matrix)0 3278 y(of)e(the)f(form)1663 3391 y Fy(H)i FK(=)25
b Fy(I)i FJ(\000)20 b Fy(\034)10 b(v)s(v)2169 3353 y
Fw(H)3713 3391 y FK(\(2.1\))0 3557 y(where)38 b Fy(\034)48
b FK(is)38 b(a)h(scalar,)i(and)c Fy(v)42 b FK(is)c(an)g
Fy(n)p FK(-v)m(ector,)k(with)c FJ(j)p Fy(\034)10 b FJ(j)2050
3525 y FC(2)2090 3557 y FJ(jj)p Fy(v)s FJ(jj)2237 3525
y FC(2)2237 3581 y(2)2316 3557 y FK(=)39 b(2Re\()p Fy(\034)10
b FK(\);)44 b Fy(v)e FK(is)37 b(often)i(referred)f(to)h(as)g(the)0
3670 y FG(Householder)g(v)m(ector)p FK(.)50 b(Often)33
b Fy(v)j FK(has)e(sev)m(eral)f(leading)f(or)h(trailing)f(zero)i(elemen)
m(ts,)h(but)d(for)h(the)h(purp)s(ose)0 3783 y(of)d(this)e(discussion)f
(assume)i(that)h Fy(H)37 b FK(has)30 b(no)g(suc)m(h)g(sp)s(ecial)f
(structure.)141 3896 y(This)g(represen)m(tation)i(agrees)g(with)f(what)
g(is)g(used)g(in)f(LAP)-8 b(A)m(CK)31 b([6])g(\(whic)m(h)f(di\013ers)f
(from)h(those)h(used)f(in)0 4009 y(LINP)-8 b(A)m(CK)31
b([23)q(])g(or)f(EISP)-8 b(A)m(CK)30 b([48)r(,)g(32)q(]\))h(sets)g
Fy(v)1736 4023 y FC(1)1802 4009 y FK(=)25 b(1;)31 b(hence)g
Fy(v)2296 4023 y FC(1)2366 4009 y FK(need)g(not)g(b)s(e)f(stored.)41
b(In)30 b(real)g(arithmetic,)0 4122 y(1)c FJ(\024)f Fy(\034)35
b FJ(\024)25 b FK(2,)31 b(except)g(that)g Fy(\034)36
b FK(=)24 b(0)31 b(implies)d Fy(H)k FK(=)25 b Fy(I)7
b FK(.)141 4235 y(In)33 b(complex)f(arithmetic,)i Fy(\034)43
b FK(ma)m(y)34 b(b)s(e)e(complex,)i(and)f(satis\014es)f(1)f
FJ(\024)e FK(Re)q(\()p Fy(\034)10 b FK(\))30 b FJ(\024)g
FK(2)k(and)e FJ(j)p Fy(\034)g FJ(\000)22 b FK(1)p FJ(j)31
b(\024)e FK(1.)50 b(Th)m(us)0 4348 y(a)38 b(complex)g
Fy(H)45 b FK(is)37 b(not)h(Hermitian)f(\(as)h(it)g(is)f(in)f(other)j
(represen)m(tations\),)h(but)d(it)h(is)f(unitary)-8 b(,)39
b(whic)m(h)e(is)g(the)0 4461 y(imp)s(ortan)m(t)25 b(prop)s(ert)m(y)-8
b(.)39 b(The)25 b(adv)-5 b(an)m(tage)28 b(of)d(allo)m(wing)g
Fy(\034)35 b FK(to)27 b(b)s(e)e(complex)g(is)g(that,)j(giv)m(en)d(an)h
(arbitrary)e(complex)0 4574 y(v)m(ector)32 b Fy(x)p FK(,)e
Fy(H)38 b FK(can)30 b(b)s(e)g(computed)g(so)h(that)1508
4778 y Fy(H)1591 4740 y Fw(H)1658 4778 y Fy(x)25 b FK(=)g
Fy(\014)5 b FK(\(1)p Fy(;)15 b FK(0)p Fy(;)g(:)g(:)g(:)k(;)c
FK(0\))2336 4740 y Fw(T)0 4982 y FK(with)32 b Fz(r)-5
b(e)g(al)34 b Fy(\014)5 b FK(.)50 b(This)31 b(is)h(useful,)g(for)h
(example,)h(when)e(reducing)g(a)h(complex)g(Hermitian)f(matrix)g(to)i
(real)f(sym-)0 5095 y(metric)d(tridiagonal)f(matrix,)h(or)g(a)h
(complex)f(rectangular)g(matrix)g(to)h(real)f(bidiagonal)f(form.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 26 36
26 35 bop 0 -165 a FK(26)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y Fx(2.2.6)97 b(Rep)m
(resentation)34 b(of)e(a)h(P)m(ermutation)g(Matrix)0
263 y FK(An)22 b Fy(n)p FK(-b)m(y-)p Fy(n)f FK(p)s(erm)m(utation)h
(matrix)f Fy(P)35 b FK(is)21 b(represen)m(ted)h(as)g(a)h(pro)s(duct)e
(of)h(at)h(most)f Fy(n)g FK(in)m(terc)m(hange)h(p)s(erm)m(utations.)0
376 y(An)i(in)m(terc)m(hange)i(p)s(erm)m(utation)d Fy(E)31
b FK(is)25 b(a)h(p)s(erm)m(utation)f(obtained)g(b)m(y)g(sw)m(apping)f
(t)m(w)m(o)j(ro)m(ws)f(of)g(the)f(iden)m(tit)m(y)g(ma-)0
489 y(trix.)50 b(An)33 b(e\016cien)m(t)h(w)m(a)m(y)h(to)f(represen)m(t)
g(a)g(general)g(p)s(erm)m(utation)f(matrix)g Fy(P)46
b FK(is)33 b(with)f(an)i(in)m(teger)g(v)m(ector)h Fy(p)f
FK(of)0 602 y(length)24 b Fy(n)p FK(.)38 b(In)24 b(other)g(w)m(ords,)i
Fy(P)38 b FK(=)25 b Fy(E)1270 616 y Fw(n)1332 602 y Fy(:)15
b(:)g(:)h(E)1520 616 y FC(1)1584 602 y FK(and)24 b(eac)m(h)i
Fy(E)2021 616 y Fw(i)2073 602 y FK(is)e(the)g(iden)m(tit)m(y)g(with)f
(ro)m(ws)i Fy(i)f FK(and)g Fy(p)3317 616 y Fw(i)3369
602 y FK(in)m(terc)m(hanged.)1009 902 y(Do)31 b Fv(i)25
b FK(=)g(0)31 b(to)g Fv(n)20 b FJ(\000)g FK(1)1154 1015
y Fv(x)p FK(\()p Fv(i)p FK(\)\))26 b FJ($)g Fv(x)p FK(\()k
Fv(p)p FK(\()p Fv(i)p FK(\)\))h(\)\))1009 1128 y(End)e(do)1909
902 y(or)61 b(Do)31 b Fv(i)25 b FK(=)g Fv(n)20 b FJ(\000)g
FK(1)31 b(to)g(0)2196 1015 y Fv(x)p FK(\()p Fv(i)p FK(\)\))26
b FJ($)f Fv(x)p FK(\()31 b Fv(p)p FK(\()p Fv(i)p FK(\)\))g(\)\))2051
1128 y(End)e(do)0 1503 y FE(2.3)116 b(Interface)38 b(Issues)0
1709 y Fx(2.3.1)97 b(Naming)33 b(Conventions)0 1881 y
FK(The)d(naming)f(con)m(v)m(en)m(tions)j(adopted)e(for)g(the)h
(routines)e(are)i(as)f(de\014ned)f(in)h(section)g(1.4.6.)0
2124 y Fx(2.3.2)97 b(Argument)34 b(Aliasing)0 2296 y
FK(Correctness)c(is)g(only)f(guaran)m(teed)j(if)d(output)h(argumen)m
(ts)h(are)g(not)f(aliased)g(with)f(an)m(y)h(other)h(argumen)m(ts.)0
2583 y FE(2.4)116 b(Interface)38 b(Issues)h(fo)m(r)f(F)m(o)m(rtran)g
(95)0 2785 y FK(Some)h(of)g(the)f(functions)g(in)f(the)i(tables)f(of)h
(this)f(c)m(hapter)h(can)g(b)s(e)f(replaced)g(b)m(y)h(simple)d(arra)m
(y)j(expressions)0 2898 y(and)28 b(assignmen)m(ts)f(in)g(F)-8
b(ortran)29 b(95,)h(without)d(loss)g(of)i(con)m(v)m(enience)g(or)f(p)s
(erformance)f(\(assuming)h(a)g(reasonable)0 3011 y(degree)35
b(of)f(optimization)e(b)m(y)i(the)g(compiler\).)50 b(F)-8
b(ortran)35 b(95)g(also)e(allo)m(ws)h(groups)f(of)h(related)g
(functions)e(to)j(b)s(e)0 3124 y(merged)30 b(together,)j(eac)m(h)e
(group)f(b)s(eing)f(co)m(v)m(ered)j(b)m(y)e(a)h(single)e(in)m(terface.)
141 3237 y(The)d(follo)m(wing)g(sections)g(discuss)f(the)i(indexing)e
(base)i(for)f(v)m(ector)j(and)d(matrix)g(op)s(erands,)h(the)g(features)
g(of)0 3350 y(the)34 b(F)-8 b(ortran)34 b(95)g(language)g(that)g(are)g
(used,)g(the)f(matrix)g(storage)i(sc)m(hemes)f(that)g(are)g(supp)s
(orted,)e(and)h(error)0 3463 y(handling.)141 3576 y(W)-8
b(e)44 b(strongly)e(recommend)g(that)h(optional)f(argumen)m(ts)h(b)s(e)
f(supplied)d(b)m(y)k(k)m(eyw)m(ord,)j(not)d(b)m(y)g(p)s(osition,)0
3689 y(since)30 b(the)i(order)e(in)g(whic)m(h)g(they)h(are)h(describ)s
(ed)d(ma)m(y)i(di\013er)f(from)h(the)g(order)g(in)e(whic)m(h)h(they)h
(app)s(ear)g(in)f(the)0 3802 y(argumen)m(t)h(list.)0
4045 y Fx(2.4.1)97 b(F)m(o)m(rtran)34 b(95)e(Mo)s(dules)0
4217 y FK(Refer)20 b(to)h(App)s(endix)d(A.4)j(for)f(the)g(F)-8
b(ortran)21 b(95)h(mo)s(dule)c FD(blas)p 2113 4217 29
4 v 33 w(dense)p FK(.)36 b(The)20 b(mo)s(dule)f FD(blas)p
3127 4217 V 33 w(operator)p 3544 4217 V 32 w(arguments)0
4330 y FK(con)m(tains)30 b(the)g(deriv)m(ed)f(t)m(yp)s(e)i(v)-5
b(alues,)29 b(and)h(separate)g(mo)s(dules)f(are)h(supplied)d(with)h
(explicit)h(in)m(terfaces)h(to)h(the)0 4443 y(routines.)50
b(If)33 b(the)i(mo)s(dule)d FD(blas)p 1172 4443 V 33
w(dense)g FK(is)h(accessed)i(b)m(y)f(a)g FD(USE)f FK(statemen)m(t)j(in)
d(an)m(y)h(program)f(whic)m(h)g(mak)m(es)0 4555 y(calls)39
b(to)h(these)g(BLAS)f(routines,)h(then)g(those)f(calls)g(can)h(b)s(e)e
(c)m(hec)m(k)m(ed)k(b)m(y)d(the)h(compiler)e(for)h(errors)g(in)f(the)0
4668 y(n)m(um)m(b)s(ers)29 b(or)h(t)m(yp)s(es)h(of)f(argumen)m(ts.)0
4912 y Fx(2.4.2)97 b(Indexing)0 5083 y FK(The)28 b(F)-8
b(ortran)29 b(95)g(in)m(terface)g(returns)e(indices)f(in)h(the)i(range)
f(1)e FJ(\024)f Fy(I)32 b FJ(\024)25 b Fy(N)39 b FK(\(where)28
b Fy(N)38 b FK(is)27 b(the)i(n)m(um)m(b)s(er)e(of)h(en)m(tries)0
5196 y(in)36 b(the)h(dimension)e(in)h(question,)i(and)f
Fy(I)44 b FK(is)36 b(the)h(index\).)60 b(This)36 b(allo)m(ws)g
(functions)g(returning)f(indices)h(to)i(b)s(e)0 5309
y(directly)29 b(used)h(to)h(index)e(standard)g(arra)m(ys.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 27 37
27 36 bop 0 -165 a FA(2.4.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)f(F)m(OR)i(F)m(OR)-8 b(TRAN)31 b(95)1883 b FK(27)141
91 y(Lik)m(ewise,)26 b(for)e(routines)g(returning)g(an)g(index)g
(within)f(a)i(v)m(ector)i(or)e(matrix)f(op)s(erand,)h(this)f(reference)
i(p)s(oin)m(t)0 204 y(is)j(indexed)g(starting)h(at)i(one.)0
448 y Fx(2.4.3)97 b(Design)33 b(of)f(the)i(F)m(o)m(rtran)f(95)f
(Interfaces)0 619 y FK(The)e(prop)s(osed)f(design)g(utilizes)g(the)h
(follo)m(wing)f(features)i(of)f(the)h(F)-8 b(ortran)31
b(95)g(language.)0 807 y FG(Generic)36 b(in)m(terfaces:)45
b FK(all)22 b(pro)s(cedures)g(are)h(accessed)h(through)e
Fz(generic)28 b FK(in)m(terfaces.)38 b(A)23 b(single)f(generic)h(name)
227 920 y(co)m(v)m(ers)32 b(sev)m(eral)f(sp)s(eci\014c)e(instances)h
(whose)g(argumen)m(ts)h(ma)m(y)g(di\013er)e(in)g(the)i(follo)m(wing)d
(prop)s(erties:)227 1107 y FG(data)34 b(t)m(yp)s(e)46
b FK(\(real)30 b(or)h(complex\).)227 1254 y FG(precision)47
b FK(\(or)28 b(equiv)-5 b(alen)m(tly)d(,)27 b(kind)f(t)m(yp)s(e)i
(parameter)g(\\kind-v)-5 b(alue"\).)39 b(Ho)m(w)m(ev)m(er,)31
b(all)26 b(real)i(or)f(complex)427 1366 y(argumen)m(ts)k(m)m(ust)f(ha)m
(v)m(e)i(the)e(same)h(precision.)39 b(W)-8 b(e)32 b(allo)m(w)d(b)s(oth)
h(single)f(and)h(double)f(precision.)227 1513 y FG(rank)46
b FK(Some)22 b(argumen)m(ts)h(ma)m(y)g(either)f(ha)m(v)m(e)h(rank)f(2)h
(\(to)g(store)g(a)g(matrix\))f(or)g(rank)g(1)h(\(to)g(store)g(a)g(v)m
(ector\).)427 1626 y(In)30 b(other)h(cases)g(an)f(argumen)m(t)h(ma)m(y)
g(b)s(e)f(either)f(a)i(rank)f(1)h(arra)m(y)g(or)f(a)h(scalar.)227
1772 y FG(di\013eren)m(t)k(argumen)m(t)f(lists)46 b FK(Some)36
b(of)g(the)g(argumen)m(ts)g(are)g(optional.)57 b(If)35
b(one)h(of)g(these)h(argumen)m(ts)427 1885 y(do)s(es)j(not)h(app)s(ear)
f(in)f(the)h(calling)f(sequence,)k(a)e(prede\014ned)e(v)-5
b(alue)40 b(or)g(a)h(prede\014ned)d(action)j(is)427 1997
y(assumed.)f(T)-8 b(able)30 b(2.9)i(con)m(tains)e(the)h(prede\014ned)e
(v)-5 b(alue)29 b(or)i(action)f(for)h(these)f(argumen)m(ts.)0
2185 y FG(Assumed-shap)s(e)k(arra)m(ys:)46 b FK(all)c(arra)m(y)i
(argumen)m(ts)g(are)g Fz(assume)-5 b(d-shap)g(e)46 b
FK(arra)m(ys,)h(whic)m(h)42 b(m)m(ust)h(ha)m(v)m(e)i(the)227
2298 y(exact)27 b(shap)s(e)d(required)g(to)i(store)f(the)h(corresp)s
(onding)d(matrix)h(or)h(v)m(ector.)41 b(Hence)26 b(argumen)m(ts)f(to)h
(sp)s(ecify)227 2411 y(arra)m(y-dimensions)33 b(or)i
(problem-dimensions)30 b(are)35 b(not)g(required.)52
b(The)34 b(pro)s(cedures)f(assume)i(that)g(the)227 2524
y(supplied)c(arra)m(ys)j(ha)m(v)m(e)h(v)-5 b(alid)32
b(and)h(consisten)m(t)h(shap)s(es.)50 b(Zero)33 b(dimensions)e
(\(implying)g(empt)m(y)j(arra)m(ys\))227 2637 y(are)d(allo)m(w)m(ed.)
227 2787 y(This)36 b(means)h(that,)j(for)d(a)h(v)m(ector)h(op)s(erand,)
f(the)f(o\013set)i(and)d(stride)h(are)g(not)h(needed)f(as)g(argumen)m
(ts.)227 2900 y(The)30 b(actual)h(argumen)m(t)g(corresp)s(onding)d(to)j
(a)g Fy(n)p FK(-length)f(v)m(ector)i(dumm)m(y)d(argumen)m(t)i(could)e
(b)s(e:)p 693 3041 2742 4 v 691 3154 4 113 v 743 3120
a(actual)h(argumen)m(t)p 1559 3154 V 219 w(commen)m(ts)p
3433 3154 V 693 3158 2742 4 v 691 3270 4 113 v 743 3237
a(x\(ix:ix+\(n-1\)*incx\))p 1559 3270 V 99 w(ix)p FJ(6)p
FK(=)f(1)i(and)f(incx)p FJ(6)p FK(=)f(1)p 3433 3270 V
691 3383 V 743 3349 a(x\(1:1+\(n-1\)*incx\))p 1559 3383
V 157 w(ix=)g(1)i(and)f(incx)p FJ(6)p FK(=)f(1)p 3433
3383 V 691 3496 V 743 3462 a(x\(0:\(n-1\)*incx\))p 1559
3496 V 273 w(ix=)g(0)i(and)f(incx)p FJ(6)p FK(=)f(1)p
3433 3496 V 691 3609 V 743 3575 a(x\(ix:ix+n-1\))p 1559
3609 V 379 w(ix)p FJ(6)p FK(=)g(1)i(and)f(incx=)f(1)p
3433 3609 V 691 3722 V 743 3688 a(x\(1:n\))p 1559 3722
V 628 w(ix=)g(1)i(and)f(incx=)f(1)p 3433 3722 V 691 3835
V 743 3801 a(x)p 1559 3835 V 819 w(if)g(x)i(is)e(declared)h(with)f
(shap)s(e)h(\(n\),)g(i.e.)p 3433 3835 V 691 3948 V 1559
3948 V 1610 3914 a(x\(n\))p 3433 3948 V 691 4061 V 743
4027 a(x\(ix\))p 1559 4061 V 675 w(where)g Fy(ix)h FK(is)e(an)h(in)m
(teger)h(v)m(ector)h(of)e Fy(n)g FK(elemen)m(ts)p 3433
4061 V 691 4174 V 1559 4174 V 1610 4140 a(con)m(taining)g(v)-5
b(alid)29 b(indices)f(of)j Fy(x)p 3433 4174 V 691 4287
V 743 4253 a FK(a\(:,j\))p 1559 4287 V 674 w(column)e
Fy(j)36 b FK(of)31 b(a)f(t)m(w)m(o-dimension)g(arra)m(y)h(assuming)p
3433 4287 V 691 4400 V 1559 4400 V 1610 4366 a(that)g(it)f(has)g
Fy(n)g FK(ro)m(ws)g(\(SIZE\(a,1\))i(=)25 b Fy(n)p FK(\))p
3433 4400 V 691 4512 V 743 4479 a(a\(i,:\))p 1559 4512
V 676 w(ro)m(w)31 b Fy(i)f FK(of)h(a)f(t)m(w)m(o-dimension)g(arra)m(y)h
(assuming)p 3433 4512 V 691 4625 V 1559 4625 V 1610 4591
a(that)g(it)f(has)g Fy(n)g FK(columns)f(\(SIZE\(a,2\))i(=)25
b Fy(n)p FK(\))p 3433 4625 V 693 4629 2742 4 v 0 4812
a FG(Deriv)m(ed)35 b(t)m(yp)s(es:)46 b FK(In)38 b(the)i(F)-8
b(ortran)40 b(95)g(bindings,)e(w)m(e)i(use)e(dumm)m(y)h(argumen)m(ts)g
(whose)g(actual)g(argumen)m(t)227 4925 y(m)m(ust)30 b(b)s(e)e(a)i
(named)f(constan)m(t)i(of)e(a)h(deriv)m(ed)e(t)m(yp)s(e,)i(whic)m(h)e
(is)h(de\014ned)f(within)f(the)i(BLAS)g(mo)s(dule)f(\(and)227
5038 y(accessible)i(via)g(the)h(BLAS)f(mo)s(dule\).)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 28 38
28 37 bop 0 -165 a FK(28)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y Fx(2.4.4)97 b(Matrix)32
b(Sto)m(rage)h(Schemes)0 263 y FK(The)f(matrix)g(storage)i(sc)m(hemes)f
(for)f(the)g(F)-8 b(ortran)33 b(95)h(in)m(terfaces)f(are)f(as)h
(describ)s(ed)d(in)h(section)i(2.2.)48 b(As)32 b(with)0
376 y(the)27 b(F)-8 b(ortran)27 b(77)g(in)m(terfaces,)h(only)e
(column-ma)5 b(jor)25 b(storage)j(is)e(p)s(ermitted.)38
b(Ho)m(w)m(ev)m(er,)29 b(assumed-shap)s(e)d(arra)m(ys)0
489 y(are)31 b(used)e(instead)h(of)h(assumed-size)e(arra)m(ys.)141
602 y(F)-8 b(or)26 b(a)g(general)f(banded)f(matrix,)i
Fy(a)p FK(,)g(three)g(argumen)m(ts)f Fy(a)p FK(,)i Fy(m)e
FK(and)g Fy(k)s(l)i FK(are)f(used)e(to)i(de\014ne)f(the)g(matrix)g
(since)0 715 y Fy(k)s(u)34 b FK(is)f(de\014ned)g(from)h(the)g(shap)s(e)
g(of)g(the)g(matrix)g(and)f Fy(k)s(l)j FK(\()p Fy(k)s(u)c
FK(=)g Fy(S)5 b(I)i(Z)g(E)e FK(\()p Fy(a;)15 b FK(1\))24
b FJ(\000)e Fy(k)s(l)j FJ(\000)e FK(1\).)52 b(F)-8 b(or)35
b(a)g(symmetric)0 827 y(banded)f(matrix,)h(a)h(Hermitian)d(banded)h
(matrix)g(or)h(triangular)e(banded)h(matrix,)i Fy(a)p
FK(,)g(only)e Fy(a)h FK(is)f(used)g(as)h(an)0 940 y(argumen)m(t)h(to)g
(de\014ne)e(the)i(matrix)f(as)g(the)h(band)e(width)f(is)i(de\014ned)f
(from)h(the)g(shap)s(e)g(of)g(the)h(matrix)e(and)h(is)0
1053 y(equal)30 b(to)h Fy(S)5 b(I)i(Z)g(E)e FK(\()p Fy(a;)15
b FK(1\))22 b FJ(\000)e FK(1)30 b(and)g Fy(m)25 b FK(=)g
Fy(n)p FK(.)0 1293 y Fx(2.4.5)97 b(F)m(o)m(rmat)34 b(of)e(the)h(F)m(o)m
(rtran)g(95)f(bindings)0 1465 y FK(Eac)m(h)g(in)m(terface)g(is)f
(summarized)f(in)g(the)i(form)f(of)g(a)h FD(SUBROUTINE)d
FK(statemen)m(t)k(\(or)f(in)f(few)g(cases)h(a)g FD(FUNCTION)0
1578 y FK(statemen)m(t\),)e(in)25 b(whic)m(h)g(all)h(of)h(the)f(p)s
(oten)m(tial)g(argumen)m(ts)h(app)s(ear.)39 b(Argumen)m(ts)27
b(whic)m(h)e(need)h(not)h(b)s(e)f(supplied)0 1690 y(are)31
b(group)s(ed)e(after)i(the)f(mandatory)h(argumen)m(ts)g(and)e(enclosed)
h(in)f(square)i(brac)m(k)m(ets,)h(for)e(example:)286
1858 y FD(SUBROUTINE)45 b(axpby\()h(x,)i(y)f([,)g(alpha])f([,)i(beta])e
(\))382 1971 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(x\(:\))382
2084 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h(y\(:\))382
2197 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)g(OPTIONAL)g(::)h(alpha,)f
(beta)0 2365 y FK(The)30 b(default)f(v)-5 b(alue)30 b(for)g
Fy(\014)36 b FK(is)29 b(1.0)j(or)e(\(1.0,0.0\).)141 2478
y(As)c(generic)g(in)m(terfaces)g(are)h(used,)f(\015oating)g(p)s(oin)m
(t)f(v)-5 b(ariables)25 b(that)h(can)g(b)s(e)g FD(REAL)f
FK(or)h FD(COMPLEX)d FK(are)k(denoted)0 2591 y(b)m(y)j(the)h(k)m(eyw)m
(ord)g FD(<type>)d FK(whic)m(h)h(designates)i(the)f(data)h(t)m(yp)s(e)g
(for)f(the)h(op)s(erand)227 2759 y FD(<type>)46 b(::=)h(REAL)g(|)g
(COMPLEX)0 2927 y FK(In)27 b(some)i(routines,)e(ho)m(w)m(ev)m(er,)j
(some)f(of)f(the)g(\015oating)g(p)s(oin)m(t)f(argumen)m(ts)h(m)m(ust)g
(b)s(e)f(of)h(a)h(sp)s(eci\014c)e(data)h(t)m(yp)s(e.)40
b(If)0 3040 y(this)29 b(is)h(the)g(case,)i(then)e(the)h(argumen)m(t)f
(t)m(yp)s(e)h FD(REAL)e FK(or)i FD(COMPLEX)d FK(is)h(used.)141
3153 y(The)e(precision)e(of)i(the)g(\015oating)g(p)s(oin)m(t)f(v)-5
b(ariable)26 b(is)g(denoted)h(b)m(y)g FD(<wp>)f FK(\(i.e.,)j(\\w)m
(orking)d(precision"\))g(where)227 3321 y FD(<wp>)47
b(::=)g(KIND\(1.0\))e(|)j(KIND\(1.0D0\))0 3489 y FK(and)30
b FD(KIND\(1.0\))e FK(and)h FD(KIND\(1.0D0\))f FK(represen)m(t)i
(single)f(precision)g(and)g(double)g(precision,)g(resp)s(ectiv)m(ely)-8
b(.)141 3602 y(Some)34 b(argumen)m(ts)h(ma)m(y)g(either)f(ha)m(v)m(e)h
(rank)f(2)h(\(to)g(store)g(a)g(matrix\))f(or)g(rank)g(1)g(\(to)i(store)
f(a)f(v)m(ector\).)55 b(In)0 3715 y(this)29 b(case,)j(the)f(follo)m
(wing)d(notation)j(is)e(used:)227 3883 y FD(<bb>)47 b(::=)g(b\(:,:\))94
b(|)47 b(b\(:\))141 4051 y FK(The)26 b(same)g(notation)g(is)f(used)g
(in)g(the)h(case)h(of)f(an)g(argumen)m(t)g(that)h(ma)m(y)f(either)g(ha)
m(v)m(e)h(rank)e(1)i(or)e(is)g(a)i(scalar.)227 4219 y
FD(<bb>)47 b(::=)g(b\(:\))94 b(|)48 b(b)141 4387 y FK(F)-8
b(ortran)37 b(95)g(bindings)d(use)i(assumed)f(shap)s(e)h(arra)m(ys.)59
b(The)36 b(actual)h(argumen)m(ts)f(m)m(ust)h(ha)m(v)m(e)g(the)g
(correct)0 4499 y(dimension.)j(F)-8 b(or)32 b(all)e(the)h(pro)s
(cedures)f(that)h(con)m(tain)h(arra)m(y)f(argumen)m(ts)g(the)h(shap)s
(e)e(of)h(the)g(arra)m(y)h(argumen)m(ts)0 4612 y(is)i(giv)m(en)h(in)f
(detail)g(after)i(the)f(sp)s(eci\014cation.)53 b(F)-8
b(or)36 b(example)f(the)g(sp)s(eci\014cation)f(of)h(the)g
FD(SUBROUTINE)45 b(axpby)0 4725 y FK(giv)m(en)30 b(ab)s(o)m(v)m(e)i(is)
d(follo)m(w)m(ed)h(b)m(y:)227 4893 y FD(x)g FK(and)g
FD(y)g FK(ha)m(v)m(e)i(shap)s(e)d FD(\(n\))0 5061 y FK(whic)m(h)g
(indicates)g(that)i(b)s(oth)f(arra)m(ys)h FD(x)f FK(and)g
FD(y)g FK(m)m(ust)g(b)s(e)g(rank)f(1)i(with)e(the)i(same)g(n)m(um)m(b)s
(er)e(of)h(elemen)m(ts.)141 5174 y(The)i(calling)f(sequence)i(ma)m(y)g
(b)s(e)f(follo)m(w)m(ed)g(b)m(y)g(a)h(table)g(whic)m(h)e(lists)g(the)i
(di\013eren)m(t)f(v)-5 b(arian)m(ts)32 b(of)h(the)f(op)s(er-)0
5287 y(ation,)f(dep)s(ending)d(either)i(on)g(the)h(ranks)f(of)g(some)h
(of)g(the)g(argumen)m(ts)g(or)f(on)h(the)f(optional)g(argumen)m(ts.)41
b(The)0 5400 y(scalar)30 b(v)-5 b(alues)30 b FD(alpha)f
FK(and)h FD(beta)f FK(tak)m(e)j(the)e(defaults)g(giv)m(en)g(in)f(the)i
(follo)m(wing)e(table:)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 29 39
29 38 bop 0 -165 a FA(2.4.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)f(F)m(OR)i(F)m(OR)-8 b(TRAN)31 b(95)1883 b FK(29)p
526 3 2849 4 v 524 116 4 113 v 576 82 a(Argumen)m(t)p
1023 116 V 99 w(default)30 b(v)-5 b(alue)30 b(in)f(real)h(case)p
2108 116 V 101 w(default)f(v)-5 b(alue)30 b(in)f(complex)h(case)p
3373 116 V 526 120 2849 4 v 524 232 4 113 v 576 199 a(alpha)p
1023 232 V 280 w(1.0)p 2108 232 V 971 w(\(1.0,0.0\))p
3373 232 V 524 345 V 576 311 a(b)s(eta)p 1023 345 V 324
w(0.0)i(OR)e(1.0)p 2108 345 V 656 w(\(0.0,0.0\))j(OR)d(\(1.0,0.0\))p
3373 345 V 526 349 2849 4 v 141 489 a(Pro)s(cedures)k(that)h(con)m
(tain)g(the)g(optional)e(scalar)i FD(beta)e FK(state)j(the)f(default)f
(v)-5 b(alue)34 b(for)g FD(beta)g FK(only)f(if)h(it)g(is)0
602 y(1.0)d(or)g(\(1.0,0.0\),)j(otherwise)29 b(the)i(default)f(is)f
(assumed)h(to)h(b)s(e)e(0.0)j(or)e(\(0.0,0.0\).)141 715
y(The)f(follo)m(wing)f(table)i(sho)m(ws)f(the)h(notation)g(that)h(is)d
(used)h(for)h(the)g(v)-5 b(alues)29 b(of)g(optional)g(argumen)m(ts)h
(\(since)0 828 y FD(alpha)f FK(and)h FD(beta)f FK(are)i(also)f
(optional,)g(for)g(example\):)p 119 951 3663 4 v 117
1064 4 113 v 169 1030 a(Dumm)m(y)p 593 1064 V 159 w(Notation)h(in)e
(table)p 1629 1064 V 352 w(Named)h(constan)m(t)p 2704
1064 V 430 w(Default)g(v)-5 b(alue)p 3780 1064 V 117
1177 V 169 1143 a(argumen)m(t)p 593 1177 V 1629 1177
V 2704 1177 V 3780 1177 V 119 1180 3663 4 v 117 1293
4 113 v 169 1259 a FD(norm)p 593 1293 V 284 w FK(1-norm)p
1629 1293 V 753 w FD(blas)p 1879 1259 29 4 v 33 w(one)p
2056 1259 V 34 w(norm)p 2704 1293 4 113 v 480 w(blas)p
2954 1259 29 4 v 33 w(one)p 3131 1259 V 34 w(norm)p 3780
1293 4 113 v 117 1406 V 593 1406 V 645 1372 a FK(1R-norm)p
1629 1406 V 686 w FD(blas)p 1879 1372 29 4 v 33 w(real)p
2104 1372 V 33 w(one)p 2281 1372 V 34 w(norm)p 2704 1406
4 113 v 3780 1406 V 117 1519 V 593 1519 V 645 1485 a
FK(2-norm)p 1629 1519 V 753 w FD(blas)p 1879 1485 29
4 v 33 w(two)p 2056 1485 V 34 w(norm)p 2704 1519 4 113
v 3780 1519 V 117 1632 V 593 1632 V 645 1598 a FK(F)d(rob)s(enius-norm)
p 1629 1632 V 408 w FD(blas)p 1879 1598 29 4 v 33 w(frobenius)p
2344 1598 V 32 w(norm)p 2704 1632 4 113 v 3780 1632 V
117 1745 V 593 1745 V 645 1711 a FK(inf-norm)p 1629 1745
V 693 w FD(blas)p 1879 1711 29 4 v 33 w(inf)p 2056 1711
V 34 w(norm)p 2704 1745 4 113 v 3780 1745 V 117 1858
V 593 1858 V 645 1824 a FK(real-inf-norm)p 1629 1858
V 516 w FD(blas)p 1879 1824 29 4 v 33 w(real)p 2104 1824
V 33 w(inf)p 2281 1824 V 34 w(norm)p 2704 1858 4 113
v 3780 1858 V 117 1971 V 593 1971 V 645 1937 a FK(max-norm)p
1629 1971 V 629 w FD(blas)p 1879 1937 29 4 v 33 w(max)p
2056 1937 V 34 w(norm)p 2704 1971 4 113 v 3780 1971 V
117 2083 V 593 2083 V 645 2050 a FK(real-max-norm)p 1629
2083 V 452 w FD(blas)p 1879 2050 29 4 v 33 w(real)p 2104
2050 V 33 w(max)p 2281 2050 V 34 w(norm)p 2704 2083 4
113 v 3780 2083 V 117 2196 V 169 2163 a(sort)p 593 2196
V 284 w FK(sort)30 b(in)f(decreasing)i(order)p 1629 2196
V 99 w FD(blas)p 1879 2163 29 4 v 33 w(decreasing)p 2392
2163 V 32 w(order)p 2704 2196 4 113 v 98 w(blas)p 2954
2163 29 4 v 33 w(increasing)p 3467 2163 V 32 w(order)p
3780 2196 4 113 v 117 2309 V 593 2309 V 645 2275 a FK(sort)f(in)f
(increasing)g(order)p 1629 2309 V 115 w FD(blas)p 1879
2275 29 4 v 33 w(increasing)p 2392 2275 V 32 w(order)p
2704 2309 4 113 v 3780 2309 V 117 2422 V 169 2388 a(side)p
593 2422 V 284 w FK(L)p 1629 2422 V 979 w FD(blas)p 1879
2388 29 4 v 33 w(left)p 2104 2388 V 33 w(side)p 2704
2422 4 113 v 433 w(blas)p 2954 2388 29 4 v 33 w(left)p
3780 2422 4 113 v 117 2535 V 593 2535 V 645 2501 a FK(R)p
1629 2535 V 969 w FD(blas)p 1879 2501 29 4 v 33 w(right)p
2152 2501 V 33 w(side)p 2704 2535 4 113 v 3780 2535 V
117 2648 V 169 2614 a(uplo)p 593 2648 V 284 w FK(U)p
1629 2648 V 968 w FD(blas)p 1879 2614 29 4 v 33 w(upper)p
2704 2648 4 113 v 610 w(blas)p 2954 2614 29 4 v 33 w(upper)p
3780 2648 4 113 v 117 2761 V 593 2761 V 645 2727 a FK(L)p
1629 2761 V 979 w FD(blas)p 1879 2727 29 4 v 33 w(lower)p
2704 2761 4 113 v 3780 2761 V 117 2874 V 169 2840 a(trans)p
Fp(x)p 593 2874 V 188 w FK(N)p 1629 2874 V 968 w FD(blas)p
1879 2840 29 4 v 33 w(no)p 2008 2840 V 34 w(trans)p 2704
2874 4 113 v 480 w(blas)p 2954 2840 29 4 v 33 w(no)p
3083 2840 V 34 w(trans)p 3780 2874 4 113 v 117 2987 V
593 2987 V 645 2953 a FK(T)p 1629 2987 V 970 w FD(blas)p
1879 2953 29 4 v 33 w(trans)p 2704 2987 4 113 v 3780
2987 V 117 3100 V 593 3100 V 645 3066 a FK(H)p 1629 3100
V 968 w FD(blas)p 1879 3066 29 4 v 33 w(conj)p 2104 3066
V 33 w(trans)p 2704 3100 4 113 v 3780 3100 V 117 3213
V 169 3179 a(conj)p 593 3213 V 1629 3213 V 1320 w(blas)p
1879 3179 29 4 v 33 w(no)p 2008 3179 V 34 w(conj)p 2704
3213 4 113 v 528 w(blas)p 2954 3179 29 4 v 33 w(no)p
3083 3179 V 34 w(conj)p 3780 3213 4 113 v 117 3326 V
593 3326 V 1629 3326 V 1681 3292 a(blas)p 1879 3292 29
4 v 33 w(conj)p 2704 3326 4 113 v 3780 3326 V 117 3438
V 169 3405 a(diag)p 593 3438 V 284 w FK(N)p 1629 3438
V 968 w FD(blas)p 1879 3405 29 4 v 33 w(non)p 2056 3405
V 34 w(unit)p 2282 3405 V 33 w(diag)p 2704 3438 4 113
v 255 w(blas)p 2954 3405 29 4 v 33 w(non)p 3131 3405
V 34 w(unit)p 3357 3405 V 33 w(diag)p 3780 3438 4 113
v 117 3551 V 593 3551 V 645 3517 a FK(U)p 1629 3551 V
968 w FD(blas)p 1879 3517 29 4 v 33 w(unit)p 2104 3517
V 33 w(diag)p 2704 3551 4 113 v 3780 3551 V 117 3664
V 169 3630 a(jrot)p 593 3664 V 284 w FK(inner)f(rotation)p
1629 3664 V 486 w FD(blas)p 1879 3630 29 4 v 33 w(jrot)p
2104 3630 V 33 w(inner)p 2704 3664 4 113 v 385 w(blas)p
2954 3630 29 4 v 33 w(jrot)p 3179 3630 V 33 w(inner)p
3780 3664 4 113 v 117 3777 V 593 3777 V 645 3743 a FK(outer)i(rotation)
p 1629 3777 V 481 w FD(blas)p 1879 3743 29 4 v 33 w(jrot)p
2104 3743 V 33 w(outer)p 2704 3777 4 113 v 3780 3777
V 117 3890 V 593 3890 V 645 3856 a FK(sorted)g(rotation)p
1629 3890 V 445 w FD(blas)p 1879 3856 29 4 v 33 w(jrot)p
2104 3856 V 33 w(sorted)p 2704 3890 4 113 v 3780 3890
V 119 3893 3663 4 v 971 4048 a FK(T)-8 b(able)30 b(2.9:)42
b(Default)31 b(v)-5 b(alues)29 b(of)i(Op)s(erator)f(Argumen)m(ts)0
4482 y Fx(2.4.6)97 b(Erro)m(r)33 b(Handling)0 4654 y
FK(The)40 b(F)-8 b(ortran)40 b(95)h(in)m(terface)g(m)m(ust)f(supply)d
(an)j(error-handling)d(routine)i FD(blas)p 2844 4654
29 4 v 34 w(error)p FK(.)68 b(The)39 b(API)h(for)g(this)0
4767 y(error-handling)25 b(routine)i(is)g(de\014ned)g(in)f(section)i
(1.8.)41 b(By)28 b(default,)g(this)f(routine)g(will)e(prin)m(t)i(an)g
(error)h(message)0 4879 y(and)g(stop)g(execution.)40
b(The)28 b(user)g(ma)m(y)h(mo)s(dify)d(the)j(action)f(p)s(erformed)f(b)
m(y)h(the)h(error-handling)d(routine,)i(and)0 4992 y(this)h(mo)s
(di\014cation)g(m)m(ust)h(b)s(e)g(do)s(cumen)m(ted.)141
5105 y(The)d(follo)m(wing)f(v)-5 b(alues)27 b(of)g(argumen)m(ts)h(are)g
(in)m(v)-5 b(alid)25 b(and)h(will)f(b)s(e)i(\015agged)h(b)m(y)f(the)h
(error-handling)d(routine:)136 5287 y FJ(\017)46 b FK(An)m(y)21
b(v)-5 b(alue)20 b(of)h(the)f(op)s(erator)h(argumen)m(ts)g(whose)f
(meaning)g(is)g(not)g(sp)s(eci\014ed)f(in)g(the)i(language-dep)s(enden)
m(t)227 5400 y(section)31 b(is)e(in)m(v)-5 b(alid;)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 30 40
30 39 bop 0 -165 a FK(30)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(Routine-sp)s(eci\014c)d
(error)h(conditions)f(are)h(listed)f(in)g(the)i(resp)s(ectiv)m(e)f
(language)h(bindings.)0 377 y FE(2.5)116 b(Interface)38
b(Issues)h(fo)m(r)f(F)m(o)m(rtran)g(77)0 579 y FK(Unless)23
b(explicitly)e(stated,)27 b(the)d(F)-8 b(ortran)24 b(77)h(binding)c(is)
i(consisten)m(t)h(with)f(ANSI)g(standard)g(F)-8 b(ortran)25
b(77.)39 b(There)0 692 y(are)30 b(sev)m(eral)g(p)s(oin)m(ts)f(where)g
(this)g(standard)g(div)m(erges)g(from)g(the)h(ANSI)g(F)-8
b(ortran)30 b(77)h(standard.)39 b(In)29 b(particular:)136
874 y FJ(\017)46 b FK(Subroutine)28 b(names)i(are)h(not)g(limited)d(to)
j(six)e(signi\014can)m(t)h(c)m(haracters.)136 1059 y
FJ(\017)46 b FK(Subroutine)28 b(names)i(con)m(tain)h(an)f(underscore.)
136 1244 y FJ(\017)46 b FK(Subroutines)28 b(ma)m(y)j(use)f(the)h
(INCLUDE)f(statemen)m(t)i(for)e(include)e(\014les.)141
1425 y(Section)39 b(2.5.2)j(discusses)c(the)h(indexing)e(of)j(v)m
(ector)h(and)e(matrix)g(op)s(erands.)67 b(Section)39
b(A.5)h(de\014nes)f(the)0 1538 y(op)s(erator)30 b(argumen)m(ts,)g
(section)g(2.5.3)h(de\014nes)e(arra)m(y)h(argumen)m(ts,)g(and)f
(section)h(2.2)h(lists)d(the)i(matrix)e(storage)0 1651
y(sc)m(hemes)k(that)h(are)f(supp)s(orted.)43 b(Section)32
b(2.5.5)h(details)e(the)h(format)g(of)g(the)g(language)g(binding,)e
(and)h(section)0 1764 y(2.5.6)h(discusses)d(error)h(handling.)0
2006 y Fx(2.5.1)97 b(F)m(o)m(rtran)34 b(77)e(Include)h(File)0
2178 y FK(Refer)d(to)i(App)s(endix)27 b(A.5)k(for)g(details)e(of)h(the)
h(F)-8 b(ortran)31 b(77)g(include)d(\014le)i FD(blas)p
2735 2178 29 4 v 33 w(namedconstants.h)p FK(.)0 2420
y Fx(2.5.2)97 b(Indexing)0 2591 y FK(The)28 b(F)-8 b(ortran)29
b(77)g(in)m(terface)g(returns)e(indices)f(in)h(the)i(range)f(1)e
FJ(\024)f Fy(I)32 b FJ(\024)25 b Fy(N)39 b FK(\(where)28
b Fy(N)38 b FK(is)27 b(the)i(n)m(um)m(b)s(er)e(of)h(en)m(tries)0
2704 y(in)36 b(the)h(dimension)e(in)h(question,)i(and)f
Fy(I)44 b FK(is)36 b(the)h(index\).)60 b(This)36 b(allo)m(ws)g
(functions)g(returning)f(indices)h(to)i(b)s(e)0 2817
y(directly)29 b(used)h(to)h(index)e(standard)g(arra)m(ys.)141
2930 y(Lik)m(ewise,)d(for)e(routines)g(returning)g(an)g(index)g(within)
f(a)i(v)m(ector)i(or)e(matrix)f(op)s(erand,)h(this)f(reference)i(p)s
(oin)m(t)0 3043 y(is)j(indexed)g(starting)h(at)i(one.)0
3285 y Fx(2.5.3)97 b(Arra)m(y)33 b(Arguments)0 3457 y
FK(V)-8 b(ector)46 b(argumen)m(ts)f(are)g(p)s(ermitted)e(to)i(ha)m(v)m
(e)h(a)e(storage)i(spacing)e(b)s(et)m(w)m(een)h(elemen)m(ts.)83
b(This)43 b(spacing)h(is)0 3570 y(sp)s(eci\014ed)e(b)m(y)h(an)h
(incremen)m(t)f(argumen)m(t.)80 b(F)-8 b(or)45 b(example,)h(supp)s(ose)
c(a)i(v)m(ector)h Fy(x)f FK(ha)m(ving)f(comp)s(onen)m(ts)h
Fy(x)3847 3584 y Fw(i)3875 3570 y FK(,)0 3683 y Fy(i)26
b FK(=)g(1)p Fy(;)15 b(:)g(:)g(:)i(;)e(N)10 b FK(,)31
b(is)f(stored)g(in)g(an)g(arra)m(y)h Fy(X)7 b FK(\(\))32
b(with)e(incremen)m(t)g(argumen)m(t)h Fy(I)7 b(N)j(C)d(X)g
FK(.)41 b(If)31 b Fy(I)7 b(N)j(C)d(X)32 b(>)26 b FK(0)31
b(then)f Fy(x)3780 3697 y Fw(i)3839 3683 y FK(is)0 3796
y(stored)d(in)f Fy(X)7 b FK(\(1)14 b(+)g(\()p Fy(i)g
FJ(\000)g FK(1\))g FJ(\003)g Fy(I)7 b(N)j(C)d(X)g FK(\).)39
b(If)27 b Fy(I)7 b(N)j(C)d(X)32 b(<)25 b FK(0)j(then)e
Fy(x)2156 3810 y Fw(i)2211 3796 y FK(is)g(stored)i(in)d
Fy(X)7 b FK(\(1)14 b(+)g(\()p Fy(N)24 b FJ(\000)14 b
Fy(i)p FK(\))g FJ(\003)g(j)p Fy(I)7 b(N)j(C)d(X)g FJ(j)p
FK(\).)40 b(This)0 3908 y(metho)s(d)35 b(of)g(indexing)e(when)i
Fy(I)7 b(N)j(C)d(X)40 b(<)34 b FK(0)h(a)m(v)m(oids)h(negativ)m(e)h
(indices)c(in)h(the)i(arra)m(y)g Fy(X)7 b FK(\(\))36
b(and)f(th)m(us)g(p)s(ermits)0 4021 y(the)c(subprograms)d(to)k(b)s(e)d
(written)h(in)f(F)-8 b(ortran)31 b(77.)41 b Fy(I)7 b(N)j(C)d(X)33
b FK(=)25 b(0)30 b(is)g(an)g(illegal)f(v)-5 b(alue.)141
4134 y(Eac)m(h)23 b(t)m(w)m(o-dimensional)f(arra)m(y)h(argumen)m(t)g
(is)e(immediately)g(follo)m(w)m(ed)i(in)e(the)i(argumen)m(t)g(list)e(b)
m(y)h(its)g(leading)0 4247 y(dimension,)i(whose)h(name)h(has)f(the)g
(form)g(LD)p Fy(<)p FK(arra)m(y-name)p Fy(>)p FK(.)40
b(If)25 b(a)g(t)m(w)m(o-dimensional)g(arra)m(y)h(A)f(of)h(dimension)0
4360 y(\(LD)m(A,N\))32 b(holds)c(an)i Fy(m)p FK(-b)m(y-)p
Fy(n)f FK(matrix)h Fy(A)p FK(,)g(then)f(A\()p Fy(i;)15
b(j)5 b FK(\))32 b(holds)d Fy(a)2263 4374 y Fw(ij)2353
4360 y FK(for)g Fy(i)d FK(=)f(1)p Fy(;)15 b(:)g(:)g(:)i(;)e(m)30
b FK(and)f Fy(j)i FK(=)25 b(1)p Fy(;)15 b(:)g(:)g(:)i(;)e(n)30
b FK(\(LD)m(A)0 4473 y(m)m(ust)g(b)s(e)g(at)h(least)g
Fy(m)p FK(\).)41 b(See)30 b(Section)g(2.2)i(for)e(more)g(ab)s(out)h
(storage)g(of)g(matrices.)141 4586 y(Note)41 b(that)f(arra)m(y)h
(argumen)m(ts)f(are)g(usually)d(declared)i(in)g(the)g(soft)m(w)m(are)j
(as)e(assumed-size)f(arra)m(ys)h(\(last)0 4699 y(dimension)28
b(*\),)j(for)f(example:)286 4880 y FD(REAL)47 b(A\()g(LDA,)g(*)g(\))0
5061 y FK(although)26 b(the)h(do)s(cumen)m(tation)g(giv)m(es)g(the)g
(dimensions)e(as)i(\(LD)m(A,N\).)i(The)d(latter)h(form)g(is)f(more)h
(informativ)m(e)0 5174 y(since)f(it)f(sp)s(eci\014es)g(the)i(required)d
(minim)m(um)g(v)-5 b(alue)25 b(of)i(the)f(last)g(dimension.)37
b(Ho)m(w)m(ev)m(er)29 b(an)d(assumed-size)f(arra)m(y)0
5287 y(declaration)30 b(has)h(b)s(een)f(used)g(in)g(the)h(soft)m(w)m
(are)h(in)e(order)g(to)i(o)m(v)m(ercome)h(some)e(limitations)e(in)g
(the)j(F)-8 b(ortran)31 b(77)0 5400 y(standard.)48 b(In)32
b(particular)g(it)g(allo)m(ws)h(the)g(routine)f(to)i(b)s(e)e(called)g
(when)g(the)i(relev)-5 b(an)m(t)33 b(dimension)e(\(N,)i(in)f(this)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 31 41
31 40 bop 0 -165 a FA(2.5.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)f(F)m(OR)i(F)m(OR)-8 b(TRAN)31 b(77)1883 b FK(31)0
91 y(case\))33 b(is)d(zero.)43 b(Ho)m(w)m(ev)m(er)34
b(actual)d(arra)m(y)h(dimensions)c(in)i(the)h(calling)f(program)h(m)m
(ust)g(b)s(e)f(at)i(least)f(1)h(\(LD)m(A)g(in)0 204 y(this)d
(example\).)0 448 y Fx(2.5.4)97 b(Matrix)32 b(Sto)m(rage)h(Schemes)0
619 y FK(The)39 b(matrix)g(storage)i(sc)m(hemes)f(for)f(the)g(F)-8
b(ortran)40 b(77)h(in)m(terfaces)e(are)h(as)g(describ)s(ed)d(in)h
(section)i(2.2.)69 b(Only)0 732 y(column-ma)5 b(jor)30
b(storage)h(is)f(p)s(ermitted,)f(and)h(all)f(t)m(w)m(o-dimensional)g
(arra)m(ys)i(are)g(assumed-size)f(arra)m(ys.)0 976 y
Fx(2.5.5)97 b(F)m(o)m(rmat)34 b(of)e(the)h(F)m(o)m(rtran)g(77)f
(bindings)0 1147 y FK(Eac)m(h)h(in)m(terface)h(is)e(summarized)f(in)g
(the)i(form)g(of)g(a)g FD(SUBROUTINE)d FK(statemen)m(t)35
b(\(or)e(a)g FD(FUNCTION)d FK(statemen)m(t\).)0 1260
y(The)g(declarations)g(of)g(the)h(argumen)m(ts)f(are)h(listed)e(in)g
(alphab)s(etical)g(order.)40 b(F)-8 b(or)31 b(example,)286
1473 y FD(SUBROUTINE)45 b(BLAS_xAXPBY\()g(N,)i(ALPHA,)f(X,)h(INCX,)g
(BETA,)f(Y,)h(INCY)g(\))286 1586 y(INTEGER)571 b(INCX,)47
b(INCY,)f(N)286 1699 y(<type>)619 b(ALPHA,)46 b(BETA)286
1811 y(<type>)619 b(X\()47 b(*)h(\),)f(Y\()g(*)h(\))141
2024 y FK(Floating)27 b(p)s(oin)m(t)g(v)-5 b(ariables)25
b(are)j(denoted)f(b)m(y)h(the)f(k)m(eyw)m(ord)h FD(<type>)d
FK(whic)m(h)h(designates)h(the)h(data)g(t)m(yp)s(e)f(for)0
2137 y(the)k(op)s(erand)f(\()p FD(REAL)p FK(,)g FD(DOUBLE)46
b(PRECISION)p FK(,)29 b FD(COMPLEX)p FK(,)g(or)i FD(COMPLEX*16)p
FK(\).)39 b(This)29 b(data)j(t)m(yp)s(e)f(will)d(agree)k(with)0
2250 y(the)j FG(x)h FK(letter)f(in)f(the)i(naming)e(con)m(v)m(en)m
(tion)i(of)g(the)f(routine.)55 b(In)34 b(some)i(routines,)f(ho)m(w)m
(ev)m(er,)j(not)e(all)e(\015oating)0 2363 y(p)s(oin)m(t)26
b(v)-5 b(ariables)26 b(will)e(b)s(e)j(of)g(the)g(same)h(data)g(t)m(yp)s
(e.)39 b(If)27 b(this)f(is)g(the)h(case,)j(then)c(a)i(v)-5
b(ariable)26 b(ma)m(y)h(b)s(e)g(denoted)g(b)m(y)0 2476
y(the)33 b(k)m(eyw)m(ord)g FD(<ctype>)e FK(to)i(restrict)g(the)g(data)g
(t)m(yp)s(e)g(to)h FD(COMPLEX)d FK(or)h FD(COMPLEX*16)p
FK(,)f(or)i FD(<rtype>)e FK(to)i(restrict)0 2589 y(the)e(data)g(t)m(yp)
s(e)f(to)h FD(REAL)f FK(or)g FD(DOUBLE)46 b(PRECISION)p
FK(.)141 2701 y(The)30 b(language)h(binding)c(will)h(b)s(e)i(follo)m(w)
m(ed)g(b)m(y)g(an)m(y)h(restrictions)e(dictated)h(for)g(this)g(in)m
(terface.)0 2945 y Fx(2.5.6)97 b(Erro)m(r)33 b(Handling)0
3117 y FK(The)e(F)-8 b(ortran)33 b(77)f(in)m(terface)g(supplies)d(an)j
(error-handling)d(routine)h FD(BLAS)p 2596 3117 29 4
v 34 w(ERROR)p FK(,)g(as)i(de\014ned)e(in)h(section)h(1.8.)0
3229 y(By)g(default,)e(this)h(routine)f(will)e(prin)m(t)i(an)h(error)g
(message)i(and)d(stop)i(execution.)43 b(The)31 b(user)f(ma)m(y)i(mo)s
(dify)e(the)0 3342 y(action)h(p)s(erformed)e(b)m(y)h(the)g
(error-handling)e(routine,)i(and)g(this)f(mo)s(di\014cation)g(m)m(ust)h
(b)s(e)g(do)s(cumen)m(ted.)141 3455 y(The)d(follo)m(wing)f(v)-5
b(alues)27 b(of)g(argumen)m(ts)h(are)g(in)m(v)-5 b(alid)25
b(and)h(will)f(b)s(e)i(\015agged)h(b)m(y)f(the)h(error-handling)d
(routine:)136 3643 y FJ(\017)46 b FK(An)m(y)21 b(v)-5
b(alue)20 b(of)h(the)f(op)s(erator)h(argumen)m(ts)g(whose)f(meaning)g
(is)g(not)g(sp)s(eci\014ed)f(in)g(the)i(language-dep)s(enden)m(t)227
3756 y(section)31 b(is)e(in)m(v)-5 b(alid;)136 3943 y
FJ(\017)46 b Fv(incw)p FK(=0)31 b(or)f Fv(incx)p FK(=0)h(or)f
Fv(incy)p FK(=0)h(or)f Fv(incz)p FK(=0;)136 4131 y FJ(\017)46
b Fv(lda)p FK(,)30 b Fv(ldb)p FK(,)g Fv(ldc)p FK(,)h(or)f
Fv(ldt)g Fy(<)g FK(1;)136 4319 y FJ(\017)46 b Fv(lda)30
b Fy(<)g Fv(m)g FK(if)g(the)g(matrix)g(is)g(an)g Fy(m)20
b FJ(\002)g Fy(n)30 b FK(general)g(matrix)g(and)f Fv(trans)h
FK(=)g(blas)p 2872 4319 28 4 v 32 w(no)p 3000 4319 V
33 w(trans;)136 4506 y FJ(\017)46 b Fv(lda)30 b Fy(<)g
Fv(n)g FK(if)g(the)g(matrix)g(is)f(an)i Fy(m)20 b FJ(\002)f
Fy(n)30 b FK(general)h(matrix)e(and)h Fv(trans)g FK(=)g(blas)p
2847 4506 V 32 w(trans;)136 4694 y FJ(\017)46 b Fv(lda)30
b Fy(<)g Fv(n)g FK(if)g(the)g(matrix)g(is)f(an)i Fy(n)19
b FJ(\002)h Fy(n)30 b FK(square,)g(symmetric,)g(or)h(triangular)d
(matrix;)136 4882 y FJ(\017)46 b Fv(lda)30 b Fy(<)g Fv(kl)g
FK(+)g Fv(ku)h FK(+)f(1,)h(if)f(the)g(matrix)g(is)f(an)h
Fy(m)20 b FJ(\002)g Fy(n)30 b FK(general)h(band)e(matrix;)136
5069 y FJ(\017)46 b Fv(lda)34 b Fy(<)f Fv(k)p FK(+1,)j(if)d(the)h
(matrix)g(is)f(an)h Fy(n)22 b FJ(\002)g Fy(n)34 b FK(symmetric)f(or)h
(triangular)f(band)g(matrix)g(with)g Fv(k)h FK(sup)s(er-)f(or)227
5182 y(sub)s(diagonals;)0 5370 y(Routine-sp)s(eci\014c)c(error)h
(conditions)f(are)h(listed)f(in)g(the)i(resp)s(ectiv)m(e)f(language)h
(bindings.)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 32 42
32 41 bop 0 -165 a FK(32)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FE(2.6)116 b(Interface)38
b(Issues)h(fo)m(r)f(C)0 294 y FK(The)23 b(in)m(terface)h(is)f
(expressed)g(in)f(terms)i(of)f(ANSI/ISO)g(C.)h(Most)g(platforms)f(pro)m
(vide)f(ANSI/ISO)h(C)g(compilers,)0 407 y(and)30 b(if)f(this)g(is)h
(not)g(the)h(case,)h(free)e(ANSI/ISO)g(C)g(compilers)e(are)j(a)m(v)-5
b(ailable)30 b(\(eg.,)i FD(gcc)p FK(\).)141 520 y(Section)39
b(2.6.2)j(discusses)c(the)h(indexing)e(of)j(v)m(ector)h(and)e(matrix)g
(op)s(erands.)67 b(Section)39 b(A.6)h(de\014nes)f(the)0
633 y(op)s(erator)24 b(argumen)m(ts,)h(section)f(2.6.3)h(discusses)d
(the)h(handling)e(of)j(complex)f(data)h(t)m(yp)s(es,)h(section)f(2.6.4)
h(de\014nes)0 746 y(return)20 b(v)-5 b(alues)21 b(of)g(complex)g
(functions,)h(and)f(section)g(2.6.5)i(pro)m(vides)e(the)g(rule)f(for)h
(argumen)m(t)h(aliasing.)36 b(Section)0 859 y(2.6.6)26
b(de\014nes)c(arra)m(y)j(argumen)m(ts,)g(and)f(section)f(2.6.7)j(lists)
c(the)i(matrix)f(storage)j(sc)m(hemes)e(that)g(are)h(supp)s(orted.)0
972 y(Section)i(2.6.8)j(details)c(the)i(format)g(of)g(the)g(language)g
(binding,)d(and)i(section)h(2.6.9)h(discusses)d(error)h(handling.)0
1215 y Fx(2.6.1)97 b(C)33 b(Include)g(File)0 1387 y FK(The)i(C)h(in)m
(terface)g(to)h(the)f(BLAS)f(has)h(a)g(standard)f(include)f(\014le,)i
(called)f FD(blas)p 2814 1387 29 4 v 34 w(dense.h)p FK(,)g(whic)m(h)g
(minimally)0 1500 y(con)m(tains)g(the)h(v)-5 b(alues)34
b(of)i(the)f(en)m(umerated)h(t)m(yp)s(es)f(and)g(ANSI/ISO)f(C)h(protot)
m(yp)s(es)h(for)f(all)f(BLAS)h(routines.)0 1613 y(Refer)30
b(to)i(App)s(endix)27 b(A.6)k(for)g(details)e(of)h(the)h(C)f(include)e
(\014les)h(p)s(ertaining)g(to)i(Chapters)e(2)i({)g(4.)227
1825 y Fz(A)-5 b(dvic)g(e)41 b(to)g(implementors.)134
b FK(Note)40 b(that)g(the)f(v)m(endor)g(is)f(not)h(constrained)f(to)i
(using)d(precisely)h(this)227 1938 y(include)h(\014le;)46
b(only)41 b(the)g(en)m(umerated)h(t)m(yp)s(e)f(de\014nitions)e(are)j
(fully)d(sp)s(eci\014ed.)71 b(The)41 b(implemen)m(tor)f(is)227
2051 y(free)32 b(to)g(mak)m(e)g(an)m(y)g(other)g(c)m(hanges)g(whic)m(h)
e(are)i(not)g(apparen)m(t)g(to)g(the)f(user.)43 b(F)-8
b(or)33 b(instance,)e(all)g(matrix)227 2164 y(dimensions)c(migh)m(t)j
(b)s(e)f(accepted)j(as)e FD(size)p 1758 2164 V 33 w(t)g
FK(instead)f(of)h FD(int)p FK(,)f(or)h(the)g(implemen)m(tor)f(migh)m(t)
g(c)m(ho)s(ose)i(to)227 2277 y(mak)m(e)h(some)e(routines)g(in-line.)38
b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p
FK(\))0 2520 y Fx(2.6.2)97 b(Indexing)0 2692 y FK(The)25
b(C)h(in)m(terface)g(returns)e(indices)g(in)h(the)h(range)g(0)f
FJ(\024)g Fy(I)33 b FJ(\024)25 b Fy(N)c FJ(\000)11 b
FK(1)25 b(\(where)h Fy(N)36 b FK(is)24 b(the)i(n)m(um)m(b)s(er)f(of)h
(en)m(tries)f(in)g(the)0 2805 y(dimension)31 b(in)h(question,)i(and)f
Fy(I)41 b FK(is)32 b(the)i(index\).)50 b(This)31 b(allo)m(ws)i
(functions)g(returning)e(indices)h(to)i(b)s(e)f(directly)0
2918 y(used)d(to)h(index)e(standard)g(arra)m(ys.)141
3031 y(Lik)m(ewise,)d(for)e(routines)g(returning)g(an)g(index)g(within)
f(a)i(v)m(ector)i(or)e(matrix)f(op)s(erand,)h(this)f(reference)i(p)s
(oin)m(t)0 3143 y(is)j(indexed)g(starting)h(at)i(zero.)0
3387 y Fx(2.6.3)97 b(Handling)32 b(of)h(complex)f(data)g(t)m(yp)s(es)0
3559 y FK(All)k(complex)i(argumen)m(ts)g(are)h(accepted)g(as)f
FD(void)47 b(*)p FK(.)62 b(A)38 b(complex)g(elemen)m(t)g(consists)g(of)
g(t)m(w)m(o)h(consecutiv)m(e)0 3671 y(memory)i(lo)s(cations)g(of)g(the)
g(underlying)d(data)k(t)m(yp)s(e)f(\(i.e.,)k FD(float)39
b FK(or)i FD(double)p FK(\),)i(where)e(the)g(\014rst)f(lo)s(cation)0
3784 y(con)m(tains)31 b(the)f(real)g(comp)s(onen)m(t,)h(and)f(the)g
(second)h(con)m(tains)f(the)h(imaginary)e(comp)s(onen)m(t.)141
3897 y(An)c(ISO/IEC)g(committee)h(\(W)m(G14/X3J11\))31
b([38)q(])26 b(is)e(presen)m(tly)h(w)m(orking)g(on)h(an)f(extension)g
(to)i(ANSI/ISO)0 4010 y(C)j(whic)m(h)g(de\014nes)f(complex)i(data)g(t)m
(yp)s(es.)42 b(This)28 b(extension)j(is)e(one)i(of)g(sev)m(eral)g
(additions)e(to)i(the)g(C)f(language,)0 4123 y(commonly)36
b(referred)f(to)i(as)f(the)h(C9X)f(standard.)57 b(The)36
b(de\014nition)d(of)k(a)f(complex)g(elemen)m(t)h(is)e(the)h(same)h(as)0
4236 y(giv)m(en)e(ab)s(o)m(v)m(e,)k(and)34 b(so)i(the)g(handling)d(of)i
(complex)g(t)m(yp)s(es)h(b)m(y)f(this)g(in)m(terface)h(will)c(not)k
(need)f(to)h(b)s(e)f(c)m(hanged)0 4349 y(when)29 b(ANSI/ISO)h(C)g
(standard)f(is)h(extended.)0 4592 y Fx(2.6.4)97 b(Return)33
b(values)g(of)f(complex)h(functions)0 4764 y FK(BLAS)d(routines)f(whic)
m(h)g(return)h(complex)g(v)-5 b(alues)29 b(in)g(F)-8
b(ortran)31 b(77)g(are)g(instead)f(recast)h(as)g(subroutines)d(in)h
(the)0 4877 y(C)35 b(in)m(terface,)j(with)c(the)i(return)f(v)-5
b(alue)35 b(b)s(eing)f(an)h(output)h(parameter)g(added)f(to)h(the)g
(end)f(of)h(the)f(argumen)m(t)0 4990 y(list.)k(This)29
b(allo)m(ws)h(the)g(output)g(parameter)h(to)g(b)s(e)f(accepted)i(as)e
(a)h(v)m(oid)f(p)s(oin)m(ter,)g(as)g(discussed)f(ab)s(o)m(v)m(e.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 33 43
33 42 bop 0 -165 a FA(2.6.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)f(F)m(OR)i(C)2393 b FK(33)0 91 y Fx(2.6.5)97
b(Aliasing)33 b(of)f(a)m(rguments)0 263 y FK(Unless)d(sp)s(eci\014ed)f
(otherwise,)i(only)f(input-only)f(argumen)m(ts)i(\(sp)s(eci\014ed)f
(with)g(the)h FD(const)e FK(quali\014er\),)h(ma)m(y)i(b)s(e)0
376 y(legally)e(aliased)h(on)g(a)h(call)f(to)h(the)f(C)g(in)m(terface)h
(to)g(the)g(BLAS.)0 619 y Fx(2.6.6)97 b(Arra)m(y)33 b(a)m(rguments)0
791 y FK(Arra)m(ys)24 b(are)g(constrained)g(to)g(b)s(eing)f(con)m
(tiguous)h(in)f(memory)-8 b(.)38 b(They)24 b(are)g(accepted)i(as)e(p)s
(oin)m(ters,)g(not)g(as)h(arra)m(ys)0 904 y(of)31 b(p)s(oin)m(ters.)39
b(Note)32 b(that)f(this)e(means)h(that)h(t)m(w)m(o-dimensional)f(arra)m
(y)g(argumen)m(ts)h(in)e(C)h(are)h(not)g(p)s(ermitted.)141
1017 y(All)36 b(BLAS)h(routines)e(whic)m(h)h(tak)m(e)j(one)e(or)g(more)
g(t)m(w)m(o)i(dimensional)34 b(arra)m(ys)j(as)g(argumen)m(ts)h(receiv)m
(e)g(one)0 1130 y(extra)32 b(parameter)g(as)f(their)g(\014rst)f
(argumen)m(t.)44 b(This)29 b(argumen)m(t)j(is)e(an)h(en)m(umerated)h(t)
m(yp)s(e)f(\(see)i(App)s(endix)28 b(A\).)0 1243 y(If)g(this)f
(parameter)i(is)f(set)h(to)g FD(blas)p 1234 1243 29 4
v 33 w(rowmajor)p FK(,)e(it)h(is)f(assumed)h(that)h(elemen)m(ts)g
(within)c(a)k(ro)m(w)g(of)f(the)h(arra)m(y\(s\))0 1355
y(are)h(con)m(tiguous)f(in)f(memory)-8 b(,)30 b(while)d(elemen)m(ts)i
(within)e(arra)m(y)j(columns)e(are)h(separated)h(b)m(y)f(a)h(constan)m
(t)g(stride)0 1468 y(giv)m(en)h(in)f(the)i FD(stride)d
FK(parameter)j(\(this)f(parameter)h(corresp)s(onds)d(to)j(the)g
(leading)e(dimension)f([e.g.)45 b FD(LDA)p FK(])30 b(in)0
1581 y(the)h(F)-8 b(ortran)31 b(77)g(in)m(terface\).)141
1694 y(If)44 b(the)h(order)f(is)g(giv)m(en)h(as)f FD(blas)p
1350 1694 V 34 w(colmajor)p FK(,)i(elemen)m(ts)f(within)d(arra)m(y)j
(columns)e(are)i(assumed)f(to)i(b)s(e)0 1807 y(con)m(tiguous,)31
b(with)e(elemen)m(ts)i(within)c(arra)m(y)k(ro)m(ws)g(separated)f(b)m(y)
h FD(stride)d FK(memory)j(elemen)m(ts.)141 1920 y(Note)h(that)f(there)g
(is)f(only)g(one)g FD(blas)p 1447 1920 V 34 w(order)p
1721 1920 V 33 w(type)f FK(parameter)i(to)h(a)f(giv)m(en)f(routine:)41
b(all)29 b(arra)m(y)i(op)s(erands)0 2033 y(are)g(required)d(to)j(use)g
(the)f(same)h(ordering.)0 2276 y Fx(2.6.7)97 b(Matrix)32
b(Sto)m(rage)h(Schemes)0 2448 y FK(The)38 b(matrix)f(storage)j(sc)m
(hemes)f(for)e(the)i(C)f(in)m(terfaces)g(are)h(as)f(describ)s(ed)e(in)h
(section)h(2.2.)65 b(Column-ma)5 b(jor)0 2561 y(storage)32
b(and)e(ro)m(w-ma)5 b(jor)31 b(storage)g(in)f(a)g(con)m(tiguous)h(arra)
m(y)g(are)f(p)s(ermitted.)0 2804 y Fx(2.6.8)97 b(F)m(o)m(rmat)34
b(of)e(the)h(C)g(bindings)0 2976 y FK(Eac)m(h)e(routine)e(is)h
(summarized)f(in)g(the)h(form)g(of)h(an)f(ANSI/ISO)f(C)h(protot)m(yp)s
(e.)42 b(F)-8 b(or)31 b(example:)0 3188 y FD(void)47
b(BLAS_xaxpby\()d(int)j(n,)g(SCALAR_IN)e(alpha,)i(const)f(ARRAY)g(x,)h
(int)g(incx,)859 3301 y(SCALAR_IN)e(beta,)i(ARRAY)f(y,)h(int)g(incy)g
(\);)141 3514 y FK(Floating)29 b(p)s(oin)m(t)f(v)-5 b(ariables)27
b(are)i(denoted)g(b)m(y)g(the)g(k)m(eyw)m(ords)g FD(SCALAR)e
FK(and)h FD(ARRAY)f FK(to)j(denote)f(scalar)g(argu-)0
3627 y(men)m(ts)i(and)e(arra)m(y)i(argumen)m(ts)g(resp)s(ectiv)m(ely)-8
b(.)p 615 3756 2671 4 v 613 3869 4 113 v 665 3835 a FD(SCALAR)p
959 3835 29 4 v 32 w(IN)p 1379 3869 4 113 v 350 w(ARRAY)29
b FK(or)h FD(SCALAR)p 2105 3835 29 4 v 33 w(INOUT)p 2419
3869 4 113 v 98 w FK(op)s(eration)p 3284 3869 V 615 3872
2671 4 v 613 3985 4 113 v 665 3951 a FD(float)e FK(or)j
FD(double)p 1379 3985 V 98 w(float)46 b(*)30 b FK(or)h
FD(double)46 b(*)p 2419 3985 V 181 w FK(real)30 b(arithmetic)p
3284 3985 V 613 4098 V 665 4064 a FD(const)46 b(void)h(*)p
1379 4098 V 193 w(void)f(*)p 2419 4098 V 753 w FK(complex)30
b(arithmetic)p 3284 4098 V 615 4101 2671 4 v 141 4272
a(This)j(data)i(t)m(yp)s(e)g(will)d(agree)j(with)e(the)i
FG(x)g FK(letter)f(in)g(the)g(naming)g(con)m(v)m(en)m(tion)h(of)g(the)g
(routine.)52 b(In)34 b(some)0 4385 y(routines,)43 b(ho)m(w)m(ev)m(er,)i
(not)c(all)f(\015oating)g(p)s(oin)m(t)g(v)-5 b(ariables)40
b(will)e(b)s(e)i(of)h(the)g(same)h(data)f(t)m(yp)s(e.)73
b(If)40 b(this)g(is)g(the)0 4498 y(case,)32 b(then)e(a)i(v)-5
b(ariable)29 b(ma)m(y)i(b)s(e)f(denoted)h(b)m(y)g(the)g(k)m(eyw)m(ord)g
FD(RSCALAR)p 2493 4498 29 4 v 32 w(INOUT)p FK(,)f FD(CSCALAR)p
3156 4498 V 32 w(INOUT)p FK(,)g FD(RARRAY)p FK(,)f(or)0
4611 y FD(CARRAY)p FK(,)g(to)i(restrict)f(the)h(data)g(t)m(yp)s(e)f(to)
h(real)f(or)h(complex)f(arithmetic,)g(resp)s(ectiv)m(ely)-8
b(.)141 4724 y(The)30 b(language)h(binding)c(will)h(b)s(e)i(follo)m(w)m
(ed)g(b)m(y)g(an)m(y)h(restrictions)e(dictated)h(for)g(this)g(in)m
(terface.)0 4967 y Fx(2.6.9)97 b(Erro)m(r)33 b(Handling)0
5139 y FK(The)j(C)g(in)m(terface)h(m)m(ust)f(supply)e(an)j
(error-handling)c(routine)j FD(BLAS)p 2451 5139 V 33
w(error)p FK(.)58 b(This)34 b(error-handling)g(routine)0
5252 y(will)23 b(accept)28 b(as)e(input)e(a)j(c)m(haracter)g(string,)f
(sp)s(ecifying)e(the)i(name)h(of)f(the)g(routine)f(where)g(the)i(error)
e(o)s(ccurred.)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 34 44
34 43 bop 0 -165 a FK(34)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(By)g(default,)e(this)h
(routine)f(will)e(prin)m(t)i(an)h(error)g(message)i(and)d(stop)i
(execution.)43 b(The)31 b(user)f(ma)m(y)i(mo)s(dify)e(the)0
204 y(action)h(p)s(erformed)e(b)m(y)h(the)g(error-handling)e(routine,)i
(and)g(this)f(mo)s(di\014cation)g(m)m(ust)h(b)s(e)g(do)s(cumen)m(ted.)
141 317 y(The)d(follo)m(wing)f(v)-5 b(alues)27 b(of)g(argumen)m(ts)h
(are)g(in)m(v)-5 b(alid)25 b(and)h(will)f(b)s(e)i(\015agged)h(b)m(y)f
(the)h(error-handling)d(routine:)136 505 y FJ(\017)46
b FK(An)m(y)21 b(v)-5 b(alue)20 b(of)h(the)f(op)s(erator)h(argumen)m
(ts)g(whose)f(meaning)g(is)g(not)g(sp)s(eci\014ed)f(in)g(the)i
(language-dep)s(enden)m(t)227 618 y(section)31 b(is)e(in)m(v)-5
b(alid;)136 805 y FJ(\017)46 b Fv(incw)p FK(=0)31 b(or)f
Fv(incx)p FK(=0)h(or)f Fv(incy)p FK(=0)h(or)f Fv(incz)p
FK(=0;)136 993 y FJ(\017)46 b Fv(lda)p FK(,)30 b Fv(ldb)p
FK(,)g Fv(ldc)p FK(,)h(or)f Fv(ldt)g Fy(<)g FK(1;)136
1181 y FJ(\017)46 b Fv(lda)30 b Fy(<)g Fv(m)g FK(if)g(the)g(matrix)g
(is)g(an)g Fy(m)20 b FJ(\002)g Fy(n)30 b FK(general)g(matrix;)136
1368 y FJ(\017)46 b Fv(lda)30 b Fy(<)g Fv(n)g FK(if)g(the)g(matrix)g
(is)f(an)i Fy(n)19 b FJ(\002)h Fy(n)30 b FK(square,)g(symmetric,)g(or)h
(triangular)d(matrix;)136 1556 y FJ(\017)46 b Fv(lda)30
b Fy(<)g Fv(kl)g FK(+)g Fv(ku)h FK(+)f(1,)h(if)f(the)g(matrix)g(is)f
(an)h Fy(m)20 b FJ(\002)g Fy(n)30 b FK(general)h(band)e(matrix;)136
1743 y FJ(\017)46 b Fv(lda)34 b Fy(<)f Fv(k)p FK(+1,)j(if)d(the)h
(matrix)g(is)f(an)h Fy(n)22 b FJ(\002)g Fy(n)34 b FK(symmetric)f(or)h
(triangular)f(band)g(matrix)g(with)g Fv(k)h FK(sup)s(er-)f(or)227
1856 y(sub)s(diagonals;)0 2044 y(Routine-sp)s(eci\014c)c(error)h
(conditions)f(are)h(listed)f(in)g(the)i(resp)s(ectiv)m(e)f(language)h
(bindings.)0 2330 y FE(2.7)116 b(Numerical)36 b(Accuracy)j(and)g
(Environmental)d(Enquiry)0 2533 y FK(With)i(a)h(few)f(exceptions)h
(that)g(are)g(explicitly)d(describ)s(ed)h(b)s(elo)m(w,)j(no)f
(particular)e(computational)h(order)g(is)0 2646 y(mandated)24
b(b)m(y)g(the)g(function)f(sp)s(eci\014cations.)37 b(In)23
b(other)i(w)m(ords,)g(an)m(y)f(algorithm)f(that)i(pro)s(duces)d
(results)h(\\close)0 2759 y(enough")29 b(to)g(the)f(usual)f(algorithms)
g(presen)m(ted)i(in)e(a)h(standard)g(b)s(o)s(ok)g(on)g(matrix)g
(computations)g([33)q(,)g(19)q(,)h(35)q(])0 2872 y(is)43
b(acceptable.)84 b(F)-8 b(or)44 b(example,)k(Strassen's)c(algorithm)f
(ma)m(y)i(b)s(e)e(used)h(for)g(matrix)f(m)m(ultiplication,)i(ev)m(en)0
2985 y(though)30 b(it)g(can)g(b)s(e)g(signi\014can)m(tly)e(less)h
(accurate)j(than)e(con)m(v)m(en)m(tional)h(matrix)f(m)m(ultiplication)d
(for)j(some)g(pairs)0 3098 y(of)d(matrices)h([35)q(].)40
b(Also,)27 b(matrix)g(m)m(ultiplication)d(ma)m(y)k(b)s(e)f(implemen)m
(ted)e(either)i(as)g Fy(C)32 b FK(=)25 b(\()p Fy(\013)14
b FJ(\001)g Fy(A)p FK(\))g FJ(\001)g Fy(B)20 b FK(+)14
b(\()p Fy(\014)19 b FJ(\001)14 b Fy(C)7 b FK(\))0 3211
y(or)30 b Fy(C)i FK(=)25 b Fy(\013)c FJ(\001)f FK(\()p
Fy(A)h FJ(\001)f Fy(B)5 b FK(\))20 b(+)g(\()p Fy(\014)26
b FJ(\001)21 b Fy(C)7 b FK(\))30 b(or)g Fy(C)i FK(=)25
b Fy(A)20 b FJ(\001)h FK(\()p Fy(\013)g FJ(\001)f Fy(B)5
b FK(\))20 b(+)g(\()p Fy(\014)26 b FJ(\001)20 b Fy(C)7
b FK(\),)31 b(whic)m(hev)m(er)f(is)f(con)m(v)m(enien)m(t.)141
3324 y(T)-8 b(o)34 b(use)e(the)i(error)e(b)s(ounds)f(in)h([33)q(,)h(19)
q(,)g(35)q(])g(and)g(elsewhere,)g(certain)g(mac)m(hine)g(parameters)g
(are)g(needed)0 3437 y(to)e(describ)s(e)e(the)h(accuracy)i(of)e(the)h
(arithmetic.)141 3550 y(These)44 b(are)g(describ)s(ed)e(in)g(detail)h
(in)g(section)h(1.6,)k(and)c(returned)e(b)m(y)i(function)e
FD(xFPINFO)p FK(.)h(Its)g(calling)0 3662 y(sequence)31
b(in)e(C)h(or)g(F)-8 b(ortran)31 b(77)g(is)227 3850 y
FD(result)46 b(=)i(xFPINFO\()d(CMACH)i(\))0 4038 y FK(where)30
b FD(x=S)f FK(for)i(single)e(precision)f(and)i FD(x=D)f
FK(for)h(double)f(precision.)39 b(In)30 b(F)-8 b(ortran)31
b(95,)g(its)f(calling)f(sequence)i(is)227 4225 y FD(result)46
b(=)i(FPINFO\()e(CMACH,)g(float)g(\))0 4413 y FK(where)d(the)g(\\kind")
g(of)g(\015oat)h(\(single)e(or)i(double\))e(is)g(used)h(to)h(determine)
e(the)i(kind)d(of)j(the)f(result.)78 b(The)0 4526 y(argumen)m(t)41
b(CMA)m(CH)g(can)g(tak)m(e)h(on)e(the)h(follo)m(wing)e(named)h(constan)
m(t)i(v)-5 b(alues)40 b(\(the)h(exact)h(represen)m(tations)0
4639 y(are)37 b(language)g(dep)s(enden)m(t,)g(with)e(CMA)m(CH)i(a)m(v)
-5 b(ailable)36 b(as)h(a)g(deriv)m(ed)e(t)m(yp)s(e)i(in)e(F)-8
b(ortran)37 b(95,)i(named)e(in)m(teger)0 4752 y(constan)m(ts)31
b(in)e(F)-8 b(ortran)31 b(77,)g(and)e(an)h(en)m(umerated)g(t)m(yp)s(e)g
(in)f(C\).)h(The)g(named)f(constan)m(t)j(v)-5 b(alues)29
b(are)h(de\014ned)f(in)0 4865 y(sections)j(A.4,)h(A.5,)h(and)d(A.6.)46
b(CMA)m(CH)32 b(has)g(the)g(analogous)g(meaning)f(\(see)i(fo)s(otnote)g
(4)g(in)d(section)i(1.6)h(for)0 4978 y(a)e(discussion\))d(as)i(the)h
(lik)m(e-named)f(c)m(haracter)i(argumen)m(t)e(of)h(the)g(LAP)-8
b(A)m(CK)30 b(auxiliary)e(routine)i(xLAMCH:)4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 35 45
35 44 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(35)p 714 3 2472 4 v 712 116 4 113 v 764 82 a(V)-8
b(alue)31 b(of)f(CMA)m(CH)p 1517 116 V 100 w(Name)h(of)g(\015oating)f
(p)s(oin)m(t)g(parameter)p 3184 116 V 712 229 V 1517
229 V 1568 195 a(\(see)i(T)-8 b(able)30 b(1.9)h(in)e(section)i(1.6)g
(for)f(details\))p 3184 229 V 714 232 2472 4 v 712 345
4 113 v 764 311 a(blas)p 927 311 28 4 v 32 w(base)p 1517
345 4 113 v 442 w(BASE)p 3184 345 V 712 458 V 764 424
a(blas)p 927 424 28 4 v 32 w(t)p 1517 458 4 113 v 579
w(T)p 3184 458 V 712 571 V 764 537 a(blas)p 927 537 28
4 v 32 w(rnd)p 1517 571 4 113 v 476 w(RND)p 3184 571
V 712 684 V 764 650 a(blas)p 927 650 28 4 v 32 w(ieee)p
1517 684 4 113 v 468 w(IEEE)p 3184 684 V 712 797 V 764
763 a(blas)p 927 763 28 4 v 32 w(emin)p 1517 797 4 113
v 421 w(EMIN)p 3184 797 V 712 910 V 764 876 a(blas)p
927 876 28 4 v 32 w(emax)p 1517 910 4 113 v 405 w(EMAX)p
3184 910 V 712 1023 V 764 989 a(blas)p 927 989 28 4 v
32 w(eps)p 1517 1023 4 113 v 487 w(EPS)p 3184 1023 V
712 1136 V 764 1102 a(blas)p 927 1102 28 4 v 32 w(prec)p
1517 1136 4 113 v 447 w(PREC)p 3184 1136 V 712 1249 V
764 1215 a(blas)p 927 1215 28 4 v 32 w(under\015o)m(w)p
1517 1249 4 113 v 226 w(UN)p 3184 1249 V 712 1362 V 764
1328 a(blas)p 927 1328 28 4 v 32 w(o)m(v)m(er\015o)m(w)p
1517 1362 4 113 v 292 w(O)m(V)p 3184 1362 V 712 1474
V 764 1441 a(blas)p 927 1441 28 4 v 32 w(sfmin)p 1517
1474 4 113 v 397 w(SFMIN)p 3184 1474 V 714 1478 2472
4 v 141 1649 a(Here)25 b(are)f(the)h(exceptional)f(routines)f(where)h
(w)m(e)g(ask)h(for)f(particularly)d(careful)j(implemen)m(tations)e(to)j
(a)m(v)m(oid)0 1762 y(unnecessary)35 b(o)m(v)m(er/under\015o)m(ws,)j
(that)f(could)e(mak)m(e)i(the)f(output)g(unnecessarily)d(inaccurate)k
(or)f(unreliable.)0 1875 y(The)f(details)g(of)i(eac)m(h)g(routine)e
(are)h(describ)s(ed)e(with)h(the)h(language)g(dep)s(enden)m(t)f
(calling)g(sequences.)58 b(Mo)s(del)0 1988 y(implemen)m(tations)42
b(that)h(a)m(v)m(oid)h(unnecessary)f(o)m(v)m(er/under\015o)m(ws)g(are)h
(based)e(on)i(corresp)s(onding)d(LAP)-8 b(A)m(CK)0 2100
y(auxiliary)28 b(routines,)i(NA)m(G)h(routines,)f(or)g(cited)g(rep)s
(orts.)111 2313 y(1.)46 b(Reduction)30 b(Op)s(erations)f(\(Section)h
(2.8.2\))336 2501 y FJ(\017)46 b FK(NORM)31 b(\(V)-8
b(ector)32 b(norms\))336 2647 y FJ(\017)46 b FK(SUMSQ)30
b(\(Sum)f(of)i(squares\))111 2834 y(2.)46 b(Generate)32
b(T)-8 b(ransformations)29 b(\(Section)i(2.8.3\))336
3022 y FJ(\017)46 b FK(GEN)p 633 3022 28 4 v 33 w(GR)m(OT)31
b(\(Generate)h(Giv)m(ens)e(rotation\))336 3168 y FJ(\017)46
b FK(GEN)p 633 3168 V 33 w(JR)m(OT)30 b(\(Generate)i(Jacobi)e
(rotation\))336 3314 y FJ(\017)46 b FK(GEN)p 633 3314
V 33 w(HOUSE)30 b(\(Generate)i(Householder)e(transform\))111
3502 y(3.)46 b(V)-8 b(ector)32 b(Op)s(erations)d(\(Section)i(2.8.4\))
336 3690 y FJ(\017)46 b FK(RSCALE)30 b(\(Recipro)s(cal)f(scale\))111
3877 y(4.)46 b(Matrix)31 b(Op)s(erations)d(\(Section)j(2.8.7\))336
4065 y FJ(\017)46 b(f)p FK(GE,GB,SY,HE,SB,SP)-8 b(,HP)g(,TR,TB,TP)p
FJ(g)p 1997 4065 V 36 w FK(NORM)31 b(\(Matrix)f(norms\))0
4351 y FE(2.8)116 b(Language)38 b(Bindings)0 4554 y FK(Eac)m(h)29
b(sp)s(eci\014cation)f(of)h(a)g(routine)f(will)e(corresp)s(ond)h(to)j
(an)e(op)s(eration)g(outlined)f(in)h(the)h(functionalit)m(y)e(tables.)0
4667 y(Op)s(erations)33 b(are)h(organized)g(analogous)g(to)h(the)f
(order)g(in)e(whic)m(h)h(they)h(are)h(presen)m(ted)f(in)e(the)i
(functionalit)m(y)0 4780 y(tables.)40 b(The)30 b(sp)s(eci\014cation)g
(will)d(ha)m(v)m(e)32 b(the)e(form:)0 5006 y(NAME)h(\()p
Fz(multi-wor)-5 b(d)35 b(description)f(of)f(op)-5 b(er)g(ation)p
FK(\))33 b Fy(<)25 b(mathematical)33 b(r)s(epr)s(esentation)24
b(>)141 5232 y Fz(Optional)30 b(brief)e(textual)i(description)g(of)f
(the)g(functionality)h(including)e(any)i(r)-5 b(estrictions)30
b(that)g(apply)g(to)f(al)5 b(l)0 5345 y(language)33 b(bindings.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 36 46
36 45 bop 0 -165 a FK(36)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)136 91 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding)136 279 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding)136 467 y FJ(\017)46
b FK(C)30 b(binding)0 710 y Fx(2.8.1)97 b(Overview)136
882 y FJ(\017)46 b FK(Reduction)30 b(Op)s(erations)f(\(section)i
(2.8.2\))330 1069 y FG({)45 b FK(DOT)30 b(\(Dot)i(pro)s(duct\))330
1215 y FG({)45 b FK(NORM)31 b(\(V)-8 b(ector)32 b(norms\))330
1362 y FG({)45 b FK(SUM)31 b(\(Sum\))330 1508 y FG({)45
b FK(MIN)p 616 1508 28 4 v 33 w(V)-10 b(AL)31 b(\(Min)e(v)-5
b(alue)30 b(&)g(lo)s(cation\))330 1654 y FG({)45 b FK(AMIN)p
684 1654 V 34 w(V)-10 b(AL)30 b(\(Min)g(absolute)g(v)-5
b(alue)30 b(&)g(lo)s(cation\))330 1800 y FG({)45 b FK(MAX)p
651 1800 V 34 w(V)-10 b(AL)30 b(\(Max)i(v)-5 b(alue)29
b(&)h(lo)s(cation\))330 1946 y FG({)45 b FK(AMAX)p 719
1946 V 34 w(V)-10 b(AL)30 b(\(Max)i(absolute)e(v)-5 b(alue)30
b(&)g(lo)s(cation\))330 2092 y FG({)45 b FK(SUMSQ)30
b(\(Sum)f(of)i(squares\))136 2280 y FJ(\017)46 b FK(Generate)32
b(T)-8 b(ransformations)29 b(\(section)i(2.8.3\))330
2467 y FG({)45 b FK(GEN)p 633 2467 V 33 w(GR)m(OT)31
b(\(Generate)h(Giv)m(ens)e(rotation\))330 2613 y FG({)45
b FK(GEN)p 633 2613 V 33 w(JR)m(OT)30 b(\(Generate)i(Jacobi)e
(rotation\))330 2760 y FG({)45 b FK(GEN)p 633 2760 V
33 w(HOUSE)30 b(\(Generate)i(Householder)e(transform\))136
2947 y FJ(\017)46 b FK(V)-8 b(ector)32 b(Op)s(erations)d(\(section)i
(2.8.4\))330 3135 y FG({)45 b FK(RSCALE)30 b(\(Recipro)s(cal)f(Scale\))
330 3281 y FG({)45 b FK(AXPBY)31 b(\(Scaled)g(v)m(ector)h(accum)m
(ulation\))330 3427 y FG({)45 b FK(W)-10 b(AXPBY)32 b(\(Scaled)e(v)m
(ector)i(addition\))330 3573 y FG({)45 b FK(AXPY)p 698
3573 V 33 w(DOT)31 b(\(Com)m(bined)e(AXPY)h(and)g(DOT\))330
3719 y FG({)45 b FK(APPL)-8 b(Y)p 741 3719 V 33 w(GR)m(OT)31
b(\(Apply)e(plane)g(rotation\))136 3907 y FJ(\017)46
b FK(Data)32 b(Mo)m(v)m(emen)m(t)h(with)c(V)-8 b(ectors)32
b(\(section)f(2.8.5\))330 4095 y FG({)45 b FK(COPY)30
b(\(V)-8 b(ector)32 b(cop)m(y\))330 4241 y FG({)45 b
FK(SW)-10 b(AP)30 b(\(Sw)m(ap\))330 4387 y FG({)45 b
FK(SOR)-8 b(T)30 b(\(Sort)g(v)m(ector\))330 4533 y FG({)45
b FK(SOR)-8 b(TV)30 b(\(Sort)h(v)m(ector)h(&)e(return)f(index)g(v)m
(ector\))330 4679 y FG({)45 b FK(PERMUTE)30 b(\(P)m(erm)m(ute)i(v)m
(ector\))136 4867 y FJ(\017)46 b FK(Matrix-V)-8 b(ector)33
b(Op)s(erations)c(\(section)i(2.8.6\))330 5054 y FG({)45
b FJ(f)p FK(GE,GB)p FJ(g)p FK(MV)33 b(\(Matrix)e(v)m(ector)h(pro)s
(duct\))330 5200 y FG({)45 b FJ(f)p FK(SY,SB,SP)p FJ(g)p
FK(MV)31 b(\(Symmetric)f(matrix)g(v)m(ector)i(pro)s(duct\))330
5347 y FG({)45 b FJ(f)p FK(HE,HB,HP)p FJ(g)p FK(MV)33
b(\(Hermitian)d(matrix)f(v)m(ector)j(pro)s(duct\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 37 47
37 46 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(37)330 91 y FG({)45 b FJ(f)p FK(TR,TB,TP)p FJ(g)p
FK(MV)32 b(\(T)-8 b(riangular)28 b(matrix)i(v)m(ector)i(pro)s(duct\))
330 236 y FG({)45 b FK(GE)p 565 236 28 4 v 33 w(SUM)p
800 236 V 33 w(MV)31 b(\(Summed)e(matrix)h(v)m(ector)i(m)m(ultiplies\))
330 380 y FG({)45 b FK(GEMVT)31 b(\(Com)m(bined)e(matrix)h(v)m(ector)i
(pro)s(duct\))330 525 y FG({)45 b FK(TRMVT)30 b(\(Com)m(bined)f
(triangular)g(matrix)h(v)m(ector)i(pro)s(duct\))330 670
y FG({)45 b FK(GEMVER)31 b(\(Com)m(bined)e(matrix)h(v)m(ector)i(pro)s
(duct)d(with)g(a)i(rank)f(2)h(up)s(date\))330 814 y FG({)45
b FJ(f)p FK(TR,TB,TP)p FJ(g)p FK(SV)31 b(\(T)-8 b(riangular)29
b(solv)m(e\))330 959 y FG({)45 b FK(GER)31 b(\(Rank)f(one)h(up)s
(date\))330 1103 y FG({)45 b FJ(f)p FK(SY,SP)p FJ(g)p
FK(R)31 b(\(Symmetric)e(rank)h(one)h(up)s(date\))330
1248 y FG({)45 b FJ(f)p FK(HE,HP)p FJ(g)p FK(R)32 b(\(Hermitian)d(rank)
h(one)h(up)s(date\))330 1392 y FG({)45 b FJ(f)p FK(SY,SP)p
FJ(g)p FK(R2)31 b(\(Symmetric)f(rank)g(t)m(w)m(o)h(up)s(date\))330
1537 y FG({)45 b FJ(f)p FK(HE,HP)p FJ(g)p FK(R2)32 b(\(Hermitian)e
(rank)f(t)m(w)m(o)j(up)s(date\))136 1723 y FJ(\017)46
b FK(Matrix)31 b(Op)s(erations)d(\(section)j(2.8.7\))330
1909 y FG({)45 b FJ(f)p FK(GE,GB,SY,HE,SB,HB,SP)-8 b(,HP)g(,TR,TB,TP)p
FJ(g)p 2154 1909 V 37 w FK(NORM)30 b(\(Matrix)h(norms\))330
2054 y FG({)45 b FJ(f)p FK(GE,GB)p FJ(g)p 815 2054 V
35 w FK(DIA)m(G)p 1088 2054 V 34 w(SCALE)29 b(\(Diagonal)i(scaling\))
330 2198 y FG({)45 b FJ(f)p FK(GE,GB)p FJ(g)p 815 2198
V 35 w FK(LRSCALE)29 b(\(Tw)m(o-sided)h(diagonal)g(scaling\))330
2343 y FG({)45 b FJ(f)p FK(SY,SB,SP)p FJ(g)p 919 2343
V 33 w FK(LRSCALE)29 b(\(Tw)m(o-sided)h(diagonal)g(scaling)f(of)i(a)g
(symmetric)e(matrix\))330 2487 y FG({)45 b FJ(f)p FK(HE,HB,HP)p
FJ(g)p 964 2487 V 35 w FK(LRSCALE)29 b(\(Tw)m(o-sided)h(diagonal)g
(scaling)f(of)i(a)f(Hermitian)f(matrix\))330 2632 y FG({)45
b FJ(f)p FK(GE,GB)p FJ(g)p 815 2632 V 35 w FK(DIA)m(G)p
1088 2632 V 34 w(SCALE)p 1426 2632 V 32 w(A)m(CC)30 b(\(Diagonal)h
(scaling)f(and)f(accum)m(ulation\))330 2776 y FG({)45
b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1695
2776 V 35 w FK(A)m(CC)30 b(\(Matrix)h(accum)m(ulation)f(and)g(scale\))
330 2921 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 2921 V 35 w FK(ADD)32 b(\(Matrix)e(add)g(and)g(scale\))136
3107 y FJ(\017)46 b FK(Matrix-Matrix)31 b(Op)s(erations)e(\(section)i
(2.8.8\))330 3293 y FG({)45 b FK(GEMM)31 b(\(General)g(Matrix)f(Matrix)
h(pro)s(duct\))330 3438 y FG({)45 b FK(SYMM)31 b(\(Symmetric)f(matrix)f
(matrix)h(pro)s(duct\))330 3582 y FG({)45 b FK(HEMM)31
b(\(Hermitian)f(matrix)f(matrix)h(pro)s(duct\))330 3727
y FG({)45 b FK(TRMM)31 b(\(T)-8 b(riangular)29 b(matrix)g(matrix)h(m)m
(ultiply\))330 3871 y FG({)45 b FK(TRSM)30 b(\(T)-8 b(riangular)29
b(solv)m(e\))330 4016 y FG({)45 b FK(SYRK)30 b(\(Symmetric)g(rank-k)g
(up)s(date\))330 4160 y FG({)45 b FK(HERK)30 b(\(Hermitian)g(rank-k)g
(up)s(date\))330 4305 y FG({)45 b FK(SY)p 551 4305 V
33 w(TRIDIA)m(G)p 988 4305 V 33 w(RK)30 b(\(Symmetric)g(rank-k)g(up)s
(date)f(with)g(tridiagonal)g(matrix\))330 4450 y FG({)45
b FK(HE)p 562 4450 V 33 w(TRIDIA)m(G)p 999 4450 V 33
w(RK)30 b(\(Hermitian)g(rank-k)g(up)s(date)f(with)h(tridiagonal)e
(matrix\))330 4594 y FG({)45 b FK(SYR2K)30 b(\(Symmetric)g(rank-2k)h
(up)s(date\))330 4739 y FG({)45 b FK(HER2K)31 b(\(Hermitian)e(rank-2k)i
(up)s(date\))330 4883 y FG({)45 b FK(SY)p 551 4883 V
33 w(TRIDIA)m(G)p 988 4883 V 33 w(R2K)30 b(\(Symmetric)g(rank-2k)h(up)s
(date)e(with)g(tridiagonal)g(matrix\))330 5028 y FG({)45
b FK(HE)p 562 5028 V 33 w(TRIDIA)m(G)p 999 5028 V 33
w(R2K)31 b(\(Hermitian)e(rank-2k)i(up)s(date)e(with)g(tridiagonal)g
(matrix\))136 5214 y FJ(\017)46 b FK(Data)32 b(Mo)m(v)m(emen)m(t)h
(with)c(Matrices)i(\(section)g(2.8.9\))330 5400 y FG({)45
b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1695
5400 V 35 w FK(COPY)30 b(\(Matrix)h(cop)m(y\))-214 64
y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 38 48
38 47 bop 0 -165 a FK(38)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)330 91 y FG({)45 b FJ(f)p
FK(HE,HB,HP)p FJ(g)p 964 91 28 4 v 35 w FK(COPY)30 b(\(Matrix)g(cop)m
(y\))330 237 y FG({)45 b FJ(f)p FK(GE)p FJ(g)p 655 237
V 34 w FK(TRANS)30 b(\(Matrix)h(transp)s(osition\))330
384 y FG({)45 b FJ(f)p FK(GE)p FJ(g)p 655 384 V 34 w
FK(PERMUTE)30 b(\(P)m(erm)m(ute)i(matrix\))136 571 y
FJ(\017)46 b FK(En)m(vironmen)m(tal)29 b(Enquiry)f(\(section)j
(2.8.10\))330 759 y FG({)45 b FK(FPINF)m(O)31 b(\(En)m(vironmen)m(tal)f
(enquiry\))0 1002 y Fx(2.8.2)97 b(Reduction)33 b(Op)s(erations)0
1246 y FK(DOT)d(\(Dot)i(Pro)s(duct\))1351 b Fy(x;)15
b(y)28 b FJ(2)d Fz(I)-17 b(R)2497 1210 y Fw(n)2544 1246
y Fy(;)15 b(r)28 b FJ( )d Fy(\014)5 b(r)23 b FK(+)d Fy(\013x)3090
1213 y Fw(T)3145 1246 y Fy(y)29 b FK(=)24 b Fy(\014)5
b(r)23 b FK(+)d Fy(\013)3599 1140 y Fw(n)p Fu(\000)p
FC(1)3606 1165 y Ft(X)3608 1347 y Fw(i)p FC(=0)3747 1246
y Fy(x)3799 1260 y Fw(i)3827 1246 y Fy(y)3872 1260 y
Fw(i)720 1595 y Fy(x;)15 b(y)28 b FJ(2)d Fz(l)-46 b(C)1027
1558 y Fw(n)1074 1595 y Fy(;)15 b(r)28 b FJ( )d Fy(\014)5
b(r)23 b FK(+)d Fy(\013x)1620 1562 y Fw(T)1676 1595 y
Fy(y)28 b FK(=)d Fy(\014)5 b(r)23 b FK(+)d Fy(\013)2129
1489 y Fw(n)p Fu(\000)p FC(1)2136 1514 y Ft(X)2139 1697
y Fw(i)p FC(=0)2277 1595 y Fy(x)2329 1609 y Fw(i)2357
1595 y Fy(y)2402 1609 y Fw(i)2461 1595 y FK(or)30 b Fy(r)e
FJ( )d Fy(\014)5 b(r)23 b FK(+)d Fy(\013x)3078 1562 y
Fw(H)3145 1595 y Fy(y)29 b FK(=)24 b Fy(\014)5 b(r)23
b FK(+)d Fy(\013)3599 1489 y Fw(n)p Fu(\000)p FC(1)3606
1514 y Ft(X)3608 1697 y Fw(i)p FC(=0)3764 1595 y FK(\026)-62
b Fy(x)3799 1609 y Fw(i)3827 1595 y Fy(y)3872 1609 y
Fw(i)141 1851 y FK(The)26 b(routine)f Fv(DOT)g FK(adds)g(the)i(scaled)e
(dot)i(pro)s(duct)d(of)j(t)m(w)m(o)g(v)m(ectors)g Fy(x)f
FK(and)g Fy(y)j FK(in)m(to)c(a)i(scaled)f(scalar)g Fy(r)s
FK(.)38 b(The)0 1964 y(routine)32 b(returns)g(immediately)f(if)h
Fv(n)h FK(is)f(less)g(than)h(zero,)i(or,)e(if)f Fv(b)s(eta)h
FK(is)f(equal)g(to)i(one)f(and)g(either)f Fv(alpha)g
FK(or)h Fv(n)0 2077 y FK(is)f(equal)h(to)i(zero.)50 b(If)33
b Fv(alpha)f FK(is)h(equal)g(to)h(zero)g(then)f Fy(x)h
FK(and)e Fy(y)k FK(are)e(not)g(read.)50 b(Similarly)-8
b(,)31 b(if)h Fv(b)s(eta)h FK(is)f(equal)h(to)0 2190
y(zero,)e Fy(r)h FK(is)c(not)i(read.)40 b(As)30 b(describ)s(ed)d(in)h
(section)i(2.5.3,)h(the)f(v)-5 b(alue)29 b Fv(incx)g
FK(or)h Fv(incy)f FK(less)g(than)g(zero)i(is)d(p)s(ermitted.)0
2303 y(Ho)m(w)m(ev)m(er,)33 b(if)c Fv(incx)h FK(or)h
Fv(incy)f FK(is)f(equal)h(to)h(zero,)h(an)e(error)g(\015ag)h(is)e(set)i
(and)f(passed)g(to)h(the)f(error)g(handler.)141 2416
y(When)g Fy(x)g FK(and)f Fy(y)k FK(are)e(complex)e(v)m(ectors,)j(the)e
(v)m(ector)i(comp)s(onen)m(ts)e Fy(x)2564 2430 y Fw(i)2622
2416 y FK(are)h(used)e(unconjugated)h(or)g(conju-)0 2528
y(gated)c(as)e(sp)s(eci\014ed)f(b)m(y)h(the)h(op)s(erator)g(argumen)m
(t)g Fv(conj)p FK(.)39 b(If)24 b Fy(x)h FK(and)f Fy(y)j
FK(are)e(real)f(v)m(ectors,)j(the)e(op)s(erator)f(argumen)m(t)0
2641 y Fv(conj)31 b FK(has)f(no)h(e\013ect.)136 2854
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3104 y FD(SUBROUTINE)45 b(dot\()h(x,)h(y,)h(r)f([,)g(conj])g([,)g
(alpha])f([,)h(beta])f(\))609 3217 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))
h(::)g(x\(:\),)g(y\(:\))609 3330 y(<type>\(<wp>\),)d(INTENT)i
(\(INOUT\))g(::)h(r)609 3443 y(TYPE)g(\(blas_conj_type\),)c
(INTENT\(IN\),)i(OPTIONAL)g(::)i(conj)609 3555 y(<type>\(<wp>\),)d
(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g(beta)514
3668 y(where)609 3781 y(x)h(and)e(y)i(have)f(shape)f(\(n\))136
4031 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
4256 y FD(SUBROUTINE)45 b(BLAS_xDOT\()g(CONJ,)h(N,)h(ALPHA,)f(X,)h
(INCX,)g(BETA,)f(Y,)h(INCY,)g(R)g(\))514 4369 y(INTEGER)523
b(CONJ,)46 b(INCX,)g(INCY,)h(N)514 4482 y(<type>)571
b(ALPHA,)46 b(BETA,)g(R)514 4595 y(<type>)571 b(X\()47
b(*)g(\),)h(Y\()f(*)g(\))136 4820 y FJ(\017)f FK(C)30
b(binding:)227 5045 y FD(void)47 b(BLAS_xdot\()e(enum)i(blas_conj_type)
c(conj,)k(int)g(n,)g(SCALAR_IN)e(alpha,)991 5158 y(const)h(ARRAY)h(x,)g
(int)g(incx,)f(SCALAR_IN)f(beta,)i(const)f(ARRAY)g(y,)991
5271 y(int)h(incy,)f(SCALAR_INOUT)f(r)i(\);)4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 39 49
39 48 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(39)p 0 91 3900 6 v 0 204 a(NORM)30 b(\(V)-8 b(ector)33
b(norms\))1313 b Fy(r)28 b FJ( )d(jj)p Fy(x)p FJ(jj)2572
218 y FC(1)2613 204 y Fy(;)30 b FJ(jj)p Fy(x)p FJ(jj)2820
218 y FC(1)p Fw(R)2914 204 y Fy(;)h FJ(jj)p Fy(x)p FJ(jj)3122
218 y FC(2)3162 204 y Fy(;)15 b FJ(jj)p Fy(x)p FJ(jj)3354
218 y Fu(1)3430 204 y Fy(;)46 b(or)33 b FJ(jj)p Fy(x)p
FJ(jj)3771 218 y Fu(1)p Fw(R)141 430 y FK(The)27 b(routine)f
Fv(NORM)g FK(computes)h(the)g FJ(jj)13 b(\001)g(jj)1636
444 y FC(1)1678 430 y FK(,)28 b FJ(jj)13 b(\001)g(jj)1882
444 y FC(1)p Fw(R)1977 430 y FK(,)28 b FJ(jj)13 b(\001)g(jj)2181
444 y FC(2)2223 430 y FK(,)27 b FJ(jj)13 b(\001)g(jj)2426
444 y Fu(1)2503 430 y FK(,)28 b(or)f FJ(jj)13 b(\001)g(jj)2815
444 y Fu(1)p Fw(R)2972 430 y FK(of)28 b(a)f(v)m(ector)i
Fy(x)d FK(dep)s(ending)0 543 y(on)k(the)h(v)-5 b(alue)30
b(passed)g(as)g(the)h Fv(no)m(rm)g FK(op)s(erator)g(argumen)m(t.)141
656 y(If)j FD(norm)46 b(=)i(blas)p 768 656 29 4 v 33
w(frobenius)p 1233 656 V 32 w(norm)p FK(,)34 b(an)g(error)g(\015ag)h
(is)e(not)h(raised,)h(and)e(the)i(t)m(w)m(o-norm)g(is)e(returned)g(to)0
769 y(the)d(user.)39 b(If)29 b Fv(n)h FK(is)e(less)h(than)g(or)h(equal)
f(to)h(zero,)g(this)f(routine)f(returns)g(immediately)g(with)g(the)i
(output)f(scalar)0 882 y Fv(r)34 b FK(set)h(to)h(zero.)53
b(The)34 b(resulting)f(scalar)h Fv(r)g FK(is)g(alw)m(a)m(ys)h(real)f
(and)g(its)f(v)-5 b(alue)34 b(is)g(as)g(de\014ned)g(in)f(section)h
(2.1.1.)55 b(As)0 995 y(describ)s(ed)33 b(in)g(section)i(2.5.3,)j(the)c
(v)-5 b(alue)35 b Fv(incx)f FK(less)g(than)h(zero)g(is)f(p)s(ermitted.)
52 b(Ho)m(w)m(ev)m(er,)38 b(if)c Fv(incx)g FK(is)g(equal)g(to)0
1108 y(zero,)d(an)g(error)f(\015ag)g(is)g(set)h(and)e(passed)h(to)h
(the)g(error)f(handler.)136 1317 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)514 1564 y FD(REAL\(<wp>\))45
b(FUNCTION)g(norm\()i(x)g([,)g(norm])g(\))609 1677 y(<type>\(<wp>\),)d
(INTENT)i(\(IN\))h(::)g(x\(:\))609 1790 y(TYPE)g(\(blas_norm_type\),)c
(INTENT)j(\(IN\),)g(OPTIONAL)g(::)h(norm)514 1903 y(where)609
2016 y(x)h(has)e(shape)h(\(n\))136 2262 y FJ(\017)f FK(F)-8
b(ortran)31 b(77)h(binding:)514 2485 y FD(<rtype>)45
b(FUNCTION)h(BLAS_xNORM\()f(NORM,)h(N,)h(X,)g(INCX)g(\))514
2598 y(INTEGER)570 b(INCX,)47 b(N,)g(NORM)514 2711 y(<type>)618
b(X\()48 b(*)f(\))136 2933 y FJ(\017)f FK(C)30 b(binding:)227
3155 y FD(void)47 b(BLAS_xnorm\()e(enum)h(blas_norm_type)e(norm,)j(int)
f(n,)i(const)e(ARRAY)g(x,)1039 3268 y(int)h(incx,)f(RSCALAR_INOUT)e(r)k
(\);)p 0 3490 3900 6 v 0 3656 a FK(SUM)30 b(\(Sum\))3007
b Fy(r)28 b FJ( )3672 3550 y Fw(n)p Fu(\000)p FC(1)3678
3575 y Ft(X)3681 3757 y Fw(i)p FC(=0)3820 3656 y Fy(x)3872
3670 y Fw(i)141 3881 y FK(The)34 b(routine)g Fv(SUM)e
FK(computes)j(the)g(sum)e(of)i(the)f(en)m(tries)h(of)f(a)h(v)m(ector)h
Fy(x)p FK(.)53 b(If)34 b Fv(n)g FK(is)g(less)g(than)g(or)g(equal)g(to)0
3994 y(zero,)c(this)f(routine)f(returns)g(immediately)f(with)h(the)i
(output)e(scalar)i Fv(r)f FK(set)h(to)f(zero.)42 b(As)29
b(describ)s(ed)e(in)h(section)0 4107 y(2.5.3,)36 b(the)e(v)-5
b(alue)33 b Fv(incx)g FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)48
b(Ho)m(w)m(ev)m(er,)36 b(if)d Fv(incx)g FK(is)g(equal)f(to)j(zero,)g
(an)e(error)g(\015ag)h(is)0 4220 y(set)d(and)f(passed)g(to)h(the)f
(error)g(handler.)136 4430 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 4652 y FD(<type>\(<wp>\))44 b(FUNCTION)i(sum\()g(x)
i(\))609 4765 y(<type>\(<wp>\),)c(INTENT)i(\(IN\))h(::)g(x\(:\))514
4878 y(where)609 4991 y(x)h(has)e(shape)h(\(n\))227 5213
y FK(This)29 b(is)g(the)i(same)g(as)f(the)h(F)-8 b(ortran)31
b(95)g(in)m(trinsic)d(function)h Fv(SUM)p FK(.)136 5400
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 40 50
40 49 bop 0 -165 a FK(40)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)514 91 y FD(<type>)46
b(FUNCTION)f(BLAS_xSUM\()g(N,)i(X,)h(INCX)e(\))514 204
y(INTEGER)570 b(INCX,)47 b(N)514 317 y(<type>)618 b(X\()48
b(*)f(\))136 508 y FJ(\017)f FK(C)30 b(binding:)227 698
y FD(void)47 b(BLAS_xsum\()e(int)i(n,)g(const)f(ARRAY)h(x,)g(int)g
(incx,)f(SCALAR_INOUT)f(sum)i(\);)p 0 888 3900 6 v 0
1001 a FK(MIN)p 189 1001 28 4 v 33 w(V)-10 b(AL)30 b(\(Min)g(v)-5
b(alue)30 b(&)g(lo)s(cation\))1290 b Fy(k)s(;)15 b(x)2774
1016 y Fw(k)2878 1001 y FK(suc)m(h)30 b(that)h Fy(k)d
FK(=)d(arg)46 b(min)3593 1060 y FC(0)p Fu(\024)p Fw(i<n)3820
1001 y Fy(x)3872 1015 y Fw(i)141 1227 y FK(The)e(routine)g
Fv(MIN)p 844 1227 V 33 w(V)-8 b(AL)44 b FK(\014nds)f(the)i(smallest)f
(comp)s(onen)m(t)h(of)g(a)g(real)f(v)m(ector)i Fy(x)f
FK(and)f(determines)g(the)0 1340 y(smallest)35 b(o\013set)i(or)f(index)
e Fy(k)39 b FK(suc)m(h)d(that)h Fy(x)1520 1355 y Fw(k)1597
1340 y FK(=)61 b(min)1702 1398 y FC(0)p Fu(\024)p Fw(i<)p
Fo(n)1923 1340 y Fy(x)1975 1354 y Fw(i)2003 1340 y FK(.)c(This)34
b(v)-5 b(alue)36 b Fy(x)2591 1355 y Fw(k)2669 1340 y
FK(is)f(returned)g(b)m(y)g(the)i(routine)e(and)0 1489
y(denoted)30 b(b)m(y)f(arg)43 b(min)610 1547 y FC(0)p
Fu(\024)p Fw(i<)p Fo(n)830 1489 y Fy(x)882 1503 y Fw(i)940
1489 y FK(b)s(elo)m(w.)d(When)29 b(the)h(v)-5 b(alue)29
b(of)h(the)g Fv(n)f FK(argumen)m(t)h(is)f(less)g(than)g(or)g(equal)h
(to)g(zero,)h(the)0 1643 y(routine)i(should)f(initialize)g(the)i
(output)g(scalars)g Fv(k)g FK(to)h(the)g(largest)f(in)m(v)-5
b(alid)32 b(index)g(or)j(o\013set)g(v)-5 b(alue)33 b(\(negativ)m(e)0
1756 y(one)c(or)g(zero\))i(and)d Fv(r)h FK(to)h(zero.)41
b(As)29 b(describ)s(ed)e(in)h(section)h(2.5.3,)i(the)e(v)-5
b(alue)29 b Fv(incx)g FK(less)f(than)h(zero)h(is)e(p)s(ermitted.)0
1869 y(Ho)m(w)m(ev)m(er,)33 b(if)c Fv(incx)h FK(is)g(equal)g(to)h
(zero,)g(an)f(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g
(error)f(handler.)227 2047 y Fz(A)-5 b(dvic)g(e)33 b(to)g(users.)81
b FK(The)30 b(routine)g Fv(MIN)p 1614 2047 V 33 w(V)-8
b(AL)30 b FK(strictly)f(op)s(erates)i(on)g(real)f(v)m(ectors.)42
b(This)29 b(routine)g(is)h(not)227 2160 y(de\014ned)f(for)i(complex)f
(v)m(ectors.)42 b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33
b(to)g(users.)p FK(\))136 2338 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)514 2528 y FD(SUBROUTINE)45
b(min_val\()g(x,)i(k,)h(r)f(\))609 2641 y(REAL\(<wp>\),)e(INTENT)h
(\(IN\))h(::)g(x\(:\))609 2754 y(INTEGER,)f(INTENT)g(\(OUT\))g(::)h(k)
609 2867 y(REAL\(<wp>\),)e(INTENT)h(\(OUT\))g(::)h(r)514
2980 y(where)609 3093 y(x)h(has)e(shape)h(\(n\))136 3283
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 3474
y FD(SUBROUTINE)45 b(BLAS_xMIN_VAL\()f(N,)j(X,)g(INCX,)f(K,)h(R)h(\))
514 3587 y(INTEGER)570 b(INCX,)47 b(K,)g(N)514 3700 y(<rtype>)570
b(R)514 3813 y(<rtype>)g(X\()48 b(*)f(\))136 4003 y FJ(\017)f
FK(C)30 b(binding:)227 4193 y FD(void)47 b(BLAS_xmin_val\()d(int)j(n,)g
(const)f(RARRAY)g(x,)i(int)e(incx,)h(int)g(k,)1182 4306
y(RSCALAR_INOUT)d(r)j(\);)p 0 4497 3900 6 v 0 4610 a
FK(AMIN)p 257 4610 28 4 v 33 w(V)-10 b(AL)31 b(\(Min)e(absolute)h(v)-5
b(alue)30 b(&)g(lo)s(cation\))135 b Fy(k)s(;)15 b(x)2046
4625 y Fw(k)2150 4610 y FK(suc)m(h)30 b(that)h Fy(k)d
FK(=)d(arg)46 b(min)2865 4668 y FC(0)p Fu(\024)p Fw(i<n)3077
4610 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)3336 4624
y Fw(i)3365 4610 y FK(\))p FJ(j)20 b FK(+)g FJ(j)p Fy(I)7
b(m)p FK(\()p Fy(x)3775 4624 y Fw(i)3804 4610 y FK(\))p
FJ(j)p FK(\))141 4835 y(The)35 b(routine)f Fv(AMIN)p
886 4835 V 33 w(V)-8 b(AL)34 b FK(\014nds)g(the)h(o\013set)i(or)e
(index)e(of)j(the)f(smallest)f(comp)s(onen)m(t)i(of)f(a)h(v)m(ector)g
Fy(x)g FK(and)0 4948 y(also)31 b(returns)f(the)h(smallest)f(comp)s
(onen)m(t)h(of)g(the)g(v)m(ector)i Fy(x)e FK(with)f(resp)s(ect)g(to)i
(the)f(absolute)g(v)-5 b(alue.)42 b(When)31 b(the)0 5061
y(v)-5 b(alue)26 b(of)g(the)g Fv(n)g FK(argumen)m(t)h(is)e(less)g(than)
h(or)g(equal)g(to)h(zero,)h(the)e(routine)f(should)g(initialize)e(the)j
(output)g(scalars)0 5174 y Fv(k)37 b FK(to)h(the)f(largest)h(in)m(v)-5
b(alid)34 b(index)i(or)h(o\013set)h(v)-5 b(alue)36 b(\(negativ)m(e)j
(one)e(or)g(zero\))h(and)e Fv(r)h FK(to)h(zero.)61 b(The)37
b(resulting)0 5287 y(scalar)h Fv(r)g FK(is)f(alw)m(a)m(ys)h(real.)63
b(As)38 b(describ)s(ed)d(in)i(section)h(2.5.3,)k(the)c(v)-5
b(alue)37 b Fv(incx)h FK(less)f(than)h(zero)g(is)f(p)s(ermitted.)0
5400 y(Ho)m(w)m(ev)m(er,)c(if)c Fv(incx)h FK(is)g(equal)g(to)h(zero,)g
(an)f(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g(error)f
(handler.)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 41 51
41 50 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(41)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
316 y FD(SUBROUTINE)45 b(amin_val\()g(x,)i(k,)g(r)h(\))609
429 y(<type>\(<wp>\),)c(INTENT)i(\(IN\))h(::)g(x\(:\))609
542 y(INTEGER,)f(INTENT)g(\(OUT\))g(::)h(k)609 655 y(REAL\(<wp>\),)e
(INTENT)h(\(OUT\))g(::)h(r)514 768 y(where)609 881 y(x)h(has)e(shape)h
(\(n\))227 1106 y FK(A)37 b(F)-8 b(ortran)37 b(95)h(in)m(terface)f(w)m
(as)g(de\014ned)f(for)g(this)g(routine)g(since)g(it)g(w)m(ould)f(ha)m
(v)m(e)j(b)s(een)e(to)s(o)i(exp)s(ensiv)m(e)227 1219
y(using)29 b(F)-8 b(ortran)31 b(95)g(in)m(trinsics.)136
1406 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
1631 y FD(SUBROUTINE)45 b(BLAS_xAMIN_VAL\()e(N,)k(X,)h(INCX,)e(K,)h(R)h
(\))514 1744 y(INTEGER)570 b(INCX,)47 b(K,)g(N)514 1857
y(<rtype>)570 b(R)514 1970 y(<type>)618 b(X\()48 b(*)f(\))136
2195 y FJ(\017)f FK(C)30 b(binding:)227 2420 y FD(void)47
b(BLAS_xamin_val\()d(int)i(n,)i(const)e(ARRAY)g(x,)i(int)e(incx,)h(int)
g(k,)1230 2533 y(RSCALAR_INOUT)d(r)j(\);)p 0 2758 3900
6 v 0 2871 a FK(MAX)p 224 2871 28 4 v 33 w(V)-10 b(AL)31
b(\(Max)g(v)-5 b(alue)30 b(&)g(lo)s(cation\))1237 b Fy(k)s(;)15
b(x)2774 2886 y Fw(k)2878 2871 y FK(suc)m(h)30 b(that)h
Fy(k)d FK(=)d(arg)37 b(max)3593 2929 y FC(0)p Fu(\024)p
Fw(i<n)3820 2871 y Fy(x)3872 2885 y Fw(i)141 3097 y FK(The)22
b(routine)f Fv(MAX)p 832 3097 V 31 w(V)-8 b(AL)22 b FK(\014nds)e(the)j
(largest)f(comp)s(onen)m(t)g(of)g(a)h(real)f(v)m(ector)h
Fy(x)f FK(and)g(determines)f(the)h(smallest)0 3210 y(o\013set)37
b(or)f(index)f Fy(k)40 b FK(suc)m(h)35 b(that)i Fy(x)1166
3225 y Fw(k)1244 3210 y FK(=)53 b(max)1349 3268 y FC(0)p
Fu(\024)p Fw(i<)p Fo(n)1570 3210 y Fy(x)1622 3224 y Fw(i)1650
3210 y FK(.)58 b(This)35 b(v)-5 b(alue)36 b Fy(x)2240
3225 y Fw(k)2318 3210 y FK(is)g(returned)f(b)m(y)h(the)g(routine)f(and)
h(denoted)0 3359 y(b)m(y)31 b(arg)j(max)269 3417 y FC(0)p
Fu(\024)p Fw(i<)p Fo(n)489 3359 y Fy(x)541 3373 y Fw(i)601
3359 y FK(b)s(elo)m(w.)42 b(When)31 b(the)g(v)-5 b(alue)31
b(of)g(the)h Fv(n)f FK(argumen)m(t)h(is)e(less)g(than)h(or)g(equal)g
(to)h(zero,)h(the)e(routine)0 3513 y(should)20 b(initialize)g(the)j
(output)f(scalars)g Fv(k)h FK(to)g(the)f(largest)h(in)m(v)-5
b(alid)20 b(index)h(or)h(o\013set)i(v)-5 b(alue)22 b(\(negativ)m(e)i
(one)e(or)h(zero\))0 3626 y(and)30 b Fv(r)g FK(to)h(zero.)41
b(As)30 b(describ)s(ed)e(in)h(section)h(2.5.3,)j(the)d(v)-5
b(alue)30 b Fv(incx)g FK(less)f(than)h(zero)h(is)e(p)s(ermitted.)39
b(Ho)m(w)m(ev)m(er,)33 b(if)0 3739 y Fv(incx)d FK(is)g(equal)g(to)h
(zero,)g(an)f(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g
(error)f(handler.)227 3951 y Fz(A)-5 b(dvic)g(e)31 b(to)g(users.)79
b FK(The)28 b(routine)f Fv(MAX)p 1636 3951 V 31 w(V)-8
b(AL)28 b FK(strictly)f(op)s(erates)h(on)g(real)g(v)m(ectors.)41
b(This)27 b(routine)g(is)g(not)227 4064 y(de\014ned)i(for)i(complex)f
(v)m(ectors.)42 b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33
b(to)g(users.)p FK(\))136 4277 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)514 4502 y FD(SUBROUTINE)45
b(max_val\()g(x,)i(k,)h(r)f(\))609 4615 y(REAL\(<wp>\),)e(INTENT)h
(\(IN\))h(::)g(x\(:\))609 4728 y(INTEGER,)f(INTENT)g(\(OUT\))g(::)h(k)
609 4841 y(REAL\(<wp>\),)e(INTENT)h(\(OUT\))g(::)h(r)514
4953 y(where)609 5066 y(x)h(has)e(shape)h(\(n\))136 5291
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 42 52
42 51 bop 0 -165 a FK(42)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)514 91 y FD(SUBROUTINE)45
b(BLAS_xMAX_VAL\()f(N,)j(X,)g(INCX,)f(K,)h(R)h(\))514
204 y(INTEGER)570 b(INCX,)47 b(K,)g(N)514 317 y(<rtype>)570
b(R)514 430 y(<rtype>)g(X\()48 b(*)f(\))136 655 y FJ(\017)f
FK(C)30 b(binding:)227 880 y FD(void)47 b(BLAS_xmax_val\()d(int)j(n,)g
(const)f(RARRAY)g(x,)i(int)e(incx,)h(int)g(k,)1182 993
y(RSCALAR_INOUT)d(r)j(\);)p 0 1218 3900 6 v 0 1331 a
FK(AMAX)p 292 1331 28 4 v 34 w(V)-10 b(AL)30 b(\(Max)h(absolute)g(v)-5
b(alue)29 b(&)h(lo)s(cation\))82 b Fy(k)s(;)15 b(x)2046
1346 y Fw(k)2150 1331 y FK(suc)m(h)30 b(that)h Fy(k)d
FK(=)d(arg)37 b(max)2865 1389 y FC(0)p Fu(\024)p Fw(i<n)3077
1331 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)3336 1345
y Fw(i)3365 1331 y FK(\))p FJ(j)20 b FK(+)g FJ(j)p Fy(I)7
b(m)p FK(\()p Fy(x)3775 1345 y Fw(i)3804 1331 y FK(\))p
FJ(j)p FK(\))141 1557 y(The)25 b(routine)g Fv(AMAX)p
900 1557 V 31 w(V)-8 b(AL)25 b FK(\014nds)f(the)i(o\013set)h(or)e
(index)f(of)i(the)g(largest)g(comp)s(onen)m(t)g(of)f(a)h(v)m(ector)i
Fy(x)d FK(and)g(also)0 1670 y(returns)30 b(the)h(largest)h(comp)s(onen)
m(t)f(of)g(the)h(v)m(ector)h Fy(x)e FK(with)e(resp)s(ect)j(to)f(the)h
(absolute)f(v)-5 b(alue.)42 b(When)31 b(the)g(v)-5 b(alue)0
1782 y(of)29 b(the)g Fv(n)g FK(argumen)m(t)h(is)e(less)g(than)h(or)f
(equal)h(to)h(zero,)g(the)f(routine)f(should)f(initialize)f(the)k
(output)e(scalars)h Fv(k)g FK(to)0 1895 y(the)h(largest)h(in)m(v)-5
b(alid)28 b(index)h(or)h(o\013set)h(v)-5 b(alue)30 b(\(negativ)m(e)i
(one)e(or)h(zero\))g(and)f Fv(r)g FK(to)h(zero.)42 b(The)29
b(resulting)g(scalar)h Fv(r)0 2008 y FK(is)e(alw)m(a)m(ys)i(real.)39
b(As)29 b(describ)s(ed)e(in)h(section)h(2.5.3,)i(the)e(v)-5
b(alue)29 b Fv(incx)g FK(less)f(than)h(zero)h(is)e(p)s(ermitted.)38
b(Ho)m(w)m(ev)m(er,)32 b(if)0 2121 y Fv(incx)e FK(is)g(equal)g(to)h
(zero,)g(an)f(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g
(error)f(handler.)136 2334 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 2559 y FD(SUBROUTINE)45 b(amax_val\()g(x,)i(k,)g(r)
h(\))609 2672 y(<type>\(<wp>\),)c(INTENT)i(\(IN\))h(::)g(x\(:\))609
2785 y(INTEGER,)f(INTENT)g(\(OUT\))g(::)h(k)609 2897
y(REAL\(<wp>\),)e(INTENT)h(\(OUT\))g(::)h(r)514 3010
y(where)609 3123 y(x)h(has)e(shape)h(\(n\))136 3348 y
FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 3573
y FD(SUBROUTINE)45 b(BLAS_xAMAX_VAL\()e(N,)k(X,)h(INCX,)e(K,)h(R)h(\))
514 3686 y(INTEGER)570 b(INCX,)47 b(K,)g(N)514 3799 y(<rtype>)570
b(R)514 3912 y(<type>)618 b(X\()48 b(*)f(\))136 4137
y FJ(\017)f FK(C)30 b(binding:)227 4362 y FD(void)47
b(BLAS_xamax_val\()d(int)i(n,)i(const)e(ARRAY)g(x,)i(int)e(incx,)h(int)
g(k,)1230 4475 y(RSCALAR_INOUT)d(r)j(\);)p 0 4700 3900
6 v 0 4813 a FK(SUMSQ)30 b(\(Sum)f(of)h(squares\))2162
b(\()p Fy(scl)r(;)15 b(ssq)s FK(\))25 b FJ( )3681 4749
y Ft(P)3783 4813 y Fy(x)3835 4780 y FC(2)3835 4837 y
Fw(i)3875 4813 y Fy(;)141 5039 y FK(The)30 b(routine)f
Fv(SUMSQ)g FK(returns)g(the)h(v)-5 b(alues)30 b Fy(scl)i
FK(and)e Fy(ssq)i FK(suc)m(h)e(that)878 5313 y Fy(scl)989
5275 y FC(2)1048 5313 y FJ(\003)21 b Fy(ssq)27 b FK(=)e
Fy(scal)r(e)1565 5275 y FC(2)1625 5313 y FJ(\003)c Fy(sumsq)h
FK(+)2063 5207 y Fw(n)p Fu(\000)p FC(1)2069 5232 y Ft(X)2072
5414 y Fw(i)p FC(=0)2196 5313 y FK(\()p Fy(R)q(e)p FK(\()p
Fy(x)2430 5327 y Fw(i)2459 5313 y FK(\))2494 5275 y FC(2)2554
5313 y FK(+)e Fy(I)7 b(m)p FK(\()p Fy(x)2859 5327 y Fw(i)2887
5313 y FK(\))2922 5275 y FC(2)2962 5313 y FK(\))p Fy(;)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 43 53
43 52 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(43)0 91 y(The)36 b(v)-5 b(alue)36 b(of)g Fy(sumsq)j
FK(is)c(assumed)h(to)h(b)s(e)f(at)h(least)g(unit)m(y)e(and)h(the)h(v)-5
b(alue)36 b(of)g Fy(ssq)j FK(will)34 b(then)i(satisfy)g(1)p
Fy(:)p FK(0)g FJ(\024)0 204 y Fy(ssq)g FJ(\024)e FK(\()p
Fy(sumsq)26 b FK(+)d Fy(n)p FK(\))36 b(when)e Fy(x)i
FK(is)f(a)h(real)f(v)m(ector)i(and)e(1)p Fy(:)p FK(0)g
FJ(\024)f Fy(ssq)i FJ(\024)e FK(\()p Fy(sumsq)26 b FK(+)d(2)p
Fy(n)p FK(\))36 b(when)f Fy(x)h FK(is)e(a)i(complex)0
317 y(v)m(ector.)42 b Fy(scal)r(e)31 b FK(is)e(assumed)h(to)h(b)s(e)f
(non-negativ)m(e)h(and)f Fy(scl)i FK(returns)d(the)i(v)-5
b(alue)1068 520 y Fy(scl)27 b FK(=)47 b(max)1300 578
y FC(0)p Fu(\024)p Fw(i<n)1512 520 y FK(\()p Fy(scal)r(e;)15
b(abs)p FK(\()p Fy(R)q(e)p FK(\()p Fy(x)2152 534 y Fw(i)2182
520 y FK(\)\))p Fy(;)g(abs)p FK(\()p Fy(I)7 b(m)p FK(\()p
Fy(x)2671 534 y Fw(i)2700 520 y FK(\)\)\))p Fy(:)0 759
y(scal)r(e)30 b FK(and)f Fy(sumsq)j FK(m)m(ust)e(b)s(e)f(supplied)e(on)
j(en)m(try)g(in)f Fv(scl)g FK(and)h Fv(ssq)f FK(resp)s(ectiv)m(ely)-8
b(.)41 b Fv(scl)29 b FK(and)h Fv(ssq)f FK(are)h(o)m(v)m(erwritten)0
872 y(b)m(y)k Fy(scl)i FK(and)e Fy(ssq)i FK(resp)s(ectiv)m(ely)-8
b(.)52 b(The)34 b(argumen)m(ts)h Fv(scl)f FK(and)g Fv(ssq)f
FK(are)i(therefore)g(alw)m(a)m(ys)g(real)f(scalars.)52
b(If)34 b Fv(scl)g FK(is)0 984 y(less)27 b(than)g(zero)h(or)g
Fv(ssq)f FK(is)f(less)h(than)g(one,)i(an)e(error)g(\015ag)h(is)e(set)i
(and)f(passed)g(to)h(the)g(error)f(handler.)38 b(If)27
b Fv(n)g FK(is)g(less)0 1097 y(than)32 b(or)g(equal)g(to)h(zero,)h
(this)d(routine)h(returns)f(immediately)g(with)g Fv(scl)h
FK(and)g Fv(ssq)f FK(unc)m(hanged.)47 b(As)32 b(describ)s(ed)0
1210 y(in)25 b(section)h(2.5.3,)i(the)e(v)-5 b(alue)26
b Fv(incx)f FK(less)h(than)f(zero)i(is)e(p)s(ermitted.)37
b(Ho)m(w)m(ev)m(er,)29 b(if)c Fv(incx)h FK(is)f(equal)g(to)i(zero,)h
(an)d(error)0 1323 y(\015ag)31 b(is)e(set)i(and)f(passed)g(to)h(the)f
(error)g(handler.)227 1534 y Fz(A)-5 b(dvic)g(e)39 b(to)h
(implementors.)125 b FK(High-qualit)m(y)37 b(implemen)m(tations)e(of)j
(this)e(routine)h Fv(SUMSQ)e FK(should)h(b)s(e)227 1647
y(accurate.)42 b(The)28 b(subroutine)e Fv(SLASSQ)h FK(of)i(the)f(LAP)-8
b(A)m(CK)29 b([6)q(])f(soft)m(w)m(are)i(library)c(is)i(an)g(example)h
(of)f(suc)m(h)227 1760 y(an)f(accurate)i(implemen)m(tation.)39
b(High-qualit)m(y)26 b(implemen)m(tations)f(should)h(do)s(cumen)m(t)h
(the)g(accuracy)i(of)227 1873 y(the)f(algorithms)f(used)h(in)e(this)h
(routine)g(so)i(as)f(to)h(alleviate)e(the)i(p)s(ortabilit)m(y)d
(problems)g(this)h(represen)m(ts.)227 1986 y(\()p Fz(End)33
b(of)g(advic)-5 b(e)33 b(to)h(implementors.)p FK(\))136
2197 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2420 y FD(SUBROUTINE)45 b(sumsq\()h(x,)h(ssq,)g(scl)f(\))609
2533 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(x\(:\))609
2646 y(REAL\(<wp>\),)e(INTENT)h(\(INOUT\))g(::)h(ssq,)g(scl)514
2759 y(where)609 2872 y(x)h(has)e(shape)h(\(n\))136 3095
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 3318
y FD(SUBROUTINE)45 b(BLAS_xSUMSQ\()f(N,)j(X,)g(INCX,)g(SSQ,)f(SCL)h(\))
514 3431 y(INTEGER)570 b(INCX,)47 b(N)514 3544 y(<rtype>)570
b(SCL,)47 b(SSQ)514 3657 y(<type>)618 b(X\()48 b(*)f(\))136
3881 y FJ(\017)f FK(C)30 b(binding:)227 4104 y FD(void)47
b(BLAS_xsumsq\()d(int)j(n,)g(const)g(ARRAY)f(x,)h(int)g(incx,)g
(RSCALAR_INOUT)d(ssq,)1086 4217 y(RSCALAR_INOUT)h(scl)h(\);)p
0 4440 3900 6 v 0 4683 a Fx(2.8.3)97 b(Generate)34 b(T)-8
b(ransfo)m(rmations)0 4855 y FK(GEN)p 206 4855 28 4 v
33 w(GR)m(OT)31 b(\(Generate)h(Giv)m(ens)e(rotation\))1553
b(\()p Fy(c;)15 b(s;)g(r)s FK(\))26 b FJ( )f FK(rot)q(\()p
Fy(a;)15 b(b)p FK(\))141 5081 y(The)30 b(routine)f Fv(GEN)p
825 5081 V 33 w(GROT)h FK(constructs)g(a)h(Giv)m(ens)f(plane)g
(rotation)g(so)h(that)1348 5200 y Ft( )1493 5287 y Fy(c)120
b(s)1456 5400 y FJ(\000)t FK(\026)-49 b Fy(s)84 b(c)1736
5200 y Ft(!)1822 5344 y FJ(\001)1868 5200 y Ft( )1975
5287 y Fy(a)1979 5400 y(b)2064 5200 y Ft(!)2155 5344
y FK(=)2251 5200 y Ft( )2359 5287 y Fy(r)2358 5400 y
FK(0)2445 5200 y Ft(!)2526 5344 y Fy(;)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 44 54
44 53 bop 0 -165 a FK(44)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(where)e Fy(c)g
FK(is)f(alw)m(a)m(ys)i(a)f(real)g(scalar)g(and)g Fy(c)1440
58 y FC(2)1499 91 y FK(+)20 b FJ(j)p Fy(s)p FJ(j)1683
58 y FC(2)1753 91 y FK(is)29 b(equal)g(to)i(one.)41 b(The)30
b(scalars)g Fy(a)g FK(and)g Fy(b)g FK(are)g(unc)m(hanged)g(on)0
204 y(exit.)41 b Fy(c)p FK(,)31 b Fy(s)e FK(and)h Fy(r)j
FK(are)e(de\014ned)e(precisely)g(as)i(follo)m(ws,)e(where)h(w)m(e)h
(use)f(the)h(function)1376 469 y(sign)o(\()p Fy(x)p FK(\))26
b FJ(\021)1777 325 y Ft(\()1885 412 y Fy(x=)p FJ(j)p
Fy(x)p FJ(j)84 b FK(if)32 b Fy(x)25 b FJ(6)p FK(=)g(0)1885
525 y(1)238 b(if)32 b Fy(x)25 b FK(=)g(0)0 749 y(De\014ning)k(Giv)m
(ens)h(rotations:)157 862 y(if)f Fy(b)c FK(=)g(0)31 b(\(includes)d(the)
j(case)g Fy(a)26 b FK(=)e Fy(b)i FK(=)f(0\))313 975 y
Fy(c)h FK(=)f(1)313 1088 y Fy(s)g FK(=)g(0)313 1201 y
Fy(r)j FK(=)d Fy(a)157 1314 y FK(elseif)k Fy(a)c FK(=)g(0)31
b(\()p Fy(b)g FK(m)m(ust)f(b)s(e)g(nonzero\))313 1427
y Fy(c)c FK(=)f(0)313 1540 y Fy(s)g FK(=)g(sign)o(\()666
1516 y(\026)669 1540 y Fy(b)p FK(\))313 1653 y Fy(r)j
FK(=)d FJ(j)p Fy(b)p FJ(j)157 1765 y FK(else)30 b(\()p
Fy(a)g FK(and)g Fy(b)h FK(b)s(oth)e(nonzero\))313 1879
y Fy(c)d FK(=)f FJ(j)p Fy(a)p FJ(j)p Fy(=)617 1806 y
Ft(p)p 701 1806 379 4 v 701 1879 a FJ(j)p Fy(a)p FJ(j)799
1853 y FC(2)859 1879 y FK(+)20 b FJ(j)p Fy(b)p FJ(j)1039
1853 y FC(2)313 1993 y Fy(s)25 b FK(=)g(sign)o(\()p Fy(a)p
FK(\))749 1969 y(\026)752 1993 y Fy(b)q(=)837 1920 y
Ft(p)p 920 1920 V 73 x FJ(j)p Fy(a)p FJ(j)1018 1967 y
FC(2)1078 1993 y FK(+)20 b FJ(j)p Fy(b)p FJ(j)1258 1967
y FC(2)313 2107 y Fy(r)28 b FK(=)d(sign)o(\()p Fy(a)p
FK(\))753 2034 y Ft(p)p 837 2034 V 837 2107 a FJ(j)p
Fy(a)p FJ(j)935 2081 y FC(2)995 2107 y FK(+)20 b FJ(j)p
Fy(b)p FJ(j)1175 2081 y FC(2)157 2220 y FK(endif)0 2433
y(When)30 b Fy(a)h FK(and)e Fy(b)i FK(are)f(real,)940
2409 y(\026)944 2433 y Fy(b)g FK(ma)m(y)h(b)s(e)f(replaced)f(b)m(y)i
Fy(b)p FK(.)227 2645 y Fz(A)-5 b(dvic)g(e)38 b(to)g(implementors.)117
b FK(High-qualit)m(y)35 b(implemen)m(tations)g(of)h(this)f(routine)g
Fv(GEN)p 3330 2645 28 4 v 33 w(GROT)g FK(should)227 2758
y(b)s(e)42 b(accurate.)78 b(W)-8 b(e)43 b(recommend)f(one)g(of)h(the)f
(implemen)m(tations)f(describ)s(ed)f(in)h([9)q(].)76
b(W)-8 b(e)43 b(note)g(that)227 2871 y(the)36 b(ab)s(o)m(v)m(e)g
(de\014nition)e(of)h(Giv)m(ens)g(rotations)h(matc)m(hes)g(the)g(one)g
(in)e(the)h(subroutine)f Fv(CLARTG)g FK(of)i(the)227
2984 y(LAP)-8 b(A)m(CK)32 b([6])g(soft)m(w)m(are)g(library)-8
b(,)30 b(but)g(di\013ers)g(sligh)m(tly)f(from)i(the)g(de\014nitions)e
(used)h(in)g(LAP)-8 b(A)m(CK)31 b(rou-)227 3097 y(tines)24
b Fv(SLARTG)p FK(,)e Fv(SLARGV)g FK(and)i Fv(CLARGV)p
FK(.)f(LAP)-8 b(A)m(CK)24 b(routines)f(using)f(these)j(sligh)m(tly)d
(di\013eren)m(t)h(Giv)m(ens)227 3210 y(rotations)31 b(con)m(tin)m(ue)g
(to)g(function)e(correctly)h([9)q(].)41 b(\()p Fz(End)33
b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p FK(\))136
3422 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3647 y FD(SUBROUTINE)45 b(gen_grot\()g(a,)i(b,)g(c,)g(s,)h(r)f(\))609
3760 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h(::)g(a,)g(b)609
3873 y(REAL\(<wp>\),)e(INTENT)h(\(OUT\))g(::)h(c)609
3986 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(s,)g(r)136
4211 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
4436 y FD(SUBROUTINE)45 b(BLAS_xGEN_GROT\()e(A,)k(B,)h(C,)f(S,)g(R)g
(\))514 4549 y(<rtype>)666 b(C)514 4662 y(<type>)714
b(A,)47 b(B,)g(R,)g(S)136 4887 y FJ(\017)f FK(C)30 b(binding:)227
5112 y FD(void)47 b(BLAS_xgen_grot\()d(SCALAR_IN)h(a,)i(SCALAR_IN)e(b,)
i(RSCALAR_INOUT)e(c,)1230 5225 y(SCALAR_INOUT)f(s,)j(SCALAR_INOUT)e(r)i
(\);)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 45 55
45 54 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(45)p 0 91 3900 6 v 0 204 a(GEN)p 206 204 28 4 v
33 w(JR)m(OT)30 b(\(Generate)i(Jacobi)e(rotation\))1382
b(\()p Fy(a;)15 b(b;)g(c;)g(s)p FK(\))27 b FJ( )e FK(jrot\()p
Fy(x;)15 b(y)s(;)g(z)t FK(\))141 430 y(The)30 b(routine)f
Fv(GEN)p 825 430 V 33 w(JROT)h FK(constructs)h(a)g(Jacobi)f(rotation)g
(so)h(that)956 529 y Ft( )1063 617 y Fy(a)83 b FK(0)1064
729 y(0)88 b Fy(b)1281 529 y Ft(!)1372 673 y FK(=)1468
529 y Ft( )1612 617 y Fy(c)124 b FK(\026)-48 b Fy(s)1575
729 y FJ(\000)p Fy(s)84 b(c)1856 529 y Ft(!)1942 673
y FJ(\001)1987 529 y Ft( )2094 617 y Fy(x)f(y)2103 729
y FK(\026)-51 b Fy(y)88 b(z)2319 529 y Ft(!)2405 673
y FJ(\001)2450 529 y Ft( )2559 617 y Fy(c)d FJ(\000)t
FK(\026)-49 b Fy(s)2557 729 y(s)120 b(c)2838 529 y Ft(!)2919
673 y Fy(;)0 949 y FK(If)30 b(JR)m(OT)g(=)g(blas)p 633
949 V 31 w(inner)p 868 949 V 31 w(rotation,)h(then)g(the)f(rotation)h
(is)e(c)m(hosen)i(so)g(that)g Fy(c)25 b FJ(\025)2872
914 y FC(1)p 2842 929 95 4 v 2842 938 a Fu(p)p 2901 938
36 3 v 55 x FC(2)2946 949 y FK(.)0 1088 y(If)30 b(JR)m(OT)g(=)g(blas)p
633 1088 28 4 v 31 w(outer)p 871 1088 V 34 w(rotation,)h(then)f(the)g
(rotation)h(is)e(c)m(hosen)i(so)g(that)g(0)26 b FJ(\024)e
Fy(c)i FJ(\024)3043 1052 y FC(1)p 3014 1067 95 4 v 3014
1076 a Fu(p)p 3073 1076 36 3 v 55 x FC(2)3118 1088 y
FK(.)0 1216 y(If)k(JR)m(OT)g(=)g(blas)p 633 1216 28 4
v 31 w(sorted)p 907 1216 V 33 w(rotation,)h(then)f(the)h(rotation)g(is)
e(c)m(hosen)i(so)g(that)g Fy(abs)p FK(\()p Fy(a)p FK(\))25
b FJ(\025)g Fy(abs)p FK(\()p Fy(b)p FK(\).)141 1329 y(On)32
b(en)m(try)-8 b(,)34 b(the)f(argumen)m(t)h Fv(x)e FK(con)m(tains)h(the)
g(v)-5 b(alue)32 b Fy(x)p FK(,)i(and)e(on)h(exit)g(it)f(con)m(tains)h
(the)g(v)-5 b(alue)32 b Fy(a)p FK(.)48 b(On)32 b(en)m(try)-8
b(,)0 1442 y(the)34 b(argumen)m(t)f Fv(y)h FK(con)m(tains)f(the)h(v)-5
b(alue)32 b Fy(y)s FK(.)50 b(On)32 b(en)m(try)-8 b(,)35
b(the)f(argumen)m(t)g Fv(z)f FK(con)m(tains)g(the)h(v)-5
b(alue)32 b Fy(z)t FK(,)j(and)e(on)g(exit)0 1555 y(it)i(con)m(tains)g
(the)g(v)-5 b(alue)35 b Fy(b)p FK(.)55 b(The)34 b(argumen)m(ts)i
Fv(x)f FK(and)f Fv(z)h FK(are)g(real)g(scalars,)h(and)f(argumen)m(t)h
Fv(c)f FK(is)f(alw)m(a)m(ys)i(a)f(real)0 1668 y(scalar)30
b(and)g Fy(c)474 1635 y FC(2)534 1668 y FK(+)20 b FJ(j)p
Fy(s)p FJ(j)718 1635 y FC(2)788 1668 y FK(is)29 b(equal)h(to)h(one.)227
1877 y Fz(A)-5 b(dvic)g(e)39 b(to)h(implementors.)124
b FK(High-qualit)m(y)36 b(implemen)m(tations)g(of)i(this)e(routine)g
Fv(GEN)p 3346 1877 V 33 w(JROT)h FK(should)227 1989 y(do)s(cumen)m(t)28
b(the)h(accuracy)g(of)g(the)f(algorithms)g(used)f(in)g(those)i
(functions)e(so)i(as)f(to)h(alleviate)f(the)h(p)s(orta-)227
2102 y(bilit)m(y)21 b(problems)g(this)h(represen)m(ts.)39
b(\(See)23 b(NA)m(G)h(routine)e(F06BEF\).)k(\()p Fz(End)g(of)g(advic)-5
b(e)26 b(to)h(implementors.)p FK(\))136 2311 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 2532 y FD(SUBROUTINE)45
b(gen_jrot\()g(x,)i(y,)g(z,)g(c,)h(s)f([,)g(jrot])94
b(\))609 2645 y(REAL\(<wp>\),)45 b(INTENT)h(\(INOUT\))g(::)h(x,)g(z)609
2758 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h(::)g(y)609
2871 y(REAL\(<wp>\),)e(INTENT)h(\(OUT\))g(::)h(c)609
2984 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(s)609
3097 y(TYPE)g(\(blas_jrot_type\),)c(INTENT\(IN\),)i(OPTIONAL)g(::)i
(jrot)136 3318 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
3539 y FD(SUBROUTINE)45 b(BLAS_xGEN_JROT\()e(JROT,)k(X,)g(Y,)g(Z,)g(C,)
g(S)h(\))514 3652 y(INTEGER)570 b(JROT)514 3765 y(<rtype>)g(C,)48
b(X,)f(Z)514 3878 y(<type>)618 b(S,)48 b(Y)136 4099 y
FJ(\017)e FK(C)30 b(binding:)227 4321 y FD(void)47 b(BLAS_xgen_jrot\()d
(enum)i(blas_jrot_type)e(jrot,)i(RSCALAR_INOUT)f(x,)1230
4433 y(SCALAR_IN)g(y,)i(RSCALAR_INOUT)d(z,)j(RSCALAR_INOUT)e(c,)1230
4546 y(SCALAR_INOUT)f(s)j(\);)p 0 4768 3900 6 v 0 4880
a FK(GEN)p 206 4880 28 4 v 33 w(HOUSE)30 b(\(Generate)i(Householder)d
(transform\))1027 b(\()p Fy(\013;)15 b(x;)g(\034)10 b
FK(\))27 b FJ( )e FK(house\()p Fy(\013;)15 b(x)p FK(\))p
Fy(;)141 5106 y FK(The)30 b(routine)f Fv(GEN)p 825 5106
V 33 w(HOUSE)h FK(generates)i(an)e(elemen)m(tary)h(re\015ector)g
Fy(H)38 b FK(of)30 b(order)g Fy(n)p FK(,)g(suc)m(h)g(that)1320
5355 y Fy(H)7 b FK(\()1480 5299 y Fy(\013)1483 5412 y(x)1580
5355 y FK(\))25 b(=)g(\()1813 5299 y Fy(\014)1819 5412
y FK(0)1911 5355 y(\))31 b(and)e Fy(H)2236 5318 y Fw(H)2304
5355 y Fy(H)j FK(=)25 b Fy(I)7 b(;)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 46 56
46 55 bop 0 -165 a FK(46)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(where)38 b
Fy(\013)g FK(and)g Fy(\014)43 b FK(are)c(scalars,)h(and)d
Fy(x)h FK(is)g(an)g(\()p Fy(n)25 b FJ(\000)g FK(1\)-elemen)m(t)40
b(v)m(ector.)65 b Fy(\014)44 b FK(is)37 b(alw)m(a)m(ys)i(a)f(real)g
(scalar.)64 b Fy(H)45 b FK(is)0 204 y(represen)m(ted)30
b(in)f(the)i(form)1438 366 y Fy(H)i FK(=)25 b Fy(I)i
FJ(\000)20 b Fy(\034)10 b FK(\()1929 309 y(1)1928 422
y Fy(v)2016 366 y FK(\)\()43 b(1)83 b Fy(v)2304 333 y
Fw(T)2401 366 y FK(\))p Fy(;)0 666 y FK(where)28 b Fy(\034)38
b FK(is)27 b(a)h(scalar)h(and)e Fy(v)k FK(is)d(a)g(\()p
Fy(n)16 b FJ(\000)f FK(1\)-elemen)m(t)30 b(v)m(ector.)41
b Fy(\034)e FK(is)27 b(called)g(the)h(Householder)g(scalar)g(and)3638
522 y Ft( )3746 609 y FK(1)3745 722 y Fy(v)3834 522 y
Ft(!)0 839 y FK(the)e(Householder)g(v)m(ector.)41 b(Note)27
b(that)g(when)e Fy(x)i FK(is)e(a)h(complex)g(v)m(ector,)j
Fy(H)34 b FK(is)25 b(not)h(Hermitian.)38 b(If)26 b(the)h(elemen)m(ts)0
952 y(of)f Fy(x)f FK(are)h(zero,)i(and)d Fy(\013)h FK(is)f(real,)h
(then)f Fy(\034)36 b FK(is)25 b(equal)g(to)h(zero)g(and)f
Fy(H)33 b FK(is)25 b(tak)m(en)h(to)h(b)s(e)e(the)g(unit)g(matrix.)38
b(Otherwise,)0 1065 y(the)g(real)g(part)f(of)h Fy(\034)48
b FK(is)37 b(greater)i(than)f(or)g(equal)f(to)i(one)f(and)f(less)g
(than)h(or)g(equal)f(to)i(t)m(w)m(o.)65 b(Moreo)m(v)m(er,)42
b(the)0 1178 y(absolute)30 b(v)-5 b(alue)30 b(of)g(the)h(quan)m(tit)m
(y)g Fy(\034)f FJ(\000)20 b FK(1)31 b(is)e(less)h(than)g(or)g(equal)g
(to)h(one.)141 1290 y(On)f(exit,)h(the)f(scalar)h(argumen)m(t)g
Fv(alpha)f FK(is)f(o)m(v)m(erwritten)i(with)f(the)g(v)-5
b(alue)31 b(of)f(the)h(scalar)g Fy(\014)5 b FK(.)41 b(Similarly)-8
b(,)28 b(the)0 1403 y(v)m(ector)k(argumen)m(t)f Fv(x)f
FK(is)g(o)m(v)m(erwritten)h(with)e(the)i(v)m(ector)h
Fy(v)s FK(.)41 b(If)30 b Fv(n)g FK(is)g(less)f(than)i(or)f(equal)g(to)h
(zero,)h(this)d(function)0 1516 y(returns)e(immediately)f(with)h(the)h
(output)g(scalar)g Fv(tau)f FK(set)i(to)f(zero.)41 b(As)28
b(describ)s(ed)e(in)h(section)h(2.5.3,)i(the)e(v)-5 b(alue)0
1629 y Fv(incx)29 b FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)39
b(Ho)m(w)m(ev)m(er,)32 b(if)c Fv(incx)h FK(is)g(equal)g(to)h(zero,)g
(an)g(error)e(\015ag)i(is)f(set)h(and)e(passed)h(to)0
1742 y(the)i(error)f(handler.)227 1955 y Fz(A)-5 b(dvic)g(e)35
b(to)g(implementors.)95 b FK(High-qualit)m(y)31 b(implemen)m(tations)g
(of)h(this)g(routine)f Fv(GEN)p 3283 1955 28 4 v 33 w(HOUSE)h
FK(should)227 2068 y(b)s(e)e(accurate.)43 b(The)30 b(subroutines)e
Fv(SLARF)m(G)h FK(and)h Fv(CLARF)m(G)g FK(of)h(the)f(LAP)-8
b(A)m(CK)31 b([6)q(])g(soft)m(w)m(are)g(library)e(are)227
2180 y(examples)37 b(of)h(suc)m(h)f(an)h(accurate)h(implemen)m(tation.)
61 b(High-qualit)m(y)37 b(implemen)m(tations)f(should)f(do)s(cu-)227
2293 y(men)m(t)30 b(the)f(accuracy)i(of)e(the)g(algorithms)f(used)h(in)
f(those)h(functions)f(so)h(as)h(to)g(alleviate)f(the)g(p)s(ortabilit)m
(y)227 2406 y(problems)g(this)g(represen)m(ts.)41 b(\()p
Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p
FK(\))227 2619 y Fz(A)-5 b(dvic)g(e)30 b(to)h(users.)79
b FK(Routines)26 b(to)j(apply)d(Householder)g(transformations)h(are)h
(not)f(pro)m(vided.)39 b(The)27 b(sub-)227 2732 y(routines)h
Fv(xORMyy)f FK(of)i(the)g(LAP)-8 b(A)m(CK)29 b([6)q(])f(soft)m(w)m(are)
j(library)26 b(are)j(examples)f(of)h(suc)m(h)f(implemen)m(tations.)227
2845 y(\()p Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)h(users.)p
FK(\))136 3057 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3282 y FD(SUBROUTINE)45 b(gen_house\()g(alpha,)h(x,)h(tau)g(\))609
3395 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h(alpha)609
3508 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h(x\(:\))609
3621 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(tau)514
3734 y(where)609 3847 y(x)h(has)e(shape)h(\(n\))136 4072
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 4297
y FD(SUBROUTINE)45 b(BLAS_xGEN_HOUSE\()e(N,)k(ALPHA,)f(X,)h(INCX,)g
(TAU)g(\))514 4410 y(INTEGER)570 b(INCX,)47 b(N)514 4522
y(<type>)618 b(ALPHA,)47 b(TAU)514 4635 y(<type>)618
b(X\()48 b(*)f(\))136 4860 y FJ(\017)f FK(C)30 b(binding:)227
5085 y FD(void)47 b(BLAS_xgen_house\()c(int)k(n,)g(SCALAR_INOUT)e
(alpha,)h(ARRAY)g(x,)h(int)g(incx,)1277 5198 y(SCALAR_INOUT)e(tau)i
(\);)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 47 57
47 56 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(47)0 91 y Fx(2.8.4)97 b(V)m(ecto)m(r)34 b(Op)s(erations)0
263 y FK(RSCALE)29 b(\(Recipro)s(cal)h(Scale\))2430 b
Fy(x)25 b FJ( )g Fy(x=\013)141 489 y FK(The)37 b(routine)f
Fv(RSCALE)g FK(scales)h(the)g(en)m(tries)g(of)g(a)h(v)m(ector)g
Fy(x)f FK(b)m(y)g(the)g(real)g(scalar)g(1)p Fy(=\013)p
FK(.)62 b(The)36 b(scalar)h Fy(\013)h FK(is)0 602 y(alw)m(a)m(ys)g
(real)f(and)f(supp)s(osed)f(to)j(b)s(e)f(nonzero.)61
b(This)35 b(should)h(b)s(e)g(done)h(without)f(o)m(v)m(er\015o)m(w)j(or)
e(under\015o)m(w)f(as)0 715 y(long)k(as)i(the)f(\014nal)e(result)h
Fy(x=\013)i FK(do)s(es)e(not)h(o)m(v)m(er\015o)m(w)i(or)d(under\015o)m
(w.)71 b(If)41 b Fv(n)f FK(is)g(less)g(than)h(or)g(equal)f(to)i(zero,)0
827 y(this)c(routine)h(returns)f(immediately)-8 b(.)66
b(As)40 b(describ)s(ed)d(in)h(section)h(2.5.3,)44 b(the)c(v)-5
b(alue)39 b Fv(incx)g FK(less)g(than)g(zero)h(is)0 940
y(p)s(ermitted.)61 b(Ho)m(w)m(ev)m(er,)42 b(if)36 b Fv(incx)i
FK(is)f(equal)g(to)h(zero)h(or)e(if)g Fv(alpha)f FK(is)h(equal)g(to)i
(zero,)h(an)e(error)f(\015ag)h(is)e(set)j(and)0 1053
y(passed)30 b(to)h(the)g(error)f(handler.)227 1262 y
Fz(A)-5 b(dvic)g(e)38 b(to)g(implementors.)117 b FK(High-qualit)m(y)35
b(implemen)m(tations)f(of)i(this)f(routine)g Fv(RSCALE)h
FK(should)e(b)s(e)227 1375 y(accurate.)41 b(The)24 b(subroutine)e
Fv(xRSCL)i FK(of)h(the)g(LAP)-8 b(A)m(CK)25 b([6)q(])g(soft)m(w)m(are)h
(library)c(is)i(an)g(example)h(of)g(suc)m(h)f(an)227
1488 y(accurate)h(implemen)m(tation.)38 b(High-qualit)m(y)22
b(implemen)m(tations)g(should)g(do)s(cumen)m(t)h(the)h(accuracy)h(of)f
(the)227 1601 y(algorithms)k(used)h(in)f(those)h(functions)f(so)h(as)h
(to)g(alleviate)f(the)g(p)s(ortabilit)m(y)e(problems)h(this)g(represen)
m(ts.)227 1714 y(\()p Fz(End)33 b(of)g(advic)-5 b(e)33
b(to)h(implementors.)p FK(\))136 1923 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)514 2144 y FD(SUBROUTINE)45
b(rscale\()g(alpha,)i(x)g(\))609 2257 y(REAL\(<wp>\),)e(INTENT)h
(\(IN\))h(::)g(alpha)609 2370 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g
(::)h(x\(:\))514 2483 y(where)609 2596 y(x)h(has)e(shape)h(\(n\))136
2817 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
3039 y FD(SUBROUTINE)45 b(BLAS_xRSCALE\()f(N,)j(ALPHA,)f(X,)h(INCX)g
(\))514 3152 y(INTEGER)570 b(INCX,)47 b(N)514 3265 y(<rtype>)570
b(ALPHA)514 3378 y(<type>)618 b(X\()48 b(*)f(\))136 3599
y FJ(\017)f FK(C)30 b(binding:)227 3821 y FD(void)47
b(BLAS_xrscale\()d(int)j(n,)g(RSCALAR_IN)e(alpha,)h(ARRAY)h(x,)g(int)g
(incx)f(\);)p 0 4042 3900 6 v 0 4155 a FK(AXPBY)31 b(\(Scaled)f(v)m
(ector)i(accum)m(ulation\))1870 b Fy(y)28 b FJ( )d Fy(\013x)c
FK(+)f Fy(\014)5 b(y)141 4381 y FK(The)31 b(routine)f
Fv(AXPBY)g FK(scales)h(the)h(v)m(ector)h Fy(x)e FK(b)m(y)g
Fy(\013)h FK(and)f(the)g(v)m(ector)i Fy(y)h FK(b)m(y)d
Fy(\014)5 b FK(,)32 b(adds)f(these)h(t)m(w)m(o)g(v)m(ectors)h(to)0
4494 y(one)e(another)f(and)g(stores)h(the)g(result)e(in)g(the)i(v)m
(ector)h Fy(y)s FK(.)41 b(If)29 b Fv(n)i FK(is)e(less)h(than)g(or)h
(equal)f(to)h(zero,)g(or)g(if)e Fy(\013)i FK(is)e(equal)0
4607 y(to)k(zero)g(and)e Fy(\014)38 b FK(is)31 b(equal)g(to)i(one,)g
(this)e(routine)g(returns)g(immediately)-8 b(.)45 b(As)32
b(describ)s(ed)e(in)h(section)h(2.5.3,)j(the)0 4719 y(v)-5
b(alue)35 b Fv(incx)g FK(or)h Fv(incy)f FK(less)g(than)g(zero)h(is)e(p)
s(ermitted.)55 b(Ho)m(w)m(ev)m(er,)39 b(if)34 b(either)h
Fv(incx)g FK(or)h Fv(incy)f FK(is)f(equal)h(to)h(zero,)i(an)0
4832 y(error)30 b(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g
(handler.)136 5041 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 5287 y FD(SUBROUTINE)45 b(axpby\()h(x,)h(y)g([,)h
(alpha])e([,)h(beta])f(\))609 5400 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))
h(::)g(x\(:\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 48 58
48 57 bop 0 -165 a FK(48)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)609 91 y FD(<type>\(<wp>\),)44
b(INTENT)i(\(INOUT\))g(::)h(y\(:\))609 204 y(<type>\(<wp>\),)d(INTENT)i
(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g(beta)514 317 y(where)609
430 y(x)h(and)e(y)i(have)f(shape)f(\(n\))227 680 y FK(The)30
b(default)g(v)-5 b(alue)30 b(for)g Fy(\014)35 b FK(is)30
b(1.0)h(or)f(\(1.0,0.0\).)136 868 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(77)h(binding:)514 1093 y FD(SUBROUTINE)45
b(BLAS_xAXPBY\()f(N,)j(ALPHA,)f(X,)i(INCX,)e(BETA,)g(Y,)h(INCY)g(\))514
1205 y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)514 1318 y(<type>)618
b(ALPHA,)47 b(BETA)514 1431 y(<type>)618 b(X\()48 b(*)f(\),)g(Y\()g(*)h
(\))136 1656 y FJ(\017)e FK(C)30 b(binding:)227 1881
y FD(void)47 b(BLAS_xaxpby\()d(int)j(n,)g(SCALAR_IN)f(alpha,)g(const)g
(ARRAY)h(x,)g(int)g(incx,)1086 1994 y(SCALAR_IN)f(beta,)g(ARRAY)g(y,)i
(int)e(incy)h(\);)p 0 2219 3900 6 v 0 2332 a FK(W)-10
b(AXPBY)31 b(\(Scaled)g(v)m(ector)h(addition\))1964 b
Fy(w)28 b FJ( )d Fy(\013x)c FK(+)f Fy(\014)5 b(y)141
2558 y FK(The)33 b(routine)f Fv(W)-8 b(AXPBY)32 b FK(scales)h(the)h(v)m
(ector)g Fy(x)f FK(b)m(y)g Fy(\013)h FK(and)f(the)g(v)m(ector)i
Fy(y)h FK(b)m(y)d Fy(\014)5 b FK(,)34 b(adds)e(these)i(t)m(w)m(o)g(v)m
(ectors)0 2671 y(to)d(one)f(another)h(and)e(stores)i(the)f(result)f(in)
g(the)h(v)m(ector)i Fy(w)r FK(.)41 b(If)30 b Fv(n)g FK(is)f(less)g
(than)h(or)g(equal)g(to)h(zero,)g(this)e(routine)0 2784
y(returns)i(immediately)-8 b(.)46 b(As)32 b(describ)s(ed)f(in)g
(section)i(2.5.3,)i(the)d(v)-5 b(alue)32 b Fv(incx)h
FK(or)f Fv(incy)h FK(or)f Fv(incw)h FK(less)e(than)i(zero)g(is)0
2897 y(p)s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)31 b(if)c(either)h
Fv(incx)g FK(or)h Fv(incy)f FK(or)g Fv(incw)h FK(is)e(equal)h(to)h
(zero,)h(an)e(error)g(\015ag)h(is)f(set)h(and)e(passed)h(to)0
3010 y(the)j(error)f(handler.)136 3222 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)514 3472 y FD(SUBROUTINE)45
b(waxpby\()g(x,)j(y,)f(w)g([,)g(alpha])g([,)g(beta])f(\))609
3585 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(x\(:\),)g(y\(:\))609
3698 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(w\(:\))609
3811 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g
(beta)514 3924 y(where)609 4037 y(x,)g(y)h(and)f(w)g(have)g(shape)f
(\(n\))227 4286 y FK(The)30 b(default)g(v)-5 b(alue)30
b(for)g Fy(\014)35 b FK(is)30 b(1.0)h(or)f(\(1.0,0.0\).)136
4474 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
4699 y FD(SUBROUTINE)45 b(BLAS_xWAXPBY\()f(N,)j(ALPHA,)f(X,)h(INCX,)g
(BETA,)f(Y,)h(INCY,)g(W,)g(INCW)f(\))514 4812 y(INTEGER)570
b(INCW,)47 b(INCX,)f(INCY,)h(N)514 4925 y(<type>)618
b(ALPHA,)47 b(BETA)514 5038 y(<type>)618 b(W\()48 b(*)f(\),)g(X\()g(*)h
(\),)f(Y\()g(*)h(\))136 5263 y FJ(\017)e FK(C)30 b(binding:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 49 59
49 58 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(49)227 91 y FD(void)47 b(BLAS_xwaxpby\()d(int)j(n,)g(SCALAR_IN)e
(alpha,)i(const)f(ARRAY)g(x,)h(int)g(incx,)1134 204 y(SCALAR_IN)e
(beta,)i(const)f(ARRAY)g(y,)i(int)f(incy,)f(ARRAY)g(w,)1134
317 y(int)h(incw)g(\);)p 0 542 3900 6 v 0 655 a FK(AXPY)p
271 655 28 4 v 33 w(DOT)30 b(\(Com)m(bined)f(AXPY)i(and)f(DOT\))1308
b(^)-63 b Fy(w)27 b FJ( )f Fy(w)c FJ(\000)e Fy(\013v)s(;)15
b(r)29 b FJ( )44 b FK(^)-64 b Fy(w)3792 622 y Fw(T)3848
655 y Fy(u)141 881 y FK(The)30 b(routine)g(com)m(bines)g(an)h(axp)m(y)g
(and)f(a)h(dot)g(pro)s(duct.)41 b Fy(w)33 b FK(is)d(decremen)m(ted)i(b)
m(y)e(a)h(m)m(ultiple)e(of)i Fy(v)s FK(.)42 b(A)31 b(dot)0
994 y(pro)s(duct)e(is)h(then)g(computed)g(with)f(the)h(decremen)m(ted)i
Fy(w)r FK(.)227 1206 y Fz(A)-5 b(dvic)g(e)39 b(to)h(implementors.)123
b FK(Note)39 b(that)56 b(^)-63 b Fy(w)39 b FK(ma)m(y)f(b)s(e)f(used)f
(to)i(up)s(date)e Fy(r)k FK(b)s(efore)d(it)g(is)f(written)g(bac)m(k)227
1319 y(to)43 b(memory)-8 b(.)76 b(This)41 b(optimization,)j(whic)m(h)d
(accelerates)j(algorithms)c(lik)m(e)i(mo)s(di\014ed)e(Gram-Sc)m(hmidt)
227 1432 y(orthogonalization,)29 b(is)e(the)i(justi\014cation)e(for)h
Fv(AXPY)p 2096 1432 V 31 w(DOT)p FK(,)g(whic)m(h)f(could)g(otherwise)h
(b)s(e)f(implemen)m(ted)227 1545 y(b)m(y)k(calls)e(to)i
Fv(AXPBY)e FK(and)h Fv(DOT)p FK(.)g(\()p Fz(End)j(of)g(advic)-5
b(e)33 b(to)g(implementors.)p FK(\))141 1758 y(If)26
b Fv(n)g FK(is)f(less)g(than)h(or)g(equal)g(to)h(zero,)h(this)d
(routine)g(returns)g(immediately)-8 b(.)38 b(As)26 b(describ)s(ed)e(in)
h(section)h(2.5.3,)0 1870 y(the)31 b(v)-5 b(alue)30 b
Fv(incw)h FK(or)g Fv(incv)g FK(or)g Fv(incu)g FK(less)f(than)g(zero)i
(is)e(p)s(ermitted.)40 b(Ho)m(w)m(ev)m(er,)34 b(if)29
b(either)i Fv(incw)g FK(or)f Fv(incv)h FK(or)g Fv(incu)g
FK(is)0 1983 y(equal)f(to)h(zero,)g(an)g(error)f(\015ag)g(is)g(set)h
(and)e(passed)h(to)h(the)g(error)f(handler.)136 2196
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2421 y FD(SUBROUTINE)45 b(axpy_dot\()g(w,)i(v,)g(u,)g(r)h([,)f(alpha])f
(\))609 2534 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(v\(:\),)g
(u\(:\))609 2647 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h(w\(:\))
609 2760 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(r)609
2873 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha)514
2985 y(where)609 3098 y(u,)g(v)h(and)f(w)g(have)g(shape)f(\(n\))136
3323 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
3548 y FD(SUBROUTINE)45 b(BLAS_xAXPY_DOT\()e(N,)k(ALPHA,)g(W,)g(INCW,)f
(V,)h(INCV,)g(U,)g(INCU,)466 3661 y($)1288 b(R)48 b(\))514
3774 y(INTEGER)570 b(INCW,)47 b(INCV,)f(INCU,)h(N)514
3887 y(<type>)618 b(ALPHA,)47 b(R)514 4000 y(<type>)618
b(W\()48 b(*)f(\),)g(V\()g(*)h(\),)f(U\()g(*)h(\))136
4225 y FJ(\017)e FK(C)30 b(binding:)227 4450 y FD(void)47
b(BLAS_xaxpy_dot\()d(int)i(n,)i(SCALAR_IN)d(alpha,)h(ARRAY)g(w,)i(int)e
(incw,)1230 4563 y(const)g(ARRAY)g(v,)h(int)g(incv,)g(const)f(ARRAY)g
(u,)i(int)f(incu,)1230 4676 y(SCALAR_INOUT)d(r)j(\);)p
0 4901 3900 6 v 0 5014 a FK(APPL)-8 b(Y)p 314 5014 28
4 v 33 w(GR)m(OT)30 b(\(Apply)g(plane)f(rotation\))1468
b(\()42 b Fy(x)83 b(y)44 b FK(\))26 b FJ( )f FK(\()42
b Fy(x)83 b(y)44 b FK(\))p Fy(R)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 50 60
50 59 bop 0 -165 a FK(50)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)141 91 y FK(The)c(routine)f
Fv(APPL)-8 b(Y)p 921 91 28 4 v 33 w(GROT)27 b FK(applies)f(a)j(plane)e
(rotation)i(to)g(the)f(v)m(ectors)i Fy(x)e FK(and)f Fy(y)s
FK(.)40 b(When)28 b(the)g(v)m(ectors)i Fy(x)0 204 y FK(and)g
Fy(y)k FK(are)d(real)f(v)m(ectors,)j(the)e(scalars)f
Fy(c)h FK(and)g Fy(s)f FK(are)h(real)f(scalars.)42 b(When)31
b(the)g(v)m(ectors)h Fy(x)e FK(and)h Fy(y)i FK(are)e(complex)0
317 y(v)m(ectors,)h Fy(c)f FK(is)e(a)i(real)f(scalar)g(and)g
Fy(s)g FK(is)f(a)i(complex)f(scalar.)41 b(This)28 b(routine)i(computes)
961 561 y FJ(8)g Fy(i)c FJ(2)f FK([0)15 b Fy(:)g(:)g(:)i(n)j
FJ(\000)f FK(1])p Fy(;)1667 417 y Ft( )1776 504 y Fy(x)1828
518 y Fw(i)1780 617 y Fy(y)1825 631 y Fw(i)1897 417 y
Ft(!)1988 561 y FK(=)2084 417 y Ft( )2229 504 y Fy(c)120
b(s)2192 617 y FJ(\000)t FK(\026)-49 b Fy(s)84 b(c)2472
417 y Ft(!)2558 561 y FJ(\001)2603 417 y Ft( )2711 504
y Fy(x)2763 518 y Fw(i)2714 617 y Fy(y)2759 631 y Fw(i)2832
417 y Ft(!)2913 561 y Fy(:)0 805 y FK(If)38 b Fv(n)h
FK(is)f(less)g(than)h(or)g(equal)f(to)i(zero)g(or)f(if)e
Fy(c)j FK(is)e(one)h(and)f Fy(s)g FK(is)g(zero,)k(the)e(routine)d
Fv(APPL)-8 b(Y)p 3301 805 V 33 w(GROT)38 b FK(returns)0
918 y(immediately)-8 b(.)59 b(As)36 b(describ)s(ed)f(in)g(section)i
(2.5.3,)k(the)c(v)-5 b(alue)36 b(of)h Fv(incx)g FK(or)f
Fv(incy)h FK(less)f(than)h(zero)g(is)f(p)s(ermitted.)0
1030 y(Ho)m(w)m(ev)m(er,)d(if)c Fv(incx)h FK(or)h Fv(incy)f
FK(is)f(equal)h(to)h(zero,)h(an)e(error)g(\015ag)h(is)e(set)i(and)f
(passed)g(to)h(the)f(error)g(handler.)136 1222 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 1426 y FD(SUBROUTINE)45
b(apply_grot\()f(c,)k(s,)f(x,)g(y)g(\))609 1539 y(REAL\(<wp>\),)e
(INTENT)h(\(IN\))h(::)g(c)609 1652 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))
h(::)g(s)609 1765 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h
(x\(:\),)g(y\(:\))514 1878 y(where)609 1991 y(x)h(and)e(y)i(have)f
(shape)f(\(n\))136 2195 y FJ(\017)g FK(F)-8 b(ortran)31
b(77)h(binding:)514 2399 y FD(SUBROUTINE)45 b(BLAS_xAPPLY_GROT\()e(N,)k
(C,)g(S,)g(X,)g(INCX,)g(Y,)g(INCY)g(\))514 2512 y(INTEGER)570
b(INCX,)47 b(INCY,)f(N)514 2625 y(<rtype>)570 b(C)514
2738 y(<type>)618 b(S)514 2851 y(<type>)g(X\()48 b(*)f(\),)g(Y\()g(*)h
(\))136 3055 y FJ(\017)e FK(C)30 b(binding:)227 3259
y FD(void)47 b(BLAS_xapply_grot\()c(int)k(n,)g(RSCALAR_IN)e(c,)i
(SCALAR_IN)f(s,)h(ARRAY)f(x,)h(int)g(incx,)1325 3372
y(ARRAY)f(y,)i(int)e(incy)h(\);)p 0 3576 3900 6 v 0 3816
a Fx(2.8.5)97 b(Data)32 b(Movement)h(with)g(V)m(ecto)m(rs)0
3988 y FK(COPY)d(\(V)-8 b(ector)32 b(cop)m(y\))2823 b
Fy(y)28 b FJ( )d Fy(x)141 4214 y FK(The)31 b(routine)g
Fv(COPY)h FK(copies)f(the)h(v)m(ector)i Fy(x)d FK(in)m(to)h(the)g(v)m
(ector)i Fy(y)s FK(.)44 b(If)32 b Fv(n)f FK(is)g(less)g(than)h(or)g
(equal)f(to)i(zero,)g(the)0 4327 y(routine)f(returns)f(immediately)-8
b(.)46 b(As)32 b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)e(v)-5
b(alue)32 b Fv(incx)g FK(or)h Fv(incy)f FK(less)g(than)h(zero)g(is)0
4440 y(p)s(ermitted.)56 b(Ho)m(w)m(ev)m(er,)39 b(if)c(either)h
Fv(incx)f FK(or)h Fv(incy)g FK(is)f(equal)h(to)g(zero,)j(an)c(error)h
(\015ag)g(is)f(set)h(and)g(passed)f(to)i(the)0 4553 y(error)30
b(handler.)136 4744 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 4948 y FD(SUBROUTINE)45 b(copy\()h(x,)h(y)h(\))609
5061 y(<type>\(<wp>\),)c(INTENT)i(\(IN\))h(::)g(x\(:\))609
5174 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(y\(:\))514
5287 y(where)609 5400 y(x)h(and)e(y)i(have)f(shape)f(\(n\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 51 61
51 60 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(51)227 91 y(This)29 b(is)g(similar)f(to)j(the)g(F)-8
b(ortran)31 b(95)g(assignmen)m(t)f Fz(y=x)p FK(.)136
275 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
488 y FD(SUBROUTINE)45 b(BLAS_xCOPY\()f(N,)k(X,)f(INCX,)f(Y,)h(INCY)g
(\))514 601 y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)514
714 y(<type>)618 b(X\()48 b(*)f(\),)g(Y\()g(*)h(\))136
927 y FJ(\017)e FK(C)30 b(binding:)227 1140 y FD(void)47
b(BLAS_xcopy\()e(int)i(n,)g(const)f(ARRAY)g(x,)i(int)f(incx,)f(ARRAY)g
(y,)h(int)g(incy)g(\);)p 0 1353 3900 6 v 0 1466 a FK(SW)-10
b(AP)30 b(\(Sw)m(ap\))3085 b Fy(y)28 b FJ($)d Fy(x)141
1691 y FK(The)39 b(routine)f Fv(SW)-8 b(AP)38 b FK(in)m(terc)m(hanges)i
(the)f(v)m(ectors)i Fy(x)e FK(and)f Fy(y)s FK(.)67 b(If)39
b Fv(n)g FK(is)f(less)g(than)h(or)g(equal)g(to)g(zero,)k(the)0
1804 y(routine)32 b(returns)f(immediately)-8 b(.)46 b(As)32
b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)e(v)-5 b(alue)32
b Fv(incx)g FK(or)h Fv(incy)f FK(less)g(than)h(zero)g(is)0
1917 y(p)s(ermitted.)56 b(Ho)m(w)m(ev)m(er,)39 b(if)c(either)h
Fv(incx)f FK(or)h Fv(incy)g FK(is)f(equal)h(to)g(zero,)j(an)c(error)h
(\015ag)g(is)f(set)h(and)g(passed)f(to)i(the)0 2030 y(error)30
b(handler.)136 2231 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 2444 y FD(SUBROUTINE)45 b(swap\()h(x,)h(y)h(\))609
2556 y(<type>\(<wp>\),)c(INTENT)i(\(INOUT\))g(::)h(x\(:\),)g(y\(:\))514
2669 y(where)609 2782 y(x)h(and)e(y)i(have)f(shape)f(\(n\))136
2995 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
3208 y FD(SUBROUTINE)45 b(BLAS_xSWAP\()f(N,)k(X,)f(INCX,)f(Y,)h(INCY)g
(\))514 3321 y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)514
3434 y(<type>)618 b(X\()48 b(*)f(\),)g(Y\()g(*)h(\))136
3647 y FJ(\017)e FK(C)30 b(binding:)227 3860 y FD(void)47
b(BLAS_xswap\()e(int)i(n,)g(ARRAY)f(x,)h(int)g(incx,)g(ARRAY)f(y,)h
(int)g(incy)g(\);)p 0 4073 V 0 4186 a FK(SOR)-8 b(T)30
b(\(Sort)g(v)m(ector\))2647 b Fy(x)25 b FJ( )g FK(sort\()p
Fy(x)p FK(\))141 4412 y(The)39 b(routine)g Fv(SORT)f
FK(sorts)i(the)f(en)m(tries)g(of)h(a)g(real)f(v)m(ector)i
Fy(x)f FK(in)e(increasing)g(or)h(decreasing)h(order)f(and)0
4525 y(o)m(v)m(erwrites)h(this)f(v)m(ector)i Fy(x)e FK(with)g(the)h
(sorted)f(v)m(ector.)70 b(If)40 b Fv(n)f FK(is)g(less)g(than)g(or)h
(equal)f(to)h(zero,)j(the)d(function)0 4638 y(returns)h(immediately)-8
b(.)77 b(As)42 b(describ)s(ed)f(in)g(section)i(2.5.3,)k(the)c(v)-5
b(alue)42 b Fv(incx)h FK(less)f(than)g(zero)h(is)f(p)s(ermitted.)0
4750 y(Ho)m(w)m(ev)m(er,)33 b(if)c Fv(incx)h FK(is)g(equal)g(to)h
(zero,)g(an)f(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g
(error)f(handler.)227 4951 y Fz(A)-5 b(dvic)g(e)39 b(to)f(users.)118
b FK(The)36 b(routine)g Fv(SORT)f FK(strictly)h(op)s(erates)h(on)f
(real)g(v)m(ectors.)61 b(This)35 b(routine)g(is)h(not)227
5064 y(de\014ned)29 b(for)i(complex)f(v)m(ectors.)42
b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(users.)p
FK(\))227 5264 y Fz(A)-5 b(dvic)g(e)33 b(to)g(implementors.)84
b FK(The)30 b(subroutine)f Fv(xLASRT)g FK(of)i(the)f(LAP)-8
b(A)m(CK)31 b([6)q(])f(soft)m(w)m(are)i(library)c(is)i(an)227
5377 y(example)g(of)h(suc)m(h)f(a)h(routine.)39 b(\()p
Fz(End)34 b(of)e(advic)-5 b(e)34 b(to)f(implementors.)p
FK(\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 52 62
52 61 bop 0 -165 a FK(52)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)136 91 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)37 b Fz(R)-5 b(efer)33
b(to)g(SOR)-7 b(TV)33 b(sp)-5 b(e)g(ci\014c)g(ation)136
279 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
504 y FD(SUBROUTINE)45 b(BLAS_xSORT\()f(SORT,)j(N,)g(X,)g(INCX)g(\))514
617 y(INTEGER)570 b(INCX,)47 b(N,)g(SORT)514 730 y(<rtype>)570
b(X\()48 b(*)f(\))136 955 y FJ(\017)f FK(C)30 b(binding:)227
1180 y FD(void)47 b(BLAS_xsort\()e(enum)h(blas_sort_type)e(sort,)j(int)
f(n,)i(RARRAY)e(x,)h(int)g(incx)f(\);)p 0 1405 3900 6
v 0 1518 a FK(SOR)-8 b(TV)30 b(\(Sort)g(v)m(ector)i(&)e(return)g(index)
e(v)m(ector\))1525 b(\()p Fy(p;)15 b(x)p FK(\))26 b FJ( )f
FK(sort\()p Fy(x)p FK(\))141 1743 y(The)35 b(routine)g
Fv(SORTV)f FK(sorts)i(the)g(en)m(tries)f(of)h(a)g(real)g(v)m(ector)h
Fy(x)e FK(in)g(increasing)f(or)i(decreasing)f(order)h(and)0
1856 y(o)m(v)m(erwrites)d(this)f(v)m(ector)i Fy(x)f FK(with)f(the)h
(sorted)g(v)m(ector)h(\()p Fy(x)c FK(=)f Fy(P)34 b FJ(\003)23
b Fy(x)p FK(\).)48 b(If)32 b Fv(n)h FK(is)f(less)g(than)h(or)f(equal)h
(to)g(zero,)i(the)0 1969 y(routine)c(returns)g(immediately)-8
b(.)46 b(As)32 b(describ)s(ed)e(in)h(section)h(2.5.3,)j(the)e(v)-5
b(alue)31 b Fv(incx)i FK(or)f Fv(incp)g FK(less)g(than)g(zero)h(is)0
2082 y(p)s(ermitted.)55 b(Ho)m(w)m(ev)m(er,)39 b(if)c(either)g
Fv(incx)h FK(or)f Fv(incp)h FK(is)f(equal)g(to)h(zero,)i(an)e(error)f
(\015ag)h(is)f(set)h(and)f(passed)g(to)i(the)0 2195 y(error)30
b(handler.)141 2308 y(The)g(represen)m(tation)g(of)h(the)g(p)s(erm)m
(utation)e(v)m(ector)j Fy(p)e FK(is)f(describ)s(ed)g(in)g(section)h
(2.2.6.)227 2521 y Fz(A)-5 b(dvic)g(e)36 b(to)g(users.)100
b FK(The)33 b(routine)g Fv(SORTV)f FK(strictly)h(op)s(erates)h(on)f
(real)h(v)m(ectors.)52 b(This)31 b(routine)i(is)g(not)227
2633 y(de\014ned)c(for)i(complex)f(v)m(ectors.)42 b(\()p
Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(users.)p FK(\))136
2846 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3096 y FD(SUBROUTINE)45 b(sortv\()h(x)h([,)g(sort])g([,)g(p])g(\))609
3209 y(REAL\(<wp>\),)e(INTENT)h(\(INOUT\))g(::)h(x\(:\))609
3322 y(TYPE)g(\(blas_sort_type\),)c(INTENT)j(\(IN\),)g(OPTIONAL)g(::)h
(sort)609 3435 y(INTEGER,)f(INTENT)g(\(OUT\),)g(OPTIONAL)f(::)j(p\(:\))
514 3548 y(where)609 3660 y(x)g(and)e(p)i(have)f(shape)f(\(n\))227
3910 y FK(The)30 b(functionalit)m(y)f(of)i(SOR)-8 b(T)29
b(is)g(co)m(v)m(ered)j(b)m(y)f(SOR)-8 b(TV.)136 4098
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
4323 y FD(SUBROUTINE)45 b(BLAS_xSORTV\()f(SORT,)i(N,)i(X,)f(INCX,)f(P,)
h(INCP)g(\))514 4436 y(INTEGER)570 b(INCP,)47 b(INCX,)f(N,)h(SORT)514
4549 y(INTEGER)570 b(P\()48 b(*)f(\))514 4662 y(<rtype>)570
b(X\()48 b(*)f(\))136 4887 y FJ(\017)f FK(C)30 b(binding:)227
5112 y FD(void)47 b(BLAS_xsortv\()d(enum)j(blas_sort_type)d(sort,)i
(int)h(n,)g(RARRAY)f(x,)i(int)f(incx,)1086 5225 y(int)g(*p,)g(int)g
(incp)g(\);)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 53 63
53 62 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(53)p 0 91 3900 6 v 0 204 a(PERMUTE)30 b(\(P)m(erm)m(ute)i(v)m
(ector\))2407 b Fy(x)25 b FJ( )g Fy(P)13 b(x)141 430
y FK(The)29 b(routine)f Fv(PERMUTE)g FK(p)s(erm)m(utes)h(the)g(en)m
(tries)g(of)g(a)g(v)m(ector)i Fy(x)e FK(according)g(to)h(the)f(p)s(erm)
m(utation)f(v)m(ector)0 543 y Fy(p)p FK(.)40 b(If)29
b Fv(n)g FK(is)f(less)h(than)g(or)g(equal)g(to)h(zero,)g(the)g(routine)
e(returns)g(immediately)-8 b(.)39 b(As)29 b(describ)s(ed)f(in)f
(section)j(2.5.3,)0 656 y(the)k(v)-5 b(alue)33 b Fv(incx)g
FK(or)h Fv(incp)f FK(less)g(than)g(zero)i(is)d(p)s(ermitted.)49
b(Ho)m(w)m(ev)m(er,)37 b(if)32 b(either)h Fv(incx)h FK(or)f
Fv(incp)h FK(is)f(equal)g(to)h(zero,)0 769 y(an)c(error)g(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)141
882 y(The)35 b(enco)s(ding)g(of)h(the)f(p)s(erm)m(utation)g
Fy(P)48 b FK(in)35 b(the)h(v)m(ector)h Fy(p)e FK(follo)m(ws)g(the)h
(same)g(con)m(v)m(en)m(tions)g(as)g(the)g(ones)0 995
y(describ)s(ed)28 b(ab)s(o)m(v)m(e)k(for)e(the)h(routine)e
Fv(SORTV)p FK(.)g(Refer)i(to)g(section)f(2.2.6)i(for)e(complete)h
(details.)136 1205 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 1427 y FD(SUBROUTINE)45 b(permute\()g(x,)i(p)h(\))
609 1540 y(<type>\(<wp>\),)c(INTENT)i(\(INOUT\))g(::)h(x\(:\))609
1653 y(INTEGER,)f(INTENT)g(\(IN\))g(::)i(p\(:\))514 1766
y(where)609 1879 y(x)g(and)e(p)i(have)f(shape)f(\(n\))136
2102 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
2324 y FD(SUBROUTINE)45 b(BLAS_xPERMUTE\()f(N,)j(P,)g(INCP,)f(X,)h
(INCX)g(\))514 2437 y(INTEGER)570 b(INCP,)47 b(INCX,)f(N)514
2550 y(INTEGER)570 b(P\()48 b(*)f(\))514 2663 y(<type>)618
b(X\()48 b(*)f(\))227 2885 y FK(The)30 b(v)-5 b(alue)30
b(of)h FD(INCP)f FK(ma)m(y)h(b)s(e)f(p)s(ositiv)m(e)f(or)i(negativ)m
(e.)43 b(A)30 b(negativ)m(e)i(v)-5 b(alue)30 b(of)h FD(INCP)e
FK(applies)g(the)i(p)s(erm)m(u-)227 2998 y(tation)g(in)e(the)i(opp)s
(osite)e(direction.)136 3185 y FJ(\017)46 b FK(C)30 b(binding:)227
3408 y FD(void)47 b(BLAS_xpermute\()d(int)j(n,)g(const)f(int)h(*p,)g
(int)g(incp,)f(ARRAY)h(x,)g(int)g(incx)f(\);)227 3630
y FK(The)30 b(v)-5 b(alue)30 b(of)h FD(incp)f FK(ma)m(y)h(b)s(e)f(p)s
(ositiv)m(e)f(or)i(negativ)m(e.)43 b(A)30 b(negativ)m(e)i(v)-5
b(alue)30 b(of)h FD(incp)e FK(applies)g(the)i(p)s(erm)m(u-)227
3743 y(tation)g(in)e(the)i(opp)s(osite)e(direction.)0
3986 y Fx(2.8.6)97 b(Matrix-V)m(ecto)m(r)33 b(Op)s(erations)0
4158 y FK(In)d(the)g(follo)m(wing)f(section,)i Fy(op)p
FK(\()p Fy(X)7 b FK(\))31 b(denotes)g Fy(X)7 b FK(,)31
b(or)f Fy(X)1916 4125 y Fw(T)2002 4158 y FK(or)g Fy(X)2195
4125 y Fw(H)2293 4158 y FK(where)g Fy(X)38 b FK(is)29
b(a)i(matrix.)0 4384 y FJ(f)p FK(GE,GB)p FJ(g)p FK(MV)i(\(Matrix)e(v)m
(ector)h(pro)s(duct\))1630 b Fy(y)29 b FJ( )c Fy(\013op)p
FK(\()p Fy(A)p FK(\))p Fy(x)c FK(+)f Fy(\014)5 b(y)141
4610 y FK(The)32 b(routines)g(p)s(erform)f(a)i(matrix)f(v)m(ector)j(m)m
(ultiply)30 b Fy(y)h FJ( )f Fy(\013op)p FK(\()p Fy(A)p
FK(\))p Fy(x)22 b FK(+)g Fy(\014)5 b(y)36 b FK(where)c
Fy(\013)h FK(and)f Fy(\014)38 b FK(are)33 b(scalars,)0
4723 y(and)i Fy(A)h FK(is)e(a)i(general)g(\(or)g(general)f(band\))g
(matrix.)56 b(If)35 b Fv(m)h FK(or)f Fv(n)h FK(is)e(less)h(than)h(or)f
(equal)g(to)h(zero)h(or)e(if)g Fv(b)s(eta)g FK(is)0 4835
y(equal)d(to)i(one)f(and)g Fv(alpha)e FK(is)h(equal)h(to)g(zero,)i
(this)d(routine)g(returns)f(immediately)-8 b(.)47 b(As)33
b(describ)s(ed)e(in)h(section)0 4948 y(2.5.3,)j(the)e(v)-5
b(alue)33 b Fv(incx)g FK(or)f Fv(incy)h FK(less)f(than)h(zero)g(is)f(p)
s(ermitted.)47 b(Ho)m(w)m(ev)m(er,)36 b(if)31 b(either)i
Fv(incx)f FK(or)h Fv(incy)g FK(is)f(equal)g(to)0 5061
y(zero,)f(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)f(to)i(the)g
(error)f(handler.)38 b(F)-8 b(or)31 b(the)g(routine)e
Fv(GEMV)p FK(,)h(if)f Fv(lda)g FK(is)h(less)f(than)0
5174 y(one,)37 b(or)e Fy(tr)s(ans)c FK(=)i Fy(bl)r(as)p
836 5174 28 4 v 32 w(no)p 967 5174 V 33 w(tr)s(ans)g
FK(and)i Fv(lda)f FK(is)g(less)g(than)h Fv(m)p FK(,)i(or)e
Fy(tr)s(ans)c FK(=)i Fy(bl)r(as)p 2837 5174 V 32 w(tr)s(ans)h
FK(and)g Fv(lda)h FK(is)f(less)g(than)0 5287 y Fv(n)p
FK(,)j(an)f(error)f(\015ag)h(is)e(set)j(and)e(passed)g(to)h(the)g
(error)f(handler.)55 b(F)-8 b(or)36 b(the)g(C)f(bindings)e(of)i
Fv(GEMV)p FK(,)g(if)g FD(order)46 b(=)0 5400 y(blas)p
198 5400 29 4 v 33 w(rowmajor)25 b FK(and)i(if)g Fv(lda)g
FK(is)f(less)h(than)g(one)h(or)f Fv(lda)g FK(is)g(less)f(than)i
Fv(n)p FK(,)g(an)f(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 54 64
54 63 bop 0 -165 a FK(54)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(error)e(handler;)g(if)g
FD(order)46 b(=)h(blas)p 1241 91 29 4 v 34 w(colmajor)28
b FK(and)i(if)g Fv(lda)g FK(is)g(less)g(than)h(one)g(or)g
Fv(lda)f FK(is)g(less)g(than)g Fv(m)p FK(,)i(an)e(error)0
204 y(\015ag)j(is)e(set)h(and)g(passed)g(to)h(the)f(error)g(handler.)44
b(F)-8 b(or)33 b(the)g(routine)e Fv(GBMV)p FK(,)f(if)i
Fv(kl)g FK(or)g Fv(ku)h FK(is)e(less)g(than)h(zero,)i(or)0
317 y(if)29 b Fv(lda)h FK(is)f(less)h(than)g Fv(kl)h
FK(plus)d Fv(ku)j FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)f(set)g
(and)g(passed)g(to)h(the)g(error)f(handler.)136 530 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
755 y FD(SUBROUTINE)45 b(gbmv\()i(a,)g(m,)g(kl,)g(x,)g(y)g([,)h(trans])
e([,)h(alpha])f([,)h(beta])g(\))514 868 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(a\(:,:\),)f(x\(:\))514 980 y(INTEGER,)f
(INTENT\(IN\))g(::)i(m,)h(kl)514 1093 y(<type>\(<wp>\),)c
(INTENT\(INOUT\))g(::)j(y\(:\))514 1206 y(TYPE)f(\(blas_trans_type\),)d
(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514 1319 y(<type>\(<wp>\),)c
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)418 1432
y(where)514 1545 y(if)h(trans)f(=)i(blas_no_trans)c(then)657
1658 y(x)j(has)g(shape)g(\(n\))657 1771 y(y)g(has)g(shape)g(\(m\))514
1884 y(else)f(if)h(trans)g(=/)g(blas_no_trans)d(then)657
1997 y(x)j(has)g(shape)g(\(m\))657 2110 y(y)g(has)g(shape)g(\(n\))514
2222 y(end)g(if)227 2447 y FK(The)30 b(functionalit)m(y)f(of)i
Fv(gemv)g FK(is)e(co)m(v)m(ered)j(b)m(y)e Fv(gemm)p FK(.)136
2635 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2860 y FD(General:)514 2973 y(SUBROUTINE)45 b(BLAS_xGEMV\()f(TRANS,)i
(M,)i(N,)f(ALPHA,)f(A,)h(LDA,)g(X,)g(INCX,)f(BETA,)466
3086 y($)1097 b(Y,)48 b(INCY)e(\))227 3199 y(General)g(Band:)514
3312 y(SUBROUTINE)f(BLAS_xGBMV\()f(TRANS,)i(M,)i(N,)f(KL,)g(KU,)g
(ALPHA,)f(A,)h(LDA,)g(X,)466 3425 y($)1097 b(INCX,)47
b(BETA,)f(Y,)h(INCY)g(\))227 3538 y(all:)514 3650 y(INTEGER)570
b(INCX,)47 b(INCY,)f(KL,)h(KU,)g(LDA,)g(M,)g(N,)g(TRANS)514
3763 y(<type>)618 b(ALPHA,)47 b(BETA)514 3876 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\),)f(X\()g(*)h(\),)f(Y\()g(*)g(\))136
4101 y FJ(\017)f FK(C)30 b(binding:)227 4326 y FD(General:)227
4439 y(void)47 b(BLAS_xgemv\()e(enum)h(blas_order_type)e(order,)i(enum)
h(blas_trans_type)c(trans,)1039 4552 y(int)k(m,)g(int)g(n,)g(SCALAR_IN)
e(alpha,)h(const)h(ARRAY)f(a,)h(int)g(lda,)1039 4665
y(const)f(ARRAY)g(x,)i(int)e(incx,)h(SCALAR_IN)e(beta,)h(ARRAY)h(y,)g
(int)g(incy)g(\);)227 4778 y(General)f(Band:)227 4891
y(void)h(BLAS_xgbmv\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_trans_type)c(trans,)1039 5004 y(int)k(m,)g(int)g(n,)g(int)g(kl,)g
(int)g(ku,)f(SCALAR_IN)g(alpha,)g(const)g(ARRAY)h(a,)1039
5117 y(int)g(lda,)f(const)h(ARRAY)f(x,)h(int)g(incx,)f(SCALAR_IN)g
(beta,)1039 5230 y(ARRAY)g(y,)h(int)g(incy)g(\);)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 55 65
55 64 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(55)p 0 91 3900 6 v 0 204 a FJ(f)p FK(SY,SB,SP)p
FJ(g)p FK(MV)31 b(\(Symmetric)f(matrix)g(v)m(ector)i(pro)s(duct\))689
b Fy(y)28 b FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5 b(y)33
b FK(with)c Fy(A)d FK(=)f Fy(A)3845 171 y Fw(T)141 430
y FK(The)j(routines)f(m)m(ultiply)e(a)k(v)m(ector)h Fy(x)e
FK(b)m(y)g(a)g(real)g(or)g(complex)g(symmetric)g(matrix)f
Fy(A)p FK(,)i(scales)f(the)h(resulting)0 543 y(v)m(ector)g(and)f(adds)f
(it)g(to)i(the)f(scaled)f(v)m(ector)j(op)s(erand)c Fy(y)s
FK(.)40 b(If)27 b Fv(n)h FK(or)g Fv(k)g FK(is)f(less)g(than)h(or)g
(equal)f(to)h(zero)h(or)f(if)f Fv(b)s(eta)g FK(is)0 656
y(equal)32 b(to)i(one)f(and)g Fv(alpha)e FK(is)h(equal)h(to)g(zero,)i
(this)d(routine)g(returns)f(immediately)-8 b(.)47 b(As)33
b(describ)s(ed)e(in)h(section)0 769 y(2.5.3,)j(the)e(v)-5
b(alue)33 b Fv(incx)g FK(or)f Fv(incy)h FK(less)f(than)h(zero)g(is)f(p)
s(ermitted.)47 b(Ho)m(w)m(ev)m(er,)36 b(if)31 b(either)i
Fv(incx)f FK(or)h Fv(incy)g FK(is)f(equal)g(to)0 882
y(zero,)f(an)g(error)f(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)g
(error)f(handler.)39 b(F)-8 b(or)31 b(the)g(routine)e
Fv(SYMV)p FK(,)g(if)g Fv(lda)h FK(is)f(less)h(than)0
995 y(one)d(or)f Fv(lda)g FK(is)g(less)f(than)i Fv(n)p
FK(,)g(an)f(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)f
(error)h(handler.)37 b(F)-8 b(or)27 b(the)g(routine)e
Fv(SBMV)p FK(,)0 1108 y(if)k Fv(lda)h FK(is)f(less)h(than)g
Fv(k)h FK(plus)d(one,)j(an)g(error)f(\015ag)g(is)g(set)h(and)e(passed)h
(to)h(the)g(error)f(handler.)136 1320 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)227 1545 y FD(Symmetric)46
b(Band:)418 1658 y(SUBROUTINE)f(sbmv\()i(a,)g(x,)g(y)g([,)h(uplo])e([,)
h(alpha])f([,)h(beta])g(\))227 1771 y(Symmetric)f(Packed:)418
1884 y(SUBROUTINE)f(spmv\()i(ap,)f(x,)i(y)f([,)g(uplo])g([,)g(alpha])f
([,)h(beta])f(\))227 1997 y(all:)514 2110 y(<type>\(<wp>\),)e
(INTENT\(IN\))h(::)i(<aa>,)f(x\(:\))514 2222 y(<type>\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(y\(:\))514 2335 y(TYPE)f(\(blas_uplo_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514 2448 y(<type>\(<wp>\),)d
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)418 2561
y(where)514 2674 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(ap\(:\))418
2787 y(and)514 2900 y(SB)95 b(a)47 b(has)g(shape)f(\(k+1,n\))514
3013 y(SP)95 b(ap)47 b(has)g(shape)f(\(n*\(n+1\)/2\))514
3126 y(x)h(and)g(y)g(have)g(shape)f(\(n\))418 3239 y(\(k=band)g
(width\))227 3464 y FK(The)30 b(fun)m(tionalit)m(y)f(of)i
Fv(symv)f FK(is)f(co)m(v)m(ered)j(b)m(y)e Fv(symm)p FK(.)136
3651 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
3876 y FD(Symmetric:)514 3989 y(SUBROUTINE)45 b(BLAS_xSYMV\()f(UPLO,)j
(N,)g(ALPHA,)f(A,)h(LDA,)g(X,)g(INCX,)f(BETA,)h(Y,)466
4102 y($)1097 b(INCY)47 b(\))227 4215 y(Symmetric)f(Band:)514
4328 y(SUBROUTINE)f(BLAS_xSBMV\()f(UPLO,)j(N,)g(K,)g(ALPHA,)f(A,)h
(LDA,)g(X,)g(INCX,)g(BETA,)f(Y,)466 4441 y($)1097 b(INCY)47
b(\))227 4554 y(Symmetric)f(Packed:)514 4667 y(SUBROUTINE)f
(BLAS_xSPMV\()f(UPLO,)j(N,)g(ALPHA,)f(AP,)h(X,)g(INCX,)f(BETA,)h(Y,)g
(INCY)g(\))227 4780 y(all:)514 4892 y(INTEGER)570 b(INCX,)47
b(INCY,)f(K,)h(LDA,)g(N,)g(UPLO)514 5005 y(<type>)618
b(ALPHA,)47 b(BETA)514 5118 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)
g(AP\()g(*)h(\),)f(X\()g(*)h(\),)f(Y\()g(*)g(\))136 5343
y FJ(\017)f FK(C)30 b(binding:)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 56 66
56 65 bop 0 -165 a FK(56)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(Symmetric:)227
204 y(void)47 b(BLAS_xsymv\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1039 317 y(int)j(n,)g(SCALAR_IN)e(alpha,)h
(const)g(ARRAY)h(a,)g(int)g(lda,)1039 430 y(const)f(ARRAY)g(x,)i(int)e
(incx,)h(SCALAR_IN)e(beta,)h(ARRAY)h(y,)g(int)g(incy)g(\);)227
543 y(Symmetric)f(Band:)227 656 y(void)h(BLAS_xsbmv\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
769 y(int)j(n,)g(int)g(k,)g(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(a,)h
(int)g(lda,)1039 882 y(const)f(ARRAY)g(x,)i(int)e(incx,)h(SCALAR_IN)e
(beta,)h(ARRAY)h(y,)g(int)g(incy)g(\);)227 995 y(Symmetric)f(Packed:)
227 1108 y(void)h(BLAS_xspmv\()e(enum)h(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)d(uplo,)i(int)h(n,)1039 1220 y(SCALAR_IN)e
(alpha,)h(const)g(ARRAY)h(ap,)g(const)f(ARRAY)g(x,)i(int)e(incx,)1039
1333 y(SCALAR_IN)f(beta,)h(ARRAY)h(y,)g(int)g(incy)f(\);)p
0 1558 3900 6 v 0 1671 a FJ(f)p FK(HE,HB,HP)p FJ(g)p
FK(MV)33 b(\(Hermitian)c(matrix)h(v)m(ector)i(pro)s(duct\))656
b Fy(y)28 b FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5 b(y)33
b FK(with)c Fy(A)d FK(=)f Fy(A)3833 1638 y Fw(H)141 1897
y FK(The)i(routines)g(m)m(ultiply)e(a)j(v)m(ector)h Fy(x)f
FK(b)m(y)f(a)i(Hermitian)d(matrix)h Fy(A)p FK(,)i(scales)f(the)f
(resulting)f(v)m(ector)k(and)d(adds)0 2010 y(it)d(to)h(the)g(scaled)f
(v)m(ector)i(op)s(erand)d Fy(y)s FK(.)39 b(If)24 b Fv(n)g
FK(is)g(less)f(than)i(or)f(equal)g(to)h(zero)g(or)g(if)e
Fv(b)s(eta)h FK(is)f(equal)h(to)h(one)g(and)f Fv(alpha)0
2123 y FK(is)35 b(equal)g(to)h(zero,)i(this)d(routine)f(returns)h
(immediately)-8 b(.)55 b(The)35 b(imaginary)f(part)i(of)g(the)f
(diagonal)g(en)m(tries)h(of)0 2236 y(the)30 b(matrix)f(op)s(erand)g
(are)h(supp)s(osed)e(to)i(b)s(e)g(zero)g(and)f(should)f(not)i(b)s(e)f
(referenced.)41 b(As)30 b(describ)s(ed)d(in)i(section)0
2349 y(2.5.3,)35 b(the)e(v)-5 b(alue)33 b Fv(incx)g FK(or)f
Fv(incy)h FK(less)f(than)h(zero)g(is)f(p)s(ermitted.)47
b(Ho)m(w)m(ev)m(er,)36 b(if)31 b(either)i Fv(incx)f FK(or)h
Fv(incy)g FK(is)f(equal)g(to)0 2462 y(zero,)f(an)f(error)g(\015ag)g(is)
f(set)i(and)e(passed)h(to)h(the)f(error)f(handler.)39
b(F)-8 b(or)31 b(the)f(routine)f Fv(HEMV)p FK(,)h(if)f
Fv(lda)h FK(is)f(less)g(than)0 2575 y(one)d(or)g Fv(lda)f
FK(is)g(less)g(than)g Fv(n)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i
(and)e(passed)g(to)i(the)f(error)f(handler.)37 b(F)-8
b(or)27 b(the)f(routine)f Fv(HBMV)p FK(,)0 2687 y(if)k
Fv(lda)h FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(an)g(error)f
(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g(error)f(handler.)136
2900 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3125 y FD(Hermitian)46 b(Band:)418 3238 y(SUBROUTINE)f(hbmv\()i(a,)g
(x,)g(y)95 b([,)47 b(uplo])g([,)g(alpha])f([,)h(beta])f(\))227
3351 y(Hermitian)g(Packed:)418 3464 y(SUBROUTINE)f(hpmv\()i(ap,)f(x,)i
(y)f([,)g(uplo])g([,)g(alpha])f([,)h(beta])f(\))227 3577
y(all:)514 3689 y(COMPLEX\(<wp>\),)e(INTENT\(IN\))h(::)i(<aa>,)f
(x\(:\))514 3802 y(COMPLEX\(<wp>\),)e(INTENT\(INOUT\))g(::)j(y\(:\))514
3915 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 4028 y(COMPLEX\(<wp>\),)d(INTENT\(IN\),)g(OPTIONAL)i(::)h
(alpha,)f(beta)418 4141 y(where)514 4254 y(<aa>)94 b(::=)47
b(a\(:,:\))f(or)h(ap\(:\))418 4367 y(and)561 4480 y(HB)95
b(a)48 b(has)f(shape)f(\(k+1,n\))561 4593 y(HP)95 b(ap)47
b(has)g(shape)g(\(n*\(n+1\)/2\))561 4706 y(x)h(and)f(y)g(have)g(shape)f
(\(n\))418 4819 y(\(k=band)g(width\))227 5044 y FK(The)30
b(fun)m(tionalit)m(y)f(of)i Fv(hemv)f FK(is)g(co)m(v)m(ered)i(b)m(y)e
Fv(hemm)p FK(.)136 5231 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(77)h(binding:)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 57 67
57 66 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(57)227 91 y FD(Hermitian:)514 204 y(SUBROUTINE)45
b(BLAS_xHEMV\()f(UPLO,)j(N,)g(ALPHA,)f(A,)h(LDA,)g(X,)g(INCX,)f(BETA,)h
(Y,)466 317 y($)1097 b(INCY)47 b(\))227 430 y(Hermitian)f(Band:)514
543 y(SUBROUTINE)f(BLAS_xHBMV\()f(UPLO,)j(N,)g(K,)g(ALPHA,)f(A,)h(LDA,)
g(X,)g(INCX,)g(BETA,)466 656 y($)1097 b(Y,)48 b(INCY)e(\))227
769 y(Hermitian)g(Packed:)514 882 y(SUBROUTINE)f(BLAS_xHPMV\()f(UPLO,)j
(N,)g(ALPHA,)f(AP,)h(X,)g(INCX,)f(BETA,)h(Y,)g(INCY)g(\))227
995 y(all:)514 1108 y(INTEGER)570 b(INCX,)47 b(INCY,)f(K,)h(LDA,)g(N,)g
(UPLO)514 1220 y(<ctype>)570 b(ALPHA,)47 b(BETA)514 1333
y(<ctype>)570 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(X\()g(*)
h(\),)f(Y\()g(*)g(\))136 1558 y FJ(\017)f FK(C)30 b(binding:)227
1783 y FD(Hermitian:)227 1896 y(void)47 b(BLAS_xhemv\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
2009 y(int)j(n,)g(CSCALAR_IN)e(alpha,)h(const)g(CARRAY)g(a,)h(int)g
(lda,)1039 2122 y(const)f(CARRAY)g(x,)h(int)g(incx,)g(CSCALAR_IN)e
(beta,)h(CARRAY)g(y,)1039 2235 y(int)h(incy)f(\);)227
2348 y(Hermitian)g(Band:)227 2461 y(void)h(BLAS_xhbmv\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
2574 y(int)j(n,)g(int)g(k,)g(CSCALAR_IN)e(alpha,)h(const)g(CARRAY)g(a,)
i(int)e(lda,)1039 2687 y(const)g(CARRAY)g(x,)h(int)g(incx,)g
(CSCALAR_IN)e(beta,)h(CARRAY)g(y,)1039 2800 y(int)h(incy)f(\);)227
2912 y(Hermitian)g(Packed:)227 3025 y(void)h(BLAS_xhpmv\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
3138 y(int)j(n,)g(CSCALAR_IN)e(alpha,)h(const)g(CARRAY)g(ap,)h(const)g
(CARRAY)f(x,)1039 3251 y(int)h(incx,)f(CSCALAR_IN)f(beta,)h(CARRAY)g
(y,)i(int)e(incy)h(\);)p 0 3476 3900 6 v 0 3589 a FJ(f)p
FK(TR,TB,TP)p FJ(g)p FK(MV)31 b(\(T)-8 b(riangular)29
b(matrix)h(v)m(ector)i(pro)s(duct\))360 b Fy(x)25 b FJ( )g
Fy(\013T)13 b(x)p FK(,)31 b Fy(x)25 b FJ( )g Fy(\013T)3214
3556 y Fw(T)3270 3589 y Fy(x)30 b FK(or)g Fy(x)25 b FJ( )h
Fy(\013T)3781 3556 y Fw(H)3848 3589 y Fy(x)141 3815 y
FK(The)43 b(routines)g(m)m(ultiply)e(a)j(v)m(ector)h
Fy(x)f FK(b)m(y)g(a)g(general)g(triangular)e(matrix)h
Fy(T)56 b FK(or)44 b(its)f(transp)s(ose,)k(or)d(its)0
3928 y(conjugate)36 b(transp)s(ose,)f(and)f(copies)h(the)f(resulting)f
(v)m(ector)j(in)e(the)g(v)m(ector)j(op)s(erand)c Fy(x)p
FK(.)53 b(If)35 b Fv(n)f FK(is)g(less)g(than)g(or)0 4041
y(equal)h(to)g(zero,)j(this)c(routine)g(returns)g(immediately)-8
b(.)53 b(As)35 b(describ)s(ed)e(in)h(section)h(2.5.3,)k(the)c(v)-5
b(alue)35 b Fv(incx)g FK(less)0 4154 y(than)28 b(zero)g(is)f(p)s
(ermitted.)38 b(Ho)m(w)m(ev)m(er,)31 b(if)c Fv(incx)g
FK(is)g(equal)g(to)i(zero,)g(an)f(error)f(\015ag)h(is)f(set)h(and)g
(passed)f(to)h(the)g(error)0 4267 y(handler.)41 b(F)-8
b(or)32 b(the)f(routine)f Fv(TRMV)p FK(,)g(if)g Fv(ldt)g
FK(is)g(less)h(than)g(one)g(or)g Fv(ldt)f FK(is)g(less)h(than)g
Fv(n)p FK(,)g(an)g(error)g(\015ag)g(is)f(set)i(and)0
4379 y(passed)h(to)i(the)f(error)g(handler.)49 b(F)-8
b(or)35 b(the)f(routine)e Fv(TBMV)p FK(,)h(if)g Fv(ldt)g
FK(is)g(less)g(than)h Fv(k)g FK(plus)e(one,)j(an)f(error)g(\015ag)g(is)
0 4492 y(set)d(and)f(passed)g(to)h(the)f(error)g(handler.)136
4705 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
4930 y FD(Triangular)45 b(Band:)418 5043 y(SUBROUTINE)g(tbmv\()i(t,)g
(x)95 b([,)47 b(uplo])f([,)i(trans])e([,)h(diag])f([,)h(alpha])g(\))227
5156 y(Triangular)e(Packed:)418 5269 y(SUBROUTINE)g(tpmv\()i(tp,)f(x)i
([,)f(uplo])f([,)i(trans])e([,)h(diag])f([,)h(alpha])g(\))227
5381 y(all:)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 58 68
58 67 bop 0 -165 a FK(58)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)514 91 y FD(<type>\(<wp>\),)44
b(INTENT\(IN\))h(::)i(<tt>)514 204 y(<type>\(<wp>\),)d(INTENT\(INOUT\))
g(::)95 b(x\(:\))514 317 y(<type>\(<wp>\),)44 b(INTENT\(IN\),)h
(OPTIONAL)g(::)i(alpha)514 430 y(TYPE)f(\(blas_diag_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(diag)514 543 y(TYPE)f
(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514
656 y(TYPE)e(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)418 769 y(where)514 882 y(<tt>)94 b(::=)47 b(t\(:,:\))f(or)h
(tp\(:\))418 995 y(and)561 1108 y(TB)95 b(t)48 b(has)f(shape)f
(\(k+1,n\))561 1220 y(TP)95 b(tp)47 b(has)g(shape)g(\(n*\(n+1\)/2\))561
1333 y(x)h(has)f(shape)f(\(n\))418 1446 y(\(k=band)g(width\))227
1671 y FK(The)30 b(fun)m(tionalit)m(y)f(of)i Fv(trmv)f
FK(is)f(co)m(v)m(ered)j(b)m(y)f Fv(trmm)p FK(.)136 1859
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2084 y FD(Triangular:)561 2197 y(SUBROUTINE)45 b(BLAS_xTRMV\()g(UPLO,)h
(TRANS,)h(DIAG,)f(N,)h(ALPHA,)f(T,)h(LDT,)g(X,)514 2310
y($)1097 b(INCX)47 b(\))227 2423 y(Triangular)e(Band:)561
2535 y(SUBROUTINE)g(BLAS_xTBMV\()g(UPLO,)h(TRANS,)h(DIAG,)f(N,)h(K,)g
(ALPHA,)f(T,)i(LDT,)514 2648 y($)1097 b(X,)47 b(INCX)g(\))227
2761 y(Triangular)e(Packed:)561 2874 y(SUBROUTINE)g(BLAS_xTPMV\()g
(UPLO,)h(TRANS,)h(DIAG,)f(N,)h(ALPHA,)f(TP,)h(X,)g(INCX)g(\))227
2987 y(all:)514 3100 y(INTEGER)570 b(DIAG,)47 b(INCX,)f(K,)h(LDT,)g(N,)
g(TRANS,)f(UPLO)514 3213 y(<type>)618 b(ALPHA)514 3326
y(<type>)g(T\()48 b(LDT,)e(*)i(\))f(or)g(TP\()g(*)h(\),)f(X\()g(*)h(\))
136 3551 y FJ(\017)e FK(C)30 b(binding:)227 3776 y FD(Triangular:)227
3889 y(void)47 b(BLAS_xtrmv\()e(enum)h(blas_order_type)e(order,)i(enum)
h(blas_uplo_type)d(uplo,)1039 4002 y(enum)i(blas_trans_type)e(trans,)i
(enum)h(blas_diag_type)d(diag,)i(int)h(n,)1039 4115 y(SCALAR_IN)e
(alpha,)h(const)g(ARRAY)h(t,)g(int)g(ldt,)f(ARRAY)h(x,)g(int)g(incx)g
(\);)227 4227 y(Triangular)e(Band:)227 4340 y(void)i(BLAS_xtbmv\()e
(enum)h(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
4453 y(enum)i(blas_trans_type)e(trans,)i(enum)h(blas_diag_type)d(diag,)
i(int)h(n,)1039 4566 y(int)g(k,)g(SCALAR_IN)e(alpha,)h(const)g(ARRAY)h
(t,)g(int)g(ldt,)g(ARRAY)f(x,)1039 4679 y(int)h(incx)f(\);)227
4792 y(Triangular)f(Packed:)227 4905 y(void)i(BLAS_xtpmv\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
5018 y(enum)i(blas_trans_type)e(trans,)i(enum)h(blas_diag_type)d(diag,)
i(int)h(n,)1039 5131 y(SCALAR_IN)e(alpha,)h(const)g(ARRAY)h(tp,)g
(ARRAY)f(x,)h(int)g(incx)g(\);)p 0 5356 3900 6 v 4084
64 a FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 59 69
59 68 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(59)0 91 y(GE)p 138 91 28 4 v 33 w(SUM)p 373 91 V
33 w(MV)31 b(\(Summed)e(matrix)g(v)m(ector)j(m)m(ultiplies\))1254
b Fy(y)28 b FJ( )e Fy(\013Ax)20 b FK(+)g Fy(\014)5 b(B)g(x)141
317 y FK(This)26 b(routine)h(adds)f(the)i(pro)s(duct)e(of)i(t)m(w)m(o)h
(scaled)e(matrix)g(v)m(ector)j(pro)s(ducts.)38 b(It)28
b(can)g(b)s(e)f(used)f(to)j(compute)0 430 y(the)37 b(residual)e(of)i
(an)f(appro)m(ximate)h(eigen)m(v)m(ector)i(and)d(eigen)m(v)-5
b(alue)37 b(of)g(the)g(generalized)g(eigen)m(v)-5 b(alue)37
b(problem)0 543 y Fy(A)23 b FJ(\003)h Fy(x)32 b FK(=)g
Fy(\025)23 b FJ(\003)g Fy(B)28 b FJ(\003)23 b Fy(x)p
FK(.)53 b(If)34 b Fv(m)h FK(or)g Fv(n)f FK(is)g(less)g(than)g(or)g
(equal)g(to)i(zero,)g(then)f(this)e(routine)h(returns)f(immediately)-8
b(.)0 656 y(As)35 b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)e(v)-5
b(alue)35 b Fv(incx)g FK(or)h Fv(incy)f FK(less)g(than)g(zero)h(is)f(p)
s(ermitted.)55 b(Ho)m(w)m(ev)m(er,)39 b(if)34 b Fv(incx)0
769 y FK(or)e Fv(incy)f FK(is)g(equal)g(to)i(zero,)g(an)e(error)h
(\015ag)g(is)e(set)j(and)e(passed)g(to)h(the)g(error)f(handler.)43
b(If)31 b Fv(lda)g FK(is)g(less)g(than)h(one)0 882 y(or)j
Fv(lda)f FK(is)f(less)h(than)h Fv(m)p FK(,)h(or)f Fv(ldb)f
FK(is)g(less)g(than)g(one)h(or)g Fv(ldb)f FK(is)g(less)g(than)g
Fv(m)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)h(and)f(passed)0
995 y(to)d(the)e(error)h(handler.)39 b(F)-8 b(or)30 b(the)g(C)f
(bindings)e(for)j Fv(GE)p 1889 995 V 32 w(SUM)p 2115
995 V 31 w(MV)p FK(,)g(if)e FD(order)47 b(=)g(blas)p
2999 995 29 4 v 33 w(rowmajor)28 b FK(and)h(if)g Fv(lda)g
FK(is)0 1108 y(less)g(than)h(one)h(or)f Fv(lda)f FK(is)g(less)g(than)h
Fv(n)p FK(,)h(or)f(if)f Fv(ldb)g FK(is)g(less)h(than)g(one)g(or)g
Fv(ldb)g FK(is)f(less)g(than)h Fv(n)p FK(,)g(an)g(error)g(\015ag)g(is)f
(set)0 1220 y(and)f(passed)g(to)h(the)f(error)g(handler;)g(if)f
FD(order)46 b(=)i(blas)p 1960 1220 V 33 w(colmajor)26
b FK(and)i(if)f Fv(lda)h FK(is)f(less)h(than)g(one)g(or)h
Fv(lda)e FK(is)h(less)0 1333 y(than)k Fv(m)p FK(,)h(or)f(if)f
Fv(ldb)h FK(is)f(less)h(than)g(one)g(or)h Fv(ldb)e FK(is)h(less)f(than)
h Fv(m)p FK(,)h(an)f(error)g(\015ag)h(is)e(set)i(and)e(passed)h(to)h
(the)f(error)0 1446 y(handler.)136 1634 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 1859 y FD(SUBROUTINE)45
b(ge_sum_mv\()g(a,)i(x,)g(b,)g(y)h([,)f(alpha])f([,)h(beta])f(\))609
1972 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(a\(:,:\),)f(b\(:,:\))
609 2085 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(x\(:\))609
2198 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(y\(:\))609
2311 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g
(beta)514 2423 y(where)609 2536 y(x)h(has)e(shape)h(\(n\);)609
2649 y(y)h(has)e(shape)h(\(m\);)609 2762 y(a)h(and)e(b)i(have)f(shape)f
(\(m,n\))g(for)h(general)f(matrices)136 2987 y FJ(\017)g
FK(F)-8 b(ortran)31 b(77)h(binding:)514 3212 y FD(SUBROUTINE)45
b(BLAS_xGE_SUM_MV\()e(M,)k(N,)g(ALPHA,)f(A,)i(LDA,)e(X,)h(INCX,)g
(BETA,)466 3325 y($)1336 b(B,)47 b(LDB,)g(Y,)g(INCY)g(\))514
3438 y(INTEGER)570 b(INCX,)47 b(INCY,)f(LDA,)h(LDB,)f(M,)i(N)514
3551 y(<type>)618 b(ALPHA,)47 b(BETA)514 3664 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\),)g(X\()h(*)f(\),)g(Y\()
g(*)h(\))136 3889 y FJ(\017)e FK(C)30 b(binding:)227
4114 y FD(void)47 b(BLAS_xge_sum_mv\()c(enum)k(blas_order_type)d
(order,)i(int)h(m,)g(int)g(n,)1277 4227 y(SCALAR_IN)f(alpha,)g(const)g
(ARRAY)g(a,)i(int)e(lda,)1277 4340 y(const)h(ARRAY)f(x,)h(int)g(incx,)f
(SCALAR_IN)g(beta,)1277 4452 y(const)h(ARRAY)f(B,)h(int)g(ldb,)g(ARRAY)
f(y,)h(int)g(incy)g(\);)p 0 4677 3900 6 v 0 4790 a FK(GEMVT)31
b(\(Multiple)d(matrix)i(v)m(ector)i(m)m(ultiplies\))1118
b Fy(x)25 b FJ( )g Fy(\014)5 b(A)3211 4757 y Fw(T)3267
4790 y Fy(y)23 b FK(+)d Fy(z)t(;)15 b(w)28 b FJ( )d Fy(\013Ax)141
5016 y FK(The)k(routine)g(com)m(bines)g(a)h(matrix)f(v)m(ector)i(and)e
(a)h(transp)s(osed)f(matrix)g(v)m(ector)i(m)m(ultiply)-8
b(.)38 b(It)30 b(m)m(ultiplies)d(a)0 5129 y(v)m(ector)35
b Fy(y)i FK(b)m(y)c(a)h(general)g(matrix)e Fy(A)1249
5096 y Fw(T)1305 5129 y FK(,)i(scales)g(the)g(resulting)d(v)m(ector)36
b(and)d(adds)f(the)i(result)f(to)h Fy(z)t FK(,)h(storing)e(the)0
5242 y(result)i(in)g(the)h(v)m(ector)h(op)s(erand)e Fy(x)p
FK(.)58 b(It)36 b(then)f(m)m(ultiplies)e(the)j(matrix)f
Fy(A)i FK(b)m(y)e Fy(x)p FK(,)j(scales)e(the)g(resulting)e(v)m(ector)0
5355 y(and)c(stores)h(it)f(in)f(the)h(v)m(ector)i(op)s(erand)d
Fy(w)r FK(.)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 60 70
60 69 bop 0 -165 a FK(60)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y Fz(A)-5 b(dvic)g(e)32
b(to)h(implementors.)83 b FK(Note)31 b(that)f Fy(x)g
FK(and)f Fy(w)k FK(ma)m(y)d(b)s(e)f(computed)h(while)e(passing)h
Fy(A)h FK(through)f(the)227 204 y(top)f(of)g(the)g(memory)g(just)f
(once.)40 b(This)26 b(optimization,)i(whic)m(h)e(accelerates)k
(algorithms)c(lik)m(e)h(reducing)g(a)227 317 y(symmetric)i(matrix)g(to)
h(tridiagonal)e(form,)h(is)g(the)g(justi\014cation)f(for)h
Fv(GEMVT)p FK(,)g(whic)m(h)f(could)h(otherwise)227 430
y(b)s(e)h(implemen)m(ted)f(b)m(y)h(t)m(w)m(o)i(calls)d(to)j
Fv(GEMV)p FK(.)d(\()p Fz(End)k(of)g(advic)-5 b(e)33 b(to)g
(implementors.)p FK(\))141 610 y(If)25 b Fv(m)h FK(or)f
Fv(n)h FK(is)e(less)h(than)g(or)h(equal)f(to)h(zero,)i(this)c(function)
h(returns)f(immediately)-8 b(.)38 b(As)25 b(describ)s(ed)f(in)g
(section)0 723 y(2.5.3,)30 b(the)e(v)-5 b(alue)27 b Fv(incx)h
FK(or)g Fv(incy)f FK(or)h Fv(incw)g FK(or)g Fv(incz)f
FK(less)g(than)g(zero)i(is)e(p)s(ermitted.)38 b(Ho)m(w)m(ev)m(er,)30
b(if)d(either)g Fv(incx)p FK(,)i Fv(incy)p FK(,)0 836
y Fv(incw)p FK(,)h(or)f Fv(incz)g FK(is)f(equal)g(to)i(zero,)h(an)e
(error)g(\015ag)g(is)f(set)i(and)e(passed)h(to)h(the)f(error)g
(handler.)38 b(If)29 b Fv(lda)g FK(is)f(less)g(than)0
949 y(one)k(or)g Fv(lda)f FK(is)f(less)h(than)h Fv(m)p
FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)f(passed)h(to)g(the)g
(error)f(handler.)43 b(F)-8 b(or)33 b(the)f(C)f(bindings,)0
1062 y(if)g FD(order)46 b(=)i(blas)p 665 1062 29 4 v
33 w(rowmajor)29 b FK(and)i(if)g Fv(lda)g FK(is)g(less)g(than)h(one)g
(or)g Fv(lda)f FK(is)f(less)h(than)h Fv(n)p FK(,)g(an)g(error)f(\015ag)
h(is)f(set)i(and)0 1175 y(passed)26 b(to)h(the)f(error)g(handler;)g(if)
g FD(order)46 b(=)i(blas)p 1774 1175 V 33 w(colmajor)24
b FK(and)i(if)f Fv(lda)h FK(is)f(less)h(than)g(one)g(or)h
Fv(lda)e FK(is)h(less)f(than)0 1288 y Fv(m)p FK(,)31
b(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g
(handler.)136 1468 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 1660 y FD(SUBROUTINE)45 b(gemvt\()h(a,)h(x,)g(y,)g
(w,)g(z)h([,)f(alpha])f([,)h(beta])g(\))609 1773 y(<type>\(<wp>\),)d
(INTENT)i(\(IN\))h(::)g(a\(:,:\))609 1886 y(<type>\(<wp>\),)d(INTENT)i
(\(IN\))h(::)g(y\(:\),)g(z\(:\))609 1999 y(<type>\(<wp>\),)d(INTENT)i
(\(OUT\))h(::)g(x\(:\),)f(w\(:\))609 2112 y(<type>\(<wp>\),)e(INTENT)i
(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g(beta)514 2225 y(where)609
2338 y(w)h(and)e(y)i(have)f(shape)f(\(m\);)609 2451 y(x)i(and)e(z)i
(have)f(shape)f(\(n\);)609 2564 y(a)i(has)e(shape)h(\(m,n\))f(for)h
(general)f(matrix)136 2756 y FJ(\017)g FK(F)-8 b(ortran)31
b(77)h(binding:)514 2949 y FD(SUBROUTINE)45 b(BLAS_xGEMVT\()f(M,)j(N,)g
(ALPHA,)g(A,)g(LDA,)f(X,)i(INCX,)e(Y,)h(INCY,)466 3062
y($)1145 b(BETA,)46 b(W,)i(INCW,)e(Z,)h(INCZ)g(\))514
3174 y(INTEGER)570 b(INCW,)47 b(INCX,)f(INCY,)h(INCZ,)f(LDA,)h(M,)g(N)
514 3287 y(<type>)618 b(ALPHA,)47 b(BETA)514 3400 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\),)f(X\()g(*)h(\),)f(Y\()g(*)g(\),)h(W\()f(*)g
(\),)g(Z\()h(*)f(\))136 3593 y FJ(\017)f FK(C)30 b(binding:)227
3785 y FD(void)47 b(BLAS_xgemvt\()d(enum)j(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)g(SCALAR_IN)e(alpha,)1086 3898 y(const)i(ARRAY)f
(a,)h(int)g(lda,)g(ARRAY)f(x,)h(int)g(incx,)g(const)f(ARRAY)g(y,)1086
4011 y(int)h(incy,)g(SCALAR_IN)e(beta,)h(ARRAY)h(w,)g(int)g(incw,)f
(const)g(ARRAY)h(z,)1086 4124 y(int)g(incz)g(\);)p 0
4317 3900 6 v 0 4430 a FK(TRMVT)30 b(\(Multiple)f(triangular)f(matrix)i
(v)m(ector)i(pro)s(duct\))888 b Fy(x)25 b FJ( )g Fy(T)3269
4397 y Fw(T)3324 4430 y Fy(y)33 b FK(and)d Fy(w)e FJ( )d
Fy(T)13 b(z)141 4655 y FK(The)34 b(routine)g(com)m(bines)g(a)i(matrix)e
(v)m(ector)i(and)e(a)h(transp)s(osed)f(matrix)g(v)m(ector)j(m)m
(ultiply)-8 b(.)51 b(It)35 b(m)m(ultiplies)0 4768 y(a)d(v)m(ector)h
Fy(y)i FK(b)m(y)d(a)g(triangular)e(matrix)h Fy(T)1425
4735 y Fw(T)1480 4768 y FK(,)h(storing)f(the)h(result)f(as)g
Fy(x)p FK(.)45 b(It)32 b(also)g(m)m(ultiplies)c(the)k(matrix)f(b)m(y)h
(the)0 4881 y(v)m(ector)g Fy(z)t FK(,)f(storing)f(the)g(result)f(as)i
Fy(w)r FK(.)227 5061 y Fz(A)-5 b(dvic)g(e)33 b(to)f(implementors.)83
b FK(Note)31 b(that)g Fy(x)f FK(and)f Fy(w)k FK(ma)m(y)e(b)s(e)e
(computed)h(while)e(passing)h Fy(T)42 b FK(through)30
b(the)227 5174 y(top)e(of)g(the)g(memory)g(just)f(once.)40
b(This)26 b(optimization,)i(whic)m(h)e(accelerates)k(algorithms)c(lik)m
(e)h(reducing)g(a)227 5287 y(symmetric)i(matrix)f(to)h(tridiagonal)f
(form,)h(is)f(the)h(justi\014cation)e(for)i Fv(TRMVT)p
FK(,)f(whic)m(h)g(could)g(otherwise)227 5400 y(b)s(e)i(implemen)m(ted)f
(b)m(y)h(t)m(w)m(o)i(calls)d(to)j Fv(TRMV)p FK(.)d(\()p
Fz(End)k(of)g(advic)-5 b(e)33 b(to)g(implementors.)p
FK(\))4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 61 71
61 70 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(61)141 91 y(If)37 b Fv(n)h FK(is)e(less)h(than)g(or)h(equal)f(to)h
(zero,)j(this)36 b(function)g(returns)h(immediately)-8
b(.)61 b(As)37 b(describ)s(ed)f(in)g(section)0 204 y(2.5.3,)30
b(the)e(v)-5 b(alue)27 b Fv(incx)h FK(or)g Fv(incy)f
FK(or)h Fv(incw)g FK(or)g Fv(incz)f FK(less)g(than)g(zero)i(is)e(p)s
(ermitted.)38 b(Ho)m(w)m(ev)m(er,)30 b(if)d(either)g
Fv(incx)p FK(,)i Fv(incy)p FK(,)0 317 y Fv(incw)p FK(,)h(or)g
Fv(incz)f FK(is)g(equal)g(to)h(zero,)h(an)f(error)f(\015ag)h(is)f(set)h
(and)f(passed)g(to)h(the)g(error)g(handler.)38 b(If)29
b Fv(ldt)h FK(is)e(less)h(than)0 430 y(one)i(or)f Fv(ldt)g
FK(is)f(less)h(than)g Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)e(set)i
(and)f(passed)g(to)h(the)f(error)g(handler.)136 639 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
885 y FD(SUBROUTINE)45 b(trmvt\()h(t,)h(x,)g(y,)g(w,)g(z)h([,)f(uplo])f
(\))609 998 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(t\(:,:\))609
1111 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h(::)g(y\(:\),)g(z\(:\))609
1223 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(x\(:\),)f(w\(:\))609
1336 y(TYPE)h(\(blas_uplo_type\),)c(INTENT)j(\(IN\),)g(OPTIONAL)g(::)h
(uplo)514 1449 y(where)609 1562 y(w,)g(x,)g(y)h(and)f(z)g(have)g(shape)
f(\(n\);)609 1675 y(t)i(has)e(shape)h(\(n,n\).)136 1921
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)561 2142
y FD(SUBROUTINE)45 b(BLAS_xTRMVT\()g(UPLO,)h(N,)h(T,)h(LDT,)e(X,)h
(INCX,)g(Y,)g(INCY,)f(W,)h(INCW,)514 2255 y($)1145 b(Z,)47
b(INCZ)g(\))561 2368 y(INTEGER)571 b(INCW,)47 b(INCX,)f(INCY,)g(INCZ,)h
(LDT,)f(N,)h(UPLO)561 2481 y(<type>)619 b(T\()47 b(LDT,)g(*)g(\),)h
(W\()f(*)g(\),)g(X\()h(*)f(\),)g(Y\()g(*)h(\),)f(Z\()g(*)h(\))136
2702 y FJ(\017)e FK(C)30 b(binding:)227 2924 y FD(void)47
b(BLAS_xtrmvt\()d(enum)j(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1086 3037 y(int)j(n,)g(const)g(ARRAY)f(t,)h
(int)g(ldt,)g(ARRAY)f(x,)h(int)g(incx,)1086 3149 y(const)g(ARRAY)f(y,)h
(int)g(incy,)g(ARRAY)f(w,)h(int)g(incw,)f(const)h(ARRAY)f(z,)1086
3262 y(int)h(incz)g(\);)p 0 3484 3900 6 v 0 3597 a FK(GEMVER)31
b(\(Multiple)d(matrix)i(v)m(ector)i(m)m(ultiply)c(with)h(a)h(rank)g(2)h
(up)s(date\))1657 3758 y(^)1633 3781 y Fy(A)25 b FJ( )g
Fy(A)c FK(+)e Fy(u)2073 3795 y FC(1)2113 3781 y Fy(v)2160
3748 y Fw(T)2157 3804 y FC(1)2236 3781 y FK(+)g Fy(u)2378
3795 y FC(2)2418 3781 y Fy(v)2465 3748 y Fw(T)2462 3804
y FC(2)2551 3781 y FK(and)29 b Fy(x)d FJ( )f Fy(\014)3001
3758 y FK(^)2977 3781 y Fy(A)3045 3748 y Fw(T)3100 3781
y Fy(y)e FK(+)d Fy(z)35 b FK(and)29 b Fy(w)f FJ( )d Fy(\013)3804
3758 y FK(^)3779 3781 y Fy(A)q(x)141 3966 y FK(The)32
b(routine)f(precedes)i(a)g(com)m(bined)e(matrix)h(v)m(ector)i(and)e(a)h
(transp)s(osed)e(matrix)h(v)m(ector)i(m)m(ultiply)29
b(b)m(y)k(a)0 4079 y(rank)28 b(t)m(w)m(o)i(up)s(date.)40
b(A)29 b(matrix)f Fy(A)g FK(is)g(up)s(dated)g(b)m(y)g
Fy(u)1827 4093 y FC(1)1867 4079 y Fy(v)1914 4046 y Fw(T)1911
4102 y FC(1)1998 4079 y FK(and)g Fy(u)2225 4093 y FC(2)2264
4079 y Fy(v)2311 4046 y Fw(T)2308 4102 y FC(2)2367 4079
y FK(.)40 b(The)28 b(transp)s(ose)g(of)h(the)g(up)s(dated)f(matrix)0
4192 y(is)i(m)m(ultiplied)d(b)m(y)k(a)g(v)m(ector)i Fy(y)s
FK(.)42 b(The)30 b(resulting)f(v)m(ector)j(is)e(scaled)h(and)f(added)g
(to)i(the)f(v)m(ector)h(op)s(erand)e Fy(z)t FK(,)i(and)0
4305 y(stored)e(in)f Fy(x)h FK(.)41 b(The)30 b(op)s(erand)f
Fy(x)h FK(is)f(m)m(ultiplied)e(b)m(y)j(the)g(up)s(dated)f(matrix)g
Fy(A)p FK(.)41 b(The)30 b(resulting)e(v)m(ector)k(is)d(scaled)0
4418 y(and)h(stored)g(as)h Fy(w)r FK(.)227 4627 y Fz(A)-5
b(dvic)g(e)25 b(to)g(implementors.)77 b FK(Note)24 b(that)1671
4604 y(^)1647 4627 y Fy(A)p FK(,)g Fy(x)e FK(and)f Fy(w)j
FK(ma)m(y)e(b)s(e)g(computed)f(while)f(passing)h Fy(A)h
FK(through)f(the)227 4739 y(top)34 b(of)g(the)f(memory)g(just)g(once.)
51 b(This)31 b(optimization,)j(whic)m(h)e(accelerates)j(algorithms)e
(lik)m(e)f(reducing)227 4852 y(a)g(general)f(matrix)g(to)h(bidiagonal)d
(form,)i(is)f(the)i(justi\014cation)e(for)h Fv(GEMVER)p
FK(,)f(whic)m(h)g(could)h(otherwise)227 4965 y(b)s(e)f(implemen)m(ted)f
(b)m(y)h(calls)g(to)h(other)f(BLAS)h(routines.)39 b(\()p
Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)h(implementors.)p
FK(\))141 5174 y(If)25 b Fv(m)h FK(or)f Fv(n)h FK(is)e(less)h(than)g
(or)h(equal)f(to)h(zero,)i(this)c(function)h(returns)f(immediately)-8
b(.)38 b(As)25 b(describ)s(ed)f(in)g(section)0 5287 y(2.5.3,)30
b(the)e(v)-5 b(alue)27 b Fv(incx)h FK(or)g Fv(incy)f
FK(or)h Fv(incw)g FK(or)g Fv(incz)f FK(less)g(than)g(zero)i(is)e(p)s
(ermitted.)38 b(Ho)m(w)m(ev)m(er,)30 b(if)d(either)g
Fv(incx)p FK(,)i Fv(incy)p FK(,)0 5400 y Fv(incw)p FK(,)h(or)f
Fv(incz)g FK(is)f(equal)g(to)i(zero,)h(an)e(error)g(\015ag)g(is)f(set)i
(and)e(passed)h(to)h(the)f(error)g(handler.)38 b(If)29
b Fv(lda)g FK(is)f(less)g(than)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 62 72
62 71 bop 0 -165 a FK(62)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(one)g(or)g
Fv(lda)f FK(is)f(less)h(than)h Fv(m)p FK(,)g(an)g(error)f(\015ag)h(is)f
(set)h(and)f(passed)h(to)g(the)g(error)f(handler.)43
b(F)-8 b(or)33 b(the)f(C)f(bindings,)0 204 y(if)g FD(order)46
b(=)i(blas)p 665 204 29 4 v 33 w(rowmajor)29 b FK(and)i(if)g
Fv(lda)g FK(is)g(less)g(than)h(one)g(or)g Fv(lda)f FK(is)f(less)h(than)
h Fv(n)p FK(,)g(an)g(error)f(\015ag)h(is)f(set)i(and)0
317 y(passed)26 b(to)h(the)f(error)g(handler;)g(if)g
FD(order)46 b(=)i(blas)p 1774 317 V 33 w(colmajor)24
b FK(and)i(if)f Fv(lda)h FK(is)f(less)h(than)g(one)g(or)h
Fv(lda)e FK(is)h(less)f(than)0 430 y Fv(m)p FK(,)31 b(an)f(error)g
(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)136
643 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
892 y FD(SUBROUTINE)45 b(gemver\()g(a,)j(u1,)f(v1,)f(u2,)h(v2,)g(x,)g
(y,)h(z,)f(w)g([,)g(alpha])g([,)g(beta])f(\))609 1005
y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(u1\(:\),)f(u2\(:\),)g
(v1\(:\),)g(v2\(:\),)h(y\(:\),)f(z\(:\))609 1118 y(<type>\(<wp>\),)e
(INTENT)i(\(INOUT\))g(::)h(a\(:,:\),)f(x\(:\))609 1231
y(<type>\(<wp>\),)e(INTENT)i(\(OUT\))h(::)g(w\(:\))609
1344 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g
(beta)514 1457 y(where)609 1570 y(u1,)g(u2,)g(w)g(and)g(y)h(have)e
(shape)h(\(m\);)609 1683 y(v1,)g(v2,)g(x)g(and)g(z)h(have)e(shape)h
(\(n\);)609 1796 y(a)h(has)e(shape)h(\(m,n\).)136 2046
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227 2271
y FD(General:)514 2384 y(SUBROUTINE)45 b(BLAS_xGEMVER\()f(M,)j(N,)g(A,)
g(LDA,)g(U1,)g(V1,)g(U2,)g(V2,)g(ALPHA,)f(X,)466 2496
y($)1193 b(INCX,)46 b(Y,)h(INCY,)g(BETA,)f(W,)h(INCW,)g(Z,)g(INCZ)f(\))
514 2609 y(INTEGER)570 b(INCW,)47 b(INCX,)f(INCY,)h(INCZ,)f(LDA,)h(M,)g
(N)514 2722 y(<type>)618 b(ALPHA,)47 b(BETA)514 2835
y(<type>)618 b(U1\()47 b(*)h(\),)f(V1\()g(*)g(\),)h(U2\()e(*)i(\),)f
(V2\()g(*)g(\))514 2948 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(W\()g
(*)h(\),)f(X\()g(*)g(\),)h(Y\()f(*)g(\),)g(Z\()h(*)f(\))136
3173 y FJ(\017)f FK(C)30 b(binding:)227 3398 y FD(General:)227
3511 y(void)47 b(BLAS_xgemver\()d(enum)j(blas_order_type)c(order,)j
(int)h(m,)h(int)e(n,)i(ARRAY)e(a,)1134 3624 y(int)h(lda,)g(const)f
(ARRAY)g(u1,)h(const)g(ARRAY)f(v1,)1134 3737 y(const)g(ARRAY)h(u2,)g
(const)f(ARRAY)g(v2,)h(SCALAR_IN)f(alpha,)1134 3850 y(ARRAY)g(x,)i(int)
f(incx,)f(const)g(ARRAY)h(y,)g(int)g(incy,)f(ARRAY)g(w,)1134
3963 y(int)h(incw,)f(SCALAR_IN)g(beta,)g(const)g(ARRAY)h(z,)g(int)g
(incz)f(\);)p 0 4188 3900 6 v 0 4301 a FJ(f)p FK(TR,TB,TP)p
FJ(g)p FK(SV)31 b(\(T)-8 b(riangular)28 b(solv)m(e\))1511
b Fy(x)25 b FJ( )g Fy(\013T)3218 4268 y Fu(\000)p FC(1)3313
4301 y Fy(x)p FK(,)31 b Fy(x)25 b FJ( )g Fy(\013T)3738
4268 y Fu(\000)p Fw(T)3848 4301 y Fy(x)141 4526 y FK(These)35
b(routines)f(solv)m(e)i(one)f(of)h(the)f(systems)h(of)f(equations)g
Fy(x)e FJ( )h Fy(\013T)2629 4493 y Fu(\000)p FC(1)2723
4526 y Fy(x)h FK(or)h Fy(x)d FJ( )g Fy(\013T)3260 4493
y Fu(\000)p Fw(T)3370 4526 y Fy(x)p FK(,)k(where)e Fy(x)g
FK(is)0 4639 y(a)e(v)m(ector)i(and)d(the)h(matrix)f Fy(T)46
b FK(is)31 b(a)j(unit,)e(non-unit,)g(upp)s(er)f(or)i(lo)m(w)m(er)g
(triangular)e(\(or)i(triangular)e(banded)h(or)0 4752
y(triangular)c(pac)m(k)m(ed\))k(matrix.)39 b(If)30 b
Fv(n)g FK(is)e(less)i(than)f(or)h(equal)f(to)i(zero,)g(this)e(function)
f(returns)h(immediately)-8 b(.)39 b(As)0 4865 y(describ)s(ed)33
b(in)g(section)i(2.5.3,)j(the)c(v)-5 b(alue)35 b Fv(incx)f
FK(less)g(than)h(zero)g(is)f(p)s(ermitted.)52 b(Ho)m(w)m(ev)m(er,)38
b(if)c Fv(incx)g FK(is)g(equal)g(to)0 4978 y(zero,)d(an)g(error)f
(\015ag)g(is)g(set)h(and)f(passed)g(to)h(the)f(error)g(handler.)39
b(F)-8 b(or)31 b Fv(TRSV)p FK(,)f(if)f Fv(ldt)h FK(is)f(less)h(than)g
(one)h(or)f Fv(ldt)g FK(is)0 5091 y(less)e(than)g Fv(n)p
FK(,)h(an)f(error)g(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g
(error)f(handler.)38 b(F)-8 b(or)29 b Fv(TBSV)p FK(,)e(if)g
Fv(ldt)h FK(is)g(less)f(than)h(one)h(or)0 5204 y Fv(ldt)h
FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)
e(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 63 73
63 72 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(63)227 91 y Fz(A)-5 b(dvic)g(e)35 b(to)h(implementors.)97
b FK(Note)34 b(that)g(no)e(c)m(hec)m(k)j(for)e(singularit)m(y)-8
b(,)32 b(or)g(near)h(singularit)m(y)e(is)h(sp)s(eci\014ed)227
204 y(for)24 b(these)g(triangular)f(equation-solving)f(routines.)38
b(The)23 b(requiremen)m(ts)g(for)h(suc)m(h)g(a)g(test)h(dep)s(end)d(on)
i(the)227 317 y(application,)j(and)g(so)h(w)m(e)h(felt)e(that)i(this)d
(should)g(not)i(b)s(e)f(included,)f(but)h(should)f(instead)h(b)s(e)g(p)
s(erformed)227 430 y(b)s(efore)j(calling)f(the)i(triangular)d(solv)m
(er.)41 b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p
FK(\))136 634 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
850 y FD(Triangular)45 b(Band:)418 963 y(SUBROUTINE)g(tbsv\()i(t,)g(x)g
([,)g(uplo])g([,)g(trans])f([,)h(diag])g([,)g(alpha])f(\))227
1076 y(Triangular)f(Packed:)418 1189 y(SUBROUTINE)g(tpsv\()i(tp,)f(x)i
([,)f(uplo])f([,)i(trans])e([,)h(diag])f([,)h(alpha])g(\))227
1302 y(all:)514 1415 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(<tt>)514
1528 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(x\(:\))514
1640 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1753 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1866 y(TYPE)e(\(blas_diag_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(diag)514 1979 y(<type>\(<wp>\),)d
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha)418 2092 y(where)514
2205 y(<tt>)94 b(::=)47 b(t\(:,:\))f(or)h(tp\(:\))418
2318 y(and)514 2431 y(x)g(has)g(shape)f(\(n\))514 2544
y(TB)95 b(t)47 b(has)g(shape)f(\(k+1,n\))514 2657 y(TP)95
b(tp)47 b(has)g(shape)f(\(n*\(n+1\)/2\))418 2770 y(\(k=band)g(width\))
227 2986 y FK(The)30 b(fun)m(tionalit)m(y)f(of)i Fv(trsv)f
FK(is)f(co)m(v)m(ered)j(b)m(y)e Fv(trsm)p FK(.)136 3171
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
3387 y FD(Triangular:)561 3500 y(SUBROUTINE)45 b(BLAS_xTRSV\()g(UPLO,)h
(TRANS,)h(DIAG,)f(N,)h(ALPHA,)f(T,)h(LDT,)g(X,)514 3613
y($)1097 b(INCX)47 b(\))227 3725 y(Triangular)e(Band:)561
3838 y(SUBROUTINE)g(BLAS_xTBSV\()g(UPLO,)h(TRANS,)h(DIAG,)f(N,)h(K,)g
(ALPHA,)f(T,)i(LDT,)514 3951 y($)1097 b(X,)47 b(INCX)g(\))227
4064 y(Triangular)e(Packed:)561 4177 y(SUBROUTINE)g(BLAS_xTPSV\()g
(UPLO,)h(TRANS,)h(DIAG,)f(N,)h(ALPHA,)f(TP,)h(X,)g(INCX)g(\))227
4290 y(all:)514 4403 y(INTEGER)570 b(DIAG,)47 b(INCX,)f(K,)h(LDT,)g(N,)
g(TRANS,)f(UPLO)514 4516 y(<type>)618 b(ALPHA)514 4629
y(<type>)g(T\()48 b(LDT,)e(*)i(\))f(or)g(TP\()g(*)h(\),)f(X\()g(*)h(\))
136 4845 y FJ(\017)e FK(C)30 b(binding:)227 5061 y FD(Triangular:)227
5174 y(void)47 b(BLAS_xtrsv\()e(enum)h(blas_order_type)e(order,)i(enum)
h(blas_uplo_type)d(uplo,)1039 5287 y(enum)i(blas_trans_type)e(trans,)i
(enum)h(blas_diag_type)d(diag,)1039 5400 y(int)j(n,)g(SCALAR_IN)e
(alpha,)h(const)g(ARRAY)h(t,)g(int)g(ldt,)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 64 74
64 73 bop 0 -165 a FK(64)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)1039 91 y FD(ARRAY)46
b(x,)h(int)g(incx)g(\);)227 204 y(Triangular)e(Band:)227
317 y(void)i(BLAS_xtbsv\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1039 430 y(enum)i(blas_trans_type)e(trans,)i
(enum)h(blas_diag_type)d(diag,)1039 543 y(int)j(n,)g(int)g(k,)g
(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(t,)h(int)g(ldt,)1039
656 y(ARRAY)f(x,)h(int)g(incx)g(\);)227 769 y(Triangular)e(Packed:)227
882 y(void)i(BLAS_xtpsv\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1039 995 y(enum)i(blas_trans_type)e(trans,)i
(enum)h(blas_diag_type)d(diag,)1039 1108 y(int)j(n,)g(SCALAR_IN)e
(alpha,)h(const)g(ARRAY)h(tp,)g(ARRAY)f(x,)1039 1220
y(int)h(incx)f(\);)p 0 1437 3900 6 v 0 1550 a FK(GER)30
b(\(Rank)f(one)h(up)s(date\))f Fy(A)c FJ(2)g Fz(I)-17
b(R)1275 1514 y Fw(n)1318 1490 y FI(2)1357 1550 y Fy(;)15
b(A)25 b FJ( )h Fy(\013xy)1765 1517 y Fw(T)1838 1550
y FK(+)18 b Fy(\014)5 b(A)30 b(A)c FJ(2)e Fz(l)-46 b(C)2316
1513 y Fw(n)2359 1489 y FI(2)2398 1550 y Fy(;)15 b(A)26
b FJ( )f Fy(\013xy)2806 1517 y Fw(T)2880 1550 y FK(+)18
b Fy(\014)5 b(A)30 b FK(or)f Fy(A)c FJ( )h Fy(\013xy)3601
1517 y Fw(H)3686 1550 y FK(+)19 b Fy(\014)5 b(A)141 1775
y FK(This)29 b(routine)h(p)s(erforms)f(the)i(rank)f(1)h(op)s(eration)f
Fy(A)c FJ( )f Fy(\013xy)2261 1742 y Fw(T)2337 1775 y
FK(+)20 b Fy(\014)5 b(A)31 b FK(where)f Fy(\013)h FK(and)f
Fy(\014)36 b FK(are)31 b(scalars,)g Fy(x)g FK(and)0 1888
y Fy(y)36 b FK(are)d(v)m(ectors,)j(and)c(and)h Fy(A)g
FK(is)f(a)i(matrix.)48 b(If)33 b Fv(m)g FK(or)g Fv(n)g
FK(is)f(less)g(than)h(or)g(equal)g(to)h(zero)g(or)f(if)f
Fv(b)s(eta)g FK(is)h(equal)f(to)0 2001 y(one)37 b(and)f
Fv(alpha)g FK(is)g(equal)h(to)g(zero,)j(this)c(function)f(returns)h
(immediately)-8 b(.)59 b(As)37 b(describ)s(ed)d(in)i(section)h(2.5.3,)0
2114 y(the)d(v)-5 b(alue)34 b Fv(incx)g FK(or)g Fv(incy)g
FK(less)f(than)h(zero)h(is)e(p)s(ermitted.)50 b(Ho)m(w)m(ev)m(er,)37
b(if)c(either)h Fv(incx)g FK(or)g Fv(incy)g FK(is)f(equal)g(to)i(zero,)
0 2227 y(an)30 b(error)h(\015ag)g(is)e(set)i(and)f(passed)g(to)i(the)e
(error)h(handler.)39 b(If)30 b Fv(lda)g FK(is)g(less)g(than)g(one)h(or)
f Fv(lda)g FK(is)g(less)g(than)g Fv(m)p FK(,)h(an)0 2340
y(error)j(\015ag)h(is)f(set)h(and)f(passed)h(to)g(the)g(error)f
(handler.)52 b(F)-8 b(or)36 b(the)e(C)h(bindings,)d(if)i
FD(order)46 b(=)i(blas)p 3491 2340 29 4 v 33 w(rowmajor)0
2453 y FK(and)30 b(if)f Fv(lda)g FK(is)h(less)f(than)h(one)h(or)f
Fv(lda)g FK(is)f(less)h(than)g Fv(n)p FK(,)g(an)g(error)g(\015ag)h(is)e
(set)i(and)e(passed)h(to)h(the)g(error)f(handler;)0 2566
y(if)f FD(order)47 b(=)g(blas)p 663 2566 V 34 w(colmajor)28
b FK(and)i(if)f Fv(lda)h FK(is)g(less)f(than)i(one)g(or)f
Fv(lda)g FK(is)f(less)h(than)h Fv(m)p FK(,)f(an)h(error)f(\015ag)h(is)e
(set)j(and)0 2679 y(passed)e(to)h(the)g(error)f(handler.)141
2792 y(The)e(op)s(erator)g(argumen)m(t)h Fv(conj)g FK(is)f(only)f
(referenced)h(when)f Fy(x)i FK(and)e Fy(y)k FK(are)e(complex)f(v)m
(ectors.)41 b(When)28 b Fy(x)h FK(and)0 2904 y Fy(y)k
FK(are)e(complex)g(v)m(ectors,)h(the)f(v)m(ector)h(comp)s(onen)m(ts)f
Fy(y)1897 2918 y Fw(i)1955 2904 y FK(are)g(used)f(unconjugated)g(or)g
(conjugated)i(as)f(sp)s(eci\014ed)0 3017 y(b)m(y)f(the)h(op)s(erator)f
(argumen)m(t)h Fv(conj)p FK(.)136 3221 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)37 b Fz(R)-5 b(efer)33
b(to)g(GEMM)f(sp)-5 b(e)g(ci\014c)g(ation)136 3406 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)561
3622 y FD(SUBROUTINE)45 b(BLAS_xGER\()g(CONJ,)i(M,)g(N,)g(ALPHA,)f(X,)h
(INCX,)g(Y,)g(INCY,)f(BETA,)466 3735 y($)1097 b(A,)48
b(LDA)e(\))514 3848 y(INTEGER)570 b(CONJ,)47 b(INCX,)f(INCY,)h(LDA,)f
(M,)h(N)514 3961 y(<type>)618 b(ALPHA,)47 b(BETA)514
4074 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(X\()g(*)h(\),)f(Y\()g(*)g
(\))136 4290 y FJ(\017)f FK(C)30 b(binding:)227 4506
y FD(void)47 b(BLAS_xger\()e(enum)i(blas_order_type)c(order,)j(enum)h
(blas_conj_type)d(conj,)991 4619 y(int)j(m,)g(int)g(n,)g(SCALAR_IN)e
(alpha,)h(const)h(ARRAY)f(x,)h(int)g(incx,)991 4732 y(const)f(ARRAY)h
(y,)g(int)g(incy,)f(SCALAR_IN)f(beta,)i(ARRAY)f(a,)h(int)g(lda)g(\);)p
0 4948 3900 6 v 0 5061 a FJ(f)p FK(SY,SP)p FJ(g)p FK(R)30
b(\(Symmetric)g(Rank)g(One)g(Up)s(date\))989 b Fy(A)26
b FJ( )f Fy(\013xx)3059 5028 y Fw(T)3135 5061 y FK(+)20
b Fy(\014)5 b(A)30 b FK(with)f Fy(A)d FK(=)f Fy(A)3845
5028 y Fw(T)141 5287 y FK(The)h(routine)g(p)s(erforms)f(the)h
(symmetric)g(rank-1)h(up)s(date)e Fy(A)h FK(=)f Fy(\013xx)2536
5254 y Fw(T)2604 5287 y FK(+)12 b Fy(\014)5 b(A)p FK(,)28
b(where)e Fy(\013)g FK(and)g Fy(\014)32 b FK(are)27 b(scalars,)0
5400 y Fy(x)32 b FK(is)f(a)h(v)m(ector)h(and)f Fy(A)g
FK(is)e(a)j(symmetric)e(\(symmetric)g(pac)m(k)m(ed\))j(matrix.)44
b(This)30 b(routine)h(returns)g(immediately)4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 65 75
65 74 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(65)0 91 y(if)26 b Fv(n)h FK(is)f(less)g(than)h(or)g(equal)f(to)i
(zero)g(or)f(if)f Fv(b)s(eta)g FK(is)g(equal)h(to)g(one)g(and)g
Fv(alpha)f FK(is)g(equal)g(to)i(zero.)40 b(As)27 b(describ)s(ed)e(in)0
204 y(section)32 b(2.5.3,)i(the)e(v)-5 b(alue)31 b Fv(incx)g
FK(less)g(than)g(zero)i(is)d(p)s(ermitted.)43 b(Ho)m(w)m(ev)m(er,)35
b(if)30 b Fv(incx)i FK(is)e(equal)i(to)g(zero,)h(an)e(error)0
317 y(\015ag)f(is)f(set)h(and)f(passed)g(to)i(the)f(error)f(handler.)39
b(If)29 b Fv(lda)g FK(is)f(less)h(than)h(one)g(or)g Fv(lda)f
FK(is)f(less)h(than)h Fv(n)p FK(,)g(an)f(error)h(\015ag)0
430 y(is)f(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)141
543 y(These)20 b(in)m(terfaces)h(encompass)g(the)g(Legacy)h(BLAS)e
(routines)g(xSYR)g(and)g(xSPR)f(with)h(added)f(functionalit)m(y)0
656 y(for)30 b(complex)g(symmetric)g(matrices.)136 861
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
1079 y FD(Symmetric)46 b(Packed:)418 1191 y(SUBROUTINE)f(spr\()i(x,)g
(ap)g([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h(beta])g(\))514
1304 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\))514
1417 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(ap\(:\))514
1530 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1643 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1756 y(<type>\(<wp>\),)c(INTENT\(IN\),)h
(OPTIONAL)g(::)i(alpha,)f(beta)418 1869 y(where)466 1982
y(x)h(has)g(shape)g(\(n\))466 2095 y(ap)g(has)g(shape)f
(\(n*\(n+1\)/2\))227 2312 y FK(The)30 b(functionalit)m(y)f(of)i
Fv(syr)f FK(is)f(co)m(v)m(ered)j(b)m(y)e Fv(syrk)p FK(.)136
2497 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2715 y FD(Symmetric:)514 2828 y(SUBROUTINE)45 b(BLAS_xSYR\()g(UPLO,)h
(N,)h(ALPHA,)f(X,)h(INCX,)g(BETA,)f(A,)h(LDA)g(\))227
2941 y(Symmetric)f(Packed:)514 3054 y(SUBROUTINE)f(BLAS_xSPR\()g(UPLO,)
h(N,)h(ALPHA,)f(X,)h(INCX,)g(BETA,)f(AP)h(\))227 3167
y(all:)514 3280 y(INTEGER)570 b(INCX,)47 b(LDA,)f(N,)i(UPLO)514
3392 y(<type>)618 b(ALPHA,)47 b(BETA)514 3505 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(X\()g(*)h(\))136
3723 y FJ(\017)e FK(C)30 b(binding:)227 3940 y FD(Symmetric:)227
4053 y(void)47 b(BLAS_xsyr\()e(enum)i(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)991 4166 y(int)j(n,)g(SCALAR_IN)e(alpha,)h
(const)h(ARRAY)f(x,)h(int)g(incx,)991 4279 y(SCALAR_IN)e(beta,)i(ARRAY)
f(a,)h(int)g(lda)g(\);)227 4392 y(Symmetric)f(Packed:)227
4505 y(void)h(BLAS_xspr\()e(enum)i(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)991 4618 y(int)j(n,)g(SCALAR_IN)e(alpha,)h
(const)h(ARRAY)f(x,)h(int)g(incx,)991 4731 y(SCALAR_IN)e(beta,)i(ARRAY)
f(ap)h(\);)p 0 4948 3900 6 v 0 5061 a FJ(f)p FK(HE,HP)p
FJ(g)p FK(R)31 b(\(Hermitian)f(Rank)g(One)g(Up)s(date\))961
b Fy(A)25 b FJ( )h Fy(\013xx)3035 5028 y Fw(H)3123 5061
y FK(+)19 b Fy(\014)5 b(A)31 b FK(with)e Fy(A)d FK(=)f
Fy(A)3833 5028 y Fw(H)141 5287 y FK(The)34 b(routine)g(p)s(erforms)f
(the)i(Hermitian)e(rank-1)i(up)s(date)e Fy(A)g FK(=)f
Fy(\013xx)2596 5254 y Fw(H)2687 5287 y FK(+)22 b Fy(\014)5
b(A)p FK(,)36 b(where)f Fy(\013)g FK(and)f Fy(\014)39
b FK(are)c(real)0 5400 y(scalars,)25 b Fy(x)d FK(is)g(a)i(complex)f(v)m
(ector)h(and)f Fy(A)g FK(is)f(a)h(Hermitian)f(\(Hermitian)g(pac)m(k)m
(ed\))i(matrix.)38 b(This)21 b(routine)h(returns)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 66 76
66 75 bop 0 -165 a FK(66)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(immediately)f(if)h
Fv(n)h FK(is)f(less)g(than)h(or)g(equal)f(to)i(zero)f(or)g(if)f
Fv(b)s(eta)g FK(is)g(equal)h(to)g(one)h(and)e Fv(alpha)g
FK(is)g(equal)g(to)i(zero.)0 204 y(As)27 b(describ)s(ed)f(in)g(section)
h(2.5.3,)j(the)e(v)-5 b(alue)27 b Fv(incx)g FK(less)g(than)g(zero)h(is)
f(p)s(ermitted.)38 b(Ho)m(w)m(ev)m(er,)30 b(if)d Fv(incx)g
FK(is)f(equal)h(to)0 317 y(zero,)34 b(an)e(error)f(\015ag)i(is)e(set)h
(and)g(passed)g(to)g(the)h(error)e(handler.)44 b(If)32
b Fv(lda)f FK(is)h(less)f(than)h(one)g(or)g Fv(lda)g
FK(is)f(less)g(than)0 430 y Fv(n)p FK(,)g(an)f(error)g(\015ag)g(is)g
(set)h(and)f(passed)f(to)j(the)e(error)g(handler.)136
635 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
853 y FD(Hermitian)46 b(Packed:)418 966 y(SUBROUTINE)f(hpr\()i(x,)g(ap)
g([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h(beta])g(\))514
1079 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\))514
1191 y(COMPLEX\(<wp>\),)d(INTENT\(INOUT\))g(::)j(ap\(:\))514
1304 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1417 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1530 y(REAL\(<wp>\),)c(INTENT\(IN\),)h
(OPTIONAL)h(::)h(alpha,)f(beta)418 1643 y(where)466 1756
y(x)h(has)g(shape)g(\(n\))466 1869 y(ap)g(has)g(shape)f
(\(n*\(n+1\)/2\))227 2086 y FK(The)30 b(functionalit)m(y)f(of)i
Fv(her)f FK(is)g(co)m(v)m(ered)i(b)m(y)e Fv(herk)p FK(.)136
2272 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2489 y FD(Hermitian:)514 2602 y(SUBROUTINE)45 b(BLAS_xHER\()g(UPLO,)h
(N,)h(ALPHA,)f(X,)h(INCX,)g(BETA,)f(A,)h(LDA)g(\))227
2715 y(Hermitian)f(Packed:)514 2828 y(SUBROUTINE)f(BLAS_xHPR\()g(UPLO,)
h(N,)h(ALPHA,)f(X,)h(INCX,)g(BETA,)f(AP)h(\))227 2941
y(all:)514 3054 y(INTEGER)570 b(INCX,)47 b(LDA,)f(N,)i(UPLO)514
3167 y(<rtype>)570 b(ALPHA,)47 b(BETA)514 3280 y(<ctype>)570
b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(X\()g(*)h(\))136
3497 y FJ(\017)e FK(C)30 b(binding:)227 3715 y FD(Hermitian:)227
3828 y(void)47 b(BLAS_xher\()e(enum)i(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)991 3940 y(int)j(n,)g(RSCALAR_IN)e(alpha,)h
(const)g(CARRAY)h(x,)g(int)g(incx,)991 4053 y(RSCALAR_IN)e(beta,)h
(CARRAY)g(a,)i(int)e(lda)h(\);)227 4166 y(Hermitian)f(Packed:)227
4279 y(void)h(BLAS_xhpr\()e(enum)i(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)991 4392 y(int)j(n,)g(RSCALAR_IN)e(alpha,)h
(const)g(CARRAY)h(x,)g(int)g(incx,)991 4505 y(RSCALAR_IN)e(beta,)h
(CARRAY)g(ap)i(\);)p 0 4723 3900 6 v 0 4835 a FJ(f)p
FK(SY,SP)p FJ(g)p FK(R2)31 b(\(Symmetric)f(Rank)g(t)m(w)m(o)h(up)s
(date\))661 b Fy(A)26 b FJ( )f Fy(\013xy)2735 4802 y
Fw(T)2810 4835 y FK(+)20 b Fy(\013y)s(x)3059 4802 y Fw(T)3135
4835 y FK(+)g Fy(\014)5 b(A)30 b FK(with)f Fy(A)d FK(=)f
Fy(A)3845 4802 y Fw(T)141 5061 y FK(The)35 b(routine)f(p)s(erforms)g
(the)i(symmetric)e(rank-2)i(up)s(date)e Fy(A)g FK(=)f
Fy(\013xy)2610 5028 y Fw(T)2689 5061 y FK(+)23 b Fy(\013y)s(x)2941
5028 y Fw(T)3020 5061 y FK(+)g Fy(\014)5 b(A)p FK(,)37
b(where)e Fy(\013)h FK(and)f Fy(\014)0 5174 y FK(are)g(scalars,)g
Fy(x)f FK(is)g(a)g(v)m(ector)i(and)e Fy(A)g FK(is)g(a)g(symmetric)g
(\(symmetric)g(pac)m(k)m(ed\))i(matrix.)51 b(This)33
b(routine)g(returns)0 5287 y(immediately)e(if)h Fv(n)h
FK(is)f(less)g(than)h(or)g(equal)f(to)i(zero)f(or)g(if)f
Fv(b)s(eta)g FK(is)g(equal)h(to)g(one)h(and)e Fv(alpha)g
FK(is)g(equal)g(to)i(zero.)0 5400 y(As)e(describ)s(ed)d(in)h(section)i
(2.5.3,)i(the)d(v)-5 b(alue)32 b Fv(incx)f FK(or)h Fv(incy)f
FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)43 b(Ho)m(w)m(ev)m(er,)34
b(if)c(either)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 67 77
67 76 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(67)0 91 y Fv(incx)31 b FK(or)g Fv(incy)g FK(is)f(equal)h(to)h
(zero,)g(an)f(error)g(\015ag)g(is)f(set)i(and)e(passed)h(to)h(the)f
(error)g(handler.)41 b(If)30 b Fv(lda)h FK(is)f(less)g(than)0
204 y(one)h(or)f Fv(lda)g FK(is)f(less)h(than)g Fv(n)p
FK(,)g(an)h(error)f(\015ag)g(is)g(set)h(and)f(passed)f(to)j(the)e
(error)g(handler.)141 317 y(These)25 b(in)m(terfaces)h(encompass)f(the)
g(Legacy)i(BLAS)e(routines)f(xSYR2)h(and)g(xSPR2)g(with)e(added)i
(function-)0 430 y(alit)m(y)30 b(for)g(complex)g(symmetric)g(matrices.)
136 635 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
853 y FD(Symmetric)46 b(Packed:)418 966 y(SUBROUTINE)f(spr2\()i(x,)g
(y,)g(ap)g([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h(beta])g(\))514
1079 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\),)f(y\(:\))514
1191 y(<type>\(<wp>\),)e(INTENT\(INOUT\))g(::)j(ap\(:\))514
1304 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1417 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1530 y(<type>\(<wp>\),)c(INTENT\(IN\),)h
(OPTIONAL)g(::)i(alpha,)f(beta)418 1643 y(where)466 1756
y(x)h(and)g(y)h(have)e(shape)h(\(n\))466 1869 y(ap)g(has)g(shape)f
(\(n*\(n+1\)/2\))227 2086 y FK(The)30 b(functionalit)m(y)f(of)i
Fv(syr2)f FK(is)g(co)m(v)m(ered)i(b)m(y)e Fv(syr2k)p
FK(.)136 2272 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2489 y FD(Symmetric:)514 2602 y(SUBROUTINE)45 b(BLAS_xSYR2\()f(UPLO,)j
(N,)g(ALPHA,)f(X,)h(INCX,)g(Y,)g(INCY,)f(BETA,)g(A,)466
2715 y($)1097 b(LDA)47 b(\))227 2828 y(Symmetric)f(Packed:)514
2941 y(SUBROUTINE)f(BLAS_xSPR2\()f(UPLO,)j(N,)g(ALPHA,)f(X,)h(INCX,)g
(Y,)g(INCY,)f(BETA,)466 3054 y($)1097 b(AP)48 b(\))227
3167 y(all:)514 3280 y(INTEGER)570 b(INCX,)47 b(LDA,)f(N,)i(UPLO)514
3392 y(<type>)618 b(ALPHA,)47 b(BETA)514 3505 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(X\()g(*)h(\),)f(Y\()g
(*)g(\))136 3723 y FJ(\017)f FK(C)30 b(binding:)227 3940
y FD(Symmetric:)227 4053 y(void)47 b(BLAS_xsyr2\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1039
4166 y(int)j(n,)g(SCALAR_IN)e(alpha,)h(const)g(ARRAY)h(x,)g(int)g
(incx,)1039 4279 y(const)f(ARRAY)g(y,)i(int)e(incy,)h(SCALAR_IN)e
(beta,)h(ARRAY)h(a,)g(int)g(lda)g(\);)227 4392 y(Symmetric)f(Packed:)
227 4505 y(void)h(BLAS_xspr2\()e(enum)h(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)d(uplo,)1039 4618 y(int)j(n,)g(SCALAR_IN)e
(alpha,)h(const)g(ARRAY)h(x,)g(int)g(incx,)1039 4731
y(const)f(ARRAY)g(y,)i(int)e(incy,)h(SCALAR_IN)e(beta,)h(ARRAY)h(ap)g
(\);)p 0 4948 3900 6 v 0 5061 a FJ(f)p FK(HE,HP)p FJ(g)p
FK(R2)32 b(\(Hermitian)d(Rank)i(t)m(w)m(o)g(up)s(date\))621
b Fy(A)25 b FJ( )g Fy(\013xy)2698 5028 y Fw(H)2786 5061
y FK(+)k(\026)-54 b Fy(\013y)s(x)3035 5028 y Fw(H)3123
5061 y FK(+)19 b Fy(\014)5 b(A)31 b FK(with)e Fy(A)d
FK(=)f Fy(A)3833 5028 y Fw(H)141 5287 y FK(The)40 b(routine)f(p)s
(erforms)f(the)j(Hermitian)d(rank-2)j(up)s(date)e Fy(A)j
FK(=)f Fy(\013xy)2649 5254 y Fw(H)2743 5287 y FK(+)36
b(\026)-54 b Fy(\013y)s(x)2999 5254 y Fw(H)3093 5287
y FK(+)26 b Fy(\014)5 b(A)p FK(,)43 b(where)d Fy(\013)g
FK(is)g(a)0 5400 y(complex)h(scalar)h(and)f(and)h Fy(\014)47
b FK(is)40 b(a)j(real)e(scalar,)k Fy(x)c FK(and)h Fy(y)i
FK(are)e(complex)g(v)m(ectors)h(and)e Fy(A)h FK(is)f(a)h(Hermitian)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 68 78
68 77 bop 0 -165 a FK(68)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FK(\(Hermitian)g(pac)m(k)m
(ed\))i(matrix.)48 b(This)31 b(routine)h(returns)g(immediately)f(if)h
Fv(n)h FK(is)e(less)i(than)f(or)h(equal)g(to)g(zero)h(or)0
204 y(if)f Fv(b)s(eta)h FK(is)f(equal)h(to)h(one)g(and)f
Fv(alpha)f FK(is)g(equal)h(to)h(zero.)54 b(As)34 b(describ)s(ed)e(in)h
(section)i(2.5.3,)i(the)e(v)-5 b(alue)34 b Fv(incx)g
FK(or)0 317 y Fv(incy)d FK(less)f(than)g(zero)i(is)d(p)s(ermitted.)41
b(Ho)m(w)m(ev)m(er,)33 b(if)c(either)i Fv(incx)f FK(or)h
Fv(incy)f FK(is)g(equal)g(to)i(zero,)g(an)e(error)h(\015ag)g(is)e(set)0
430 y(and)g(passed)g(to)h(the)g(error)f(handler.)38 b(If)29
b Fv(lda)g FK(is)g(less)f(than)i(one)f(or)h Fv(lda)f
FK(is)f(less)h(than)g Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)f(set)h
(and)0 543 y(passed)g(to)h(the)g(error)f(handler.)136
756 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
980 y FD(Hermitian)46 b(Packed:)418 1093 y(SUBROUTINE)f(hpr2\()i(x,)g
(y,)g(ap)g([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h(beta])g(\))514
1206 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\),)f(y\(:\))514
1319 y(COMPLEX\(<wp>\),)e(INTENT\(INOUT\))g(::)j(ap\(:\))514
1432 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1545 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1658 y(COMPLEX\(<wp>\),)c(INTENT\(IN\),)g
(OPTIONAL)i(::)h(alpha,)f(beta)418 1771 y(where)466 1884
y(x)h(and)g(y)h(have)e(shape)h(\(n\))466 1997 y(ap)g(has)g(shape)f
(\(n*\(n+1\)/2\))227 2222 y FK(The)30 b(functionalit)m(y)f(of)i
Fv(her2)g FK(is)e(co)m(v)m(ered)j(b)m(y)e Fv(her2k)p
FK(.)136 2409 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2634 y FD(Hermitian:)514 2747 y(SUBROUTINE)45 b(BLAS_xHER2\()f(UPLO,)j
(N,)g(ALPHA,)f(X,)h(INCX,)g(Y,)g(INCY,)f(BETA,)g(A,)466
2860 y($)954 b(LDA)47 b(\))227 2973 y(Hermitian)f(Packed:)514
3086 y(SUBROUTINE)f(BLAS_xHPR2\()f(UPLO,)j(N,)g(ALPHA,)f(X,)h(INCX,)g
(Y,)g(INCY,)f(BETA,)466 3199 y($)1097 b(AP)48 b(\))227
3312 y(all:)514 3425 y(INTEGER)570 b(INCX,)47 b(LDA,)f(N,)i(UPLO)514
3538 y(<ctype>)570 b(ALPHA)514 3650 y(<rtype>)g(BETA)514
3763 y(<ctype>)g(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(X\()g
(*)h(\),)f(Y\()g(*)g(\))136 3988 y FJ(\017)f FK(C)30
b(binding:)227 4213 y FD(Hermitian:)227 4326 y(void)47
b(BLAS_xher2\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1039 4439 y(int)j(n,)g(CSCALAR_IN)e(alpha,)h
(const)g(CARRAY)g(x,)h(int)g(incx,)1039 4552 y(const)f(CARRAY)g(y,)h
(int)g(incy,)g(RSCALAR_IN)e(beta,)h(CARRAY)g(a,)1039
4665 y(int)h(lda)f(\);)227 4778 y(Hermitian)g(Packed:)227
4891 y(void)h(BLAS_xhpr2\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1039 5004 y(int)j(n,)g(CSCALAR_IN)e(alpha,)h
(const)g(CARRAY)g(x,)h(int)g(incx,)1039 5117 y(const)f(CARRAY)g(y,)h
(int)g(incy,)g(RSCALAR_IN)e(beta,)h(CARRAY)g(ap)h(\);)p
0 5342 3900 6 v 4084 64 a FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 69 79
69 78 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(69)0 91 y Fx(2.8.7)97 b(Matrix)32 b(Op)s(erations)0
263 y FJ(f)p FK(GE,GB,SY,HE,SB,HB,SP)-8 b(,HP)g(,TR,TB,TP)p
FJ(g)p 1727 263 28 4 v 37 w FK(NORM)30 b(\(Matrix)h(norms\))1329
451 y Fy(r)d FJ( )d(jj)p Fy(A)p FJ(jj)1682 465 y FC(1)1723
451 y Fy(;)30 b FJ(jj)p Fy(A)p FJ(jj)1946 465 y FC(1)p
Fw(R)2040 451 y Fy(;)h FJ(jj)p Fy(A)p FJ(jj)2264 465
y Fw(F)2324 451 y Fy(;)f FJ(jj)p Fy(A)p FJ(jj)2547 465
y Fu(1)2623 451 y Fy(;)h FJ(jj)p Fy(A)p FJ(jj)2847 465
y Fu(1)p Fw(R)2976 451 y Fy(;)g FJ(jj)p Fy(A)p FJ(jj)3200
465 y Fw(max)3345 451 y Fy(;)46 b(or)32 b FJ(jj)p Fy(A)p
FJ(jj)3701 465 y Fw(maxR)141 638 y FK(These)48 b(routines)g(compute)g
(the)h(one-norm,)k(real)48 b(one-norm,)53 b(F)-8 b(rob)s(enius-norm,)52
b(in\014nit)m(y-norm,)e(real)0 751 y(in\014nit)m(y-norm,)31
b(max-norm,)j(or)e(real)h(max-norm)g(of)g(a)g(general)g(matrix)f
Fy(A)h FK(dep)s(ending)d(on)j(the)g(v)-5 b(alue)32 b(passed)0
864 y(as)h(the)g Fv(no)m(rm)h FK(op)s(erator)f(argumen)m(t.)49
b(This)31 b(routine)h(returns)g(immediately)f(with)g(the)j(output)e
(scalar)h Fv(r)g FK(set)g(to)0 977 y(zero)40 b(if)e Fv(m)h
FK(\(for)g(nonsymmetric)f(matrices\))h(or)g Fv(n)g FK(or)g
Fv(kl)g FK(or)g Fv(ku)g FK(\(for)g(band)f(matrices\))h(or)g
Fv(k)h FK(\(for)f(symmetric)0 1090 y(band)29 b(matrices\))h(is)f(less)h
(than)g(or)g(equal)f(to)i(zero.)41 b(The)30 b(resulting)e(scalar)i
Fv(r)g FK(is)f(alw)m(a)m(ys)i(real)f(and)f(as)h(de\014ned)f(in)0
1203 y(section)k(2.1.3.)50 b(If)33 b FD(norm)46 b(=)i(blas)p
1192 1203 29 4 v 33 w(two)p 1369 1203 V 34 w(norm)p FK(,)32
b(requesting)g(the)h(t)m(w)m(o-norm)h(of)f(a)h(matrix,)f(an)g(error)f
(\015ag)h(is)f(set)0 1316 y(and)d(passed)g(to)h(the)f(error)g(handler.)
39 b(The)29 b(only)f(exception)i(to)g(this)e(rule)g(is)g(if)h(the)g
(matrix)g(is)f(a)i(single)e(column)0 1429 y(or)33 b(a)h(single)d(ro)m
(w,)k(whereb)m(y)d(the)h(F)-8 b(rob)s(enius-norm)32 b(is)g(returned)g
(since)g(the)h(t)m(w)m(o-norm)h(and)f(F)-8 b(rob)s(enius-norm)0
1541 y(of)35 b(a)h(v)m(ector)g(are)g(iden)m(tical.)53
b(F)-8 b(or)36 b(the)f(routine)f Fv(GE)p 1805 1541 28
4 v 33 w(NORM)p FK(,)g(if)g Fv(lda)h FK(is)f(less)g(than)h(one)g(or)g
Fv(lda)f FK(is)g(less)h(than)g Fv(m)p FK(,)0 1654 y(an)e(error)f
(\015ag)i(is)e(set)h(and)g(passed)f(to)i(the)f(error)g(handler.)46
b(F)-8 b(or)34 b(the)f(C)g(bindings)c(of)34 b Fv(GE)p
3125 1654 V 32 w(NORM)p FK(,)f(if)f FD(order)46 b(=)0
1767 y(blas)p 198 1767 29 4 v 33 w(rowmajor)33 b FK(and)h(if)g
Fv(lda)g FK(is)g(less)g(than)g(one)h(or)g Fv(lda)f FK(is)g(less)g(than)
g Fv(n)p FK(,)i(an)f(error)g(\015ag)g(is)e(set)j(and)e(passed)g(to)0
1880 y(the)h(error)e(handler;)i(if)f FD(order)46 b(=)h(blas)p
1414 1880 V 34 w(colmajor)32 b FK(and)h(if)h Fv(lda)f
FK(is)h(less)f(than)i(one)f(or)h Fv(lda)e FK(is)h(less)f(than)h
Fv(m)p FK(,)i(an)0 1993 y(error)e(\015ag)g(is)f(set)i(and)e(passed)g
(to)i(the)f(error)g(handler.)50 b(F)-8 b(or)35 b(the)f(routine)f
Fv(GB)p 2763 1993 28 4 v 32 w(NORM)p FK(,)g(if)g Fv(lda)h
FK(is)f(less)g(than)h Fv(kl)0 2106 y FK(plus)29 b Fv(ku)j
FK(plus)d(one,)k(an)e(error)g(\015ag)g(is)g(set)h(and)e(passed)h(to)h
(the)g(error)f(handler.)42 b(F)-8 b(or)32 b(the)f(routines)f
Fv(SY)p 3578 2106 V 32 w(NORM)p FK(,)0 2219 y Fv(HE)p
123 2219 V 33 w(NORM)p FK(,)25 b(and)f Fv(TR)p 768 2219
V 33 w(NORM)p FK(,)g(if)g Fv(lda)h FK(is)f(less)g(than)g(one)i(or)f
Fv(lda)f FK(is)g(less)g(than)h Fv(n)p FK(,)h(an)f(error)f(\015ag)i(is)e
(set)h(and)f(passed)0 2332 y(to)33 b(the)f(error)f(handler.)43
b(F)-8 b(or)33 b(the)f(routines)e Fv(SB)p 1653 2332 V
32 w(NORM)p FK(,)i Fv(HB)p 2137 2332 V 33 w(NORM)p FK(,)f(and)g
Fv(TB)p 2797 2332 V 33 w(NORM)p FK(,)g(if)g Fv(lda)g
FK(is)g(less)g(than)h Fv(k)0 2445 y FK(plus)c(one,)j(an)g(error)f
(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g(error)f(handler.)227
2657 y Fz(A)-5 b(dvic)g(e)40 b(to)g(implementors.)130
b FK(High-qualit)m(y)37 b(implemen)m(tations)g(of)h(these)h(routines)e
(should)f(b)s(e)i(accu-)227 2770 y(rate.)53 b(The)33
b(subroutines)f Fv(SLANGB)p FK(,)h Fv(SLANGE)p FK(,)h
Fv(SLANGT)p FK(,)f Fv(SLANHS)p FK(,)h Fv(SLANSB)p FK(,)f
Fv(SLANSP)p FK(,)h Fv(SLANST)p FK(,)227 2883 y Fv(SLANSY)p
FK(,)24 b Fv(SLANTB)p FK(,)h Fv(SLANTP)p FK(,)g(and)f
Fv(SLANTR)p FK(,)h(of)g(the)g(LAP)-8 b(A)m(CK)26 b([6])g(soft)m(w)m
(are)g(library)d(are)i(examples)227 2996 y(of)h(accurate)h(implemen)m
(tations.)38 b(High-qualit)m(y)25 b(implemen)m(tations)f(should)f(do)s
(cumen)m(t)j(the)g(accuracy)h(of)227 3109 y(the)h(algorithms)f(used)h
(in)e(this)h(routine)g(so)i(as)f(to)h(alleviate)e(the)i(p)s(ortabilit)m
(y)d(problems)g(this)h(represen)m(ts.)227 3222 y(\()p
Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)h(implementors.)p
FK(\))136 3434 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3684 y FD(General:)418 3797 y(REAL\(<wp>\))45 b(FUNCTION)h(ge_norm\()f
(a)j([,)f(norm])f(\))227 3910 y(General)g(Band:)418 4023
y(REAL\(<wp>\))f(FUNCTION)h(gb_norm\()f(a,)i(m,)h(kl)f([,)g(norm])f(\))
227 4136 y(Symmetric:)418 4249 y(REAL\(<wp>\))f(FUNCTION)h(sy_norm\()f
(a)j([,)f(norm])f([,)h(uplo])g(\))227 4362 y(Hermitian:)418
4475 y(REAL\(<wp>\))e(FUNCTION)h(he_norm\()f(a)j([,)f(norm])f([,)h
(uplo])g(\))227 4588 y(Symmetric)f(Band:)418 4700 y(REAL\(<wp>\))f
(FUNCTION)h(sb_norm\()f(a)j([,)f(norm])f([,)h(uplo])g(\))227
4813 y(Hermitian)f(Band:)418 4926 y(REAL\(<wp>\))f(FUNCTION)h
(hb_norm\()f(a)j([,)f(norm])f([,)h(uplo])g(\))227 5039
y(Symmetric)f(Packed:)418 5152 y(REAL\(<wp>\))f(FUNCTION)h(sp_norm\()f
(ap)i([,)h(norm])e([,)h(uplo])g(\))227 5265 y(Hermitian)f(Packed:)418
5378 y(REAL\(<wp>\))f(FUNCTION)h(hp_norm\()f(ap)i([,)h(norm])e([,)h
(uplo])g(\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 70 80
70 79 bop 0 -165 a FK(70)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(Triangular:)418
204 y(REAL\(<wp>\))45 b(FUNCTION)h(tr_norm\()f(a)j([,)f(norm])f([,)h
(uplo])g([,)g(diag])f(\))227 317 y(Triangular)f(Band:)418
430 y(REAL\(<wp>\))g(FUNCTION)h(tb_norm\()f(a)j([,)f(norm])f([,)h
(uplo])g([,)g(diag])f(\))227 543 y(Triangular)f(Packed:)418
656 y(REAL\(<wp>\))g(FUNCTION)h(tp_norm\()f(ap)i([,)h(norm])e([,)h
(uplo])g([,)g(diag])f(\))227 769 y(all:)514 882 y(<type>\(<wp>\),)e
(INTENT)i(\(IN\))h(::)g(a\(:,:\))f(|)h(ap\(:\))514 995
y(INTEGER,)e(INTENT)h(\(IN\))h(::)g(m,)g(kl)514 1108
y(TYPE)f(\(blas_norm_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j(norm)
514 1220 y(TYPE)e(\(blas_uplo_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e
(::)j(uplo)514 1333 y(TYPE)e(\(blas_diag_type\),)d(INTENT)j(\(IN\),)h
(OPTIONAL)e(::)j(diag)418 1446 y(where)514 1559 y(a)f(has)g(shape)f
(\(m,n\))h(for)g(general)e(matrix)1086 1672 y(\(l,n\))i(for)g(general)e
(banded)i(matrix)f(\(l)h(>)g(kl\))1086 1785 y(\(n,n\))g(for)g
(symmetric,)e(Hermitian)g(or)i(triangular)1086 1898 y(\(k+1,n\))f(for)h
(symmetric)e(banded,)h(Hermitian)f(banded)1468 2011 y(or)i(triangular)e
(banded)h(\(k=band)g(width\))514 2124 y(ap)h(has)g(shape)f
(\(n*\(n+1\)/2\).)136 2374 y FJ(\017)g FK(F)-8 b(ortran)31
b(77)h(binding:)227 2599 y FD(General:)514 2711 y(<rtype>)45
b(FUNCTION)h(BLAS_xGE_NORM\()e(NORM,)i(M,)h(N,)h(A,)f(LDA)g(\))227
2824 y(General)f(Band:)514 2937 y(<rtype>)f(FUNCTION)h(BLAS_xGB_NORM\()
e(NORM,)i(M,)h(N,)h(KL,)f(KU,)f(A,)i(LDA)f(\))227 3050
y(Symmetric:)514 3163 y(<rtype>)e(FUNCTION)h(BLAS_xSY_NORM\()e(NORM,)i
(UPLO,)h(N,)g(A,)g(LDA)g(\))227 3276 y(Hermitian:)514
3389 y(<rtype>)e(FUNCTION)h(BLAS_xHE_NORM\()e(NORM,)i(UPLO,)h(N,)g(A,)g
(LDA)g(\))227 3502 y(Symmetric)f(Band:)514 3615 y(<rtype>)f(FUNCTION)h
(BLAS_xSB_NORM\()e(NORM,)i(UPLO,)h(N,)g(K,)g(A,)g(LDA)g(\))227
3728 y(Hermitian)f(Band:)514 3841 y(<rtype>)f(FUNCTION)h
(BLAS_xHB_NORM\()e(NORM,)i(UPLO,)h(N,)g(K,)g(A,)g(LDA)g(\))227
3954 y(Symmetric)f(Packed:)514 4066 y(<rtype>)f(FUNCTION)h
(BLAS_xSP_NORM\()e(NORM,)i(UPLO,)h(N,)g(AP)g(\))227 4179
y(Hermitian)f(Packed:)514 4292 y(<rtype>)f(FUNCTION)h(BLAS_xHP_NORM\()e
(NORM,)i(UPLO,)h(N,)g(AP)g(\))227 4405 y(Triangular:)514
4518 y(<rtype>)e(FUNCTION)h(BLAS_xTR_NORM\()e(NORM,)i(UPLO,)h(DIAG,)f
(N,)h(A,)g(LDA)g(\))227 4631 y(Triangular)e(Band:)514
4744 y(<rtype>)g(FUNCTION)h(BLAS_xTB_NORM\()e(NORM,)i(UPLO,)h(DIAG,)f
(N,)h(K,)g(A,)h(LDA)e(\))227 4857 y(Triangular)f(Packed:)514
4970 y(<rtype>)g(FUNCTION)h(BLAS_xTP_NORM\()e(NORM,)i(UPLO,)h(DIAG,)f
(N,)h(AP)g(\))227 5083 y(all:)514 5196 y(INTEGER)570
b(DIAG,)47 b(K,)g(KL,)g(KU,)g(LDA,)f(M,)i(N,)f(NORM,)f(UPLO)514
5308 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 71 81
71 80 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(71)136 91 y FJ(\017)46 b FK(C)30 b(binding:)227
316 y FD(General:)227 429 y(void)47 b(BLAS_xge_norm\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
542 y(int)j(m,)g(int)g(n,)g(const)f(ARRAY)h(a,)g(int)g(lda,)f
(RSCALAR_INOUT)f(r)i(\);)227 655 y(General)f(Band:)227
768 y(void)h(BLAS_xgb_norm\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_norm_type)d(norm,)1182 881 y(int)j(m,)g(int)g(n,)g(int)g(kl,)g
(int)g(ku,)g(const)f(ARRAY)g(a,)i(int)e(lda,)1182 994
y(RSCALAR_INOUT)e(r)j(\);)227 1107 y(Symmetric:)227 1220
y(void)g(BLAS_xsy_norm\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_norm_type)d(norm,)1182 1333 y(enum)i(blas_uplo_type)e(uplo,)j
(int)g(n,)g(const)f(ARRAY)h(a,)1182 1445 y(int)g(lda,)f(RSCALAR_INOUT)f
(r)i(\);)227 1558 y(Hermitian:)227 1671 y(void)g(BLAS_xhe_norm\()d
(enum)i(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
1784 y(enum)i(blas_uplo_type)e(uplo,)j(int)g(n,)g(const)f(CARRAY)g(a,)
1182 1897 y(int)h(lda,)f(RSCALAR_INOUT)f(r)i(\);)227
2010 y(Symmetric)f(Band:)227 2123 y(void)h(BLAS_xsb_norm\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
2236 y(enum)i(blas_uplo_type)e(uplo,)j(int)g(n,)g(int)g(k,)g(const)f
(ARRAY)h(a,)1182 2349 y(int)g(lda,)f(RSCALAR_INOUT)f(r)i(\);)227
2462 y(Hermitian)f(Band:)227 2575 y(void)h(BLAS_xhb_norm\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
2687 y(enum)i(blas_uplo_type)e(uplo,)j(int)g(n,)g(int)g(k,)g(const)f
(CARRAY)g(a,)1182 2800 y(int)h(lda,)f(RSCALAR_INOUT)f(r)i(\);)227
2913 y(Symmetric)f(Packed:)227 3026 y(void)h(BLAS_xsp_norm\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
3139 y(enum)i(blas_uplo_type)e(uplo,)j(int)g(n,)g(const)f(ARRAY)h(ap,)
1182 3252 y(RSCALAR_INOUT)d(r)j(\);)227 3365 y(Hermitian)f(Packed:)227
3478 y(void)h(BLAS_xhp_norm\()d(enum)i(blas_order_type)e(order,)i(enum)
h(blas_norm_type)d(norm,)1182 3591 y(enum)i(blas_uplo_type)e(uplo,)j
(int)g(n,)g(const)f(CARRAY)g(ap,)1182 3704 y(RSCALAR_INOUT)e(r)j(\);)
227 3817 y(Triangular:)227 3929 y(void)g(BLAS_xtr_norm\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
4042 y(enum)i(blas_uplo_type)e(uplo,)j(enum)f(blas_diag_type)e(diag,)
1182 4155 y(int)j(n,)g(const)f(ARRAY)h(a,)g(int)g(lda,)f(RSCALAR_INOUT)
f(r)i(\);)227 4268 y(Triangular)e(Band:)227 4381 y(void)i
(BLAS_xtb_norm\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_norm_type)d(norm,)1182 4494 y(enum)i(blas_uplo_type)e(uplo,)j
(enum)f(blas_diag_type)e(diag,)1182 4607 y(int)j(n,)g(int)g(k,)g(const)
f(ARRAY)h(a,)g(int)g(lda,)f(RSCALAR_INOUT)f(r)i(\);)227
4720 y(Triangular)e(Packed:)227 4833 y(void)i(BLAS_xtp_norm\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_norm_type)d(norm,)1182
4946 y(enum)i(blas_uplo_type)e(uplo,)j(enum)f(blas_diag_type)e(diag,)
1182 5059 y(int)j(n,)g(const)f(ARRAY)h(ap,)g(RSCALAR_INOUT)d(r)j(\);)p
0 5284 3900 6 v -214 64 a FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 72 82
72 81 bop 0 -165 a FK(72)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)0 91 y FJ(f)p FK(GE,GB)p
FJ(g)p 388 91 28 4 v 35 w FK(DIA)m(G)p 661 91 V 34 w(SCALE)d
(\(Diagonal)i(scaling\))934 b Fy(A)26 b FJ( )f Fy(D)s(A;)15
b(AD)34 b FK(with)29 b Fy(D)k FK(diagonal)141 317 y(These)40
b(routines)f(scale)i(a)g(general)f(\(or)h(banded\))e(matrix)h
Fy(A)g FK(on)h(the)f(left)g(side)f(or)i(the)f(righ)m(t)g(side)f(b)m(y)i
(a)0 430 y(diagonal)33 b(matrix)g Fy(D)s FK(.)50 b(This)32
b(routine)h(returns)f(immediately)g(if)h Fv(m)h FK(or)g
Fv(n)f FK(or)h Fv(kl)g FK(or)f Fv(ku)h FK(\(for)g(band)f(matrices\))h
(is)0 543 y(less)29 b(than)g(or)g(equal)g(to)h(zero.)42
b(As)29 b(describ)s(ed)e(in)h(section)i(2.5.3,)i(the)d(v)-5
b(alue)29 b Fv(incd)h FK(less)e(than)h(zero)i(is)d(p)s(ermitted.)0
656 y(Ho)m(w)m(ev)m(er,)45 b(if)39 b Fv(incd)i FK(is)e(equal)h(to)h
(zero,)j(an)c(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g
(error)f(handler.)69 b(F)-8 b(or)41 b(the)0 769 y(routine)27
b Fv(GE)p 431 769 V 33 w(DIA)m(G)p 674 769 V 32 w(SCALE)p
FK(,)i(if)e Fv(lda)h FK(is)f(less)h(than)g(one)h(or)g
Fv(lda)e FK(is)h(less)f(than)i Fv(m)p FK(,)g(an)f(error)g(\015ag)h(is)f
(set)h(and)e(passed)0 882 y(to)i(the)f(error)g(handler.)38
b(F)-8 b(or)29 b(the)f(C)f(bindings)e(of)j Fv(GE)p 1838
882 V 33 w(DIA)m(G)p 2081 882 V 32 w(SCALE)p FK(,)g(if)f
FD(order)47 b(=)g(blas)p 3095 882 29 4 v 33 w(rowmajor)26
b FK(and)i(if)f Fv(lda)0 995 y FK(is)32 b(less)f(than)i(one)f(or)h
Fv(lda)f FK(is)f(less)h(than)g Fv(n)p FK(,)h(an)g(error)f(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)g(error)f(handler;)g(if)f
FD(order)0 1108 y(=)47 b(blas)p 293 1108 V 34 w(colmajor)27
b FK(and)h(if)g Fv(lda)g FK(is)g(less)h(than)g(one)g(or)g
Fv(lda)f FK(is)h(less)f(than)h Fv(m)p FK(,)g(an)g(error)g(\015ag)g(is)g
(set)g(and)g(passed)f(to)0 1220 y(the)i(error)f(handler.)39
b(F)-8 b(or)30 b(the)g(routine)f Fv(GB)p 1500 1220 28
4 v 32 w(DIA)m(G)p 1742 1220 V 32 w(SCALE)p FK(,)h(if)e
Fv(lda)h FK(is)g(less)g(than)g Fv(kl)h FK(plus)e Fv(ku)i
FK(plus)d(one,)k(an)e(error)0 1333 y(\015ag)i(is)e(set)i(and)f(passed)g
(to)h(the)f(error)g(handler.)136 1541 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)227 1785 y FD(General:)418
1898 y(SUBROUTINE)45 b(ge_diag_scale\()f(d,)j(a)h([,)f(side])f(\))227
2011 y(General)g(Band:)418 2124 y(SUBROUTINE)f(gb_diag_scale\()f(d,)j
(a,)g(m,)h(kl)f([,)g(side])f(\))227 2237 y(all:)514 2350
y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(d\(:\))514
2463 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h(a\(:,:\))514
2576 y(INTEGER,)e(INTENT)h(\(IN\))h(::)g(m,)g(kl)514
2689 y(TYPE)f(\(blas_side_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j
(side)418 2802 y(where)514 2914 y(a)f(has)g(shape)f(\(m,n\))h(for)g
(general)e(matrix)1086 3027 y(\(l,n\))i(for)g(general)e(banded)i
(matrix)f(\(l)h(>)g(kl\))514 3140 y(d)g(has)g(shape)f(\(p\))h(where)g
(p)g(=)h(m)f(if)g(side)g(=)g(blas_left_side)1564 3253
y(p)g(=)h(n)f(if)g(side)g(=)g(blas_right_side)136 3497
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227 3718
y FD(General:)514 3831 y(SUBROUTINE)45 b(BLAS_xGE_DIAG_SCALE\()d(SIDE,)
k(M,)h(N,)h(D,)f(INCD,)f(A,)h(LDA)g(\))227 3943 y(General)f(Band:)514
4056 y(SUBROUTINE)f(BLAS_xGB_DIAG_SCALE\()d(SIDE,)k(M,)h(N,)h(KL,)f
(KU,)f(D,)i(INCD,)e(A,)466 4169 y($)1527 b(LDA)47 b(\))227
4282 y(all:)514 4395 y(INTEGER)570 b(INCD,)47 b(KL,)g(KU,)g(LDA,)f(M,)h
(N,)h(SIDE)514 4508 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(D\()g(*)h
(\))136 4728 y FJ(\017)e FK(C)30 b(binding:)227 4948
y FD(General:)227 5061 y(void)47 b(BLAS_xge_diag_scale\()42
b(enum)47 b(blas_order_type)c(order,)1468 5174 y(enum)k(blas_side_type)
d(side,)i(int)h(m,)g(int)g(n,)1468 5287 y(const)g(ARRAY)f(d,)h(int)g
(incd,)f(ARRAY)h(a,)g(int)g(lda)g(\);)227 5400 y(General)f(Band:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 73 83
73 82 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(73)227 91 y FD(void)47 b(BLAS_xgb_diag_scale\()42
b(enum)47 b(blas_order_type)c(order,)1468 204 y(enum)k(blas_side_type)d
(side,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)1468 317 y(int)g(ku,)g(const)f
(ARRAY)h(d,)g(int)g(incd,)f(ARRAY)h(a,)g(int)g(lda)g(\);)p
0 542 3900 6 v 0 655 a FJ(f)p FK(GE,GB)p FJ(g)p 388 655
28 4 v 35 w FK(LRSCALE)29 b(\(Tw)m(o-sided)h(diagonal)f(scaling\))1347
b Fy(A)25 b FJ( )g Fy(D)3646 669 y Fw(L)3699 655 y Fy(AD)3842
669 y Fw(R)141 881 y FK(These)32 b(routines)f(scale)i(a)g(general)f
(\(or)g(banded\))g(matrix)f Fy(A)i FK(on)f(the)g(left)g(side)g(b)m(y)g
(a)g(diagonal)g(matrix)g Fy(D)3848 895 y Fw(L)0 994 y
FK(and)c(on)g(the)h(righ)m(t)f(side)f(b)m(y)h(a)h(diagonal)f(matrix)g
Fy(D)1781 1008 y Fw(R)1839 994 y FK(.)40 b(This)26 b(routine)i(returns)
f(immediately)f(if)i Fv(m)g FK(or)h Fv(n)f FK(or)g Fv(kl)h
FK(or)0 1107 y Fv(ku)f FK(\(for)f(band)g(matrices\))g(is)g(less)g(than)
g(or)g(equal)g(to)h(zero.)41 b(As)27 b(describ)s(ed)f(in)g(section)h
(2.5.3,)j(the)e(v)-5 b(alue)27 b Fv(incdl)g FK(or)0 1220
y Fv(incdr)f FK(less)e(than)i(zero)g(is)f(p)s(ermitted.)37
b(Ho)m(w)m(ev)m(er,)29 b(if)c(either)g Fv(incdl)g FK(or)g
Fv(incdr)h FK(is)e(equal)i(to)g(zero,)h(an)f(error)f(\015ag)h(is)e(set)
0 1333 y(and)31 b(passed)f(to)i(the)f(error)g(handler.)41
b(F)-8 b(or)32 b(the)g(routine)e Fv(GE)p 2082 1333 V
32 w(LRSCALE)p FK(,)h(if)f Fv(lda)h FK(is)f(less)h(than)f(one)i(or)f
Fv(lda)f FK(is)h(less)0 1445 y(than)i Fv(m)p FK(,)g(an)g(error)f
(\015ag)h(is)f(set)i(and)e(passed)g(to)i(the)f(error)f(handler.)46
b(F)-8 b(or)34 b(the)f(C)f(bindings)d(of)k Fv(GE)p 3466
1445 V 33 w(LRSCALE)p FK(,)0 1558 y(if)e FD(order)46
b(=)i(blas)p 665 1558 29 4 v 33 w(rowmajor)29 b FK(and)i(if)g
Fv(lda)g FK(is)g(less)g(than)h(one)g(or)g Fv(lda)f FK(is)f(less)h(than)
h Fv(n)p FK(,)g(an)g(error)f(\015ag)h(is)f(set)i(and)0
1671 y(passed)26 b(to)h(the)f(error)g(handler;)g(if)g
FD(order)46 b(=)i(blas)p 1774 1671 V 33 w(colmajor)24
b FK(and)i(if)f Fv(lda)h FK(is)f(less)h(than)g(one)g(or)h
Fv(lda)e FK(is)h(less)f(than)0 1784 y Fv(m)p FK(,)32
b(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)f(to)i(the)g(error)f
(handler.)41 b(F)-8 b(or)33 b(the)e(routine)f Fv(GB)p
2978 1784 28 4 v 32 w(LRSCALE)p FK(,)h(if)g Fv(lda)f
FK(is)h(less)0 1897 y(than)f Fv(kl)h FK(plus)d Fv(ku)j
FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h
(the)g(error)f(handler.)136 2110 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)227 2359 y FD(General:)418
2472 y(SUBROUTINE)45 b(ge_lrscale\()g(dl,)i(dr,)g(a)g(\))227
2585 y(General)f(Band:)418 2698 y(SUBROUTINE)f(gb_lrscale\()g(dl,)i
(dr,)g(a,)g(m,)g(kl)g(\))227 2811 y(all:)514 2924 y(<type>\(<wp>\),)d
(INTENT)i(\(IN\))h(::)g(dl\(:\),)f(dr\(:\))514 3037 y(<type>\(<wp>\),)e
(INTENT)i(\(INOUT\))g(::)h(a\(:,:\))514 3150 y(INTEGER,)e(INTENT)h
(\(IN\))h(::)g(m,)g(kl)418 3263 y(where)514 3376 y(a)g(has)g(shape)f
(\(m,n\))h(for)g(general)e(matrix)1086 3489 y(\(l,n\))i(for)g(general)e
(banded)i(matrix)f(\(l)h(>)g(kl\))514 3601 y(dl)g(has)g(shape)f(\(m\))
514 3714 y(dr)h(has)g(shape)f(\(n\))136 3964 y FJ(\017)g
FK(F)-8 b(ortran)31 b(77)h(binding:)227 4189 y FD(General:)514
4302 y(SUBROUTINE)45 b(BLAS_xGE_LRSCALE\()e(M,)k(N,)g(DL,)g(INCDL,)f
(DR,)h(INCDR,)f(A,)h(LDA)g(\))227 4415 y(General)f(Band:)514
4528 y(SUBROUTINE)f(BLAS_xGB_LRSCALE\()e(M,)k(N,)g(KL,)g(KU,)g(DL,)g
(INCDL,)f(DR,)h(INCDR,)466 4641 y($)1384 b(A,)47 b(LDA)g(\))227
4754 y(all:)514 4867 y(INTEGER)570 b(INCDL,)47 b(INCDR,)f(KL,)h(KU,)f
(LDA,)h(M,)g(N)514 4980 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(DL\()g
(*)g(\),)g(DR\()g(*)h(\))136 5205 y FJ(\017)e FK(C)30
b(binding:)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 74 84
74 83 bop 0 -165 a FK(74)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(General:)227
204 y(void)47 b(BLAS_xge_lrscale\()c(enum)k(blas_order_type)c(order,)j
(int)h(m,)g(int)g(n,)1325 317 y(const)f(ARRAY)h(dl,)g(int)g(incdl,)f
(const)g(ARRAY)g(dr,)1325 430 y(int)h(incdr,)f(ARRAY)g(a,)i(int)e(lda)h
(\);)227 543 y(General)f(Band:)227 656 y(void)h(BLAS_xgb_lrscale\()c
(enum)k(blas_order_type)c(order,)j(int)h(m,)g(int)g(n,)h(int)e(kl,)1325
769 y(int)h(ku,)g(const)f(ARRAY)h(dl,)f(int)h(incdl,)f(const)h(ARRAY)f
(dr,)1325 882 y(int)h(incdr,)f(ARRAY)g(a,)i(int)e(lda)h(\);)p
0 1107 3900 6 v 0 1220 a FJ(f)p FK(SY,SB,SP)p FJ(g)p
492 1220 28 4 v 33 w FK(LRSCALE)29 b(\(Tw)m(o-sided)h(diagonal)g
(scaling)f(of)i(a)f(symmetric)g(matrix\))2917 1407 y
Fy(A)25 b FJ( )g Fy(D)s(AD)33 b FK(with)c Fy(A)d FK(=)f
Fy(A)3845 1374 y Fw(T)141 1595 y FK(These)j(routines)f(p)s(erform)g(a)h
(t)m(w)m(o-sided)g(scaling)g(of)g(a)g(symmetric)g(\(or)g(symmetric)g
(banded)f(or)h(symmetric)0 1708 y(pac)m(k)m(ed\))c(matrix)f
Fy(A)g FK(b)m(y)g(a)g(diagonal)f(matrix)g Fy(D)s FK(.)38
b(This)22 b(routine)g(returns)f(immediately)h(if)f Fv(n)i
FK(or)g Fv(k)h FK(\(for)f(symmetric)0 1821 y(band)29
b(matrices\))i(is)e(less)g(than)h(or)g(equal)g(to)h(zero.)41
b(As)30 b(describ)s(ed)e(in)h(section)h(2.5.3,)j(the)d(v)-5
b(alue)30 b Fv(incd)g FK(less)f(than)0 1934 y(zero)39
b(is)d(p)s(ermitted.)62 b(Ho)m(w)m(ev)m(er,)41 b(if)c
Fv(incd)h FK(is)e(equal)i(to)g(zero,)j(an)c(error)h(\015ag)g(is)e(set)j
(and)e(passed)g(to)h(the)g(error)0 2046 y(handler.)h(F)-8
b(or)31 b(the)f(routines)g Fv(SY)p 1150 2046 V 32 w(LRSCALE)f
FK(and)h Fv(SP)p 1878 2046 V 32 w(LRSCALE)p FK(,)h(if)e
Fv(lda)h FK(is)f(less)h(than)g(one)g(or)h Fv(lda)e FK(is)h(less)f(than)
0 2159 y Fv(n)p FK(,)34 b(an)f(error)f(\015ag)h(is)f(set)i(and)e
(passed)h(to)h(the)f(error)f(handler.)47 b(F)-8 b(or)34
b(the)f(routine)f Fv(SB)p 2972 2159 V 32 w(LRSCALE)p
FK(,)g(if)g Fv(lda)h FK(is)f(less)0 2272 y(than)e Fv(k)h
FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)f(set)h(and)e(passed)h(to)h
(the)g(error)f(handler.)136 2485 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)227 2735 y FD(Symmetric:)418
2848 y(SUBROUTINE)45 b(sy_lrscale\()g(d,)i(a)h([,)f(uplo])f(\))227
2961 y(Symmetric)g(Band:)418 3073 y(SUBROUTINE)f(sb_lrscale\()g(d,)i(a)
h([,)f(uplo])f(\))227 3186 y(Symmetric)g(Packed:)418
3299 y(SUBROUTINE)f(sp_lrscale\()g(d,)i(ap)g([,)g(uplo])g(\))227
3412 y(all:)514 3525 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h(::)g(d\(:\))
514 3638 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g(::)h(a\(:,:\))f(|)h
(ap\(:\))514 3751 y(TYPE)f(\(blas_uplo_type\),)d(INTENT)j(\(IN\),)h
(OPTIONAL)e(::)j(uplo)418 3864 y(where)514 3977 y(a)f(has)g(shape)f
(\(n,n\))h(for)g(symmetric)1086 4090 y(\(k+1,n\))f(for)h(symmetric)e
(banded)h(\(k=band)g(width\))514 4203 y(ap)h(has)g(shape)f
(\(n*\(n+1\)/2\).)514 4315 y(d)h(has)g(shape)f(\(n\))136
4565 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)227
4790 y FD(Symmetric:)514 4903 y(SUBROUTINE)45 b(BLAS_xSY_LRSCALE\()e
(UPLO,)j(N,)h(D,)g(INCD,)g(A,)g(LDA)g(\))227 5016 y(Symmetric)f(Band:)
514 5129 y(SUBROUTINE)f(BLAS_xSB_LRSCALE\()e(UPLO,)j(N,)h(K,)g(D,)h
(INCD,)e(A,)h(LDA)g(\))227 5242 y(Symmetric)f(Packed:)514
5355 y(SUBROUTINE)f(BLAS_xSP_LRSCALE\()e(UPLO,)j(N,)h(D,)g(INCD,)g(AP)g
(\))4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 75 85
75 84 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(75)227 91 y FD(all:)514 204 y(INTEGER)570 b(INCD,)47
b(K,)g(LDA,)g(N,)g(UPLO)514 317 y(<type>)618 b(A\()48
b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(D\()g(*)h(\))136
534 y FJ(\017)e FK(C)30 b(binding:)227 750 y FD(Symmetric:)227
863 y(void)47 b(BLAS_xsy_lrscale\()c(enum)k(blas_order_type)c(order,)j
(enum)h(blas_uplo_type)d(uplo,)1325 976 y(int)j(n,)g(const)f(ARRAY)h
(d,)g(int)g(incd,)f(ARRAY)h(a,)g(int)g(lda)g(\);)227
1089 y(Symmetric)f(Band:)227 1202 y(void)h(BLAS_xsb_lrscale\()c(enum)k
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
1315 y(int)j(n,)g(int)g(k,)g(const)g(ARRAY)f(d,)h(int)g(incd,)f(ARRAY)h
(a,)1325 1428 y(int)g(lda)g(\);)227 1541 y(Symmetric)f(Packed:)227
1654 y(void)h(BLAS_xsp_lrscale\()c(enum)k(blas_order_type)c(order,)j
(enum)h(blas_uplo_type)d(uplo,)1325 1767 y(int)j(n,)g(const)f(ARRAY)h
(d,)g(int)g(incd,)f(ARRAY)h(ap)g(\);)p 0 1983 3900 6
v 0 2096 a FJ(f)p FK(HE,HB,HP)p FJ(g)p 537 2096 28 4
v 35 w FK(LRSCALE)29 b(\(Tw)m(o-sided)h(diagonal)f(scaling)h(of)g(a)h
(Hermitian)e(matrix\))2837 2277 y Fy(A)d FJ( )f Fy(D)s(AD)3271
2244 y Fw(H)3368 2277 y FK(with)k Fy(A)d FK(=)f Fy(A)3833
2244 y Fw(H)141 2457 y FK(These)30 b(routines)g(p)s(erform)f(a)i(t)m(w)
m(o-sided)g(scaling)e(of)i(a)g(Hermitian)e(\(or)i(Hermitian)e(banded)h
(or)g(Hermitian)0 2570 y(pac)m(k)m(ed\))25 b(matrix)e
Fy(A)h FK(b)m(y)f(a)h(diagonal)f(matrix)g Fy(D)s FK(.)38
b(This)22 b(routine)h(returns)f(immediately)g(if)g Fv(n)i
FK(or)g Fv(k)g FK(\(for)f(Hermitian)0 2683 y(band)29
b(matrices\))i(is)e(less)g(than)h(or)g(equal)g(to)h(zero.)41
b(As)30 b(describ)s(ed)e(in)h(section)h(2.5.3,)j(the)d(v)-5
b(alue)30 b Fv(incd)g FK(less)f(than)0 2796 y(zero)39
b(is)d(p)s(ermitted.)62 b(Ho)m(w)m(ev)m(er,)41 b(if)c
Fv(incd)h FK(is)e(equal)i(to)g(zero,)j(an)c(error)h(\015ag)g(is)e(set)j
(and)e(passed)g(to)h(the)g(error)0 2909 y(handler.)i(F)-8
b(or)31 b(the)g(routines)e Fv(HE)p 1157 2909 V 34 w(LRSCALE)p
FK(,)h(if)g Fv(lda)g FK(is)g(less)f(than)i(one)g(or)f
Fv(lda)g FK(is)g(less)g(than)g Fv(n)p FK(,)h(an)g(error)f(\015ag)h(is)0
3022 y(set)e(and)e(passed)h(to)h(the)f(error)g(handler.)38
b(F)-8 b(or)28 b(the)h(routine)e Fv(HB)p 2204 3022 V
33 w(LRSCALE)p FK(,)h(if)f Fv(lda)g FK(is)g(less)h(than)f
Fv(k)i FK(plus)d(one,)j(an)0 3135 y(error)h(\015ag)h(is)e(set)i(and)f
(passed)g(to)h(the)f(error)g(handler.)136 3339 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)227 3579 y FD(Hermitian:)418
3692 y(SUBROUTINE)45 b(he_lrscale\()g(d,)i(a)h([,)f(uplo])f(\))227
3805 y(Hermitian)g(Band:)418 3918 y(SUBROUTINE)f(hb_lrscale\()g(d,)i(a)
h([,)f(uplo])f(\))227 4031 y(Hermitian)g(Packed:)418
4144 y(SUBROUTINE)f(hp_lrscale\()g(d,)i(ap)g([,)g(uplo])g(\))227
4257 y(all:)514 4370 y(COMPLEX\(<wp>\),)d(INTENT)i(\(IN\))g(::)h
(d\(:\))514 4482 y(COMPLEX\(<wp>\),)d(INTENT)i(\(INOUT\))f(::)j
(a\(:,:\))e(|)h(ap\(:\))514 4595 y(TYPE)f(\(blas_uplo_type\),)d(INTENT)
j(\(IN\),)h(OPTIONAL)e(::)j(uplo)418 4708 y(where)514
4821 y(a)f(has)g(shape)f(\(n,n\))h(for)g(Hermitian)1086
4934 y(\(k+1,n\))f(for)h(Hermitian)e(banded)h(\(k=band)g(width\))514
5047 y(ap)h(has)g(shape)f(\(n*\(n+1\)/2\).)514 5160 y(d)h(has)g(shape)f
(\(n\))136 5400 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 76 86
76 85 bop 0 -165 a FK(76)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(Hermitian:)514
204 y(SUBROUTINE)45 b(BLAS_xHE_LRSCALE\()e(UPLO,)j(N,)h(D,)g(INCD,)g
(A,)g(LDA)g(\))227 317 y(Hermitian)f(Band:)514 430 y(SUBROUTINE)f
(BLAS_xHB_LRSCALE\()e(UPLO,)j(N,)h(K,)g(D,)h(INCD,)e(A,)h(LDA)g(\))227
543 y(Hermitian)f(Packed:)514 656 y(SUBROUTINE)f(BLAS_xHP_LRSCALE\()e
(UPLO,)j(N,)h(D,)g(INCD,)g(AP)g(\))227 769 y(all:)514
882 y(INTEGER)570 b(INCD,)47 b(K,)g(LDA,)g(N,)g(UPLO)514
995 y(<ctype>)618 b(A\()47 b(LDA,)g(*)g(\))h(or)f(AP\()g(*)g(\),)h(D\()
f(*)g(\))136 1218 y FJ(\017)f FK(C)30 b(binding:)227
1442 y FD(Hermitian:)227 1555 y(void)47 b(BLAS_xhe_lrscale\()c(enum)k
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
1668 y(int)j(n,)g(const)f(ARRAY)h(d,)g(int)g(incd,)f(ARRAY)h(a,)g(int)g
(lda)g(\);)227 1781 y(Hermitian)f(Band:)227 1894 y(void)h
(BLAS_xhb_lrscale\()c(enum)k(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1325 2007 y(int)j(n,)g(int)g(k,)g(const)g
(ARRAY)f(d,)h(int)g(incd,)f(ARRAY)h(a,)1325 2120 y(int)g(lda)g(\);)227
2232 y(Hermitian)f(Packed:)227 2345 y(void)h(BLAS_xhp_lrscale\()c(enum)
k(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
2458 y(int)j(n,)g(const)f(ARRAY)h(d,)g(int)g(incd,)f(ARRAY)h(ap)g(\);)p
0 2682 3900 6 v 0 2795 a FJ(f)p FK(GE,GB)p FJ(g)p 388
2795 28 4 v 35 w FK(DIA)m(G)p 661 2795 V 34 w(SCALE)p
999 2795 V 32 w(A)m(CC)30 b(\(Diagonal)h(scaling)e(and)h(accum)m
(ulation\))651 b Fy(A)25 b FJ( )g Fy(A)c FK(+)f Fy(B)5
b(D)141 3021 y FK(These)28 b(routines)f(p)s(erform)g(the)h(diagonal)f
(scaling)g(of)i(a)f(general)g(\(or)g(banded\))g(matrix)f
Fy(B)33 b FK(and)27 b(accum)m(ulate)0 3134 y(the)43 b(result)e(in)h
(the)h(matrix)f Fy(A)p FK(.)77 b(This)41 b(routine)h(returns)f
(immediately)g(if)h Fv(m)h FK(or)g Fv(n)f FK(or)h Fv(kl)g
FK(or)f Fv(ku)h FK(\(for)g(band)0 3247 y(matrices\))32
b(is)f(less)g(than)h(or)g(equal)f(to)i(zero.)46 b(As)32
b(describ)s(ed)e(in)g(section)j(2.5.3,)h(the)e(v)-5 b(alue)31
b Fv(incd)h FK(less)f(than)h(zero)0 3360 y(is)d(p)s(ermitted.)39
b(Ho)m(w)m(ev)m(er,)33 b(if)c Fv(incd)h FK(is)f(equal)h(to)h(zero,)g
(an)f(error)g(\015ag)g(is)g(set)g(and)g(passed)g(to)g(the)h(error)f
(handler.)0 3472 y(F)-8 b(or)32 b(the)f(routine)f Fv(GE)p
755 3472 V 33 w(DIA)m(G)p 998 3472 V 32 w(SCALE)p 1303
3472 V 33 w(A)m(CC)p FK(,)h(if)f Fv(lda)g FK(or)i Fv(ldb)e
FK(is)g(less)h(than)g(one)g(or)g Fv(lda)f FK(or)h Fv(ldb)g
FK(is)f(less)h(than)f Fv(m)p FK(,)i(an)0 3585 y(error)j(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)54
b(F)-8 b(or)37 b(the)e(C)g(bindings)d(of)k Fv(GE)p 3037
3585 V 32 w(DIA)m(G)p 3279 3585 V 33 w(SCALE)p 3585 3585
V 32 w(A)m(CC)p FK(,)g(if)0 3698 y FD(order)46 b(=)i(blas)p
580 3698 29 4 v 33 w(rowmajor)29 b FK(and)h(if)f Fv(lda)h
FK(or)h Fv(ldb)f FK(is)g(less)g(than)h(one)g(or)f Fv(lda)g
FK(or)h Fv(ldb)f FK(is)g(less)g(than)h Fv(n)p FK(,)g(an)f(error)h
(\015ag)0 3811 y(is)e(set)h(and)f(passed)g(to)h(the)g(error)f(handler;)
g(if)f FD(order)46 b(=)i(blas)p 2200 3811 V 33 w(colmajor)28
b FK(and)g(if)h Fv(lda)g FK(or)h Fv(ldb)f FK(is)f(less)h(than)h(one)0
3924 y(or)35 b Fv(lda)g FK(or)g Fv(ldb)g FK(is)f(less)g(than)h
Fv(m)p FK(,)i(an)e(error)g(\015ag)h(is)e(set)i(and)e(passed)h(to)h(the)
f(error)g(handler.)54 b(F)-8 b(or)36 b(the)f(routine)0
4037 y Fv(GB)p 127 4037 28 4 v 32 w(DIA)m(G)p 369 4037
V 32 w(SCALE)p 674 4037 V 33 w(A)m(CC)p FK(,)d(if)e Fv(lda)g
FK(is)h(less)g(than)g Fv(kl)g FK(plus)f Fv(ku)h FK(plus)f(one,)i(an)f
(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)0
4150 y(error)e(handler.)136 4361 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)227 4610 y FD(General:)418
4723 y(SUBROUTINE)45 b(ge_diag_scale_acc\()e(b,)k(d,)g(a)h(\))227
4835 y(Band:)418 4948 y(SUBROUTINE)d(gb_diag_scale_acc\()e(b,)k(m,)g
(kl,)g(d,)g(a)h(\))227 5061 y(all:)514 5174 y(<type>\(<wp>\),)c(INTENT)
i(\(IN\))h(::)g(b\(:,:\),)f(d\(:\))514 5287 y(<type>\(<wp>\),)e(INTENT)
i(\(INOUT\))g(::)h(a\(:,:\))514 5400 y(INTEGER,)e(INTENT)h(\(IN\))h(::)
g(m,)g(kl)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 77 87
77 86 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(77)418 91 y FD(where)514 204 y(a)47 b(has)g(shape)f(\(m,n\))514
317 y(b)h(has)g(shape)f(\(m,n\))h(for)g(general)e(matrix)1086
430 y(\(l,n\))i(for)g(general)e(banded)i(matrix)f(\(l)h(>)g(kl\))514
543 y(d)g(has)g(shape)f(\(n\))136 788 y FJ(\017)g FK(F)-8
b(ortran)31 b(77)h(binding:)227 1009 y FD(General:)514
1122 y(SUBROUTINE)45 b(BLAS_xGE_DIAG_SCALE_ACC)o(\()d(M,)47
b(N,)g(B,)g(LDB,)g(D,)g(INCD,)g(A,)466 1235 y($)1718
b(LDA)47 b(\))227 1348 y(Band:)514 1461 y(SUBROUTINE)e
(BLAS_xGB_DIAG_SCALE_ACC)o(\()d(M,)47 b(N,)g(KL,)g(KU,)g(B,)g(LDB,)g
(D,)g(INCD,)466 1574 y($)1718 b(A,)47 b(LDA)g(\))227
1687 y(all:)514 1799 y(INTEGER)570 b(INCD,)47 b(KL,)g(KU,)g(LDA,)f
(LDB,)h(M,)g(N)514 1912 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(B\()g
(LDB,)g(*)g(\),)g(D\()h(*)f(\))136 2133 y FJ(\017)f FK(C)30
b(binding:)227 2354 y FD(General:)227 2467 y(void)47
b(BLAS_xge_diag_scale_acc\()41 b(enum)47 b(blas_order_type)c(order,)j
(int)h(m,)h(int)e(n,)1659 2580 y(const)g(ARRAY)h(b,)g(int)g(ldb,)g
(const)f(ARRAY)g(d,)1659 2693 y(int)h(incd,)f(ARRAY)h(a,)g(int)g(lda)g
(\);)227 2806 y(General)f(Band:)227 2919 y(void)h
(BLAS_xgb_diag_scale_acc\()41 b(enum)47 b(blas_order_type)c(order,)j
(int)h(m,)h(int)e(n,)1659 3032 y(int)h(kl,)g(int)g(ku,)g(const)f(ARRAY)
g(b,)i(int)f(ldb,)1659 3145 y(const)f(ARRAY)h(d,)g(int)g(incd,)f(ARRAY)
h(a,)g(int)g(lda)g(\);)p 0 3366 3900 6 v 0 3478 a FJ(f)p
FK(GE,SY,SB,SP)p FJ(g)p 650 3478 28 4 v 34 w FK(A)m(CC)30
b(\(Matrix)g(accum)m(ulation)h(and)e(scale\))424 b Fy(B)29
b FJ( )c Fy(\013A)c FK(+)f Fy(\014)5 b(B)g FK(,)31 b
Fy(B)e FJ( )c Fy(\013A)3603 3446 y Fw(T)3679 3478 y FK(+)20
b Fy(\014)5 b(B)141 3704 y FK(These)36 b(routines)f(scale)h(a)h(matrix)
e Fy(A)i FK(\(or)f(its)g(transp)s(ose\))g(and)f(scale)i(a)f(matrix)g
Fy(B)k FK(and)c(accum)m(ulate)h(the)0 3817 y(result)d(in)g(the)i
(matrix)e Fy(B)5 b FK(.)55 b(Matrices)36 b Fy(A)g FK(and)e
Fy(B)40 b FK(ha)m(v)m(e)d(the)e(same)h(storage)h(format.)56
b(These)35 b(routines)f(return)0 3930 y(immediately)28
b(if)h Fv(alpha)g FK(is)g(equal)h(to)g(zero)h(and)f Fv(b)s(eta)f
FK(is)g(equal)g(to)i(one,)g(or)f(if)f Fv(m)h FK(\(for)g(nonsymmetric)f
(matrices\))0 4043 y(or)f Fv(n)g FK(or)h Fv(k)f FK(\(for)h(symmetric)e
(band)h(matrices\))g(is)g(less)f(than)h(or)g(equal)g(to)h(zero.)41
b(As)28 b(describ)s(ed)e(in)h(section)i(2.5.3,)0 4156
y(for)f(the)h(routine)f Fv(GE)p 724 4156 V 32 w(A)m(CC)p
FK(,)h(if)f Fv(lda)g FK(or)h Fv(ldb)f FK(is)f(less)h(than)h(one)g(or)f
Fv(lda)g FK(or)h Fv(ldb)f FK(is)f(less)h(than)h Fv(m)p
FK(,)g(an)g(error)f(\015ag)h(is)e(set)0 4269 y(and)32
b(passed)g(to)h(the)g(error)f(handler.)45 b(F)-8 b(or)34
b(the)e(C)h(bindings)c(for)j Fv(GE)p 2387 4269 V 33 w(A)m(CC)p
FK(,)h(if)e FD(order)47 b(=)g(blas)p 3312 4269 29 4 v
33 w(rowmajor)31 b FK(and)0 4382 y(if)f Fv(lda)g FK(or)h
Fv(ldb)f FK(is)g(less)h(than)f(one)h(or)g Fv(lda)g FK(or)f
Fv(ldb)h FK(is)f(less)g(than)h Fv(n)p FK(,)g(an)g(error)f(\015ag)h(is)f
(set)i(and)e(passed)h(to)g(the)g(error)0 4495 y(handler;)c(if)f
FD(order)46 b(=)i(blas)p 1012 4495 V 33 w(colmajor)25
b FK(and)i(if)f Fv(lda)g FK(or)i Fv(ldb)f FK(is)f(less)g(than)h(one)h
(or)f Fv(lda)g FK(or)g Fv(ldb)g FK(is)f(less)h(than)g
Fv(m)p FK(,)h(an)0 4608 y(error)j(\015ag)h(is)e(set)i(and)f(passed)f
(to)i(the)g(error)f(handler.)42 b(F)-8 b(or)32 b(the)f(routine)g
Fv(SY)p 2713 4608 28 4 v 31 w(A)m(CC)p FK(,)h(if)e Fv(lda)h
FK(or)g Fv(ldb)g FK(is)g(less)f(than)0 4721 y(one)f(or)g
Fv(lda)g FK(or)g Fv(ldb)f FK(is)g(less)h(than)f Fv(n)p
FK(,)i(an)f(error)f(\015ag)i(is)e(set)h(and)f(passed)h(to)h(the)f
(error)g(handler.)38 b(F)-8 b(or)30 b(the)f(routine)0
4833 y Fv(SB)p 117 4833 V 32 w(A)m(CC)p FK(,)i(if)e Fv(lda)h
FK(or)g Fv(ldb)g FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(an)g
(error)f(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g(error)f
(handler.)136 5042 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 5287 y FD(General:)418 5400 y(SUBROUTINE)45
b(ge_acc\()h(a,)h(b)h([,)f(trans])f([,)h(alpha])f([,)h(beta])g(\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 78 88
78 87 bop 0 -165 a FK(78)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(Symmetric:)418
204 y(SUBROUTINE)45 b(sy_acc\()h(a,)h(b)h([,)f(uplo])f([,)h(trans])f
([,)i(alpha])e([,)h(beta])f(\))227 317 y(Symmetric)g(Band:)418
430 y(SUBROUTINE)f(sb_acc\()h(a,)h(b)h([,)f(uplo])f([,)h(trans])f([,)i
(alpha])e([,)h(beta])f(\))227 543 y(Symmetric)g(Packed:)418
656 y(SUBROUTINE)f(sp_acc\()h(ap,)h(bp)g([,)g(uplo])g([,)g(trans])f([,)
h(alpha])f([,)h(beta])g(\))227 769 y(all:)514 882 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(a\(:,:\))f(|)i(ap\(:\))514 995 y(<type>\(<wp>\),)c
(INTENT\(INOUT\))g(::)j(b\(:,:\))f(|)i(bp\(:\))514 1108
y(TYPE)e(\(blas_uplo_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j(uplo)
514 1220 y(TYPE)e(\(blas_trans_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e
(::)i(trans)514 1333 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)
i(alpha,)f(beta)227 1583 y FK(The)30 b(default)g(v)-5
b(alue)30 b(for)g Fy(\014)35 b FK(is)30 b(1.0)h(or)f(\(1.0,0.0\).)136
1771 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
1996 y FD(General:)514 2109 y(SUBROUTINE)45 b(BLAS_xGE_ACC\()f(TRANS,)i
(M,)h(N,)g(ALPHA,)f(A,)i(LDA,)e(BETA,)h(B,)466 2222 y($)1193
b(LDB)47 b(\))227 2335 y(Symmetric:)514 2447 y(SUBROUTINE)e
(BLAS_xSY_ACC\()f(UPLO,)i(TRANS,)g(N,)h(ALPHA,)g(A,)g(LDA,)f(BETA,)h
(B,)466 2560 y($)1193 b(LDB)47 b(\))227 2673 y(Symmetric)f(Band:)514
2786 y(SUBROUTINE)f(BLAS_xSB_ACC\()f(UPLO,)i(TRANS,)g(N,)h(K,)h(ALPHA,)
e(A,)h(LDA,)g(BETA,)466 2899 y($)1193 b(B,)47 b(LDB)g(\))227
3012 y(Symmetric)f(Packed:)514 3125 y(SUBROUTINE)f(BLAS_xSP_ACC\()f
(UPLO,)i(TRANS,)g(N,)h(ALPHA,)g(AP,)f(BETA,)h(BP)g(\))227
3238 y(all:)514 3351 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(M,)g(N,)g
(TRANS,)f(UPLO)514 3464 y(<type>)618 b(ALPHA,)47 b(BETA)514
3577 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(B\()
g(LDB,)g(*)g(\))h(or)f(BP\()g(*)g(\))136 3802 y FJ(\017)f
FK(C)30 b(binding:)227 4027 y FD(General:)227 4139 y(void)47
b(BLAS_xge_acc\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_trans_type)d(trans,)1134 4252 y(int)j(m,)g(int)g(n,)g(SCALAR_IN)f
(alpha,)g(const)g(ARRAY)g(a,)i(int)e(lda,)1134 4365 y(SCALAR_IN)f
(beta,)i(ARRAY)f(b,)h(int)g(ldb)g(\);)227 4478 y(Symmetric:)227
4591 y(void)g(BLAS_xsy_acc\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 4704 y(enum)j(blas_trans_type)c(trans,)j
(int)h(n,)h(SCALAR_IN)d(alpha,)1134 4817 y(const)h(ARRAY)h(a,)g(int)g
(lda,)g(SCALAR_IN)e(beta,)h(ARRAY)h(b,)g(int)g(ldb)g(\);)227
4930 y(Symmetric)f(Band:)227 5043 y(void)h(BLAS_xsb_acc\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
5156 y(enum)j(blas_trans_type)c(trans,)j(int)h(n,)h(int)e(k,)i
(SCALAR_IN)d(alpha,)1134 5269 y(const)h(ARRAY)h(a,)g(int)g(lda,)g
(SCALAR_IN)e(beta,)h(ARRAY)h(b,)g(int)g(ldb)g(\);)227
5381 y(Symmetric)f(Packed:)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 79 89
79 88 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(79)227 91 y FD(void)47 b(BLAS_xsp_acc\()d(enum)j(blas_order_type)c
(order,)j(enum)h(blas_uplo_type)d(uplo,)1134 204 y(enum)j
(blas_trans_type)c(trans,)j(int)h(n,)h(SCALAR_IN)d(alpha,)1134
317 y(const)h(ARRAY)h(ap,)g(SCALAR_IN)e(beta,)h(ARRAY)h(bp)g(\);)p
0 542 3900 6 v 0 655 a FJ(f)p FK(GB,TR,TB,TP)p FJ(g)p
696 655 28 4 v 34 w FK(A)m(CC)31 b(\(Matrix)f(accum)m(ulation)g(and)g
(scale\))1070 b Fy(B)29 b FJ( )c Fy(\013A)c FK(+)f Fy(\014)5
b(B)141 881 y FK(These)29 b(routines)f(scale)i(matrices)f
Fy(A)h FK(and)e Fy(B)34 b FK(and)29 b(accum)m(ulate)h(the)g(result)e
(in)g(the)h(matrix)g Fy(B)5 b FK(.)40 b(Matrices)30 b
Fy(A)0 994 y FK(and)j Fy(B)k FK(ha)m(v)m(e)e(the)e(same)h(storage)g
(format.)50 b(These)33 b(routines)f(return)g(immediately)g(if)g
Fv(alpha)g FK(is)g(equal)h(to)h(zero)0 1107 y(and)24
b Fv(b)s(eta)g FK(is)g(equal)g(to)h(one,)h(or)f(if)e
Fv(m)i FK(or)g Fv(kl)f FK(or)h Fv(ku)g FK(\(for)g(general)f(band)g
(matrices\))h(or)f Fv(n)h FK(or)f Fv(k)h FK(\(for)g(triangular)e(band)0
1220 y(matrices\))33 b(is)f(less)g(than)g(or)h(equal)g(to)g(zero.)49
b(F)-8 b(or)33 b(the)g(routine)f Fv(GB)p 2352 1220 V
32 w(A)m(CC)p FK(,)h(if)f Fv(lda)g FK(is)g(less)g(than)g
Fv(kl)h FK(plus)e Fv(ku)i FK(plus)0 1333 y(one,)e(an)f(error)f(\015ag)i
(is)e(set)h(and)g(passed)f(to)i(the)f(error)g(handler.)39
b(F)-8 b(or)31 b(the)f(routines)f Fv(TR)p 3057 1333 V
32 w(A)m(CC)h FK(and)g Fv(TP)p 3590 1333 V 32 w(A)m(CC)p
FK(,)h(if)0 1445 y Fv(lda)26 b FK(is)h(less)f(than)h(one)g(or)g
Fv(lda)g FK(is)f(less)g(than)h Fv(n)p FK(,)h(an)f(error)g(\015ag)g(is)f
(set)i(and)f(passed)f(to)i(the)f(error)g(handler.)38
b(F)-8 b(or)28 b(the)0 1558 y(routine)h Fv(TB)p 441 1558
V 33 w(A)m(CC)p FK(,)h(if)g Fv(lda)f FK(is)h(less)f(than)i
Fv(k)f FK(plus)f(one,)i(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g
(to)h(the)f(error)g(handler.)136 1771 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)227 2021 y FD(General)46
b(Band:)418 2134 y(SUBROUTINE)f(gb_acc\()h(a,)h(m,)g(kl,)g(b)h([,)f
(alpha])f([,)h(beta])g(\))227 2247 y(Triangular:)418
2359 y(SUBROUTINE)e(tr_acc\()h(a,)h(b)h([,)f(uplo])f([,)h(diag])g([,)g
(alpha])f([,)h(beta])g(\))227 2472 y(Triangular)e(Band:)418
2585 y(SUBROUTINE)g(tb_acc\()h(a,)h(b)h([,)f(uplo])f([,)h(diag])g([,)g
(alpha])f([,)h(beta])g(\))227 2698 y(Triangular)e(Packed:)418
2811 y(SUBROUTINE)g(tp_acc\()h(ap,)h(bp)g([,)g(uplo])g([,)g(diag])f([,)
h(alpha])f([,)i(beta])e(\))227 2924 y(all:)514 3037 y(<type>\(<wp>\),)e
(INTENT\(IN\))h(::)i(a\(:,:\))f(|)i(ap\(:\))514 3150
y(INTEGER,)d(INTENT)h(\(IN\))h(::)g(m,)g(kl)514 3263
y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(b\(:,:\))f(|)i(bp\(:\))514
3376 y(TYPE)e(\(blas_uplo_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j
(uplo)514 3489 y(TYPE)e(\(blas_diag_type\),)d(INTENT)j(\(IN\),)h
(OPTIONAL)e(::)j(diag)514 3601 y(<type>\(<wp>\),)c(INTENT\(IN\),)h
(OPTIONAL)g(::)i(alpha,)f(beta)227 3851 y FK(The)30 b(default)g(v)-5
b(alue)30 b(for)g Fy(\014)35 b FK(is)30 b(1.0)h(or)f(\(1.0,0.0\).)136
4039 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
4264 y FD(General)46 b(Band:)514 4377 y(SUBROUTINE)f(BLAS_xGB_ACC\()f
(M,)j(N,)g(KL,)g(KU,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)466
4490 y($)1193 b(LDB)47 b(\))227 4603 y(Triangular:)514
4716 y(SUBROUTINE)e(BLAS_xTR_ACC\()f(UPLO,)i(DIAG,)h(N,)g(ALPHA,)f(A,)h
(LDA,)g(BETA,)f(B,)466 4829 y($)1193 b(LDB)47 b(\))227
4941 y(Triangular)e(Band:)514 5054 y(SUBROUTINE)g(BLAS_xTB_ACC\()f
(UPLO,)i(DIAG,)h(N,)g(K,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)466
5167 y($)1193 b(LDB)47 b(\))227 5280 y(Triangular)e(Packed:)514
5393 y(SUBROUTINE)g(BLAS_xTP_ACC\()f(UPLO,)i(DIAG,)h(N,)g(ALPHA,)f(AP,)
h(BETA,)f(BP)h(\))-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 80 90
80 89 bop 0 -165 a FK(80)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(all:)514
204 y(INTEGER)570 b(DIAG,)47 b(K,)g(KL,)g(KU,)g(LDA,)f(LDB,)h(M,)g(N,)g
(UPLO)514 317 y(<type>)618 b(ALPHA,)47 b(BETA)514 430
y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f(B\()g
(LDB,)g(*)g(\))h(or)f(BP\()g(*)g(\))136 654 y FJ(\017)f
FK(C)30 b(binding:)227 878 y FD(General)46 b(Band:)227
990 y(void)h(BLAS_xgb_acc\()d(enum)j(blas_order_type)c(order,)j(int)h
(m,)h(int)e(n,)i(int)f(kl,)f(int)h(ku,)1134 1103 y(SCALAR_IN)e(alpha,)h
(const)h(ARRAY)f(a,)h(int)g(lda,)g(SCALAR_IN)e(beta,)1134
1216 y(ARRAY)h(b,)i(int)f(ldb)f(\);)227 1329 y(Triangular:)227
1442 y(void)h(BLAS_xtr_acc\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 1555 y(enum)j(blas_diag_type)d(diag,)i
(int)h(n,)g(SCALAR_IN)e(alpha,)1134 1668 y(const)h(ARRAY)h(a,)g(int)g
(lda,)g(SCALAR_IN)e(beta,)h(ARRAY)h(b,)g(int)g(ldb)g(\);)227
1781 y(Triangular)e(Band:)227 1894 y(void)i(BLAS_xtb_acc\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
2007 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)g(int)g(k,)g(SCALAR_IN)
e(alpha,)1134 2120 y(const)h(ARRAY)h(a,)g(int)g(lda,)g(SCALAR_IN)e
(beta,)h(ARRAY)h(b,)g(int)g(ldb)g(\);)227 2232 y(Triangular)e(Packed:)
227 2345 y(void)i(BLAS_xtp_acc\()d(enum)j(blas_order_type)c(order,)j
(enum)h(blas_uplo_type)d(uplo,)1134 2458 y(enum)j(blas_diag_type)d
(diag,)i(int)h(n,)g(SCALAR_IN)e(alpha,)1134 2571 y(const)h(ARRAY)h(ap,)
g(SCALAR_IN)e(beta,)h(ARRAY)h(bp)g(\);)p 0 2795 3900
6 v 0 2908 a FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1268 2908 28 4 v 35 w FK(ADD)31 b(\(Matrix)g(add)f(and)f
(scale\))871 b Fy(C)31 b FJ( )25 b Fy(\013A)c FK(+)f
Fy(\014)5 b(B)141 3134 y FK(This)29 b(routine)i(scales)g(t)m(w)m(o)h
(matrices)f Fy(A)h FK(and)e Fy(B)36 b FK(and)30 b(stores)i(their)e(sum)
g(in)g(a)h(matrix)g Fy(C)7 b FK(.)42 b(Matrices)32 b
Fy(A)p FK(,)f Fy(B)5 b FK(,)0 3247 y(and)27 b Fy(C)33
b FK(ha)m(v)m(e)c(the)e(same)h(storage)g(format.)41 b(This)25
b(routine)h(returns)g(immediately)g(if)g Fv(m)h FK(or)g
Fv(kl)h FK(or)f Fv(ku)h FK(\(for)f(general)0 3360 y(band)i(matrices\))i
(or)f Fv(n)g FK(or)g Fv(k)h FK(\(for)f(symmetric)g(or)g(triangular)f
(band)g(matrices\))h(is)f(less)h(than)g(or)g(equal)g(to)h(zero.)0
3472 y(F)-8 b(or)28 b(the)g(routine)f Fv(GE)p 745 3472
V 33 w(ADD)p FK(,)g(if)f Fv(lda)h FK(or)h Fv(ldb)f FK(is)g(less)g(than)
g(one)h(or)g(less)f(than)h Fv(m)p FK(,)g(an)g(error)f(\015ag)h(is)f
(set)h(and)f(passed)0 3585 y(to)k(the)g(error)e(handler.)39
b(F)-8 b(or)31 b(the)g(C)f(bindings)d(for)j Fv(GE)p 1893
3585 V 33 w(ADD)p FK(,)f(if)g FD(order)47 b(=)g(blas)p
2831 3585 29 4 v 33 w(rowmajor)28 b FK(and)i(if)f Fv(lda)h
FK(or)g Fv(ldb)0 3698 y FK(is)i(less)g(than)h(one)g(or)g
Fv(lda)f FK(or)h Fv(ldb)f FK(is)g(less)g(than)h Fv(n)p
FK(,)h(an)e(error)h(\015ag)g(is)f(set)i(and)e(passed)g(to)i(the)f
(error)f(handler;)h(if)0 3811 y FD(order)46 b(=)i(blas)p
580 3811 V 33 w(colmajor)27 b FK(and)i(if)g Fv(lda)f
FK(or)i Fv(ldb)f FK(is)f(less)h(than)g(one)h(or)f Fv(lda)g
FK(or)h Fv(ldb)f FK(is)f(less)h(than)g Fv(m)p FK(,)h(an)g(error)f
(\015ag)0 3924 y(is)f(set)i(and)f(passed)f(to)i(the)g(error)f(handler.)
38 b(F)-8 b(or)30 b(the)g(routine)e Fv(GB)p 2302 3924
28 4 v 32 w(ADD)p FK(,)g(if)g Fv(lda)h FK(or)g Fv(ldb)g
FK(is)f(less)h(than)g Fv(kl)g FK(plus)f Fv(ku)0 4037
y FK(plus)h(one,)j(an)e(error)h(\015ag)g(is)f(set)i(and)e(passed)g(to)i
(the)f(error)g(handler.)40 b(F)-8 b(or)32 b(the)f(routines)f
Fv(SY)p 3255 4037 V 32 w(ADD)p FK(,)g Fv(TR)p 3656 4037
V 32 w(ADD)p FK(,)0 4150 y Fv(SP)p 114 4150 V 32 w(ADD)p
FK(,)g(and)g Fv(TP)p 691 4150 V 33 w(ADD)p FK(,)f(if)h
Fv(lda)g FK(or)g Fv(ldb)g FK(is)g(less)g(than)g(one)h(or)f
Fv(lda)g FK(or)h Fv(ldb)f FK(is)f(less)h(than)h Fv(n)p
FK(,)f(an)h(error)f(\015ag)h(is)e(set)0 4263 y(and)j(passed)g(to)h(the)
g(error)f(handler.)45 b(F)-8 b(or)33 b(the)f(routines)g
Fv(SB)p 2129 4263 V 32 w(ADD)f FK(and)h Fv(TB)p 2687
4263 V 32 w(ADD)p FK(,)f(if)h Fv(lda)g FK(or)g Fv(ldb)g
FK(is)f(less)h(than)0 4376 y Fv(k)f FK(plus)d(one,)j(an)f(error)g
(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)136
4587 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
4835 y FD(General:)418 4948 y(SUBROUTINE)45 b(ge_add\()h(a,)h(b,)g(c)h
([,)f(alpha])f([,)h(beta])g(\))227 5061 y(General)f(Band:)418
5174 y(SUBROUTINE)f(gb_add\()h(a,)h(m,)g(kl,)g(b,)g(c)h([,)f(alpha])f
([,)h(beta])g(\))227 5287 y(Symmetric:)418 5400 y(SUBROUTINE)e
(sy_add\()h(a,)h(b,)g(c)h([,)f(uplo])f([,)i(alpha])e([,)h(beta])f(\))
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 81 91
81 90 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(81)227 91 y FD(Symmetric)46 b(Band:)418 204 y(SUBROUTINE)f
(sb_add\()h(a,)h(b,)g(c)h([,)f(uplo])f([,)i(alpha])e([,)h(beta])f(\))
227 317 y(Symmetric)g(Packed:)418 430 y(SUBROUTINE)f(sp_add\()h(ap,)h
(bp,)g(cp)g([,)g(uplo])g([,)g(alpha])f([,)h(beta])f(\))227
543 y(Triangular:)418 656 y(SUBROUTINE)f(tr_add\()h(a,)h(b,)g(c)h([,)f
(uplo])f([,)i(diag])e([,)h(alpha])f([,)h(beta])g(\))227
769 y(Triangular)e(Band:)418 882 y(SUBROUTINE)g(tb_add\()h(a,)h(b,)g(c)
h([,)f(uplo])f([,)i(diag])e([,)h(alpha])f([,)h(beta])g(\))227
995 y(Triangular)e(Packed:)418 1108 y(SUBROUTINE)g(tp_add\()h(ap,)h
(bp,)g(cp)g([,)g(uplo])g([,)g(diag])f([,)h(alpha])f([,)i(beta])e(\))227
1220 y(all:)514 1333 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(a\(:,:\))f
(|)i(ap\(:\))514 1446 y(INTEGER,)d(INTENT)h(\(IN\))h(::)g(m,)g(kl)514
1559 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(b\(:,:\))f(|)i(bp\(:\))514
1672 y(<type>\(<wp>\),)c(INTENT\(OUT\))h(::)i(c\(:,:\))f(|)h(cp\(:\))
514 1785 y(TYPE)f(\(blas_uplo_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e
(::)j(uplo)514 1898 y(TYPE)e(\(blas_diag_type\),)d(INTENT)j(\(IN\),)h
(OPTIONAL)e(::)j(diag)514 2011 y(<type>\(<wp>\),)c(INTENT\(IN\),)h
(OPTIONAL)g(::)i(alpha,)f(beta)418 2124 y(where)466 2237
y(assuming)f(A,)j(B)f(and)g(C)g(all)g(the)g(same)g(\(general,)e(banded)
h(or)h(packed\))f(with)466 2350 y(the)h(same)f(size.)514
2462 y(a,)h(b)g(and)g(c)h(have)e(shape)h(\(m,n\))f(for)h(general)f
(matrix)1564 2575 y(\(l,n\))g(for)h(general)f(banded)g(matrix)g(\(l)h
(>)h(kl\))1564 2688 y(\(n,n\))e(for)h(symmetric)e(or)i(triangular)1564
2801 y(\(k+1,n\))e(for)i(symmetric)f(banded)g(or)h(triangular)1945
2914 y(banded)g(\(k=band)e(width\))514 3027 y(ap,)i(bp)g(and)g(cp)g
(have)f(shape)h(\(n*\(n+1\)/2\).)227 3277 y FK(The)30
b(default)g(v)-5 b(alue)30 b(for)g Fy(\014)35 b FK(is)30
b(1.0)h(or)f(\(1.0,0.0\).)136 3465 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(77)h(binding:)227 3689 y FD(General:)514
3802 y(SUBROUTINE)45 b(BLAS_xGE_ADD\()f(M,)j(N,)g(ALPHA,)f(A,)h(LDA,)g
(BETA,)f(B,)i(LDB,)e(C,)466 3915 y($)1193 b(LDC)47 b(\))227
4028 y(General)f(Band:)514 4141 y(SUBROUTINE)f(BLAS_xGB_ADD\()f(M,)j
(N,)g(KL,)g(KU,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)466
4254 y($)1193 b(LDB,)46 b(C,)i(LDC)f(\))227 4367 y(Symmetric:)514
4480 y(SUBROUTINE)e(BLAS_xSY_ADD\()f(UPLO,)i(N,)h(ALPHA,)f(A,)i(LDA,)e
(BETA,)h(B,)g(LDB,)466 4593 y($)1193 b(C,)47 b(LDC)g(\))227
4706 y(Symmetric)f(Band:)514 4819 y(SUBROUTINE)f(BLAS_xSB_ADD\()f
(UPLO,)i(N,)h(K,)h(ALPHA,)e(A,)h(LDA,)f(BETA,)h(B,)g(LDB,)466
4932 y($)1193 b(C,)47 b(LDC)g(\))227 5044 y(Symmetric)f(Packed:)514
5157 y(SUBROUTINE)f(BLAS_xSP_ADD\()f(UPLO,)i(N,)h(ALPHA,)f(AP,)h(BETA,)
g(BP,)g(CP)g(\))227 5270 y(Triangular:)514 5383 y(SUBROUTINE)e
(BLAS_xTR_ADD\()f(UPLO,)i(DIAG,)h(N,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 82 92
82 91 bop 0 -165 a FK(82)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)466 91 y FD($)1193 b(LDB,)46
b(C,)i(LDC)f(\))227 204 y(Triangular)e(Band:)514 317
y(SUBROUTINE)g(BLAS_xTB_ADD\()f(UPLO,)i(DIAG,)h(N,)g(K,)g(ALPHA,)f(A,)h
(LDA,)g(BETA,)466 430 y($)1193 b(B,)47 b(LDB,)g(C,)g(LDC)g(\))227
543 y(Triangular)e(Packed:)514 656 y(SUBROUTINE)g(BLAS_xTP_ADD\()f
(UPLO,)i(DIAG,)h(N,)g(ALPHA,)f(AP,)h(BETA,)f(BP,)h(CP)g(\))227
769 y(all:)514 882 y(INTEGER)570 b(DIAG,)47 b(K,)g(KL,)g(KU,)g(LDA,)f
(LDB,)h(M,)g(N,)g(TRANS,)g(UPLO)514 995 y(<type>)618
b(ALPHA,)47 b(BETA)514 1108 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)
g(AP\()g(*)h(\),)f(B\()g(LDB,)g(*)g(\))h(or)f(BP\()g(*)g(\),)514
1220 y(<type>)618 b(C\()48 b(LDC,)e(*)i(\))f(or)g(CP\()g(*)h(\))136
1445 y FJ(\017)e FK(C)30 b(binding:)227 1670 y FD(General:)227
1783 y(void)47 b(BLAS_xge_add\()d(enum)j(blas_order_type)c(order,)j
(int)h(m,)h(int)e(n,)i(SCALAR_IN)d(alpha,)1134 1896 y(const)h(ARRAY)h
(a,)g(int)g(lda,)g(SCALAR_IN)e(beta,)h(const)h(ARRAY)f(b,)1134
2009 y(int)h(ldb,)g(ARRAY)f(c,)h(int)g(ldc)g(\);)227
2122 y(General)f(Band:)227 2235 y(void)h(BLAS_xgb_add\()d(enum)j
(blas_order_type)c(order,)j(int)h(m,)h(int)e(n,)i(int)f(kl,)f(int)h
(ku,)1134 2348 y(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(a,)h(int)g(lda,)g
(SCALAR_IN)e(beta,)1134 2461 y(const)h(ARRAY)h(b,)g(int)g(ldb,)g(ARRAY)
f(c,)h(int)g(ldc)g(\);)227 2574 y(Symmetric:)227 2687
y(void)g(BLAS_xsy_add\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)i(int)h(n,)1134 2800 y(SCALAR_IN)e(alpha,)h
(const)h(ARRAY)f(a,)h(int)g(lda,)g(SCALAR_IN)e(beta,)1134
2912 y(const)h(ARRAY)h(b,)g(int)g(ldb,)g(ARRAY)f(c,)h(int)g(ldc)g(\);)
227 3025 y(Symmetric)f(Band:)227 3138 y(void)h(BLAS_xsb_add\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
3251 y(int)j(n,)g(int)g(k,)g(SCALAR_IN)f(alpha,)g(const)g(ARRAY)g(a,)i
(int)e(lda,)1134 3364 y(SCALAR_IN)f(beta,)i(const)f(ARRAY)g(b,)i(int)f
(ldb,)f(ARRAY)h(c,)g(int)g(ldc)g(\);)227 3477 y(Symmetric)f(Packed:)227
3590 y(void)h(BLAS_xsp_add\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 3703 y(int)j(n,)g(SCALAR_IN)e(alpha,)i
(const)f(ARRAY)g(ap,)h(SCALAR_IN)e(beta,)1134 3816 y(const)h(ARRAY)h
(bp,)g(ARRAY)f(cp)h(\);)227 3929 y(Triangular:)227 4042
y(void)g(BLAS_xtr_add\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 4154 y(enum)j(blas_diag_type)d(diag,)i
(int)h(n,)g(SCALAR_IN)e(alpha,)1134 4267 y(const)h(ARRAY)h(a,)g(int)g
(lda,)g(SCALAR_IN)e(beta,)h(const)h(ARRAY)f(b,)1134 4380
y(int)h(ldb,)g(ARRAY)f(c,)h(int)g(ldc)g(\);)227 4493
y(Triangular)e(Band:)227 4606 y(void)i(BLAS_xtb_add\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
4719 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)g(int)g(k,)g(SCALAR_IN)
e(alpha,)1134 4832 y(const)h(ARRAY)h(a,)g(int)g(lda,)g(SCALAR_IN)e
(beta,)h(const)h(ARRAY)f(b,)1134 4945 y(int)h(ldb,)g(ARRAY)f(c,)h(int)g
(ldc)g(\);)227 5058 y(Triangular)e(Packed:)227 5171 y(void)i
(BLAS_xtp_add\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 5284 y(enum)j(blas_diag_type)d(diag,)i
(int)h(n,)g(SCALAR_IN)e(alpha,)1134 5396 y(const)h(ARRAY)h(ap,)g
(SCALAR_IN)e(beta,)h(const)h(ARRAY)f(bp,)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 83 93
83 92 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(83)1134 91 y FD(ARRAY)46 b(cp)i(\);)p 0 316 3900
6 v 0 560 a Fx(2.8.8)97 b(Matrix-Matrix)31 b(Op)s(erations)0
731 y FK(In)f(the)g(follo)m(wing)f(section,)i Fy(op)p
FK(\()p Fy(X)7 b FK(\))31 b(denotes)g Fy(X)7 b FK(,)31
b(or)f Fy(X)1916 698 y Fw(T)2002 731 y FK(or)g Fy(X)2195
698 y Fw(H)2293 731 y FK(where)g Fy(X)38 b FK(is)29 b(a)i(matrix.)0
957 y(GEMM)g(\(General)g(Matrix)f(Matrix)g(Pro)s(duct\))1258
b Fy(C)32 b FJ( )25 b Fy(\013op)p FK(\()p Fy(A)p FK(\))p
Fy(op)p FK(\()p Fy(B)5 b FK(\))21 b(+)f Fy(\014)5 b(C)141
1183 y FK(The)32 b(routine)g(p)s(erforms)f(a)h(general)h(matrix)f
(matrix)g(m)m(ultiply)d Fy(C)36 b FJ( )28 b Fy(\013op)p
FK(\()p Fy(A)p FK(\))p Fy(op)p FK(\()p Fy(B)5 b FK(\))23
b(+)e Fy(\014)5 b(C)40 b FK(where)32 b Fy(\013)h FK(and)0
1296 y Fy(\014)42 b FK(are)c(scalars,)h(and)e Fy(A)p
FK(,)i Fy(B)5 b FK(,)39 b(and)e Fy(C)44 b FK(are)37 b(general)h
(matrices.)61 b(This)36 b(routine)g(returns)g(immediately)g(if)g
Fv(alpha)0 1409 y FK(is)e(equal)h(to)g(zero)h(and)e Fv(b)s(eta)h
FK(is)f(equal)g(to)i(one,)h(or)d(if)g Fv(m)i FK(or)e
Fv(n)h FK(or)g Fv(k)h FK(is)e(less)g(than)h(or)g(equal)f(to)i(zero.)55
b(If)35 b Fv(lda)f FK(is)0 1522 y(less)h(than)h(one,)h(or)f
Fy(tr)s(ansa)d FK(=)h Fy(bl)r(as)p 1279 1522 28 4 v 33
w(no)p 1411 1522 V 32 w(tr)s(ans)g FK(and)h Fv(lda)h
FK(is)e(less)i(than)f Fv(m)p FK(,)j(or)d Fy(tr)s(ansa)e
FJ(6)p FK(=)i Fy(bl)r(as)p 3338 1522 V 32 w(no)p 3469
1522 V 32 w(tr)s(ans)g FK(and)0 1635 y Fv(lda)k FK(is)g(less)h(than)g
Fv(k)p FK(,)j(or)d Fv(ldb)f FK(is)g(less)h(than)f(one,)k(or)d
Fy(tr)s(ansb)g FK(=)h Fy(bl)r(as)p 2444 1635 V 33 w(no)p
2576 1635 V 32 w(tr)s(ans)e FK(and)g Fv(ldb)h FK(is)f(less)g(than)h
Fv(k)p FK(,)j(or)0 1748 y Fy(tr)s(ansb)27 b FJ(6)p FK(=)i
Fy(bl)r(as)p 553 1748 V 32 w(no)p 684 1748 V 33 w(tr)s(ans)i
FK(and)h Fv(ldb)g FK(is)f(less)h(than)g Fv(n)p FK(,)i(or)e
Fv(ldc)h FK(is)e(less)h(than)g(one)h(or)g(less)e(than)i
Fv(m)p FK(,)g(an)f(error)h(\015ag)0 1860 y(is)c(set)i(and)f(passed)g
(to)h(the)g(error)f(handler.)141 1973 y(This)f(in)m(terface)i
(encompasses)f(the)h(Legacy)h(BLAS)e(routine)f(xGEMM.)136
2186 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
2411 y FD(SUBROUTINE)45 b(gemm\()i(a,)g(b,)g(c)g([,)h(transa])d([,)j
(transb])d([,)j(alpha])e([,)h(beta])f(\))514 2524 y(<type>\(<wp>\),)e
(INTENT\(IN\))h(::)i(<aa>,)f(<bb>)514 2637 y(<type>\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(<cc>)514 2750 y(TYPE)f(\(blas_trans_type\),)d
(INTENT\(IN\),)i(OPTIONAL)g(::)j(transa,)d(transb)514
2863 y(<type>\(<wp>\),)f(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)
418 2975 y(where)514 3088 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))
514 3201 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))514
3314 y(<cc>)94 b(::=)47 b(c\(:,:\))f(or)h(c\(:\))418
3427 y(and)514 3540 y(c,)g(rank)f(2,)i(has)f(shape)f(\(m,n\))752
3653 y(a)i(has)f(shape)f(\(m,k\))g(if)i(transa)e(=)h(blas_no_trans)d
(\(the)j(default\))1325 3766 y(\(k,m\))f(if)i(transa)e(/=)h
(blas_no_trans)1325 3879 y(\(m\))g(if)g(rank)g(1)752
3992 y(b)h(has)f(shape)f(\(k,n\))g(if)i(transb)e(=)h(blas_no_trans)d
(\(the)j(default\))1325 4105 y(\(n,k\))f(if)i(transb)e(/=)h
(blas_no_trans)1325 4217 y(\(n\))g(if)g(rank)g(1)514
4330 y(c,)g(rank)f(1,)i(has)f(shape)f(\(m\))752 4443
y(a)i(has)f(shape)f(\(m,n\))g(if)i(transa)e(=)h(blas_no_trans)d(\(the)j
(default\))1325 4556 y(\(n,m\))f(if)i(transa)e(/=)h(blas_no_trans)752
4669 y(b)h(has)f(shape)f(\(n\))-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 84 94
84 93 bop 0 -165 a FK(84)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)p 244 3 3640 4 v 242
116 4 113 v 294 82 a FK(Rank)e FD(a)p 631 116 V 99 w
FK(Rank)h FD(b)p 1019 116 V 99 w FK(Rank)f FD(c)p 1408
116 V 99 w(transa)p 1794 116 V 98 w(transb)p 2180 116
V 98 w FK(Op)s(eration)p 3066 116 V 483 w(Argumen)m(ts)p
3881 116 V 244 120 3640 4 v 242 232 4 113 v 416 199 a(2)p
631 232 V 343 w(2)p 1019 232 V 344 w(2)p 1408 232 V 331
w(N)p 1794 232 V 318 w(N)p 2180 232 V 208 w Fy(C)i FJ( )25
b Fy(\013AB)h FK(+)20 b Fy(\014)5 b(C)p 3066 232 V 240
w FD(real)47 b(or)g(complex)p 3881 232 V 242 345 V 416
311 a FK(2)p 631 345 V 343 w(2)p 1019 345 V 344 w(2)p
1408 345 V 331 w(N)p 1794 345 V 319 w(T)p 2180 345 V
209 w Fy(C)32 b FJ( )25 b Fy(\013AB)2644 279 y Fw(T)2720
311 y FK(+)20 b Fy(\014)5 b(C)p 3066 345 V 185 w FD(real)47
b(or)g(complex)p 3881 345 V 242 458 V 416 424 a FK(2)p
631 458 V 343 w(2)p 1019 458 V 344 w(2)p 1408 458 V 331
w(N)p 1794 458 V 318 w(H)p 2180 458 V 208 w Fy(C)32 b
FJ( )25 b Fy(\013AB)2644 391 y Fw(H)2732 424 y FK(+)20
b Fy(\014)5 b(C)p 3066 458 V 173 w FD(complex)p 3881
458 V 242 571 V 416 537 a FK(2)p 631 571 V 343 w(2)p
1019 571 V 344 w(2)p 1408 571 V 332 w(T)p 1794 571 V
319 w(N)p 2180 571 V 208 w Fy(C)32 b FJ( )25 b Fy(\013A)2570
504 y Fw(T)2626 537 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p
3066 571 V 185 w FD(real)47 b(or)g(complex)p 3881 571
V 242 684 V 416 650 a FK(2)p 631 684 V 343 w(2)p 1019
684 V 344 w(2)p 1408 684 V 332 w(T)p 1794 684 V 320 w(T)p
2180 684 V 209 w Fy(C)32 b FJ( )25 b Fy(\013A)2570 617
y Fw(T)2626 650 y Fy(B)2700 617 y Fw(T)2775 650 y FK(+)20
b Fy(\014)5 b(C)p 3066 684 V 130 w FD(real)47 b(or)g(complex)p
3881 684 V 242 797 V 416 763 a FK(2)p 631 797 V 343 w(2)p
1019 797 V 344 w(2)p 1408 797 V 331 w(H)p 1794 797 V
318 w(N)p 2180 797 V 208 w Fy(C)32 b FJ( )25 b Fy(\013A)2570
730 y Fw(H)2638 763 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p
3066 797 V 173 w FD(complex)p 3881 797 V 242 910 V 416
876 a FK(2)p 631 910 V 343 w(2)p 1019 910 V 344 w(2)p
1408 910 V 331 w(H)p 1794 910 V 318 w(H)p 2180 910 V
208 w Fy(C)32 b FJ( )25 b Fy(\013A)2570 843 y Fw(H)2638
876 y Fy(B)2712 843 y Fw(H)2799 876 y FK(+)20 b Fy(\014)5
b(C)p 3066 910 V 106 w FD(complex)p 3881 910 V 242 1023
V 416 989 a FK(2)p 631 1023 V 343 w(1)p 1019 1023 V 344
w(1)p 1408 1023 V 331 w(N)p 1794 1023 V 336 w(-)p 2180
1023 V 228 w Fy(c)26 b FJ( )f Fy(\013Ab)c FK(+)f Fy(\014)5
b(c)p 3066 1023 V 333 w FD(real)47 b(or)g(complex)p 3881
1023 V 242 1136 V 416 1102 a FK(2)p 631 1136 V 343 w(1)p
1019 1136 V 344 w(1)p 1408 1136 V 332 w(T)p 1794 1136
V 337 w(-)p 2180 1136 V 228 w Fy(c)26 b FJ( )f Fy(\013A)2538
1069 y Fw(T)2594 1102 y Fy(b)20 b FK(+)g Fy(\014)5 b(c)p
3066 1136 V 278 w FD(real)47 b(or)g(complex)p 3881 1136
V 242 1249 V 416 1215 a FK(2)p 631 1249 V 343 w(1)p 1019
1249 V 344 w(1)p 1408 1249 V 331 w(H)p 1794 1249 V 336
w(-)p 2180 1249 V 228 w Fy(c)26 b FJ( )f Fy(\013A)2538
1182 y Fw(H)2606 1215 y Fy(b)20 b FK(+)g Fy(\014)5 b(c)p
3066 1249 V 266 w FD(complex)p 3881 1249 V 242 1362 V
416 1328 a FK(1)p 631 1362 V 343 w(1)p 1019 1362 V 344
w(2)p 1408 1362 V 350 w(-)p 1794 1362 V 355 w(-)p 2180
1362 V 228 w Fy(C)32 b FJ( )25 b Fy(\013ab)2589 1295
y Fw(T)2665 1328 y FK(+)20 b Fy(\014)5 b(C)p 3066 1362
V 240 w FD(real)47 b(or)g(complex)p 3881 1362 V 242 1474
V 416 1441 a FK(1)p 631 1474 V 343 w(1)p 1019 1474 V
344 w(2)p 1408 1474 V 350 w(-)p 1794 1474 V 337 w(H)p
2180 1474 V 208 w Fy(C)32 b FJ( )25 b Fy(\013ab)2589
1408 y Fw(H)2677 1441 y FK(+)20 b Fy(\014)5 b(C)p 3066
1474 V 228 w FD(complex)p 3881 1474 V 244 1478 3640 4
v 227 1686 a FK(The)32 b(functionalit)m(y)f(of)i(xGEMV,)g(xGER,)g(xGER)
m(U,)h(and)e(xGER)m(C)g(are)h(also)g(co)m(v)m(ered)h(b)m(y)f(this)e
(generic)227 1799 y(pro)s(cedure.)136 1987 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 2212 y FD(SUBROUTINE)45
b(BLAS_xGEMM\()f(TRANSA,)i(TRANSB,)g(M,)h(N,)g(K,)h(ALPHA,)e(A,)h(LDA,)
466 2325 y($)1097 b(B,)48 b(LDB,)e(BETA,)h(C,)g(LDC)g(\))514
2438 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(M,)g(N,)g(TRANSA,)f
(TRANSB)514 2550 y(<type>)618 b(ALPHA,)47 b(BETA)514
2663 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\),)g
(C\()h(LDC,)e(*)i(\))136 2888 y FJ(\017)e FK(C)30 b(binding:)227
3113 y FD(void)47 b(BLAS_xgemm\()e(enum)h(blas_order_type)e(order,)i
(enum)h(blas_trans_type)c(transa,)1039 3226 y(enum)j(blas_trans_type)e
(transb,)i(int)h(m,)g(int)g(n,)g(int)g(k,)1039 3339 y(SCALAR_IN)e
(alpha,)h(const)g(ARRAY)h(a,)g(int)g(lda,)f(const)h(ARRAY)f(b,)1039
3452 y(int)h(ldb,)f(SCALAR_IN)f(beta,)i(ARRAY)f(c,)h(int)g(ldc)g(\);)p
0 3677 3900 6 v 0 3790 a FK(SYMM)31 b(\(Symmetric)e(Matrix)i(Matrix)f
(Pro)s(duct\))682 b Fy(C)31 b FJ( )25 b Fy(\013AB)h FK(+)20
b Fy(\014)5 b(C)37 b FK(or)30 b Fy(C)i FJ( )25 b Fy(\013B)5
b(A)20 b FK(+)g Fy(\014)5 b(C)141 4016 y FK(This)41 b(routine)h(p)s
(erforms)f(one)h(of)h(the)g(symmetric)f(matrix)g(matrix)g(op)s
(erations)g Fy(C)52 b FJ( )45 b Fy(\013AB)34 b FK(+)28
b Fy(\014)5 b(C)49 b FK(or)0 4129 y Fy(C)40 b FJ( )33
b Fy(\013B)5 b(A)24 b FK(+)f Fy(\014)5 b(C)42 b FK(where)35
b Fy(\013)g FK(and)g Fy(\014)40 b FK(are)c(scalars,)h
Fy(A)e FK(is)f(a)i(symmetric)f(matrix,)h(and)e Fy(B)40
b FK(and)35 b Fy(C)41 b FK(are)36 b(general)0 4242 y(matrices.)44
b(This)30 b(routine)h(returns)f(immediately)g(if)g Fv(alpha)h
FK(is)f(equal)i(to)g(zero)g(and)f Fv(b)s(eta)g FK(is)g(equal)g(to)h
(one,)g(or)g(if)0 4355 y Fv(m)c FK(or)f Fv(n)g FK(is)g(less)g(than)g
(or)g(equal)g(to)h(zero.)41 b(F)-8 b(or)28 b Fv(side)f
FK(equal)g(to)i Fv(blas)p 2255 4355 28 4 v 31 w(left)p
2409 4355 V 33 w(side)p FK(,)f(and)f(if)f Fv(lda)h FK(is)g(less)f(than)
h(one)h(or)g(less)0 4467 y(than)k Fv(m)p FK(,)i(or)e(if)f
Fv(ldb)h FK(is)g(less)g(than)g(one)g(or)h(less)f(than)g
Fv(m)p FK(,)h(or)f(if)g Fv(ldc)g FK(is)g(less)f(than)i(one)f(or)h(less)
e(than)i Fv(m)p FK(,)g(an)f(error)0 4580 y(\015ag)h(is)f(set)h(and)g
(passed)f(to)i(the)f(error)f(handler.)46 b(F)-8 b(or)34
b Fv(side)f FK(equal)f(to)i Fv(blas)p 2604 4580 V 32
w(right)p 2814 4580 V 32 w(side)p FK(,)g(and)e(if)g Fv(lda)g
FK(is)g(less)g(than)0 4693 y(one)g(or)f(less)g(than)h
Fv(n)p FK(,)g(or)f(if)g Fv(ldb)g FK(is)g(less)g(than)g(one)h(or)f(less)
g(than)h Fv(n)p FK(,)g(or)f(if)g Fv(ldc)g FK(is)g(less)g(than)g(one)h
(or)g(less)e(than)i Fv(n)p FK(,)0 4806 y(an)e(error)g(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)141
4919 y(The)d(in)m(terfaces)h(encompass)g(the)g(Legacy)h(BLAS)f(routine)
e(xSYMM)i(with)f(added)g(functionalit)m(y)f(for)h(com-)0
5032 y(plex)i(symmetric)h(matrices.)136 5245 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 85 95
85 94 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(85)418 91 y FD(SUBROUTINE)45 b(symm\()i(a,)g(b,)g(c)g([,)h(side])e
([,)h(uplo])f([,)i(alpha])e([,)h(beta])f(\))514 204 y(<type>\(<wp>\),)e
(INTENT\(IN\))h(::)i(a\(:,:\),)f(<bb>)514 317 y(<type>\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(<cc>)514 430 y(TYPE)f(\(blas_side_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(side)514 543 y(TYPE)f
(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514
656 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)
418 769 y(where)514 882 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))514
995 y(<cc>)94 b(::=)47 b(c\(:,:\))f(or)h(c\(:\))418 1108
y(and)466 1220 y(c,)g(rank)g(2,)g(has)g(shape)f(\(m,n\),)g(b)i(same)e
(shape)h(as)g(c)561 1333 y(SY)95 b(a)48 b(has)f(shape)f(\(m,m\))g(if)i
(side)e(=)i(blas_left_side)c(\(the)i(default\))752 1446
y(a)i(has)f(shape)f(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)466
1559 y(c,)g(rank)g(1,)g(has)g(shape)f(\(m\),)h(b)g(same)g(shape)f(as)h
(c)561 1672 y(SY)95 b(a)48 b(has)f(shape)f(\(m,m\))p
1154 1801 1820 4 v 1152 1914 4 113 v 1204 1880 a FK(Rank)30
b FD(b)p 1541 1914 V 99 w FK(Rank)h FD(c)p 1929 1914
V 99 w(side)p 2220 1914 V 98 w FK(Op)s(eration)p 2972
1914 V 1154 1917 1820 4 v 1152 2030 4 113 v 1326 1996
a(2)p 1541 2030 V 343 w(2)p 1929 2030 V 289 w(L)p 2220
2030 V 166 w Fy(C)h FJ( )25 b Fy(\013AB)h FK(+)20 b Fy(\014)5
b(C)p 2972 2030 V 1152 2143 V 1326 2109 a FK(2)p 1541
2143 V 343 w(2)p 1929 2143 V 284 w(R)p 2220 2143 V 161
w Fy(C)32 b FJ( )25 b Fy(\013B)5 b(A)21 b FK(+)f Fy(\014)5
b(C)p 2972 2143 V 1152 2256 V 1326 2222 a FK(1)p 1541
2256 V 343 w(1)p 1929 2256 V 302 w(-)p 2220 2256 V 180
w Fy(c)26 b FJ( )f Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p
2972 2256 V 1154 2259 1820 4 v 227 2428 a FK(The)30 b(functionalit)m(y)
f(of)i(xSYMV)f(is)f(co)m(v)m(ered)j(b)m(y)f Fv(symm)p
FK(.)136 2604 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
2795 y FD(SUBROUTINE)45 b(BLAS_xSYMM\()f(SIDE,)j(UPLO,)f(M,)h(N,)g
(ALPHA,)g(A,)g(LDA,)f(B,)i(LDB,)466 2908 y($)1097 b(BETA,)47
b(C,)g(LDC)g(\))514 3021 y(INTEGER)570 b(LDA,)47 b(LDB,)g(LDC,)f(M,)i
(N,)f(SIDE,)f(UPLO)514 3134 y(<type>)618 b(ALPHA,)47
b(BETA)514 3247 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g
(*)g(\),)g(C\()h(LDC,)e(*)i(\))136 3438 y FJ(\017)e FK(C)30
b(binding:)227 3628 y FD(void)47 b(BLAS_xsymm\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_side_type)d(side,)1039
3741 y(enum)i(blas_uplo_type)e(uplo,)j(int)f(m,)i(int)f(n,)g(SCALAR_IN)
e(alpha,)1039 3854 y(const)h(ARRAY)g(a,)i(int)e(lda,)h(const)f(ARRAY)h
(b,)g(int)g(ldb,)1039 3967 y(SCALAR_IN)e(beta,)h(ARRAY)h(c,)g(int)g
(ldc)g(\);)p 0 4158 3900 6 v 0 4271 a FK(HEMM)31 b(\(Hermitian)e
(Matrix)i(Matrix)f(Pro)s(duct\))696 b Fy(C)31 b FJ( )25
b Fy(\013AB)h FK(+)20 b Fy(\014)5 b(C)37 b FK(or)30 b
Fy(C)i FJ( )25 b Fy(\013B)5 b(A)20 b FK(+)g Fy(\014)5
b(C)141 4497 y FK(This)42 b(routine)g(p)s(erforms)g(one)h(of)h(the)f
(Hermitian)f(matrix)h(matrix)f(op)s(erations)h Fy(C)53
b FJ( )47 b Fy(\013AB)34 b FK(+)28 b Fy(\014)5 b(C)50
b FK(or)0 4610 y Fy(C)41 b FJ( )34 b Fy(\013B)5 b(A)24
b FK(+)f Fy(\014)5 b(C)43 b FK(where)35 b Fy(\013)h FK(and)f
Fy(\014)41 b FK(are)36 b(scalars,)h Fy(A)f FK(is)f(a)h(Hermitian)f
(matrix,)h(and)f Fy(B)41 b FK(and)35 b Fy(C)42 b FK(are)36
b(general)0 4723 y(matrices.)44 b(This)30 b(routine)h(returns)f
(immediately)g(if)g Fv(alpha)h FK(is)f(equal)i(to)g(zero)g(and)f
Fv(b)s(eta)g FK(is)g(equal)g(to)h(one,)g(or)g(if)0 4835
y Fv(m)c FK(or)f Fv(n)g FK(is)g(less)g(than)g(or)g(equal)g(to)h(zero.)
41 b(F)-8 b(or)28 b Fv(side)f FK(equal)g(to)i Fv(blas)p
2255 4835 28 4 v 31 w(left)p 2409 4835 V 33 w(side)p
FK(,)f(and)f(if)f Fv(lda)h FK(is)g(less)f(than)h(one)h(or)g(less)0
4948 y(than)k Fv(m)p FK(,)i(or)e(if)f Fv(ldb)h FK(is)g(less)g(than)g
(one)g(or)h(less)f(than)g Fv(m)p FK(,)h(or)f(if)g Fv(ldc)g
FK(is)g(less)f(than)i(one)f(or)h(less)e(than)i Fv(m)p
FK(,)g(an)f(error)0 5061 y(\015ag)h(is)f(set)h(and)g(passed)f(to)i(the)
f(error)f(handler.)46 b(F)-8 b(or)34 b Fv(side)f FK(equal)f(to)i
Fv(blas)p 2604 5061 V 32 w(right)p 2814 5061 V 32 w(side)p
FK(,)g(and)e(if)g Fv(lda)g FK(is)g(less)g(than)0 5174
y(one)g(or)f(less)g(than)h Fv(n)p FK(,)g(or)f(if)g Fv(ldb)g
FK(is)g(less)g(than)g(one)h(or)f(less)g(than)h Fv(n)p
FK(,)g(or)f(if)g Fv(ldc)g FK(is)g(less)g(than)g(one)h(or)g(less)e(than)
i Fv(n)p FK(,)0 5287 y(an)e(error)g(\015ag)h(is)e(set)i(and)f(passed)g
(to)h(the)g(error)f(handler.)141 5400 y(The)g(in)m(terfaces)h
(encompass)f(the)h(Legacy)h(BLAS)e(routine)f(xHEMM.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 86 96
86 95 bop 0 -165 a FK(86)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)136 91 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)227 316 y FD(Hermitian:)418
429 y(SUBROUTINE)45 b(hemm\()i(a,)g(b,)g(c)g([,)h(side])e([,)h(uplo])f
([,)i(alpha])e([,)h(beta])f(\))514 542 y(COMPLEX\(<wp>\),)e
(INTENT\(IN\))h(::)i(a\(:,:\),)f(<bb>)514 655 y(COMPLEX\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(<cc>)514 768 y(TYPE)f(\(blas_side_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(side)514 881 y(TYPE)f
(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514
994 y(COMPLEX\(<wp>\),)d(INTENT\(IN\),)g(OPTIONAL)i(::)h(alpha,)f(beta)
418 1107 y(where)514 1219 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))
514 1332 y(<cc>)94 b(::=)47 b(c\(:,:\))f(or)h(c\(:\))418
1445 y(and)466 1558 y(c,)g(rank)g(2,)g(has)g(shape)f(\(m,n\),)g(b)i
(same)e(shape)h(as)g(c)561 1671 y(HE)95 b(a)48 b(has)f(shape)f(\(m,m\))
g(if)i("side")e(=)h(blas_left_side)d(\(the)j(default\))752
1784 y(a)h(has)f(shape)f(\(n,n\))g(if)i("side")e(/=)h(blas_left_side)
466 1897 y(c,)g(rank)g(1,)g(has)g(shape)f(\(m\),)h(b)g(same)g(shape)f
(as)h(c)561 2010 y(HE)95 b(a)48 b(has)f(shape)f(\(m,m\))p
1154 2179 1820 4 v 1152 2291 4 113 v 1204 2258 a FK(Rank)30
b FD(b)p 1541 2291 V 99 w FK(Rank)h FD(c)p 1929 2291
V 99 w(side)p 2220 2291 V 98 w FK(Op)s(eration)p 2972
2291 V 1154 2295 1820 4 v 1152 2408 4 113 v 1326 2374
a(2)p 1541 2408 V 343 w(2)p 1929 2408 V 289 w(L)p 2220
2408 V 166 w Fy(C)h FJ( )25 b Fy(\013AB)h FK(+)20 b Fy(\014)5
b(C)p 2972 2408 V 1152 2521 V 1326 2487 a FK(2)p 1541
2521 V 343 w(2)p 1929 2521 V 284 w(R)p 2220 2521 V 161
w Fy(C)32 b FJ( )25 b Fy(\013B)5 b(A)21 b FK(+)f Fy(\014)5
b(C)p 2972 2521 V 1152 2633 V 1326 2600 a FK(1)p 1541
2633 V 343 w(1)p 1929 2633 V 302 w(-)p 2220 2633 V 180
w Fy(c)26 b FJ( )f Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p
2972 2633 V 1154 2637 1820 4 v 227 2845 a FK(The)30 b(functionalit)m(y)
f(of)i(xHEMV)f(is)g(co)m(v)m(ered)i(b)m(y)e Fv(hemm)p
FK(.)136 3033 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
3258 y FD(SUBROUTINE)45 b(BLAS_xHEMM\()f(SIDE,)j(UPLO,)f(M,)h(N,)g
(ALPHA,)g(A,)g(LDA,)f(B,)i(LDB,)466 3370 y($)1097 b(BETA,)47
b(C,)g(LDC)g(\))514 3483 y(INTEGER)570 b(LDA,)47 b(LDB,)g(LDC,)f(M,)i
(N,)f(SIDE,)f(UPLO)514 3596 y(<ctype>)570 b(ALPHA,)47
b(BETA)514 3709 y(<ctype>)570 b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g
(*)g(\),)g(C\()h(LDC,)e(*)i(\))136 3934 y FJ(\017)e FK(C)30
b(binding:)227 4159 y FD(void)47 b(BLAS_xhemm\()e(enum)h
(blas_order_type)e(order,)i(enum)h(blas_side_type)d(side,)1039
4272 y(enum)i(blas_uplo_type)e(uplo,)j(int)f(m,)i(int)f(n,)g
(CSCALAR_IN)e(alpha,)1039 4385 y(const)h(CARRAY)g(a,)h(int)g(lda,)g
(const)f(CARRAY)g(b,)h(int)g(ldb,)1039 4498 y(CSCALAR_IN)e(beta,)h
(CARRAY)g(c,)h(int)g(ldc)g(\);)p 0 4723 3900 6 v 0 4835
a FK(TRMM)31 b(\(T)-8 b(riangular)28 b(Matrix)j(Matrix)f(Multiply\))812
b Fy(B)30 b FJ( )25 b Fy(\013op)p FK(\()p Fy(T)13 b FK(\))p
Fy(B)35 b FK(or)c Fy(B)f FJ( )25 b Fy(\013B)5 b(op)p
FK(\()p Fy(T)13 b FK(\))141 5061 y(These)33 b(routines)g(p)s(erform)f
(one)i(of)g(the)g(matrix-matrix)e(op)s(erations)h Fy(B)i
FJ( )c Fy(\013op)p FK(\()p Fy(T)13 b FK(\))p Fy(B)38
b FK(or)c Fy(B)h FJ( )c Fy(\013B)5 b(op)p FK(\()p Fy(T)13
b FK(\))0 5174 y(where)31 b Fy(\013)h FK(is)f(a)h(scalar,)g
Fy(B)k FK(is)31 b(a)h(general)f(matrix,)h(and)f Fy(T)44
b FK(is)31 b(a)h(unit,)e(or)i(non-unit,)f(upp)s(er)e(or)j(lo)m(w)m(er)g
(triangular)0 5287 y(\(or)k(triangular)d(band\))i(matrix.)55
b(This)33 b(routine)h(returns)h(immediately)e(if)h Fv(m)p
FK(,)j Fv(n)p FK(,)g(or)e Fv(k)h FK(\(for)f(triangular)f(band)0
5400 y(matrices\),)i(is)e(less)g(than)g(or)h(equal)f(to)h(zero.)55
b(F)-8 b(or)35 b Fv(side)f FK(equal)h(to)g Fv(blas)p
2488 5400 28 4 v 32 w(left)p 2643 5400 V 32 w(side)p
FK(,)h(and)e(if)g Fv(ldt)g FK(is)f(less)h(than)h(one)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 87 97
87 96 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(87)0 91 y(or)30 b(less)g(than)h Fv(m)p FK(,)g(or)f(if)f
Fv(ldb)i FK(is)e(less)h(than)g(one)h(or)f(less)g(than)h
Fv(m)p FK(,)f(an)h(error)f(\015ag)h(is)e(set)i(and)f(passed)g(to)i(the)
e(error)0 204 y(handler.)47 b(F)-8 b(or)34 b Fv(side)f
FK(equal)g(to)h Fv(blas)p 1225 204 28 4 v 31 w(right)p
1434 204 V 33 w(side)p FK(,)g(and)f(if)f Fv(ldt)g FK(is)g(less)h(than)g
(one)g(or)g(less)g(than)g Fv(n)p FK(,)h(or)f(if)f Fv(ldb)g
FK(is)h(less)0 317 y(than)d(one)h(or)f(less)g(than)g
Fv(m)p FK(,)h(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)
f(error)g(handler.)141 430 y(These)g(in)m(terfaces)h(encompass)g(the)f
(Legacy)i(BLAS)e(routine)g(xTRMM.)136 643 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)418 892 y FD(SUBROUTINE)45
b(trmm\()i(t,)g(b)g([,)g(side])g([,)g(uplo])f([,)h(transt])f([,)h
(diag])g([,)g(alpha])f(\))514 1005 y(<type>\(<wp>\),)e(INTENT\(IN\))h
(::)i(t\(:,:\))514 1118 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j
(<bb>)514 1231 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)i
(alpha)514 1344 y(TYPE)f(\(blas_diag_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(diag)514 1457 y(TYPE)f(\(blas_side_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(side)514 1570 y(TYPE)f
(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j(transt)514
1683 y(TYPE)e(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)418 1796 y(where)514 1909 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h
(b\(:\))418 2022 y(and)466 2134 y(b,)g(rank)g(2,)g(has)g(shape)f
(\(m,n\))561 2247 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))g(if)i(side)e
(=)i(blas_left_side)c(\(the)i(default\))752 2360 y(t)i(has)f(shape)f
(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)466 2473 y(b,)g(rank)g(1,)g
(has)g(shape)f(\(m\))561 2586 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))p
1241 2755 1645 4 v 1239 2868 4 113 v 1291 2834 a FK(Rank)30
b FD(b)p 1628 2868 V 100 w(transt)p 2014 2868 V 98 w(side)p
2305 2868 V 98 w FK(Op)s(eration)p 2884 2868 V 1241 2871
1645 4 v 1239 2984 4 113 v 1413 2950 a(2)p 1628 2984
V 331 w(N)p 2014 2984 V 276 w(L)p 2305 2984 V 166 w Fy(B)g
FJ( )25 b Fy(\013T)13 b(B)p 2884 2984 V 1239 3097 V 1413
3063 a FK(2)p 1628 3097 V 332 w(T)p 2014 3097 V 277 w(L)p
2305 3097 V 166 w Fy(B)30 b FJ( )25 b Fy(\013T)2695 3030
y Fw(T)2750 3063 y Fy(B)p 2884 3097 V 1239 3210 V 1413
3176 a FK(2)p 1628 3210 V 331 w(H)p 2014 3210 V 276 w(L)p
2305 3210 V 166 w Fy(B)30 b FJ( )25 b Fy(\013T)2695 3143
y Fw(H)2763 3176 y Fy(B)p 2884 3210 V 1239 3323 V 1413
3289 a FK(2)p 1628 3323 V 331 w(N)p 2014 3323 V 271 w(R)p
2305 3323 V 161 w Fy(B)30 b FJ( )25 b Fy(\013B)5 b(T)p
2884 3323 V 1239 3436 V 1413 3402 a FK(2)p 1628 3436
V 332 w(T)p 2014 3436 V 272 w(R)p 2305 3436 V 161 w Fy(B)30
b FJ( )25 b Fy(\013B)5 b(T)2769 3369 y Fw(T)p 2884 3436
V 1239 3549 V 1413 3515 a FK(2)p 1628 3549 V 331 w(H)p
2014 3549 V 271 w(R)p 2305 3549 V 161 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2769 3482 y Fw(H)p 2884 3549 V 1239
3662 V 1413 3628 a FK(1)p 1628 3662 V 331 w(N)p 2014
3662 V 289 w(-)p 2305 3662 V 180 w Fy(b)25 b FJ( )h Fy(\013T)13
b(b)p 2884 3662 V 1239 3774 V 1413 3741 a FK(1)p 1628
3774 V 332 w(T)p 2014 3774 V 290 w(-)p 2305 3774 V 180
w Fy(b)25 b FJ( )h Fy(\013T)2661 3708 y Fw(T)2716 3741
y Fy(b)p 2884 3774 V 1239 3887 V 1413 3853 a FK(1)p 1628
3887 V 331 w(H)p 2014 3887 V 289 w(-)p 2305 3887 V 180
w Fy(b)f FJ( )h Fy(\013T)2661 3821 y Fw(H)2728 3853 y
Fy(b)p 2884 3887 V 1241 3891 1645 4 v 227 4099 a FK(The)k(functionalit)
m(y)f(of)i(xTRMV)f(is)f(co)m(v)m(ered)j(b)m(y)f Fv(trmm)p
FK(.)136 4287 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
4512 y FD(SUBROUTINE)45 b(BLAS_xTRMM\()f(SIDE,)j(UPLO,)f(TRANST,)g
(DIAG,)g(M,)h(N,)h(ALPHA,)e(T,)466 4625 y($)1097 b(LDT,)47
b(B,)g(LDB)g(\))514 4738 y(INTEGER)570 b(DIAG,)47 b(LDB,)f(LDT,)h(M,)g
(N,)g(SIDE,)g(TRANST,)f(UPLO)514 4850 y(<type>)618 b(ALPHA)514
4963 y(<type>)g(T\()48 b(LDT,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\))136
5188 y FJ(\017)f FK(C)30 b(binding:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 88 98
88 97 bop 0 -165 a FK(88)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(void)47
b(BLAS_xtrmm\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_side_type)d(side,)1039 204 y(enum)i(blas_uplo_type)e(uplo,)j
(enum)f(blas_trans_type)e(transt,)1039 317 y(enum)i(blas_diag_type)e
(diag,)j(int)f(m,)i(int)f(n,)g(SCALAR_IN)e(alpha,)1039
430 y(const)h(ARRAY)g(t,)i(int)e(ldt,)h(ARRAY)f(b,)i(int)f(ldb)f(\);)p
0 611 3900 6 v 0 723 a FK(TRSM)30 b(\(T)-8 b(riangular)29
b(Solv)m(e\))1401 b Fy(B)30 b FJ( )25 b Fy(\013op)p FK(\()p
Fy(T)2887 690 y Fu(\000)p FC(1)2982 723 y FK(\))p Fy(B)35
b FK(or)30 b Fy(B)g FJ( )25 b Fy(\013B)5 b(op)p FK(\()p
Fy(T)3770 690 y Fu(\000)p FC(1)3865 723 y FK(\))141 949
y(This)23 b(routine)h(solv)m(es)i(one)f(of)g(the)g(matrix)f(equations)h
Fy(B)30 b FJ( )25 b Fy(\013op)p FK(\()p Fy(T)2471 916
y Fu(\000)p FC(1)2566 949 y FK(\))p Fy(B)30 b FK(or)25
b Fy(B)k FJ( )c Fy(\013B)5 b(op)p FK(\()p Fy(T)3343 916
y Fu(\000)p FC(1)3438 949 y FK(\))25 b(where)f Fy(\013)i
FK(is)0 1062 y(a)h(scalar,)g Fy(B)k FK(is)25 b(a)i(general)g(matrix,)f
(and)g Fy(T)39 b FK(is)26 b(a)h(unit,)f(or)g(non-unit,)g(upp)s(er)e(or)
j(lo)m(w)m(er)f(triangular)f(matrix.)39 b(This)0 1175
y(routine)31 b(returns)f(immediately)g(if)h Fv(m)h FK(or)f
Fv(n)h FK(is)f(less)g(than)g(or)h(equal)f(to)h(zero.)46
b(F)-8 b(or)32 b Fv(side)g FK(equal)f(to)h Fv(blas)p
3548 1175 28 4 v 32 w(left)p 3703 1175 V 33 w(side)p
FK(,)0 1288 y(and)27 b(if)g Fv(ldt)g FK(is)f(less)h(than)h(one)g(or)f
(less)g(than)h Fv(m)p FK(,)g(or)g(if)e Fv(ldb)i FK(is)e(less)h(than)h
(one)f(or)h(less)f(than)g Fv(m)p FK(,)i(an)e(error)h(\015ag)g(is)e(set)
0 1401 y(and)31 b(passed)g(to)h(the)g(error)f(handler.)42
b(F)-8 b(or)32 b Fv(side)f FK(equal)g(to)h Fv(blas)p
2174 1401 V 32 w(right)p 2384 1401 V 33 w(side)p FK(,)g(and)f(if)f
Fv(ldt)h FK(is)g(less)f(than)h(one)h(or)g(less)0 1514
y(than)c Fv(n)p FK(,)h(or)f(if)g Fv(ldb)f FK(is)h(less)f(than)i(one)f
(or)h(less)e(than)h Fv(m)p FK(,)h(an)g(error)f(\015ag)g(is)g(set)g(and)
g(passed)g(to)h(the)g(error)f(handler.)141 1627 y(These)i(in)m
(terfaces)h(encompass)g(the)f(Legacy)i(BLAS)e(routine)g(xTRSM.)227
1795 y Fz(A)-5 b(dvic)g(e)35 b(to)h(implementors.)97
b FK(Note)34 b(that)g(no)e(c)m(hec)m(k)j(for)e(singularit)m(y)-8
b(,)32 b(or)g(near)h(singularit)m(y)e(is)h(sp)s(eci\014ed)227
1908 y(for)24 b(these)g(triangular)f(equation-solving)f(routines.)38
b(The)23 b(requiremen)m(ts)g(for)h(suc)m(h)g(a)g(test)h(dep)s(end)d(on)
i(the)227 2021 y(application,)j(and)g(so)h(w)m(e)h(felt)e(that)i(this)d
(should)g(not)i(b)s(e)f(included,)f(but)h(should)f(instead)h(b)s(e)g(p)
s(erformed)227 2133 y(b)s(efore)j(calling)f(the)i(triangular)d(solv)m
(er.)41 b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p
FK(\))136 2301 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
2499 y FD(SUBROUTINE)45 b(trsm\()i(t,)g(b)g([,)g(side])g([,)g(uplo])f
([,)h(transt])f([,)h(diag])g([,)g(alpha])f(\))514 2612
y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(t\(:,:\))514
2725 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(<bb>)514
2838 y(TYPE)f(\(blas_side_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(side)514 2951 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)
h(::)h(uplo)514 3064 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(transt)514 3177 y(TYPE)e(\(blas_diag_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(diag)514 3290 y(<type>\(<wp>\),)d
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha)418 3403 y(where)514
3516 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))418
3629 y(and)466 3741 y(b,)g(rank)g(2,)g(has)g(shape)f(\(m,n\))561
3854 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))g(if)i(side)e(=)i
(blas_left_side)c(\(the)i(default\))752 3967 y(t)i(has)f(shape)f
(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)466 4080 y(b,)g(rank)g(1,)g
(has)g(shape)f(\(m\))561 4193 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))p
1214 4310 1700 4 v 1212 4423 4 113 v 1264 4389 a FK(Rank)30
b FD(b)p 1601 4423 V 99 w(transt)p 1987 4423 V 98 w(side)p
2277 4423 V 99 w FK(Op)s(eration)p 2912 4423 V 1214 4426
1700 4 v 1212 4539 4 113 v 1385 4505 a(2)p 1601 4539
V 331 w(N)p 1987 4539 V 276 w(L)p 2277 4539 V 167 w Fy(B)g
FJ( )25 b Fy(\013T)2668 4472 y Fu(\000)p FC(1)2762 4505
y Fy(B)p 2912 4539 V 1212 4652 V 1385 4618 a FK(2)p 1601
4652 V 333 w(T)p 1987 4652 V 276 w(L)p 2277 4652 V 167
w Fy(B)30 b FJ( )25 b Fy(\013T)2668 4585 y Fu(\000)p
Fw(T)2778 4618 y Fy(B)p 2912 4652 V 1212 4765 V 1385
4731 a FK(2)p 1601 4765 V 331 w(H)p 1987 4765 V 276 w(L)p
2277 4765 V 167 w Fy(B)30 b FJ( )25 b Fy(\013T)2668 4698
y Fu(\000)p Fw(H)2790 4731 y Fy(B)p 2912 4765 V 1212
4878 V 1385 4844 a FK(2)p 1601 4878 V 331 w(N)p 1987
4878 V 271 w(R)p 2277 4878 V 162 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2742 4811 y Fu(\000)p FC(1)p 2912 4878
V 1212 4991 V 1385 4957 a FK(2)p 1601 4991 V 333 w(T)p
1987 4991 V 271 w(R)p 2277 4991 V 162 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2742 4924 y Fu(\000)p Fw(T)p 2912 4991
V 1212 5104 V 1385 5070 a FK(2)p 1601 5104 V 331 w(H)p
1987 5104 V 271 w(R)p 2277 5104 V 162 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2742 5037 y Fu(\000)p Fw(H)p 2912 5104
V 1212 5217 V 1385 5183 a FK(1)p 1601 5217 V 331 w(N)p
1987 5217 V 290 w(-)p 2277 5217 V 180 w Fy(b)25 b FJ( )g
Fy(\013T)2633 5150 y Fu(\000)p FC(1)2728 5183 y Fy(b)p
2912 5217 V 1212 5329 V 1385 5296 a FK(1)p 1601 5329
V 333 w(T)p 1987 5329 V 290 w(-)p 2277 5329 V 180 w Fy(b)g
FJ( )g Fy(\013T)2633 5263 y Fu(\000)p Fw(T)2743 5296
y Fy(b)p 2912 5329 V 1212 5442 V 1385 5408 a FK(1)p 1601
5442 V 331 w(H)p 1987 5442 V 290 w(-)p 2277 5442 V 180
w Fy(b)g FJ( )g Fy(\013T)2633 5375 y Fu(\000)p Fw(H)2756
5408 y Fy(b)p 2912 5442 V 1214 5446 1700 4 v 4084 64
a FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 89 99
89 98 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(89)227 91 y(The)30 b(functionalit)m(y)f(of)i(xTRSV)e(is)g(co)m(v)m
(ered)j(b)m(y)f Fv(trsm)p FK(.)136 270 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 470 y FD(SUBROUTINE)45
b(BLAS_xTRSM\()f(SIDE,)j(UPLO,)f(TRANST,)g(DIAG,)g(M,)h(N,)h(ALPHA,)466
583 y($)1097 b(T,)48 b(LDT,)e(B,)h(LDB)g(\))514 695 y(INTEGER)570
b(DIAG,)47 b(LDB,)f(LDT,)h(M,)g(N,)g(SIDE,)g(TRANST,)f(UPLO)514
808 y(<type>)618 b(ALPHA)514 921 y(<type>)g(T\()48 b(LDT,)e(*)i(\),)f
(B\()g(LDB,)g(*)g(\))136 1120 y FJ(\017)f FK(C)30 b(binding:)227
1320 y FD(void)47 b(BLAS_xtrsm\()e(enum)h(blas_order_type)e(order,)i
(enum)h(blas_side_type)d(side,)1039 1433 y(enum)i(blas_uplo_type)e
(uplo,)j(enum)f(blas_trans_type)e(transt,)1039 1546 y(enum)i
(blas_diag_type)e(diag,)j(int)f(m,)i(int)f(n,)g(SCALAR_IN)e(alpha,)1039
1658 y(const)h(ARRAY)g(t,)i(int)e(ldt,)h(ARRAY)f(b,)i(int)f(ldb)f(\);)p
0 1858 3900 6 v 0 1971 a FK(SYRK)30 b(\(Symmetric)f(Rank)h(K)g(up)s
(date\))1009 b Fy(C)32 b FJ( )25 b Fy(\013AA)2848 1938
y Fw(T)2924 1971 y FK(+)20 b Fy(\014)5 b(C)i FK(,)30
b Fy(C)i FJ( )25 b Fy(\013A)3537 1938 y Fw(T)3593 1971
y Fy(A)20 b FK(+)g Fy(\014)5 b(C)141 2196 y FK(This)41
b(routine)h(p)s(erforms)f(one)i(of)g(the)g(symmetric)f(rank)g(k)h(op)s
(erations)f Fy(C)52 b FJ( )46 b Fy(\013AA)3214 2163 y
Fw(T)3298 2196 y FK(+)29 b Fy(\014)5 b(C)49 b FK(or)43
b Fy(C)52 b FJ( )0 2309 y Fy(\013A)126 2276 y Fw(T)182
2309 y Fy(A)20 b FK(+)g Fy(\014)5 b(C)37 b FK(where)29
b Fy(\013)i FK(and)f Fy(\014)35 b FK(are)c(scalars,)f
Fy(C)37 b FK(is)29 b(a)i(symmetric)e(matrix,)h(and)g
Fy(A)g FK(is)g(a)g(general)h(matrix.)40 b(This)0 2422
y(routine)35 b(returns)f(immediately)g(if)g Fv(alpha)g
FK(is)h(equal)g(to)h(zero)h(and)d Fv(b)s(eta)h FK(is)g(equal)g(to)h
(one,)h(or)f(if)e Fv(n)i FK(or)f Fv(k)h FK(is)f(less)0
2535 y(than)e(or)h(equal)f(to)h(zero.)51 b(If)33 b Fv(ldc)g
FK(is)g(less)g(than)g(one)h(or)f(less)g(than)g Fv(n)p
FK(,)i(an)e(error)g(\015ag)h(is)f(set)h(and)e(passed)i(to)g(the)0
2648 y(error)g(handler.)49 b(F)-8 b(or)35 b Fv(trans)e
FK(equal)g(to)i Fv(blas)p 1502 2648 28 4 v 32 w(no)p
1626 2648 V 33 w(trans)p FK(,)f(and)g(if)f Fv(lda)g FK(is)g(less)g
(than)h(one)g(or)g(less)f(than)h Fv(n)p FK(,)h(an)e(error)0
2761 y(\015ag)e(is)f(set)h(and)f(passed)g(to)h(the)g(error)f(handler.)
40 b(F)-8 b(or)31 b Fv(trans)f FK(equal)h(to)g Fv(blas)p
2616 2761 V 32 w(trans)p FK(,)f(and)g(if)g Fv(lda)g FK(is)f(less)h
(than)h(one)0 2874 y(or)f(less)g(than)g Fv(k)p FK(,)h(an)f(error)g
(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g(error)f(handler.)141
2987 y(These)43 b(in)m(terfaces)h(encompass)f(the)h(Legacy)h(BLAS)e
(routine)f(xSYRK)h(with)f(added)g(functionalit)m(y)g(for)0
3100 y(complex)30 b(symmetric)g(matrices.)136 3286 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
3506 y FD(SUBROUTINE)45 b(syrk\()i(a,)g(c)g([,)g(uplo])g([,)g(trans])f
([,)h(alpha])f([,)h(beta])g(\))514 3619 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(<aa>)514 3732 y(<type>\(<wp>\),)d(INTENT\(INOUT\))
g(::)j(c\(:,:\))514 3845 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(uplo)514 3958 y(TYPE)f(\(blas_trans_type\),)d
(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514 4071 y(<type>\(<wp>\),)c
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)418 4184
y(where)514 4297 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))418
4410 y(and)466 4523 y(c)g(has)g(shape)g(\(n,n\))466 4635
y(a)g(has)g(shape)g(\(n,k\))f(if)h(trans)g(=)g(blas_no_trans)d(\(the)j
(default\))1039 4748 y(\(k,n\))f(if)h(trans)g(/=)g(blas_no_trans)1039
4861 y(\(n\))g(if)g(rank)f(1)p 1300 4987 1528 4 v 1298
5100 4 113 v 1349 5066 a FK(Rank)31 b FD(a)p 1686 5100
V 99 w(trans)p 2025 5100 V 98 w FK(Op)s(eration)p 2826
5100 V 1300 5104 1528 4 v 1298 5217 4 113 v 1471 5183
a(2)p 1686 5217 V 307 w(N)p 2025 5217 V 185 w Fy(C)h
FJ( )25 b Fy(\013AA)2483 5150 y Fw(T)2559 5183 y FK(+)20
b Fy(\014)5 b(C)p 2826 5217 V 1298 5329 V 1471 5296 a
FK(2)p 1686 5329 V 308 w(T)p 2025 5329 V 186 w Fy(C)32
b FJ( )25 b Fy(\013A)2415 5263 y Fw(T)2471 5296 y Fy(A)20
b FK(+)g Fy(\014)5 b(C)p 2826 5329 V 1298 5442 V 1471
5408 a FK(1)p 1686 5442 V 326 w(-)p 2025 5442 V 204 w
Fy(C)32 b FJ( )25 b Fy(\013aa)2443 5375 y Fw(T)2519 5408
y FK(+)20 b Fy(\014)5 b(C)p 2826 5442 V 1300 5446 1528
4 v -214 64 a FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 90 100
90 99 bop 0 -165 a FK(90)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FK(The)e(functionalit)m(y)f
(of)i(xSYR)e(is)h(co)m(v)m(ered)i(b)m(y)e Fv(syrk)p FK(.)136
279 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
504 y FD(SUBROUTINE)45 b(BLAS_xSYRK\()f(UPLO,)j(TRANS,)f(N,)h(K,)g
(ALPHA,)f(A,)h(LDA,)g(BETA,)466 617 y($)1097 b(C,)48
b(LDC)e(\))514 730 y(INTEGER)570 b(K,)48 b(LDA,)e(LDC,)h(N,)g(TRANS,)f
(UPLO)514 843 y(<type>)618 b(ALPHA,)47 b(BETA)514 956
y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(C\()g(LDC,)g(*)g(\))136
1181 y FJ(\017)f FK(C)30 b(binding:)227 1406 y FD(void)47
b(BLAS_xsyrk\()e(enum)h(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1039 1518 y(enum)i(blas_trans_type)e(trans,)i
(int)h(n,)g(int)g(k,)g(SCALAR_IN)e(alpha,)1039 1631 y(const)h(ARRAY)g
(a,)i(int)e(lda,)h(SCALAR_IN)e(beta,)i(ARRAY)f(c,)h(int)g(ldc)g(\);)p
0 1856 3900 6 v 0 1969 a FK(HERK)30 b(\(Hermitian)f(Rank)i(K)f(up)s
(date\))998 b Fy(C)32 b FJ( )25 b Fy(\013AA)2824 1936
y Fw(H)2912 1969 y FK(+)20 b Fy(\014)5 b(C)i FK(,)30
b Fy(C)i FJ( )25 b Fy(\013A)3525 1936 y Fw(H)3593 1969
y Fy(A)20 b FK(+)g Fy(\014)5 b(C)141 2195 y FK(This)41
b(routine)h(p)s(erforms)f(one)i(of)g(the)f(Hermitian)g(rank)g(k)g(op)s
(erations)g Fy(C)53 b FJ( )45 b Fy(\013AA)3202 2162 y
Fw(H)3299 2195 y FK(+)28 b Fy(\014)5 b(C)49 b FK(or)43
b Fy(C)52 b FJ( )0 2308 y Fy(\013A)126 2275 y Fw(H)194
2308 y Fy(A)20 b FK(+)g Fy(\014)5 b(C)36 b FK(where)30
b Fy(\013)h FK(and)e Fy(\014)36 b FK(are)30 b(scalars,)h
Fy(C)36 b FK(is)29 b(a)i(Hermitian)e(matrix,)h(and)f
Fy(A)i FK(is)e(a)i(general)f(matrix.)40 b(This)0 2421
y(routine)35 b(returns)f(immediately)g(if)g Fv(alpha)g
FK(is)h(equal)g(to)h(zero)h(and)d Fv(b)s(eta)h FK(is)g(equal)g(to)h
(one,)h(or)f(if)e Fv(n)i FK(or)f Fv(k)h FK(is)f(less)0
2534 y(than)e(or)h(equal)f(to)h(zero.)51 b(If)33 b Fv(ldc)g
FK(is)g(less)g(than)g(one)h(or)f(less)g(than)g Fv(n)p
FK(,)i(an)e(error)g(\015ag)h(is)f(set)h(and)e(passed)i(to)g(the)0
2647 y(error)g(handler.)49 b(F)-8 b(or)35 b Fv(trans)e
FK(equal)g(to)i Fv(blas)p 1502 2647 28 4 v 32 w(no)p
1626 2647 V 33 w(trans)p FK(,)f(and)g(if)f Fv(lda)g FK(is)g(less)g
(than)h(one)g(or)g(less)f(than)h Fv(n)p FK(,)h(an)e(error)0
2760 y(\015ag)e(is)f(set)h(and)f(passed)g(to)h(the)g(error)f(handler.)
40 b(F)-8 b(or)31 b Fv(trans)f FK(equal)h(to)g Fv(blas)p
2616 2760 V 32 w(trans)p FK(,)f(and)g(if)g Fv(lda)g FK(is)f(less)h
(than)h(one)0 2873 y(or)f(less)g(than)g Fv(k)p FK(,)h(an)f(error)g
(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g(error)f(handler.)141
2985 y(These)g(in)m(terfaces)h(encompass)g(the)f(Legacy)i(BLAS)e
(routine)g(xHERK.)136 3198 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)418 3423 y FD(SUBROUTINE)45 b(herk\()i(a,)g(c)g([,)g
(uplo])g([,)g(trans])f([,)h(alpha])f([,)h(beta])g(\))514
3536 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(<aa>)514
3649 y(COMPLEX\(<wp>\),)d(INTENT\(INOUT\))g(::)j(c\(:,:\))514
3762 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 3875 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 3988 y(REAL\(<wp>\),)c(INTENT\(IN\),)h
(OPTIONAL)h(::)h(alpha,)f(beta)418 4100 y(where)514 4213
y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))418 4326
y(and)466 4439 y(c)g(has)g(shape)g(\(n,n\))466 4552 y(a)g(has)g(shape)g
(\(n,k\))f(if)h(trans)g(=)g(blas_no_trans)d(\(the)j(default\))1039
4665 y(\(k,n\))f(if)h(trans)g(/=)g(blas_no_trans)1039
4778 y(\(n\))g(if)g(rank)f(1)p 1294 4934 1541 4 v 1292
5047 4 113 v 1343 5013 a FK(Rank)31 b FD(a)p 1680 5047
V 99 w(trans)p 2019 5047 V 98 w FK(Op)s(eration)p 2832
5047 V 1294 5050 1541 4 v 1292 5163 4 113 v 1465 5129
a(2)p 1680 5163 V 307 w(N)p 2019 5163 V 185 w Fy(C)h
FJ( )25 b Fy(\013AA)2477 5096 y Fw(H)2565 5129 y FK(+)20
b Fy(\014)5 b(C)p 2832 5163 V 1292 5276 V 1465 5242 a
FK(2)p 1680 5276 V 308 w(T)p 2019 5276 V 186 w Fy(C)32
b FJ( )25 b Fy(\013A)2409 5209 y Fw(H)2477 5242 y Fy(A)20
b FK(+)g Fy(\014)5 b(C)p 2832 5276 V 1292 5389 V 1465
5355 a FK(1)p 1680 5389 V 326 w(-)p 2019 5389 V 204 w
Fy(C)32 b FJ( )25 b Fy(\013aa)2437 5322 y Fw(H)2525 5355
y FK(+)20 b Fy(\014)5 b(C)p 2832 5389 V 1294 5392 1541
4 v 4084 64 a FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 91 101
91 100 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(91)227 91 y(The)30 b(functionalit)m(y)f(of)i(xHER)f(is)f(co)m(v)m
(ered)j(b)m(y)e Fv(herk)p FK(.)136 274 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 485 y FD(SUBROUTINE)45
b(BLAS_xHERK\()f(UPLO,)j(TRANS,)f(N,)h(K,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)
f(C,)466 598 y($)1097 b(LDC)47 b(\))514 711 y(INTEGER)570
b(K,)48 b(LDA,)e(LDC,)h(N,)g(TRANS,)f(UPLO)514 824 y(<rtype>)570
b(ALPHA,)47 b(BETA)514 937 y(<ctype>)570 b(A\()48 b(LDA,)e(*)i(\),)f
(C\()g(LDC,)g(*)g(\))136 1147 y FJ(\017)f FK(C)30 b(binding:)227
1358 y FD(void)47 b(BLAS_xherk\()e(enum)h(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)d(uplo,)1039 1471 y(enum)i(blas_trans_type)e
(trans,)i(int)h(n,)g(int)g(k,)g(RSCALAR_IN)e(alpha,)1039
1584 y(const)h(CARRAY)g(a,)h(int)g(lda,)g(RSCALAR_IN)e(beta,)h(CARRAY)g
(c,)h(int)g(ldc)g(\);)p 0 1794 3900 6 v 0 1907 a FK(SY)p
124 1907 28 4 v 32 w(TRIDIA)m(G)p 560 1907 V 34 w(RK)30
b(\(Symmetric)f(Rank)i(K)f(up)s(date)f(with)g(symmetric)h(tridiagonal)f
(matrix\))2323 2083 y Fy(C)j FJ( )25 b Fy(\013AJ)9 b(A)2789
2050 y Fw(T)2865 2083 y FK(+)20 b Fy(\014)5 b(C)i FK(,)30
b Fy(C)i FJ( )25 b Fy(\013A)3478 2050 y Fw(T)3534 2083
y Fy(J)9 b(A)20 b FK(+)g Fy(\014)5 b(C)141 2259 y FK(This)38
b(routine)g(p)s(erforms)g(one)i(of)g(the)g(symmetric)e(rank)h(k)h(op)s
(erations)f Fy(C)47 b FJ( )40 b Fy(\013AJ)9 b(A)3230
2226 y Fw(T)3312 2259 y FK(+)26 b Fy(\014)5 b(C)47 b
FK(or)39 b Fy(C)47 b FJ( )0 2372 y Fy(\013A)126 2339
y Fw(T)182 2372 y Fy(J)9 b(A)22 b FK(+)h Fy(\014)5 b(C)40
b FK(where)33 b Fy(\013)h FK(and)f Fy(\014)39 b FK(are)34
b(scalars,)h Fy(C)40 b FK(is)33 b(a)h(symmetric)f(matrix,)h
Fy(A)g FK(is)f(a)h(general)g(matrix,)g(and)f Fy(J)0 2485
y FK(is)f(a)i(symmetric)e(tridiagonal)g(matrix.)49 b(This)31
b(routine)i(returns)f(immediately)f(if)h Fv(alpha)g FK(is)h(equal)g(to)
g(zero)i(and)0 2597 y Fv(b)s(eta)30 b FK(is)g(equal)h(to)h(one,)f(or)g
(if)f Fv(n)h FK(or)g Fv(k)h FK(is)e(less)g(than)h(or)g(equal)f(to)i
(zero.)44 b(If)30 b Fv(ldc)h FK(is)f(less)h(than)f(one)i(or)f(less)f
(than)h Fv(n)p FK(,)0 2710 y(an)j(error)g(\015ag)g(is)f(set)i(and)e
(passed)h(to)g(the)h(error)e(handler.)50 b(F)-8 b(or)35
b Fv(trans)e FK(equal)h(to)h Fv(blas)p 3024 2710 V 31
w(no)p 3147 2710 V 34 w(trans)p FK(,)f(and)g(if)f Fv(lda)g
FK(is)0 2823 y(less)h(than)g(one)h(or)g(less)e(than)i
Fv(n)p FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)
g(error)f(handler.)51 b(F)-8 b(or)36 b Fv(trans)d FK(equal)0
2936 y(to)g Fv(blas)p 266 2936 V 32 w(trans)p FK(,)g(and)f(if)g
Fv(lda)g FK(is)g(less)g(than)g(one)h(or)g(less)f(than)g
Fv(k)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)
g(error)0 3049 y(handler.)136 3247 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)418 3481 y FD(SUBROUTINE)45
b(sy_tridiag_rk\()f(a,)j(d,)g(e,)h(c)f([,)g(uplo])g([,)g(trans])f([,)h
(alpha])f(&)1659 3593 y([,)h(beta])g(\))514 3706 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(a\(:,:\))514 3819 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(d\(:\),)f(e\(:\))514 3932 y(<type>\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(c\(:,:\))514 4045 y(TYPE)f(\(blas_uplo_type\),)
d(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514 4158 y(TYPE)f
(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514
4271 y(<type>\(<wp>\),)c(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)
418 4384 y(where)466 4497 y(c)h(has)g(shape)g(\(n,n\))514
4610 y(if)g(trans)f(=)i(blas_no_trans)c(\(the)i(default\))657
4723 y(a)h(has)g(shape)g(\(n,k\))657 4835 y(d)g(has)g(shape)g(\(k\))657
4948 y(e)g(has)g(shape)g(\(k-1\))514 5061 y(if)g(trans)f(/=)h
(blas_no_trans)657 5174 y(a)g(has)g(shape)g(\(k,n\))657
5287 y(d)g(has)g(shape)g(\(n\))657 5400 y(e)g(has)g(shape)g(\(n-1\))
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 92 102
92 101 bop 0 -165 a FK(92)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)p 1270 3 1588 4 v 1268
116 4 113 v 1320 82 a FK(Rank)e FD(a)p 1657 116 V 99
w(trans)p 1995 116 V 99 w FK(Op)s(eration)p 2856 116
V 1270 120 1588 4 v 1268 232 4 113 v 1442 199 a(2)p 1657
232 V 307 w(N)p 1995 232 V 185 w Fy(C)h FJ( )26 b Fy(\013AJ)9
b(A)2513 166 y Fw(T)2589 199 y FK(+)20 b Fy(\014)5 b(C)p
2856 232 V 1268 345 V 1442 311 a FK(2)p 1657 345 V 308
w(T)p 1995 345 V 186 w Fy(C)31 b FJ( )26 b Fy(\013A)2386
279 y Fw(T)2441 311 y Fy(J)9 b(A)21 b FK(+)f Fy(\014)5
b(C)p 2856 345 V 1270 349 1588 4 v 136 550 a FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 769 y FD(SUBROUTINE)45
b(BLAS_xSY_TRIDIAG_RK\()d(UPLO,)k(TRANS,)g(N,)i(K,)f(ALPHA,)f(A,)h
(LDA,)g(D,)466 881 y($)1527 b(E,)47 b(BETA,)f(C,)i(LDC)f(\))514
994 y(INTEGER)570 b(K,)48 b(LDA,)e(LDC,)h(N,)g(TRANS,)f(UPLO)514
1107 y(<type>)618 b(ALPHA,)47 b(BETA)514 1220 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\),)f(C\()g(LDC,)g(*)g(\),)g(D\()h(*)f(\),)g(E\()
g(*)h(\))136 1439 y FJ(\017)e FK(C)30 b(binding:)227
1658 y FD(void)47 b(BLAS_xsy_tridiag_rk\()42 b(enum)47
b(blas_order_type)c(order,)k(enum)f(blas_uplo_type)e(uplo,)1468
1771 y(enum)j(blas_trans_type)c(trans,)k(int)f(n,)i(int)f(k,)1468
1884 y(SCALAR_IN)e(alpha,)i(const)f(ARRAY)g(a,)h(int)g(lda,)1468
1996 y(const)g(ARRAY)f(d,)h(const)f(ARRAY)h(e,)g(SCALAR_IN)e(beta,)1468
2109 y(ARRAY)i(c,)g(int)g(ldc)g(\);)p 0 2328 3900 6 v
0 2441 a FK(HE)p 135 2441 28 4 v 33 w(TRIDIA)m(G)p 572
2441 V 33 w(RK)30 b(\(Hermitian)g(Rank)g(K)g(up)s(date)f(with)g
(symmetric)h(tridiagonal)f(matrix\))2299 2623 y Fy(C)i
FJ( )25 b Fy(\013AJ)9 b(A)2764 2590 y Fw(H)2853 2623
y FK(+)20 b Fy(\014)5 b(C)i FK(,)30 b Fy(C)i FJ( )25
b Fy(\013A)3466 2590 y Fw(H)3534 2623 y Fy(J)9 b(A)20
b FK(+)g Fy(\014)5 b(C)141 2806 y FK(This)38 b(routine)g(p)s(erforms)g
(one)i(of)f(the)h(Hermitian)e(rank)h(k)g(op)s(erations)g
Fy(C)47 b FJ( )40 b Fy(\013AJ)9 b(A)3218 2773 y Fw(H)3313
2806 y FK(+)26 b Fy(\014)5 b(C)46 b FK(or)39 b Fy(C)47
b FJ( )0 2919 y Fy(\013A)126 2886 y Fw(H)194 2919 y Fy(J)9
b(A)23 b FK(+)f Fy(\014)5 b(C)40 b FK(where)33 b Fy(\013)h
FK(and)f Fy(\014)39 b FK(are)34 b(scalars,)h Fy(C)40
b FK(is)32 b(a)i(Hermitian)f(matrix,)h Fy(A)f FK(is)g(a)h(general)g
(matrix,)g(and)f Fy(J)0 3032 y FK(is)f(a)i(symmetric)e(tridiagonal)g
(matrix.)49 b(This)31 b(routine)i(returns)f(immediately)f(if)h
Fv(alpha)g FK(is)h(equal)g(to)g(zero)i(and)0 3145 y Fv(b)s(eta)30
b FK(is)g(equal)h(to)h(one,)f(or)g(if)f Fv(n)h FK(or)g
Fv(k)h FK(is)e(less)g(than)h(or)g(equal)f(to)i(zero.)44
b(If)30 b Fv(ldc)h FK(is)f(less)h(than)f(one)i(or)f(less)f(than)h
Fv(n)p FK(,)0 3257 y(an)j(error)g(\015ag)g(is)f(set)i(and)e(passed)h
(to)g(the)h(error)e(handler.)50 b(F)-8 b(or)35 b Fv(trans)e
FK(equal)h(to)h Fv(blas)p 3024 3257 V 31 w(no)p 3147
3257 V 34 w(trans)p FK(,)f(and)g(if)f Fv(lda)g FK(is)0
3370 y(less)h(than)g(one)h(or)g(less)e(than)i Fv(n)p
FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)g
(error)f(handler.)51 b(F)-8 b(or)36 b Fv(trans)d FK(equal)0
3483 y(to)g Fv(blas)p 266 3483 V 32 w(trans)p FK(,)g(and)f(if)g
Fv(lda)g FK(is)g(less)g(than)g(one)h(or)g(less)f(than)g
Fv(k)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)
g(error)0 3596 y(handler.)136 3802 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)418 4045 y FD(SUBROUTINE)45
b(he_tridiag_rk\()f(a,)j(d,)g(e,)h(c)f([,)g(uplo])g([,)g(trans])f([,)h
(alpha])f(&)1659 4158 y([,)h(beta])g(\))514 4271 y(COMPLEX\(<wp>\),)d
(INTENT\(IN\))h(::)i(a\(:,:\))514 4384 y(COMPLEX\(<wp>\),)d
(INTENT\(IN\))h(::)i(d\(:\),)f(e\(:\))514 4497 y(COMPLEX\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(c\(:,:\))514 4610 y(TYPE)f(\(blas_uplo_type\),)
d(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514 4723 y(TYPE)f
(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514
4835 y(REAL\(<wp>\),)c(INTENT\(IN\),)h(OPTIONAL)h(::)h(alpha,)f(beta)
418 4948 y(where)466 5061 y(c)h(has)g(shape)g(\(n,n\))466
5174 y(if)g(trans)f(=)i(blas_no_trans)c(\(the)j(default\))609
5287 y(a)h(has)e(shape)h(\(n,k\))609 5400 y(d)h(has)e(shape)h(\(k\))
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 93 103
93 102 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(93)609 91 y FD(e)48 b(has)e(shape)h(\(k-1\))466
204 y(if)g(trans)f(/=)i(blas_no_trans)609 317 y(a)g(has)e(shape)h
(\(k,n\))609 430 y(d)h(has)e(shape)h(\(n\))609 543 y(e)h(has)e(shape)h
(\(n-1\))p 1264 712 1600 4 v 1262 825 4 113 v 1314 791
a FK(Rank)30 b FD(a)p 1651 825 V 99 w(trans)p 1989 825
V 99 w FK(Op)s(eration)p 2862 825 V 1264 828 1600 4 v
1262 941 4 113 v 1435 907 a(2)p 1651 941 V 308 w(N)p
1989 941 V 185 w Fy(C)h FJ( )25 b Fy(\013AJ)9 b(A)2506
874 y Fw(H)2595 907 y FK(+)20 b Fy(\014)5 b(C)p 2862
941 V 1262 1054 V 1435 1020 a FK(2)p 1651 1054 V 309
w(T)p 1989 1054 V 186 w Fy(C)31 b FJ( )25 b Fy(\013A)2379
987 y Fw(H)2447 1020 y Fy(J)9 b(A)21 b FK(+)f Fy(\014)5
b(C)p 2862 1054 V 1264 1057 1600 4 v 136 1266 a FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 1491 y FD(SUBROUTINE)45
b(BLAS_xHE_TRIDIAG_RK\()d(UPLO,)k(TRANS,)g(N,)i(K,)f(ALPHA,)f(A,)h
(LDA,)466 1603 y($)1527 b(D,)47 b(E,)g(BETA,)g(C,)g(LDC)g(\))514
1716 y(INTEGER)570 b(K,)48 b(LDA,)e(LDC,)h(N,)g(TRANS,)f(UPLO)514
1829 y(<rtype>)570 b(ALPHA,)47 b(BETA)514 1942 y(<ctype>)570
b(A\()48 b(LDA,)e(*)i(\),)f(C\()g(LDC,)g(*)g(\),)g(D\()h(*)f(\),)g(E\()
g(*)h(\))136 2167 y FJ(\017)e FK(C)30 b(binding:)227
2392 y FD(void)47 b(BLAS_xhe_tridiag_rk\()42 b(enum)47
b(blas_order_type)c(order,)k(enum)f(blas_uplo_type)e(uplo,)1468
2505 y(enum)j(blas_trans_type)c(trans,)k(int)f(n,)i(int)f(k,)1468
2618 y(RSCALAR_IN)e(alpha,)h(const)h(CARRAY)f(a,)h(int)g(lda,)1468
2731 y(const)g(CARRAY)f(d,)h(const)f(CARRAY)g(e,)h(RSCALAR_IN)e(beta,)
1468 2844 y(CARRAY)h(c,)h(int)g(ldc)g(\);)p 0 3069 3900
6 v 0 3182 a FK(SYR2K)30 b(\(Symmetric)g(rank)g(2k)g(up)s(date\))1216
b Fy(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))p Fy(B)3168
3149 y Fw(T)3244 3182 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013A)p
FK(\))3605 3149 y Fw(T)3681 3182 y FK(+)20 b Fy(\014)5
b(C)2685 3369 y(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))3094
3336 y Fw(T)3151 3369 y Fy(B)f FK(+)c Fy(B)3409 3336
y Fw(T)3464 3369 y FK(\()p Fy(\013A)p FK(\))h(+)f Fy(\014)5
b(C)141 3557 y FK(These)39 b(routines)g(p)s(erform)f(the)i(symmetric)e
(rank)h(2k)h(op)s(eration)f Fy(C)47 b FJ( )40 b FK(\()p
Fy(\013A)p FK(\))p Fy(B)3023 3524 y Fw(T)3106 3557 y
FK(+)26 b Fy(B)5 b FK(\()p Fy(\013A)p FK(\))3473 3524
y Fw(T)3555 3557 y FK(+)26 b Fy(\014)5 b(C)46 b FK(or)0
3670 y Fy(C)33 b FJ( )26 b FK(\()p Fy(\013A)p FK(\))411
3637 y Fw(T)467 3670 y Fy(B)f FK(+)20 b Fy(B)726 3637
y Fw(T)781 3670 y FK(\()p Fy(\013A)p FK(\))i(+)e Fy(\014)5
b(C)37 b FK(where)31 b Fy(\013)g FK(and)f Fy(\014)36
b FK(are)c(scalars,)f Fy(C)37 b FK(is)30 b(a)h(symmetric)f(matrix,)h
(and)f Fy(A)h FK(and)f Fy(B)0 3783 y FK(are)k(general)f(matrices.)51
b(This)31 b(routine)i(returns)f(immediately)g(if)g Fv(alpha)h
FK(is)f(equal)i(to)g(zero)g(and)f Fv(b)s(eta)g FK(is)f(equal)0
3896 y(to)g(one,)g(or)f(if)f Fv(n)i FK(or)f Fv(k)h FK(is)e(less)g(than)
h(or)h(equal)e(to)i(zero.)45 b(If)30 b Fv(ldc)i FK(is)e(less)h(than)g
(one)g(or)g(less)g(than)g Fv(n)p FK(,)h(an)f(error)g(\015ag)0
4009 y(is)h(set)h(and)f(passed)h(to)g(the)g(error)g(handler.)46
b(F)-8 b(or)34 b Fv(trans)e FK(equal)g(to)i Fv(blas)p
2475 4009 28 4 v 32 w(no)p 2599 4009 V 33 w(trans)p FK(,)f(and)f(if)g
Fv(lda)g FK(is)g(less)g(than)h(one)0 4122 y(or)g(less)e(than)i
Fv(n)p FK(,)g(or)g(if)e Fv(ldb)h FK(is)g(less)g(than)g(one)h(or)f(less)
g(than)h Fv(n)p FK(,)g(an)f(error)h(\015ag)f(is)g(set)h(and)f(passed)g
(to)i(the)e(error)0 4234 y(handler.)38 b(F)-8 b(or)30
b Fv(trans)e FK(equal)g(to)h Fv(blas)p 1243 4234 V 32
w(trans)p FK(,)g(and)f(if)f Fv(lda)h FK(is)g(less)g(than)g(one)h(or)g
(less)f(than)g Fv(k)p FK(,)i(or)f(if)e Fv(ldb)i FK(is)e(less)h(than)0
4347 y(one)j(or)f(less)g(than)g Fv(k)p FK(,)h(an)f(error)g(\015ag)h(is)
e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)141
4460 y(These)39 b(in)m(terfaces)h(encompass)f(the)g(Legacy)i(BLAS)e
(routine)f(xSYR2K)h(with)f(added)h(functionalit)m(y)e(for)0
4573 y(complex)30 b(symmetric)g(matrices.)136 4786 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
5036 y FD(SUBROUTINE)45 b(syr2k\()h(a,)h(b,)h(c)f([,)g(uplo])g([,)g
(trans])f([,)h(alpha])f([,)h(beta])g(\))514 5149 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(<aa>,)f(<bb>)514 5261 y(<type>\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(c\(:,:\))514 5374 y(TYPE)f(\(blas_uplo_type\),)
d(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 94 104
94 103 bop 0 -165 a FK(94)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)514 91 y FD(TYPE)46
b(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514
204 y(<type>\(<wp>\),)c(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)
418 317 y(where)514 430 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))514
543 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))418 656
y(and)466 769 y(c)g(has)g(shape)g(\(n,n\))466 882 y(if)g(trans)f(=)i
(blas_no_trans)c(\(the)j(default\))609 995 y(a)h(has)e(shape)h(\(n,k\))
609 1108 y(b)h(has)e(shape)h(\(n,k\))466 1220 y(if)g(trans)f(/=)i
(blas_no_trans)609 1333 y(a)g(has)e(shape)h(\(k,n\))609
1446 y(b)h(has)e(shape)h(\(k,n\))p 920 1594 2289 4 v
918 1707 4 113 v 969 1673 a FK(Rank)31 b FD(a)p 1306
1707 V 99 w FK(Rank)f FD(b)p 1695 1707 V 99 w(trans)p
2033 1707 V 99 w FK(Op)s(eration)p 3206 1707 V 920 1710
2289 4 v 918 1823 4 113 v 1091 1789 a(2)p 1306 1823 V
344 w(2)p 1695 1823 V 307 w(N)p 2033 1823 V 185 w Fy(C)h
FJ( )26 b Fy(\013AB)2498 1756 y Fw(T)2573 1789 y FK(+)20
b Fy(\013B)5 b(A)2864 1756 y Fw(T)2939 1789 y FK(+)20
b Fy(\014)5 b(C)p 3206 1823 V 918 1936 V 1091 1902 a
FK(2)p 1306 1936 V 344 w(2)p 1695 1936 V 308 w(T)p 2033
1936 V 186 w Fy(C)31 b FJ( )26 b Fy(\013A)2424 1869 y
Fw(T)2479 1902 y Fy(B)f FK(+)20 b Fy(\013B)2796 1869
y Fw(T)2851 1902 y Fy(A)g FK(+)g Fy(\014)5 b(C)p 3206
1936 V 918 2049 V 1091 2015 a FK(1)p 1306 2049 V 344
w(1)p 1695 2049 V 326 w(-)p 2033 2049 V 204 w Fy(C)31
b FJ( )26 b Fy(\013ab)2443 1982 y Fw(T)2518 2015 y FK(+)20
b Fy(\013ba)2754 1982 y Fw(T)2830 2015 y FK(+)g Fy(\014)5
b(C)p 3206 2049 V 920 2052 2289 4 v 227 2239 a FK(The)30
b(functionalit)m(y)f(of)i(xSYR2)f(is)f(co)m(v)m(ered)j(b)m(y)f
Fv(syr2k)p FK(.)136 2421 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(77)h(binding:)514 2628 y FD(SUBROUTINE)45 b(BLAS_xSYR2K\()f(UPLO,)i
(TRANS,)h(N,)g(K,)g(ALPHA,)f(A,)h(LDA,)g(B,)g(LDB,)466
2741 y($)1145 b(BETA,)46 b(C,)i(LDC)f(\))514 2854 y(INTEGER)570
b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(N,)g(TRANS,)f(UPLO)514
2967 y(<type>)618 b(ALPHA,)47 b(BETA)514 3080 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\),)g(C\()h(LDC,)e(*)i(\))
136 3286 y FJ(\017)e FK(C)30 b(binding:)227 3493 y FD(void)47
b(BLAS_xsyr2k\()d(enum)j(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1086 3606 y(enum)j(blas_trans_type)d(trans,)i
(int)h(n,)g(int)g(k,)g(SCALAR_IN)e(alpha,)1086 3719 y(const)i(ARRAY)f
(a,)h(int)g(lda,)g(const)f(ARRAY)h(b,)g(int)g(ldb,)1086
3832 y(SCALAR_IN)f(beta,)g(ARRAY)g(c,)i(int)e(ldc)h(\);)p
0 4039 3900 6 v 0 4152 a FK(HER2K)30 b(\(Hermitian)g(rank)g(2k)g(up)s
(date\))1206 b Fy(C)32 b FJ( )25 b FK(\()p Fy(\013A)p
FK(\))p Fy(B)3144 4119 y Fw(H)3232 4152 y FK(+)20 b Fy(B)5
b FK(\()p Fy(\013A)p FK(\))3593 4119 y Fw(H)3681 4152
y FK(+)20 b Fy(\014)5 b(C)2661 4324 y(C)32 b FJ( )25
b FK(\()p Fy(\013A)p FK(\))3070 4291 y Fw(H)3138 4324
y Fy(B)g FK(+)20 b Fy(B)3397 4291 y Fw(H)3464 4324 y
FK(\()p Fy(\013A)p FK(\))h(+)f Fy(\014)5 b(C)141 4497
y FK(These)38 b(routines)g(p)s(erform)f(the)i(Hermitian)e(rank)h(2k)h
(op)s(eration)f Fy(C)46 b FJ( )38 b FK(\()p Fy(\013A)p
FK(\))p Fy(B)3002 4464 y Fw(H)3096 4497 y FK(+)26 b Fy(B)5
b FK(\()p Fy(\013A)p FK(\))3463 4464 y Fw(H)3556 4497
y FK(+)26 b Fy(\014)5 b(C)45 b FK(or)0 4610 y Fy(C)32
b FJ( )25 b FK(\()p Fy(\013A)p FK(\))409 4577 y Fw(H)478
4610 y Fy(B)f FK(+)c Fy(B)736 4577 y Fw(H)802 4610 y
FK(\()p Fy(\013A)p FK(\))i(+)d Fy(\014)5 b(C)37 b FK(where)30
b Fy(\013)h FK(and)e Fy(\014)36 b FK(are)30 b(scalars,)h
Fy(C)36 b FK(is)29 b(a)i(Hermitian)e(matrix,)h(and)g
Fy(A)g FK(and)f Fy(B)0 4723 y FK(are)34 b(general)f(matrices.)51
b(This)31 b(routine)i(returns)f(immediately)g(if)g Fv(alpha)h
FK(is)f(equal)i(to)g(zero)g(and)f Fv(b)s(eta)g FK(is)f(equal)0
4835 y(to)g(one,)g(or)f(if)f Fv(n)i FK(or)f Fv(k)h FK(is)e(less)g(than)
h(or)h(equal)e(to)i(zero.)45 b(If)30 b Fv(ldc)i FK(is)e(less)h(than)g
(one)g(or)g(less)g(than)g Fv(n)p FK(,)h(an)f(error)g(\015ag)0
4948 y(is)h(set)h(and)f(passed)h(to)g(the)g(error)g(handler.)46
b(F)-8 b(or)34 b Fv(trans)e FK(equal)g(to)i Fv(blas)p
2475 4948 28 4 v 32 w(no)p 2599 4948 V 33 w(trans)p FK(,)f(and)f(if)g
Fv(lda)g FK(is)g(less)g(than)h(one)0 5061 y(or)g(less)e(than)i
Fv(n)p FK(,)g(or)g(if)e Fv(ldb)h FK(is)g(less)g(than)g(one)h(or)f(less)
g(than)h Fv(n)p FK(,)g(an)f(error)h(\015ag)f(is)g(set)h(and)f(passed)g
(to)i(the)e(error)0 5174 y(handler.)38 b(F)-8 b(or)30
b Fv(trans)e FK(equal)g(to)h Fv(blas)p 1243 5174 V 32
w(trans)p FK(,)g(and)f(if)f Fv(lda)h FK(is)g(less)g(than)g(one)h(or)g
(less)f(than)g Fv(k)p FK(,)i(or)f(if)e Fv(ldb)i FK(is)e(less)h(than)0
5287 y(one)j(or)f(less)g(than)g Fv(k)p FK(,)h(an)f(error)g(\015ag)h(is)
e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)141
5400 y(These)g(in)m(terfaces)h(encompass)g(the)f(Legacy)i(BLAS)e
(routine)g(xHER2K.)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 95 105
95 104 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(95)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
341 y FD(SUBROUTINE)45 b(her2k\()h(a,)h(b,)h(c)f([,)g(uplo])g([,)g
(trans])f([,)h(alpha])f([,)h(beta])g(\))514 454 y(COMPLEX\(<wp>\),)d
(INTENT\(IN\))h(::)i(<aa>,)f(<bb>)514 567 y(COMPLEX\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(c\(:,:\))514 680 y(TYPE)f(\(blas_uplo_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514 793 y(TYPE)f
(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514
906 y(COMPLEX\(<wp>\),)c(INTENT\(IN\),)g(OPTIONAL)i(::)h(alpha)514
1019 y(REAL\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)h(::)h(beta)418
1132 y(where)514 1245 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))514
1357 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))418
1470 y(and)466 1583 y(c)g(has)g(shape)g(\(n,n\))466 1696
y(a)g(and)g(b)h(have)e(shape)h(\(n,k\))f(if)h(trans)g(=)g
(blas_no_trans)d(\(the)j(default\))1373 1809 y(\(k,n\))f(if)h(trans)g
(/=)g(blas_no_trans)1373 1922 y(\(n\))g(if)g(rank)f(1)p
907 2078 2313 4 v 905 2191 4 113 v 957 2157 a FK(Rank)30
b FD(a)p 1294 2191 V 100 w FK(Rank)g FD(b)p 1683 2191
V 99 w(trans)p 2021 2191 V 98 w FK(Op)s(eration)p 3218
2191 V 907 2194 2313 4 v 905 2307 4 113 v 1079 2273 a(2)p
1294 2307 V 343 w(2)p 1683 2307 V 307 w(N)p 2021 2307
V 185 w Fy(C)i FJ( )25 b Fy(\013AB)2485 2240 y Fw(H)2573
2273 y FK(+)k(\026)-54 b Fy(\013B)5 b(A)2864 2240 y Fw(H)2952
2273 y FK(+)19 b Fy(\014)5 b(C)p 3218 2307 V 905 2420
V 1079 2386 a FK(2)p 1294 2420 V 343 w(2)p 1683 2420
V 309 w(T)p 2021 2420 V 185 w Fy(C)32 b FJ( )25 b Fy(\013A)2411
2353 y Fw(H)2479 2386 y Fy(B)g FK(+)k(\026)-54 b Fy(\013B)2796
2353 y Fw(H)2863 2386 y Fy(A)21 b FK(+)e Fy(\014)5 b(C)p
3218 2420 V 905 2533 V 1079 2499 a FK(1)p 1294 2533 V
343 w(1)p 1683 2533 V 326 w(-)p 2021 2533 V 204 w Fy(C)32
b FJ( )25 b Fy(\013ab)2430 2466 y Fw(H)2518 2499 y FK(+)k(\026)-54
b Fy(\013)q(ba)2755 2466 y Fw(H)2842 2499 y FK(+)20 b
Fy(\014)5 b(C)p 3218 2533 V 907 2536 2313 4 v 227 2745
a FK(The)30 b(functionalit)m(y)f(of)i(xHER2)f(is)g(co)m(v)m(ered)i(b)m
(y)e Fv(her2k)p FK(.)136 2932 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(77)h(binding:)514 3157 y FD(SUBROUTINE)45
b(BLAS_xHER2K\()f(UPLO,)i(TRANS,)h(N,)g(K,)g(ALPHA,)f(A,)h(LDA,)g(B,)g
(LDB,)466 3270 y($)1145 b(BETA,)46 b(C,)i(LDC)f(\))514
3383 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(N,)g(TRANS,)f(UPLO)
514 3496 y(<ctype>)570 b(ALPHA)514 3609 y(<rtype>)g(BETA)514
3722 y(<ctype>)g(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\),)g(C\()h
(LDC,)e(*)i(\))136 3947 y FJ(\017)e FK(C)30 b(binding:)227
4172 y FD(void)47 b(BLAS_xher2k\()d(enum)j(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1086 4285 y(enum)j(blas_trans_type)d
(trans,)i(int)h(n,)g(int)g(k,)g(CSCALAR_IN)e(alpha,)1086
4398 y(const)i(CARRAY)f(A,)h(int)g(lda,)g(const)f(CARRAY)g(b,)h(int)g
(ldb,)1086 4511 y(RSCALAR_IN)e(beta,)i(CARRAY)f(c,)h(int)g(ldc)g(\);)p
0 4736 3900 6 v 0 4849 a FK(SY)p 124 4849 28 4 v 32 w(TRIDIA)m(G)p
560 4849 V 34 w(R2K)30 b(\(Symmetric)g(rank)g(2k)g(up)s(date)g(with)f
(symmetric)h(tridiagonal)f(matrix\))2567 5036 y Fy(C)j
FJ( )25 b FK(\()p Fy(\013AJ)9 b FK(\))p Fy(B)3109 5003
y Fw(T)3185 5036 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013AJ)k
FK(\))3605 5003 y Fw(T)3681 5036 y FK(+)20 b Fy(\014)5
b(C)2567 5149 y(C)32 b FJ( )25 b FK(\()p Fy(\013AJ)9
b FK(\))3035 5116 y Fw(T)3091 5149 y Fy(B)25 b FK(+)20
b Fy(B)3350 5116 y Fw(T)3405 5149 y FK(\()p Fy(\013AJ)9
b FK(\))21 b(+)f Fy(\014)5 b(C)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 96 106
96 105 bop 0 -165 a FK(96)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)141 91 y FK(These)g(routines)e(p)s
(erform)g(the)i(symmetric)f(rank)g(2k)h(op)s(eration)f
Fy(C)j FJ( )27 b FK(\()p Fy(\013AJ)9 b FK(\))p Fy(B)2993
58 y Fw(T)3070 91 y FK(+)21 b Fy(B)5 b FK(\()p Fy(\013AJ)k
FK(\))3491 58 y Fw(T)3568 91 y FK(+)21 b Fy(\014)5 b(C)38
b FK(or)0 204 y Fy(C)f FJ( )31 b FK(\()p Fy(\013AJ)9
b FK(\))479 171 y Fw(T)536 204 y Fy(B)27 b FK(+)22 b
Fy(B)799 171 y Fw(T)853 204 y FK(\()p Fy(\013AJ)9 b FK(\))24
b(+)f Fy(\014)5 b(C)40 b FK(where)33 b Fy(\013)h FK(and)f
Fy(\014)39 b FK(are)c(scalars,)f Fy(C)40 b FK(is)33 b(a)h(symmetric)f
(matrix,)h Fy(A)g FK(and)f Fy(B)0 317 y FK(are)h(general)g(matrices,)i
(and)d Fy(J)43 b FK(is)33 b(a)i(symmetric)e(tridiagonal)g(matrix.)51
b(This)32 b(routine)h(returns)g(immediately)0 430 y(if)d
Fv(alpha)h FK(is)f(equal)h(to)h(zero)h(and)e Fv(b)s(eta)f
FK(is)h(equal)g(to)h(one,)g(or)g(if)e Fv(n)h FK(or)h
Fv(k)g FK(is)e(less)h(than)g(or)h(equal)f(to)h(zero.)44
b(If)31 b Fv(ldc)h FK(is)0 543 y(less)i(than)g(one)h(or)g(less)e(than)i
Fv(n)p FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)
g(error)f(handler.)51 b(F)-8 b(or)36 b Fv(trans)d FK(equal)0
656 y(to)h Fv(blas)p 267 656 28 4 v 32 w(no)p 391 656
V 33 w(trans)p FK(,)f(and)g(if)f Fv(lda)g FK(is)g(less)g(than)h(one)g
(or)g(less)g(than)g Fv(n)p FK(,)g(or)g(if)f Fv(ldb)h
FK(is)f(less)h(than)f(one)i(or)f(less)f(than)h Fv(n)p
FK(,)0 769 y(an)f(error)f(\015ag)i(is)e(set)h(and)g(passed)f(to)i(the)f
(error)f(handler.)44 b(F)-8 b(or)33 b Fv(trans)e FK(equal)h(to)g
Fv(blas)p 2988 769 V 32 w(trans)p FK(,)g(and)f(if)g Fv(lda)h
FK(is)f(less)0 882 y(than)i(one)g(or)f(less)h(than)f
Fv(k)p FK(,)i(or)f(if)f Fv(ldb)g FK(is)g(less)g(than)h(one)g(or)g(less)
f(than)g Fv(k)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i(and)e(passed)g
(to)0 995 y(the)f(error)f(handler.)136 1207 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)418 1457 y FD(SUBROUTINE)45
b(sy_tridiag_r2k\()f(a,)j(d,)g(e,)g(b,)h(c)f([,)g(uplo])g([,)g(trans])f
(&)1707 1570 y([,)h(alpha])f([,)h(beta])g(\))514 1683
y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(a\(:,:\),)f(b\(:,:\))514
1796 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(d\(:\),)f(e\(:\))514
1909 y(<type>\(<wp>\),)e(INTENT\(INOUT\))g(::)j(c\(:,:\))514
2022 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 2134 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 2247 y(COMPLEX\(<wp>\),)c(INTENT\(IN\),)g
(OPTIONAL)i(::)h(alpha)514 2360 y(<type>\(<wp>\),)d(INTENT\(IN\),)h
(OPTIONAL)g(::)i(beta)418 2473 y(where)466 2586 y(c)g(has)g(shape)g
(\(n,n\))514 2699 y(if)g(trans)f(=)i(blas_no_trans)c(\(the)i(default\))
657 2812 y(a)h(and)g(b)h(have)e(shape)h(\(n,k\))657 2925
y(d)g(has)g(shape)g(\(k\))657 3038 y(e)g(has)g(shape)g(\(k-1\))514
3151 y(if)g(trans)f(/=)h(blas_no_trans)657 3264 y(a)g(and)g(b)h(have)e
(shape)h(\(k,n\))657 3377 y(d)g(has)g(shape)g(\(n\))657
3489 y(e)g(has)g(shape)g(\(n-1\))p 790 3658 2548 4 v
788 3771 4 113 v 839 3737 a FK(Rank)31 b FD(a)p 1177
3771 V 99 w FK(Rank)f FD(b)p 1565 3771 V 100 w(trans)p
1903 3771 V 98 w FK(Op)s(eration)p 3336 3771 V 790 3774
2548 4 v 788 3887 4 113 v 961 3853 a(2)p 1177 3887 V
344 w(2)p 1565 3887 V 307 w(N)p 1903 3887 V 185 w Fy(C)i
FJ( )25 b FK(\()p Fy(\013AJ)9 b FK(\))p Fy(B)2497 3821
y Fw(T)2573 3853 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013AJ)k
FK(\))2993 3821 y Fw(T)3069 3853 y FK(+)20 b Fy(\014)5
b(C)p 3336 3887 V 788 4000 V 961 3966 a FK(2)p 1177 4000
V 344 w(2)p 1565 4000 V 308 w(T)p 1903 4000 V 186 w Fy(C)32
b FJ( )25 b FK(\()p Fy(\013AJ)9 b FK(\))2423 3933 y Fw(T)2479
3966 y Fy(B)25 b FK(+)20 b Fy(B)2738 3933 y Fw(T)2792
3966 y FK(\()p Fy(\013AJ)9 b FK(\))22 b(+)e Fy(\014)5
b(C)p 3336 4000 V 790 4004 2548 4 v 136 4212 a FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 4437 y FD(SUBROUTINE)45
b(BLAS_xSY_TRIDIAG_R2K\()d(UPLO,)k(TRANS,)g(N,)h(K,)g(ALPHA,)g(A,)g
(LDA,)466 4550 y($)1575 b(D,)47 b(E,)g(B,)g(LDB,)g(BETA,)f(C,)h(LDC)g
(\))514 4663 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(N,)g(TRANS,)f
(UPLO)514 4776 y(<type>)618 b(ALPHA,)47 b(BETA)514 4889
y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\),)g(C\()h
(LDC,)e(*)i(\),)466 5002 y($)906 b(D\()48 b(*)f(\),)g(E\()g(*)h(\))136
5227 y FJ(\017)e FK(C)30 b(binding:)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 97 107
97 106 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(97)227 91 y FD(void)47 b(BLAS_xsy_tridiag_r2k\()42
b(enum)47 b(blas_order_type)c(order,)1516 204 y(enum)k(blas_uplo_type)c
(uplo,)1516 317 y(enum)k(blas_trans_type)c(trans,)j(int)h(n,)g(int)g
(k,)1516 430 y(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(a,)h(int)g(lda,)
1516 543 y(const)f(ARRAY)h(d,)g(const)f(ARRAY)h(e,)g(const)f(ARRAY)g
(b,)1516 656 y(int)h(ldb,)f(SCALAR_IN)g(beta,)g(ARRAY)g(c,)i(int)f(ldc)
f(\);)p 0 881 3900 6 v 0 994 a FK(HE)p 135 994 28 4 v
33 w(TRIDIA)m(G)p 572 994 V 33 w(R2K)31 b(\(Hermitian)e(rank)h(2k)h(up)
s(date)e(with)g(symmetric)h(tridiagonal)f(matrix\))2543
1181 y Fy(C)i FJ( )26 b FK(\()p Fy(\013AJ)9 b FK(\))p
Fy(B)3085 1148 y Fw(H)3173 1181 y FK(+)20 b Fy(B)5 b
FK(\()p Fy(\013AJ)k FK(\))3593 1148 y Fw(H)3681 1181
y FK(+)20 b Fy(\014)5 b(C)2543 1294 y(C)31 b FJ( )26
b FK(\()p Fy(\013AJ)9 b FK(\))3011 1261 y Fw(H)3079 1294
y Fy(B)25 b FK(+)20 b Fy(B)3338 1261 y Fw(H)3405 1294
y FK(\()p Fy(\013AJ)9 b FK(\))21 b(+)f Fy(\014)5 b(C)141
1482 y FK(These)30 b(routines)f(p)s(erform)f(the)j(symmetric)e(rank)g
(2k)i(op)s(eration)e Fy(C)j FJ( )25 b FK(\()p Fy(\013AJ)9
b FK(\))p Fy(B)2976 1449 y Fw(H)3064 1482 y FK(+)19 b
Fy(B)5 b FK(\()p Fy(\013AJ)k FK(\))3483 1449 y Fw(H)3571
1482 y FK(+)19 b Fy(\014)5 b(C)37 b FK(or)0 1595 y Fy(C)f
FJ( )30 b FK(\()p Fy(\013AJ)9 b FK(\))477 1562 y Fw(H)546
1595 y Fy(B)26 b FK(+)c Fy(B)808 1562 y Fw(H)875 1595
y FK(\()p Fy(\013AJ)9 b FK(\))23 b(+)f Fy(\014)5 b(C)40
b FK(where)32 b Fy(\013)i FK(and)e Fy(\014)38 b FK(are)c(scalars,)g
Fy(C)39 b FK(is)32 b(a)i(Hermitian)d(matrix,)j Fy(A)f
FK(and)f Fy(B)0 1708 y FK(are)i(general)g(matrices,)i(and)d
Fy(J)43 b FK(is)33 b(a)i(symmetric)e(tridiagonal)g(matrix.)51
b(This)32 b(routine)h(returns)g(immediately)0 1821 y(if)d
Fv(alpha)h FK(is)f(equal)h(to)h(zero)h(and)e Fv(b)s(eta)f
FK(is)h(equal)g(to)h(one,)g(or)g(if)e Fv(n)h FK(or)h
Fv(k)g FK(is)e(less)h(than)g(or)h(equal)f(to)h(zero.)44
b(If)31 b Fv(ldc)h FK(is)0 1934 y(less)i(than)g(one)h(or)g(less)e(than)
i Fv(n)p FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h
(the)g(error)f(handler.)51 b(F)-8 b(or)36 b Fv(trans)d
FK(equal)0 2046 y(to)h Fv(blas)p 267 2046 V 32 w(no)p
391 2046 V 33 w(trans)p FK(,)f(and)g(if)f Fv(lda)g FK(is)g(less)g(than)
h(one)g(or)g(less)g(than)g Fv(n)p FK(,)g(or)g(if)f Fv(ldb)h
FK(is)f(less)h(than)f(one)i(or)f(less)f(than)h Fv(n)p
FK(,)0 2159 y(an)f(error)f(\015ag)i(is)e(set)h(and)g(passed)f(to)i(the)
f(error)f(handler.)44 b(F)-8 b(or)33 b Fv(trans)e FK(equal)h(to)g
Fv(blas)p 2988 2159 V 32 w(trans)p FK(,)g(and)f(if)g
Fv(lda)h FK(is)f(less)0 2272 y(than)i(one)g(or)f(less)h(than)f
Fv(k)p FK(,)i(or)f(if)f Fv(ldb)g FK(is)g(less)g(than)h(one)g(or)g(less)
f(than)g Fv(k)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i(and)e(passed)g
(to)0 2385 y(the)f(error)f(handler.)136 2598 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)418 2848 y FD(SUBROUTINE)45
b(he_tridiag_r2k\()f(a,)j(d,)g(e,)g(b,)h(c)f([,)g(uplo])g([,)g(trans])f
(&)1707 2961 y([,)h(alpha])f([,)h(beta])g(\))514 3073
y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(a\(:,:\),)f(b\(:,:\))514
3186 y(COMPLEX\(<wp>\),)e(INTENT\(IN\))h(::)i(d\(:\),)f(e\(:\))514
3299 y(COMPLEX\(<wp>\),)e(INTENT\(INOUT\))g(::)j(c\(:,:\))514
3412 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 3525 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 3638 y(COMPLEX\(<wp>\),)c(INTENT\(IN\),)g
(OPTIONAL)i(::)h(alpha)514 3751 y(REAL\(<wp>\),)d(INTENT\(IN\),)h
(OPTIONAL)h(::)h(beta)418 3864 y(where)466 3977 y(c)g(has)g(shape)g
(\(n,n\))514 4090 y(if)g("trans")f(=)h(blas_no_trans)d(\(the)j
(default\))657 4203 y(a)g(and)g(b)h(have)e(shape)h(\(n,k\))657
4315 y(d)g(has)g(shape)g(\(k\))657 4428 y(e)g(has)g(shape)g(\(k-1\))514
4541 y(if)g("trans")f(/=)h(blas_no_trans)657 4654 y(a)g(and)g(b)h(have)
e(shape)h(\(k,n\))657 4767 y(d)g(has)g(shape)g(\(n\))657
4880 y(e)g(has)g(shape)g(\(n-1\))p 777 5049 2573 4 v
775 5162 4 113 v 827 5128 a FK(Rank)30 b FD(a)p 1164
5162 V 100 w FK(Rank)g FD(b)p 1553 5162 V 99 w(trans)p
1891 5162 V 99 w FK(Op)s(eration)p 3348 5162 V 777 5165
2573 4 v 775 5278 4 113 v 949 5244 a(2)p 1164 5278 V
344 w(2)p 1553 5278 V 307 w(N)p 1891 5278 V 185 w Fy(C)h
FJ( )25 b FK(\()p Fy(\013AJ)9 b FK(\))p Fy(B)2484 5211
y Fw(H)2573 5244 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013AJ)k
FK(\))2993 5211 y Fw(H)3081 5244 y FK(+)20 b Fy(\014)5
b(C)p 3348 5278 V 775 5391 V 949 5357 a FK(2)p 1164 5391
V 344 w(2)p 1553 5391 V 308 w(T)p 1891 5391 V 186 w Fy(C)31
b FJ( )25 b FK(\()p Fy(\013AJ)9 b FK(\))2410 5324 y Fw(H)2479
5357 y Fy(B)25 b FK(+)20 b Fy(B)2738 5324 y Fw(H)2805
5357 y FK(\()p Fy(\013AJ)9 b FK(\))21 b(+)f Fy(\014)5
b(C)p 3348 5391 V 777 5394 2573 4 v -214 64 a FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 98 108
98 107 bop 0 -165 a FK(98)1930 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)136 91 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 316 y FD(SUBROUTINE)45
b(BLAS_xHE_TRIDIAG_R2K\()d(UPLO,)k(TRANS,)g(N,)h(K,)g(ALPHA,)g(A,)g
(LDA,)466 429 y($)1575 b(D,)47 b(E,)g(B,)g(LDB,)g(BETA,)f(C,)h(LDC)g
(\))514 542 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(N,)g(TRANS,)f
(UPLO)514 655 y(<ctype>)570 b(ALPHA)514 768 y(<rtype>)g(BETA)514
881 y(<ctype>)g(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g(*)g(\),)g(C\()h
(LDC,)e(*)i(\),)466 994 y($)906 b(D\()48 b(*)f(\),)g(E\()g(*)h(\))136
1219 y FJ(\017)e FK(C)30 b(binding:)227 1444 y FD(void)47
b(BLAS_xhe_tridiag_r2k\()42 b(enum)47 b(blas_order_type)c(order,)1516
1557 y(enum)k(blas_uplo_type)c(uplo,)1516 1670 y(enum)k
(blas_trans_type)c(trans,)j(int)h(n,)g(int)g(k,)1516
1782 y(CSCALAR_IN)e(alpha,)h(const)g(CARRAY)g(a,)i(int)f(lda,)1516
1895 y(const)f(CARRAY)g(d,)i(const)e(CARRAY)g(e,)h(const)g(CARRAY)f(b,)
1516 2008 y(int)h(ldb,)f(RSCALAR_IN)f(beta,)i(CARRAY)f(c,)h(int)g(ldc)g
(\);)p 0 2233 3900 6 v 0 2477 a Fx(2.8.9)97 b(Data)32
b(Movement)h(with)g(Matrices)0 2648 y FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 2648 28 4 v 35 w FK(COPY)30
b(\(Matrix)g(cop)m(y\))668 b Fy(B)30 b FJ( )25 b Fy(A)p
FK(,)31 b Fy(B)f FJ( )25 b Fy(A)3439 2615 y Fw(T)3494
2648 y FK(,)31 b Fy(B)e FJ( )d Fy(A)3833 2615 y Fw(H)141
2874 y FK(This)31 b(routine)h(copies)h(a)h(matrix)e(\(or)h(its)g
(transp)s(ose)f(or)h(conjugate-transp)s(ose\))i Fy(A)e
FK(and)f(stores)i(the)f(result)0 2987 y(in)27 b(a)i(matrix)f
Fy(B)5 b FK(.)39 b(Matrices)29 b Fy(A)g FK(and)e Fy(B)33
b FK(ha)m(v)m(e)d(the)e(same)h(storage)h(format.)40 b(This)27
b(routine)g(returns)h(immediately)0 3100 y(if)e Fv(m)i
FK(\(for)g(nonsymmetric)e(matrices\),)j Fv(n)p FK(,)f
Fv(k)g FK(\(for)f(symmetric)g(band)g(matrices\),)h(or)g
Fv(kl)g FK(or)f Fv(ku)h FK(\(for)g(general)f(band)0 3213
y(matrices\),)35 b(is)e(less)g(than)g(or)h(equal)f(to)h(zero.)52
b(F)-8 b(or)34 b(the)g(routine)f Fv(GE)p 2383 3213 V
32 w(COPY)p FK(,)h(if)f Fv(trans)g FK(equal)g(to)h Fv(blas)p
3533 3213 V 32 w(no)p 3657 3213 V 33 w(trans)p FK(,)0
3326 y(and)i(if)g Fv(lda)f FK(is)h(less)g(than)g(one)h(or)g(less)f
(than)g Fv(m)p FK(,)j(or)d(if)g Fv(ldb)g FK(is)f(less)h(than)h(one)g
(or)f(less)g(than)g Fv(m)p FK(,)j(an)d(error)h(\015ag)0
3439 y(is)f(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)60
b(F)-8 b(or)38 b(the)f(routine)g Fv(GE)p 2397 3439 V
32 w(COPY)p FK(,)h(if)e Fv(trans)g FK(equal)h(to)h Fv(blas)p
3565 3439 V 32 w(trans)f FK(or)0 3552 y Fv(blas)p 153
3552 V 32 w(conj)p 341 3552 V 34 w(trans)p FK(,)d(and)g(if)f
Fv(lda)g FK(is)g(less)h(than)g(one)g(or)g(less)g(than)f
Fv(m)p FK(,)j(or)e(if)f Fv(ldb)h FK(is)f(less)g(than)h(one)g(or)h(less)
e(than)h Fv(n)p FK(,)0 3665 y(an)g(error)f(\015ag)h(is)f(set)i(and)e
(passed)g(to)i(the)f(error)f(handler.)49 b(F)-8 b(or)35
b(the)f(routine)f Fv(GB)p 2890 3665 V 32 w(COPY)p FK(,)g(if)g
Fv(lda)g FK(is)g(less)g(than)0 3777 y Fv(kl)f FK(plus)e
Fv(ku)j FK(plus)d(one,)j(or)f(if)f Fv(ldb)g FK(is)g(less)h(than)g
Fv(kl)g FK(plus)e Fv(ku)i FK(plus)e(one,)j(an)f(error)g(\015ag)g(is)f
(set)i(and)e(passed)h(to)h(the)0 3890 y(error)g(handler.)47
b(F)-8 b(or)34 b(the)g(routines)e Fv(SY)p 1393 3890 V
32 w(COPY)h FK(and)f Fv(TR)p 2002 3890 V 33 w(COPY)p
FK(,)h(if)f Fv(lda)h FK(is)f(less)g(than)h(one)h(or)f(less)g(than)g
Fv(n)p FK(,)h(or)0 4003 y(if)e Fv(ldb)h FK(is)g(less)g(than)g(one)h(or)
f(less)g(than)g Fv(n)p FK(,)i(an)e(error)g(\015ag)h(is)e(set)i(and)f
(passed)g(to)i(the)e(error)g(handler.)49 b(F)-8 b(or)34
b(the)0 4116 y(routines)28 b Fv(SB)p 465 4116 V 32 w(COPY)h
FK(and)g Fv(TB)p 1069 4116 V 32 w(COPY)p FK(,)g(if)f
Fv(lda)h FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(or)g(if)e
Fv(ldb)h FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(an)0
4229 y(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g
(handler.)136 4442 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 4692 y FD(General:)418 4804 y(SUBROUTINE)45
b(ge_copy\()h(a,)h(b)g([,)h(trans])e(\))227 4917 y(General)g(Band:)418
5030 y(SUBROUTINE)f(gb_copy\()h(a,)h(b,)g(m,)g(kl)g([,)h(trans])e(\))
227 5143 y(Symmetric:)418 5256 y(SUBROUTINE)f(sy_copy\()h(a,)h(b)g([,)h
(uplo])e(\))227 5369 y(Symmetric)g(Band:)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 99 109
99 108 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2578
b FK(99)418 91 y FD(SUBROUTINE)45 b(sb_copy\()h(a,)h(b)g([,)h(uplo])e
(\))227 204 y(Symmetric)g(Packed:)418 317 y(SUBROUTINE)f(sp_copy\()h
(ap,)h(bp)g([,)g(uplo])f(\))227 430 y(Triangular:)418
543 y(SUBROUTINE)f(tr_copy\()h(a,)h(b)g([,)h(uplo])e([,trans])f([,)j
(diag])e(\))227 656 y(Triangular)f(Band:)418 769 y(SUBROUTINE)g
(tb_copy\()h(a,)h(b)g([,)h(uplo])e([,trans])f([,)j(diag])e(\))227
882 y(Triangular)f(Packed:)418 995 y(SUBROUTINE)g(tp_copy\()h(ap,)h(bp)
g([,)g(uplo])f([,trans])g([,)h(diag])f(\))227 1108 y(all:)514
1220 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(a\(:,:\))f(or)h(ap\(:\))
514 1333 y(<type>\(<wp>\),)d(INTENT\(OUT\))h(::)i(b\(:,:\))f(or)h
(bp\(:\))514 1446 y(INTEGER,)e(INTENT\(IN\))g(::)i(m,)h(kl)514
1559 y(TYPE)e(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1672 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1785 y(TYPE)e(\(blas_diag_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(diag)418 1898 y(where)561
2011 y(a)h(and)f(b)g(have)g(shape)f(\(n,n\))h(for)f(symmetric)g(or)h
(triangular)1516 2124 y(\(k+1,n\))f(for)h(symmetric)e(banded)h(or)h
(triangular)1945 2237 y(banded)g(\(k=band)e(width\))561
2350 y(ap)j(and)e(bp)i(have)e(shape)h(\(n*\(n+1\)/2\).)418
2462 y(For)g(a)h(general)d(or)j(general)d(banded)h(matrix:)466
2575 y(If)h(trans)f(=)i(blas_no_trans)c(\(the)j(default\))609
2688 y(a,)g(b)h(have)e(shape)h(\(m,n\))f(for)h(general)f(matrix)1373
2801 y(\(l,n\))g(for)h(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))466
2914 y(If)f(trans)f(\\=)i(blas_no_trans)609 3027 y(a)g(has)e(shape)h
(\(m,n\))f(and)h(b)h(has)e(shape)h(\(n,m\))f(for)h(general)f(matrix)
1182 3140 y(\(l,n\))g(and)h(b)h(has)e(shape)h(\(l,m\))f(for)h(general)f
(banded)g(matrix)g(\(l)h(>)h(kl\))136 3378 y FJ(\017)e
FK(F)-8 b(ortran)31 b(77)h(binding:)227 3593 y FD(General:)514
3706 y(SUBROUTINE)45 b(BLAS_xGE_COPY\()f(TRANS,)i(M,)h(N,)g(A,)g(LDA,)g
(B,)g(LDB)g(\))227 3819 y(General)f(Band:)514 3932 y(SUBROUTINE)f
(BLAS_xGB_COPY\()f(TRANS,)i(M,)h(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(B,)g(LDB)
g(\))227 4045 y(Symmetric:)514 4158 y(SUBROUTINE)e(BLAS_xSY_COPY\()f
(UPLO,)i(N,)h(A,)g(LDA,)g(B,)g(LDB)g(\))227 4271 y(Symmetric)f(Band:)
514 4384 y(SUBROUTINE)f(BLAS_xSB_COPY\()f(UPLO,)i(N,)h(K,)g(A,)g(LDA,)g
(B,)g(LDB)g(\))227 4497 y(Symmetric)f(Packed:)514 4610
y(SUBROUTINE)f(BLAS_xSP_COPY\()f(UPLO,)i(N,)h(AP,)g(BP)g(\))227
4723 y(Triangular:)514 4835 y(SUBROUTINE)e(BLAS_xTR_COPY\()f(UPLO,)i
(TRANS,)g(DIAG,)g(N,)i(A,)f(LDA,)f(B,)i(LDB)e(\))227
4948 y(Triangular)f(Band:)514 5061 y(SUBROUTINE)g(BLAS_xTB_COPY\()f
(UPLO,)i(TRANS,)g(DIAG,)g(N,)i(K,)f(A,)g(LDA,)g(B,)466
5174 y($)1241 b(LDB)46 b(\))227 5287 y(Triangular)f(Packed:)514
5400 y(SUBROUTINE)g(BLAS_xTP_COPY\()f(UPLO,)i(TRANS,)g(DIAG,)g(N,)i
(AP,)e(BP)i(\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 100 110
100 109 bop 0 -165 a FK(100)1885 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)227 91 y FD(all:)514
204 y(INTEGER)570 b(DIAG,)47 b(LDA,)f(LDB,)h(N,)g(K,)g(KL,)g(KU,)g
(TRANS,)f(UPLO)514 317 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)g
(AP\()g(*)h(\),)f(B\()g(LDB,)g(*)g(\))h(or)f(BP\()g(*)g(\))136
541 y FJ(\017)f FK(C)30 b(binding:)227 765 y FD(General:)227
878 y(void)47 b(BLAS_xge_copy\()d(enum)i(blas_order_type)e(order,)i
(enum)h(blas_trans_type)c(trans,)1182 990 y(int)k(m,)g(int)g(n,)g
(const)f(ARRAY)h(a,)g(int)g(lda,)f(ARRAY)h(b,)g(int)g(ldb)g(\);)227
1103 y(General)f(Band:)227 1216 y(void)h(BLAS_xgb_copy\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_trans_type)c(trans,)1182
1329 y(int)k(m,)g(int)g(n,)g(int)g(kl,)g(int)g(ku,)g(const)f(ARRAY)g
(a,)i(int)e(lda,)1182 1442 y(ARRAY)g(b,)h(int)g(ldb)g(\);)227
1555 y(Symmetric:)227 1668 y(void)g(BLAS_xsy_copy\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1182
1781 y(int)j(n,)g(const)f(ARRAY)h(a,)g(int)g(lda,)f(ARRAY)h(b,)g(int)g
(ldb)g(\);)227 1894 y(Symmetric)f(Band:)227 2007 y(void)h
(BLAS_xsb_copy\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1182 2120 y(int)j(n,)g(int)g(k,)g(const)f
(ARRAY)h(a,)g(int)g(lda,)f(ARRAY)h(b,)g(int)g(ldb)g(\);)227
2232 y(Symmetric)f(Packed:)227 2345 y(void)h(BLAS_xsp_copy\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1182
2458 y(int)j(n,)g(const)f(ARRAY)h(ap,)g(ARRAY)f(bp)h(\);)227
2571 y(Triangular:)227 2684 y(void)g(BLAS_xtr_copy\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1182
2797 y(enum)i(blas_trans_type)e(trans,)i(enum)h(blas_diag_type)d(diag,)
1182 2910 y(int)j(n,)g(const)f(ARRAY)h(a,)g(int)g(lda,)f(ARRAY)h(b,)g
(int)g(ldb)g(\);)227 3023 y(Triangular)e(Band:)227 3136
y(void)i(BLAS_xtb_copy\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1182 3249 y(enum)i(blas_trans_type)e(trans,)i
(enum)h(blas_diag_type)d(diag,)1182 3362 y(int)j(n,)g(int)g(k,)g(const)
f(ARRAY)h(a,)g(int)g(lda,)f(ARRAY)h(b,)g(int)g(ldb)g(\);)227
3474 y(Triangular)e(Packed:)227 3587 y(void)i(BLAS_xtp_copy\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1182
3700 y(enum)i(blas_trans_type)e(trans,)i(enum)h(blas_diag_type)d(diag,)
1182 3813 y(int)j(n,)g(const)f(ARRAY)h(ap,)g(ARRAY)f(bp)h(\);)p
0 4037 3900 6 v 0 4150 a FJ(f)p FK(HE,HB,HP)p FJ(g)p
537 4150 28 4 v 35 w FK(COPY)30 b(\(Matrix)g(cop)m(y\))2199
b Fy(B)30 b FJ( )25 b Fy(A)141 4376 y FK(This)35 b(routine)h(copies)g
(a)i(Hermitian)d(matrix)h Fy(A)h FK(and)f(stores)h(the)g(result)f(in)f
(a)j(matrix)e Fy(B)5 b FK(.)59 b(This)35 b(routine)0
4489 y(returns)30 b(immediately)g(if)g Fv(n)h FK(or)h
Fv(k)f FK(is)g(less)g(than)g(or)g(equal)g(to)h(zero.)45
b(F)-8 b(or)32 b(the)f(routine)g Fv(HE)p 3114 4489 V
33 w(COPY)p FK(,)g(if)g Fv(lda)f FK(is)h(less)0 4602
y(than)h(one)h(or)g(less)f(than)g Fv(n)p FK(,)h(or)g(if)f
Fv(ldb)g FK(is)f(less)h(than)h(one)g(or)f(less)g(than)g
Fv(n)p FK(,)i(an)e(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)0
4714 y(the)h(error)f(handler.)46 b(F)-8 b(or)33 b(the)g(routine)f
Fv(HB)p 1525 4714 V 33 w(COPY)p FK(,)g(if)g Fv(lda)g
FK(is)g(less)g(than)g Fv(k)h FK(plus)e(one,)j(or)e(if)g
Fv(ldb)g FK(is)g(less)g(than)h Fv(k)0 4827 y FK(plus)28
b(one,)j(an)g(error)f(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g
(error)f(handler.)136 5039 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 5287 y FD(Hermitian:)418 5400 y(SUBROUTINE)45
b(he_copy\()h(a,)h(b)g([,)h(uplo])e(\))4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 101 111
101 110 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(101)227 91 y FD(Hermitian)46 b(Band:)418 204 y(SUBROUTINE)f
(hb_copy\()h(a,)h(b)g([,)h(uplo])e(\))227 317 y(Hermitian)g(Packed:)418
430 y(SUBROUTINE)f(hp_copy\()h(ap,)h(bp)g([,)g(uplo])f(\))227
543 y(all:)514 656 y(COMPLEX\(<wp>\),)e(INTENT\(IN\))h(::)i(a\(:,:\))f
(or)h(ap\(:\))514 769 y(COMPLEX\(<wp>\),)d(INTENT\(OUT\))g(::)j
(b\(:,:\))g(or)g(bp\(:\))514 882 y(TYPE)f(\(blas_uplo_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)418 995 y(where)609
1108 y(a)h(and)e(b)i(have)f(shape)f(\(n,n\))1516 1220
y(\(k+1,n\))g(for)h(banded)f(\(k=band)g(width\))609 1333
y(ap)h(and)g(bp)g(have)g(shape)f(\(n*\(n+1\)/2\).)136
1579 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)227
1799 y FD(Hermitian:)514 1912 y(SUBROUTINE)45 b(BLAS_xHE_COPY\()f
(UPLO,)i(N,)h(A,)g(LDA,)g(B,)g(LDB)g(\))227 2025 y(Hermitian)f(Band:)
514 2138 y(SUBROUTINE)f(BLAS_xHB_COPY\()f(UPLO,)i(N,)h(K,)g(A,)g(LDA,)g
(B,)g(LDB)g(\))227 2251 y(Hermitian)f(Packed:)514 2364
y(SUBROUTINE)f(BLAS_xHP_COPY\()f(UPLO,)i(N,)h(AP,)g(BP)g(\))227
2477 y(all:)514 2590 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(N,)g(UPLO)
514 2703 y(<ctype>)570 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\),)f
(B\()g(LDB,)g(*)g(\))h(or)f(BP\()g(*)g(\))136 2924 y
FJ(\017)f FK(C)30 b(binding:)227 3145 y FD(Hermitian:)227
3258 y(void)47 b(BLAS_xhe_copy\()d(enum)i(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)d(uplo,)1182 3370 y(int)j(n,)g(const)f(CARRAY)g
(a,)i(int)e(lda,)h(CARRAY)f(b,)h(int)g(ldb)g(\);)227
3483 y(Hermitian)f(Band:)227 3596 y(void)h(BLAS_xhb_copy\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1182
3709 y(int)j(n,)g(int)g(k,)g(const)f(CARRAY)g(a,)i(int)f(lda,)f(CARRAY)
g(b,)h(int)g(ldb)g(\);)227 3822 y(Hermitian)f(Packed:)227
3935 y(void)h(BLAS_xhp_copy\()d(enum)i(blas_order_type)e(order,)i(enum)
h(blas_uplo_type)d(uplo,)1182 4048 y(int)j(n,)g(const)f(CARRAY)g(ap,)h
(CARRAY)f(bp)i(\);)p 0 4269 3900 6 v 0 4382 a FK(GE)p
138 4382 28 4 v 33 w(TRANS)30 b(\(Matrix)g(transp)s(osition\))1757
b Fy(A)25 b FJ( )g Fy(A)3444 4349 y Fw(T)3499 4382 y
FK(,)31 b Fy(A)25 b FJ( )h Fy(A)3833 4349 y Fw(H)141
4608 y FK(This)34 b(routine)g(p)s(erforms)g(the)h(matrix)g(transp)s
(osition)e(or)i(conjugate-transp)s(osition)g(of)g(a)h(square)f(matrix)0
4721 y Fy(A)p FK(,)30 b(o)m(v)m(erwriting)e(the)h(matrix)g
Fy(A)p FK(.)40 b(This)27 b(routine)h(returns)g(immediately)f(if)h
Fv(n)h FK(is)f(less)g(than)h(or)g(equal)g(to)g(zero.)41
b(If)0 4833 y Fv(lda)30 b FK(is)f(less)h(than)g(one)h(or)f(less)g(than)
g Fv(n)p FK(,)g(an)h(error)e(\015ag)i(is)f(set)h(and)e(passed)h(to)h
(the)g(error)f(handler.)136 5042 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)418 5287 y FD(SUBROUTINE)45
b(ge_trans\()g(a)j([,)f(conj])f(\))514 5400 y(<type>\(<wp>\),)e
(INTENT\(INOUT\))g(::)j(a\(:,:\))-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 102 112
102 111 bop 0 -165 a FK(102)1885 b FA(CHAPTER)30 b(2.)71
b(DENSE)30 b(AND)h(BANDED)h(BLAS)514 91 y FD(TYPE)46
b(\(blas_conj_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h(conj)418
204 y(where)514 317 y(a)g(has)g(shape)f(\(n,n\))136 567
y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514 792
y FD(SUBROUTINE)45 b(BLAS_xGE_TRANS\()e(CONJ,)k(N,)g(A,)g(LDA)g(\))514
905 y(INTEGER)570 b(CONJ,)47 b(LDA,)f(N)514 1018 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\))136 1243 y FJ(\017)e FK(C)30
b(binding:)227 1468 y FD(void)47 b(BLAS_xge_trans\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_conj_type)c(conj,)1230
1581 y(int)j(n,)i(ARRAY)e(a,)h(int)g(lda)g(\);)p 0 1806
3900 6 v 0 1919 a FK(GE)p 138 1919 28 4 v 33 w(PERMUTE)30
b(\(P)m(erm)m(ute)h(matrix\))1669 b Fy(A)25 b FJ( )g
Fy(P)13 b(A)p FK(,)31 b(or)f Fy(A)c FJ( )f Fy(AP)141
2144 y FK(This)30 b(routine)h(p)s(erm)m(utes)g(the)h(ro)m(ws)g(or)f
(columns)g(of)h(a)g(matrix)f(\()p Fy(A)d FJ( )f Fy(P)13
b(A)32 b FK(or)g Fy(A)c FJ( )f Fy(AP)13 b FK(\))32 b(b)m(y)g(the)g(p)s
(erm)m(u-)0 2257 y(tation)27 b(matrix)g Fy(P)13 b FK(.)40
b(The)26 b(represen)m(tation)h(of)h(the)f(p)s(erm)m(utation)f(v)m
(ector)j Fy(p)e FK(is)f(describ)s(ed)f(in)h(section)h(2.2.6.)42
b(This)0 2370 y(routine)32 b(returns)h(immediately)e(if)i
Fv(m)g FK(or)h Fv(n)f FK(is)f(less)h(than)g(or)h(equal)f(to)h(zero.)50
b(As)34 b(describ)s(ed)d(in)h(section)i(2.5.3,)0 2483
y(the)29 b(v)-5 b(alue)29 b Fv(incp)h FK(less)e(than)h(zero)h(is)f(p)s
(ermitted.)39 b(Ho)m(w)m(ev)m(er,)31 b(if)e Fv(incp)g
FK(is)f(equal)h(to)h(zero,)h(an)e(error)g(\015ag)g(is)g(set)h(and)0
2596 y(passed)e(to)i(the)f(error)f(handler.)38 b(If)29
b Fv(lda)f FK(is)f(less)h(than)h(one)g(or)g(less)f(than)g
Fv(m)p FK(,)i(an)e(error)h(\015ag)g(is)f(set)h(and)f(passed)g(to)0
2709 y(the)i(error)f(handler.)38 b(F)-8 b(or)30 b(the)g(C)f(bindings,)e
(if)h FD(order)46 b(=)i(blas)p 2205 2709 29 4 v 33 w(rowmajor)27
b FK(and)i(if)f Fv(lda)h FK(is)g(less)f(than)i(one)f(or)h
Fv(lda)0 2822 y FK(is)g(less)h(than)f Fv(n)p FK(,)i(an)f(error)g
(\015ag)g(is)f(set)i(and)e(passed)h(to)h(the)f(error)g(handler;)f(if)g
FD(order)46 b(=)h(blas)p 3313 2822 V 34 w(colmajor)29
b FK(and)0 2935 y(if)g Fv(lda)h FK(is)f(less)h(than)g(one)h(or)f
Fv(lda)g FK(is)f(less)h(than)g Fv(m)p FK(,)h(an)f(error)g(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)136
3147 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
3397 y FD(SUBROUTINE)45 b(ge_permute\()g(p,)i(a)h([,)f(side])f(\))514
3510 y(INTEGER,)f(INTENT\(IN\))g(::)i(p\(:\))514 3623
y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(a\(:,:\))514
3736 y(TYPE)f(\(blas_side_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(side)418 3849 y(where)514 3962 y(a)g(has)g(shape)f(\(m,n\))514
4075 y(d)h(has)g(shape)f(\(p\))h(where)g(p)g(=)h(m)f(if)g(side)g(=)g
(blas_left_side)1564 4188 y(p)g(=)h(n)f(if)g(side)g(=)g
(blas_right_side)136 4438 y FJ(\017)f FK(F)-8 b(ortran)31
b(77)h(binding:)514 4663 y FD(SUBROUTINE)45 b(BLAS_xGE_PERMUTE\()e
(SIDE,)j(M,)h(N,)g(P,)h(INCP,)e(A,)h(LDA)g(\))514 4775
y(INTEGER)570 b(INCP,)47 b(LDA,)f(M,)i(N,)f(SIDE)514
4888 y(INTEGER)570 b(P\()48 b(*)f(\))514 5001 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\))227 5226 y FK(The)30 b(v)-5
b(alue)30 b(of)h FD(INCP)f FK(ma)m(y)h(b)s(e)f(p)s(ositiv)m(e)f(or)i
(negativ)m(e.)43 b(A)30 b(negativ)m(e)i(v)-5 b(alue)30
b(of)h FD(INCP)e FK(applies)g(the)i(p)s(erm)m(u-)227
5339 y(tation)g(in)e(the)i(opp)s(osite)e(direction.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 103 113
103 112 bop 0 -165 a FA(2.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(103)136 91 y FJ(\017)46 b FK(C)30 b(binding:)227
316 y FD(void)47 b(BLAS_xge_permute\()c(enum)k(blas_order_type)c
(order,)j(enum)h(blas_side_type)d(side,)1325 429 y(int)j(m,)g(int)g(n,)
g(const)g(int)f(*p,)h(int)g(incp,)g(ARRAY)f(a,)1325 542
y(int)h(lda)g(\);)227 767 y FK(The)30 b(v)-5 b(alue)30
b(of)h FD(incp)f FK(ma)m(y)h(b)s(e)f(p)s(ositiv)m(e)f(or)i(negativ)m
(e.)43 b(A)30 b(negativ)m(e)i(v)-5 b(alue)30 b(of)h FD(incp)e
FK(applies)g(the)i(p)s(erm)m(u-)227 880 y(tation)g(in)e(the)i(opp)s
(osite)e(direction.)0 1123 y Fx(2.8.10)97 b(Environmental)32
b(Enquiry)0 1295 y FK(FPINF)m(O)f(\(En)m(vironmen)m(tal)f(enquiry\))141
1408 y(This)24 b(routine)g(queries)g(for)h(mac)m(hine-sp)s(eci\014c)f
(\015oating)h(p)s(oin)m(t)g(c)m(haracteristics.)39 b(Refer)26
b(to)g(section)f(1.6)i(for)e(a)0 1521 y(list)j(of)h(all)g(p)s(ossible)d
(return)j(v)-5 b(alues)28 b(of)i(this)e(routine,)h(and)g(sections)g
(A.4,)h(A.5,)h(and)e(A.6,)h(for)f(their)g(resp)s(ectiv)m(e)0
1634 y(language)i(dep)s(enden)m(t)e(represen)m(tations)h(in)g(F)-8
b(ortran)31 b(95,)g(F)-8 b(ortran)31 b(77,)h(and)d(C.)136
1846 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
2096 y FD(REAL\(<wp>\))45 b(FUNCTION)h(fpinfo\()g(cmach,)g(prec)g(\))
514 2209 y(TYPE)g(\(blas_cmach_type\),)d(INTENT\(IN\))i(::)i(cmach)514
2322 y(REAL)f(\(<wp>\),)g(INTENT\(IN\))f(::)i(prec)136
2572 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
2797 y FD(<rtype>)45 b(FUNCTION)h(BLAS_xFPINFO\()e(CMACH)j(\))514
2910 y(INTEGER)570 b(CMACH)136 3135 y FJ(\017)46 b FK(C)30
b(binding:)370 3360 y FD(<rtype>)46 b(BLAS_xfpinfo\()e(enum)j
(blas_cmach_type)d(cmach)i(\);)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 104 114
104 113 bop 0 714 a FF(Chapter)65 b(3)0 1129 y FH(Sparse)77
b(BLAS)0 1611 y FE(3.1)116 b(Overview)0 1814 y FK(A)37
b(matrix)f(whic)m(h)g(con)m(tains)h(man)m(y)g(zero)g(en)m(tries)g(is)f
(often)h(referred)f(to)i(as)f(b)s(eing)e Fz(sp)-5 b(arse)p
FK(.)62 b(Man)m(y)38 b(problems)0 1926 y(arising)e(from)h(engineering)f
(and)h(scien)m(ti\014c)g(computing)g(giv)m(e)h(rise)e(to)j(large,)g
(sparse)f(matrices,)h(hence)f(their)0 2039 y(imp)s(ortance)31
b(in)f(n)m(umerical)g(linear)f(algebra.)44 b(Sparsit)m(y)31
b(pro)m(vides)f(an)h(opp)s(ortunit)m(y)f(to)i(conserv)m(e)h(storage)g
(and)0 2152 y(reduce)d(computational)g(requiremen)m(ts)g(b)m(y)g
(storing)g(only)f(the)i(signi\014can)m(t)e(\(t)m(ypically)-8
b(,)30 b(nonzero\))h(en)m(tries.)141 2265 y(The)f(Sparse)f(BLAS)h(in)m
(terface)h(addresses)e(computational)h(routines)f(for)h
Fz(unstructur)-5 b(e)g(d)32 b FK(sparse)e(matrices.)0
2378 y(These)38 b(are)g(matrices)g(that)g(do)g(not)g(p)s(ossess)f(a)h
(sp)s(ecial)f(sparsit)m(y)g(pattern)h(\(suc)m(h)g(as)g(banded)f(or)h
(triangular)0 2491 y(co)m(v)m(ered)k(in)c(the)j(previous)d(c)m(hapter)j
(on)f(Dense/Banded)h(sp)s(eci\014cations\).)68 b(Tw)m(o)41
b(fundamen)m(tal)e(di\013erences)0 2604 y(b)s(et)m(w)m(een)31
b(the)g(Sparse)e(BLAS)h(and)g(other)h(c)m(hapters)g(are)136
2792 y FJ(\017)46 b FG(F)-9 b(unctionalit)m(y:)38 b FK(Only)22
b(a)i(small)e(subset)h(of)h(the)g(BLAS)f(functionalit)m(y)g(is)f(sp)s
(eci\014ed)g(for)i(sparse)f(matrices)227 2904 y({)31
b(essen)m(tially)e(only)g(matrix)g(m)m(ultiply)e(and)i(triangular)g
(solv)m(e,)h(along)g(with)f(sparse)h(v)m(ector)h(up)s(date,)f(dot)227
3017 y(pro)s(duct)42 b(and)g(gather/scatter.)81 b(These)43
b(are)g(among)h(the)f(basic)f(op)s(erations)g(used)h(in)e(solving)h
(large)227 3130 y(sparse)c(linear)f(equations)h(using)e(iterativ)m(e)j
(tec)m(hniques.)64 b(Not)39 b(included)d(are)i(general)h(op)s(erations)
e(for)227 3243 y(direct)30 b(solv)m(ers,)g(functions)e(for)i(explicit)f
(matrix)g(reordering,)g(or)h(op)s(erations)f(in)g(whic)m(h)g(b)s(oth)g
(op)s(erands)227 3356 y(are)i(sparse)f(\(e.g.)42 b(the)31
b(pro)s(duct)e(of)h(t)m(w)m(o)i(sparse)e(matrices\).)136
3544 y FJ(\017)46 b FG(Generic)f(in)m(terface:)57 b FK(There)37
b(is)h(no)g(single)f(\\b)s(est")i(metho)s(d)f(to)h(represen)m(t)f(a)h
(sparse)f(matrix.)64 b(The)227 3657 y(selection)25 b(of)h(the)g(p)s
(ossible)d(storage)j(format)g(is)f(dep)s(enden)m(t)f(on)h(the)h
(algorithm)e(b)s(eing)g(used,)i(the)g(original)227 3770
y(sparsit)m(y)40 b(pattern)g(of)h(the)f(matrix,)i(the)f(underlying)c
(computer)j(arc)m(hitecture,)k(together)e(with)d(other)227
3882 y(considerations)c(suc)m(h)h(as)h(in)d(what)j(format)f(the)h(data)
f(already)g(exists,)i(and)d(so)i(on.)58 b(Because)37
b(of)g(this,)227 3995 y(sparse)30 b(matrix)g(argumen)m(ts)g(to)h(the)g
(Lev)m(el)f(2)h(and)f(3)g(Sparse)g(BLAS)g(routines)f(are)i(not)f(the)h
(actual)f(data)227 4108 y(comp)s(onen)m(ts)e(but)e(rather)h(a)g
(placeholder,)g(or)g Fz(hand)5 b(le)p FK(,)29 b(whic)m(h)d(refers)h(to)
h(an)f(abstract)h(represen)m(tation)f(of)227 4221 y(a)32
b(matrix.)41 b(\(F)-8 b(or)32 b(p)s(ortabilit)m(y)-8
b(,)30 b(this)g(handle)f(is)h(an)h(in)m(teger)g(v)-5
b(ariable.\))41 b(Unlik)m(e)30 b(the)h(dense)g(BLAS,)g(there)227
4334 y(are)38 b(man)m(y)f(storage)h(represen)m(tations)f(for)g(sparse)g
(matrices,)i(and)d(this)g(handle-based)g(sc)m(heme)i(allo)m(ws)227
4447 y(one)24 b(to)h(write)e(n)m(umerical)f(algorithms)h(using)f(the)i
(Sparse)f(BLAS)h(indep)s(enden)m(tly)c(of)k(the)g(matrix)f(storage)227
4560 y(sc)m(heme.)141 4748 y(Sev)m(eral)32 b(routines)f(are)h(pro)m
(vided)f(to)i(create)g(Sparse)e(BLAS)h(matrices,)h(but)e(the)h(in)m
(ternal)f(represen)m(tation)0 4860 y(is)41 b(implemen)m(tation)f(dep)s
(enden)m(t.)73 b(This)40 b(pro)m(vides)h(BLAS)g(library)e(dev)m(elop)s
(ers)i(the)h(b)s(est)f(opp)s(ortunit)m(y)f(for)0 4973
y(optimizing)28 b(and)i(\014ne-tuning)f(their)g(k)m(ernels)h(for)g(sp)s
(eci\014c)f(situations.)141 5086 y(Matrices)d(in)e(the)i(Sparse)f(BLAS)
g(can)h(b)s(e)f(constructed)g(piece-b)m(y-piece,)j(directly)c(from)h
(common)g(formats.)0 5199 y(The)34 b(result)f(is)h(a)h(matrix)e(handle)
g(that)i(can)g(b)s(e)f(passed)g(as)g(a)h(parameter)g(to)g(Sparse)f
(BLAS)g(computational)0 5312 y(k)m(ernels.)39 b(Routines)28
b(are)h(also)f(pro)m(vided)f(to)i(extract)h(information)d(on)h(a)h
(matrix)e(iden)m(ti\014ed)g(b)m(y)h(its)g(handle)f(and)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 105 115
105 114 bop 0 -165 a FA(3.2.)72 b(NAMING)31 b(CONVENTIONS)2438
b FK(105)0 91 y(to)33 b(release)f(an)m(y)h(resources)f(related)g(to)h
(the)g(handle)d(when)h(computations)h(with)f(the)i(matrix)e(are)i
(completed.)0 204 y(Th)m(us,)d(t)m(ypical)g(use)g(of)g(the)h(Sparse)e
(BLAS)i(consists)e(of)i(three)g(phases:)111 371 y(1.)46
b(create)32 b(an)e(in)m(ternal)g(sparse)g(matrix)f(represen)m(tation)i
(and)e(return)h(its)g(handle)227 517 y(\(Sections)h(3.8.6,)h(3.8.7,)h
(and)c(3.8.8\).)111 696 y(2.)46 b(use)28 b(this)e(handle)g(as)i(a)g
(parameter)g(in)e(computational)h(Sparse)g(BLAS)h(routines)e
(\(Sections)i(3.8.2,)i(3.8.3,)227 809 y(and)g(3.8.4\).)111
988 y(3.)46 b(when)29 b(the)h(matrix)f(is)g(no)h(longer)f(needed,)h
(call)f(a)h(clean)m(up)g(routine)f(to)h(free)g(resources)g(asso)s
(ciated)g(with)227 1101 y(the)h(handle)e(\(Section)h(3.8.10\).)0
1268 y(Note)37 b(that)f(the)f(releasing)g(a)h(matrix)e(handle)g(do)s
(es)h(not)h(a\013ect)h(an)m(y)f(of)f(the)h(user's)e(data,)k(but)d(only)
f(in)m(ternal)0 1381 y(BLAS)39 b(resources)h(\(housek)m(eeping)f(data)h
(structures)f(and)g(in)m(ternal)f(copies)h(of)h(matrix)e(data\))j(that)
f(are)g(not)0 1494 y(visible)31 b(to)j(the)g(user.)50
b(Th)m(us,)34 b(program)f(resources)h(a)m(v)-5 b(ailable)33
b(to)h(the)g(user)f(after)h(releasing)e(a)i(matrix)f(handle)0
1606 y(should)28 b(b)s(e)i(the)h(same)f(as)h(b)s(efore)f(creating)h
(that)g(handle.)141 1719 y(In)i(Section)h(3.3)h(w)m(e)f(describ)s(e)e
(the)i(functionalit)m(y)e(of)i(the)g(Lev)m(el)g(1,)i(2)e(and)f(3)h
(Sparse)f(BLAS.)h(Section)g(3.4)0 1832 y(pro)m(vides)d(an)h(o)m(v)m
(erview)h(of)f(the)g(data)h(structures)e(used)g(to)i(express)f(the)g
(sparsit)m(y)f(of)h(the)g(sparse)g(v)m(ectors)i(and)0
1945 y(matrices,)25 b(including)c(a)j(discussion)d(of)j(index)f(bases)h
(in)e(Section)i(3.4.2)i(and)d(rep)s(eated)h(indices)e(in)g(Section)i
(3.4.3.)0 2058 y(Section)35 b(3.5.1)i(illustrates)c(ho)m(w)j(to)g
(initialize)c(Sparse)j(BLAS)g(matrices)g(and)g(Section)g(3.5.2)i(ho)m
(w)e(to)h(sp)s(ecify)0 2171 y(prop)s(erties)22 b(of)i(the)f(matrices.)
39 b(Sections)23 b(3.6.1{)j(3.6.3)f(discuss)d(in)m(terface)i(issues.)37
b(Section)23 b(3.7)i(brie\015y)c(discusses)0 2284 y(n)m(umerical)34
b(accuracy)j(and)e(en)m(vironmen)m(tal)g(enquiry)-8 b(.)55
b(Finally)-8 b(,)35 b(in)f(Section)i(3.8,)i(w)m(e)e(presen)m(t)g(the)g
(in)m(terfaces)0 2397 y(for)31 b(the)h(k)m(ernels,)f(giving)f(details)g
(for)h(eac)m(h)i(sp)s(eci\014c)d(language)h(binding)e(for)i(F)-8
b(ortran)32 b(95,)g(F)-8 b(ortran)32 b(77,)h(and)d(C)0
2510 y(programming)f(languages.)0 2792 y FE(3.2)116 b(Naming)36
b(Conventions)0 2995 y FK(Because)47 b(this)d(standard)h(addresses)g(m)
m(ultiple)e(language)j(bindings)c(and)j(v)-5 b(arious)45
b(precisions,)i(the)f(BLAS)0 3108 y(routines)36 b(are)h(t)m(ypically)f
(referred)g(to)i(in)d(the)i(text)h(b)m(y)f(their)f(ro)s(ot)h(names.)60
b(Sparse)36 b(BLAS)h(ro)s(ot)g(names)g(use)0 3221 y(the)f(t)m(w)m
(o-letter)i(iden)m(ti\014er)c FD(US)p FK(,)h(for)g Fz(Unstructur)-5
b(e)g(d)39 b(Sp)-5 b(arse)p FK(,)39 b(e.g.)58 b(as)36
b(in)e FD(USMV)p FK(,)h(or)h FD(USDOT)p FK(.)e(These)i(names)g(are)0
3334 y(a)j(compact)h(w)m(a)m(y)g(to)f(represen)m(t)g(the)g(v)-5
b(arious)38 b(instan)m(tiations.)64 b(F)-8 b(or)39 b(example,)i(the)e
(ro)s(ot)g(for)g(matrix-v)m(ector)0 3447 y(m)m(ultiplication,)26
b FD(USMV)p FK(,)i(is)g(the)h(general)g(form)f(of)h(routines)f(suc)m(h)
g(as)h FD(BLAS)p 2583 3447 29 4 v 33 w(dusmv)f FK(\(the)h(C)f(v)m
(ersion)h(for)f(double-)0 3560 y(precision\),)40 b(or)e
FD(BLAS)p 768 3560 V 34 w(CUSMV)f FK(\(the)i(F)-8 b(ortran)40
b(77)f(v)m(ersion)f(of)h(single-precision)d(complex\).)66
b(F)-8 b(unctions)38 b(listed)0 3673 y(in)h(the)h(Language)h(Bindings)d
(Section)i(3.8)h(app)s(ear)e(under)g(their)g(ro)s(ot)h(name,)j(follo)m
(w)m(ed)d(b)m(y)g(their)f(detailed)0 3785 y(language-sp)s(eci\014c)30
b(bindings.)141 3898 y(Where)24 b(an)f FD(x)g FK(app)s(ears)g(in)f(the)
i(name)g(of)f(a)h(subroutine)e(or)h(function)f(binding,)g(it)h(should)f
(b)s(e)h(replaced)g(in)f(the)0 4011 y(call)k(b)m(y)i(one)f(of)g(the)h
(letters)f(S,)g(D,)h(C,)f(Z)f(to)i(indicate)e(whether)h(the)g
(\015oating-p)s(oin)m(t)g(data)h(t)m(yp)s(es)f(are)g(real)g(single)0
4124 y(precision,)f(real)f(double)g(precision,)h(complex)g(single)f
(precision,)g(or)i(complex)f(double)e(precision,)i(resp)s(ectiv)m(ely)
-8 b(.)0 4237 y(Notice)32 b(that,)g(for)f(some)h(calls,)f(this)f
(letter)h(and)g(substitution)e(do)s(es)h(not)i(app)s(ear)e(since)h(the)
g(data)h(t)m(yp)s(e)f(is)g(not)0 4350 y(referenced)f(explicitly)d(and)i
(is)f(only)h(accessed)i(through)e(the)g(matrix)g(handle.)39
b(In)29 b(the)h(F95)h(language,)f(generic)0 4463 y(calls)g(enable)f
(the)i(use)f(of)h(this)e(letter)h(to)i(b)s(e)d(a)m(v)m(oided)i(in)e
(all)g(cases)j(except)f(the)g(creation)f(routines.)0
4745 y FE(3.3)116 b(F)m(unctionalit)m(y)0 4948 y FK(This)27
b(section)j(describ)s(es)d(the)j(Lev)m(el)f(1,)h(2,)g(and)f(3)g
(routines)f(de\014ned)g(for)h(sparse)g(v)m(ectors)i(and)d(matrices.)41
b(In)28 b(all)0 5061 y(cases)36 b(only)e(one)h(of)g(the)g(basic)f(op)s
(erands)g(is)g(sparse,)i(that)f(is)f(there)h(are)g(no)g(sparse-sparse)g
(op)s(erations.)53 b(F)-8 b(or)0 5174 y(the)38 b(sak)m(e)i(of)e
(compactness,)j(the)e(case)g(in)m(v)m(olving)e(complex)h(op)s(erators)g
(is)f(usually)f(omitted,)41 b(F)-8 b(or)39 b(matrices,)0
5287 y(whenev)m(er)d(a)h(transp)s(ose)f(op)s(eration)g(is)f(describ)s
(ed,)h(the)h(conjugate)g(transp)s(ose)f(is)f(implied)f(for)i(the)g
(complex)0 5400 y(case.)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 106 116
106 115 bop 0 -165 a FK(106)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)0 91 y Fx(3.3.1)97 b(Scala)m(r)33
b(and)f(V)m(ecto)m(r)j(Op)s(erations)p 870 272 2161 4
v 868 385 4 113 v 919 351 a FD(USDOT)p 1254 385 V 146
w FK(sparse)30 b(dot)h(pro)s(duct)p 2249 385 V 248 w
Fy(r)d FJ( )d Fy(x)2538 318 y Fw(T)2593 351 y Fy(y)s(;)p
3029 385 V 868 498 V 1254 498 V 2249 498 V 2301 464 a(r)j
FJ( )d Fy(x)2538 431 y Fw(H)2605 464 y Fy(y)p 3029 498
V 870 501 2161 4 v 868 614 4 113 v 919 581 a FD(USAXPY)p
1254 614 V 98 w FK(sparse)30 b(v)m(ector)i(up)s(date)p
2249 614 V 173 w Fy(y)c FJ( )d Fy(\013x)c FK(+)f Fy(y)p
3029 614 V 870 618 2161 4 v 868 731 4 113 v 919 697 a
FD(USGA)p 1254 731 V 194 w FK(sparse)30 b(gather)p 2249
731 V 470 w Fy(x)25 b FJ( )g Fy(y)s FJ(j)2567 711 y Fw(x)p
3029 731 V 870 734 2161 4 v 868 847 4 113 v 919 813 a
FD(USGZ)p 1254 847 V 194 w FK(sparse)30 b(gather)h(and)f(zero)p
2249 847 V 101 w Fy(x)25 b FJ( )g Fy(y)s FJ(j)2567 827
y Fw(x)2611 813 y FK(;)41 b Fy(y)s FJ(j)2750 827 y Fw(x)2819
813 y FJ( )25 b FK(0)p 3029 847 V 870 850 2161 4 v 868
963 4 113 v 919 929 a FD(USSC)p 1254 963 V 194 w FK(sparse)30
b(scatter)p 2249 963 V 455 w Fy(y)s FJ(j)2374 943 y Fw(x)2443
929 y FJ( )25 b Fy(x)p 3029 963 V 870 966 2161 4 v 1227
1221 a FK(T)-8 b(able)30 b(3.1:)42 b(Sparse)29 b(V)-8
b(ector)32 b(Op)s(erations)141 1431 y(This)20 b(subsection)g(lists)g
(the)h(op)s(erations)f(corresp)s(onding)g(to)i(the)f(Lev)m(el)g(1)h
(Sparse)f(BLAS.)g(T)-8 b(able)21 b(3.1)h(lists)e(the)0
1544 y(scalar)26 b(and)g(v)m(ector)h(op)s(erations.)39
b(The)26 b(follo)m(wing)e(notation)j(is)e(used:)38 b
Fy(r)29 b FK(and)c Fy(\013)i FK(are)f(scalars,)h Fy(x)f
FK(is)g(a)g(compressed)0 1657 y(sparse)j(v)m(ector,)i
Fy(y)h FK(is)d(a)g(dense)g(v)m(ector,)j(and)c Fy(y)s
FJ(j)1605 1671 y Fw(x)1679 1657 y FK(refers)h(to)h(the)f(en)m(tries)g
(of)h Fy(y)i FK(that)e(ha)m(v)m(e)g(common)g(indices)d(with)0
1770 y(the)k(sparse)f(v)m(ector)i Fy(x)p FK(.)40 b(Details)30
b(of)h(the)g(sparse)f(v)m(ector)i(storage)f(format)g(are)g(giv)m(en)f
(in)f(Section)i(3.4.1.)0 2014 y Fx(3.3.2)97 b(Matrix-V)m(ecto)m(r)33
b(Op)s(erations)p 812 2195 2276 4 v 810 2307 4 113 v
862 2274 a FD(USMV)p 1101 2307 V 99 w FK(sparse)d(matrix/v)m(ector)i(m)
m(ultiply)p 2392 2307 V 97 w Fy(y)c FJ( )d Fy(\013Ax)c
FK(+)f Fy(y)p 3086 2307 V 810 2420 V 1101 2420 V 2392
2420 V 2444 2386 a(y)28 b FJ( )d Fy(\013A)2759 2353 y
Fw(T)2815 2386 y Fy(x)20 b FK(+)g Fy(y)p 3086 2420 V
810 2533 V 1101 2533 V 2392 2533 V 2444 2499 a(y)28 b
FJ( )d Fy(\013A)2759 2466 y Fw(H)2827 2499 y Fy(x)20
b FK(+)g Fy(y)p 3086 2533 V 812 2537 2276 4 v 810 2650
4 113 v 862 2616 a FD(USSV)p 1101 2650 V 99 w FK(sparse)30
b(triangular)f(solv)m(e)p 2392 2650 V 400 w Fy(x)c FJ( )g
Fy(\013T)2761 2583 y Fu(\000)p FC(1)2856 2616 y Fy(x)p
3086 2650 V 810 2762 V 1101 2762 V 2392 2762 V 2444 2729
a(x)g FJ( )g Fy(\013T)2761 2696 y Fu(\000)p Fw(T)2871
2729 y Fy(x)p 3086 2762 V 810 2875 V 1101 2875 V 2392
2875 V 2444 2841 a(x)g FJ( )g Fy(\013T)2761 2808 y Fu(\000)p
Fw(H)2883 2841 y Fy(x)p 3086 2875 V 812 2879 2276 4 v
1075 3133 a FK(T)-8 b(able)30 b(3.2:)42 b(Sparse)30 b(Matrix-V)-8
b(ector)32 b(Op)s(erations)141 3344 y(T)-8 b(able)32
b(3.2)i(lists)e(matrix/v)m(ector)i(\(Lev)m(el)f(2\))g(op)s(erations.)48
b(The)32 b(notation)h Fy(A)g FK(represen)m(ts)f(a)h(sparse)g(matrix)0
3456 y(and)d Fy(T)43 b FK(denotes)31 b(a)f(sparse)g(triangular)f
(matrix.)40 b Fy(x)30 b FK(and)g Fy(y)j FK(are)e(dense)f(v)m(ectors,)i
Fy(\013)f FK(is)e(a)i(scalar.)0 3700 y Fx(3.3.3)97 b(Matrix-Matrix)31
b(Op)s(erations)p 767 3881 2367 4 v 765 3994 4 113 v
817 3960 a FD(USMM)p 1056 3994 V 98 w FK(sparse)f(matrix/matrix)g(m)m
(ultiply)p 2369 3994 V 97 w Fy(C)h FJ( )25 b Fy(\013AB)h
FK(+)20 b Fy(C)p 3132 3994 V 765 4107 V 1056 4107 V 2369
4107 V 2421 4073 a(C)31 b FJ( )25 b Fy(\013A)2759 4040
y Fw(T)2815 4073 y Fy(B)g FK(+)20 b Fy(C)p 3132 4107
V 765 4220 V 1056 4220 V 2369 4220 V 2421 4186 a(C)31
b FJ( )25 b Fy(\013A)2759 4153 y Fw(H)2827 4186 y Fy(B)g
FK(+)20 b Fy(C)p 3132 4220 V 767 4223 2367 4 v 765 4336
4 113 v 817 4302 a FD(USSM)p 1056 4336 V 98 w FK(sparse)30
b(triangular)f(solv)m(e)p 2369 4336 V 423 w Fy(B)g FJ( )d
Fy(\013T)2760 4269 y Fu(\000)p FC(1)2854 4302 y Fy(B)p
3132 4336 V 765 4449 V 1056 4449 V 2369 4449 V 2421 4415
a(B)j FJ( )d Fy(\013T)2760 4382 y Fu(\000)p Fw(T)2870
4415 y Fy(B)p 3132 4449 V 765 4562 V 1056 4562 V 2369
4562 V 2421 4528 a(B)j FJ( )d Fy(\013T)2760 4495 y Fu(\000)p
Fw(H)2882 4528 y Fy(B)p 3132 4562 V 767 4565 2367 4 v
1068 4819 a FK(T)-8 b(able)30 b(3.3:)41 b(Sparse)30 b(Matrix-Matrix)h
(Op)s(erations)141 5030 y(T)-8 b(able)25 b(3.3)i(lists)d(matrix/matrix)
g(\(Lev)m(el)i(3\))g(op)s(erations,)g(using)e(the)i(follo)m(wing)e
(notation:)38 b Fy(\013)26 b FK(is)e(a)i(scalar,)h Fy(A)0
5143 y FK(denotes)e(a)g(general)g(sparse)g(matrix,)g
Fy(T)37 b FK(denotes)26 b(a)f(sparse)f(triangular)f(matrix.)39
b Fy(B)29 b FK(and)24 b Fy(C)31 b FK(are)25 b(dense)g(matrices.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 107 117
107 116 bop 0 -165 a FA(3.4.)72 b(DESCRIBING)30 b(SP)-8
b(ARSITY)2480 b FK(107)0 91 y FE(3.4)116 b(Describing)37
b(spa)m(rsit)m(y)0 298 y Fx(3.4.1)97 b(Spa)m(rse)34 b(V)m(ecto)m(rs)0
469 y FK(Sparse)e(v)m(ectors)j(are)f(represen)m(ted)f(b)m(y)g(a)g(pair)
f(of)h(con)m(v)m(en)m(tional)h(v)m(ectors,)i(one)d(denoting)g(the)g
(nonzero)h(v)-5 b(alues)0 582 y(and)33 b(the)g(other)h(denoting)e
(their)h(indices.)48 b(That)33 b(is,)g(if)f Fy(x)i FK(is)e(a)i(v)m
(ector)h(that)f(w)m(e)f(wish)f(to)i(represen)m(t)f(in)f(sparse)0
695 y(format,)39 b(then)e(it)g(is)f(represen)m(ted)h(b)m(y)g(a)h
(one-dimensional)d(arra)m(y)-8 b(,)40 b(X,)f(of)e(the)h(en)m(tries)f
(of)g Fy(x)p FK(,)i(and)e(an)g(in)m(teger)0 808 y(v)m(ector)e(of)f
(equal)f(length)g(to)h(X)g(whose)f(v)-5 b(alues)33 b(indicate)f(the)i
(lo)s(cation)f(in)f Fy(x)i FK(of)g(the)f(corresp)s(onding)f
(\015oating-)0 921 y(p)s(oin)m(t)25 b(v)-5 b(alues)26
b(in)f(X.)40 b(The)26 b(index)e(v)-5 b(alues)26 b(ma)m(y)h(follo)m(w)f
(the)g(F)-8 b(ortran)27 b(con)m(v)m(en)m(tion)h(\(where)e(the)h
(\014rst)e(elemen)m(t)i(has)0 1034 y(an)35 b(index)f(of)h(1\))h(or)f
(the)h(C/C++)e(con)m(v)m(en)m(tion)j(\(where)e(the)g(\014rst)g(elemen)m
(t)g(has)g(an)g(index)f(of)i(0\).)56 b(These)35 b(are)0
1147 y(referred)25 b(to)h(as)g Fz(1-b)-5 b(ase)g(d)27
b FK(and)e Fz(0-b)-5 b(ase)g(d)27 b FK(indexing,)e(resp)s(ectiv)m(ely)
-8 b(,)26 b(and)g(the)f(Sparse)g(BLAS)h(sp)s(eci\014cation)e(usually)0
1260 y(handles)29 b(b)s(oth)g(\(see)j(Section)e(3.4.2\).)43
b(F)-8 b(or)31 b(example,)f(using)f(1-based)i(\(F)-8
b(ortran\))32 b(indexing,)c(the)j(v)m(ector)1163 1434
y Fy(x)83 b FK(=)f(\()i(11)p Fy(:)p FK(0)g(0)p Fy(:)p
FK(0)h(13)p Fy(:)p FK(0)f(14)p Fy(:)p FK(0)h(0)p Fy(:)p
FK(0)f(\))0 1609 y(can)31 b(b)s(e)e(represen)m(ted)i(b)m(y)f(t)m(w)m(o)
i(v)m(ectors)g(as)1438 1776 y(X)83 b(=)g(\()g(11)p Fy(:)p
FK(0)i(13)p Fy(:)p FK(0)f(14)p Fy(:)p FK(0)h(\))1270
1889 y(IND)m(X)f(=)f(\()199 b(1)h(3)f(4)84 b(\))0 2056
y(although)30 b(the)g(p)s(erm)m(utation)1438 2161 y(X)83
b(=)g(\()g(14)p Fy(:)p FK(0)i(13)p Fy(:)p FK(0)f(11)p
Fy(:)p FK(0)h(\))1270 2274 y(IND)m(X)f(=)f(\()199 b(4)h(3)f(1)84
b(\))0 2419 y(or)30 b(an)m(y)h(other)g(suc)m(h)f(p)s(erm)m(utation)f
(is)h(equally)f(v)-5 b(alid.)141 2532 y(W)d(e)37 b(illustrate)e(the)h
(use)g(of)g(this)f(structure,)i(through)e(the)h(F)-8
b(ortran)37 b(77)g(routine)e(for)h(a)g(double)f(precision)0
2645 y(real)30 b(sparse)g(dot)h(pro)s(duct)e(:)883 2808
y FD(W)47 b(=)h(BLAS)p 1272 2808 29 4 v 33 w(DUSDOT\()e(CONJ,)g(NZ,)h
(X,)g(INDX,)g(Y,)g(INCY)f(\))0 2971 y FK(where)34 b(NZ)h(is)f(the)h(n)m
(um)m(b)s(er)e(of)i(nonzero)g(en)m(tries)g(in)e(the)i(sparse)g(v)m
(ector)h Fy(x)p FK(,)g(the)f(argumen)m(t)h(X)f(is)e(the)i(double)0
3084 y(precision)g(v)m(ector)j(con)m(taining)e(the)g(en)m(tries)g(of)h
Fy(x)p FK(,)h(IND)m(X)f(is)f(the)g(index)f(v)m(ector)j(for)f
Fy(x)p FK(,)h(Y)e(is)g(a)g(dense)g(v)m(ector)0 3197 y(with)c(INCY)i
(de\014ning)d(the)j(stride)e(b)s(et)m(w)m(een)i(consecutiv)m(e)h(comp)s
(onen)m(ts,)g(and)e(CONJ)f(is)h(a)h(\015ag)g(sp)s(ecifying)d(if)6
3310 y(\026)-51 b Fy(x)30 b FK(or)h Fy(x)f FK(is)f(used)h(\(although)g
(this)f(has)h(no)h(e\013ect)h(in)d(the)h(case)i(of)e(real)g(argumen)m
(ts\).)42 b(This)28 b(call)i(computes)1417 3562 y Fy(w)e
FK(=)1621 3456 y FC(NZ)1609 3481 y Ft(X)1606 3665 y Fw(I)5
b FC(=1)1747 3562 y FK(X\(I\))21 b FJ(\003)f FK(Y\(IND)m(X\(I\)\))0
3873 y Fx(3.4.2)97 b(Index)32 b(bases)0 4045 y FK(The)24
b(F)-8 b(ortran)25 b(and)f(C)g(programming)g(languages)g(utilize)f
(di\013eren)m(t)h(con)m(v)m(en)m(tions)i(to)f(index)e(en)m(tries)h(of)h
(a)g(v)m(ector.)0 4158 y(F)-8 b(ortran)33 b(uses)f(a)g(1-based)h(con)m
(v)m(en)m(tion,)h(\(that)f(is)f Fy(x)p FK(\(1\))h(is)e(the)i(\014rst)e
(en)m(try)i(of)f(v)m(ector)i Fy(x)p FK(\);)g(C)e(assumes)g(0-based)0
4271 y(index)d(v)-5 b(alues)30 b(\(that)h(is)e Fy(x)p
FK([0])j(is)d(the)i(\014rst)e(en)m(try)i(of)f(the)h(v)m(ector)h
Fy(x)p FK(\).)141 4384 y(F)-8 b(or)37 b(dense)f(arra)m(y)g(op)s
(erations,)h(this)e(di\013erence)h(can)g(often)h(b)s(e)e(dealt)h(with)f
(b)m(y)h(adjustmen)m(ts)g(to)g(the)h(ar-)0 4497 y(ra)m(y)h(parameters)f
(in)f(function)g(and)g(subroutine)f(calls.)61 b(F)-8
b(or)37 b(sparse)g(data)h(structures,)h(ho)m(w)m(ev)m(er,)h(the)d
(index)0 4610 y(information)29 b(is)g(part)h(of)h(the)f
FG(seman)m(tics)g FK(of)h(the)f(data)i(structure,)e(so)g(this)g(m)m
(ust)g(b)s(e)g(dealt)g(with)f(explicitly)-8 b(.)141 4723
y(The)26 b(F)-8 b(ortran)27 b(in)m(terface)g(for)f(the)h(Sparse)f(BLAS)
g(defaults)f(to)i(a)g(1-based)g(indexing,)e(while)g(the)h(C)g(in)m
(terface)0 4835 y(defaults)h(to)i(0-base)g(indexing.)37
b(Both)29 b(in)m(terfaces,)g(ho)m(w)m(ev)m(er,)h(can)e(explicitly)e(o)m
(v)m(erride)i(this)f(default)g(with)g(only)0 4948 y FG(one)41
b(exception)p FK(:)51 b(the)36 b(F)-8 b(ortran)36 b(in)m(terfaces)f(to)
h(the)g(Lev)m(el)g(1)f(sparse)g(routines.)55 b(In)34
b(the)i(follo)m(wing)e(sections,)0 5061 y(w)m(e)d(use)f(1-based)h(con)m
(v)m(en)m(tions)g(in)e(examples)h(and)g(discussions,)e(unless)g
(otherwise)i(stated.)141 5174 y(F)-8 b(or)86 b(Lev)m(el)f(2)h(and)e
(Lev)m(el)h(3)h(op)s(erations,)98 b(the)85 b(index)e(base)j(ma)m(y)f(b)
s(e)g(sp)s(eci\014ed)e(b)m(y)i(the)0 5287 y FD(blas)p
198 5287 V 33 w(one)p 375 5287 V 34 w(base)p FK(/)p FD(blas)p
838 5287 V 32 w(zero)p 1062 5287 V 34 w(base)25 b FK(prop)s(ert)m(y)-8
b(,)27 b(whic)m(h)f(can)g(b)s(e)g(set)h(when)f(constructing)g(BLAS)g
(matrices)h(\(see)0 5400 y(Section)j(3.5.2\).)-214 64
y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 108 118
108 117 bop 0 -165 a FK(108)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)0 91 y Fx(3.4.3)97 b(Rep)s(eated)33
b(Indices)0 263 y FK(In)21 b(general,)i(ha)m(ving)e(the)h(same)f
(matrix)g(or)h(v)m(ector)h(en)m(try)e(sp)s(eci\014ed)f(m)m(ultiple)f
(times)i(in)f(a)i(sparse)f(represen)m(tation)0 376 y(can)34
b(lead)g(to)h(am)m(biguities.)50 b(There)33 b(are)i(some)f(cases,)i(ho)
m(w)m(ev)m(er,)h(where)d(it)f(is)g(useful)f(to)j(de\014ne)f(the)g
(result)f(as)0 489 y(the)e(sum)e(of)i(all)e(en)m(tries)h(with)f(a)i
(common)f(index.)40 b(F)-8 b(or)31 b(example,)f(the)h(sparse)f(data)h
(structure)1301 672 y Fy(N)93 b FK(=)317 b(5)1315 785
y(X)84 b(=)e(\()i(11)p Fy(:)p FK(0)g(13)p Fy(:)p FK(0)h(14)p
Fy(:)p FK(0)g(22)p Fy(:)p FK(0)f(\))1147 898 y(IND)m(X)h(=)d(\()200
b(1)f(3)h(4)g(3)83 b(\))0 1082 y(ma)m(y)31 b(b)s(e)f(in)m(terpreted)f
(as)i(a)g(represen)m(tation)f(of)h(the)f(v)m(ector)1163
1273 y Fy(x)83 b FK(=)f(\()i(11)p Fy(:)p FK(0)g(0)p Fy(:)p
FK(0)h(35)p Fy(:)p FK(0)f(14)p Fy(:)p FK(0)h(0)p Fy(:)p
FK(0)f(\))141 1465 y(Analogously)-8 b(,)30 b(a)g(similar)d(con)m(v)m
(en)m(tion)j(can)g(b)s(e)f(adopted)g(for)h(sparse)f(matrices:)40
b(whenev)m(er)29 b(an)h(\()p Fy(i;)15 b(j)5 b FK(\))31
b(index)0 1577 y(is)g(sp)s(eci\014ed)g(m)m(ultiple)f(times,)i(the)g
(result)f(is)h(that)g(its)g(corresp)s(onding)e(nonzero)j(v)-5
b(alues)31 b(are)i(added)e(together.)0 1690 y(\(This)20
b(is)g(useful,)i(for)f(example,)i(in)d(the)h(assem)m(bling)f(of)i
(elemen)m(tal)f(matrices)g(from)g(\014nite-elemen)m(t)g(form)m
(ulations)0 1803 y(as)31 b(in)e(Section)h(3.5.6\).)141
1916 y(Because)k(of)e(p)s(ossible)d(am)m(biguities)i(and)h
(ine\016ciencies,)f(the)h(use)g(of)g(rep)s(eated)g(indices)e(is)h(not)i
(supp)s(orted)0 2029 y(in)27 b(the)h(Lev)m(el)g(1)g(BLAS)g(op)s
(erations.)39 b(That)27 b(is,)h(for)g(those)g(routines)f(the)h(sparse)f
(v)m(ector)j(parameter)e(m)m(ust)g(ha)m(v)m(e)0 2142
y(unique)g(indices,)h(otherwise)h(the)h(computational)f(results)f(are)h
(unde\014ned.)0 2426 y FE(3.5)116 b(Spa)m(rse)38 b(BLAS)i(Matrices)0
2633 y Fx(3.5.1)97 b(Creation)33 b(Routines)0 2804 y
FK(A)c(Sparse)f(BLAS)h(matrix)f(and)h(its)f(asso)s(ciated)i(handle)d
(are)i(created)h(b)m(y)f(a)h(sequence)f(of)g(calls)f(to)i(the)f
(routines)0 2917 y(listed)e(in)g(Sections)g(3.8.6,)k(3.8.7,)g(and)c
(3.8.8.)42 b(A)28 b(call)g(m)m(ust)g(\014rst)f(b)s(e)h(made)g(to)h(a)f
(routine)g(to)h(b)s(egin)d(the)j(matrix)0 3030 y(construction.)40
b(This)26 b(can)j(b)s(e)e(of)i(three)f(forms)g(dep)s(ending)d(on)j
(whether)g(the)g(input)f(matrix)g(has)h(en)m(tries)g(whic)m(h)0
3143 y(are)j(scalars)f(or)g(are)h(dense)f(matrices.)41
b(The)30 b(calls)f(for)h(the)h(scalar)f(or)h(single)e(en)m(tries)h
(case)h(ha)m(v)m(e)h(the)e(form)707 3312 y FD(CALL)46
b(DUSCR)p 1191 3312 29 4 v 33 w(BEGIN\()g(m,)i(n,)f(A,)g(istat)f(\))325
b FK(\()31 b(F)-8 b(ortran)31 b(95)g(\))707 3425 y FD(CALL)46
b(BLAS)p 1143 3425 V 34 w(DUSCR)p 1417 3425 V 33 w(BEGIN\()g(M,)h(N,)g
(A,)g(ISTAT)g(\))99 b FK(\()31 b(F)-8 b(ortran)31 b(77)g(\))707
3538 y FD(A)47 b(=)h(BLAS)p 1096 3538 V 33 w(duscr)p
1369 3538 V 33 w(begin\()e(m,)h(n)h(\);)576 b FK(\()31
b(C)f(\))0 3707 y(where)g FD(m)g FK(and)g FD(n)g FK(are)g(the)h(matrix)
f(dimensions)d(and)j FD(A)g FK(is)g(the)g(matrix)g(handle.)141
3820 y(When)37 b(initializing)c(Sparse)k(BLAS)g(matrices)g(from)g(a)g
(blo)s(c)m(k-structured)f(format,)k(t)m(w)m(o)e(v)-5
b(arian)m(ts)37 b(of)h(the)0 3933 y(creation)31 b(routines)e(ma)m(y)i
(b)s(e)f(used.)40 b(F)-8 b(or)31 b(\014xed)e(size)i Fy(k)23
b FJ(\002)d Fy(l)32 b FK(blo)s(c)m(ks,)e(the)h(declaration)379
4102 y FD(CALL)47 b(DUSCR)p 864 4102 V 33 w(BLOCK)p 1137
4102 V 33 w(BEGIN\()f(mb,)h(nb,)g(k,)g(l,)g(A,)g(istat)g(\))324
b FK(\()31 b(F)-8 b(ortran)31 b(95)g(\))379 4215 y FD(CALL)47
b(BLAS)p 816 4215 V 33 w(DUSCR)p 1089 4215 V 33 w(BLOCK)p
1362 4215 V 33 w(BEGIN\()f(MB,)h(NB,)g(K,)g(L,)g(A,)h(ISTAT)e(\))99
b FK(\()31 b(F)-8 b(ortran)31 b(77)g(\))379 4328 y FD(A)48
b(=)f(BLAS)p 768 4328 V 34 w(duscr)p 1042 4328 V 33 w(block)p
1315 4328 V 33 w(begin\()f(Mb,)h(Nb,)f(k,)i(l)f(\))p
FK(;)599 b(\()31 b(C)f(\))0 4497 y(signi\014es)21 b(that)i(the)g(input)
e(matrix)h(con)m(tains)h FD(Mb)f FJ(\002)g FD(Nb)h FK(blo)s(c)m(ks,)g
(eac)m(h)h(of)f(size)g Fy(k)8 b FJ(\002)d Fy(l)r FK(,)24
b(that)f(is)f(the)h(total)h(dimensions)0 4610 y(of)31
b(the)f(matrix)g(are)h(\()p Fy(M)10 b(b)20 b FJ(\003)h
Fy(k)s FK(\))46 b FJ(\002)f FK(\()p Fy(N)10 b(b)21 b
FJ(\003)f Fy(l)r FK(\).)141 4723 y(Lik)m(ewise,)30 b(for)g(v)-5
b(ariable)29 b(blo)s(c)m(k)h(matrices,)h(the)f(declaration)171
4892 y FD(CALL)47 b(DUSCR)p 656 4892 V 33 w(VARIABLE)p
1073 4892 V 32 w(BLOCK)p 1345 4892 V 33 w(BEGIN\()f(mb,)h(nb,)g(K,)g
(L,)g(A,)g(istat)g(\))324 b FK(\()31 b(F)-8 b(ortran)31
b(95)g(\))171 5005 y FD(CALL)47 b(BLAS)p 608 5005 V 33
w(DUSCR)p 881 5005 V 33 w(VARIABLE)p 1298 5005 V 32 w(BLOCK)p
1570 5005 V 33 w(BEGIN\()f(MB,)h(NB,)g(K,)g(L,)h(A,)f(ISTAT)f(\))99
b FK(\()31 b(F)-8 b(ortran)31 b(77)g(\))171 5118 y FD(A)48
b(=)f(BLAS)p 560 5118 V 33 w(duscr)p 833 5118 V 33 w(variable)p
1250 5118 V 33 w(block)p 1523 5118 V 33 w(begin\(Mb,)e(Nb,)i(K,)g(L)g
(\);)624 b FK(\()31 b(C)f(\))0 5287 y(denotes)h(that)h(the)f(input)e
(matrix)i(has)f(a)i(v)-5 b(ariable)30 b(blo)s(c)m(k)g(structure)h
(denoted)g(b)m(y)g(the)g(in)m(teger)g(v)m(ectors)i FD(K)e
FK(and)0 5400 y FD(L)p FK(.)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 109 119
109 118 bop 0 -165 a FA(3.5.)72 b(SP)-8 b(ARSE)30 b(BLAS)g(MA)-8
b(TRICES)2411 b FK(109)p 126 3 3649 4 v 124 116 4 113
v 176 82 a FD(blas_non_unit_diag)p 1369 116 V 381 w FK(nonzero)30
b(diagonal)g(en)m(tries)g(are)h(stored)f(\(Default\))p
3773 116 V 124 229 V 176 195 a FD(blas_unit_diag)p 1369
229 V 573 w FK(diagonal)f(en)m(tries)h(are)h(not)g(stored)f(and)g
(assumed)g(to)h(b)s(e)f(1.0)p 3773 229 V 126 232 3649
4 v 124 345 4 113 v 176 311 a FD(blas_no_repeated_indice)o(s)p
1369 345 V 94 w FK(indices)e(are)j(unique)d(\(Default\))p
3773 345 V 124 458 V 176 424 a FD(blas_repeated_indices)p
1369 458 V 237 w FK(nonzero)i(v)-5 b(alues)30 b(of)h(rep)s(eated)f
(indices)e(are)j(summed)p 3773 458 V 126 462 3649 4 v
124 575 4 113 v 176 541 a FD(blas_lower_symmetric)p 1369
575 V 285 w FK(only)e(lo)m(w)m(er)i(half)e(of)i(symmetric)e(matrix)h
(is)f(sp)s(eci\014ed)g(b)m(y)h(user.)p 3773 575 V 124
687 V 176 654 a FD(blas_upper_symmetric)p 1369 687 V
285 w FK(only)f(upp)s(er)f(half)i(of)g(symmetric)g(matrix)g(is)f(sp)s
(eci\014ed)g(b)m(y)h(user.)p 3773 687 V 124 800 V 176
766 a FD(blas_lower_hermitian)p 1369 800 V 285 w FK(only)f(lo)m(w)m(er)
i(half)e(of)i(Hermitian)e(matrix)g(is)h(sp)s(eci\014ed)e(b)m(y)j(user.)
p 3773 800 V 124 913 V 176 879 a FD(blas_upper_hermitian)p
1369 913 V 285 w FK(only)e(upp)s(er)f(half)i(of)g(Hermitian)f(matrix)h
(is)g(sp)s(eci\014ed)e(b)m(y)i(user.)p 3773 913 V 126
917 3649 4 v 124 1029 4 113 v 176 996 a FD(blas_lower_triangular)p
1369 1029 V 237 w FK(sparse)g(matrix)f(is)h(lo)m(w)m(er)g(triangular)p
3773 1029 V 124 1142 V 176 1109 a FD(blas_upper_triangular)p
1369 1142 V 237 w FK(sparse)g(matrix)f(is)h(upp)s(er)e(triangular)p
3773 1142 V 126 1146 3649 4 v 124 1259 4 113 v 176 1225
a FD(blas_zero_base)p 1369 1259 V 573 w FK(indices)g(of)j(inserted)e
(items)h(are)h(0-based)f(\(Default)h(for)f(C\))p 3773
1259 V 124 1372 V 176 1338 a FD(blas_one_base)p 1369
1372 V 621 w FK(indices)e(of)j(inserted)e(items)h(are)h(1-based)f
(\(Default)h(for)f(F)-8 b(ortran\))p 3773 1372 V 126
1375 3649 4 v 124 1488 4 113 v 1369 1488 V 1421 1454
a(Applicable)28 b(for)i(blo)s(c)m(k)g(en)m(tries)g(only)p
3773 1488 V 124 1601 V 176 1567 a FD(blas_rowmajor)p
1369 1601 V 621 w FK(dense)g(blo)s(c)m(k)g(stored)g(ro)m(w)g(ma)5
b(jor)31 b(order)f(\(Default)h(for)f(C\))p 3773 1601
V 124 1714 V 176 1680 a FD(blas_colmajor)p 1369 1714
V 621 w FK(dense)g(blo)s(c)m(k)g(stored)g(col)g(ma)5
b(jor)31 b(order)f(\(Default)h(for)f(F)-8 b(ortran\))p
3773 1714 V 126 1717 3649 4 v 124 1830 4 113 v 176 1796
a FD(blas_irregular)p 1369 1830 V 573 w FK(general)30
b(unstructured)e(matrix)p 3773 1830 V 124 1943 V 176
1909 a FD(blas_regular)p 1369 1943 V 669 w FK(structured)h(matrix)p
3773 1943 V 124 2056 V 176 2022 a FD(blas_block_irregular)p
1369 2056 V 285 w FK(unstructured)f(matrix)i(b)s(est)g(represen)m(ted)g
(b)m(y)g(blo)s(c)m(ks)p 3773 2056 V 124 2169 V 176 2135
a FD(blas_block_regular)p 1369 2169 V 381 w FK(structured)f(matrix)h(b)
s(est)g(represen)m(ted)g(b)m(y)g(blo)s(c)m(ks)p 3773
2169 V 124 2281 V 176 2248 a FD(blas_unassembled)p 1369
2281 V 477 w FK(matrix)f(is)h(b)s(est)g(represen)m(ted)g(b)m(y)g
(cliques)p 3773 2281 V 126 2285 3649 4 v 926 2426 a(T)-8
b(able)30 b(3.4:)42 b(Matrix)30 b(prop)s(erties)f(\(can)i(b)s(e)e(set)i
(b)m(y)g(USSP\).)0 2706 y Fx(3.5.2)97 b(Sp)s(ecifying)32
b(matrix)h(p)m(rop)s(erties)0 2878 y FK(The)c(creation)g(routines)g
(allo)m(w)f(one)i(to)g(sp)s(ecify)e(v)-5 b(arious)28
b(prop)s(erties)g(ab)s(out)h(the)g(matrix)g(and)f(optionally)g(pro-)0
2990 y(vide)22 b(hin)m(ts)h(to)h(the)f(underlying)e(BLAS)i(implemen)m
(tation)f(ab)s(out)h(ho)m(w)g(the)h(matrix)f(will)d(b)s(e)j(used)g(in)f
(subsequen)m(t)0 3103 y(BLAS)30 b(calls,)g(so)h(that)g(p)s(ossible)c
(optimization)j(ma)m(y)h(tak)m(e)h(place.)141 3145 y(When)i(creating)g
(a)g(handle)e(to)j(a)f(BLAS)g(sparse)f(matrix,)h(one)g(or)g(more)g(of)g
(the)g(prop)s(erties)e(in)g(T)-8 b(able)34 b(3.4)0 3258
y(ma)m(y)28 b(b)s(e)f(sp)s(eci\014ed)f(with)g(the)i(use)f(of)g(the)h
(USSP)e(\(set)j(prop)s(ert)m(y\))e(routine)f(\(See)j(Section)e
(3.8.9\).)42 b(F)-8 b(or)28 b(example,)1139 3468 y FD(USSP\()46
b(A,)h(blas_lower_triangular)42 b(\);)1139 3581 y(USSP\()k(A,)h
(blas_unit_diag)d(\);)0 3786 y FK(denotes)31 b(a)g(lo)m(w)m(er)f
(triangular)f(matrix,)h(with)f(an)h(implicit)e(unit)g(diagonal.)141
3899 y(The)e(input)f(prop)s(erties)g(\(T)-8 b(able)26
b(3.4\),)k(are)d(m)m(utually)e(exclusiv)m(e)h(for)g(eac)m(h)i(category)
g(and)e(ma)m(y)i(b)s(e)e(sp)s(eci\014ed)0 4012 y(only)j(once.)42
b(The)30 b(result)f(is)g(unde\014ned)g(if)g(incompatible)f(prop)s
(erties)h(are)i(requested.)141 4125 y(An)h(optional)f(description)f(of)
i(the)g(sparsit)m(y)g(pattern)g(of)g(the)g(matrix)f(ma)m(y)i(b)s(e)e
(sp)s(eci\014ed)g(at)h(construction)0 4237 y(time.)80
b(These)44 b(prop)s(erties)e(are)i(listed)e(as)i(the)g(last)f(group)h
(in)e(T)-8 b(able)43 b(3.4)i(and)e(their)g(use)g(ma)m(y)h(assist)g(the)
0 4350 y(underlying)36 b(implemen)m(tation)j(in)f(c)m(ho)s(osing)h(the)
h(most)g(e\016cien)m(t)g(in)m(ternal)e(data)i(structure)f(for)h
(subsequen)m(t)0 4463 y(computation.)e(Note)24 b(that)f(eac)m(h)h
(description)c(is)i(m)m(utually)f(exclusiv)m(e.)37 b(The)22
b(sp)s(eci\014cation)g(of)h(these)g(prop)s(erties)0 4576
y(is)29 b(optional)h(and)g(do)s(es)g(not)g(e\013ect)i(the)f
(correctness)g(of)g(the)f(program.)0 4820 y Fx(3.5.3)97
b(Spa)m(rse)34 b(Matrices:)44 b(Inserting)33 b(a)f(Single)h(Entry)0
4991 y FK(The)38 b(basic)g(insertion)f(routine)h FD(USCR_INSERT_ENTRY)c
FK(allo)m(ws)k(one)g(to)i(build)35 b(a)k(sparse)g(matrix,)h(one)f
(scalar)0 5104 y(en)m(try)29 b(at)g(a)g(time,)g(b)m(y)g(sp)s(ecifying)d
(its)i(ro)m(w)h(and)f(column)f(index)g(together)j(with)e(its)g(n)m
(umeric)f(v)-5 b(alue.)40 b(Although)0 5217 y(there)29
b(are)h(other)g(insertion)d(routines)h(for)h(sp)s(ecial)f(structures)h
(\(see)h(b)s(elo)m(w\))f(this)f(v)m(ersion)g(is)h(the)g(simplest)f(and)
0 5330 y(most)j(univ)m(ersal,)e(as)h(it)g(allo)m(ws)g(one)g(to)i(build)
27 b(a)k(BLAS)f(Sparse)g(Matrix)g(from)g(an)m(y)g(giv)m(en)h(format.)
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 110 120
110 119 bop 0 -165 a FK(110)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)p 197 3 3506 4 v 195 116 4 113
v 247 82 a FD(blas_num_rows)p 1298 116 V 478 w FK(returns)g(the)i(n)m
(um)m(b)s(er)e(of)h(ro)m(ws)h(of)f(matrix)p 3701 116
V 195 229 V 247 195 a FD(blas_num_cols)p 1298 229 V 478
w FK(returns)f(the)i(n)m(um)m(b)s(er)e(of)h(columns)f(of)i(matrix)p
3701 229 V 195 342 V 247 308 a FD(blas_num_nonzeros)p
1298 342 V 286 w FK(returns)e(the)i(n)m(um)m(b)s(er)e(of)h(stored)h(en)
m(tries)p 3701 342 V 197 345 3506 4 v 195 458 4 113 v
247 424 a FD(blas_complex)p 1298 458 V 526 w FK(matrix)f(v)-5
b(alues)29 b(are)i(complex)p 3701 458 V 195 571 V 247
537 a FD(blas_real)p 1298 571 V 670 w FK(matrix)f(v)-5
b(alues)29 b(are)i(real)p 3701 571 V 195 684 V 247 650
a FD(blas_integer)p 1298 684 V 526 w FK(matrix)f(v)-5
b(alues)29 b(are)i(in)m(teger)p 3701 684 V 195 797 V
247 763 a FD(blas_double_precision)p 1298 797 V 94 w
FK(matrix)f(v)-5 b(alues)29 b(are)i(single)e(precision)p
3701 797 V 195 910 V 247 876 a FD(blas_single_precision)p
1298 910 V 94 w FK(matrix)h(v)-5 b(alues)29 b(are)i(double)e(precision)
p 3701 910 V 197 913 3506 4 v 195 1026 4 113 v 247 992
a FD(blas_general)p 1298 1026 V 526 w FK(neither)g(symmetric)h(nor)g
(Hermitian)f(\(Default\))p 3701 1026 V 195 1139 V 247
1105 a FD(blas_symmetric)p 1298 1139 V 430 w FK(sparse)h(matrix)g(is)f
(symmetric)p 3701 1139 V 195 1252 V 247 1218 a FD(blas_hermitian)p
1298 1252 V 430 w FK(\(complex\))i(sparse)f(matrix)g(is)f(Hermitian)p
3701 1252 V 197 1255 3506 4 v 195 1368 4 113 v 247 1334
a FD(blas_lower_triangular)p 1298 1368 V 94 w FK(sparse)h(matrix)g(is)f
(lo)m(w)m(er)i(triangular)p 3701 1368 V 195 1481 V 247
1447 a FD(blas_upper_triangular)p 1298 1481 V 94 w FK(sparse)f(matrix)g
(is)f(upp)s(er)g(triangular)p 3701 1481 V 197 1484 3506
4 v 195 1597 4 113 v 247 1563 a FD(blas_zero_base)p 1298
1597 V 430 w FK(indices)g(of)h(inserted)f(items)h(are)h(0-based)g
(\(Default)g(for)f(C\))p 3701 1597 V 195 1710 V 247 1676
a FD(blas_one_base)p 1298 1710 V 478 w FK(indices)f(of)h(inserted)f
(items)h(are)h(1-based)g(\(Default)g(for)f(F)-8 b(ortran\))p
3701 1710 V 197 1714 3506 4 v 195 1826 4 113 v 1298 1826
V 1349 1793 a(Applicable)28 b(for)i(blo)s(c)m(k)g(en)m(tries)g(only)p
3701 1826 V 195 1939 V 247 1906 a FD(blas_rowmajor)p
1298 1939 V 478 w FK(dense)g(blo)s(c)m(k)g(stored)g(ro)m(w)h(ma)5
b(jor)30 b(order)g(\(Default)h(for)f(C\))p 3701 1939
V 195 2052 V 247 2018 a FD(blas_colmajor)p 1298 2052
V 478 w FK(dense)g(blo)s(c)m(k)g(stored)g(col)h(ma)5
b(jor)30 b(order)g(\(Default)h(for)f(F)-8 b(ortran\))p
3701 2052 V 197 2056 3506 4 v 195 2169 4 113 v 247 2135
a FD(blas_void_handle)p 1298 2169 V 334 w FK(handle)29
b(not)i(curren)m(tly)e(in)g(use)p 3701 2169 V 195 2281
V 247 2248 a FD(blas_new_handle)p 1298 2281 V 382 w FK(handle)g
(created)i(but)f(no)g(en)m(tries)h(inserted)e(so)h(far)p
3701 2281 V 195 2394 V 247 2360 a FD(blas_open_handle)p
1298 2394 V 334 w FK(an)g(en)m(try)h(has)f(b)s(een)g(inserted)f(but)h
(creation)g(not)h(y)m(et)g(\014nished)p 3701 2394 V 195
2507 V 247 2473 a FD(blas_valid_handle)p 1298 2507 V
286 w FK(creation)g(completed)f(\()p FD(USCR_END)f FK(has)h(b)s(een)f
(called\))p 3701 2507 V 197 2511 3506 4 v 885 2652 a(T)-8
b(able)30 b(3.5:)42 b(Matrix)30 b(prop)s(erties)f(\(can)i(b)s(e)f(read)
g(b)m(y)g(USGP\).)0 2932 y Fx(3.5.4)97 b(Spa)m(rse)34
b(Matrices:)44 b(Inserting)33 b(List)g(of)f(Entries)0
3103 y FK(The)g(insertion)f(routine)g FD(USCR_INSERT_ENTRIES)d
FK(allo)m(ws)k(us)f(to)j(pass)e(a)h(list)e(of)i(en)m(tries)f(with)f
(arbitrary)h(ro)m(w)0 3216 y(and)i(column)e(indices.)51
b(W)-8 b(e)35 b(describ)s(e)e(this)g(list)f(with)h(a)i(similar)c(set)k
(of)f(data)h(structures)f(as)g(used)f(for)h(sparse)0
3329 y(v)m(ectors,)25 b(but)d(no)m(w)g(need)g(t)m(w)m(o)h(in)m(teger)f
(v)m(ectors,)k(one)c(con)m(taining)g(the)g(ro)m(w)g(indices)e(\(called)
i(IND)m(X\))h(and)f(another)0 3442 y(con)m(taining)30
b(the)g(column)g(indices)e(\(called)i(JND)m(X\).)141
3555 y(T)-8 b(o)31 b(illustrate)e(this,)g(consider)g(the)i(follo)m
(wing)e(matrix:)1364 3921 y Fy(A)d FK(=)1553 3677 y Ft(0)1553
3823 y(B)1553 3873 y(B)1553 3923 y(B)1553 3976 y(@)1668
3751 y FK(1)p Fy(:)p FK(1)155 b(0)f(0)g(0)1738 3864 y(0)84
b(2)p Fy(:)p FK(2)155 b(0)83 b(2)p Fy(:)p FK(4)1738 3977
y(0)155 b(0)83 b(3)p Fy(:)p FK(3)155 b(0)1668 4090 y(4)p
Fy(:)p FK(1)g(0)f(0)83 b(4)p Fy(:)p FK(4)2423 3677 y
Ft(1)2423 3823 y(C)2423 3873 y(C)2423 3923 y(C)2423 3976
y(A)2511 3921 y Fy(:)1177 b FK(\(3.1\))0 4292 y(W)-8
b(e)31 b(can)g(pass)f(in)e(all)h(en)m(tries)h(\(follo)m(wing)f(a)i
(call)e(to)i(one)g(of)f(the)g(BEGIN)h(routines\))e(b)m(y)h(de\014ning)e
(NZ)i(=)g(6)h(and)0 4405 y(setting)1087 4510 y(V)-10
b(AL)83 b(=)f(\()i(1)p Fy(:)p FK(1)g(2)p Fy(:)p FK(2)g(2)p
Fy(:)p FK(4)g(3)p Fy(:)p FK(3)g(4)p Fy(:)p FK(1)h(4)p
Fy(:)p FK(4)109 b(\))1033 4623 y(IND)m(X)85 b(=)d(\()154
b(1)h(2)f(2)g(3)g(4)g(4)109 b(\))1020 4735 y(JND)m(X)84
b(=)e(\()154 b(1)h(2)f(4)g(3)g(1)g(4)84 b(\))p Fy(:)0
4900 y FK(Note)35 b(that)f(calls)f(to)h(the)g(C)f(in)m(terface)h(w)m
(ould)e(default)h(to)h(using)e(0-based)i(indices)d(\(see)k(Section)e
(3.4.2\).)52 b(The)0 5013 y(ordering)29 b(of)i(the)f(en)m(tries)g(is)g
(arbitrary)-8 b(.)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 111 121
111 120 bop 0 -165 a FA(3.6.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)2668 b FK(111)0 91 y Fx(3.5.5)97 b(Spa)m(rse)34
b(Matrices:)44 b(Inserting)33 b(Ro)m(w)g(and)f(Column)h(V)m(ecto)m(rs)0
263 y FK(The)i(insertion)f(routines)g FD(USCR_INSERT_COL)e
FK(and)j FD(USCR_INSERT_ROW)c FK(allo)m(w)k(us)g(to)h(pass)f(a)h(list)e
(of)i(en)m(tries)0 376 y(that)42 b(all)e(b)s(elong)g(to)i(the)f(same)g
(column)f(or)h(ro)m(w)g(of)h(a)f(matrix.)72 b(The)41
b(data)h(structures)e(used)g(to)i(pass)f(the)0 489 y(information)29
b(are)h(iden)m(tical)g(to)h(those)g(used)e(to)i(describ)s(e)e(a)i
(sparse)f(v)m(ector)i(in)d(Section)h(3.4.1.)0 732 y Fx(3.5.6)97
b(Spa)m(rse)34 b(Matrices:)44 b(Inserting)33 b(Cliques)0
904 y FK(A)j(clique)f(is)g(a)i(t)m(w)m(o-dimensional)d(arra)m(y)j(of)f
(v)-5 b(alues)36 b(with)e(in)m(teger)j(ro)m(w)f(and)f(column)g(v)m
(ectors)j(that)f(describ)s(e)0 1017 y(ho)m(w)29 b(the)g(v)-5
b(alues)28 b(will)e(b)s(e)i(scattered)i(in)m(to)f(the)g(sparse)g
(matrix.)39 b(Suc)m(h)28 b(data)i(structures)e(are)h(common)g(in)f
(\014nite)0 1130 y(elemen)m(t)37 b(computations.)59 b(Consider)34
b(the)j(matrix)f Fy(A)g FK(in)g(Section)g(3.5.4.)61 b(W)-8
b(e)37 b(can)g(pass)f(in)f(the)i(\(2,2\),)j(\(2,4\),)0
1243 y(\(4,2\))32 b(and)e(\(4,4\))i(en)m(tries)e(as)h(a)g(clique)e(b)m
(y)h(de\014ning)e(a)j(t)m(w)m(o-dimensional)e(arra)m(y)1533
1512 y(V)-10 b(AL)25 b(=)1837 1368 y Ft( )1944 1456 y
FK(2)p Fy(:)p FK(2)85 b(2)p Fy(:)p FK(4)1944 1568 y(0)p
Fy(:)p FK(0)g(4)p Fy(:)p FK(4)2301 1368 y Ft(!)3713 1512
y FK(\(3.2\))0 1777 y(and)30 b(its)g(asso)s(ciated)g(ro)m(w)h(and)f
(column)f(scattering)i(v)m(ectors)h(as)1503 1973 y(IND)m(X)84
b(=)e(\()i(2)f(4)109 b(\))1489 2086 y(JND)m(X)84 b(=)e(\()i(2)f(4)h(\))
p Fy(:)0 2288 y FK(Note)30 b(that)e(the)h(structure)f(allo)m(ws)f
(cliques)g(to)i(b)s(e)f(other)g(than)g(principal)d(submatrices)i(\(in)g
(whic)m(h)g(case)j(arra)m(ys)0 2401 y(IND)m(X)h(and)f(JND)m(X)h(could)f
(di\013er\))f(and)h(indeed)f(allo)m(ws)h(the)g(clique)f(matrices)i(to)g
(b)s(e)f(rectangular.)0 2687 y FE(3.6)116 b(Interface)38
b(Issues)0 2893 y Fx(3.6.1)97 b(Interface)33 b(Issues)h(fo)m(r)e(F)m(o)
m(rtran)i(95)136 3065 y FJ(\017)46 b FK(Prede\014ned)29
b(constan)m(ts)j(for)e(the)h(Sparse)e(BLAS)h(are)h(included)d(in)h(the)
h(mo)s(dule)227 3178 y(\\)p FD(blas)p 470 3178 29 4 v
34 w(sparse)p 792 3178 V 33 w(namedconstants)p FK(".)51
b(These)35 b(include)e(the)j(sparse)e(matrix)h(prop)s(erties)e(constan)
m(ts)k(de-)227 3291 y(\014ned)42 b(in)g(T)-8 b(ables)43
b(3.4)h(and)f(3.5.)80 b(A)43 b(mo)s(dule)f(\\)p FD(blas)p
2137 3291 V 34 w(sparse)p 2459 3291 V 32 w(proto)p FK(")h(of)g
(explicit)e(in)m(terfaces)j(to)g(all)227 3404 y(routines)30
b(is)f(also)h(pro)m(vided.)136 3591 y FJ(\017)46 b FK(Sparse)34
b(matrix/v)m(ector)j(indices)c(are)i(assumed)g(to)g(b)s(egin)f(at)i(1)f
(\(that)h(is)e(they)h(are)g(1-based\),)i(but)e(can)227
3704 y(b)s(e)30 b(o)m(v)m(erridden)f(b)m(y)i(sp)s(ecifying)d
FD(blas_zero_base)e FK(at)32 b(the)e(time)g(of)h(creation.)136
3892 y FJ(\017)46 b FK(The)30 b(v)-5 b(alues)30 b(of)g(the)h(named)f
(constan)m(ts)h(are)g(as)g(sp)s(eci\014ed)d(in)i(Section)g(A.4.)136
4079 y FJ(\017)46 b FK(Error)30 b(handling)d(is)j(as)g(de\014ned)g(in)f
(Section)h(2.4.6.)141 4292 y(The)g(in)m(terface)h(example)f(b)s(elo)m
(w)g(illustrates)e(m)m(ultiplying)f(a)k(sparse)f(4)20
b FJ(\002)g FK(4)31 b(matrix)1384 4658 y Fy(A)26 b FK(=)1574
4414 y Ft(0)1574 4560 y(B)1574 4610 y(B)1574 4660 y(B)1574
4713 y(@)1688 4488 y FK(1)p Fy(:)p FK(1)155 b(0)f(0)g(0)1759
4601 y(0)83 b(2)p Fy(:)p FK(2)155 b(0)83 b(2)p Fy(:)p
FK(4)1759 4714 y(0)154 b(0)83 b(3)p Fy(:)p FK(3)155 b(0)1688
4827 y(4)p Fy(:)p FK(1)g(0)f(0)83 b(4)p Fy(:)p FK(4)2443
4414 y Ft(1)2443 4560 y(C)2443 4610 y(C)2443 4660 y(C)2443
4713 y(A)3713 4658 y FK(\(3.3\))0 5029 y(with)38 b(the)i(v)m(ector)h
Fy(x)f FK(=)g FJ(f)p FK(1)p Fy(:)p FK(0)p Fy(;)15 b FK(1)p
Fy(:)p FK(0)p Fy(;)g FK(1)p Fy(:)p FK(0)p Fy(;)g FK(1)p
Fy(:)p FK(0)q FJ(g)46 b FK(p)s(erforming)37 b(the)i(op)s(eration)g
Fy(y)44 b FJ( )c Fy(Ax)p FK(.)68 b(In)39 b(this)f(example,)k(the)0
5142 y(sparse)30 b(matrix)g(is)f(input)g(b)m(y)h(p)s(oin)m(t)f
(\(rather)i(than)f(blo)s(c)m(k\))g(en)m(tries.)-214 64
y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 112 122
112 121 bop 0 -165 a FK(112)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)0 91 y FD(!)47 b(Fortran)f(95)h(example:)f
(sparse)g(matrix-vector)e(multiplication)0 317 y(PROGRAM)i(F95_EX)0
430 y(USE)h(blas_sparse)0 656 y(IMPLICIT)f(NONE)0 769
y(INTEGER)g(NMAX,)g(NNZ)0 882 y(PARAMETER)f(\(NMAX)i(=)g(4,)g(NNZ)g(=)h
(6\))0 995 y(INTEGER)e(i,)h(n,)g(a,)g(istat)0 1108 y(INTEGER,)f
(DIMENSION\(:\),)e(ALLOCATABLE::indx,jndx)0 1220 y(DOUBLE)i(PRECISION,)
f(DIMENSION\(:\),)f(ALLOCATABLE::)g(val,)j(x,)g(y)0 1446
y(ALLOCATE\(val\(NNZ\),x\(NMAX)o(\),y\()o(NMAX)o(\),i)o(ndx\()o(NNZ\))o
(,jn)o(dx\(N)o(NZ\)\))0 1672 y(indx=\(/1,2,2,3,4,4/\))0
1785 y(jndx=\(/1,2,4,3,1,4/\))0 1898 y(val=\(/1.1,2.2,2.4,3.3,4.)o
(1,4.)o(4/\))286 2124 y(N)h(=)f(NMAX)0 2237 y(!)0 2350
y(!)238 b(--------------------------)o(---)o(----)o(-)0
2462 y(!)g(Step)47 b(1:)95 b(Create)46 b(Sparse)g(BLAS)h(Handle)0
2575 y(!)238 b(--------------------------)o(---)o(----)o(-)0
2688 y(!)286 2801 y(CALL)95 b(duscr_begin\(n,n,a,istat)o(\))0
2914 y(!)0 3027 y(!)238 b(--------------------------)o(---)o(----)o(-)0
3140 y(!)g(Step)47 b(2:)95 b(Insert)46 b(entries)g(one-by-one)0
3253 y(!)238 b(--------------------------)o(---)o(----)o(-)0
3366 y(!)286 3479 y(DO)48 b(i=1,)e(nnz)382 3592 y(CALL)g
(uscr_insert_entry\(A,)d(val\(i\),)j(indx\(i\),)f(jndx\(i\),)h(istat\))
286 3704 y(END)h(DO)0 3817 y(!)0 3930 y(!)238 b
(--------------------------)o(---)o(----)o(----)o(---)o(----)o(---)0
4043 y(!)g(Step)47 b(3:)95 b(Complete)45 b(construction)g(of)i(sparse)f
(matrix)0 4156 y(!)238 b(--------------------------)o(---)o(----)o
(----)o(---)o(----)o(---)0 4269 y(!)286 4382 y(CALL)47
b(uscr_end\(a,istat\))0 4495 y(!)0 4608 y(!)238 b
(--------------------------)o(---)o(----)o(----)o(---)o(----)o(-)0
4721 y(!)g(Step)47 b(4:)g(Compute)f(Matrix)g(vector)g(product)g(y)h(=)h
(A*x)0 4834 y(!)238 b(--------------------------)o(---)o(----)o(----)o
(---)o(----)o(-)0 4946 y(!)286 5059 y(CALL)47 b(usmv\(a,x,y,istat\))0
5172 y(!)0 5285 y(!)238 b(--------------------------)o(---)o(-)0
5398 y(!)g(Step)47 b(5:)95 b(Release)46 b(Matrix)g(Handle)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 113 123
113 122 bop 0 -165 a FA(3.6.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)2668 b FK(113)0 91 y FD(!)238 b(--------------------------)o
(---)o(-)0 204 y(!)286 317 y(CALL)47 b(usds\(a,istat\))286
430 y(END)0 672 y Fx(3.6.2)97 b(Interface)33 b(Issues)h(fo)m(r)e(F)m(o)
m(rtran)i(77)0 844 y FK(Although)29 b(F)-8 b(ortran)31
b(77)g(is)e(no)g(longer)h(a)g(standard,)g(F)-8 b(ortran)31
b(77)f(compilers)f(are)h(still)e(hea)m(vily)h(used)g(and)h(there)0
957 y(are)41 b(man)m(y)g(F)-8 b(ortran)41 b(applications)e(that,)44
b(ev)m(en)d(if)f(compiled)f(with)g(a)i(F)-8 b(ortran)42
b(95)f(compiler,)h(use)e(a)i(subset)0 1070 y(of)f(the)h(language)g
(that)g(is)e(v)m(ery)i(close)f(to)i(F)-8 b(ortran)42
b(77.)74 b(In)41 b(addition,)h(w)m(e)g(ha)m(v)m(e)g(seen)g(in)e(the)h
(C)g(in)m(terface)0 1183 y(to)k(the)g(legacy)g(BLAS)f(\(see)h(Chapter)f
(B\))h(that)g(a)f(F)-8 b(ortran)45 b(77)h(library)41
b(can)k(pro)m(vide)e(the)i(v)-5 b(ast)45 b(ma)5 b(jorit)m(y)0
1296 y(of)31 b(functionalit)m(y)e(required)g(b)m(y)i(a)g(higher)f(lev)m
(el)g(in)m(terface)h(and)g(greatly)g(reduce)g(the)g(o)m(v)m(erall)g
(amoun)m(t)g(of)g(w)m(ork)0 1408 y(required)22 b(to)i(dev)m(elop)f(and)
g(supp)s(ort)f(m)m(ultiple)f(language)j(bindings.)35
b(F)-8 b(or)24 b(these)g(reasons)g(w)m(e)g(pro)m(vide)e(a)i(F)-8
b(ortran)0 1521 y(77)31 b(in)m(terface)g(to)g(the)g(sparse)f(BLAS.)136
1726 y FJ(\017)46 b FK(Prede\014ned)100 b(constan)m(ts)i(for)f(the)g
(Sparse)f(BLAS)h(are)h(included)c(in)i(the)h(header)g(\014le)227
1839 y(\\)p FD(blas)p 470 1839 29 4 v 34 w(namedconstants.h)p
FK(".)70 b(These)42 b(include)d(the)j(sparse)f(matrix)g(prop)s(erties)e
(constan)m(ts)k(de\014ned)227 1952 y(in)29 b(T)-8 b(ables)30
b(3.4)i(and)d(3.5.)136 2137 y FJ(\017)46 b FK(Sparse)34
b(matrix/v)m(ector)j(indices)c(are)i(assumed)g(to)g(b)s(egin)f(at)i(1)f
(\(that)h(is)e(they)h(are)g(1-based\),)i(but)e(can)227
2250 y(b)s(e)30 b(o)m(v)m(erridden)f(b)m(y)i(sp)s(ecifying)d
FD(blas_zero_base)e FK(at)32 b(the)e(time)g(of)h(creation.)136
2435 y FJ(\017)46 b FK(The)30 b(v)-5 b(alues)30 b(of)g(the)h(named)f
(constan)m(ts)h(are)g(as)g(sp)s(eci\014ed)d(in)i(Section)g(A.5.)136
2620 y FJ(\017)46 b FK(Error)30 b(handling)d(is)j(as)g(de\014ned)g(in)f
(Section)h(2.5.6.)141 2824 y(The)g(follo)m(wing)f(program)h
(illustrates)e(the)j(use)f(of)h(F)-8 b(ortran)31 b(77)g(co)s(des)f(on)h
(the)f(matrix)g(3.3.)0 3029 y FD(C)238 b(Fortran)46 b(77)h(example:)f
(sparse)g(matrix-vector)e(multiplication)286 3255 y(PROGRAM)i(F77_EX)
286 3368 y(IMPLICIT)g(NONE)286 3481 y(INCLUDE)g
("blas_namedconstants.h")286 3593 y(INTEGER)g(NMAX,)h(NNZ)286
3706 y(PARAMETER)f(\(NMAX)g(=)h(4,)h(NNZ)f(=)g(6\))286
3819 y(INTEGER)f(I,)h(N,)h(ISTAT,)e(A)286 3932 y(INTEGER)g
(INDX\(NNZ\),)f(JNDX\(NNZ\))286 4045 y(DOUBLE)h(PRECISION)g
(VAL\(NNZ\),)f(X\(NMAX\),)h(Y\(NMAX\))0 4158 y(C)0 4271
y(C)238 b(--------------------------)o(---)o(----)o(----)o(---)o(----)o
(---)0 4384 y(C)g(Define)46 b(Matrix,)g(LHS)h(and)g(RHS)g(in)g
(Coordinate)e(format)0 4497 y(C)238 b(--------------------------)o(---)
o(----)o(----)o(---)o(----)o(---)0 4610 y(C)286 4723
y(DATA)47 b(VAL)142 b(/)48 b(1.1,)e(2.2,)h(2.4,)g(3.3,)f(4.1,)h(4.4/)
286 4835 y(DATA)g(INDX)94 b(/)143 b(1,)g(2,)g(2,)f(3,)h(4,)f(4/)286
4948 y(DATA)47 b(JNDX)94 b(/)143 b(1,)g(2,)g(4,)f(3,)h(1,)f(4/)0
5061 y(C)286 5174 y(DATA)47 b(X)238 b(/)48 b(1.,)f(1.,)g(1.,)g(1./)286
5287 y(DATA)g(Y)238 b(/)48 b(0.,)f(0.,)g(0.,)g(0./)0
5400 y(C)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 114 124
114 123 bop 0 -165 a FK(114)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)286 91 y FD(N)48 b(=)f(NMAX)0
204 y(C)0 317 y(C)238 b(--------------------------)o(---)o(----)o(-)0
430 y(C)g(Step)47 b(1:)95 b(Create)46 b(Sparse)g(BLAS)h(Handle)0
543 y(C)238 b(--------------------------)o(---)o(----)o(-)0
656 y(C)286 769 y(CALL)47 b(BLAS_DUSCR_BEGIN\()c(N,)k(N,)g(A,)h
(ISTAT\))0 882 y(C)0 995 y(C)238 b(--------------------------)o(---)o
(----)o(-)0 1108 y(C)g(Step)47 b(2:)95 b(Insert)46 b(entries)g
(one-by-one)0 1220 y(C)238 b(--------------------------)o(---)o(----)o
(-)0 1333 y(C)286 1446 y(DO)48 b(10)f(I=1,)f(NNZ)382
1559 y(CALL)g(BLAS_DUSCR_INSERT_ENTRY\(A,)41 b(VAL\(I\),)46
b(INDX\(I\),)f(JNDX\(I\),)h(ISTAT\))48 1672 y(10)142
b(CONTINUE)0 1785 y(C)0 1898 y(C)238 b(--------------------------)o
(---)o(----)o(----)o(---)o(----)o(---)0 2011 y(C)g(Step)47
b(3:)95 b(Complete)45 b(construction)g(of)i(sparse)f(matrix)0
2124 y(C)238 b(--------------------------)o(---)o(----)o(----)o(---)o
(----)o(---)0 2237 y(C)286 2350 y(CALL)47 b(BLAS_USCR_END\(A,)c
(ISTAT\))0 2462 y(C)0 2575 y(C)238 b(--------------------------)o(---)o
(----)o(----)o(---)o(----)o(-)0 2688 y(C)g(Step)47 b(4:)g(Compute)f
(Matrix)g(vector)g(product)g(y)h(=)h(A*x)0 2801 y(C)238
b(--------------------------)o(---)o(----)o(----)o(---)o(----)o(-)0
2914 y(C)286 3027 y(CALL)47 b(BLAS_DUSMV\()e(BLAS_NO_TRANS,)f(1.0,)i
(A,)h(X,)h(1,)f(Y,)g(1,)g(ISTAT)g(\))0 3140 y(C)0 3253
y(C)238 b(--------------------------)o(---)o(-)0 3366
y(C)g(Step)47 b(5:)95 b(Release)46 b(Matrix)g(Handle)0
3479 y(C)238 b(--------------------------)o(---)o(-)0
3592 y(C)286 3704 y(CALL)47 b(BLAS_USDS\(A,ISTAT\))286
3930 y(END)0 4174 y Fx(3.6.3)97 b(Interface)33 b(Issues)h(fo)m(r)e(C)
136 4345 y FJ(\017)46 b FK(Prede\014ned)39 b(constan)m(ts)j(for)e(the)g
(Sparse)g(BLAS)g(are)h(included)c(in)i(the)i(header)f(\014le)f(\\)p
FD(blas)p 3515 4345 29 4 v 34 w(enum.h)p FK(".)227 4458
y(These)30 b(include)f(the)h(sparse)g(matrix)g(prop)s(erties)f(constan)
m(ts)i(de\014ned)e(in)g(T)-8 b(ables)30 b(3.4)i(and)d(3.5.)136
4646 y FJ(\017)46 b FK(Sparse)34 b(matrix/v)m(ector)j(indices)c(are)i
(assumed)g(to)g(b)s(egin)f(at)i(0)f(\(that)h(is)e(they)h(are)g
(0-based\),)i(but)e(can)227 4759 y(b)s(e)30 b(o)m(v)m(erridden)f(b)m(y)
i(sp)s(ecifying)d FD(blas_one_base)f FK(at)k(the)f(time)g(of)h
(creation.)136 4946 y FJ(\017)46 b FK(Sparse)30 b(matrix)g(handles)e
(are)j(in)m(tegers,)g(but)f(are)g FD(typedef)f FK(to)i
FD(blas_sparse_matrix)25 b FK(for)31 b(clarit)m(y)-8
b(.)136 5134 y FJ(\017)46 b FK(The)30 b(v)-5 b(alues)30
b(of)g(the)h(en)m(umerated)g(t)m(yp)s(es)f(are)h(as)f(sp)s(eci\014ed)f
(in)g(Section)h(A.6.)136 5322 y FJ(\017)46 b FK(Error)30
b(handling)d(is)j(as)g(de\014ned)g(in)f(Section)h(2.6.9.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 115 125
115 124 bop 0 -165 a FA(3.6.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)2668 b FK(115)141 91 y(The)30 b(follo)m(wing)f(program)h
(illustrates)e(the)j(use)f(of)h(C)f(co)s(des)g(on)g(the)h(matrix)f
(3.3.)191 304 y FD(/*)47 b(C)h(example:)93 b(sparse)46
b(matrix/vector)e(multiplication)g(*/)191 530 y(#include)h
("blas_sparse.h")0 756 y(int)i(main\(\))0 868 y({)191
981 y(const)f(int)h(N)h(=)f(4;)191 1094 y(const)f(int)h(nz)g(=)h(6;)191
1207 y(double)e(val[])g(=)i({)f(1.1,)g(2.2,)g(2.4,)f(3.3,)h(4.1,)f(4.4)
h(};)191 1320 y(int)142 b(indx[])46 b(=)i({)143 b(0,)f(1,)h(1,)g(2,)f
(3,)h(3};)191 1433 y(int)f(jndx[])46 b(=)i({)143 b(0,)f(1,)h(3,)g(2,)f
(0,)h(3};)191 1546 y(double)e(x[])47 b(=)h({)f(1.0,)g(1.0,)g(1.0,)f
(1.0)h(};)191 1659 y(double)141 b(y[])47 b(=)h({)f(0.0,)g(0.0,)g(0.0,)f
(0.0)h(};)191 1885 y(blas_sparse_matrix)c(A;)191 1998
y(int)k(i;)191 2110 y(double)f(alpha)g(=)i(1.0;)191 2336
y(/*----------------------)o(----)o(---)o(----)o(---*)o(/)191
2449 y(/*)f(Step)g(1:)g(Create)f(Sparse)g(BLAS)h(Handle)94
b(*/)191 2562 y(/*----------------------)o(----)o(---)o(----)o(---*)o
(/)191 2788 y(A)47 b(=)h(BLAS_duscr_begin\()43 b(N,)k(N)h(\);)191
3014 y(/*----------------------)o(---*)o(/)191 3127 y(/*)95
b(Step)46 b(2:)i(insert)e(entries)g(*/)191 3240 y
(/*----------------------)o(---*)o(/)191 3465 y(for)h(\(i=0;)f(i<nz;)h
(i++\))382 3578 y(BLAS_duscr_insert_entry\()o(A,)41 b(val[i],)46
b(indx[i],)g(jndx[i]\);)191 3804 y(/*----------------------)o(----)o
(---)o(----)o(----)o(---)o(----)o(----)o(-*/)191 3917
y(/*)h(Step)g(3:)95 b(Complete)45 b(construction)g(of)i(sparse)f
(matrix)g(*/)191 4030 y(/*----------------------)o(----)o(---)o(----)o
(----)o(---)o(----)o(----)o(-*/)191 4256 y(BLAS_uscr_end\(A\);)191
4482 y(/*----------------------)o(----)o(---)o(----)o(----)o(---)o
(----)o(----)o(*/)191 4594 y(/*)h(Step)g(4:)95 b(Compute)45
b(Matrix)i(vector)f(product)f(y)j(=)f(A*x)g(*/)191 4707
y(/*----------------------)o(----)o(---)o(----)o(----)o(---)o(----)o
(----)o(*/)191 4933 y(BLAS_dusmv\()e(blas_no_trans,)f(alpha,)i(A,)h(x,)
g(1,)g(y,)g(1)h(\);)191 5159 y(/*----------------------)o(----)o(---)o
(----)o(*/)191 5272 y(/*)f(Step)g(5:)95 b(Release)45
b(Matrix)i(Handle)93 b(*/)191 5385 y(/*----------------------)o(----)o
(---)o(----)o(*/)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 116 126
116 125 bop 0 -165 a FK(116)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)191 204 y FD(BLAS_usds\(A\);)191
430 y(return)46 b(0;)0 543 y(})0 829 y FE(3.7)116 b(Numerical)36
b(Accuracy)j(and)g(Environmental)d(Enquiry)0 1032 y FK(All)29
b(the)i(commen)m(ts)h(on)f(the)g(accuracy)h(of)e(n)m(umerical)g(metho)s
(ds)g(made)h(in)e(Sections)i(1.6)g(and)g(2.7)g(apply)f(here.)0
1145 y(In)39 b(particular,)h(subroutine)d(FPINF)m(O)k(describ)s(ed)c
(in)h(Section)h(2.7)i(should)c(b)s(e)i(used)g(to)h(get)h(\015oating-p)s
(oin)m(t)0 1258 y(parameters)31 b(needed)f(for)g(error)g(b)s(ounds.)0
1544 y FE(3.8)116 b(Language)38 b(Bindings)0 1751 y Fx(3.8.1)97
b(Overview)0 1922 y FK(This)29 b(sections)j(lists)e(BLAS)h(routines)f
(b)m(y)h(their)f(ro)s(ot)i(name)f(\(see)h(Section)f(3.2\))i(together)g
(with)d(their)g(sp)s(eci\014c)0 2035 y(bindings)d(for)j(F)-8
b(ortran)31 b(95,)h(F)-8 b(ortran)31 b(77,)g(and)f(C.)136
2247 y FJ(\017)46 b FK(Lev)m(el)31 b(1)g(computational)f(routines)f
(\(Section)h(3.8.2\))330 2435 y FG({)45 b FD(USDOT)29
b FK(sparse)h(dot)h(pro)s(duct)330 2581 y FG({)45 b FD(USAXPY)29
b FK(sparse)h(v)m(ector)i(up)s(date)330 2727 y FG({)45
b FD(USGA)29 b FK(sparse)h(gather)330 2873 y FG({)45
b FD(USGZ)29 b FK(sparse)h(gather)i(and)d(zero)330 3019
y FG({)45 b FD(USSC)29 b FK(sparse)h(scatter)136 3206
y FJ(\017)46 b FK(Lev)m(el)31 b(2)g(computational)f(routines)f
(\(Section)h(3.8.3\))330 3394 y FG({)45 b FD(USMV)29
b FK(matrix/v)m(ector)j(m)m(ultiply)330 3540 y FG({)45
b FD(USSV)29 b FK(matrix/v)m(ector)j(triangular)d(solv)m(e)136
3727 y FJ(\017)46 b FK(Lev)m(el)31 b(3)g(computational)f(routines)f
(\(Section)h(3.8.4\))330 3915 y FG({)45 b FD(USMM)29
b FK(matrix/matrix)h(m)m(ultiply)330 4061 y FG({)45 b
FD(USSM)29 b FK(matrix/matrix)h(triangular)f(solv)m(e)136
4248 y FJ(\017)46 b FK(Handle)30 b(Managemen)m(t)i(routines)e(\(Lev)m
(el)h(2/3\))h(\(Section)e(3.8.5\))330 4436 y FG({)45
b FK(Creation)30 b(routine)g(\(Section)g(3.8.6\))506
4582 y FJ(\003)46 b FD(USCR_BEGIN)28 b FK(b)s(egin)h(construction)506
4711 y FJ(\003)46 b FD(USCR_BLOCK_BEGIN)26 b FK(b)s(egin)j(blo)s(c)m
(k-en)m(try)i(construction)506 4841 y FJ(\003)46 b FD
(USCR_VARIABLE_BLOCK_BEGIN)24 b FK(b)s(egin)29 b(v)-5
b(ariable)29 b(blo)s(c)m(k-en)m(try)h(construction)330
4987 y FG({)45 b FK(Insertion)29 b(routines)h(\(Section)g(3.8.7\))506
5141 y FJ(\003)46 b FD(USCR_INSERT_ENTRY)26 b FK(add)k(p)s(oin)m(t-en)m
(try)g(to)h(construction)506 5271 y FJ(\003)46 b FD
(USCR_INSERT_ENTRIES)25 b FK(add)30 b(list)f(of)i(p)s(oin)m(t-en)m
(tries)e(to)i(construction)506 5400 y FJ(\003)46 b FD(USCR_INSERT_COL)
26 b FK(add)k(a)h(compressed)f(column)f(to)i(construction)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 117 127
117 126 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(117)506 91 y FJ(\003)46 b FD(USCR_INSERT_ROW)26
b FK(add)k(a)h(compressed)f(ro)m(w)h(to)g(construction)506
221 y FJ(\003)46 b FD(USCR_INSERT_CLIQUE)26 b FK(add)j(a)i(dense)f
(matrix)g(clique)f(to)i(construction)506 350 y FJ(\003)46
b FD(USCR_INSERT_BLOCK)26 b FK(add)k(a)g(blo)s(c)m(k)g(en)m(try)h(at)g
(blo)s(c)m(k)f(co)s(ordinate)597 463 y(\(bi,)g(b)5 b(j\))330
618 y FG({)45 b FK(Completion)29 b(of)i(construction)f(routine)f
(\(Section)i(3.8.8\))506 764 y FJ(\003)46 b FD(USCR_END)28
b FK(en)m(tries)j(completed;)f(build)d(in)m(ternal)j(represen)m(tation)
330 910 y FG({)45 b FK(Matrix)31 b(prop)s(ert)m(y)e(routines)h
(\(Section)g(3.8.9\))506 1056 y FJ(\003)46 b FD(USGP)29
b FK(get/test)k(for)e(matrix)e(prop)s(ert)m(y)506 1186
y FJ(\003)46 b FD(USSP)29 b FK(set)i(matrix)f(prop)s(ert)m(y)330
1332 y FG({)45 b FK(Destruction)31 b(routine)e(\(Section)i(3.8.10\))506
1478 y FJ(\003)46 b FD(USDS)29 b FK(release)i(matrix)f(handle)0
1721 y Fx(3.8.2)97 b(Level)33 b(1)f(Computational)g(Routines)0
1893 y FK(General)e(con)m(v)m(en)m(tions:)42 b(in)29
b(all)g(Lev)m(el)i(1)g(routines,)e(the)i(follo)m(wing)e(common)h
(argumen)m(ts)h(are)g(used:)136 2080 y FJ(\017)46 b Fv(x)30
b FK(:)41 b(a)31 b(sparse)f(v)m(ector)i Fy(x)p FK(,)e(with)f
Fy(nz)35 b FK(nonzeros)136 2268 y FJ(\017)46 b Fv(indx)30
b FK(:)41 b(an)30 b(\(in)m(teger\))i(index)c(v)m(ector)k(corresp)s
(onding)d(to)i Fy(x)p FK(,)136 2456 y FJ(\017)46 b Fv(y)30
b FK(:)41 b(a)31 b(dense)f(v)m(ector)136 2643 y FJ(\017)46
b Fv(index)p 430 2643 28 4 v 33 w(base)p FK(:)38 b(\(C)26
b(bindings)c(only)-8 b(.\))39 b(By)27 b(con)m(v)m(en)m(tion,)h(the)e(F)
-8 b(ortran)26 b(77)h(and)e(F)-8 b(ortran)26 b(95)h(bindings)22
b(assume)227 2756 y(that)28 b(all)e(o\013sets)i(b)s(egin)e(at)i(1)g
(\(that)g(is)e Fy(x)p FK(\(1\))i(is)e(the)i(\014rst)e(en)m(try\).)40
b(F)-8 b(or)28 b(the)g(C)f(language)g(bindings,)e(o\013sets)227
2869 y(can)31 b(start)g(at)g(0)g(\(the)g(default)e(for)h(C)g(arra)m
(ys\))h(or)g(1)g(\(for)f(F)-8 b(ortran)31 b(compatibilit)m(y\).)0
3057 y(Note)i(that,)g(as)e(stated)i(in)d(Section)h(3.4.3,)j(the)e
(result)e(of)i(a)g(Lev)m(el)g(1)g(BLAS)f(op)s(eration)g(called)g(with)f
(rep)s(eated)0 3170 y(indices)23 b(in)h(arra)m(y)i Fv(indx)e
FK(will)f(b)s(e)h(unde\014ned.)37 b(The)25 b(actual)g(return)f(will)f
(b)s(e)h(dep)s(enden)m(t)h(on)g(the)g(implemen)m(tation.)0
3519 y(USDOT)30 b(\(Sparse)g(dot)g(pro)s(duct\))2373
b Fy(r)28 b FJ( )d Fy(x)3797 3486 y Fw(T)3852 3519 y
Fy(y)141 3745 y FK(The)35 b(function)f Fv(USDOT)g FK(computes)h(the)g
(dot)h(pro)s(duct)e(of)i(sparse)e(v)m(ector)j Fy(x)e
FK(with)f(dense)h(v)m(ector)i Fy(y)s FK(.)55 b(The)0
3858 y(routine)31 b(returns)g(a)i(real)e(zero)i(if)f(the)g(length)f(of)
i(arra)m(ys)f Fv(x)g FK(and)g Fv(indx)g FK(are)g(less)g(than)g(or)g
(equal)f(to)i(zero.)47 b(When)0 3971 y Fy(x)37 b FK(and)g
Fy(y)i FK(are)f(complex)f(v)m(ectors,)j(the)e(v)m(ector)g(comp)s(onen)m
(ts)g Fy(x)2224 3985 y Fw(i)2289 3971 y FK(are)f(used)g(unconjugated)g
(or)g(conjugated)h(as)0 4083 y(sp)s(eci\014ed)33 b(b)m(y)h(the)h(op)s
(erator)g(argumen)m(t)g Fv(conj)p FK(.)54 b(If)34 b Fy(x)h
FK(and)f Fy(y)j FK(are)e(real)f(v)m(ectors,)j(the)e(op)s(erator)g
(argumen)m(t)g Fv(conj)0 4196 y FK(has)c(no)h(e\013ect.)46
b(F)-8 b(or)33 b(the)f(C)f(binding,)e(the)j(lac)m(k)g(of)g(a)g(complex)
f(data)i(t)m(yp)s(e)f(forces)g(us)f(to)h(return)f(the)h(result)e(in)0
4309 y(the)h(parameter)f Fv(r)p FK(.)136 4522 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 4747 y FD(<type>\(<wp>)44
b(FUNCTION)i(usdot\()g(x,)h(indx,)g(y)g([,)g(conj])g(\))609
4860 y(INTEGER,)f(INTENT\(IN\))f(::)i(indx\(:\))609 4973
y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\),)g(y\(:\))609
5085 y(TYPE\(blas_conj_type\),)42 b(INTENT\(IN\),)j(OPTIONAL)g(::)j
(conj)136 5310 y FJ(\017)e FK(F)-8 b(ortran)31 b(77)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 118 128
118 127 bop 0 -165 a FK(118)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)514 91 y FD(<type>)46 b(FUNCTION)f
(BLAS_xUSDOT\()g(CONJ,)h(NZ,)h(X,)g(INDX,)g(Y,)g(INCY)f(\))514
204 y(<type>)571 b(X\()47 b(*)g(\),)h(Y\()f(*)g(\))514
317 y(INTEGER)523 b(NZ,)47 b(INDX\()f(*)h(\),)h(INCY)514
430 y(INTEGER)523 b(CONJ)136 628 y FJ(\017)46 b FK(C)30
b(binding:)227 826 y FD(void)47 b(BLAS_xusdot\()d(enum)j
(blas_conj_type)d(conj,)i(int)h(nz,)g(const)f(ARRAY)h(x,)1086
939 y(const)g(int)g(*indx,)f(const)g(ARRAY)g(y,)i(int)f(incy,)1086
1052 y(SCALAR_INOUT)e(r,)i(enum)g(blas_base_type)d(index_base)h(\);)p
0 1250 3900 6 v 0 1363 a FK(USAXPY)30 b(\(Sparse)g(v)m(ector)i(up)s
(date\))2118 b Fy(y)28 b FJ( )e Fy(\013x)20 b FK(+)g
Fy(y)141 1589 y FK(The)28 b(routine)f Fv(USAXPY)f FK(scales)i(the)h
(sparse)e(v)m(ector)j Fy(x)e FK(b)m(y)g Fy(\013)h FK(and)e(adds)h(the)g
(result)f(to)i(the)f(dense)g(v)m(ector)i Fy(y)s FK(.)0
1702 y(If)f(the)g(length)f(of)i(arra)m(ys)f Fv(x)g FK(and)g
Fv(indx)f FK(are)i(less)e(than)h(or)g(equal)g(to)g(zero)h(or)f(if)f
Fy(\013)i FK(is)e(equal)h(to)h(zero,)g(this)e(routine)0
1815 y(returns)j(without)h(mo)s(difying)e Fy(y)s FK(.)47
b(Note)34 b(that)f(w)m(e)g(do)g(not)g(allo)m(w)f(a)h(scaling)e(on)i
(the)f(v)m(ector)j Fy(y)g FK(\(that)f(is,)e(w)m(e)h(do)0
1928 y(not)e(implemen)m(t)e(a)i Fv(USAXPBY)p FK(\))e(as)i(this)e(w)m
(ould)g(c)m(hange)j(the)f(complexit)m(y)g(of)f(our)g(routine)g(b)s
(ecause)h(scaling)f(a)0 2041 y(dense)g(v)m(ector)i(requires)d
Fy(n)h FK(op)s(erations)g(while)e(the)j(sparse)f(op)s(erations)g(are)h
(only)e(O\()p Fy(nz)t FK(\).)42 b(If)30 b(the)g(dense)g(v)m(ector)0
2153 y Fy(y)j FK(is)d(to)h(b)s(e)e(scaled,)i(the)f(appropriate)g(Lev)m
(el)g(1)h(dense)f(BLAS)g(k)m(ernel)g(should)f(b)s(e)g(used.)136
2339 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2537 y FD(SUBROUTINE)45 b(usaxpy\()g(x,)j(indx,)e(y)h([,)h(alpha])e(\))
609 2650 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(x\(:\))609
2763 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)k(y\(:\))609
2876 y(INTEGER,)e(INTENT\(IN\))f(::)i(indx\(:\))609 2989
y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)h(::)h(alpha)227
3187 y FK(The)30 b(default)g(v)-5 b(alue)30 b(for)g Fy(\013)g
FK(is)g FD(1.0)p FK(.)136 3366 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(77)h(binding:)514 3564 y FD(SUBROUTINE)45
b(BLAS_xUSAXPY\()f(NZ,)j(ALPHA,)f(X,)h(INDX,)f(Y,)i(INCY)e(\))514
3677 y(<type>)571 b(ALPHA)514 3790 y(<type>)g(X\()47
b(*)g(\),)h(Y\()f(*)g(\))514 3902 y(INTEGER)523 b(NZ,)47
b(INDX\()f(*)h(\),)h(INCY)136 4101 y FJ(\017)e FK(C)30
b(binding:)227 4299 y FD(void)47 b(BLAS_xusaxpy\()d(int)j(nz,)g
(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(x,)h(const)g(int)f(*indx,)1134
4412 y(ARRAY)g(y,)i(int)f(incy,)f(enum)h(blas_base_type)c(index_base)i
(\);)p 0 4610 V 0 4723 a FK(USGA)31 b(\(Sparse)f(gather)h(in)m(to)f
(compressed)g(form\))1809 b Fy(x)25 b FJ( )g Fy(y)s FJ(j)3856
4737 y Fw(x)141 4948 y FK(Using)39 b Fv(indx)h FK(to)g(denote)g(the)h
(list)d(of)i(indices)e(of)i(the)g(sparse)f(v)m(ector)j
Fy(x)p FK(,)g(for)e(eac)m(h)h(comp)s(onen)m(t)f Fv(i)g
FK(in)e(this)0 5061 y(list,)30 b(the)h(routine)g Fv(USGA)e
FK(assigns)h Fv(x\(i\))i FK(=)e Fv(y\(indx\(i\)\))p FK(.)44
b(F)-8 b(or)32 b(example,)f(if)f Fy(x)h FK(is)f(a)i(sparse)e(v)m(ector)
j(with)d(nonzeros)0 5174 y FJ(f)p FK(3)p Fy(:)p FK(1)p
Fy(;)15 b FK(4)p Fy(:)p FK(9)p FJ(g)29 b FK(and)24 b(indices)f
FJ(f)p FK(1)p Fy(;)15 b FK(4)p FJ(g)27 b FK(\(using)d(1-based)i
(o\013sets\),)h(and)e Fy(y)j FK(is)c(the)h(dense)g(v)m(ector)h
FJ(f)p FK(12)p Fy(:)p FK(7)p Fy(;)15 b FK(68)p Fy(:)p
FK(1)p Fy(;)g FK(38)p Fy(:)p FK(1)p Fy(;)h FK(54)q Fy(:)p
FK(0)p FJ(g)q FK(,)0 5287 y(then)34 b(the)g Fv(USGA)d
FK(routine)i(c)m(hanges)i Fy(x)f FK(to)g FJ(f)p FK(12)p
Fy(:)p FK(7)p Fy(;)15 b FK(54)p Fy(:)p FK(0)p FJ(g)p
FK(.)56 b(If)33 b(the)h(length)f(of)h Fv(x)g FK(and)f
Fv(indx)h FK(is)e(non-p)s(ositiv)m(e,)i(this)0 5400 y(routines)29
b(returns)g(without)h(an)m(y)g(mo)s(di\014cation)f(to)i(its)f
(parameters.)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 119 129
119 128 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(119)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
316 y FD(SUBROUTINE)45 b(usga\()h(y,)h(x,)g(indx)g(\))609
429 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(y\(:\))609
542 y(<type>\(<wp>\),)d(INTENT\(OUT\))h(::)i(x\(:\))609
655 y(INTEGER,)f(INTENT\(IN\))f(::)i(indx\(:\))136 880
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 1105
y FD(SUBROUTINE)45 b(BLAS_xUSGA\()f(NZ,)j(Y,)g(INCY,)g(X,)g(INDX)g(\))
514 1218 y(INTEGER)523 b(NZ,)47 b(INDX\()f(*)h(\),)h(INCY)514
1331 y(<type>)571 b(Y\()47 b(*)g(\),)h(X\()f(*)g(\))136
1556 y FJ(\017)f FK(C)30 b(binding:)227 1781 y FD(void)47
b(BLAS_xusga\()e(int)i(nz,)f(const)h(ARRAY)f(y,)h(int)g(incy,)g(ARRAY)f
(x,)h(const)g(int)f(*indx,)1039 1894 y(enum)g(blas_base_type)e
(index_base)h(\);)p 0 2119 3900 6 v 0 2232 a FK(USGZ)30
b(\(Sparse)g(gather)h(and)f(zero\))1939 b Fy(x)25 b FJ( )g
Fy(y)s FJ(j)3461 2246 y Fw(x)3505 2232 y Fy(;)66 b(y)s
FJ(j)3669 2246 y Fw(x)3738 2232 y FJ( )26 b FK(0)141
2457 y(This)40 b(routine)g(com)m(bines)h(t)m(w)m(o)i(op)s(erations:)62
b(\(1\))42 b(a)g(sparse)f(gather)h(of)g Fy(y)i FK(in)m(to)e
Fy(x)p FK(.)73 b(\(see)43 b Fv(USGA)c FK(ab)s(o)m(v)m(e\),)0
2570 y(follo)m(w)m(ed)g(b)m(y)g(\(2\))h(setting)g(the)f(corresp)s
(onding)e(v)-5 b(alues)39 b(of)g Fy(y)j FK(\()p Fv(y\(indx\(i\)\))e
FK(to)g(zero.)69 b(F)-8 b(or)40 b(example,)h(if)d Fy(x)h
FK(is)g(a)0 2683 y(sparse)29 b(v)m(ector)j(with)c(nonzeros)i
FJ(f)p FK(3)p Fy(:)p FK(1)p Fy(;)15 b FK(4)p Fy(:)p FK(9)p
FJ(g)33 b FK(and)c(indices)f FJ(f)p FK(1)p Fy(;)15 b
FK(4)p FJ(g)32 b FK(\(using)d(1-based)h(o\013sets\),)h(and)e
Fy(y)k FK(is)28 b(the)i(dense)0 2796 y(v)m(ector)c FJ(f)p
FK(12)p Fy(:)p FK(7)p Fy(;)15 b FK(68)p Fy(:)p FK(1)p
Fy(;)g FK(38)p Fy(:)p FK(1)p Fy(;)g FK(5)q(4)p Fy(:)p
FK(0)q FJ(g)p FK(,)32 b(then)23 b(the)h Fv(USGA)e FK(routine)h(c)m
(hanges)i(the)f(nonzero)h(v)-5 b(alues)23 b(of)h Fy(x)g
FK(to)g FJ(f)p FK(12)p Fy(:)p FK(7)p Fy(;)15 b FK(54)p
Fy(:)p FK(0)p FJ(g)0 2909 y FK(and)30 b(c)m(hanges)h
Fy(y)i FK(to)e FJ(f)p FK(0)p Fy(:)p FK(0)p Fy(;)15 b
FK(68)p Fy(:)p FK(1)p Fy(;)g FK(38)p Fy(:)p FK(1)p Fy(;)g
FK(0)q Fy(:)p FK(0)q FJ(g)p FK(.)136 3122 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 3347 y FD(SUBROUTINE)45
b(usgz\()h(y,)h(x,)g(indx)g(\))609 3460 y(<type>\(<wp>\),)d
(INTENT\(INOUT\))g(::)k(y\(:\))609 3572 y(<type>\(<wp>\),)c
(INTENT\(OUT\))h(::)i(x\(:\))609 3685 y(INTEGER,)f(INTENT\(IN\))f(::)i
(indx\(:\))136 3910 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
4135 y FD(SUBROUTINE)45 b(BLAS_xUSGZ\()f(NZ,)j(Y,)g(INCY,)g(X,)g(INDX)g
(\))514 4248 y(INTEGER)523 b(NZ,)47 b(INDX\()f(*)h(\),)h(INCY)514
4361 y(<type>)571 b(Y\()47 b(*)g(\),)h(X\()f(*)g(\))136
4586 y FJ(\017)f FK(C)30 b(binding:)227 4811 y FD(void)47
b(BLAS_xusgz\()e(int)i(nz,)f(ARRAY)h(y,)g(int)g(incy,)f(ARRAY)h(x,)g
(const)f(int)h(*indx,)1039 4924 y(enum)f(blas_base_type)e(index_base)h
(\);)p 0 5149 V 0 5262 a FK(USSC)29 b(\(Sparse)h(scatter\))2699
b Fy(y)s FJ(j)3663 5276 y Fw(x)3732 5262 y FJ( )25 b
Fy(x)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 120 130
120 129 bop 0 -165 a FK(120)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)141 91 y FK(This)d(routine)g(copies)i(the)g
(nonzero)f(v)-5 b(alues)27 b(of)h Fy(x)f FK(in)m(to)h(the)g(corresp)s
(onding)d(lo)s(cations)i(in)f(the)i(dense)f(v)m(ector)0
204 y Fy(y)s FK(.)55 b(F)-8 b(or)36 b(example,)g(if)e
Fy(x)h FK(is)f(a)i(sparse)f(v)m(ector)i(with)c(nonzeros)j
FJ(f)p FK(3)p Fy(:)p FK(1)p Fy(;)15 b FK(4)p Fy(:)p FK(9)p
FJ(g)38 b FK(and)d(indices)e FJ(f)p FK(1)p Fy(;)15 b
FK(4)p FJ(g)37 b FK(\(using)e(1-based)0 317 y(o\013sets\),)49
b(and)44 b Fy(y)j FK(is)c(the)i(dense)e(v)m(ector)j FJ(f)p
FK(12)p Fy(:)p FK(7)p Fy(;)15 b FK(68)p Fy(:)p FK(1)p
Fy(;)g FK(38)p Fy(:)p FK(1)p Fy(;)h FK(54)q Fy(:)p FK(0)p
FJ(g)q FK(,)54 b(then)44 b(the)g Fv(USSC)f FK(routine)g(c)m(hanges)i
Fy(y)i FK(to)0 430 y FJ(f)p FK(3)p Fy(:)p FK(1)p Fy(;)15
b FK(68)p Fy(:)p FK(1)p Fy(;)g FK(38)p Fy(:)p FK(1)p
Fy(;)g FK(4)q Fy(:)p FK(9)p FJ(g)q FK(.)55 b(If)33 b(the)g(length)g(of)
g(arra)m(ys)h Fv(x)f FK(and)g Fv(indx)f FK(are)i(less)f(than)g(or)g
(equal)g(to)h(zero,)h(this)d(routine)0 543 y(returns)d(without)h(an)m
(y)g(mo)s(di\014cation)f(to)i(its)f(parameters.)136 756
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
980 y FD(SUBROUTINE)45 b(ussc\()h(x,)h(y,)g(indx)g(\))609
1093 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\))609
1206 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)k(y\(:\))609
1319 y(INTEGER,)e(INTENT\(IN\))f(::)i(indx\(:\))136 1544
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 1769
y FD(SUBROUTINE)45 b(BLAS_xUSSC\()f(NZ,)j(X,)g(Y,)h(INCY,)e(INDX)h(\))
514 1882 y(INTEGER)523 b(NZ,)47 b(INDX\()f(*)h(\),)h(INCY)514
1995 y(<type>)571 b(X\()47 b(*)g(\),)h(Y\()f(*)g(\))136
2220 y FJ(\017)f FK(C)30 b(binding:)227 2445 y FD(void)47
b(BLAS_xussc\()e(int)i(nz,)f(const)h(ARRAY)f(x,)h(ARRAY)g(y,)g(int)g
(incy,)f(const)h(int)f(*indx,)1039 2558 y(enum)g(blas_base_type)e
(index_base)h(\);)p 0 2783 3900 6 v 0 3026 a Fx(3.8.3)97
b(Level)33 b(2)f(Computational)g(Routines)0 3198 y FK(USMV)f(\(Sparse)e
(Matrix/V)-8 b(ector)33 b(Multiply\))1741 b Fy(y)28 b
FJ( )d Fy(\013)c(Ax)f FK(+)g Fy(y)3298 3311 y(y)28 b
FJ( )d Fy(\013)c(A)3634 3278 y Fw(T)3689 3311 y Fy(x)f
FK(+)g Fy(y)141 3537 y FK(This)33 b(routine)h(m)m(ultiplies)e(a)j
(dense)g(v)m(ector)i Fy(x)e FK(b)m(y)f(a)i(sparse)e(matrix)h
Fy(A)g FK(\(or)g(its)g(transp)s(ose\),)h(and)e(adds)g(it)0
3650 y(to)f(the)g(v)m(ector)h(op)s(erand)d Fy(y)s FK(.)47
b(The)32 b(matrix)g(handle)f Fv(A)h FK(m)m(ust)h(b)s(e)f(v)-5
b(alid,)31 b(i.e.)47 b FD(USGP\(A,)f(blas_valid_handle\))0
3763 y FK(m)m(ust)28 b(b)s(e)f(true,)i(and)e(the)h(precision)e(t)m(yp)s
(e)i(of)g(the)g(sparse)g(matrix)f(represen)m(ted)h(b)m(y)g(the)g
(handle)e(A)i(m)m(ust)g(matc)m(h)0 3875 y(the)g(remaining)e
(\015oating-p)s(oin)m(t)h(argumen)m(ts.)41 b Fv(istat)26
b FK(is)h(used)g(as)i(an)e(error)h(\015ag)g(and)g(will)d(b)s(e)i(zero)i
(if)e(the)h(routine)0 3988 y(executes)k(successfully)-8
b(.)39 b(The)30 b(C)g(binding)d(returns)i Fv(istat)g
FK(as)i(the)f(function)f(return)h(v)-5 b(alue.)136 4201
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4426 y FD(SUBROUTINE)45 b(usmv\()h(a,)h(x,)g(y,)h(istat)e([,)h(transa])
f([,)h(alpha])f(\))609 4539 y(INTEGER,)g(INTENT\(IN\))f(::)i(a)609
4652 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\))609
4765 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)k(y\(:\))609
4877 y(INTEGER,)e(INTENT\(OUT\))e(::)k(istat)609 4990
y(TYPE)f(\(blas_trans_type\),)c(INTENT\(IN\),)h(OPTIONAL)i(::)h(transa)
609 5103 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)h(::)h(alpha)227
5328 y FK(Default)31 b(v)-5 b(alues)29 b(for)i FD(transa)d
FK(and)i Fy(\013)h FK(are)g FD(blas)p 1894 5328 29 4
v 33 w(no)p 2023 5328 V 34 w(trans)e FK(and)g FD(1.0)p
FK(,)h(resp)s(ectiv)m(ely)-8 b(.)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 121 131
121 130 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(121)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
316 y FD(SUBROUTINE)45 b(BLAS_xUSMV\()f(TRANSA,)i(ALPHA,)g(A,)h(X,)h
(INCX,)e(Y,)h(INCY,)g(ISTAT)f(\))514 429 y(INTEGER)523
b(INCX,)46 b(INCY,)g(A,)i(TRANSA,)d(ISTAT)514 542 y(<type>)571
b(ALPHA)514 655 y(<type>)g(X\()47 b(*)g(\),)h(Y\()f(*)g(\))136
880 y FJ(\017)f FK(C)30 b(binding:)227 1105 y FD(int)47
b(BLAS_xusmv\()e(enum)i(blas_trans_type)c(transa,)j(SCALAR_IN)f(alpha,)
609 1218 y(blas_sparse_matrix)e(A,)k(const)f(ARRAY)h(x,)g(int)g(incx,)f
(ARRAY)h(y,)g(int)g(incy)f(\);)p 0 1443 3900 6 v 0 1556
a FK(USSV)30 b(\(Sparse)g(T)-8 b(riangular)28 b(Solv)m(e\))2135
b Fy(x)25 b FJ( )g Fy(\013)c(T)3754 1523 y Fu(\000)p
FC(1)3848 1556 y Fy(x)3400 1669 y(x)26 b FJ( )f Fy(\013)20
b(T)3738 1636 y Fu(\000)p Fw(T)3848 1669 y Fy(x)141 1895
y FK(This)32 b(routine)i(solv)m(es)g(one)g(of)h(the)f(systems)g(of)g
(equations)g Fy(x)e FJ( )f Fy(\013T)2559 1862 y Fu(\000)p
FC(1)2653 1895 y Fy(x)j FK(or)h Fy(x)c FJ( )g Fy(\013T)3184
1862 y Fu(\000)p Fw(T)3295 1895 y Fy(x)p FK(,)k(where)e
Fy(x)h FK(is)g(a)0 2007 y(dense)d(v)m(ector)j(and)d(the)h(matrix)f
Fy(T)44 b FK(is)31 b(a)h(triangular)e(sparse)h(matrix.)45
b(The)31 b(matrix)g(handle)f Fv(T)i FK(m)m(ust)f(b)s(e)g(v)-5
b(alid,)0 2120 y(i.e.)64 b FD(USGP\(T,)46 b(blas_valid_handle\))33
b FK(is)k(true,)j(m)m(ust)e(represen)m(t)g(a)h(v)-5 b(alid)36
b(triangular)h(matrix,)j(i.e.)63 b(either)0 2233 y FD(USGP\(T,)46
b(blas_lower_triangular)30 b FK(or)37 b FD(USGP\(T,)45
b(blas_upper_triangular\))31 b FK(m)m(ust)36 b(b)s(e)f(true,)j(and)e
(the)0 2346 y(precision)23 b(t)m(yp)s(e)j(of)f(the)g(sparse)g(matrix)f
(represen)m(ted)h(b)m(y)g(the)h(handle)d(T)i(m)m(ust)g(matc)m(h)h(the)f
(remaining)f(\015oating-)0 2459 y(p)s(oin)m(t)30 b(argumen)m(ts.)41
b Fv(istat)30 b FK(is)f(used)h(as)h(an)f(error)g(\015ag)h(and)f(will)e
(b)s(e)i(zero)i(if)d(the)i(routine)e(executes)j(successfully)-8
b(.)0 2572 y(The)30 b(C)g(binding)d(returns)i Fv(istat)g
FK(as)i(the)g(function)e(return)g(v)-5 b(alue.)136 2785
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3010 y FD(SUBROUTINE)45 b(ussv\()h(t,)h(x,)g(istat,)f([,)i(transt])d
([,)j(alpha])e(\))609 3122 y(INTEGER,)g(INTENT\(IN\))f(::)i(t)609
3235 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)k(x\(:\))609
3348 y(INTEGER,)e(INTENT\(OUT\))e(::)k(istat)609 3461
y(TYPE)f(\(blas_trans_type\),)c(INTENT\(IN\),)h(OPTIONAL)i(::)h(transt)
609 3574 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)h(::)h(alpha)227
3799 y FK(Default)31 b(v)-5 b(alues)29 b(for)i FD(transt)d
FK(and)i Fy(\013)h FK(are)g FD(.TRUE.)d FK(and)i FD(1.0)g
FK(resp)s(ectiv)m(ely)-8 b(.)136 3987 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 4212 y FD(SUBROUTINE)45
b(BLAS_xUSSV\()f(TRANST,)i(ALPHA,)g(T,)h(X,)h(INCX,)e(ISTAT)g(\))514
4325 y(INTEGER)523 b(T,)47 b(INCX,)f(TRANST,)g(ISTAT)514
4438 y(<type>)571 b(ALPHA)514 4550 y(<type>)g(X\()47
b(*)g(\))136 4775 y FJ(\017)f FK(C)30 b(binding:)227
5000 y FD(int)47 b(BLAS_xussv\()e(enum)i(blas_trans_type)c(transt,)j
(SCALAR_IN)f(alpha,)609 5113 y(blas_sparse_matrix)e(T,)k(ARRAY)f(x,)i
(int)f(incx)f(\);)p 0 5338 V -214 64 a FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 122 132
122 131 bop 0 -165 a FK(122)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)0 91 y Fx(3.8.4)97 b(Level)33
b(3)f(Computational)g(Routines)0 263 y FK(USMM)f(\(Sparse)f(Matrix)g
(Multiply\))1960 b Fy(C)32 b FJ( )25 b Fy(\013)c(AB)k
FK(+)20 b Fy(C)3229 376 y(C)32 b FJ( )25 b Fy(\013)c(A)3589
343 y Fw(T)3644 376 y Fy(B)k FK(+)20 b Fy(C)141 602 y
FK(This)31 b(routine)g(m)m(ultiplies)e(a)k(dense)f(matrix)g
Fy(B)37 b FK(b)m(y)32 b(a)h(sparse)f(matrix)g Fy(A)g
FK(\(or)h(its)f(transp)s(ose\),)h(and)f(adds)f(it)0 715
y(to)37 b(a)g(dense)f(matrix)g(op)s(erand)f Fy(C)7 b
FK(.)58 b Fy(A)37 b FK(is)e(of)i(size)f Fv(m)h FK(b)m(y)f
Fv(n)p FK(,)i Fy(B)j FK(is)36 b(of)g(size)h(of)f Fv(n)g
FK(b)m(y)h Fv(nrhs)p FK(,)h(and)e Fy(C)42 b FK(is)36
b(of)g(size)h Fv(m)0 827 y FK(b)m(y)f Fv(nrhs)p FK(.)56
b(The)35 b(input)f(argumen)m(t)i Fv(nrhs)g FK(m)m(ust)g(b)s(e)f
(greater)i(than)e(zero,)j(and)d(the)h(matrix)f(handle)g
Fv(A)g FK(m)m(ust)h(b)s(e)0 940 y(v)-5 b(alid,)25 b(i.e.)39
b FD(USGP\(A,)46 b(blas_valid_handle\))21 b FK(m)m(ust)k(b)s(e)g(true,)
i(and)e(the)h(precision)e(t)m(yp)s(e)i(of)f(the)h(sparse)g(matrix)0
1053 y(represen)m(ted)33 b(b)m(y)g(the)g(handle)e(A)i(m)m(ust)g(matc)m
(h)h(the)f(remaining)e(\015oating-p)s(oin)m(t)h(argumen)m(ts.)49
b Fv(istat)32 b FK(is)g(used)g(as)0 1166 y(an)j(error)f(\015ag)h(and)f
(will)e(b)s(e)i(zero)i(if)e(the)g(routine)g(executes)i(successfully)-8
b(.)52 b(The)35 b(C)f(binding)e(returns)h Fv(istat)h
FK(as)0 1279 y(the)d(function)e(return)g(v)-5 b(alue.)136
1456 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
1664 y FD(SUBROUTINE)45 b(usmm\()h(a,)h(b,)g(c,)h(istat,)e([,)h
(transa])f([,)h(alpha])f(\))609 1776 y(INTEGER,)g(INTENT\(IN\))f(::)i
(a)609 1889 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(b\(:,:\))609
2002 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)k(c\(:,:\))609
2115 y(INTEGER,)e(INTENT\(OUT\))e(::)k(istat)609 2228
y(TYPE)f(\(blas_trans_type\),)c(INTENT\(IN\),)h(OPTIONAL)i(::)h(transa)
609 2341 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)h(::)h(alpha)227
2549 y FK(Default)31 b(v)-5 b(alues)29 b(for)i FD(transa)d
FK(and)i Fy(\013)h FK(are)g FD(.TRUE.)d FK(and)i FD(1.0)p
FK(,)g(resp)s(ectiv)m(ely)-8 b(.)136 2725 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 2914 y FD(SUBROUTINE)45
b(BLAS_xUSMM\()f(TRANSA,)i(NRHS,)h(ALPHA,)f(A,)h(B,)g(LDB,)g(C,)g(LDC,)
466 3026 y($)1097 b(ISTAT)47 b(\))514 3139 y(INTEGER)523
b(NRHS,)46 b(A,)h(LDB,)g(LDC,)g(TRANSA,)e(ISTAT)514 3252
y(<type>)571 b(ALPHA)514 3365 y(<type>)g(B\()47 b(LDB,)g(*)g(\),)g(C\()
g(LDC,)g(*)g(\))136 3554 y FJ(\017)f FK(C)30 b(binding:)227
3743 y FD(int)47 b(BLAS_xusmm\()e(enum)i(blas_order_type)c(order,)j
(enum)h(blas_trans_type)d(transa,)1039 3856 y(int)j(nrhs,)f(SCALAR_IN)f
(alpha,)h(blas_sparse_matrix)d(A,)1039 3969 y(const)j(ARRAY)g(B,)i(int)
e(ldb,)h(ARRAY)f(C,)i(int)f(ldc)f(\);)p 0 4158 3900 6
v 0 4271 a FK(USSM)30 b(\(Sparse)g(T)-8 b(riangular)28
b(Solv)m(e\))2077 b Fy(B)30 b FJ( )25 b Fy(\013)20 b(T)3732
4238 y Fu(\000)p FC(1)3826 4271 y Fy(B)3357 4384 y(B)30
b FJ( )25 b Fy(\013)c(T)3717 4351 y Fu(\000)p Fw(T)3826
4384 y Fy(B)141 4610 y FK(This)27 b(routine)h(solv)m(es)g(one)h(of)g
(the)g(systems)g(of)f(equations)h Fy(B)g FJ( )d Fy(\013T)2519
4577 y Fu(\000)p FC(1)2613 4610 y Fy(B)33 b FK(or)c Fy(B)h
FJ( )25 b Fy(\013T)3164 4577 y Fu(\000)p Fw(T)3274 4610
y Fy(B)5 b FK(,)29 b(where)f Fy(B)33 b FK(is)28 b(a)0
4723 y(dense)h(matrix)g(and)f Fy(T)43 b FK(is)28 b(a)i(triangular)e
(sparse)h(matrix.)39 b Fy(T)j FK(is)29 b(of)g(size)g
Fv(n)h FK(b)m(y)f Fv(n)p FK(,)h Fy(B)k FK(is)28 b(of)i(size)f(of)g
Fv(n)h FK(b)m(y)f Fv(nrhs)p FK(,)h(and)0 4835 y Fy(C)37
b FK(is)29 b(of)h(size)g Fv(n)g FK(b)m(y)g Fv(nrhs)p
FK(.)41 b(The)30 b(input)e(argumen)m(t)j Fv(nrhs)f FK(m)m(ust)g(b)s(e)f
(greater)j(than)e(zero,)h(and)e(the)i(matrix)e(handle)0
4948 y Fv(T)e FK(m)m(ust)g(b)s(e)f(v)-5 b(alid,)27 b(i.e.)39
b FD(USGP\(T,)46 b(blas_valid_handle\))22 b FK(m)m(ust)27
b(b)s(e)f(true,)i(and)f(represen)m(t)g(a)g(v)-5 b(alid)26
b(triangular)0 5061 y(matrix,)h(i.e.)40 b(either)26 b
FD(USGP\(T,)46 b(blas_lower_triangular)21 b FK(or)26
b FD(USGP\(T,)46 b(blas_upper_triangular\))21 b FK(m)m(ust)0
5174 y(b)s(e)39 b(true.)68 b(The)39 b(precision)f(t)m(yp)s(e)i(of)g
(the)f(sparse)h(matrix)f(represen)m(ted)g(b)m(y)h(the)f(handle)g(T)g(m)
m(ust)g(matc)m(h)i(the)0 5287 y(remaining)35 b(\015oating-p)s(oin)m(t)h
(argumen)m(ts.)61 b Fv(istat)35 b FK(is)h(used)g(as)h(an)g(error)g
(\015ag)g(and)f(will)e(b)s(e)i(zero)i(if)e(the)h(routine)0
5400 y(executes)32 b(successfully)-8 b(.)39 b(The)30
b(C)g(binding)d(returns)i Fv(istat)g FK(as)i(the)f(function)f(return)h
(v)-5 b(alue.)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 123 133
123 132 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(123)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
316 y FD(SUBROUTINE)45 b(ussm\()h(t,)h(b,)g(istat)g([,)g(transt])f([,)h
(alpha])f(\))609 429 y(INTEGER,)g(INTENT\(IN\))f(::)i(t)609
542 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)k(b\(:,:\))609
655 y(INTEGER,)e(INTENT\(OUT\))e(::)k(istat)609 768 y(TYPE)f
(\(blas_trans_type\),)c(INTENT\(IN\),)h(OPTIONAL)i(::)h(transt)609
881 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)h(::)h(alpha)227
1106 y FK(Default)31 b(v)-5 b(alues)29 b(for)i FD(transt)d
FK(and)i Fy(\013)h FK(are)g FD(.TRUE.)d FK(and)i FD(1.0)g
FK(resp)s(ectiv)m(ely)-8 b(.)136 1293 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 1518 y FD(SUBROUTINE)45
b(BLAS_xUSSM\()f(TRANST,)i(NRHS,)h(ALPHA,)f(T,)h(B,)g(LDB,)g(ISTAT)f
(\))514 1631 y(INTEGER)523 b(NRHS,)46 b(T,)h(LDB,)g(TRANST,)f(ISTAT)514
1744 y(<type>)571 b(ALPHA)514 1857 y(<type>)g(B\()47
b(LDB,)g(*)g(\))136 2082 y FJ(\017)f FK(C)30 b(binding:)227
2307 y FD(int)47 b(BLAS_xussm\()e(enum)i(blas_order_type)c(order,)j
(enum)h(blas_trans_type)d(transt,)657 2420 y(int)j(nrhs,)f(SCALAR_IN)f
(alpha,)h(blas_sparse_matrix)d(T,)k(ARRAY)g(B,)g(int)g(ldb)227
2533 y(\);)p 0 2758 3900 6 v 0 3001 a Fx(3.8.5)97 b(Handle)33
b(Management)0 3173 y FK(The)22 b(Handle)g(Managemen)m(t)i(routines)e
(can)g(b)s(e)g(divided)e(in)m(to)i(\014v)m(e)h(sets;)j(the)d(creation)g
(routines)e(\(Section)i(3.8.6\),)0 3286 y(the)30 b(insertion)e
(routines)h(\(Section)g(3.8.7\),)k(the)d(completion)f(routine)g
(\(Section)h(3.8.8\),)i(matrix)d(prop)s(ert)m(y)g(rou-)0
3399 y(tines)43 b(\(Section)h(3.8.9\),)49 b(and)43 b(the)h(destruction)
f(routine)f(\(Section)i(3.8.10\).)83 b(A)44 b(brief)e(discussion)f(of)i
(these)0 3512 y(routines)29 b(w)m(as)i(giv)m(en)f(in)f(Section)i
(3.5.1.)0 3755 y Fx(3.8.6)97 b(Creation)33 b(Routines)0
3927 y FK(USCR)p 257 3927 28 4 v 32 w(BEGIN)e(\(b)s(egin)e(p)s(oin)m
(t-en)m(try)h(construction\))1650 b Fy(A)25 b FJ( )h
FK(\()p Fy(:::)p FK(\))141 4153 y Fv(USCR)p 377 4153
V 32 w(BEGIN)g FK(is)f(used)g(to)i(create)g(a)f(sparse)g(matrix)f
(handle)g(where)g(the)h(matrix)g(is)f(held)f(in)h(normal)g(p)s(oin)m
(t-)0 4266 y(wise)g(form)g(\(b)m(y)h(single)e(scalar)i(en)m(tries\).)40
b Fv(m)25 b FK(and)h Fv(n)f FK(m)m(ust)h(b)s(e)f(greater)i(than)e
(zero.)40 b(The)26 b FD(x)f FK(pre\014x)g(in)f(the)i(binding)0
4378 y(names)31 b(sp)s(eci\014es)e(the)i(scalar)g(t)m(yp)s(e)g(and)f
(precision)f(of)i(the)g(matrix,)f(as)h(describ)s(ed)e(in)h(3.2.)43
b Fv(istat)29 b FK(is)h(used)g(as)h(an)0 4491 y(error)d(\015ag)g(and)f
(will)f(b)s(e)h(zero)i(if)e(the)h(routine)f(executes)i(successfully)-8
b(.)39 b(The)27 b(C)h(binding)d(returns)h(a)j(new)e(handle)0
4604 y(as)32 b(its)f(function)f(return)h(v)-5 b(alue;)32
b(this)e(handle)g(is)h(v)m(oid,)h(i.e.)44 b FD(USGP\(return_value,)f
(blas_void_handle\))27 b FK(is)0 4717 y(true,)j(if)g(the)g(routine)g
(did)e(not)j(execute)h(successfully)-8 b(.)136 4930 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
5155 y FD(SUBROUTINE)45 b(xuscr_begin\()f(m,)j(n,)g(a,)h(istat)e(\))609
5268 y(INTEGER,)g(INTENT\(IN\))f(::)i(m,)g(n)609 5381
y(INTEGER,)f(INTENT\(OUT\))e(::)k(a,)f(istat)-214 64
y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 124 134
124 133 bop 0 -165 a FK(124)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)136 91 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(77)h(binding:)514 316 y FD(SUBROUTINE)45
b(BLAS_xUSCR_BEGIN\()e(M,)k(N,)g(A,)g(ISTAT)g(\))514
429 y(INTEGER)523 b(M,)47 b(N,)g(A,)g(ISTAT)136 654 y
FJ(\017)f FK(C)30 b(binding:)227 879 y FD(blas_sparse_matrix)43
b(BLAS_xuscr_begin\()g(int)k(m,)g(int)g(n)h(\);)p 0 1104
3900 6 v 0 1217 a FK(USCR)p 257 1217 28 4 v 32 w(BLOCK)p
618 1217 V 32 w(BEGIN)31 b(\(b)s(egin)e(constan)m(t)j(blo)s(c)m(k-en)m
(try)e(construction\))920 b Fy(A)25 b FJ( )h FK(\()p
Fy(:::)p FK(\))141 1443 y Fv(USCR)p 377 1443 V 32 w(BLOCK)p
707 1443 V 32 w(BEGIN)i FK(is)e(used)g(to)i(create)g(a)g(sparse)e
(matrix)h(handle)e(referring)h(to)i(a)f(blo)s(c)m(k-en)m(try)h(matrix)0
1556 y(where)d(the)h(blo)s(c)m(ksize)f(of)h(all)f(en)m(tries)g(is)g
(constan)m(t,)j(that)e(is)f(blo)s(c)m(k)g(en)m(tries)h(are)g
Fy(k)14 b FJ(\002)d Fy(l)r FK(.)38 b Fv(Mb)p FK(,)27
b Fv(Nb)p FK(,)g Fv(k)f FK(and)f Fv(l)g FK(m)m(ust)h(all)0
1669 y(b)s(e)32 b(greater)h(than)f(zero.)48 b(The)32
b FD(x)g FK(pre\014x)f(in)g(the)i(binding)c(names)j(sp)s(eci\014es)f
(the)i(scalar)f(t)m(yp)s(e)g(and)g(precision)f(of)0 1782
y(the)d(matrix,)f(as)h(describ)s(ed)d(in)h(3.2.)41 b
Fv(istat)27 b FK(is)f(used)h(as)g(an)h(error)f(\015ag)h(and)e(will)f(b)
s(e)i(zero)h(if)f(the)g(routine)g(executes)0 1895 y(successfully)-8
b(.)42 b(The)31 b(C)g(binding)d(returns)i(a)i(new)f(handle)f(as)i(its)e
(function)h(return)f(v)-5 b(alue;)31 b(this)g(handle)f(is)g(v)m(oid,)0
2007 y(i.e.)41 b FD(USGP\(return_value,)h(blas_void_handle\))26
b FK(is)j(true,)i(if)e(the)i(routine)e(did)g(not)h(execute)i
(successfully)-8 b(.)136 2220 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)514 2445 y FD(SUBROUTINE)45
b(xuscr_block_begin\()d(Mb,)47 b(Nb,)g(k,)g(l,)h(a,)f(istat)f(\))609
2558 y(INTEGER,)g(INTENT\(IN\))f(::)i(Mb,)g(Nb,)g(k,)g(l)609
2671 y(INTEGER,)f(INTENT\(OUT\))e(::)k(a,)f(istat)136
2896 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
3121 y FD(SUBROUTINE)45 b(BLAS_xUSCR_BLOCK_BEGIN\()c(MB,)47
b(NB,)g(K,)g(L,)g(A,)g(ISTAT)g(\))514 3234 y(INTEGER)523
b(MB,)47 b(NB,)g(K,)g(L,)g(A,)g(ISTAT)136 3459 y FJ(\017)f
FK(C)30 b(binding:)227 3684 y FD(blas_sparse_matrix)43
b(BLAS_xuscr_block_begin\()f(int)k(Mb,)h(int)g(Nb,)g(int)g(k,)g(int)g
(l)h(\);)p 0 3909 3900 6 v 0 4022 a FK(USCR)p 257 4022
28 4 v 32 w(V)-10 b(ARIABLE)p 766 4022 V 33 w(BLOCK)p
1128 4022 V 32 w(BEGIN)31 b(\(b)s(egin)e(v)-5 b(ariable)29
b(blo)s(c)m(k-en)m(try)i(construction\))435 b Fy(A)25
b FJ( )h FK(\()p Fy(:::)p FK(\))141 4247 y Fv(USCR)p
377 4247 V 32 w(V)-8 b(ARIABLE)p 832 4247 V 32 w(BLOCK)p
1162 4247 V 32 w(BEGIN)31 b FK(is)f(used)g(to)i(create)g(a)f(sparse)g
(matrix)f(handle)f(referring)g(to)j(a)f(blo)s(c)m(k-)0
4360 y(en)m(try)h(matrix)g(whose)g(en)m(tries)g(ma)m(y)g(ha)m(v)m(e)i
(v)-5 b(ariable)30 b(blo)s(c)m(k)i(sizes.)46 b(The)31
b(blo)s(c)m(ksizes)h(are)g(giv)m(en)g(b)m(y)g(the)h(in)m(teger)0
4473 y(arra)m(ys)i Fv(K)f FK(and)g Fv(L)g FK(suc)m(h)g(that)h(the)f
(dimension)e(of)j(the)f(\(i,)h(j\))f(blo)s(c)m(k)g(en)m(try)h(is)e
Fy(K)7 b FK(\()p Fy(i)p FK(\))24 b FJ(\002)e Fy(L)p FK(\()p
Fy(j)5 b FK(\).)54 b Fv(Mb)p FK(,)35 b Fv(Nb)p FK(,)g(and)f(all)0
4586 y(elemen)m(ts)i(of)g Fv(K)g FK(and)f Fv(L)i FK(m)m(ust)e(b)s(e)h
(greater)h(than)e(zero.)58 b(The)36 b FD(x)f FK(pre\014x)g(in)g(the)h
(binding)c(names)k(sp)s(eci\014es)f(the)0 4699 y(scalar)27
b(t)m(yp)s(e)f(and)g(precision)f(of)i(the)g(matrix,)g(as)g(describ)s
(ed)d(in)h(3.2.)41 b Fv(istat)26 b FK(is)f(used)h(as)h(an)f(error)h
(\015ag)g(and)f(will)e(b)s(e)0 4812 y(zero)k(if)f(the)g(routine)g
(executes)i(successfully)-8 b(.)38 b(The)27 b(C)g(binding)d(returns)i
(a)i(new)f(handle)f(as)i(its)f(function)f(return)0 4925
y(v)-5 b(alue;)28 b(this)e(handle)f(is)h(v)m(oid,)h(i.e.)40
b FD(USGP\(return_value,)i(blas_void_handle\))23 b FK(is)i(true,)j(if)e
(the)h(routine)f(did)0 5038 y(not)31 b(execute)g(successfully)-8
b(.)136 5250 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 125 135
125 134 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(125)514 91 y FD(SUBROUTINE)45 b(xuscr_variable_block_be)o(gin\()c
(Mb,)47 b(Nb,)g(k,)g(l,)g(a,)g(istat)g(\))609 204 y(INTEGER,)f
(INTENT\(IN\))f(::)i(Mb,)g(Nb,)g(k\(:\),)f(l\(:\))609
317 y(INTEGER,)g(INTENT\(OUT\))e(::)k(a,)f(istat)136
542 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
767 y FD(SUBROUTINE)45 b(BLAS_xUSCR_VARIABLE_BLO)o(CK_B)o(EGI)o(N\()d
(MB,)47 b(NB,)f(K,)i(L,)f(A,)g(ISTAT)f(\))514 880 y(INTEGER)523
b(MB,)47 b(NB,)g(A,)g(ISTAT)514 993 y(INTEGER)523 b(K\()47
b(*)g(\),)h(L\()f(*)g(\))136 1218 y FJ(\017)f FK(C)30
b(binding:)227 1443 y FD(blas_sparse_matrix)43 b
(BLAS_xuscr_variable_block)o(_be)o(gin\()e(int)47 b(Mb,)g(int)g(Nb,)
2709 1556 y(const)f(int)h(*k,)2709 1669 y(const)f(int)h(*l)h(\);)p
0 1894 3900 6 v 0 2137 a Fx(3.8.7)97 b(Insertion)33 b(routines)0
2309 y FK(USCR)p 257 2309 28 4 v 32 w(INSER)-8 b(T)p
628 2309 V 32 w(ENTR)g(Y)31 b(\(insert)e(single)g(v)-5
b(alue)30 b(at)h(co)s(ordinate)f(\(i,)h(j\)\))783 b Fy(A)25
b FJ( )g FK(\()p Fy(v)s(al)r(;)15 b(i;)g(j)5 b FK(\))141
2535 y Fv(USCR)p 377 2535 V 32 w(INSERT)p 724 2535 V
32 w(ENTRY)32 b FK(is)g(used)f(to)i(build)c(a)k(sparse)f(matrix,)g
(passing)f(in)g(one)i(scalar)f(en)m(try)g(at)h(a)g(time.)0
2648 y(This)27 b(routine)i(ma)m(y)g(only)g(b)s(e)f(called)h(on)g(a)h
(matrix)e(handle)g(that)i(w)m(as)f(op)s(ened)g(via)g(the)g
Fv(USCR)p 3296 2648 V 32 w(BEGIN)g FK(routine)0 2760
y(and)e(has)h(not)g(y)m(et)h(b)s(een)e(closed)g(via)h(the)g
Fv(USCR)p 1656 2760 V 31 w(END)g FK(routine.)39 b(F)-8
b(urthermore,)29 b(matrix)e(prop)s(erties)f(cannot)j(b)s(e)0
2873 y(mo)s(di\014ed)f(after)j(an)m(y)g(insertions,)d(so)j(this)e(call)
h(m)m(ust)g(follo)m(w)g(all)f(settings)i(made)f(to)h(the)g(matrix)f
(via)g(the)g FD(USSP)0 2986 y FK(routine.)40 b(The)29
b(matrix)h(handle)e(m)m(ust)j(b)s(e)e(in)g(a)h(new)g(state)i(\(i.e)e
FD(USPG\(A,)46 b(blas_new_handle)p FK(\))26 b(is)j(true\))i(up)s(on)0
3099 y(the)i(\014rst)f(call)g(to)i(this)d(routine.)48
b(Up)s(on)31 b(successful)h(completion,)h(the)g(matrix)f(handle)g(is)f
(an)i(op)s(en)f(state)i(\(i.e.)0 3212 y FD(USGP\(A,)46
b(blas_open_handle\))26 b FK(is)k(true\))g(and)g(subsequen)m(t)g(calls)
g(to)i(this)d(routine)h(will)e(k)m(eep)j(the)g(matrix)f(in)0
3325 y(this)i(state,)j(un)m(til)c(a)i(call)f(to)i FD(USCR_END)d
FK(is)g(issued.)47 b(The)32 b(precision)f(t)m(yp)s(e)i(of)g(the)g
(sparse)g(matrix)f(represen)m(ted)0 3438 y(b)m(y)e(the)h(handle)e(A)i
(m)m(ust)f(matc)m(h)i(the)e(remaining)f(\015oating-p)s(oin)m(t)h
(argumen)m(ts.)42 b Fv(istat)29 b FK(is)g(used)h(as)h(an)f(error)h
(\015ag)0 3551 y(and)j(will)e(b)s(e)j(zero)g(if)f(the)h(routine)f
(executes)i(successfully)-8 b(.)52 b(The)35 b(C)f(binding)e(returns)h
(istat)i(as)g(the)g(function)0 3664 y(return)29 b(v)-5
b(alue.)136 3876 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4101 y FD(SUBROUTINE)45 b(uscr_insert_entry\()d(a,)48
b(val,)e(i,)h(j,)h(istat)e(\))609 4214 y(INTEGER,)g(INTENT\(IN\))f(::)i
(a,)g(i,)g(j)609 4327 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(val)609
4440 y(INTEGER,)f(INTENT\(OUT\))e(::)k(istat)136 4665
y FJ(\017)e FK(F)-8 b(ortran)31 b(77)h(binding:)514 4890
y FD(SUBROUTINE)45 b(BLAS_xUSCR_INSERT_ENTRY)c(\()48
b(A,)f(VAL,)f(I,)i(J,)f(ISTAT)f(\))514 5003 y(INTEGER)523
b(A,)47 b(I,)g(J,)g(ISTAT)514 5116 y(<type>)571 b(VAL)136
5341 y FJ(\017)46 b FK(C)30 b(binding:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 126 136
126 135 bop 0 -165 a FK(126)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)227 91 y FD(int)47 b(BLAS_xuscr_insert\()c
(blas_sparse_matrix)g(A,)k(SCALAR)f(val,)h(int)g(i,)g(int)g(j)g(\);)p
0 277 3900 6 v 0 390 a FK(USCR)p 257 390 28 4 v 32 w(INSER)-8
b(T)p 628 390 V 32 w(ENTRIES)29 b(\(insert)h(a)h(list)e(of)h(v)-5
b(alues)30 b(in)f(co)s(ordinate)h(form)g(\(v)-5 b(al,)31
b(i,)e(j\)\))206 b Fy(A)25 b FJ( )g FK(\()p Fy(v)s(al)r(;)15
b(i;)g(j)5 b FK(\))141 615 y Fv(USCR)p 377 615 V 32 w(INSERT)p
724 615 V 32 w(ENTRIES)42 b FK(is)e(used)h(to)h(build)c(a)k(sparse)f
(matrix,)i(passing)d(in)g(a)i(list)e(of)i(p)s(oin)m(t)e(en)m(tries.)0
728 y(This)27 b(routine)i(ma)m(y)g(only)g(b)s(e)f(called)h(on)g(a)h
(matrix)e(handle)g(that)i(w)m(as)f(op)s(ened)g(via)g(the)g
Fv(USCR)p 3296 728 V 32 w(BEGIN)g FK(routine)0 841 y(and)e(has)h(not)g
(y)m(et)h(b)s(een)e(closed)g(via)h(the)g Fv(USCR)p 1656
841 V 31 w(END)g FK(routine.)39 b(F)-8 b(urthermore,)29
b(matrix)e(prop)s(erties)f(cannot)j(b)s(e)0 954 y(mo)s(di\014ed)f
(after)j(an)m(y)g(insertions,)d(so)j(this)e(call)h(m)m(ust)g(follo)m(w)
g(all)f(settings)i(made)f(to)h(the)g(matrix)f(via)g(the)g
FD(USSP)0 1067 y FK(routine.)40 b(The)29 b(matrix)h(handle)e(m)m(ust)j
(b)s(e)e(in)g(a)h(new)g(state)i(\(i.e)e FD(USPG\(A,)46
b(blas_new_handle)p FK(\))26 b(is)j(true\))i(up)s(on)0
1180 y(the)i(\014rst)f(call)g(to)i(this)d(routine.)48
b(Up)s(on)31 b(successful)h(completion,)h(the)g(matrix)f(handle)g(is)f
(an)i(op)s(en)f(state)i(\(i.e.)0 1293 y FD(USGP\(A,)46
b(blas_open_handle\))26 b FK(is)k(true\))g(and)g(subsequen)m(t)g(calls)
g(to)i(this)d(routine)h(will)e(k)m(eep)j(the)g(matrix)f(in)0
1406 y(this)i(state,)j(un)m(til)c(a)i(call)f(to)i FD(USCR_END)d
FK(is)g(issued.)47 b(The)32 b(precision)f(t)m(yp)s(e)i(of)g(the)g
(sparse)g(matrix)f(represen)m(ted)0 1519 y(b)m(y)e(the)h(handle)e(A)i
(m)m(ust)f(matc)m(h)i(the)e(remaining)f(\015oating-p)s(oin)m(t)h
(argumen)m(ts.)42 b Fv(istat)29 b FK(is)g(used)h(as)h(an)f(error)h
(\015ag)0 1632 y(and)j(will)e(b)s(e)j(zero)g(if)f(the)h(routine)f
(executes)i(successfully)-8 b(.)52 b(The)35 b(C)f(binding)e(returns)h
(istat)i(as)g(the)g(function)0 1744 y(return)29 b(v)-5
b(alue.)136 1917 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2103 y FD(SUBROUTINE)45 b(uscr_insert_entries\()d(a,)47
b(val,)g(indx,)f(jndx,)g(istat)h(\))609 2215 y(INTEGER,)f(INTENT\(IN\))
f(::)i(a,)g(indx\()f(:)i(\),)f(jndx\()f(:)i(\))609 2328
y(<type>\(<wp>\),)c(INTENT\(IN\))h(::)i(val)g(\()h(:)f(\))609
2441 y(INTEGER,)f(INTENT\(OUT\))e(::)k(istat)136 2627
y FJ(\017)e FK(F)-8 b(ortran)31 b(77)h(binding:)514 2812
y FD(SUBROUTINE)45 b(BLAS_xUSCR_INSERT_ENTRI)o(ES\()c(A,)47
b(NZ,)g(VAL,)g(INDX,)f(JNDX,)466 2925 y($)1813 b(ISTAT)47
b(\))514 3038 y(INTEGER)523 b(A,)47 b(NZ,)g(INDX\()f(*)i(\),)f(JNDX\()f
(*)i(\),)f(ISTAT)514 3151 y(<type>)571 b(VAL\()46 b(*)i(\))136
3336 y FJ(\017)e FK(C)30 b(binding:)227 3521 y FD(int)47
b(BLAS_xuscr_insert_entries)o(\()42 b(blas_sparse_matrix)h(A,)k(int)g
(nz,)1707 3634 y(const)f(ARRAY)h(val,)1707 3747 y(const)f(int)h(*indx,)
f(const)h(int)f(*jndx)h(\);)p 0 3932 3900 6 v 0 4045
a FK(USCR)p 257 4045 28 4 v 32 w(INSER)-8 b(T)p 628 4045
V 32 w(COL)30 b(\(insert)f(a)i(compressed)f(column\))1496
b Fy(A)25 b FJ( )h FK(\()p Fy(:::)p FK(\))141 4271 y
Fv(USCR)p 377 4271 V 32 w(INSERT)p 724 4271 V 32 w(COL)54
b FK(is)f(used)g(to)h(build)d(a)j(sparse)f(matrix,)59
b(passing)53 b(in)f(one)i(column)f(at)h(a)g(time.)0 4384
y(This)27 b(routine)i(ma)m(y)g(only)g(b)s(e)f(called)h(on)g(a)h(matrix)
e(handle)g(that)i(w)m(as)f(op)s(ened)g(via)g(the)g Fv(USCR)p
3296 4384 V 32 w(BEGIN)g FK(routine)0 4497 y(and)e(has)h(not)g(y)m(et)h
(b)s(een)e(closed)g(via)h(the)g Fv(USCR)p 1656 4497 V
31 w(END)g FK(routine.)39 b(F)-8 b(urthermore,)29 b(matrix)e(prop)s
(erties)f(cannot)j(b)s(e)0 4610 y(mo)s(di\014ed)f(after)j(an)m(y)g
(insertions,)d(so)j(this)e(call)h(m)m(ust)g(follo)m(w)g(all)f(settings)
i(made)f(to)h(the)g(matrix)f(via)g(the)g FD(USSP)0 4723
y FK(routine.)40 b(The)29 b(matrix)h(handle)e(m)m(ust)j(b)s(e)e(in)g(a)
h(new)g(state)i(\(i.e)e FD(USPG\(A,)46 b(blas_new_handle)p
FK(\))26 b(is)j(true\))i(up)s(on)0 4835 y(the)i(\014rst)f(call)g(to)i
(this)d(routine.)48 b(Up)s(on)31 b(successful)h(completion,)h(the)g
(matrix)f(handle)g(is)f(an)i(op)s(en)f(state)i(\(i.e.)0
4948 y FD(USGP\(A,)46 b(blas_open_handle\))26 b FK(is)k(true\))g(and)g
(subsequen)m(t)g(calls)g(to)i(this)d(routine)h(will)e(k)m(eep)j(the)g
(matrix)f(in)0 5061 y(this)i(state,)j(un)m(til)c(a)i(call)f(to)i
FD(USCR_END)d FK(is)g(issued.)47 b(The)32 b(precision)f(t)m(yp)s(e)i
(of)g(the)g(sparse)g(matrix)f(represen)m(ted)0 5174 y(b)m(y)e(the)h
(handle)e(A)i(m)m(ust)f(matc)m(h)i(the)e(remaining)f(\015oating-p)s
(oin)m(t)h(argumen)m(ts.)42 b Fv(istat)29 b FK(is)g(used)h(as)h(an)f
(error)h(\015ag)0 5287 y(and)j(will)e(b)s(e)j(zero)g(if)f(the)h
(routine)f(executes)i(successfully)-8 b(.)52 b(The)35
b(C)f(binding)e(returns)h(istat)i(as)g(the)g(function)0
5400 y(return)29 b(v)-5 b(alue.)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 127 137
127 136 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(127)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
316 y FD(SUBROUTINE)45 b(uscr_insert_col\()e(a,)k(j,)g(val,)g(indx,)f
(istat)h(\))609 429 y(INTEGER,)f(INTENT\(IN\))f(::)95
b(a,)47 b(j,)g(indx\(:\))609 542 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)
95 b(val\(:\))609 655 y(INTEGER,)46 b(INTENT\(OUT\))e(::)k(istat)136
880 y FJ(\017)e FK(F)-8 b(ortran)31 b(77)h(binding:)514
1105 y FD(SUBROUTINE)45 b(BLAS_xUSCR_INSERT_COL\()c(A,)48
b(J,)f(NZ,)g(VAL,)f(INDX,)h(ISTAT)f(\))514 1218 y(INTEGER)523
b(A,)47 b(J,)g(NZ,)g(INDX\()f(*)i(\),)f(ISTAT)514 1331
y(<type>)571 b(VAL\()46 b(*)i(\))136 1556 y FJ(\017)e
FK(C)30 b(binding:)227 1781 y FD(int)47 b(BLAS_xuscr_insert_col\()42
b(blas_sparse_matrix)h(A,)k(int)g(j,)g(int)g(nz,)1516
1894 y(const)f(ARRAY)h(val,)f(const)h(int)g(*indx)f(\);)p
0 2119 3900 6 v 0 2232 a FK(USCR)p 257 2232 28 4 v 32
w(INSER)-8 b(T)p 628 2232 V 32 w(R)m(O)m(W)31 b(\(insert)f(a)h
(compressed)f(ro)m(w\))1608 b Fy(A)25 b FJ( )h FK(\()p
Fy(:::)p FK(\))141 2457 y Fv(USCR)p 377 2457 V 32 w(INSERT)p
724 2457 V 32 w(RO)m(W)44 b FK(is)e(used)g(to)j(build)40
b(a)j(sparse)g(matrix,)k(passing)42 b(in)g(one)h(ro)m(w)h(at)g(a)f
(time.)80 b(This)0 2570 y(routine)30 b(ma)m(y)i(only)e(b)s(e)h(called)f
(on)h(a)h(matrix)e(handle)g(that)i(w)m(as)f(op)s(ened)f(via)h(the)h
Fv(USCR)p 3117 2570 V 31 w(BEGIN)f FK(routine)g(and)0
2683 y(has)40 b(not)f(y)m(et)i(b)s(een)e(closed)h(via)f(the)h
Fv(USCR)p 1565 2683 V 32 w(END)g FK(routine.)68 b(F)-8
b(urthermore,)42 b(matrix)d(prop)s(erties)f(cannot)j(b)s(e)0
2796 y(mo)s(di\014ed)28 b(after)j(an)m(y)g(insertions,)d(so)j(this)e
(call)h(m)m(ust)g(follo)m(w)g(all)f(settings)i(made)f(to)h(the)g
(matrix)f(via)g(the)g FD(USSP)0 2909 y FK(routine.)40
b(The)29 b(matrix)h(handle)e(m)m(ust)j(b)s(e)e(in)g(a)h(new)g(state)i
(\(i.e)e FD(USPG\(A,)46 b(blas_new_handle)p FK(\))26
b(is)j(true\))i(up)s(on)0 3022 y(the)i(\014rst)f(call)g(to)i(this)d
(routine.)48 b(Up)s(on)31 b(successful)h(completion,)h(the)g(matrix)f
(handle)g(is)f(an)i(op)s(en)f(state)i(\(i.e.)0 3135 y
FD(USGP\(A,)46 b(blas_open_handle\))26 b FK(is)k(true\))g(and)g
(subsequen)m(t)g(calls)g(to)i(this)d(routine)h(will)e(k)m(eep)j(the)g
(matrix)f(in)0 3248 y(this)i(state,)j(un)m(til)c(a)i(call)f(to)i
FD(USCR_END)d FK(is)g(issued.)47 b(The)32 b(precision)f(t)m(yp)s(e)i
(of)g(the)g(sparse)g(matrix)f(represen)m(ted)0 3361 y(b)m(y)e(the)h
(handle)e(A)i(m)m(ust)f(matc)m(h)i(the)e(remaining)f(\015oating-p)s
(oin)m(t)h(argumen)m(ts.)42 b Fv(istat)29 b FK(is)g(used)h(as)h(an)f
(error)h(\015ag)0 3474 y(and)j(will)e(b)s(e)j(zero)g(if)f(the)h
(routine)f(executes)i(successfully)-8 b(.)52 b(The)35
b(C)f(binding)e(returns)h(istat)i(as)g(the)g(function)0
3587 y(return)29 b(v)-5 b(alue.)136 3799 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 4024 y FD(SUBROUTINE)45
b(uscr_insert_row\()e(a,)k(i,)g(val,)g(indx,)f(istat)h(\))609
4137 y(INTEGER,)f(INTENT\(IN\))f(::)95 b(a,)47 b(i,)g(indx\(:\))609
4250 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)95 b(val\(:\))609
4363 y(INTEGER,)46 b(INTENT\(OUT\))e(::)k(istat)136 4588
y FJ(\017)e FK(F)-8 b(ortran)31 b(77)h(binding:)514 4813
y FD(SUBROUTINE)45 b(BLAS_xUSCR_INSERT_ROW\()c(A,)48
b(I,)f(NZ,)g(VAL,)f(INDX,)h(ISTAT)f(\))514 4926 y(INTEGER)523
b(A,)47 b(I,)g(NZ,)g(INDX\()f(*)i(\),)f(ISTAT)514 5039
y(<type>)571 b(VAL\()46 b(*)i(\))136 5264 y FJ(\017)e
FK(C)30 b(binding:)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 128 138
128 137 bop 0 -165 a FK(128)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)227 91 y FD(int)47 b(BLAS_xuscr_insert_row\()
42 b(blas_sparse_matrix)h(A,)k(int)g(i,)g(int)g(nz,)1516
204 y(const)f(ARRAY)h(val,)f(const)h(int)g(*indx)f(\);)p
0 429 3900 6 v 0 542 a FK(USCR)p 257 542 28 4 v 32 w(INSER)-8
b(T)p 628 542 V 32 w(CLIQUE)29 b(\(insert)h(a)h(dense)f(matrix)g
(clique\))1125 b Fy(A)25 b FJ( )g FK(\()p Fy(v)s(al)r(;)15
b(i;)g(j)5 b FK(\))141 768 y Fv(USCR)p 377 768 V 32 w(INSERT)p
724 768 V 32 w(CLIQUE)26 b FK(is)e(used)h(to)h(build)c(a)j(sparse)g
(matrix,)h(passing)e(in)g(a)i(dense)f(matrix)f(v)-5 b(al)25
b(of)g(dimen-)0 881 y(sion)j Fv(k)17 b FJ(\002)f Fv(l)28
b FK(and)g(corresp)s(onding)e(in)m(teger)j(arra)m(ys)g(con)m(taining)f
(the)h(list)e(of)i(\(i,)g(j\))f(indices)f(describing)f(the)j(clique.)0
994 y(This)e(routine)i(ma)m(y)g(only)g(b)s(e)f(called)h(on)g(a)h
(matrix)e(handle)g(that)i(w)m(as)f(op)s(ened)g(via)g(the)g
Fv(USCR)p 3296 994 V 32 w(BEGIN)g FK(routine)0 1107 y(and)e(has)h(not)g
(y)m(et)h(b)s(een)e(closed)g(via)h(the)g Fv(USCR)p 1656
1107 V 31 w(END)g FK(routine.)39 b(F)-8 b(urthermore,)29
b(matrix)e(prop)s(erties)f(cannot)j(b)s(e)0 1220 y(mo)s(di\014ed)f
(after)j(an)m(y)g(insertions,)d(so)j(this)e(call)h(m)m(ust)g(follo)m(w)
g(all)f(settings)i(made)f(to)h(the)g(matrix)f(via)g(the)g
FD(USSP)0 1333 y FK(routine.)40 b(The)29 b(matrix)h(handle)e(m)m(ust)j
(b)s(e)e(in)g(a)h(new)g(state)i(\(i.e)e FD(USPG\(A,)46
b(blas_new_handle)p FK(\))26 b(is)j(true\))i(up)s(on)0
1445 y(the)i(\014rst)f(call)g(to)i(this)d(routine.)48
b(Up)s(on)31 b(successful)h(completion,)h(the)g(matrix)f(handle)g(is)f
(an)i(op)s(en)f(state)i(\(i.e.)0 1558 y FD(USGP\(A,)46
b(blas_open_handle\))26 b FK(is)k(true\))g(and)g(subsequen)m(t)g(calls)
g(to)i(this)d(routine)h(will)e(k)m(eep)j(the)g(matrix)f(in)0
1671 y(this)i(state,)j(un)m(til)c(a)i(call)f(to)i FD(USCR_END)d
FK(is)g(issued.)47 b(The)32 b(precision)f(t)m(yp)s(e)i(of)g(the)g
(sparse)g(matrix)f(represen)m(ted)0 1784 y(b)m(y)e(the)h(handle)e(A)i
(m)m(ust)f(matc)m(h)i(the)e(remaining)f(\015oating-p)s(oin)m(t)h
(argumen)m(ts.)42 b Fv(istat)29 b FK(is)g(used)h(as)h(an)f(error)h
(\015ag)0 1897 y(and)j(will)e(b)s(e)j(zero)g(if)f(the)h(routine)f
(executes)i(successfully)-8 b(.)52 b(The)35 b(C)f(binding)e(returns)h
(istat)i(as)g(the)g(function)0 2010 y(return)29 b(v)-5
b(alue.)136 2222 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2447 y FD(SUBROUTINE)45 b(uscr_insert_clique\()d(a,)47
b(val,)g(indx,)f(jndx,)h(istat)f(\))609 2560 y(INTEGER,)g(INTENT\(IN\))
f(::)i(a,)g(indx\(:\),)f(jndx\(:\))609 2673 y(<type>\(<wp>\),)e
(INTENT\(IN\))h(::)i(val\(:,:\))609 2786 y(INTEGER,)f(INTENT\(OUT\))e
(::)k(istat)136 3011 y FJ(\017)e FK(F)-8 b(ortran)31
b(77)h(binding:)514 3236 y FD(SUBROUTINE)45 b(BLAS_xUSCR_INSERT_CLIQU)o
(E\()d(A,)47 b(K,)g(L,)g(VAL,)g(LDV,)f(INDX,)466 3349
y($)1766 b(JNDX,)46 b(ISTAT)g(\))514 3462 y(INTEGER)523
b(A,)47 b(K,)g(L,)g(LDV,)g(INDX\()f(*)i(\),)f(JNDX\()f(*)i(\),)f(ISTAT)
514 3575 y(<type>)571 b(VAL\()46 b(LDV,)h(*)g(\))136
3800 y FJ(\017)f FK(C)30 b(binding:)227 4025 y FD(int)47
b(BLAS_xuscr_insert_clique\()41 b(blas_sparse_matrix)i(A,)k(const)f
(int)h(k,)1659 4138 y(const)f(int)h(l,)h(const)e(ARRAY)g(val,)1659
4251 y(const)g(int)h(row_stride,)e(const)h(int)h(col_stride,)1659
4364 y(const)f(int)h(*indx,)1659 4477 y(const)f(int)h(*jndx)g(\);)p
0 4702 3900 6 v 0 4814 a FK(USCR)p 257 4814 28 4 v 32
w(INSER)-8 b(T)p 628 4814 V 32 w(BLOCK)30 b(\(insert)f(a)i(blo)s(c)m(k)
f(en)m(try)h(at)g(blo)s(c)m(k)f(co)s(ordinate)g(\(bi,)g(b)5
b(j\)\))288 b Fy(A)25 b FJ( )g FK(\()p Fy(v)s(al)r(;)15
b(bi;)g(bj)5 b FK(\))141 5040 y Fv(USCR)p 377 5040 V
32 w(INSERT)p 724 5040 V 32 w(BLOCK)34 b FK(is)e(used)h(to)h(insert)e
(a)i(blo)s(c)m(k)e(en)m(try)i(in)m(to)f(a)h(blo)s(c)m(k-en)m(try)f
(matrix.)49 b(This)32 b(routine)0 5153 y(ma)m(y)37 b(only)f(b)s(e)g
(called)g(on)h(a)g(matrix)f(handle)f(that)i(w)m(as)h(op)s(ened)e(with)f
(one)i(of)g(the)g(blo)s(c)m(k)f(creation)h(routines)0
5266 y(\()e Fv(USCR)p 306 5266 V 31 w(BLOCK)p 635 5266
V 33 w(BEGIN)g FK(or)f Fv(USCR)p 1314 5266 V 32 w(V)-8
b(ARIABLE)p 1769 5266 V 32 w(BLOCK)p 2099 5266 V 32 w(BEGIN)p
FK(\))35 b(and)f(has)g(not)h(y)m(et)h(b)s(een)d(closed)i(via)f(the)0
5379 y Fv(USCR)p 236 5379 V 32 w(END)k FK(routine.)62
b(F)-8 b(urthermore,)40 b(matrix)d(prop)s(erties)f(cannot)j(b)s(e)e(mo)
s(di\014ed)f(after)i(an)m(y)h(insertions,)f(so)4084 64
y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 129 139
129 138 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(129)0 91 y(this)27 b(call)g(m)m(ust)g(follo)m(w)g(all)g(settings)g
(made)h(to)g(the)g(matrix)f(via)g(the)h FD(USSP)f FK(routine.)39
b(The)27 b(matrix)g(handle)f(m)m(ust)0 204 y(b)s(e)h(in)e(a)j(new)f
(state)h(\(i.e)g FD(USPG\(A,)45 b(blas_new_handle)p FK(\))24
b(is)i(true\))h(up)s(on)f(the)h(\014rst)g(call)f(to)i(this)e(routine.)
39 b(Up)s(on)0 317 y(successful)f(completion,)j(the)e(matrix)f(handle)g
(is)g(an)h(op)s(en)f(state)j(\(i.e.)67 b FD(USGP\(A,)46
b(blas_open_handle\))34 b FK(is)0 430 y(true\))26 b(and)f(subsequen)m
(t)f(calls)h(to)h(this)f(routine)f(will)f(k)m(eep)j(the)g(matrix)f(in)f
(this)g(state,)k(un)m(til)c(a)i(call)f(to)h FD(USCR_END)0
543 y FK(is)20 b(issued.)37 b(The)20 b(dimensions)f(of)j(the)f(blo)s(c)
m(k)g(en)m(try)h(are)g(determined)e(from)h(the)h(blo)s(c)m(ksize)e
(information)g(passed)h(to)0 656 y Fv(USCR)p 236 656
28 4 v 32 w(BLOCK)p 566 656 V 32 w(BEGIN)k FK(or)h Fv(USCR)p
1226 656 V 31 w(V)-8 b(ARIABLE)p 1680 656 V 32 w(BLOCK)p
2010 656 V 33 w(BEGIN)p FK(.)25 b(In)g(the)g(F)-8 b(ortran)26
b(77)g(binding,)d Fv(LD)m(V)j FK(denotes)0 769 y(the)j(leading)f
(dimension)f(of)i(the)h(dense)f(arra)m(y)g Fv(V)-8 b(AL)p
FK(.)29 b(The)g(precision)f(t)m(yp)s(e)h(of)g(the)h(sparse)e(matrix)h
(represen)m(ted)0 882 y(b)m(y)h(the)h(handle)e(A)i(m)m(ust)f(matc)m(h)i
(the)e(remaining)f(\015oating-p)s(oin)m(t)h(argumen)m(ts.)42
b Fv(istat)29 b FK(is)g(used)h(as)h(an)f(error)h(\015ag)0
995 y(and)j(will)e(b)s(e)j(zero)g(if)f(the)h(routine)f(executes)i
(successfully)-8 b(.)52 b(The)35 b(C)f(binding)e(returns)h(istat)i(as)g
(the)g(function)0 1108 y(return)29 b(v)-5 b(alue.)136
1316 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
1537 y FD(SUBROUTINE)45 b(uscr_insert_block\()d(a,)48
b(val,)e(bi,)h(bj,)g(istat)f(\))609 1650 y(INTEGER,)g(INTENT\(IN\))f
(::)i(a,)g(bi,)g(bj)609 1763 y(INTEGER,)f(INTENT\(OUT\))e(::)k(istat)
609 1876 y(<type>\(<wp>\),)c(INTENT\(IN\))h(::)i(val\(:,:\))136
2097 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
2318 y FD(SUBROUTINE)45 b(F_xUSCR_INSERT_BLOCK\()d(A,)47
b(VAL,)f(LDV,)h(BI,)g(BJ,)g(ISTAT)f(\))514 2430 y(INTEGER)523
b(A,)47 b(LDV,)g(BI,)f(BJ,)h(ISTAT)514 2543 y(<type>)571
b(VAL\()46 b(LDV,)h(*)g(\))136 2764 y FJ(\017)f FK(C)30
b(binding:)227 2985 y FD(int)47 b(BLAS_xuscr_insert_block\()41
b(int)47 b(a,)g(const)g(ARRAY)f(val,)h(int)g(row_stride,)1611
3098 y(int)g(col_stride,)e(int)i(bi,)g(int)g(bj)g(\);)p
0 3319 3900 6 v 0 3562 a Fx(3.8.8)97 b(Completion)33
b(of)f(construction)i(routine)0 3733 y FK(USCR)p 257
3733 28 4 v 32 w(END)d(\(en)m(tries)f(completed;)h(build)c(v)-5
b(alid)29 b(matrix)h(handle\))1197 b Fy(A)25 b FJ( )h
FK(\()p Fy(:::)p FK(\))141 3959 y Fv(USCR)p 377 3959
V 32 w(END)38 b FK(is)f(used)g(to)i(complete)f(the)g(construction)g
(phase)f(and)h(build)d(a)j(v)-5 b(alid)36 b(sparse)i(matrix)f(han-)0
4072 y(dle.)96 b(This)48 b(routine)g(ma)m(y)i(b)s(e)e(called)h(only)f
(with)g(a)i(sparse)f(matrix)f(handle)g(that)i(w)m(as)f(previously)e
(cre-)0 4185 y(ated)h(via)g(the)g(routines)e Fv(USCR)p
1162 4185 V 32 w(BEGIN)p FK(,)i Fv(USCR)p 1763 4185 V
31 w(BLOCK)p 2092 4185 V 33 w(BEGIN)g FK(or)f Fv(USCR)p
2797 4185 V 32 w(V)-8 b(ARIABLE)p 3252 4185 V 32 w(BLOCK)p
3582 4185 V 33 w(BEGIN)p FK(.)0 4298 y(The)41 b(matrix)g(handle)f(m)m
(ust)h(b)s(e)g(in)f(an)i(op)s(en)f(or)g(new)g(state,)46
b(i.e.)74 b(either)41 b FD(USGP\(A,)46 b(blas_open_handle\))0
4411 y FK(or)29 b FD(USGP\(A,)46 b(blas_new_handle\))25
b FK(is)j(true.)40 b Fv(istat)28 b FK(is)g(used)g(as)h(an)g(error)g
(\015ag)g(and)g(will)d(b)s(e)j(zero)h(if)e(the)h(routine)0
4524 y(executes)j(successfully)-8 b(.)39 b(The)30 b(C)g(binding)d
(returns)i(istat)i(as)f(the)h(function)e(return)g(v)-5
b(alue.)136 4732 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4953 y FD(SUBROUTINE)45 b(uscr_end\()g(a,)i(istat)f(\))609
5066 y(INTEGER,)g(INTENT\(IN\))f(::)i(a)609 5179 y(INTEGER,)f
(INTENT\(OUT\))e(::)k(istat)136 5400 y FJ(\017)e FK(F)-8
b(ortran)31 b(77)h(binding:)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 130 140
130 139 bop 0 -165 a FK(130)2512 b FA(CHAPTER)30 b(3.)72
b(SP)-8 b(ARSE)29 b(BLAS)514 91 y FD(SUBROUTINE)45 b(BLAS_USCR_END\()f
(A,)j(ISTAT)f(\))514 204 y(INTEGER)523 b(A,)47 b(ISTAT)136
413 y FJ(\017)f FK(C)30 b(binding:)227 621 y FD(int)47
b(BLAS_uscr_end\()d(blas_sparse_matrix)f(A)k(\);)p 0
830 3900 6 v 0 1071 a Fx(3.8.9)97 b(Matrix)32 b(p)m(rop)s(ert)m(y)h
(routines)0 1242 y FK(USGP)d(\(get/test)j(matrix)d(prop)s(ert)m(y\))
1824 b Fz(pr)-5 b(op)g(erty-value)p FJ( )28 b Fy(A)141
1468 y FK(F)-8 b(or)34 b(a)g(giv)m(en)f(sparse)f(matrix)h
Fy(A)p FK(,)h(the)g(routine)e Fv(USGP)f FK(returns)h(the)i(v)-5
b(alue)32 b(of)i(the)f(giv)m(en)g(prop)s(ert)m(y)g(name.)0
1581 y(The)i(\014rst)h(argumen)m(t)g(is)f(the)h(matrix)g(handle)e(and)i
(the)g(second)g(argumen)m(t)g(is)f(one)i(of)f(the)g(prop)s(erties)e
(listed)0 1694 y(in)e(in)g(T)-8 b(able)33 b(3.5.)50 b(Eac)m(h)34
b(grouping)e(denotes)h(a)h(subset)e(of)i(m)m(utually)e(exclusiv)m(e)g
(prop)s(erties.)48 b(The)33 b(prop)s(erties)0 1807 y
FD(blas_num_rows)p FK(,)27 b FD(blas_num_cols)p FK(,)g(and)j
FD(blas_num_nonzeros)25 b FK(return)30 b(in)m(teger)g(v)-5
b(alues,)30 b(all)f(other)i(prop)s(er-)0 1920 y(ties)20
b(return)f(1)i(if)e(true,)j(and)e(0)h(otherwise.)37 b(If)19
b(the)i(matrix)e(handle)g(is)h(corrupt,)i(i.e.)37 b FD(USGP\(A,)46
b(blas_void_handle\))0 2033 y FK(is)f(true,)50 b(all)45
b(other)h(Bo)s(olean)h(prop)s(erties)d(are)j(false,)j(and)45
b(in)m(teger)h(v)-5 b(alued)45 b(prop)s(erties)g(\()p
FD(blas_num_rows)p FK(,)0 2146 y FD(blas_num_cols)p FK(,)27
b(and)j FD(blas_num_nonzeros)p FK(\))c(return)j(0.)136
2342 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2550 y FD(SUBROUTINE)45 b(usgp\()h(a,)h(pname,)f(m)i(\))609
2663 y(INTEGER,)e(INTENT\(IN\))f(::)i(a)609 2776 y(INTEGER,)f
(INTENT\(IN\))f(::)i(pname)609 2889 y(INTEGER,)f(INTENT\(OUT\))e(::)k
(m)136 3098 y FJ(\017)e FK(F)-8 b(ortran)31 b(77)h(binding:)514
3306 y FD(SUBROUTINE)45 b(BLAS_USGP\()g(A,)i(PNAME,)f(M)h(\))514
3419 y(INTEGER)523 b(A,)47 b(PNAME,)f(M)136 3628 y FJ(\017)g
FK(C)30 b(binding:)227 3836 y FD(int)47 b(BLAS_usgp\()e
(blas_sparse_matrix)e(A,)k(int)g(pname)f(\);)p 141 4045
V 0 4158 a FK(USSP)29 b(\(set)j(matrix)d(prop)s(ert)m(y\))2012
b(A)30 b FJ( )g Fz(pr)-5 b(op)g(erty-value)141 4384 y
FK(F)d(or)39 b(a)g(giv)m(en)f(v)-5 b(alid)37 b(sparse)h(matrix)f
(handle)g Fy(A)p FK(,)k(the)d(routine)g Fv(USSP)e FK(sets)j(the)g(v)-5
b(alue)37 b(of)i(the)f(giv)m(en)g(ma-)0 4497 y(trix)e(prop)s(ert)m(y)-8
b(.)60 b(This)35 b(routine)h(m)m(ust)h(b)s(e)f(called)g(after)i(the)f
(handle)e(has)i(b)s(een)f(created,)k(and)c(b)s(efore)h(an)m(y)g(of)0
4610 y(the)h(INSER)-8 b(T)36 b(routines)h(ha)m(v)m(e)h(b)s(een)f
(called.)61 b(That)37 b(is,)i(the)e(matrix)g(handle)f(m)m(ust)h(b)s(e)g
(in)f(a)i(new)f(state,)k(i.e.)0 4723 y FD(USGP\(A,)46
b(blas_new_handle\))31 b FK(is)j(true.)56 b Fv(istat)34
b FK(is)g(used)h(as)h(an)f(error)g(\015ag)h(and)e(will)f(b)s(e)i(zero)h
(if)e(the)i(routine)0 4835 y(executes)d(successfully)c(and)i(is)g(set)h
(to)g(-1)g(if)f(the)g(handle)f(is)h(corrupt,)g(i.e.)44
b(if)31 b FD(USGP\(A,)46 b(blas_void_handle\))0 4948
y FK(is)29 b(true.)41 b(The)30 b(C)g(binding)d(returns)i(istat)i(as)f
(the)h(function)e(return)g(v)-5 b(alue.)141 5061 y(The)30
b(\014rst)f(argumen)m(t)h(is)f(the)i(matrix)e(handle;)g(the)h(second)g
(argumen)m(t)h(is)e(one)h(of)g(the)g(prop)s(erties)f(listed)f(in)0
5174 y(in)h(T)-8 b(able)30 b(3.4.)42 b(Eac)m(h)31 b(grouping)e(denotes)
i(a)f(subset)g(of)h(m)m(utually)e(exclusiv)m(e)g(prop)s(erties.)141
5287 y(If)41 b(t)m(w)m(o)h(incompatible)d(prop)s(erties)g(from)i(the)g
(same)g(group)g(are)g(set,)k(the)c(results)f(are)h(unde\014ned.)70
b(F)-8 b(or)0 5400 y(example,)30 b(the)h(sequence)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 131 141
131 140 bop 0 -165 a FA(3.8.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(131)239 204 y FD(BLAS_ussp\(A,)44 b(blas_zero_base\);)239
317 y(BLAS_ussp\(A,)g(blas_one_base\);)0 599 y FK(leads)29
b(to)h(an)g(am)m(biguit)m(y)f(and)f(the)i(resulting)e(handle)g(is)h(v)m
(oid)g(\(i.e.)40 b FD(USGP\(A,)46 b(blas_void_handle\))25
b FK(is)k(true\).)0 712 y(It)h(is)g(p)s(ossible)e(to)j(guard)f(against)
g(this)g(b)m(y)g(testing)g(the)h(prop)s(erties)e(\014rst.)136
902 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
1104 y FD(SUBROUTINE)45 b(ussp\()h(a,)h(pname,)f(istat)h(\))514
1217 y(INTEGER,)e(INTENT\(INOUT\))f(::)k(a)514 1330 y(INTEGER,)d
(INTENT\(IN\))g(::)i(pname)514 1443 y(INTEGER,)e(INTENT\(OUT\))g(::)i
(istat)136 1645 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
1848 y FD(SUBROUTINE)45 b(BLAS_USSP\()g(A,)i(PNAME,)f(ISTAT)g(\))514
1961 y(INTEGER)523 b(A,)47 b(PNAME,)f(ISTAT)136 2163
y FJ(\017)g FK(C)30 b(binding:)227 2365 y FD(int)47 b(BLAS_ussp\()e
(blas_sparse_matrix)e(A,)k(int)g(pname)f(\);)p 141 2568
3900 6 v 0 2808 a Fx(3.8.10)97 b(Destruction)34 b(routine)0
2979 y FK(USDS)c(\(release)h(matrix)f(handle\))2351 b(\()p
Fy(:::)p FK(\))27 b FJ( )e Fy(A)141 3205 y FK(The)d(routine)g
Fv(USDS)e FK(releases)j(an)m(y)g(memory)f(in)m(ternally)e(used)i(b)m(y)
g(the)h(sparse)f(matrix)g(handle)f Fy(A)p FK(.)38 b(The)22
b(han-)0 3318 y(dle)k(m)m(ust)i(ha)m(v)m(e)g(b)s(een)f(previously)e
(closed)i(b)m(y)h(the)f FD(USCR_END)e FK(routine,)j(i.e.)39
b FD(USGP\(A,)46 b(blas_valid_handle\))0 3431 y FK(m)m(ust)25
b(b)s(e)g(true.)39 b(It)26 b(turns)e(this)h(in)m(to)g(a)h(handle)f
(that)h(is)e(no)i(longer)f(in)f(use,)j(i.e.)39 b FD(USGP\(A,)46
b(blas_void_handle\))0 3544 y FK(is)34 b(true.)55 b Fv(istat)33
b FK(is)i(used)f(as)h(an)g(error)g(\015ag)g(and)f(will)f(b)s(e)h(zero)i
(if)e(the)h(routine)f(executes)j(successfully)-8 b(.)53
b(The)34 b(C)0 3657 y(binding)27 b(returns)i(istat)i(as)g(the)f
(function)f(return)h(v)-5 b(alue.)136 3847 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 4049 y FD(SUBROUTINE)45
b(usds\()h(a,)h(istat)g(\))514 4162 y(INTEGER,)e(INTENT\(IN\))g(::)i(a)
514 4275 y(INTEGER,)e(INTENT\(OUT\))g(::)i(istat)136
4477 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
4680 y FD(SUBROUTINE)45 b(BLAS_USDS\()g(A,)i(ISTAT)f(\))514
4793 y(INTEGER)523 b(A,)47 b(ISTAT)136 4995 y FJ(\017)f
FK(C)30 b(binding:)227 5198 y FD(int)47 b(BLAS_usds\()e
(blas_sparse_matrix)e(A)k(\);)p 0 5400 V -214 64 a FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 132 142
132 141 bop 0 714 a FF(Chapter)65 b(4)0 1129 y FH(Extended)77
b(and)h(Mixed)f(Precision)g(BLAS)0 1611 y FE(4.1)116
b(Overview)0 1814 y FK(This)35 b(Chapter)h(describ)s(es)f
Fz(extende)-5 b(d)38 b FK(and)e Fz(mixe)-5 b(d)37 b FK(precision)e
(implemen)m(tations)g(of)i(the)g(BLAS)g(describ)s(ed)d(in)0
1926 y(other)41 b(c)m(hapters.)72 b(Extended)40 b(precision)e(is)i
(used)g(only)g(in)m(ternally)e(to)j(the)g(BLAS;)g(the)g(input)d(and)i
(output)0 2039 y(argumen)m(ts)e(remain)e(as)h(b)s(efore.)61
b(Extended)37 b(precision)e(p)s(ermits)g(us)i(to)h(implemen)m(t)e(some)
h(algorithms)f(that)0 2152 y(ma)m(y)23 b(b)s(e)e(simpler,)g(more)h
(accurate,)k(and)21 b(sometimes)h(ev)m(en)h(faster)f(than)g(without)f
(it.)37 b(Mixed)22 b(precision)e(refers)h(to)0 2265 y(ha)m(ving)29
b(some)h(input/output)d(parameters)j(that)g(are)g(b)s(oth)e(single)g
(precision)g(and)g(double)g(precision,)g(or)i(b)s(oth)0
2378 y(real)h(and)g(complex.)43 b(Mixed)31 b(precision)e(similarly)f(p)
s(ermits)h(us)i(to)h(write)f(simpler)d(or)k(faster)f(algorithms.)43
b(But)0 2491 y(giv)m(en)29 b(the)g(complexit)m(y)f(that)i(could)e
(result)f(b)m(y)i(allo)m(wing)e(to)s(o)j(man)m(y)f(com)m(binations)f
(of)h(t)m(yp)s(es)f(and)h(precisions,)0 2604 y(w)m(e)i(m)m(ust)f(c)m
(ho)s(ose)h(a)g(parsimonious)d(subset)i(that)h(is)e(b)s(oth)h(useful)e
(and)i(reasonable)g(to)i(implemen)m(t.)141 2717 y(The)g(rest)h(of)g
(this)f(c)m(hapter)h(is)f(organized)h(as)g(follo)m(ws.)47
b(Section)32 b(4.2)i(summarizes)e(the)h(designs)e(goals)j(and)0
2830 y(decisions)39 b(that)j(guide)d(our)i(design,)h(with)e(details)f
(left)i(to)g([42)q(].)72 b(Section)41 b(4.3)h(summarizes)d(the)i
(functions)0 2943 y(supp)s(orted)34 b(in)h(extended)i(and)e(mixed)g
(precision.)57 b(This)34 b(includes)g(a)j(discussion)d(of)i(the)g
(error)g(b)s(ounds)e(that)0 3056 y(routines)k(m)m(ust)i(satisfy)-8
b(.)68 b(Section)39 b(4.4)i(summarizes)d(the)i(issues)e(in)g(our)h
(design)f(of)i(language)g(bindings)c(for)0 3168 y(F)-8
b(ortran)24 b(95,)i(F)-8 b(ortran)25 b(77)f(and)f(C.)h(Section)f(4.5)i
(con)m(tains)f(the)g(detailed)f(calling)f(sequences)i(for)f(the)h
(subroutines)0 3281 y(in)29 b(the)i(three)f(languages.)41
b(A)31 b(complete)g(justi\014cation)e(of)h(our)g(design)f(app)s(ears)h
(in)f([42)q(].)0 3560 y FE(4.2)116 b(Design)38 b(Goals)g(and)h(Summa)m
(ry)0 3763 y FK(Our)e(prop)s(osal)h(to)h(ha)m(v)m(e)h(extended)f(and)f
(mixed)f(precision)g(in)h(the)h(BLAS)f(is)g(motiv)-5
b(ated)39 b(b)m(y)g(the)f(follo)m(wing)0 3876 y(facts:)136
4041 y FJ(\017)46 b FK(A)40 b(n)m(um)m(b)s(er)e(of)i(imp)s(ortan)m(t)f
(linear)f(algebra)i(algorithms)f(can)h(b)s(ecome)g(simpler,)f(more)h
(accurate)i(and)227 4154 y(sometimes)33 b(faster)f(if)f(in)m(ternal)g
(computations)h(carry)h(more)f(precision)f(\(and)h(sometimes)g(more)g
(range\))227 4266 y(than)g(is)f(used)g(for)h(the)g(input)e(and)i
(output)f(argumen)m(ts.)46 b(These)32 b(include)e(linear)g(system)i
(solving,)g(least)227 4379 y(squares)f(problems,)e(and)h(eigen)m(v)-5
b(alue)31 b(problems.)39 b(Often)31 b(the)g(b)s(ene\014ts)e(of)i(wider)
e(arithmetic)h(cost)i(only)227 4492 y(a)f(small)e(fractional)h
(addition)e(to)j(the)g(total)g(w)m(ork.)136 4664 y FJ(\017)46
b FK(F)-8 b(or)22 b(single)d(precision)g(input,)i(the)g(computer's)g
(nativ)m(e)g(double)e(precision)g(is)g(a)j(w)m(a)m(y)f(to)h(ac)m(hiev)m
(e)g(these)f(b)s(en-)227 4777 y(e\014ts)26 b(easily)f(on)h(all)e
(commercially)h(signi\014can)m(t)g(computers,)i(at)f(least)g(when)f
(only)g(a)h(few)g(extra-precision)227 4890 y(op)s(erations)32
b(are)g(needed.)45 b(\(Cra)m(ys)32 b(and)g(their)f(em)m(ulators)h
(implemen)m(t)e(64-bit)j(single)d(in)h(hardw)m(are)h(and)227
5003 y(m)m(uc)m(h)k(slo)m(w)m(er)g(128-bit)h(double)e(in)f(soft)m(w)m
(are,)40 b(so)c(if)f(a)h(great)h(man)m(y)f(double)f(precision)f(op)s
(erations)i(are)227 5115 y(needed,)31 b(these)f(mac)m(hines)g(will)e
(slo)m(w)i(do)m(wn)g(signi\014can)m(tly)-8 b(.\))136
5287 y FJ(\017)46 b FK(In)m(tel)31 b(and)g(similar)e(pro)s(cessors)h
(are)i(designed)e(to)i(run)e(fastest)j(p)s(erforming)c(arithmetic)h(to)
i(the)g(full)d(80-)227 5400 y(bit)36 b(width,)h(wider)f(than)g(double)g
(precision,)h(of)g(their)f(in)m(ternal)f(registers.)60
b(These)37 b(computers)g(confer)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 133 143
133 142 bop 0 -165 a FA(4.2.)72 b(DESIGN)31 b(GO)m(ALS)f(AND)h(SUMMAR)
-8 b(Y)2106 b FK(133)227 91 y(some)33 b(b)s(ene\014ts)f(of)h(wider)e
(arithmetic)h(at)h(little)e(or)i(no)g(p)s(erformance)f(p)s(enalt)m(y)-8
b(.)47 b(Some)32 b(BLAS)h(on)f(these)227 204 y(computers)37
b(already)g(p)s(erform)f(wider)g(arithmetic)g(in)m(ternally)g(but,)i
(without)f(kno)m(wing)f(this)g(for)h(sure,)227 317 y(programmers)30
b(cannot)h(exploit)f(it.)136 505 y FJ(\017)46 b FK(All)26
b(computers)h(can)h(sim)m(ulate)e(quadruple)f(precision)h(or)h
(something)g(lik)m(e)f(it)h(in)f(soft)m(w)m(are)j(at)f(the)f(cost)i(of)
227 618 y(arithmetic)34 b(slo)m(w)m(er)h(than)f(double)f(precision)f(b)
m(y)j(at)g(w)m(orst)g(an)f(order)g(of)g(magnitude.)52
b(Less)35 b(slo)m(wdo)m(wn)227 731 y(is)c(incurred)e(for)i(a)g(rough)g
(double-double)e(precision)h(on)h(mac)m(hines)g(\(IBM)h(RS/6000,)h(P)m
(o)m(w)m(erPC/Mac,)227 844 y(SGI/MIPS)44 b(R8000,HP)j(P)-8
b(A)45 b(RISC)e(2.0\))k(with)c(sp)s(ecial)g(fused)h(m)m(ultiply-accum)m
(ulate)f(instructions.)227 956 y(Since)33 b(some)h(algorithms)f
(require)f(v)m(ery)i(little)f(extra)h(precise)f(arithmetic)g(to)i(get)g
(a)f(large)g(b)s(ene\014t,)g(the)227 1069 y(slo)m(wdo)m(wn)c(is)f
(practically)h(negligible.)141 1282 y(Giv)m(en)i(the)f(v)-5
b(ariet)m(y)32 b(of)g(implemen)m(tation)e(tec)m(hniques)h(hin)m(ted)f
(at)j(ab)s(o)m(v)m(e,)g(w)m(e)f(need)f(to)h(carefully)e(examine)0
1395 y(the)37 b(costs)h(and)e(b)s(ene\014ts)g(of)h(exploiting)e(v)-5
b(arious)36 b(arithmetic)g(features)h(b)s(ey)m(ond)f(the)h(most)g
(basic)g(ones,)i(and)0 1508 y(c)m(ho)s(ose)31 b(a)g(parsimonious)d
(subset)i(that)0 1695 y FG(Goal)35 b(1:)46 b FK(is)29
b(reasonable)i(to)g(implemen)m(t,)0 1883 y FG(Goal)k(2:)46
b FK(supp)s(orts)28 b(some)j(if)f(not)g(all)f(imp)s(ortan)m(t)h
(application)f(examples,)0 2071 y FG(Goal)35 b(3:)46
b FK(is)29 b(easy)i(to)g(use,)0 2258 y FG(Goal)k(4:)46
b FK(encourages)31 b(the)g(writing)d(of)j(p)s(ortable)e(co)s(de,)i(and)
0 2446 y FG(Goal)k(5:)46 b FK(accommo)s(dates)39 b(gro)m(wth)e(as)g(w)m
(e)g(learn)f(ab)s(out)h(new)f(algorithms)g(exploiting)f(our)i
(arithmetic)f(fea-)227 2559 y(tures.)141 2746 y(Here)31
b(is)e(an)i(outline)e(of)h(our)g(design)f(decisions.)40
b(These)30 b(are)g(discussed)f(and)h(justi\014ed)e(in)h(detail)h(in)f
([42)q(].)111 2934 y(1.)46 b(W)-8 b(e)36 b(will)31 b(not)k(require)e
(that)i(the)f(user)g(explicitly)e(declare)i(or)g(use)g(an)m(y)h(new)f
(extended)g(precision)e(data)227 3047 y(t)m(yp)s(es,)37
b(i.e.)53 b(b)s(ey)m(ond)35 b(the)g(standard)f(single)f(and)h(double)g
(precisions,)g(since)g(these)h(are)h(not)f(supp)s(orted)227
3160 y(in)f(a)i(standard)f(w)m(a)m(y)h(b)m(y)g(ev)m(ery)g(language)g
(and)f(compiler.)54 b(Th)m(us)35 b(the)h(only)e(extended)i(precision)d
(that)227 3273 y(w)m(e)h(mandate)g(will)d(b)s(e)i(hidden)e(inside)h
(the)h(BLAS,)h(and)f(so)h(can)g(b)s(e)f(implemen)m(ted)f(in)g(an)m(y)i
(con)m(v)m(enien)m(t)227 3386 y(mac)m(hine)c(dep)s(enden)m(t)g(w)m(a)m
(y)-8 b(.)42 b(This)28 b(supp)s(orts)h(Goals)i(1,)g(3)f(and)g(4)h(ab)s
(o)m(v)m(e.)111 3573 y(2.)46 b(This)28 b(in)m(ternal)h(extended)h
(precision)e(will)g(supp)s(ort)g(most)i(of)g(the)g(application)f
(examples)g(listed)g(in)f([42)q(],)227 3686 y(supp)s(orting)g(Goal)j
(2.)111 3874 y(3.)46 b(Since)36 b(w)m(e)g(cannot)h(predict)f(all)f(the)
h(future)g(applications)e(of)j(extended)f(or)g(mixed)g(precision,)g(w)m
(e)h(will)227 3987 y(accommo)s(date)j(gro)m(wth)e(b)m(y)f(making)h(our)
f(prop)s(osal)f(as)i(orthogonal)g(as)g(p)s(ossible)d(to)j(the)g(rest)g
(of)g(this)227 4100 y(prop)s(osal,)26 b(sho)m(wing)f(ho)m(w)h(to)h(tak)
m(e)h(an)m(y)f(BLAS)f(routine,)g(determine)f(whether)h(extra)g
(precision)f(is)g(w)m(orth)227 4213 y(using)40 b(\(since)g(sometimes)h
(it)g(is)f(not\),)k(and)d(de\014ne)f(the)h(extended)g(precision)e(v)m
(ersion)i(if)f(it)g(is.)72 b(This)227 4325 y(supp)s(orts)29
b(Goal)i(5.)111 4513 y(4.)46 b(Since)23 b(the)h(n)m(um)m(b)s(er)f(of)h
(p)s(ossible)d(routines)i(with)f(mixed)h(precision)f(inputs)f(is)i(v)m
(ery)h(large,)i(w)m(e)e(will)d(sp)s(ecify)227 4626 y(a)29
b(small)e(subset)g(of)i(mixed)e(precision)f(routines)h(whic)m(h)g
(seems)i(to)g(co)m(v)m(er)h(most)e(foreseeable)h(needs.)40
b(This)227 4739 y(supp)s(orts)29 b(Goals)h(1)h(and)f(2.)111
4927 y(5.)46 b(In)29 b(order)g(to)h(easily)f(estimate)h(error)g(b)s
(ounds)d(in)h(co)s(de)i(b)m(y)f(running)e(with)i(di\013eren)m(t)g(in)m
(ternal)f(precisions)227 5039 y(and)42 b(then)g(comparing)g(the)g(answ)
m(ers,)j(\(see)f(Example)d(8)i(in)e([42)q(]\),)46 b(w)m(e)d(need)f(to)h
(b)s(e)e(able)h(to)h(sp)s(ecify)227 5152 y(the)36 b(extended)f
(precision)e(at)j(run)m(time;)g(w)m(e)g(will)c(do)j(this)f(with)g(a)i
(v)-5 b(ariable)34 b(w)m(e)h(will)e(call)h(PREC.)h(This)227
5265 y(supp)s(orts)29 b(Goal)i(2.)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 134 144
134 143 bop 0 -165 a FK(134)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)111 91
y FK(6.)46 b(Since)28 b(di\013eren)m(t)g(mac)m(hines)h(ma)m(y)g(b)s
(est)f(supp)s(ort)f(extended)i(precision)e(in)g(di\013eren)m(t)i(w)m(a)
m(ys,)h(PREC)e(could)227 204 y(p)s(oten)m(tially)g(tak)m(e)k(on)d(man)m
(y)g(mac)m(hine-dep)s(enden)m(t)g(v)-5 b(alues.)40 b(Instead)29
b(w)m(e)h(ha)m(v)m(e)h(c)m(hosen)f(a)g(parsimonious)227
317 y(subset)i(that)i(will)c(b)s(e)i(a)m(v)-5 b(ailable)32
b(on)g(all)g(mac)m(hines,)h(p)s(ermitting)d(the)j(implemen)m(tor)f(to)h
(supp)s(ort)e(others)227 430 y(if)f(desired.)39 b(This)28
b(supp)s(orts)h(all)g(the)i(Goals)f(1)h(and)f(4)h(ab)s(o)m(v)m(e.)111
618 y(7.)46 b(Since)33 b(the)i(precision)d(sp)s(eci\014ed)g(b)m(y)i
(one)g(v)-5 b(alue)34 b(of)g(PREC)f(can)i(still)d(ha)m(v)m(e)j
(di\013eren)m(t)e(implemen)m(tations)227 731 y(and)24
b(so)h(di\013eren)m(t)e(error)h(b)s(ounds)e(on)j(di\013eren)m(t)e(mac)m
(hines,)j(w)m(e)e(ha)m(v)m(e)i(sp)s(eci\014ed)d(en)m(vironmen)m(tal)g
(enquiries)227 844 y(for)i(the)g(user)f(to)h(b)s(e)f(able)g(to)i(disco)
m(v)m(er)f(the)g(actual)g(mac)m(hine)f(precision)f(\(or)i(o)m(v)m
(er/under\015o)m(w)g(thresholds\))227 956 y(used)i(at)h(run)m(time.)38
b(This)25 b(lets)i(the)h(user)e(pic)m(k)h(appropriate)f(stopping)g
(criteria)h(for)f(iterations,)i(etc.)41 b(This)227 1069
y(supp)s(orts)29 b(Goals)h(3)h(and)f(4.)0 1356 y FE(4.3)116
b(F)m(unctionalit)m(y)0 1559 y FK(This)33 b(section)h(describ)s(es)f
(the)i(functionalit)m(y)e(of)i(extended)f(and)g(mixed)g(precision)e
(BLAS)j(in)e(a)i(language)g(in-)0 1672 y(dep)s(enden)m(t)f(w)m(a)m(y)-8
b(.)56 b(Section)35 b(4.3.1)i(describ)s(es)c(ho)m(w)i(extra)h
(precision)d(is)h(sp)s(eci\014ed)f(via)i(the)g(PREC)f(argumen)m(t.)0
1785 y(Section)d(4.3.2)i(describ)s(es)c(in)h(general)h(what)f(kind)g
(of)h(mixed)f(precision)f(op)s(erations)h(will)e(b)s(e)j(supp)s(orted.)
40 b(Sec-)0 1897 y(tion)23 b(4.3.3)i(describ)s(es)d(the)h(error)g(b)s
(ounds)f(that)i(BLAS)f(op)s(erations)g(m)m(ust)g(satisfy;)i(this)e(is)f
(where)h(the)h(seman)m(tics)0 2010 y(of)38 b(\\extra)h(precision")d
(are)i(precisely)e(sp)s(eci\014ed.)61 b(Finally)-8 b(,)39
b(section)e(4.3.4)j(lists)c(the)i(functions)e(that)j(will)c(b)s(e)0
2123 y(supp)s(orted)29 b(in)g(extra)i(and/or)f(mixed)f(precision.)0
2367 y Fx(4.3.1)97 b(Sp)s(ecifying)32 b(Extra)h(Precision)0
2538 y FK(The)26 b(in)m(ternal)e(precision)h(to)i(b)s(e)e(used)g(b)m(y)
h(an)h(extended)f(precision)e(routine)h(will)f(b)s(e)h(sp)s(eci\014ed)f
(b)m(y)i(an)g(argumen)m(t)0 2651 y(called)e(PREC.)39
b(It)25 b(is)f(not)i(en)m(tirely)e(straigh)m(tforw)m(ard)h(to)h
(describ)s(e)e(PREC)g(b)s(ecause)i(ev)m(en)g(on)f(a)g(single)f(mac)m
(hine)0 2764 y(there)31 b(ma)m(y)g(b)s(e)e(m)m(ultiple)f(w)m(a)m(ys)k
(of)e(implemen)m(ting)e(wider-than-double-precision)f(arithmetic)i
(\(see)j([42)q(]\).)141 2877 y(T)-8 b(o)25 b(encourage)h(p)s(ortabilit)
m(y)-8 b(,)24 b(w)m(e)h(sp)s(ecify)e(names)h(for)h(precisions)d(that)j
(ma)m(y)g(map)g(to)g(di\013eren)m(t)f(formats)h(and)0
2990 y(tec)m(hniques)34 b(on)g(di\013eren)m(t)f(mac)m(hines.)51
b(As)34 b(discussed)e(in)h(section)h(1.6,)j(historically)31
b(the)j(w)m(ords)g(\\single")g(and)0 3103 y(\\double")23
b(ha)m(v)m(e)i(referred)e(to)h(v)m(ery)g(di\013eren)m(t)f(formats)h(on)
g(di\013eren)m(t)f(arc)m(hitectures.)39 b(Nonetheless,)25
b(w)m(e)f(all)f(agree)0 3216 y(on)33 b(single)e(precision)g(as)i(a)h(w)
m(ord)e(with)g(a)h(certain)f(meaning,)h(and)g(double)e(precision)g(to)s
(o,)k(meaning)d(t)m(wice)h(or)0 3329 y(more)e(precision)e(than)h
(single.)40 b(The)31 b(de\014nitions)d(b)s(elo)m(w)i(add)g(t)m(w)m(o)i
(more)f(precisions,)e(whose)h(implemen)m(tation)0 3442
y(details)f(are)i(discussed)e(in)g([42)q(].)0 3654 y(PREC)34
b FG(=)h(Single)46 b FK(.)41 b(This)27 b(means)i(single)f(precision,)g
(whatev)m(er)i(single)e(means)i(on)f(the)g(particular)f(mac)m(hine,)227
3767 y(language)j(and)f(compiler.)0 3955 y(PREC)k FG(=)h(Double)46
b FK(.)80 b(This)42 b(means)i(double)e(precision,)j(again)e(whatev)m
(er)i(that)f(means)f(on)h(a)g(particular)227 4068 y(mac)m(hine,)31
b(language)f(and)g(compiler.)0 4255 y(PREC)k FG(=)h(Indigenous)46
b FK(.)39 b(This)21 b(means)i(the)g(widest)f(hardw)m(are-supp)s(orted)f
(format)j(a)m(v)-5 b(ailable.)37 b(Its)23 b(in)m(ten)m(tion)227
4368 y(is)35 b(to)h(let)f(the)h(mac)m(hine)f(run)f(close)i(to)g(top)g
(sp)s(eed,)g(while)d(b)s(eing)h(as)i(accurate)h(as)e(p)s(ossible.)54
b(On)35 b(some)227 4481 y(mac)m(hines)f(this)f(w)m(ould)g(b)s(e)h(a)h
(64-bit)f(format)h(\(whether)f(it)g(is)f(called)h(single)f(or)h
(double\),)g(but)g(on)g(In)m(tel)227 4594 y(mac)m(hines)29
b(and)g(ones)h(lik)m(e)f(them)h(it)f(means)g(the)h(80-bit)g(IEEE)f
(format)h(of)g(the)g(\015oating)f(p)s(oin)m(t)g(registers.)0
4782 y(PREC)34 b FG(=)h(Extra)45 b FK(.)c(This)28 b(means)i(an)m
(ything)f(at)i(least)f(1.5)h(times)e(as)h(accurate)i(than)d(double,)g
(and)h(in)e(partic-)227 4894 y(ular)f(wider)f(than)i(80-bits)g(\(see)g
(section)g(4.3.3)i(for)e(details\).)39 b(An)27 b(existing)g(quadruple)f
(precision)g(format)227 5007 y(could)h(b)s(e)g(used)f(to)i(implemen)m
(t)e(this,)h(but)g(it)g(can)h(probably)d(b)s(e)i(implemen)m(ted)f
(implemen)m(ted)g(more)i(e\016-)227 5120 y(cien)m(tly)h(using)e(nativ)m
(e)i(double)e(\(or)i(indigenous\))e(op)s(erations)h(in)f(a)i(tec)m
(hnique)f(called)g(\\double-double",)227 5233 y(describ)s(ed)j(in)g
([42)q(,)h(46)q(,)h(47)q(].)47 b(It)32 b(is)g(p)s(ossible)e(to)j(write)
f(a)h(p)s(ortable)e(and)h(reasonably)g(e\016cien)m(t)g(reference)227
5346 y(implemen)m(tation)d(of)i(all)e(prop)s(osed)g(routines)g(using)g
(these)i(tec)m(hniques)f([42)q(].)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 135 145
135 144 bop 0 -165 a FA(4.3.)72 b(FUNCTIONALITY)2761
b FK(135)141 91 y(The)36 b(actual)g(names)g(for)g(PREC)g(v)-5
b(alues)35 b(are)i(sp)s(eci\014ed)d(in)h(section)h(A.3.)59
b(Here)37 b(are)f(the)h(rules)e(for)g(using)0 204 y(PREC)o(:)111
413 y(1.)46 b(The)21 b(in)m(ternal)f(precision)g(used)h(m)m(ust)g(alw)m
(a)m(ys)h(b)s(e)f(at)h(least)g(as)g(high)e(as)i(the)f(most)h(precise)f
(input)f(or)h(output.)227 526 y(So)32 b(if)f(the)i(user)e(requests)h
(less)g(in)m(ternal)e(precision)h(than)h(in)e(the)j(most)f(precise)g
(input)e(or)i(output,)g(then)227 639 y(the)f(implemen)m(tor)e(m)m(ust)h
(use)g(more)h(than)f(requested.)111 825 y(2.)46 b(The)27
b(implemen)m(tor)f(ma)m(y)h(alw)m(a)m(ys)h(use)f(a)g(higher)f
(precision)f(than)i(the)g(one)h(requested)f(in)f(the)h(subroutine)227
938 y(call,)j(if)g(this)f(is)g(con)m(v)m(enien)m(t)j(or)e(faster.)111
1124 y(3.)46 b(The)41 b(precision)e(actually)h(used)g(is)g(a)m(v)-5
b(ailable)40 b(to)i(the)f(user)f(via)g(the)h(en)m(vironmen)m(tal)g
(enquiry)e(in)g(sec-)227 1237 y(tion)30 b(4.3.3.)111
1423 y(4.)46 b(PREC)31 b(ma)m(y)g(tak)m(e)i(on)e(other)g(mac)m(hine)g
(dep)s(enden)m(t)f(v)-5 b(alues)30 b(pro)m(vided)g(b)m(y)h(the)g
(implemen)m(tor,)f(pro)m(vided)227 1536 y(these)h(are)g(do)s(cumen)m
(ted)f(via)g(the)h(en)m(vironmen)m(tal)e(enquiry)g(routine.)141
1744 y Fz(A)-5 b(dvic)g(e)33 b(to)h(implementors:)43
b FK(While)29 b(it)h(app)s(ears)g(that)i(as)f(man)m(y)f(as)h(sev)m(en)h
(new)e(implemen)m(tations)f(of)i(eac)m(h)0 1857 y(routine)24
b(are)h(needed)g(\(four)f(when)g(the)h(argumen)m(ts)h(are)f(single,)g
(and)f(three)h(when)f(the)h(argumen)m(ts)g(are)h(double\),)0
1970 y(in)e(fact)h(few)m(er)h(are)f(needed:)38 b(Tw)m(o)25
b(exist)f(already)h(as)g(the)g(standard)f(BLAS)h(\(single)f
(input/output)f(with)h(PREC)0 2083 y(=)k(Single,)f(and)h(double)f
(input/output)g(when)g(PREC)h(=)g(Double\),)h(Indigenous)d(=)i(Double)g
(or)h(Indigenous)d(=)0 2196 y(Single)31 b(on)j(man)m(y)f(mac)m(hines,)g
(and)g(wider)e(precision)h(than)h(requested)g(ma)m(y)h(b)s(e)e(used.)48
b(Th)m(us)32 b(the)i(only)e(really)0 2309 y(new)40 b(implemen)m
(tations)f(ma)m(y)i(b)s(e)f(single)f(input/output)g(with)g(Double)h(or)
h(Extra)g(in)m(ternal)e(precision,)j(and)0 2422 y(double)37
b(input/output)f(with)h(Extra)h(in)m(ternal)f(precision.)63
b(Of)37 b(these,)k(only)d(Extra)g(in)m(ternal)f(precision)f(ma)m(y)0
2535 y(need)25 b(arithmetic)g(not)h(already)g(nativ)m(e)g(to)g(the)g
(mac)m(hine.)39 b(A)26 b(reference)g(implemen)m(tation)f(is)f(describ)s
(ed)g(in)g([42)q(].)0 2778 y Fx(4.3.2)97 b(Mixed)32 b(Precision)0
2949 y FK(Supp)s(ose)f(a)j(subroutine)c(has)j(sev)m(eral)h(\015oating)e
(p)s(oin)m(t)g(argumen)m(ts,)j(some)e(scalars)g(and)f(some)i(arra)m
(ys.)49 b(Mixed)0 3062 y(precision)32 b(refers)h(to)h(p)s(ermitting)d
(these)j(argumen)m(ts)g(to)g(ha)m(v)m(e)h(di\013eren)m(t)e
Fz(mathematic)-5 b(al)38 b(typ)-5 b(es)p FK(,)36 b(meaning)c(real)0
3175 y(and)38 b(complex,)j(or)e(di\013eren)m(t)f Fz(pr)-5
b(e)g(cisions)p FK(,)43 b(meaning)38 b(single)f(and)h(double.)65
b(Some)38 b(BLAS)h(in)e(Chapter)h(2)i(are)0 3288 y(naturally)h
(de\014ned)g(with)g(argumen)m(ts)i(of)g(mixed)e(mathematical)i(t)m(yp)s
(e)f(\(e.g.)79 b(HERK\),)42 b(but)g(most)h(ha)m(v)m(e)h(a)0
3401 y(single)29 b(mathematical)i(t)m(yp)s(e;)g(all)e(are)i(de\014ned)e
(with)g(the)h(same)h(precision)e(for)h(all)f(argumen)m(ts.)141
3514 y(The)c(p)s(ermitted)g(com)m(binations)f(of)i(mathematical)g(t)m
(yp)s(es)g(and)f(precisions)f(are)i(de\014ned)e(as)i(follo)m(ws.)38
b(There)0 3627 y(are)31 b(t)m(w)m(o)g(cases:)111 3835
y(1.)46 b(The)38 b(mathematical)h(t)m(yp)s(es)f(of)h(the)f
(input/output)f(\015oating)h(p)s(oin)m(t)f(argumen)m(ts)i(are)g(iden)m
(tical)e(to)i(the)227 3948 y(BLAS)g(as)h(de\014ned)e(in)g(Chapter)h(1.)
68 b(All)38 b(scalar)h(argumen)m(ts)h(and)f(the)g(output)g(argumen)m(t)
h(\(scalar)g(or)227 4061 y(arra)m(y\))32 b(are)e(double)f(precision.)39
b(A)m(t)31 b(least)g(one)g(arra)m(y)g(argumen)m(t)f(m)m(ust)h(b)s(e)e
(single)g(precision.)227 4211 y(F)-8 b(or)36 b(example,)h(supp)s(ose)c
(the)j(function)e(b)s(eing)f(implemen)m(ted)h(is)g(matrix-matrix)g(m)m
(ultiplication)f Fy(C)39 b FK(=)227 4324 y Fy(\013)11
b FJ(\001)g Fy(A)g FJ(\001)g Fy(B)16 b FK(+)11 b Fy(\014)k
FJ(\001)c Fy(C)c FK(,)26 b(where)g Fy(\013)g FK(and)f
Fy(\014)31 b FK(are)26 b(scalars)f(and)g Fy(A)p FK(,)i
Fy(B)j FK(and)25 b Fy(C)32 b FK(are)26 b(arra)m(ys.)40
b(Then)25 b(the)g(allo)m(w)m(ed)h(t)m(yp)s(es)227 4436
y(are)k(as)f(follo)m(ws)f(\(S)h(=)g(Single)e(real,)j(D)f(=)g(Double)f
(real,)i(C)e(=)h(Single)e(complex,)j(Z)e(=)h(Double)g(complex\).)p
1638 4603 852 4 v 1636 4716 4 113 v 1693 4682 a Fy(\013)p
1805 4716 V 106 w(A)p 1974 4716 V 101 w(B)p 2148 4716
V 111 w(\014)p 2317 4716 V 111 w(C)p 2488 4716 V 1638
4719 852 4 v 1636 4832 4 113 v 1688 4798 a FK(D)p 1805
4832 V 109 w(S)p 1974 4832 V 120 w(S)p 2148 4832 V 111
w(D)p 2317 4832 V 101 w(D)p 2488 4832 V 1636 4945 V 1688
4911 a(D)p 1805 4945 V 109 w(S)p 1974 4945 V 111 w(D)p
2148 4945 V 102 w(D)p 2317 4945 V 101 w(D)p 2488 4945
V 1636 5058 V 1688 5024 a(D)p 1805 5058 V 100 w(D)p 1974
5058 V 111 w(S)p 2148 5058 V 111 w(D)p 2317 5058 V 101
w(D)p 2488 5058 V 1636 5171 V 1695 5137 a(Z)p 1805 5171
V 108 w(C)p 1974 5171 V 105 w(C)p 2148 5171 V 110 w(Z)p
2317 5171 V 114 w(Z)p 2488 5171 V 1636 5284 V 1695 5250
a(Z)p 1805 5284 V 108 w(C)p 1974 5284 V 110 w(Z)p 2148
5284 V 115 w(Z)p 2317 5284 V 114 w(Z)p 2488 5284 V 1636
5397 V 1695 5363 a(Z)p 1805 5397 V 113 w(Z)p 1974 5397
V 110 w(C)p 2148 5397 V 110 w(Z)p 2317 5397 V 114 w(Z)p
2488 5397 V 1638 5400 852 4 v -214 64 a FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 136 146
136 145 bop 0 -165 a FK(136)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)111 91
y FK(2.)46 b(The)27 b(precision)e(of)i(all)f(\015oating)h(p)s(oin)m(t)f
(argumen)m(ts)h(m)m(ust)g(b)s(e)f(single,)h(or)g(all)f(m)m(ust)h(b)s(e)
f(double.)38 b(All)26 b(scalar)227 204 y(argumen)m(ts)k(and)f(the)h
(output)g(argumen)m(t)g(\(scalar)g(or)f(arra)m(y\))i(are)f(complex)f
(\(unless)g(a)h(scalar)f(argumen)m(t)227 317 y(m)m(ust)40
b(b)s(e)e(real)i(for)f(mathematical)h(reasons,)i(lik)m(e)d
Fy(\013)h FK(and)e Fy(\014)45 b FK(in)38 b(HERK\).)i(A)m(t)g(least)g
(one)g(input)d(arra)m(y)227 430 y(argumen)m(t)31 b(m)m(ust)f(b)s(e)g
(real.)227 580 y(F)-8 b(or)45 b(example,)j(supp)s(ose)43
b(the)i(function)e(b)s(eing)g(implemen)m(ted)g(is)g(matrix-matrix)g(m)m
(ultiplication)f(as)227 693 y(b)s(efore.)f(Then)29 b(the)i(allo)m(w)m
(ed)f(t)m(yp)s(es)g(are)h(as)g(follo)m(ws:)p 1642 860
844 4 v 1640 972 4 113 v 1695 939 a Fy(\013)p 1805 972
V 104 w(A)p 1974 972 V 101 w(B)p 2148 972 V 109 w(\014)p
2313 972 V 109 w(C)p 2484 972 V 1642 976 844 4 v 1640
1089 4 113 v 1692 1055 a FK(C)p 1805 1089 V 108 w(S)p
1974 1089 V 120 w(S)p 2148 1089 V 111 w(C)p 2313 1089
V 102 w(C)p 2484 1089 V 1640 1202 V 1692 1168 a(C)p 1805
1202 V 108 w(S)p 1974 1202 V 113 w(C)p 2148 1202 V 103
w(C)p 2313 1202 V 102 w(C)p 2484 1202 V 1640 1314 V 1692
1281 a(C)p 1805 1314 V 101 w(C)p 1974 1314 V 112 w(S)p
2148 1314 V 111 w(C)p 2313 1314 V 102 w(C)p 2484 1314
V 1640 1427 V 1697 1394 a(Z)p 1805 1427 V 104 w(D)p 1974
1427 V 102 w(D)p 2148 1427 V 107 w(Z)p 2313 1427 V 112
w(Z)p 2484 1427 V 1640 1540 V 1697 1506 a(Z)p 1805 1540
V 104 w(D)p 1974 1540 V 109 w(Z)p 2148 1540 V 113 w(Z)p
2313 1540 V 112 w(Z)p 2484 1540 V 1640 1653 V 1697 1619
a(Z)p 1805 1653 V 111 w(Z)p 1974 1653 V 108 w(D)p 2148
1653 V 107 w(Z)p 2313 1653 V 112 w(Z)p 2484 1653 V 1642
1657 844 4 v 141 1870 a(Note)26 b(that)g(w)m(e)g(sp)s(ecify)d(only)h
(16)i(v)m(ersions)f(of)g(matrix-matrix)f(m)m(ultiplication)e(\(the)k
(12)f(mixed)f(ones)h(ab)s(o)m(v)m(e,)0 1983 y(and)30
b(4)h(unmixed\),)d(in)h(con)m(trast)j(to)f(the)g(maxim)m(um)e(p)s
(ossible)f(4)2221 1950 y FC(5)2286 1983 y FK(=)d(1024.)0
2226 y Fx(4.3.3)97 b(Numerical)34 b(Accuracy)f(and)f(Environmental)h
(Enquiries)0 2398 y FK(The)g(mac)m(hine)g(dep)s(enden)m(t)f(in)m
(terpretations)h(of)g(PREC)f(require)g(us)h(to)h(ha)m(v)m(e)g(a)g(more)
g(complicated)f(en)m(viron-)0 2511 y(men)m(tal)f(enquiry)f(routine)g
(to)i(describ)s(e)e(the)h(n)m(umerical)f(b)s(eha)m(vior)g(of)i(the)f
(routine)g(in)f(this)g(c)m(hapter)i(than)f(the)0 2624
y(simpler)25 b(FPINF)m(O)j(routine)e(describ)s(ed)f(in)h(sections)h
(1.6)h(and)e(2.7.)41 b(While)26 b(FPINF)m(O)i(should)d(still)g(b)s(e)i
(a)m(v)-5 b(ailable)0 2737 y(for)33 b(the)h(user)f(to)h(call)f(to)h
(get)g(basic)f(prop)s(erties)f(of)i(the)f(single)f(and)h(double)f
(precision)g(\015oating)h(p)s(oin)m(t)g(t)m(yp)s(es,)0
2850 y(here)d(w)m(e)h(will)d(sp)s(ecify)h(an)h(additional)e(routine)i
(FPINF)m(O)p 2027 2850 28 4 v 33 w(X)h(that)g(dep)s(ends)d(on)i(PREC.)
141 2963 y(The)g(calling)f(sequence)i(of)f(this)f(function)h(is)227
3150 y FD(result)46 b(=)i(FPINFO)p 951 3150 29 4 v 33
w(X)f(\(CMACH,)f(PREC\))0 3338 y FK(Both)28 b(argumen)m(ts)g(are)g
(input)d(argumen)m(ts,)k(with)d(the)i(requested)f(information)f
(returned)g(as)i(the)g(in)m(teger)f(v)-5 b(alue)0 3451
y(of)35 b(FPINF)m(O)p 462 3451 28 4 v 33 w(X.)g(The)g(exact)h(input)d
(v)-5 b(alues)34 b(dep)s(end)f(on)h(the)h(language,)i(and)d(are)h
(describ)s(ed)d(in)i(section)h(4.4.)0 3564 y(PREC)26
b(has)g(the)g(same)h(meaning)e(as)i(b)s(efore.)39 b(Input)25
b(argumen)m(t)i(CMA)m(CH)f(ma)m(y)h(tak)m(e)h(on)e(the)h(named)f
(constan)m(t)0 3677 y(v)-5 b(alues)23 b(b)s(elo)m(w,)h(whic)m(h)e(are)i
(a)g(subset)e(of)i(those)g(p)s(ermitted)e(b)m(y)h(function)f(FPINF)m(O)
i(as)g(describ)s(ed)d(in)h(section)i(2.7.)0 3789 y(Only)30
b(the)i(\014rst)f(six)f(v)-5 b(alues)31 b(of)h(CMA)m(CH)g(from)f
(section)h(2.7)g(are)g(p)s(ermitted,)f(b)s(ecause)g(1\))i(they)f(are)f
(su\016cien)m(t)0 3902 y(to)d(de\014ne)e(the)i(remaining)d(parameters)i
(b)m(y)g(using)f(the)h(form)m(ulas)g(in)e(section)j(1.6,)h(and)d(2\))i
(the)g(v)-5 b(alues)26 b(returned)0 4015 y(b)m(y)33 b(FPINF)m(O)p
483 4015 V 34 w(X)h(are)f(represen)m(table)h(in)m(teger)g(v)-5
b(alues,)34 b(whereas)f(the)h(other)f(p)s(ossible)f(return)g(v)-5
b(alues,)34 b(lik)m(e)f(the)0 4128 y(o)m(v)m(er\015o)m(w)f(and)e
(under\015o)m(w)e(thresholds,)h(ma)m(y)i(not)g(b)s(e)f(represen)m
(table)g(in)f(an)m(y)h(user-declarable)g(format.)p 514
4257 2872 4 v 512 4370 4 113 v 564 4336 a(Floating)h(P)m(oin)m(t)p
1188 4370 V 100 w(Description)p 3384 4370 V 512 4483
V 564 4449 a(parameter)p 1188 4483 V 3384 4483 V 514
4486 2872 4 v 512 4599 4 113 v 564 4565 a(BASE)p 1188
4599 V 431 w(base)f(of)h(the)f(mac)m(hine)p 3384 4599
V 512 4712 V 564 4678 a(T)p 1188 4712 V 610 w(n)m(um)m(b)s(er)f(of)h
(\(BASE\))h(digits)e(in)g(the)i(man)m(tissa)p 3384 4712
V 512 4825 V 564 4791 a(RND)p 1188 4825 V 472 w(1)f(when)g(\\prop)s(er)
f(rounding")g(o)s(ccurs)h(in)f(addition,)p 3384 4825
V 512 4938 V 1188 4938 V 1240 4904 a(0)h(otherwise)p
3384 4938 V 512 5051 V 564 5017 a(IEEE)p 1188 5051 V
457 w(1)g(when)g(rounding)e(in)h(addition)f(o)s(ccurs)j(in)e(\\IEEE)h
(st)m(yle",)p 3384 5051 V 512 5164 V 1188 5164 V 1240
5130 a(0)g(otherwise)p 3384 5164 V 512 5277 V 564 5243
a(EMIN)p 1188 5277 V 430 w(minim)m(um)d(exp)s(onen)m(t)k(b)s(efore)f
(\(gradual\))g(under\015o)m(w)p 3384 5277 V 512 5389
V 564 5356 a(EMAX)p 1188 5389 V 395 w(largest)g(exp)s(onen)m(t)h(b)s
(efore)f(o)m(v)m(er\015o)m(w)p 3384 5389 V 514 5393 2872
4 v 4084 64 a FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 137 147
137 146 bop 0 -165 a FA(4.3.)72 b(FUNCTIONALITY)2761
b FK(137)141 91 y(W)-8 b(e)38 b(will)c(use)i(the)h(follo)m(wing)e
(notation)i(to)g(describ)s(e)e(mac)m(hine)i(parameters)g(deriv)-5
b(able)35 b(from)h(the)h(v)-5 b(alues)0 204 y(returned)29
b(b)m(y)h(FPINF)m(O)p 849 204 28 4 v 34 w(X)g(using)f(the)i(form)m
(ulas)e(in)g(section)i(1.6:)136 381 y FJ(\017)46 b Fy(\017)264
411 y FK(PREC)553 381 y(is)27 b Fz(r)-5 b(elative)32
b(machine)g(pr)-5 b(e)g(cision)30 b FK(or)e Fz(machine)k(epsilon)d
FK(of)g(the)g(in)m(ternal)e(precision)f(sp)s(eci\014ed)h(b)m(y)227
493 y(PREC,)136 677 y FJ(\017)46 b Fy(\017)264 691 y
Fw(o)333 677 y FK(is)29 b(the)i(mac)m(hine)f(epsilon)e(for)i(the)h
(output)f(precision,)136 860 y FJ(\017)46 b Fn(O)m(V)375
890 y FK(PREC)675 860 y(and)40 b Fn(UN)1010 890 y FK(PREC)1310
860 y(are)g(the)g(o)m(v)m(er\015o)m(w)h(and)e(under\015o)m(w)f
(thresholds)g(for)h(in)m(ternal)g(precision)227 973 y(PREC,)30
b(and)136 1156 y FJ(\017)46 b Fn(O)m(V)375 1170 y Fw(o)444
1156 y FK(and)30 b Fn(UN)769 1170 y Fw(o)837 1156 y FK(are)h(the)g(o)m
(v)m(er\015o)m(w)g(and)f(under\015o)m(w)f(thresholds)g(for)h(for)g(the)
h(output)e(precision.)141 1332 y(Here)i(are)g(the)f(error)g(b)s(ounds)f
(satis\014ed)g(b)m(y)h(the)h(extra)g(precision)e(routines,)g(and)h(ho)m
(w)g(they)h(dep)s(end)e(on)h Fy(\017)p FK(.)0 1445 y(There)g(are)h(t)m
(w)m(o)g(cases)h(of)e(in)m(terest.)111 1621 y(1.)46 b(Supp)s(ose)29
b(eac)m(h)i(comp)s(onen)m(t)g(of)g(the)f(computed)g(result)g(is)f(of)i
(the)f(form)1470 1867 y Fy(r)1511 1881 y Fw(tr)r(ue)1674
1867 y FK(=)25 b Fy(\013)20 b FJ(\001)h FK(\()1968 1762
y Fw(n)1929 1787 y Ft(X)1932 1969 y Fw(i)p FC(=1)2064
1867 y Fy(a)2112 1881 y Fw(i)2161 1867 y FJ(\001)f Fy(b)2245
1881 y Fw(i)2273 1867 y FK(\))h(+)f Fy(\014)25 b FJ(\001)c
Fy(c)51 b(;)227 2126 y FK(where)23 b(all)f(quan)m(tities)g(are)i
(scalars.)38 b(This)21 b(co)m(v)m(ers)k(the)f(dot)f(pro)s(duct,)h
(scaled)e(v)m(ector)j(addition)d(and)g(scaled)227 2239
y(v)m(ector)30 b(accum)m(ulation,)f(all)f(v)-5 b(arian)m(ts)28
b(of)h(matrix-v)m(ector)h(and)e(matrix-matrix)f(pro)s(ducts,)h(and)g
(lo)m(w-rank)227 2352 y(up)s(dates)35 b(\(sometimes)h(with)f
Fy(\013)h FK(and)f Fy(\014)41 b FK(taking)36 b(on)f(sp)s(ecial)g(v)-5
b(alues)35 b(lik)m(e)g(zero)h(and)g(one\).)57 b(In)35
b(this)g(case)227 2465 y(the)e(error)g(b)s(ound,)f(in)f(the)i(absence)h
(of)f(o)m(v)m(er/under\015o)m(w)g(of)g(an)m(y)g(in)m(termediate)g(or)g
(output)f(quan)m(tities,)227 2578 y(should)d(satisfy)554
2824 y FJ(j)p Fy(r)620 2839 y Fw(computed)942 2824 y
FJ(\000)20 b Fy(r)1074 2838 y Fw(tr)r(ue)1211 2824 y
FJ(j)26 b(\024)f Fy(\015)5 b FK(\()p Fy(n)20 b FK(+)g(2\))h
FJ(\001)f Fy(\017)1794 2855 y FK(PREC)2055 2824 y(\()p
FJ(j)p Fy(\013)p FJ(j)h(\001)2303 2719 y Fw(n)2265 2743
y Ft(X)2267 2926 y Fw(i)p FC(=1)2400 2824 y FJ(j)p Fy(a)2473
2838 y Fw(i)2521 2824 y FJ(\001)g Fy(b)2606 2838 y Fw(i)2634
2824 y FJ(j)f FK(+)g FJ(j)p Fy(\014)26 b FJ(\001)21 b
Fy(c)p FJ(j)p FK(\))g(+)f Fy(\017)3166 2838 y Fw(o)3224
2824 y FJ(\001)g(j)p Fy(r)3335 2838 y Fw(tr)r(ue)3473
2824 y FJ(j)50 b Fy(:)227 3102 y FK(where)30 b Fy(\015)h
FK(=)24 b(1)31 b(if)f(all)f(data)i(is)e(real)h(and)g
Fy(\015)g FK(=)25 b(2)1819 3027 y FJ(p)p 1896 3027 46
4 v 1896 3102 a FK(2)30 b(if)g(an)m(y)g(data)i(is)d(complex.)227
3250 y Fz(R)-5 b(ationale)p FK(:)41 b(This)24 b(accommo)s(dates)k(all)d
(reasonable,)i(non-Strassen)e(based)h(implemen)m(tations,)g(with)e
(real)227 3363 y(or)43 b(complex)f(scalars)h(\(and)f(con)m(v)m(en)m
(tional)i(m)m(ultiplication)c(of)j(complex)f(scalars\),)k(that)e(p)s
(erform)d(all)227 3476 y(in)m(termediate)27 b(\015oating)f(p)s(oin)m(t)
g(op)s(erations)g(with)f(mac)m(hine)i(epsilon)e Fy(\017)2642
3507 y FK(PREC)2902 3476 y(,)j(with)d(or)i(without)e(a)i(guard)227
3589 y(digit,)34 b(b)s(efore)f(rounding)e(the)j(\014nal)e(result)g(to)i
(precision)e Fy(\017)2287 3603 y Fw(o)2325 3589 y FK(.)50
b(Under\015o)m(w)33 b(is)g(guaran)m(teed)h(to)h(b)s(e)d(absen)m(t)227
3702 y(if)37 b(no)g(in)m(termediate)g(quan)m(tit)m(y)g(stored)h(in)e
(precision)f(PREC)i(is)f(less)h(than)g Fn(UN)3070 3733
y FK(PREC)3368 3702 y(in)f(magnitude)227 3815 y(\(unless)31
b(its)h(exact)i(v)-5 b(alue)31 b(is)g(zero\))j(and)d
FJ(j)p Fy(r)1707 3830 y Fw(computed)2010 3815 y FJ(j)h
FK(is)g(not)g(less)g(than)g Fn(UN)2856 3829 y Fw(o)2926
3815 y FK(\(unless)f(its)g(exact)j(v)-5 b(alue)32 b(is)227
3928 y(zero\).)45 b(Similarly)-8 b(,)29 b(o)m(v)m(er\015o)m(w)k(is)d
(guaran)m(teed)j(to)f(b)s(e)e(absen)m(t)i(if)f(no)g(in)m(termediate)g
(quan)m(tit)m(y)h(in)e(precision)227 4041 y(PREC=)36
b(exceeds)i Fn(O)m(V)1072 4071 y FK(PREC)1369 4041 y(in)e(magnitude,)i
(and)e FJ(j)p Fy(r)2214 4056 y Fw(computed)2517 4041
y FJ(j)h FK(do)s(es)f(not)i(exceed)g Fn(O)m(V)3404 4055
y Fw(o)3442 4041 y FK(.)60 b(W)-8 b(e)38 b(a)m(v)m(oid)227
4154 y(sp)s(ecifying)26 b(what)j(happ)s(ens)d(with)h(under\015o)m(w,)h
(b)s(ecause)g(the)g(implemen)m(tor)f(ma)m(y)i(reasonably)f(c)m(ho)s
(ose)h(to)227 4266 y(compute)f Fy(r)i FK(using)c Fy(\013)15
b FJ(\001)g FK(\()1047 4202 y Ft(P)1150 4266 y Fy(a)1198
4280 y Fw(i)1241 4266 y FJ(\001)g Fy(b)1320 4280 y Fw(i)1348
4266 y FK(\),)1437 4202 y Ft(P)1524 4266 y FK(\()p Fy(\013)g
FJ(\001)g Fy(a)1720 4280 y Fw(i)1749 4266 y FK(\))g FJ(\001)g
Fy(b)1878 4280 y Fw(i)1933 4266 y FK(or)2042 4202 y Ft(P)2145
4266 y Fy(a)2193 4280 y Fw(i)2235 4266 y FJ(\001)g FK(\()p
Fy(\013)g FJ(\001)g Fy(b)2462 4280 y Fw(i)2491 4266 y
FK(\))28 b(dep)s(ending)d(on)i(dimensions,)f(and)h(the)227
4379 y(error)f(b)s(ounds)e(in)h(the)h(presence)h(of)f(under\015o)m(w)f
(can)h(di\013er)f(signi\014can)m(tly)g(in)g(these)h(three)h(cases.)40
b(See)27 b([42)q(])227 4492 y(for)g(implemen)m(tation)e
(recommendations)h(and)h(detailed)e(error)i(b)s(ounds)d(in)i(the)h
(presence)f(of)h(under\015o)m(w.)111 4675 y(2.)46 b(Supp)s(ose)30
b(the)h(computed)g(solution)f(consists)h(of)g(one)g(or)h(more)f(v)m
(ectors)i Fy(x)e FK(satisfying)f(an)h Fy(n)p FK(-b)m(y-)p
Fy(n)g FK(trian-)227 4788 y(gular)f(system)g(of)h(equations)1895
4901 y Fy(T)13 b(x)25 b FK(=)g Fy(\013b)227 5061 y FK(where)32
b Fy(\013)g FK(is)g(a)g(scalar,)h Fy(b)f FK(is)f(a)i(v)m(ector)g(\(or)g
(v)m(ectors\),)h(and)e Fy(T)45 b FK(is)31 b(a)h(triangular)f(matrix.)45
b(In)32 b(this)f(case)i(the)227 5174 y(computed)39 b(solution,)i(in)c
(the)j(absence)g(of)f(o)m(v)m(er/under\015o)m(w)h(in)d(in)m(termediate)
i(or)h(output)e(quan)m(tities,)227 5287 y(satis\014es)1387
5400 y(\()p Fy(T)33 b FK(+)20 b Fy(E)5 b FK(\)\()p Fy(x)1793
5415 y Fw(computed)2117 5400 y FK(+)20 b Fy(e)p FK(\))26
b(=)f Fy(\013)p FK(\()p Fy(b)c FK(+)e Fy(f)10 b FK(\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 138 148
138 147 bop 0 -165 a FK(138)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FK(where)36 b FJ(j)p Fy(E)588 105 y Fw(ij)649 91 y
FJ(j)g(\024)e Fy(\032n\017)954 122 y FK(PREC)1214 91
y FJ(j)p Fy(T)1292 105 y Fw(ij)1353 91 y FJ(j)p FK(,)39
b FJ(j)p Fy(e)1509 105 y Fw(i)1537 91 y FJ(j)d(\024)f
Fy(\017)1741 105 y Fw(o)1779 91 y FJ(j)p Fy(x)1856 106
y Fw(computed;i)2202 91 y FJ(j)p FK(,)j FJ(j)p Fy(f)2360
105 y Fw(i)2388 91 y FJ(j)e(\024)f Fy(\032n\017)2694
122 y FK(PREC)2954 91 y FJ(j)p Fy(b)3018 105 y Fw(i)3046
91 y FJ(j)p FK(,)j Fy(\032)e FK(=)f(1)h(if)g(all)f(data)i(is)227
213 y(real,)31 b(and)e Fy(\032)d FK(=)f(6)20 b(+)g(4)976
138 y FJ(p)p 1052 138 46 4 v 75 x FK(2)31 b(if)e(an)m(y)i(data)g(is)f
(complex.)227 363 y Fz(R)-5 b(ationale)p FK(:)51 b(This)33
b(accommo)s(dates)j(all)e(reasonable,)h(substitution-based)d(metho)s
(ds)i(of)h(solution,)f(with)227 476 y(summations)26 b(ev)-5
b(aluated)26 b(in)g(an)m(y)h(order,)g(with)e(all)h(in)m(termediate)g
(\015oating)g(p)s(oin)m(t)g(op)s(erations)g(done)g(with)227
589 y(mac)m(hine)f(epsilon)e Fy(\017)913 620 y FK(PREC)1174
589 y(,)j(and)e(with)g(all)g(in)m(termediate)h(quan)m(tities)f(stored)h
(to)h(the)f(same)h(precision.)37 b(In)227 702 y(particular,)27
b(this)g(means)g(that)h(the)g(en)m(tries)g(of)g Fy(x)1910
717 y Fw(computed)2239 702 y FK(m)m(ust)g(b)s(e)f(temp)s(orarily)f
(stored)h(with)g(precision)227 815 y Fy(\017)264 845
y FK(PREC)562 815 y(b)s(efore)37 b(b)s(eing)g(rounded)f(to)i(the)g
(output)f(precision)f(at)i(the)g(end.)62 b(Ov)m(er\015o)m(w)37
b(and)g(under\015o)m(w)227 928 y(are)28 b(de\014ned)e(and)g(treated)i
(as)g(b)s(efore.)39 b(See)27 b([42)r(])g(for)g(implemen)m(tation)f
(recommendations)g(and)h(detailed)227 1040 y(error)j(b)s(ounds)e(in)h
(the)i(presence)f(of)h(under\015o)m(w.)141 1228 y(The)f(v)-5
b(alues)30 b(of)g Fy(\017)739 1259 y FK(PREC)1030 1228
y(m)m(ust)g(satisfy)g(the)h(follo)m(wing)d(inequalities:)1558
1432 y Fy(\017)1595 1446 y Fw(D)r(O)r(U)7 b(B)s(LE)2012
1432 y FJ(\024)83 b Fy(\017)2203 1395 y FC(2)2203 1455
y Fw(S)t(I)5 b(N)i(GLE)1363 1570 y Fy(\017)1400 1584
y Fw(I)e(N)i(D)r(I)e(GE)t(N)i(O)r(U)g(S)2012 1570 y FJ(\024)83
b Fy(\017)2203 1584 y Fw(S)t(I)5 b(N)i(GLE)1612 1708
y Fy(\017)1649 1722 y Fw(E)t(X)e(T)10 b(RA)2012 1708
y FJ(\024)83 b Fy(\017)2203 1670 y FC(1)p Fw(:)p FC(5)2203
1730 y Fw(D)r(O)r(U)7 b(B)s(LE)141 1912 y FK(The)31 b(\014rst)f
(inequalit)m(y)g(sa)m(ys)i(that)g(double)d(precision)h(is)g(at)i(least)
f(t)m(wice)h(as)g(accurate)g(\(has)g(t)m(wice)f(as)h(man)m(y)0
2025 y(signi\014can)m(t)40 b(digits\))f(as)i(single)f(precision.)70
b(The)40 b(second)h(inequalit)m(y)e(sa)m(ys)j(that)f(indigenous)d(is)i
(at)i(least)f(as)0 2138 y(accurate)34 b(as)e(single)f(precision.)43
b(The)32 b(third)e(inequalit)m(y)h(sa)m(ys)h(that)h(extra)g(precision)d
(is)h(at)i(least)f(1.5)h(times)f(as)0 2251 y(accurate)g(\(has)e(1.5)i
(times)e(as)g(man)m(y)h(signi\014can)m(t)e(digits\))h(as)g(double)f
(precision.)141 2364 y Fz(A)-5 b(dvic)g(e)44 b(to)g(implementors:)67
b FK(This)41 b(is)g(only)h(a)h(lo)m(w)m(er)f(b)s(ound)f(on)h(the)h(n)m
(um)m(b)s(er)e(of)i(signi\014can)m(t)e(digits)g(in)0
2477 y(extra)34 b(precision;)g(most)f(reasonable)h(implemen)m(tations)d
(can)j(get)h(close)e(to)i(t)m(wice)e(as)h(man)m(y)g(digits)e(as)h
(double)0 2590 y(precision)28 b([42)q(].)41 b(The)29
b(lo)m(w)m(er)h(b)s(ound)e(is)h(in)m(tended)f(to)j(exclude)e(the)h(use)
f(of)h(the)g(80-bit)g(IEEE)g(format)g(as)g(Extra)0 2703
y(precision)h(when)i(Double)f(is)h(the)g(64-bit)h(IEEE)e(format.)50
b(It)33 b(is)g(imp)s(ortan)m(t)f(that)i Fy(B)5 b(AS)g(E)g
FK(,)34 b Fy(T)13 b FK(,)34 b(and)f Fy(R)q(N)10 b(D)36
b FK(are)0 2815 y(c)m(hosen)j(so)f(that)h Fy(E)5 b(P)13
b(S)44 b FK(de\014ned)37 b(b)m(y)h Fy(E)5 b(P)13 b(S)44
b FK(=)38 b Fy(B)5 b(AS)g(E)1948 2782 y FC(1)p Fu(\000)p
Fw(T)2132 2815 y FK(if)37 b Fy(R)q(N)10 b(D)41 b FK(=)d(0)h(and)e
Fy(E)5 b(P)13 b(S)44 b FK(=)38 b Fy(:)p FK(5)27 b FJ(\003)e
Fy(B)5 b(AS)g(E)3663 2782 y FC(1)p Fu(\000)p Fw(T)3847
2815 y FK(if)0 2928 y Fy(R)q(N)10 b(D)28 b FK(=)d(1)30
b(can)f(b)s(e)g(used)g(for)g(error)g(analysis.)39 b(F)-8
b(or)30 b(example)g(in)e(the)h(reference)h(implemen)m(tation)f(of)g
(EXTRA)0 3041 y(precision)35 b(in)h([42)q(],)k Fy(T)49
b FK(=)37 b(105)h(ev)m(en)g(though)f(106)h(bits)e(are)i(stored.)61
b(Though)37 b(w)m(e)g(do)g(not)h(require)e(this,)i(the)0
3154 y(simplest)25 b(w)m(a)m(y)i(to)h(ac)m(hiev)m(e)g(the)e(error)h(b)s
(ounds)d(describ)s(ed)g(ab)s(o)m(v)m(e)k(is)e(for)g(\015oating)h(op)s
(erations)f FJ(\014)f(2)g(f)p FK(+)p Fy(;)15 b FJ(\000)p
Fy(;)g FJ(\003)p Fy(;)g(=)p FJ(g)0 3267 y FK(to)27 b(satisfy)f(the)h
(follo)m(wing)e(b)s(ounds)g(in)g(the)i(absense)f(of)h(o)m(v)m
(er/under\015o)m(w:)39 b Fy(f)10 b(l)r FK(\()p Fy(a)j
FJ(\014)g Fy(b)p FK(\))24 b(=)h(\()p Fy(a)13 b FJ(\014)g
Fy(b)p FK(\)\(1)g(+)g Fy(\016)s FK(\))27 b(for)g(some)0
3380 y FJ(j)p Fy(\016)s FJ(j)h(\024)e Fy(E)5 b(P)13 b(S)37
b FK(when)30 b Fy(a)h FK(and)g Fy(b)g FK(are)h(real,)f
Fy(f)10 b(l)r FK(\()p Fy(a)20 b FJ(\006)h Fy(b)p FK(\))27
b(=)f(\()p Fy(a)21 b FJ(\006)g Fy(b)p FK(\)\(1)h(+)e
Fy(\016)s FK(\))33 b(for)e(some)g FJ(j)p Fy(\016)s FJ(j)d(\024)3013
3305 y(p)p 3088 3305 V 3088 3380 a FK(2)22 b FJ(\001)f
Fy(E)5 b(P)13 b(S)36 b FK(when)30 b Fy(a)i FK(and)0 3493
y Fy(b)f FK(are)g(complex,)g Fy(f)10 b(l)r FK(\()p Fy(a)20
b FJ(\003)h Fy(b)p FK(\))27 b(=)f(\()p Fy(a)21 b FJ(\003)g
Fy(b)p FK(\)\(1)g(+)g Fy(\016)s FK(\))32 b(for)e(some)i
FJ(j)p Fy(\016)s FJ(j)27 b(\024)f FK(2)2232 3418 y FJ(p)p
2308 3418 V 75 x FK(2)21 b FJ(\001)g Fy(E)5 b(P)13 b(S)36
b FK(when)30 b Fy(a)h FK(and)f Fy(b)h FK(are)h(complex,)f(and)0
3606 y Fy(f)10 b(l)r FK(\()p Fy(a=b)p FK(\))26 b(=)f(\()p
Fy(a=b)p FK(\)\(1)d(+)e Fy(\016)s FK(\))31 b(for)f(some)h
FJ(j)p Fy(\016)s FJ(j)c(\024)e FK(\(6)c(+)f(4)1732 3531
y FJ(p)p 1808 3531 V 75 x FK(2\))h FJ(\001)f Fy(E)5 b(P)13
b(S)36 b FK(when)29 b Fy(a)i FK(and)f Fy(b)g FK(are)h(complex.)141
3719 y(The)25 b(seman)m(tics)h(of)g(o)m(v)m(er\015o)m(w)h(and)e
(under\015o)m(w)f(are)i(discussed)d(more)j(carefully)e(in)g([42)r(];)j
(they)f(b)s(ecome)g(more)0 3832 y(complicated)g(concepts)g(when)f
(using)g(implemen)m(tation)f(tec)m(hniques)i(lik)m(e)f(double-double)e
(for)j(extra)h(precision.)0 3945 y(The)j(imp)s(ortan)m(t)f(prop)s
(erties)g(they)i(should)d(satisfy)i(are)111 4132 y(1.)46
b(In)e(an)m(y)g(precision,)i(a)f(quan)m(tit)m(y)f(greater)i(than)e
Fy(O)s(V)64 b FK(generates)46 b(an)e(exception,)k(a)d
FJ(\0061)e FK(sym)m(b)s(ol,)k(or)227 4245 y(otherwise)30
b(someho)m(w)h(indicates)e(its)h(complete)h(loss)f(of)g(precision.)111
4433 y(2.)46 b(In)20 b(an)m(y)h(precision,)g(the)g(error)f(in)g(a)h
(\015oating)f(p)s(oin)m(t)g(op)s(eration)g(that)i(migh)m(t)e
(under\015o)m(w)f(\(during)g(some)i(part)227 4546 y(of)g(the)g
(calculation,)h(if)d(for)i(example)f(it)g(is)g(double-double\))e(is)i
(describ)s(ed)e(b)m(y)j Fy(f)10 b(l)r FK(\()p Fy(a)q
FJ(\014)q Fy(b)p FK(\))24 b(=)h(\()p Fy(a)q FJ(\014)q
Fy(b)p FK(\)\(1)q(+)q Fy(\016)s FK(\))q(+)q Fy(\021)s
FK(,)227 4659 y(for)33 b(some)g FJ(j)p Fy(\016)s FJ(j)d(\024)e
Fy(E)5 b(P)13 b(S)38 b FK(and)32 b FJ(j)p Fy(\021)s FJ(j)e(\024)f
Fy(U)10 b(N)42 b FK(if)32 b Fy(a)g FK(and)g Fy(b)h FK(are)g(real,)g
(and)f(for)g(slighlt)m(y)f(larger)h FJ(j)p Fy(\016)s
FJ(j)i FK(and)e FJ(j)p Fy(\021)s FJ(j)h FK(if)f Fy(a)227
4771 y FK(and)e Fy(b)g FK(are)h(complex.)0 4959 y(W)-8
b(e)40 b(c)m(ho)s(ose)h(not)e(to)h(sp)s(ecify)e(the)h(o)m(v)m(er\015o)m
(w)i(and)e(under\015o)m(w)e(thresholds)h(in)g(more)h(detail,)i(in)d
(order)h(not)g(to)0 5072 y(eliminate)29 b(inno)m(v)-5
b(ativ)m(e)30 b(w)m(a)m(ys)h(of)g(implemen)m(ting)d(extra)j(precision.)
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 139 149
139 148 bop 0 -165 a FA(4.4.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)2668 b FK(139)0 91 y Fx(4.3.4)97 b(F)m(unction)34
b(T)-8 b(ables)0 263 y FK(As)28 b(discussed)e(in)h([42)r(],)i(not)f
(all)f(BLAS)h(routines)f(from)h(Chapter)g(2)g(are)h(w)m(orth)f(con)m(v)
m(erting)h(to)g(extra)g(or)f(mixed)0 376 y(precision,)h(so)h(w)m(e)h
(only)f(include)e(the)i(subset)g(that)h(is)f(w)m(orth)g(con)m(v)m
(erting.)141 489 y(T)-8 b(able)30 b(4.1)i(is)d(a)i(subset)f(of)g(T)-8
b(able)30 b(2.1)i(in)d(Chapter)g(2,)i(Reduction)f(Op)s(erations.)141
602 y(T)-8 b(able)30 b(4.2)i(is)d(a)i(subset)f(of)g(T)-8
b(able)30 b(2.3)i(in)d(Chapter)g(2,)i(V)-8 b(ector)33
b(Op)s(erations.)141 715 y(T)-8 b(able)30 b(4.3)i(is)d(a)i(subset)f(of)
g(T)-8 b(able)30 b(2.5)i(in)d(Chapter)g(2,)i(Matrix-V)-8
b(ector)33 b(Op)s(erations.)141 827 y(T)-8 b(able)30
b(4.4)i(is)d(a)i(subset)f(of)g(T)-8 b(able)30 b(2.7)i(in)d(Chapter)g
(2,)i(Matrix)g(Matrix)f(Op)s(erations.)p 1147 937 1606
4 v 1145 1050 4 113 v 1197 1016 a(Dot)i(pro)s(duct)p
1737 1050 V 98 w Fy(r)c FJ( )d Fy(\014)5 b(r)23 b FK(+)d
Fy(\013x)2294 983 y Fw(T)2350 1016 y Fy(y)p 2446 1050
V 102 w FK(DOT)p 2751 1050 V 1145 1163 V 1197 1129 a(Sum)p
1737 1163 V 413 w Fy(r)28 b FJ( )1973 1065 y Ft(P)2061
1152 y Fw(i)2104 1129 y Fy(x)2156 1143 y Fw(i)p 2446
1163 V 2497 1129 a FK(SUM)p 2751 1163 V 1147 1166 1606
4 v 746 1321 a(T)-8 b(able)30 b(4.1:)42 b(Extra)31 b(and)f(Mixed)f
(Precision)g(Reduction)h(Op)s(erations)p 782 1618 2337
4 v 780 1731 4 113 v 831 1697 a(Scaled)g(v)m(ector)i(accum)m(ulation)p
1963 1731 V 100 w Fy(y)c FJ( )d Fy(\013x)c FK(+)e Fy(\014)5
b(y)s(;)p 2603 1731 V 100 w FK(AXPBY)p 3117 1731 V 780
1844 V 831 1810 a(Scaled)30 b(v)m(ector)i(addition)p
1963 1844 V 298 w Fy(w)27 b FJ( )f Fy(\013x)20 b FK(+)g
Fy(\014)5 b(y)p 2603 1844 V 108 w FK(W)-10 b(AXPBY)p
3117 1844 V 782 1847 2337 4 v 820 2002 a(T)i(able)30
b(4.2:)42 b(Extra)31 b(and)e(Mixed)h(Precision)f(V)-8
b(ector)32 b(Op)s(erations)p 0 2308 3978 4 v -2 2421
4 113 v 50 2387 a(Matrix)e(v)m(ector)i(pro)s(duct)p 1427
2421 V 541 w Fy(y)c FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5
b(y)p 2536 2421 V 528 w FK(GE,)31 b(GB,)g(SY,)g(SP)-8
b(,)30 b(SB,)p 3490 2421 V 100 w(MV)p 3976 2421 V -2
2534 V 1427 2534 V 2536 2534 V 2587 2500 a(HE,)h(HP)-8
b(,)31 b(HB)p 3490 2534 V 3976 2534 V -2 2647 V 1427
2647 V 1479 2613 a Fy(y)d FJ( )d Fy(\013A)1794 2580 y
Fw(T)1850 2613 y Fy(x)20 b FK(+)g Fy(\014)5 b(y)p 2536
2647 V 473 w FK(GE,)31 b(GB)p 3490 2647 V 631 w(MV)p
3976 2647 V -2 2760 V 1427 2760 V 1479 2726 a Fy(x)25
b FJ( )g Fy(\013T)13 b(x;)41 b(x)25 b FJ( )g Fy(\013T)2231
2693 y Fw(T)2287 2726 y Fy(x)p 2536 2760 V 248 w FK(TR,)31
b(TB,)f(TP)p 3490 2760 V 453 w(MV)p 3976 2760 V -2 2872
V 50 2839 a(Summed)f(matrix)g(v)m(ector)j(m)m(ultiplies)p
1427 2872 V 97 w Fy(y)c FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5
b(B)g(x)p 2536 2872 V 447 w FK(GE)p 3490 2872 V 822 w(SUM)p
3749 2839 28 4 v 33 w(MV)p 3976 2872 4 113 v -2 2985
V 50 2951 a(T)-8 b(riangular)28 b(solv)m(e)p 1427 2985
V 790 w Fy(x)d FJ( )g Fy(\013T)1796 2918 y Fu(\000)p
FC(1)1891 2951 y Fy(x;)40 b(x)25 b FJ( )h Fy(\013T)2326
2918 y Fu(\000)p Fw(T)2436 2951 y Fy(x)p 2536 2985 V
99 w FK(TR,)31 b(TB,)f(TP)p 3490 2985 V 453 w(SV)p 3976
2985 V 0 2989 3978 4 v 669 3143 a(T)-8 b(able)30 b(4.3:)41
b(Extra)31 b(and)f(Mixed)f(Precision)g(Matrix)i(V)-8
b(ector)32 b(Op)s(erations)p 270 3441 3360 4 v 268 3554
4 113 v 320 3520 a(Matrix)e(matrix)g(pro)s(duct)p 1312
3554 V 133 w Fy(C)i FJ( )25 b Fy(\013AB)g FK(+)20 b Fy(\014)5
b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013A)2415 3487 y Fw(T)2471
3520 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p 2942 3554 V 216
w FK(GE)p 3345 3554 V 271 w(MM)p 3628 3554 V 268 3667
V 1312 3667 V 1364 3633 a Fy(C)32 b FJ( )25 b Fy(\013AB)1777
3600 y Fw(T)1852 3633 y FK(+)20 b Fy(\014)5 b(C)q(;)41
b(C)32 b FJ( )25 b Fy(\013A)2470 3600 y Fw(T)2526 3633
y Fy(B)2600 3600 y Fw(T)2675 3633 y FK(+)20 b Fy(\014)5
b(C)p 2942 3667 V 3345 3667 V 3628 3667 V 268 3780 V
1312 3780 V 1364 3746 a(C)32 b FJ( )25 b Fy(\013AB)g
FK(+)20 b Fy(\014)5 b(C)q(;)41 b(C)32 b FJ( )25 b Fy(\013B)5
b(A)21 b FK(+)f Fy(\014)5 b(C)p 2942 3780 V 271 w FK(SY,)30
b(HE)p 3345 3780 V 100 w(MM)p 3628 3780 V 268 3892 V
320 3859 a(T)-8 b(riangular)28 b(m)m(ultiply)p 1312 3892
V 261 w Fy(B)i FJ( )25 b Fy(\013T)13 b(B)5 b(;)40 b(B)30
b FJ( )25 b Fy(\013B)5 b(T)p 2942 3892 V 751 w FK(TR)p
3345 3892 V 271 w(MM)p 3628 3892 V 268 4005 V 1312 4005
V 1364 3972 a Fy(B)30 b FJ( )25 b Fy(\013T)1703 3939
y Fw(T)1758 3972 y Fy(B)5 b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5
b(T)2310 3939 y Fw(T)p 2942 4005 V 3345 4005 V 3628 4005
V 268 4118 V 320 4084 a FK(T)-8 b(riangular)28 b(solv)m(e)p
1312 4118 V 405 w Fy(B)i FJ( )25 b Fy(\013T)1703 4051
y Fu(\000)p FC(1)1797 4084 y Fy(B)5 b(;)41 b(B)29 b FJ( )d
Fy(\013B)5 b(T)2350 4051 y Fu(\000)p FC(1)p 2942 4118
V 2993 4084 a FK(TR)p 3345 4118 V 271 w(SM)p 3628 4118
V 268 4231 V 1312 4231 V 1364 4197 a Fy(B)30 b FJ( )25
b Fy(\013T)1703 4164 y Fu(\000)p Fw(T)1813 4197 y Fy(B)5
b(;)40 b(B)30 b FJ( )25 b Fy(\013B)5 b(T)2365 4164 y
Fu(\000)p Fw(T)p 2942 4231 V 3345 4231 V 3628 4231 V
268 4344 V 320 4310 a FK(Symmetric)29 b(rank)h Fy(k)k
FK(&)c(2)p Fy(k)p 1312 4344 V 103 w(C)i FJ( )25 b Fy(\013AA)1771
4277 y Fw(T)1847 4310 y FK(+)20 b Fy(\014)5 b(C)q(;)41
b(C)32 b FJ( )25 b Fy(\013A)2465 4277 y Fw(T)2521 4310
y Fy(A)20 b FK(+)g Fy(\014)5 b(C)p 2942 4344 V 172 w
FK(SY,)30 b(HE)p 3345 4344 V 100 w(RK)p 3628 4344 V 268
4457 V 350 4423 a(up)s(dates)g(\()p Fy(C)i FK(=)25 b
Fy(C)992 4390 y Fw(T)1046 4423 y FK(\))p 1312 4457 V
283 w Fy(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))p
Fy(B)1847 4390 y Fw(T)1923 4423 y FK(+)20 b Fy(B)5 b
FK(\()p Fy(\013A)p FK(\))2284 4390 y Fw(T)2360 4423 y
FK(+)20 b Fy(\014)5 b(C)p 2942 4457 V 421 w FK(SY,)30
b(HE)p 3345 4457 V 100 w(R2K)p 3628 4457 V 270 4460 3360
4 v 661 4615 a(T)-8 b(able)30 b(4.4:)42 b(Extra)30 b(and)g(Mixed)g
(Precision)f(Matrix)h(Matrix)g(Op)s(erations)0 5084 y
FE(4.4)116 b(Interface)38 b(Issues)0 5287 y FK(This)30
b(section)h(describ)s(es)f(the)i(common)g(issues)e(for)h(our)g(three)h
(language)g(bindings:)40 b(F)-8 b(ortran)32 b(95,)h(F)-8
b(ortran)32 b(77)0 5400 y(and)c(C.)h(Here)h(is)d(a)j(summary)e(of)h
(the)g(systematic)g(w)m(a)m(y)h(w)m(e)f(tak)m(e)i(a)e(subroutine)e
(name)i(and)f(its)h(argumen)m(t)g(list,)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 140 150
140 149 bop 0 -165 a FK(140)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)p 524
3 2852 4 v 522 116 4 113 v 574 82 a FK(En)m(vironmen)m(tal)g(Enquiry)p
1557 116 V 98 w(mac)m(hine)h(epsilon,)f(o)m(v)m(er/under\015o)m(w)h
(thresholds)p 3374 116 V 524 120 2852 4 v 385 278 a(T)-8
b(able)30 b(4.5:)42 b(En)m(vironmen)m(tal)29 b(Enquiries)f(for)i(Extra)
h(and)e(Mixed)h(Precision)f(Op)s(erations)0 653 y(and)h(mo)s(dify)e
(them)j(to)g(allo)m(w)f(for)g(extra)h(or)f(mixed)f(precision:)111
866 y(1.)46 b FG(Subroutine)40 b(names)e(and)h(mixed)g(precision)h
(inputs.)52 b FK(If)34 b(the)h(language)f(p)s(ermits)e(a)j(subroutine)
227 979 y(argumen)m(t)28 b(to)h(ha)m(v)m(e)g(more)f(than)f(one)h(t)m
(yp)s(e,)h(b)s(ecause)f(it)f(can)h(dispatc)m(h)f(the)h(righ)m(t)f
(routine)g(based)g(on)h(the)227 1091 y(actual)g(t)m(yp)s(e)g(at)h
(compile)e(time)g(\(F)-8 b(ortran)29 b(95,)g(but)e(not)h(F)-8
b(ortran)29 b(77)f(or)g(C\),)g(then)f(the)h(subroutine)e(name)227
1204 y(do)s(es)f(not)g(ha)m(v)m(e)h(to)g(c)m(hange)g(to)g(accommo)s
(date)h(mixed)d(precision.)37 b(Otherwise,)25 b(a)g(new)g(subroutine)e
(name)227 1317 y(is)i(required,)g(and)g(will)d(b)s(e)j(created)i(from)e
(the)g(old)g(one)h(b)m(y)f(app)s(ending)e(c)m(haracters)k(indicating)c
(the)j(t)m(yp)s(es)227 1430 y(of)31 b(the)f(argumen)m(ts.)111
1618 y(2.)46 b FG(Subroutine)e(names)f(and)h(extended)g(precision.)65
b FK(If)38 b(the)g(language)h(p)s(ermits)d(PREC)i(to)g(b)s(e)g(an)227
1731 y(optional)29 b(argumen)m(t)h(\(F)-8 b(ortran)31
b(95,)f(but)f(not)h(F)-8 b(ortran)30 b(77)h(or)e(C\),)h(then)f(the)h
(same)g(subroutine)d(name)j(as)227 1844 y(for)24 b(the)h(non-extended)f
(precision)f(v)m(ersion)h(can)g(b)s(e)g(used)g(without)f(c)m(hange.)40
b(If)24 b(a)h(new)f(name)g(is)f(required,)227 1957 y(it)k(will)e(b)s(e)
i(formed)g(b)m(y)g(app)s(ending)p 1475 1957 28 4 v 58
w(X)g(\(or)p 1747 1957 V 61 w(x\))g(to)i(the)e(existing)g(name.)39
b(If)27 b(the)h(name)f(has)h(already)f(b)s(een)227 2069
y(mo)s(di\014ed)g(to)j(accommo)s(date)h(mixed)d(precision,)p
1958 2069 V 61 w(X)h(\(or)p 2233 2069 V 63 w(x\))g(should)e(b)s(e)i
(added)g(to)h(the)f(end)g(of)g(the)g(new)227 2182 y(name.)111
2370 y(3.)46 b FG(Lo)s(cation)35 b(of)f FK(PREC)f FG(in)h(the)f
(calling)i(sequence.)41 b FK(The)29 b(new)g(calling)f(sequence)i(will)d
(consist)i(of)h(the)227 2483 y(original)24 b(calling)f(sequence)j
(\(for)f(the)g(BLAS)g(routine)f(without)g(extra)i(or)f(mixed)f
(precision\))g(with)g(PREC)227 2596 y(app)s(ended)29
b(at)i(the)g(end.)111 2783 y(4.)46 b FG(T)m(yp)s(e)40
b(of)f(PREC.)34 b FK(It)h(will)d(b)s(e)h(a)i(deriv)m(ed)e(t)m(yp)s(e)i
(in)e(F)-8 b(ortran)35 b(95,)h(an)e(in)m(teger)h(in)e(F)-8
b(ortran)35 b(77,)h(and)e(an)227 2896 y(en)m(umerated)d(t)m(yp)s(e)f
(in)g(C.)g(Standard)f(names)h(are)h(listed)e(b)s(elo)m(w.)111
3084 y(5.)46 b FG(En)m(vironmen)m(tal)h(enquiry)g(function.)73
b FK(Its)41 b(output)f(t)m(yp)s(e)i(is)e(an)g(in)m(teger.)73
b(The)41 b(input)e(PREC)h(is)227 3197 y(sp)s(eci\014ed)29
b(as)i(ab)s(o)m(v)m(e.)0 3440 y Fx(4.4.1)97 b(Interface)33
b(Issues)h(fo)m(r)e(F)m(o)m(rtran)i(95)111 3612 y FK(1.)46
b FG(Subroutine)37 b(names)f(and)h(mixed)f(precision)i(inputs.)45
b FK(No)33 b(new)e(subroutine)f(names)i(are)g(needed)227
3725 y(b)s(ecause)f(w)m(e)f(can)h(exploit)f(the)g(optional)g(argumen)m
(t)h(in)m(terface)g(of)f(F)-8 b(ortran)31 b(95.)111 3913
y(2.)46 b FG(Subroutine)c(names)f(and)g(extended)h(precision.)59
b FK(No)37 b(new)e(subroutine)f(names)j(are)f(needed)g(b)m(y)227
4025 y(letting)k(PREC)f(b)s(e)h(an)f(optional)h(argumen)m(t.)70
b(The)39 b(default)h(in)e(the)j(case)g(of)f(no)g(mixed)f(precision)f
(is)227 4138 y(the)i(standard)f(BLAS)h(implemen)m(tation.)68
b(The)40 b(default)f(in)f(the)i(case)h(of)f(mixed)f(precision)f(is)h
(at)i(the)227 4251 y(discretion)29 b(of)i(the)f(implemen)m(tor,)g(sub)5
b(ject)30 b(to)h(the)f(constrain)m(ts)h(of)f(section)h(4.3.1.)111
4439 y(3.)46 b FG(T)m(yp)s(e)24 b(of)g FK(PREC)o FG(.)37
b FK(PREC)20 b(is)f(a)i(deriv)m(ed)f(t)m(yp)s(e,)j(as)e(de\014ned)e(in)
g(the)i(mo)s(dule)e FD(blas)p 3027 4439 29 4 v 33 w(operator)p
3444 4439 V 32 w(arguments)227 4552 y FK(\(see)32 b(section)e(A.4\).)
111 4739 y(4.)46 b FG(En)m(vironmen)m(tal)31 b(enquiry)g(function.)40
b FK(fpinfo)p 1985 4739 28 4 v 31 w(x\(CMA)m(CH,PREC\))28
b(returns)e(an)h(in)m(teger.)40 b(PREC)26 b(is)227 4852
y(as)31 b(sp)s(eci\014ed)e(ab)s(o)m(v)m(e.)41 b(CMA)m(CH)31
b(is)f(as)g(de\014ned)f(in)g(sections)i(1.6,)h(2.7,)f(4.3.3,)i(and)d
(A.4.)111 5040 y(5.)46 b FG(Error)35 b(Handling.)41 b
FK(Error)29 b(handling)f(is)i(as)g(de\014ned)f(in)g(section)i(2.4.6.)
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 141 151
141 150 bop 0 -165 a FA(4.4.)72 b(INTERF)-10 b(A)m(CE)30
b(ISSUES)2668 b FK(141)0 91 y Fx(4.4.2)97 b(Interface)33
b(Issues)h(fo)m(r)e(F)m(o)m(rtran)i(77)0 263 y FK(As)i(describ)s(ed)e
(in)g(Chapter)i(2,)i(this)d(prop)s(osal)f(violates)i(the)g(letter)h(of)
f(the)g(ANSI)f(F)-8 b(ortran)37 b(77)g(standard)e(b)m(y)0
376 y(ha)m(ving)30 b(subroutine)e(and)i(v)-5 b(ariable)29
b(names)h(longer)g(than)g(6)h(c)m(haracters)h(and)e(with)f(em)m(b)s
(edded)g(underscores.)111 588 y(1.)46 b FG(Subroutine)37
b(names)g(and)f(mixed)h(precision)h(inputs.)45 b FK(The)32
b(unmo)s(di\014ed)d(subroutine)h(name)i(has)227 701 y(a)g(c)m(haracter)
h(\(S,)f(D,)g(C)f(or)h(Z\))f(that)h(sp)s(eci\014es)e(the)i(\015oating)g
(p)s(oin)m(t)e(argumen)m(t)i(t)m(yp)s(es.)44 b(This)30
b(will)f(b)s(e)i(the)227 814 y(t)m(yp)s(e)38 b(of)h(the)f(output)f
(argumen)m(t.)64 b(By)38 b(applying)e(the)i(rules)f(in)g(Section)g
(4.3.2,)42 b(this)37 b(also)h(determines)227 927 y(the)32
b(t)m(yp)s(es)g(of)g(the)g(scalar)g(argumen)m(ts.)45
b(The)32 b(p)s(ossible)d(t)m(yp)s(es)j(of)g(the)g(remaining)e(arra)m(y)
i(argumen)m(ts)h(are)227 1040 y(listed)27 b(in)g(Section)h(4.3.2.)42
b(The)28 b(t)m(yp)s(es)h(of)f(these)h(argumen)m(ts)g(\(written)p
2694 1040 28 4 v 60 w(S,)p 2831 1040 V 61 w(D,)p 2986
1040 V 62 w(C)f(or)p 3222 1040 V 61 w(Z\))g(are)h(app)s(ended)227
1153 y(to)i(the)g(unmo)s(di\014ed)c(subroutine)h(name,)j(in)e(the)i
(order)f(in)f(whic)m(h)g(they)h(app)s(ear)g(in)f(the)i(argumen)m(t)g
(list.)227 1303 y(F)-8 b(or)43 b(example,)i(consider)d(BLAS)p
1410 1303 V 32 w(ZGEMM\()p Fy(\013)p FK(,A,B,)p Fy(\014)5
b FK(,C\))45 b(\(only)d(the)h(\015oating)f(p)s(oin)m(t)f(argumen)m(ts)i
(are)227 1416 y(sho)m(wn\).)78 b(The)42 b(Z)g(in)f(BLAS)p
1271 1416 V 33 w(ZGEMM)i(means)g(that)g(C,)f Fy(\013)i
FK(and)e Fy(\014)47 b FK(are)d(all)d(double-complex.)76
b(The)227 1529 y(p)s(ossible)28 b(t)m(yp)s(es)j(of)f(A)h(and)e(B,)i
(and)f(the)h(corresp)s(onding)d(subroutine)g(names,)j(are:)p
989 1695 2150 4 v 987 1808 4 113 v 1039 1774 a(T)m(yp)s(e)f(of)g(A)p
1493 1808 V 100 w(T)m(yp)s(e)g(of)g(B)p 1996 1808 V 100
w(Mo)s(di\014ed)f(subroutine)f(name)p 3137 1808 V 989
1812 2150 4 v 987 1924 4 113 v 1209 1891 a(C)p 1493 1924
V 439 w(C)p 1996 1924 V 376 w(BLAS)p 2401 1891 28 4 v
32 w(ZGEMM)p 2788 1891 V 33 w(C)p 2887 1891 V 33 w(C)p
3137 1924 4 113 v 987 2037 V 1209 2003 a(C)p 1493 2037
V 444 w(Z)p 1996 2037 V 386 w(BLAS)p 2406 2003 28 4 v
32 w(ZGEMM)p 2793 2003 V 33 w(C)p 2892 2003 V 33 w(Z)p
3137 2037 4 113 v 987 2150 V 1214 2116 a(Z)p 1493 2150
V 444 w(C)p 1996 2150 V 381 w(BLAS)p 2406 2116 28 4 v
32 w(ZGEMM)p 2793 2116 V 33 w(Z)p 2882 2116 V 33 w(C)p
3137 2150 4 113 v 987 2263 V 1207 2229 a(D)p 1493 2263
V 436 w(D)p 1996 2263 V 371 w(BLAS)p 2397 2229 28 4 v
32 w(ZGEMM)p 2784 2229 V 34 w(D)p 2887 2229 V 33 w(D)p
3137 2263 4 113 v 987 2376 V 1207 2342 a(D)p 1493 2376
V 443 w(Z)p 1996 2376 V 384 w(BLAS)p 2404 2342 28 4 v
32 w(ZGEMM)p 2791 2342 V 33 w(D)p 2893 2342 V 34 w(Z)p
3137 2376 4 113 v 987 2489 V 1214 2455 a(Z)p 1493 2489
V 442 w(D)p 1996 2489 V 378 w(BLAS)p 2404 2455 28 4 v
32 w(ZGEMM)p 2791 2455 V 33 w(Z)p 2880 2455 V 33 w(D)p
3137 2489 4 113 v 989 2492 2150 4 v 111 2701 a(2.)46
b FG(Subroutine)27 b(names)e(and)i(extended)f(precision.)39
b FK(T)-8 b(o)23 b(accommo)s(date)i(extended)e(precision,)g(PREC)227
2814 y(is)j(added)f(as)i(the)f(last)h(argumen)m(t,)h(and)p
1614 2814 28 4 v 58 w(X)e(is)g(app)s(ended)e(to)k(the)e(end)g(of)g
(subroutine)e(name)j(\(whic)m(h)e(ma)m(y)227 2927 y(already)30
b(ha)m(v)m(e)i(b)s(een)d(mo)s(di\014ed)g(to)i(accommo)s(date)h(mixed)d
(precision\).)227 3077 y(F)-8 b(or)33 b(example,)g(double-complex)e
(matrix-matrix)h(m)m(ultiplication)d(implemen)m(ted)i(with)g(extended)h
(pre-)227 3190 y(cision)g(is)f(named)i(BLAS)p 1117 3190
V 32 w(ZGEMM)p 1504 3190 V 34 w(X.)g(Double-complex)f(matrix-matrix)g
(m)m(ultiplication)d(where)k(the)227 3303 y(A)e(and)f(B)g(argumen)m(ts)
h(are)g(single-complex)e(is)g(named)h(BLAS)p 2430 3303
V 33 w(ZGEMM)p 2818 3303 V 33 w(C)p 2917 3303 V 32 w(C)p
3015 3303 V 33 w(X.)111 3490 y(3.)46 b FG(T)m(yp)s(e)55
b(of)f FK(PREC)p FG(.)91 b FK(PREC)47 b(is)f(an)i(in)m(teger)f(\(named)
h(constan)m(t\),)53 b(as)48 b(de\014ned)e(in)g(the)i(include)d(\014le)
227 3603 y FD(blas)p 425 3603 29 4 v 34 w(namedconstants.h)25
b FK(\(see)32 b(section)e(A.5\).)111 3791 y(4.)46 b FG(En)m(vironmen)m
(tal)24 b(enquiry)h(function.)38 b FK(BLAS)p 1981 3791
28 4 v 33 w(FPINF)m(O)p 2363 3791 V 33 w(X\(CMA)m(CH,PREC)q(\))22
b(returns)e(an)h(in)m(teger.)227 3904 y(PREC)30 b(is)f(as)i(sp)s
(eci\014ed)e(ab)s(o)m(v)m(e.)42 b(CMA)m(CH)30 b(is)g(as)g(de\014ned)f
(in)h(sections)g(1.6,)i(2.7,)f(4.3.3,)i(and)d(A.5.)111
4091 y(5.)46 b FG(Error)35 b(Handling.)41 b FK(Error)29
b(handling)f(is)i(as)g(de\014ned)f(in)g(section)i(2.5.6.)141
4304 y(T)-8 b(o)37 b(shorten)f(the)g(subroutine)e(sp)s(eci\014cations)h
(in)g(section)h(4.5,)j(w)m(e)d(will)e(abbreviate)i(the)g(list)f(of)h(p)
s(ossible)0 4417 y(subroutine)d(names)i(for)g(GEMM)h(to)h(a)e(single)f
(one:)51 b(BLAS)p 2129 4417 V 33 w(xGEMM)p FJ(f)p 2554
4417 V 34 w FK(a)p 2633 4417 V 33 w(b)p FJ(gf)p 2807
4417 V 33 w FK(X)p FJ(g)36 b FK(The)f(pre\014x)f(x)h(ma)m(y)h(b)s(e)e
(S)0 4530 y(\(single\),)25 b(D)f(\(double\),)g(C)f(\(complex\))h(or)g
(Z)f(\(double)g(complex\).)38 b(Also,)25 b(the)f(subroutine)e(name)h
(ma)m(y)i(optionally)0 4643 y(b)s(e)31 b(app)s(ended)e(with)p
751 4643 V 63 w(a)p 828 4643 V 33 w(b,)j(where)f(a)h(and)e(b)h(are)h
(the)g(t)m(yp)s(es)f(of)h Fy(A)f FK(and)g Fy(B)36 b FK(resp)s(ectiv)m
(ely)-8 b(,)32 b(and)e(then)i(optionally)0 4756 y(b)s(e)e(app)s(ended)e
(with)p 748 4756 V 62 w(X.)j(A)m(t)g(least)g(one)f(of)p
1518 4756 V 64 w(a)p 1596 4756 V 33 w(b)g(or)p 1822 4756
V 63 w(X)g(m)m(ust)h(app)s(ear.)0 4999 y Fx(4.4.3)97
b(Interface)33 b(Issues)h(fo)m(r)e(C)111 5171 y FK(1.)46
b FG(Subroutine)d(names)e(and)h(mixed)g(precision)h(inputs.)60
b FK(The)36 b(same)h(sc)m(heme)h(is)e(used)f(as)i(in)f(F)-8
b(or-)227 5284 y(tran)30 b(77,)i(as)f(describ)s(ed)d(ab)s(o)m(v)m(e,)k
(except)f(that)g(all)e(c)m(haracters)j(in)d(subroutine)f(names)j(are)f
(lo)m(w)m(er)h(case.)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 142 152
142 151 bop 0 -165 a FK(142)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)111 91
y FK(2.)46 b FG(Subroutine)36 b(names)e(and)g(extended)h(precision.)42
b FK(The)30 b(same)h(sc)m(heme)g(is)e(used)h(as)h(in)e(F)-8
b(ortran)31 b(77,)227 204 y(as)g(describ)s(ed)d(ab)s(o)m(v)m(e,)k
(except)f(that)g(all)f(c)m(haracters)h(in)e(subroutine)g(names)h(are)h
(lo)m(w)m(er)f(case.)111 390 y(3.)46 b FG(T)m(yp)s(e)39
b(of)f(PREC.)c FK(PREC)f(is)f(an)i(en)m(umerated)g(t)m(yp)s(e,)g(as)g
(de\014ned)e(in)h(the)g(include)f(\014le)g FD(blas)p
3586 390 29 4 v 34 w(enum.h)227 503 y FK(\(see)g(section)e(A.6\).)111
690 y(4.)46 b FG(En)m(vironmen)m(tal)h(enquiry)h(function.)75
b FK(BLAS)p 2064 690 28 4 v 32 w(fpinfo)p 2325 690 V
31 w(x\(CMA)m(CH,PREC)q(\))42 b(returns)e(an)h(in)m(teger.)227
803 y(PREC)30 b(is)f(as)i(sp)s(eci\014ed)e(ab)s(o)m(v)m(e.)42
b(CMA)m(CH)30 b(is)g(as)g(de\014ned)f(in)h(sections)g(1.6,)i(2.7,)f
(4.3.3,)i(and)d(A.6.)111 989 y(5.)46 b FG(Error)35 b(Handling.)41
b FK(Error)29 b(handling)f(is)i(as)g(de\014ned)f(in)g(section)i(2.6.9.)
0 1275 y FE(4.5)116 b(Language)38 b(Bindings)0 1481 y
Fx(4.5.1)97 b(Overview)0 1652 y FK(As)38 b(in)f(Chapter)g(2,)k(eac)m(h)
e(sp)s(eci\014cation)e(of)h(a)g(routine)f(will)f(corresp)s(ond)h(to)h
(an)g(op)s(eration)g(outlined)e(in)h(the)0 1765 y(functionalit)m(y)30
b(tables.)43 b(Op)s(erations)30 b(are)i(organized)f(analogous)h(to)g
(the)g(order)f(in)f(whic)m(h)g(they)h(are)h(presen)m(ted)0
1878 y(in)d(the)i(functionalit)m(y)d(tables.)41 b(The)30
b(sp)s(eci\014cation)f(will)f(ha)m(v)m(e)j(the)g(form:)0
2104 y(NAME)g(\()p Fz(multi-wor)-5 b(d)35 b(description)f(of)f(op)-5
b(er)g(ation)p FK(\))33 b Fy(<)25 b(mathematical)33 b(r)s(epr)s
(esentation)24 b(>)136 2425 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding)136 2612 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(77)h(binding)136 2798 y FJ(\017)46 b FK(C)30 b(binding)141
3006 y(Section)g(4.4)i(describ)s(es)c(abbreviations)h(w)m(e)i(use)f(b)s
(elo)m(w.)40 b(F)-8 b(or)31 b(example,)227 3190 y FD(SUBROUTINE)45
b(BLAS_xDOT{_a_b}{_X}\()e(N,)k(ALPHA,)f(X,)h(INCX,)f(BETA,)858
3303 y(Y,)h(INCY,)f(R)i([,)f(PREC]\))0 3487 y FK(means)38
b(that)g(the)g(subroutine)d(name)j(ma)m(y)g(optionally)e(b)s(e)h(app)s
(ended)f(with)p 2769 3487 V 69 w(a)p 2846 3487 V 33 w(b,)j(where)f(a)g
(and)f(b)g(are)h(the)0 3600 y(t)m(yp)s(es)28 b(of)g(X)g(and)g(Y,)g
(resp)s(ectiv)m(ely)-8 b(,)29 b(and)e(also)h(optionally)f(app)s(ended)f
(with)p 2641 3600 V 59 w(X,)j(in)d(whic)m(h)h(case)i(the)f(parameter)0
3713 y(PREC)i(m)m(ust)g(also)g(app)s(ear.)141 3826 y(The)g(routines)f
(sp)s(eci\014ed)g(here)h(are)136 4035 y FJ(\017)46 b
FK(Reduction)30 b(Op)s(erations)f(\(section)i(4.5.2\))330
4221 y FG({)45 b FK(DOT)30 b(\(Dot)i(pro)s(duct\))330
4366 y FG({)45 b FK(SUM)31 b(\(Sum\))136 4552 y FJ(\017)46
b FK(V)-8 b(ector)32 b(Op)s(erations)d(\(section)i(4.5.3\))330
4738 y FG({)45 b FK(AXPBY)31 b(\(Scaled)g(v)m(ector)h(accum)m
(ulation\))330 4883 y FG({)45 b FK(W)-10 b(AXPBY)32 b(\(Scaled)e(v)m
(ector)i(addition\))136 5069 y FJ(\017)46 b FK(Matrix-V)-8
b(ector)33 b(Op)s(erations)c(\(section)i(4.5.4\))330
5255 y FG({)45 b FJ(f)p FK(GE,GB)p FJ(g)p FK(MV)33 b(\(Matrix)e(v)m
(ector)h(pro)s(duct\))330 5400 y FG({)45 b FJ(f)p FK(SY,SB,SP)p
FJ(g)p FK(MV)31 b(\(Symmetric)f(matrix)g(v)m(ector)i(pro)s(duct\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 143 153
143 152 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(143)330 91 y FG({)45 b FJ(f)p FK(HE,HB,HP)p FJ(g)p
FK(MV)33 b(\(Hermitian)d(matrix)f(v)m(ector)j(pro)s(duct\))330
227 y FG({)45 b FJ(f)p FK(TR,TB,TP)p FJ(g)p FK(MV)32
b(\(T)-8 b(riangular)28 b(matrix)i(v)m(ector)i(pro)s(duct\))330
363 y FG({)45 b FK(GE)p 565 363 28 4 v 33 w(SUM)p 800
363 V 33 w(MV)31 b(\(Summed)e(matrix)h(v)m(ector)i(m)m(ultiplies\))330
498 y FG({)45 b FJ(f)p FK(TR,TB,TP)p FJ(g)p FK(SV)31
b(\(T)-8 b(riangular)29 b(solv)m(e\))136 676 y FJ(\017)46
b FK(Matrix-Matrix)31 b(Op)s(erations)e(\(section)i(4.5.5\))330
853 y FG({)45 b FK(GEMM)31 b(\(General)g(Matrix)f(Matrix)h(pro)s
(duct\))330 988 y FG({)45 b FK(SYMM)31 b(\(Symmetric)f(matrix)f(matrix)
h(pro)s(duct\))330 1124 y FG({)45 b FK(HEMM)31 b(\(Hermitian)f(matrix)f
(matrix)h(pro)s(duct\))330 1260 y FG({)45 b FK(TRMM)31
b(\(T)-8 b(riangular)29 b(matrix)g(matrix)h(m)m(ultiply\))330
1395 y FG({)45 b FK(TRSM)30 b(\(T)-8 b(riangular)29 b(solv)m(e\))330
1531 y FG({)45 b FK(SYRK)30 b(\(Symmetric)g(rank-k)g(up)s(date\))330
1667 y FG({)45 b FK(HERK)30 b(\(Hermitian)g(rank-k)g(up)s(date\))330
1802 y FG({)45 b FK(SYR2K)30 b(\(Symmetric)g(rank-2k)h(up)s(date\))330
1938 y FG({)45 b FK(HER2K)31 b(\(Hermitian)e(rank-2k)i(up)s(date\))0
2177 y Fx(4.5.2)97 b(Mixed)32 b(and)g(Extended)i(Precision)f(Reduction)
g(Op)s(erations)0 2420 y FK(DOT)d(\(Dot)i(Pro)s(duct\))1351
b Fy(x;)15 b(y)28 b FJ(2)d Fz(I)-17 b(R)2497 2384 y Fw(n)2544
2420 y Fy(;)15 b(r)28 b FJ( )d Fy(\014)5 b(r)23 b FK(+)d
Fy(\013x)3090 2387 y Fw(T)3145 2420 y Fy(y)29 b FK(=)24
b Fy(\014)5 b(r)23 b FK(+)d Fy(\013)3599 2314 y Fw(n)p
Fu(\000)p FC(1)3606 2339 y Ft(X)3608 2521 y Fw(i)p FC(=0)3747
2420 y Fy(x)3799 2434 y Fw(i)3827 2420 y Fy(y)3872 2434
y Fw(i)720 2743 y Fy(x;)15 b(y)28 b FJ(2)d Fz(l)-46 b(C)1027
2706 y Fw(n)1074 2743 y Fy(;)15 b(r)28 b FJ( )d Fy(\014)5
b(r)23 b FK(+)d Fy(\013x)1620 2710 y Fw(T)1676 2743 y
Fy(y)28 b FK(=)d Fy(\014)5 b(r)23 b FK(+)d Fy(\013)2129
2638 y Fw(n)p Fu(\000)p FC(1)2136 2662 y Ft(X)2139 2845
y Fw(i)p FC(=0)2277 2743 y Fy(x)2329 2757 y Fw(i)2357
2743 y Fy(y)2402 2757 y Fw(i)2461 2743 y FK(or)30 b Fy(r)e
FJ( )d Fy(\014)5 b(r)23 b FK(+)d Fy(\013x)3078 2710 y
Fw(H)3145 2743 y Fy(y)29 b FK(=)24 b Fy(\014)5 b(r)23
b FK(+)d Fy(\013)3599 2638 y Fw(n)p Fu(\000)p FC(1)3606
2662 y Ft(X)3608 2845 y Fw(i)p FC(=0)3753 2743 y FK(\026)-51
b Fy(x)3799 2757 y Fw(i)3827 2743 y Fy(y)3872 2757 y
Fw(i)141 2973 y FK(The)26 b(routine)f Fv(DOT)g FK(adds)g(the)i(scaled)e
(dot)i(pro)s(duct)d(of)j(t)m(w)m(o)g(v)m(ectors)g Fy(x)f
FK(and)g Fy(y)j FK(in)m(to)c(a)i(scaled)f(scalar)g Fy(r)s
FK(.)38 b(The)0 3086 y(routine)28 b(returns)f(immediately)g(if)g
Fv(n)i FK(is)e(less)h(than)g(zero,)i(or,)f(if)f Fv(b)s(eta)g
FK(is)f(equal)h(to)i(one)f(and)e(either)h Fv(alpha)g
FK(or)g Fv(n)h FK(is)0 3199 y(equal)f(to)g(zero.)41 b(If)28
b Fv(alpha)f FK(is)g(equal)h(to)h(zero)f(then)g Fy(x)g
FK(and)g Fy(y)j FK(are)d(not)g(read.)40 b(Similarly)-8
b(,)26 b(if)h Fv(b)s(eta)g FK(is)g(equal)h(to)h(zero,)0
3312 y Fy(r)k FK(is)d(not)h(read.)42 b(As)31 b(describ)s(ed)d(in)i
(section)h(2.5.3,)i(the)d(v)-5 b(alue)31 b Fv(incx)f
FK(less)g(than)h(zero)h(is)d(p)s(ermitted.)41 b(Ho)m(w)m(ev)m(er,)33
b(if)0 3425 y Fv(incx)d FK(is)g(equal)g(to)h(zero,)g(an)f(error)g
(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g(error)f(handler.)141
3538 y(When)g Fy(x)g FK(and)f Fy(y)k FK(are)e(complex)e(v)m(ectors,)j
(the)e(v)m(ector)i(comp)s(onen)m(ts)e Fy(x)2564 3552
y Fw(i)2622 3538 y FK(are)h(used)e(unconjugated)h(or)g(conju-)0
3651 y(gated)c(as)e(sp)s(eci\014ed)f(b)m(y)h(the)h(op)s(erator)g
(argumen)m(t)g Fv(conj)p FK(.)39 b(If)24 b Fy(x)h FK(and)f
Fy(y)j FK(are)e(real)f(v)m(ectors,)j(the)e(op)s(erator)f(argumen)m(t)0
3763 y Fv(conj)31 b FK(has)f(no)h(e\013ect.)141 3876
y(Extended)f(precision)f(and)g(mixed)g(precision)g(are)i(p)s(ermitted.)
141 3989 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s(eci\014cation)e
(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f(precision)e(and)0
4102 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)136
4283 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4497 y FD(SUBROUTINE)45 b(dot\()h(x,)h(y,)h(r)f([,)g(conj])g([,)g
(alpha])f([,)h(beta])f([,)i(prec])e(\))609 4610 y(<type>\(<wp>\),)e
(INTENT)i(\(IN\))h(::)g(x\(:\))609 4723 y(<type>\(<wp>\),)d(INTENT)i
(\(IN\))h(::)g(y\(:\))609 4835 y(<type>\(<wp>\),)d(INTENT)i(\(INOUT\))g
(::)h(r)609 4948 y(TYPE)g(\(blas_conj_type\),)c(INTENT\(IN\),)i
(OPTIONAL)g(::)i(conj)609 5061 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h
(OPTIONAL)e(::)i(alpha,)g(beta)609 5174 y(TYPE)g(\(blas_prec_type\),)c
(INTENT)j(\(IN\),)g(OPTIONAL)g(::)h(prec)514 5287 y(where)609
5400 y(x)h(and)e(y)i(have)f(shape)f(\(n\))-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 144 154
144 153 bop 0 -165 a FK(144)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FK(The)i(t)m(yp)s(es)g(of)g FD(alpha)p FK(,)g FD(x)p
FK(,)g FD(y)p FK(,)g FD(beta)f FK(and)h FD(r)f FK(are)i(go)m(v)m(erned)
g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
204 y(argumen)m(ts)h(set)h(do)m(wn)e(in)f(section)i(4.3:)43
b(the)31 b(t)m(yp)s(es)f(of)h FD(x)g FK(and)f FD(y)g
FK(can)h(optionally)e(di\013er)h(from)g(that)h(of)g FD(r)p
FK(,)227 317 y FD(alpha)e FK(and)h FD(beta)p FK(.)136
502 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
720 y FD(SUBROUTINE)45 b(BLAS_xDOT{_a_b}{_X}\()d(CONJ,)k(N,)h(ALPHA,)g
(X,)g(INCX,)f(BETA,)g(Y,)i(INCY,)466 833 y($)1527 b(R,)47
b([,)g(PREC])g(\))514 946 y(INTEGER)523 b(CONJ,)46 b(INCX,)g(INCY,)h(N)
g([,)g(PREC])514 1059 y(<type>)571 b(ALPHA,)46 b(BETA,)g(R)514
1172 y(<type>)571 b(X\()47 b(*)g(\))514 1285 y(<type>)571
b(Y\()47 b(*)g(\))227 1502 y FK(The)31 b(t)m(yp)s(es)g(of)h
FD(ALPHA)p FK(,)e FD(X)p FK(,)h FD(Y)p FK(,)g FD(BETA)f
FK(and)g FD(R)h FK(are)h(go)m(v)m(erned)g(according)f(to)h(the)g(rules)
d(of)j(mixed)e(precision)227 1615 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
1728 y(but)f(if)p 483 1728 29 4 v 64 w FD(a)p 566 1728
V 34 w(b)g FK(is)f(presen)m(t)i(then)p 1293 1728 V 64
w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g FD(X)f FK(and)p
2216 1728 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(Y)p FK(.)h(The)f(su\016x)p 3416 1728 V 63 w FD(X)g
FK(is)g(presen)m(t)227 1841 y(if)g(and)f(only)h(if)f
FD(PREC)g FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h
(su\016xes)p 2535 1841 V 64 w FD(a)p 2618 1841 V 34 w(b)f
FK(and)p 2906 1841 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
2026 y FJ(\017)46 b FK(C)30 b(binding:)227 2244 y FD(void)47
b(BLAS_xdot{_a_b}{_x}\()42 b(enum)47 b(blas_conj_type)d(conj,)i(int)h
(n,)g(SCALAR_IN)e(alpha,)1468 2357 y(const)i(ARRAY)f(x,)h(int)g(incx,)f
(SCALAR_IN)g(beta,)1468 2470 y(const)h(ARRAY)f(y,)h(int)g(incy,)f
(SCALAR_INOUT)f(r,)1468 2583 y([,)i(enum)g(blas_prec_type)d(prec])i
(\);)227 2800 y FK(The)31 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)g FD(x)p FK(,)g FD(y)p FK(,)g FD(beta)f FK(and)h
FD(r)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j
(mixed)e(precision)227 2913 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
3026 y(but)c(if)p 477 3026 V 61 w FD(a)p 560 3026 V 34
w(b)g FK(is)f(presen)m(t)h(then)p 1274 3026 V 62 w FD(a)g
FK(is)f(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)f FD(x)g
FK(and)p 2580 3026 V 61 w FD(b)g FK(is)g(the)g(t)m(yp)s(e)h(of)f
(argumen)m(t)h FD(y)p FK(.)39 b(The)227 3139 y(su\016x)p
470 3139 V 60 w FD(x)27 b FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)f
FD(prec)h FK(is)g(presen)m(t.)40 b(One)26 b(or)h(b)s(oth)f(of)h(the)g
(su\016xes)p 3238 3139 V 60 w FD(a)p 3320 3139 V 34 w(b)g
FK(and)p 3602 3139 V 61 w FD(x)f FK(m)m(ust)227 3252
y(b)s(e)k(presen)m(t.)p 0 3457 3900 6 v 0 3622 a(SUM)g(\(Sum\))3007
b Fy(r)28 b FJ( )3672 3516 y Fw(n)p Fu(\000)p FC(1)3678
3541 y Ft(X)3681 3724 y Fw(i)p FC(=0)3820 3622 y Fy(x)3872
3636 y Fw(i)141 3848 y FK(The)34 b(routine)g Fv(SUM)e
FK(computes)j(the)g(sum)e(of)i(the)f(en)m(tries)h(of)f(a)h(v)m(ector)h
Fy(x)p FK(.)53 b(If)34 b Fv(n)g FK(is)g(less)g(than)g(or)g(equal)g(to)0
3961 y(zero,)c(this)f(routine)f(returns)g(immediately)f(with)h(the)i
(output)e(scalar)i Fv(r)f FK(set)h(to)f(zero.)42 b(As)29
b(describ)s(ed)e(in)h(section)0 4074 y(2.5.3,)36 b(the)e(v)-5
b(alue)33 b Fv(incx)g FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)48
b(Ho)m(w)m(ev)m(er,)36 b(if)d Fv(incx)g FK(is)g(equal)f(to)j(zero,)g
(an)e(error)g(\015ag)h(is)0 4187 y(set)d(and)f(passed)g(to)h(the)f
(error)g(handler.)141 4300 y(Extended)g(precision)f(is)g(p)s(ermitted,)
g(but)h(not)g(mixed)g(precision.)141 4413 y(This)42 b(routine)h(has)h
(the)g(same)g(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)48
b(except)d(that)f(extended)g(precision)e(is)0 4525 y(p)s(ermitted.)d
(Mixed)30 b(precision)f(is)g(not)i(p)s(ermitted.)136
4731 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4948 y FD(<type>\(<wp>\))44 b(FUNCTION)i(sum\()g(x,)h(prec)g(\))609
5061 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h(::)g(x\(:\))609
5174 y(TYPE)g(\(blas_prec_type\),)c(INTENT)j(\(IN\))h(::)g(prec)514
5287 y(where)609 5400 y(x)h(has)e(shape)h(\(n\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 145 155
145 154 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(145)227 91 y(The)30 b(t)m(yp)s(es)h(of)f FD(sum)g
FK(and)f FD(x)h FK(are)h(iden)m(tical.)136 279 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(77)h(binding:)514 504 y FD(<type>)46
b(FUNCTION)f(BLAS_xSUM_X\()g(N,)i(X,)g(INCX,)f(PREC)h(\))514
617 y(INTEGER)570 b(INCX,)47 b(N,)g(PREC)514 730 y(<type>)618
b(X\()48 b(*)f(\))227 955 y FK(The)30 b(t)m(yp)s(es)h(of)f
FD(BLAS)p 956 955 29 4 v 33 w(xSUM)p 1181 955 V 34 w(X)g
FK(and)f(argumen)m(t)i FD(X)f FK(are)h(b)s(oth)f(sp)s(eci\014ed)e(b)m
(y)j(the)f(pre\014x)f FD(x)p FK(.)136 1142 y FJ(\017)46
b FK(C)30 b(binding:)227 1367 y FD(void)47 b(BLAS_xsum_x\()d(int)j(n,)g
(const)g(ARRAY)f(x,)h(int)g(incx,)g(SCALAR_INOUT)d(sum,)1086
1480 y(enum)j(blas_prec_type)d(prec)j(\);)227 1705 y
FK(The)30 b(t)m(yp)s(es)h(of)f(argumen)m(ts)h FD(sum)e
FK(and)h FD(x)g FK(are)h(b)s(oth)e(sp)s(eci\014ed)g(b)m(y)h(the)h
(pre\014x)e FD(x)p FK(.)p 0 1918 3900 6 v 0 2161 a Fx(4.5.3)97
b(Mixed)32 b(and)g(Extended)i(Precision)f(V)m(ecto)m(r)i(Op)s(erations)
0 2333 y FK(AXPBY)c(\(Scaled)f(v)m(ector)i(accum)m(ulation\))1870
b Fy(y)28 b FJ( )d Fy(\013x)c FK(+)f Fy(\014)5 b(y)141
2559 y FK(The)31 b(routine)f Fv(AXPBY)g FK(scales)h(the)h(v)m(ector)h
Fy(x)e FK(b)m(y)g Fy(\013)h FK(and)f(the)g(v)m(ector)i
Fy(y)h FK(b)m(y)d Fy(\014)5 b FK(,)32 b(adds)f(these)h(t)m(w)m(o)g(v)m
(ectors)h(to)0 2672 y(one)e(another)f(and)g(stores)h(the)g(result)e(in)
g(the)i(v)m(ector)h Fy(y)s FK(.)41 b(If)29 b Fv(n)i FK(is)e(less)h
(than)g(or)h(equal)f(to)h(zero,)g(or)g(if)e Fy(\013)i
FK(is)e(equal)0 2785 y(to)k(zero)g(and)e Fy(\014)38 b
FK(is)31 b(equal)g(to)i(one,)g(this)e(routine)g(returns)g(immediately)
-8 b(.)45 b(As)32 b(describ)s(ed)e(in)h(section)h(2.5.3,)j(the)0
2897 y(v)-5 b(alue)35 b Fv(incx)g FK(or)h Fv(incy)f FK(less)g(than)g
(zero)h(is)e(p)s(ermitted.)55 b(Ho)m(w)m(ev)m(er,)39
b(if)34 b(either)h Fv(incx)g FK(or)h Fv(incy)f FK(is)f(equal)h(to)h
(zero,)i(an)0 3010 y(error)30 b(\015ag)h(is)e(set)i(and)f(passed)g(to)h
(the)f(error)g(handler.)141 3123 y(Extended)g(and)g(mixed)f(precision)f
(are)j(p)s(ermitted.)141 3236 y(This)36 b(routine)h(has)h(the)g(same)g
(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h
(extended)f(precision)e(and)0 3349 y(mixed)29 b(precision)g(are)i(p)s
(ermitted.)136 3562 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 3811 y FD(SUBROUTINE)45 b(axpby\()h(x,)h(y)g([,)h
(alpha])e([,)h(beta])f([,)h(prec])g(\))609 3924 y(<type>\(<wp>\),)d
(INTENT)i(\(IN\))h(::)g(x\(:\))609 4037 y(<type>\(<wp>\),)d(INTENT)i
(\(INOUT\))g(::)h(y\(:\))609 4150 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)
h(OPTIONAL)e(::)i(alpha,)g(beta)609 4263 y(TYPE)g(\(blas_prec_type\),)c
(INTENT)j(\(IN\),)g(OPTIONAL)g(::)h(prec)514 4376 y(where)609
4489 y(x)h(and)e(y)i(have)f(shape)f(\(n\))227 4739 y
FK(The)30 b(default)g(v)-5 b(alue)30 b(for)g Fy(\014)35
b FK(is)30 b(1.0)h(and)f(\(1.0,0.0\).)227 4889 y(The)36
b(t)m(yp)s(es)g(of)g FD(x)p FK(,)h FD(y)p FK(,)g FD(alpha)p
FK(,)f(and)f FD(beta)g FK(are)h(go)m(v)m(erned)h(according)f(to)h(the)f
(rules)e(of)i(mixed)f(precision)227 5002 y(argumen)m(ts)i(set)g(do)m
(wn)g(in)e(section)i(4.3:)54 b(the)37 b(t)m(yp)s(e)g(of)f
FD(x)h FK(can)g(optionally)e(di\013er)g(from)h(that)h(of)g
FD(alpha)p FK(,)227 5115 y FD(beta)29 b FK(and)h FD(y)p
FK(.)136 5303 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 146 156
146 155 bop 0 -165 a FK(146)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)514 91
y FD(SUBROUTINE)45 b(BLAS_xAXPBY{_a}{_X}\()d(N,)47 b(ALPHA,)f(X,)h
(INCX,)g(BETA,)f(Y,)h(INCY)1993 204 y([,)g(PREC])g(\))514
317 y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)i([,)f(PREC])514
430 y(<type>)618 b(ALPHA,)47 b(BETA)514 543 y(<type>)618
b(X\()48 b(*)f(\))514 656 y(<type>)618 b(Y\()48 b(*)f(\))227
850 y FK(The)36 b(t)m(yp)s(es)g(of)g FD(ALPHA)p FK(,)f
FD(X)p FK(,)h FD(Y)p FK(,)g(and)g FD(BETA)f FK(are)h(go)m(v)m(erned)i
(according)e(to)h(the)f(rules)f(of)h(mixed)f(precision)227
963 y(argumen)m(ts)d(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 1076 y(but)37
b(if)p 497 1076 29 4 v 70 w FD(a)g FK(is)g(presen)m(t)g(then)p
1251 1076 V 71 w FD(a)g FK(is)f(the)i(t)m(yp)s(e)f(of)h
FD(X)p FK(.)f(The)f(su\016x)p 2505 1076 V 71 w FD(X)h
FK(is)f(presen)m(t)h(if)g(and)f(only)h(if)f FD(PREC)g
FK(is)227 1189 y(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)h(the)f
(su\016xes)p 1679 1189 V 64 w FD(a)g FK(and)p 1969 1189
V 64 w FD(X)g FK(m)m(ust)h(b)s(e)e(presen)m(t.)136 1366
y FJ(\017)46 b FK(C)30 b(binding:)227 1560 y FD(void)47
b(BLAS_xaxpby{_a}{_x}\()42 b(int)47 b(n,)g(SCALAR_IN)f(alpha,)g(const)g
(ARRAY)g(x,)i(int)e(incx,)1468 1673 y(SCALAR_IN)f(beta,)i(ARRAY)f(y,)h
(int)g(incy,)1468 1786 y([,)g(enum)g(blas_prec_type)d(prec])i(\);)227
1980 y FK(The)36 b(t)m(yp)s(es)g(of)g FD(alpha)p FK(,)g
FD(x)p FK(,)h FD(y)p FK(,)g(and)e FD(beta)g FK(are)h(go)m(v)m(erned)h
(according)f(to)h(the)f(rules)e(of)i(mixed)f(precision)227
2093 y(argumen)m(ts)d(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 2206 y(but)h(if)p
487 2206 V 66 w FD(a)g FK(is)f(presen)m(t)i(then)p 1222
2206 V 66 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)f(argumen)m(t)h
FD(x)p FK(.)47 b(The)32 b(su\016x)p 2861 2206 V 65 w
FD(x)g FK(is)g(presen)m(t)g(if)g(and)f(only)h(if)227
2319 y FD(prec)d FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g
(the)h(su\016xes)p 1992 2319 V 64 w FD(a)f FK(and)p 2281
2319 V 64 w FD(x)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)p
0 2500 3900 6 v 0 2613 a(W)-10 b(AXPBY)31 b(\(Scaled)g(v)m(ector)h
(addition\))1964 b Fy(w)28 b FJ( )d Fy(\013x)c FK(+)f
Fy(\014)5 b(y)141 2839 y FK(The)33 b(routine)f Fv(W)-8
b(AXPBY)32 b FK(scales)h(the)h(v)m(ector)g Fy(x)f FK(b)m(y)g
Fy(\013)h FK(and)f(the)g(v)m(ector)i Fy(y)h FK(b)m(y)d
Fy(\014)5 b FK(,)34 b(adds)e(these)i(t)m(w)m(o)g(v)m(ectors)0
2952 y(to)d(one)f(another)h(and)e(stores)i(the)f(result)f(in)g(the)h(v)
m(ector)i Fy(w)r FK(.)41 b(If)30 b Fv(n)g FK(is)f(less)g(than)h(or)g
(equal)g(to)h(zero,)g(this)e(routine)0 3065 y(returns)i(immediately)-8
b(.)46 b(As)32 b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)d(v)-5
b(alue)32 b Fv(incx)h FK(or)f Fv(incy)h FK(or)f Fv(incw)h
FK(less)e(than)i(zero)g(is)0 3178 y(p)s(ermitted.)39
b(Ho)m(w)m(ev)m(er,)31 b(if)c(either)h Fv(incx)g FK(or)h
Fv(incy)f FK(or)g Fv(incw)h FK(is)e(equal)h(to)h(zero,)h(an)e(error)g
(\015ag)h(is)f(set)h(and)e(passed)h(to)0 3291 y(the)j(error)f(handler.)
141 3404 y(Extended)g(and)g(mixed)f(precision)f(are)j(p)s(ermitted.)141
3517 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s(eci\014cation)e(as)i
(in)f(Chapter)g(2,)k(except)d(that)h(extended)f(precision)e(and)0
3629 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)136
3811 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4025 y FD(SUBROUTINE)45 b(waxpby\()g(x,)j(y,)f(w)g([,)g(alpha])g([,)g
(beta])f([,)h(prec])g(\))609 4138 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h
(::)g(x\(:\))609 4251 y(<type>\(<wp>\),)d(INTENT)i(\(IN\))h(::)g
(y\(:\))609 4364 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(w\(:\))609
4477 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g
(beta)609 4589 y(TYPE)g(\(blas_prec_type\),)c(INTENT)j(\(IN\),)g
(OPTIONAL)g(::)h(prec)514 4702 y(where)609 4815 y(x,)g(y)h(and)f(w)g
(have)g(shape)f(\(n\))227 5029 y FK(The)30 b(default)g(v)-5
b(alue)30 b(for)g Fy(\014)35 b FK(is)30 b(1.0)h(and)f(\(1.0,0.0\).)227
5174 y(The)h(t)m(yp)s(es)g(of)g FD(x)p FK(,)h FD(y)p
FK(,)f FD(w)p FK(,)g FD(alpha)f FK(and)g FD(beta)g FK(are)i(go)m(v)m
(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
5287 y(argumen)m(ts)h(set)h(do)m(wn)e(in)f(section)i(4.3:)43
b(the)31 b(t)m(yp)s(es)f(of)h FD(x)g FK(and)f FD(y)g
FK(can)h(optionally)e(di\013er)h(from)g(that)h(of)g FD(w)p
FK(,)227 5400 y FD(alpha)e FK(and)h FD(beta)p FK(.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 147 157
147 156 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(147)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
316 y FD(SUBROUTINE)45 b(BLAS_xWAXPBY{_a_b}{_X}\()c(N,)47
b(ALPHA,)f(X,)i(INCX,)e(BETA,)g(Y,)h(INCY,)466 428 y($)1670
b(W,)47 b(INCW)g([,)g(PREC])f(\))514 541 y(INTEGER)570
b(INCW,)47 b(INCX,)f(INCY,)h(N)g([,)g(PREC])514 654 y(<type>)618
b(ALPHA,)47 b(BETA)514 767 y(<type>)618 b(W\()48 b(*)f(\))514
880 y(<type>)618 b(X\()48 b(*)f(\))514 993 y(<type>)618
b(Y\()48 b(*)f(\))227 1217 y FK(The)31 b(t)m(yp)s(es)g(of)h
FD(X)p FK(,)f FD(Y)p FK(,)g FD(W)p FK(,)g FD(ALPHA)f
FK(and)g FD(BETA)g FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g
(rules)d(of)j(mixed)e(precision)227 1330 y(argumen)m(ts)i(set)g(do)m
(wn)f(in)f(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g
FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f
(argumen)m(ts,)227 1443 y(but)f(if)p 483 1443 29 4 v
64 w FD(a)p 566 1443 V 34 w(b)g FK(is)f(presen)m(t)i(then)p
1293 1443 V 64 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g
FD(X)f FK(and)p 2216 1443 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(Y)p FK(.)h(The)f(su\016x)p 3416 1443 V 63 w FD(X)g
FK(is)g(presen)m(t)227 1556 y(if)g(and)f(only)h(if)f
FD(PREC)g FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h
(su\016xes)p 2535 1556 V 64 w FD(a)p 2618 1556 V 34 w(b)f
FK(and)p 2906 1556 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
1743 y FJ(\017)46 b FK(C)30 b(binding:)227 1968 y FD(void)47
b(BLAS_xwaxpby{_a_b}{_x}\()41 b(int)47 b(n,)g(SCALAR_IN)f(alpha,)g
(const)g(ARRAY)h(x,)g(int)g(incx,)1611 2081 y(SCALAR_IN)f(beta,)g
(const)g(ARRAY)h(y,)g(int)g(incy,)f(ARRAY)h(w,)1611 2193
y(int)g(incw)g([,)g(enum)g(blas_prec_type)d(prec])i(\);)227
2418 y FK(The)31 b(t)m(yp)s(es)g(of)g FD(x)p FK(,)h FD(y)p
FK(,)f FD(w)p FK(,)g FD(alpha)f FK(and)g FD(beta)g FK(are)i(go)m(v)m
(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
2531 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 2644 y(but)c(if)p
477 2644 V 61 w FD(a)p 560 2644 V 34 w(b)g FK(is)f(presen)m(t)h(then)p
1274 2644 V 62 w FD(a)g FK(is)f(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)f
FD(x)g FK(and)p 2580 2644 V 61 w FD(b)g FK(is)g(the)g(t)m(yp)s(e)h(of)f
(argumen)m(t)h FD(y)p FK(.)39 b(The)227 2756 y(su\016x)p
470 2756 V 60 w FD(x)27 b FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)f
FD(prec)h FK(is)g(presen)m(t.)40 b(One)26 b(or)h(b)s(oth)f(of)h(the)g
(su\016xes)p 3238 2756 V 60 w FD(a)p 3320 2756 V 34 w(b)g
FK(and)p 3602 2756 V 61 w FD(x)f FK(m)m(ust)227 2869
y(b)s(e)k(presen)m(t.)p 0 3081 3900 6 v 0 3324 a Fx(4.5.4)97
b(Mixed)32 b(and)g(Extended)i(Precision)f(Matrix-V)m(ecto)m(r)h(Op)s
(erations)0 3496 y FJ(f)p FK(GE,GB)p FJ(g)p FK(MV)f(\(Matrix)e(v)m
(ector)h(pro)s(duct\))305 b Fy(y)28 b FJ( )e Fy(\013Ax)20
b FK(+)g Fy(\014)5 b(y)s FK(,)31 b Fy(y)d FJ( )d Fy(\013A)2785
3463 y Fw(T)2841 3496 y Fy(x)20 b FK(+)g Fy(\014)5 b(y)33
b FK(or)e Fy(y)d FJ( )d Fy(\013A)3565 3463 y Fw(H)3633
3496 y Fy(x)20 b FK(+)g Fy(\014)5 b(y)141 3722 y FK(The)33
b(routines)e(m)m(ultiply)f(a)k(v)m(ector)g Fy(x)f FK(b)m(y)g(a)g
(general)g(\(or)g(general)g(band\))f(matrix)h Fy(A)g
FK(or)f(its)h(transp)s(ose,)g(or)0 3835 y(its)g(conjugate)i(transp)s
(ose,)f(scales)f(the)h(resulting)d(v)m(ector)k(and)e(adds)g(it)g(to)h
(the)g(scaled)f(v)m(ector)i(op)s(erand)e Fy(y)s FK(.)49
b(If)0 3948 y Fv(m)29 b FK(or)f Fv(n)g FK(is)g(less)f(than)h(or)h
(equal)f(to)h(zero)g(or)f(if)g Fv(b)s(eta)f FK(is)h(equal)g(to)h(one)f
(and)g Fv(alpha)f FK(is)h(equal)g(to)h(zero,)h(this)d(routine)0
4061 y(returns)c(immediately)-8 b(.)37 b(As)24 b(describ)s(ed)f(in)f
(section)j(2.5.3,)i(the)e(v)-5 b(alue)23 b Fv(incx)h
FK(or)g Fv(incy)h FK(less)e(than)h(zero)h(is)e(p)s(ermitted.)0
4174 y(Ho)m(w)m(ev)m(er,)33 b(if)c(either)h Fv(incx)g
FK(or)g Fv(incy)h FK(is)e(equal)h(to)h(zero,)g(an)g(error)e(\015ag)i
(is)f(set)g(and)g(passed)g(to)h(the)g(error)f(handler.)0
4286 y(F)-8 b(or)28 b(the)g(routine)f Fv(GEMV)p FK(,)g(if)g
Fv(lda)g FK(is)f(less)h(than)h(one)g(or)f Fv(lda)g FK(is)g(less)g(than)
g Fv(m)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)0
4399 y(the)32 b(error)g(handler.)43 b(F)-8 b(or)33 b(the)f(routine)f
Fv(GBMV)p FK(,)f(if)h Fv(kl)h FK(or)g Fv(ku)h FK(is)e(less)g(than)h
(zero,)h(or)f(if)f Fv(lda)g FK(is)g(less)g(than)h Fv(kl)g
FK(plus)0 4512 y Fv(ku)f FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)141
4625 y(Extended)g(and)g(mixed)f(precision)f(are)j(p)s(ermitted.)141
4738 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s(eci\014cation)e(as)i
(in)f(Chapter)g(2,)k(except)d(that)h(extended)f(precision)e(and)0
4851 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)136
5063 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
5287 y FD(SUBROUTINE)45 b(gbmv\()i(a,)g(m,)g(kl,)g(x,)g(y)g([,)h
(trans])e([,)h(alpha])f([,)h(beta])g([,)g(prec])f(\))514
5400 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(a\(:,:\),)f(x\(:\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 148 158
148 157 bop 0 -165 a FK(148)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)514 91
y FD(INTEGER,)45 b(INTENT\(IN\))g(::)i(m,)h(kl)514 204
y(<type>\(<wp>\),)c(INTENT\(INOUT\))g(::)j(y\(:\))514
317 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j
(trans)514 430 y(<type>\(<wp>\),)c(INTENT\(IN\),)h(OPTIONAL)g(::)i
(alpha,)f(beta)514 543 y(TYPE)g(\(blas_prec_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(prec)418 656 y(where)514 769 y(if)g(trans)f(=)i
(blas_no_trans)c(then)657 882 y(x)j(has)g(shape)g(\(n\))657
995 y(y)g(has)g(shape)g(\(m\))514 1108 y(else)f(if)h(trans)g(=/)g
(blas_no_trans)d(then)657 1220 y(x)j(has)g(shape)g(\(m\))657
1333 y(y)g(has)g(shape)g(\(n\))514 1446 y(end)g(if)227
1665 y FK(The)30 b(functionalit)m(y)f(of)i Fv(gemv)g
FK(is)e(co)m(v)m(ered)j(b)m(y)e Fv(gemm)p FK(.)136 1850
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
2068 y FD(General:)514 2181 y(SUBROUTINE)45 b(BLAS_xGEMV{_a_b}{_X}\()d
(TRANS,)k(M,)h(N,)g(ALPHA,)f(A,)h(LDA,)466 2294 y($)1575
b(X,)47 b(INCX,)f(BETA,)h(Y,)g(INCY)f([,)i(PREC])e(\))227
2407 y(General)g(Band:)514 2520 y(SUBROUTINE)f(BLAS_xGBMV{_a_b}{_X}\()d
(TRANS,)k(M,)h(N,)g(KL,)g(KU,)g(ALPHA,)f(A,)466 2633
y($)1575 b(LDA,)46 b(X,)h(INCX,)g(BETA,)f(Y,)h(INCY)g([,)g(PREC])g(\))
227 2746 y(all:)514 2859 y(INTEGER)570 b(INCX,)47 b(INCY,)f(KL,)h(KU,)g
(LDA,)g(M,)g(N,)g([PREC,])f(TRANS)514 2971 y(<type>)618
b(ALPHA,)47 b(BETA)514 3084 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))514
3197 y(<type>)618 b(X\()48 b(*)f(\))514 3310 y(<type>)618
b(Y\()48 b(*)f(\))227 3528 y FK(The)29 b(t)m(yp)s(es)h(of)g
FD(ALPHA)p FK(,)f FD(A)p FK(,)g FD(X)p FK(,)h FD(Y)p
FK(,)f(and)h FD(BETA)e FK(are)i(go)m(v)m(erned)h(according)f(to)g(the)g
(rules)e(of)i(mixed)f(precision)227 3641 y(argumen)m(ts)j(set)g(do)m
(wn)f(in)f(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g
FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f
(argumen)m(ts,)227 3754 y(but)f(if)p 483 3754 29 4 v
64 w FD(a)p 566 3754 V 34 w(b)g FK(is)f(presen)m(t)i(then)p
1293 3754 V 64 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g
FD(A)f FK(and)p 2216 3754 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(X)p FK(.)h(The)f(su\016x)p 3416 3754 V 63 w FD(X)g
FK(is)g(presen)m(t)227 3867 y(if)g(and)f(only)h(if)f
FD(PREC)g FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h
(su\016xes)p 2535 3867 V 64 w FD(a)p 2618 3867 V 34 w(b)f
FK(and)p 2906 3867 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
4053 y FJ(\017)46 b FK(C)30 b(binding:)227 4271 y FD(General:)227
4384 y(void)47 b(BLAS_xgemv{_a_b}{_x}\()42 b(enum)47
b(blas_order_type)c(order,)1516 4497 y(enum)k(blas_trans_type)c(trans,)
j(int)h(m,)g(int)g(n,)1516 4610 y(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f
(a,)h(int)g(lda,)1516 4723 y(const)f(ARRAY)h(x,)g(int)g(incx,)f
(SCALAR_IN)f(beta,)i(ARRAY)f(y,)1516 4835 y(int)h(incy)f([,)i(enum)e
(blas_prec_type)e(prec])j(\);)227 4948 y(General)f(Band:)227
5061 y(void)h(BLAS_xgbmv{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c
(order,)1516 5174 y(enum)k(blas_trans_type)c(trans,)j(int)h(m,)g(int)g
(n,)1516 5287 y(int)g(kl,)g(int)g(ku,)g(SCALAR_IN)e(alpha,)1516
5400 y(const)h(ARRAY)h(a,)g(int)g(lda,)f(const)h(ARRAY)f(x,)h(int)g
(incx,)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 149 159
149 158 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(149)1516 91 y FD(SCALAR_IN)45 b(beta,)i(ARRAY)f(y,)h(int)g(incy)
1516 204 y([,)g(enum)g(blas_prec_type)d(prec])i(\);)227
429 y FK(The)31 b(t)m(yp)s(es)g(of)g FD(alpha)p FK(,)g
FD(a)p FK(,)g FD(x)p FK(,)g FD(y)g FK(and)f FD(beta)g
FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e
(precision)227 542 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i
(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s
(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
655 y(but)c(if)p 477 655 29 4 v 61 w FD(a)p 560 655 V
34 w(b)g FK(is)f(presen)m(t)h(then)p 1274 655 V 62 w
FD(a)g FK(is)f(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)f
FD(a)g FK(and)p 2580 655 V 61 w FD(b)g FK(is)g(the)g(t)m(yp)s(e)h(of)f
(argumen)m(t)h FD(x)p FK(.)39 b(The)227 768 y(su\016x)p
470 768 V 60 w FD(x)27 b FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)f
FD(prec)h FK(is)g(presen)m(t.)40 b(One)26 b(or)h(b)s(oth)f(of)h(the)g
(su\016xes)p 3238 768 V 60 w FD(a)p 3320 768 V 34 w(b)g
FK(and)p 3602 768 V 61 w FD(x)f FK(m)m(ust)227 881 y(b)s(e)k(presen)m
(t.)p 0 1093 3900 6 v 0 1206 a FJ(f)p FK(SY,SB,SP)p FJ(g)p
FK(MV)h(\(Symmetric)f(matrix)g(v)m(ector)i(m)m(ultiply\))665
b Fy(y)28 b FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5 b(y)33
b FK(with)c Fy(A)d FK(=)f Fy(A)3845 1173 y Fw(T)141 1432
y FK(The)j(routines)f(m)m(ultiply)e(a)k(v)m(ector)h Fy(x)e
FK(b)m(y)g(a)g(real)g(or)g(complex)g(symmetric)g(matrix)f
Fy(A)p FK(,)i(scales)f(the)h(resulting)0 1545 y(v)m(ector)36
b(and)d(adds)h(it)g(to)h(the)f(scaled)g(v)m(ector)i(op)s(erand)d
Fy(y)s FK(.)52 b(If)34 b Fv(n)68 b FK(is)33 b(less)h(than)g(or)g(equal)
g(to)h(zero)g(or)f(if)f Fv(b)s(eta)h FK(is)0 1658 y(equal)e(to)i(one)f
(and)g Fv(alpha)e FK(is)h(equal)h(to)g(zero,)i(this)d(routine)g
(returns)f(immediately)-8 b(.)47 b(As)33 b(describ)s(ed)e(in)h(section)
0 1771 y(2.5.3,)j(the)e(v)-5 b(alue)33 b Fv(incx)g FK(or)f
Fv(incy)h FK(less)f(than)h(zero)g(is)f(p)s(ermitted.)47
b(Ho)m(w)m(ev)m(er,)36 b(if)31 b(either)i Fv(incx)f FK(or)h
Fv(incy)g FK(is)f(equal)g(to)0 1884 y(zero,)f(an)g(error)f(\015ag)h(is)
e(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)39
b(F)-8 b(or)31 b(the)g(routine)e Fv(SYMV)p FK(,)g(if)g
Fv(lda)h FK(is)f(less)h(than)0 1997 y(one)d(or)f Fv(lda)g
FK(is)g(less)f(than)i Fv(n)p FK(,)g(an)f(error)g(\015ag)h(is)f(set)h
(and)f(passed)g(to)h(the)f(error)h(handler.)37 b(F)-8
b(or)27 b(the)g(routine)e Fv(SBMV)p FK(,)0 2110 y(if)k
Fv(lda)h FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(an)g(error)f
(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g(error)f(handler.)141
2222 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 2335 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 2448 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
136 2661 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
2886 y FD(Symmetric)46 b(Band:)418 2999 y(SUBROUTINE)f(sbmv\()i(a,)g
(x,)g(y)g([,)h(uplo])e([,)h(alpha])f([,)h(beta])g([,)g(prec])f(\))227
3112 y(Symmetric)g(Packed:)418 3225 y(SUBROUTINE)f(spmv\()i(ap,)f(x,)i
(y)f([,)g(uplo])g([,)g(alpha])f([,)h(beta])f([,)i(prec])e(\))514
3337 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(<aa>)514
3450 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\))514
3563 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(y\(:\))514
3676 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 3789 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)i
(alpha,)f(beta)514 3902 y(TYPE)g(\(blas_prec_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(prec)418 4015 y(where)514 4128 y(<aa>)f(::=)h
(a\(:,:\))f(or)h(ap\(:\))418 4241 y(and)514 4354 y(SB)95
b(a)47 b(has)g(shape)f(\(k+1,n\))514 4467 y(SP)95 b(ap)47
b(has)g(shape)f(\(n*\(n+1\)/2\))514 4579 y(x)h(and)g(y)g(have)g(shape)f
(\(n\))227 4804 y FK(The)38 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)h FD(a)f FK(or)g FD(ap)p FK(,)h FD(x)p FK(,)h FD(beta)p
FK(,)f(and)f FD(y)f FK(are)i(go)m(v)m(erned)g(b)m(y)f(the)g(rules)f(of)
h(mixed)f(precision)227 4917 y(argumen)m(ts)30 b(set)f(do)m(wn)g(in)e
(section)j(4.3:)41 b(the)29 b(t)m(yp)s(es)g(of)g FD(a)g
FK(or)g FD(ap)f FK(and)h FD(x)f FK(can)i(optionally)d(di\013er)h(from)g
(that)227 5030 y(of)j FD(y)p FK(,)f FD(alpha)f FK(and)h
FD(beta)p FK(.)227 5181 y(The)g(functionalit)m(y)f(of)i
Fv(symv)f FK(is)f(co)m(v)m(ered)j(b)m(y)e Fv(symm)p FK(.)136
5368 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 150 160
150 159 bop 0 -165 a FK(150)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FD(Symmetric:)514 204 y(SUBROUTINE)45 b(BLAS_xSYMV{_a_b}{_X}\()d
(UPLO,)k(N,)h(ALPHA,)f(A,)h(LDA,)g(X,)g(INCX,)466 317
y($)1575 b(BETA,)46 b(Y,)h(INCY)g([,)g(PREC])f(\))227
430 y(Symmetric)g(Band:)514 543 y(SUBROUTINE)f(BLAS_xSBMV{_a_b}{_X}\()d
(UPLO,)k(N,)h(K,)g(ALPHA,)f(A,)i(LDA,)e(X,)h(INCX,)466
656 y($)1575 b(BETA,)46 b(Y,)h(INCY)g([,)g(PREC])f(\))227
769 y(Symmetric)g(Packed:)514 882 y(SUBROUTINE)f
(BLAS_xSPMV{_a_b}{_X}\()d(UPLO,)k(N,)h(ALPHA,)f(AP,)h(X,)g(INCX,)g
(BETA,)466 995 y($)1575 b(Y,)47 b(INCY)f([,)i(PREC])e(\))227
1108 y(all:)514 1220 y(INTEGER)570 b(INCX,)47 b(INCY,)f(K,)h(LDA,)g(N,)
g(UPLO)g([,)g(PREC])514 1333 y(<type>)618 b(ALPHA,)47
b(BETA)514 1446 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h
(\))514 1559 y(<type>)618 b(X\()48 b(*)f(\))514 1672
y(<type>)618 b(Y\()48 b(*)f(\))227 1884 y FK(The)39 b(t)m(yp)s(es)g(of)
g FD(ALPHA)p FK(,)f FD(A)h FK(or)g FD(AP)p FK(,)f FD(X)p
FK(,)h FD(Y)g FK(and)g FD(BETA)e FK(are)j(go)m(v)m(erned)g(according)f
(to)h(the)f(rules)f(of)h(mixed)227 1997 y(precision)c(argumen)m(ts)i
(set)g(do)m(wn)f(in)f(section)h(4.3.)60 b(The)36 b(pre\014x)g
FD(x)g FK(is)f(the)i(\015oating)f(p)s(oin)m(t)g(t)m(yp)s(e)g(of)h(the)
227 2110 y(argumen)m(ts,)c(but)e(if)p 956 2110 29 4 v
65 w FD(a)p 1038 2110 V 34 w(b)h FK(is)f(presen)m(t)g(then)p
1771 2110 V 66 w FD(a)h FK(is)e(the)i(t)m(yp)s(e)g(of)g
FD(A)g FK(or)g FD(AP)p FK(,)f(and)p 2969 2110 V 66 w
FD(b)g FK(is)g(the)h(t)m(yp)s(e)g(of)g FD(X)p FK(.)f(The)227
2223 y(su\016x)p 470 2223 V 60 w FD(X)c FK(is)f(presen)m(t)h(if)f(and)g
(only)g(if)f FD(PREC)h FK(is)g(presen)m(t.)40 b(One)26
b(or)h(b)s(oth)f(of)h(the)g(su\016xes)p 3238 2223 V 60
w FD(a)p 3320 2223 V 34 w(b)g FK(and)p 3602 2223 V 61
w FD(X)f FK(m)m(ust)227 2336 y(b)s(e)k(presen)m(t.)136
2519 y FJ(\017)46 b FK(C)30 b(binding:)227 2731 y FD(Symmetric:)227
2844 y(void)47 b(BLAS_xsymv{_a_b}{_x}\()42 b(enum)47
b(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1516
2956 y(int)j(n,)g(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(a,)h(int)g(lda,)
1516 3069 y(const)f(ARRAY)h(x,)g(int)g(incx,)f(SCALAR_IN)f(beta,)i
(ARRAY)f(y,)1516 3182 y(int)h(incy)f([,)i(enum)e(blas_prec_type)e
(prec])j(\);)227 3295 y(Symmetric)f(Band:)227 3408 y(void)h
(BLAS_xsbmv{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c(order,)j(enum)
h(blas_uplo_type)d(uplo,)1516 3521 y(int)j(n,)g(int)g(k,)g(SCALAR_IN)e
(alpha,)h(const)h(ARRAY)f(a,)1516 3634 y(int)h(lda,)f(const)h(ARRAY)f
(x,)h(int)g(incx,)g(SCALAR_IN)e(beta,)1516 3747 y(ARRAY)h(y,)h(int)g
(incy)g([,)g(enum)g(blas_prec_type)d(prec])i(\);)227
3860 y(Symmetric)g(Packed:)227 3973 y(void)h(BLAS_xspmv{_a_b}{_x}\()42
b(enum)47 b(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)
1516 4086 y(int)j(n,)g(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(ap,)1516
4198 y(const)g(ARRAY)h(x,)g(int)g(incx,)f(SCALAR_IN)f(beta,)i(ARRAY)f
(y,)1516 4311 y(int)h(incy)f([,)i(enum)e(blas_prec_type)e(prec])j(\);)
227 4523 y FK(The)37 b(t)m(yp)s(es)g(of)h FD(alpha)p
FK(,)g FD(a)f FK(or)g FD(ap)p FK(,)h FD(x)p FK(,)h FD(y)p
FK(,)g(and)e FD(beta)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g
(rules)e(of)h(mixed)227 4636 y(precision)e(argumen)m(ts)i(set)g(do)m
(wn)f(in)f(section)h(4.3.)60 b(The)36 b(pre\014x)g FD(x)g
FK(is)f(the)i(\015oating)f(p)s(oin)m(t)g(t)m(yp)s(e)g(of)h(the)227
4749 y(argumen)m(ts,)29 b(but)e(if)p 943 4749 V 60 w
FD(a)p 1025 4749 V 35 w(b)g FK(is)f(presen)m(t)i(then)p
1741 4749 V 61 w FD(a)g FK(is)e(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)g
FD(a)f FK(or)h FD(ap)e FK(and)p 3279 4749 V 62 w FD(b)h
FK(is)f(the)i(t)m(yp)s(e)g(of)227 4862 y(argumen)m(t)f
FD(x)p FK(.)39 b(The)27 b(su\016x)p 1168 4862 V 60 w
FD(x)f FK(is)f(presen)m(t)i(if)f(and)g(only)f(if)h FD(prec)f
FK(is)h(presen)m(t.)39 b(One)27 b(or)f(b)s(oth)g(of)h(the)g(su\016xes)p
227 4975 V 256 4975 a FD(a)p 310 4975 V 34 w(b)j FK(and)p
599 4975 V 64 w FD(x)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)p
0 5174 3900 6 v 0 5287 a FJ(f)p FK(HE,HB,HP)p FJ(g)p
FK(MV)j(\(Hermitian)c(matrix)h(v)m(ector)i(pro)s(duct\))656
b Fy(y)28 b FJ( )d Fy(\013Ax)c FK(+)f Fy(\014)5 b(y)33
b FK(with)c Fy(A)d FK(=)f Fy(A)3833 5254 y Fw(H)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 151 161
151 160 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(151)141 91 y(The)27 b(routines)g(m)m(ultiply)e(a)j(v)m(ector)h
Fy(x)f FK(b)m(y)f(a)i(Hermitian)d(matrix)h Fy(A)p FK(,)i(scales)f(the)f
(resulting)f(v)m(ector)k(and)d(adds)0 204 y(it)d(to)h(the)g(scaled)f(v)
m(ector)i(op)s(erand)d Fy(y)s FK(.)39 b(If)24 b Fv(n)g
FK(is)g(less)f(than)i(or)f(equal)g(to)h(zero)g(or)g(if)e
Fv(b)s(eta)h FK(is)f(equal)h(to)h(one)g(and)f Fv(alpha)0
317 y FK(is)35 b(equal)g(to)h(zero,)i(this)d(routine)f(returns)h
(immediately)-8 b(.)55 b(The)35 b(imaginary)f(part)i(of)g(the)f
(diagonal)g(en)m(tries)h(of)0 430 y(the)30 b(matrix)f(op)s(erand)g(are)
h(supp)s(osed)e(to)i(b)s(e)g(zero)g(and)f(should)f(not)i(b)s(e)f
(referenced.)41 b(As)30 b(describ)s(ed)d(in)i(section)0
543 y(2.5.3,)35 b(the)e(v)-5 b(alue)33 b Fv(incx)g FK(or)f
Fv(incy)h FK(less)f(than)h(zero)g(is)f(p)s(ermitted.)47
b(Ho)m(w)m(ev)m(er,)36 b(if)31 b(either)i Fv(incx)f FK(or)h
Fv(incy)g FK(is)f(equal)g(to)0 656 y(zero,)f(an)f(error)g(\015ag)g(is)f
(set)i(and)e(passed)h(to)h(the)f(error)f(handler.)39
b(F)-8 b(or)31 b(the)f(routine)f Fv(HEMV)p FK(,)h(if)f
Fv(lda)h FK(is)f(less)g(than)0 769 y(one)d(or)g Fv(lda)f
FK(is)g(less)g(than)g Fv(n)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i
(and)e(passed)g(to)i(the)f(error)f(handler.)37 b(F)-8
b(or)27 b(the)f(routine)f Fv(HBMV)p FK(,)0 882 y(if)k
Fv(lda)h FK(is)f(less)h(than)g Fv(k)h FK(plus)d(one,)j(an)g(error)f
(\015ag)g(is)g(set)h(and)e(passed)h(to)h(the)g(error)f(handler.)141
995 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 1108 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 1220 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
136 1433 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
1658 y FD(Hermitian)46 b(Band:)418 1771 y(SUBROUTINE)f(hbmv{_a}{_x}\()f
(a,)k(x,)f(y)95 b([,)47 b(uplo])f([,)i(alpha])e([,)h(beta])f([,)h
(prec])g(\))227 1884 y(Hermitian)f(Packed:)418 1997 y(SUBROUTINE)f
(hpmv{_a}{_x}\()f(ap,)j(x,)g(y)h([,)f(uplo])f([,)i(alpha])e([,)h(beta])
f([,)h(prec])g(\))514 2110 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i
(<aa>)514 2222 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(x\(:\))514
2335 y(COMPLEX\(<wp>\),)d(INTENT\(INOUT\))g(::)j(y\(:\))514
2448 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 2561 y(COMPLEX\(<wp>\),)d(INTENT\(IN\),)g(OPTIONAL)i(::)h
(alpha,)f(beta)514 2674 y(TYPE)g(\(blas_prec_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(prec)418 2787 y(where)514 2900 y(<aa>)94
b(::=)47 b(a\(:,:\))f(or)h(ap\(:\))418 3013 y(and)514
3126 y(HB)95 b(a)47 b(has)g(shape)f(\(k+1,n\))514 3239
y(HP)95 b(ap)47 b(has)g(shape)f(\(n*\(n+1\)/2\))514 3352
y(x)h(and)g(y)g(have)g(shape)f(\(n\))227 3577 y FK(The)38
b(t)m(yp)s(es)g(of)g FD(alpha)p FK(,)h FD(a)f FK(or)g
FD(ap)p FK(,)h FD(x)p FK(,)h FD(beta)p FK(,)f(and)f FD(y)f
FK(are)i(go)m(v)m(erned)g(b)m(y)f(the)g(rules)f(of)h(mixed)f(precision)
227 3689 y(argumen)m(ts)30 b(set)f(do)m(wn)g(in)e(section)j(4.3:)41
b(the)29 b(t)m(yp)s(es)g(of)g FD(a)g FK(or)g FD(ap)f
FK(and)h FD(x)f FK(can)i(optionally)d(di\013er)h(from)g(that)227
3802 y(of)j FD(y)p FK(,)f FD(alpha)f FK(and)h FD(beta)p
FK(.)227 3953 y(The)g(functionalit)m(y)f(of)i Fv(hemv)f
FK(is)g(co)m(v)m(ered)i(b)m(y)e Fv(hemm)p FK(.)136 4140
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
4365 y FD(Hermitian:)514 4478 y(SUBROUTINE)45 b(BLAS_xHEMV{_a_b}{_X}\()
d(UPLO,)k(N,)h(ALPHA,)f(A,)h(LDA,)g(X,)g(INCX,)466 4591
y($)1575 b(BETA,)46 b(Y,)h(INCY)g([,)g(PREC])f(\))227
4704 y(Hermitian)g(Band:)514 4817 y(SUBROUTINE)f
(BLAS_xHBMV{_a_b}{_X}\()d(UPLO,)k(N,)h(K,)g(ALPHA,)f(A,)i(LDA,)e(X,)h
(INCX,)466 4930 y($)1575 b(BETA,)46 b(Y,)h(INCY)g([,)g(PREC])f(\))227
5043 y(Hermitian)g(Packed:)514 5156 y(SUBROUTINE)f
(BLAS_xHPMV{_a_b}{_X}\()d(UPLO,)k(N,)h(ALPHA,)f(AP,)h(X,)g(INCX,)466
5269 y($)1575 b(BETA,)46 b(Y,)h(INCY)g([,)g(PREC])f(\))227
5381 y(all:)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 152 162
152 161 bop 0 -165 a FK(152)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)514 91
y FD(INTEGER)570 b(INCX,)47 b(INCY,)f(K,)h(LDA,)g(N,)g(UPLO)g([,)g
(PREC])514 204 y(<ctype>)570 b(ALPHA,)47 b(BETA)514 317
y(<ctype>)570 b(A\()48 b(LDA,)e(*)i(\))f(or)g(AP\()g(*)h(\))514
430 y(<ctype>)570 b(X\()48 b(*)f(\))514 543 y(<ctype>)570
b(Y\()48 b(*)f(\))227 755 y FK(The)37 b(t)m(yp)s(es)h(of)g
FD(ALPHA)p FK(,)e FD(A)i FK(or)f FD(AP)p FK(,)h FD(X)p
FK(,)f FD(Y)p FK(,)h(and)f FD(BETA)f FK(are)i(go)m(v)m(erned)h
(according)f(to)g(the)g(rules)e(of)i(mixed)227 868 y(precision)d
(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)h(4.3.)60
b(The)36 b(pre\014x)g FD(x)g FK(is)f(the)i(\015oating)f(p)s(oin)m(t)g
(t)m(yp)s(e)g(of)h(the)227 981 y(argumen)m(ts,)d(but)f(if)p
959 981 29 4 v 66 w FD(a)p 1042 981 V 34 w(b)g FK(is)e(presen)m(t)i
(then)p 1779 981 V 67 w FD(a)g FK(is)f(the)h(t)m(yp)s(e)g(of)g
FD(A)g FK(or)g FD(AP)f FK(and)p 2962 981 V 67 w FD(b)g
FK(is)g(the)h(t)m(yp)s(e)h(of)f FD(X)p FK(.)f(The)227
1094 y(su\016x)p 470 1094 V 60 w FD(X)27 b FK(is)f(presen)m(t)h(if)f
(and)g(only)g(if)f FD(PREC)h FK(is)g(presen)m(t.)40 b(One)26
b(or)h(b)s(oth)f(of)h(the)g(su\016xes)p 3238 1094 V 60
w FD(a)p 3320 1094 V 34 w(b)g FK(and)p 3602 1094 V 61
w FD(X)f FK(m)m(ust)227 1206 y(b)s(e)k(presen)m(t.)136
1390 y FJ(\017)46 b FK(C)30 b(binding:)227 1602 y FD(Hermitian:)227
1714 y(void)47 b(BLAS_xhemv{_a_b}{_x}\()42 b(enum)47
b(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1516
1827 y(int)j(n,)g(CSCALAR_IN)e(alpha,)h(const)g(CARRAY)h(a,)g(int)g
(lda,)1516 1940 y(const)f(CARRAY)g(x,)i(int)e(incx,)h(CSCALAR_IN)e
(beta,)h(CARRAY)g(y,)1516 2053 y(int)h(incy)f([,)i(enum)e
(blas_prec_type)e(prec])j(\);)227 2166 y(Hermitian)f(Band:)227
2279 y(void)h(BLAS_xhbmv{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c
(order,)j(enum)h(blas_uplo_type)d(uplo,)1516 2392 y(int)j(n,)g(int)g
(k,)g(CSCALAR_IN)e(alpha,)h(const)h(CARRAY)f(a,)1516
2505 y(int)h(lda,)f(const)h(CARRAY)f(x,)h(int)g(incx,)f(CSCALAR_IN)f
(beta,)1516 2618 y(CARRAY)h(y,)h(int)g(incy)g([,)g(enum)g
(blas_prec_type)c(prec])k(\);)227 2731 y(Hermitian)f(Packed:)227
2844 y(void)h(BLAS_xhpmv{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c
(order,)j(enum)h(blas_uplo_type)d(uplo,)1516 2956 y(int)j(n,)g
(CSCALAR_IN)e(alpha,)h(const)g(CARRAY)h(ap,)1516 3069
y(const)f(CARRAY)g(x,)i(int)e(incx,)h(CSCALAR_IN)e(beta,)h(CARRAY)g(y,)
1516 3182 y(int)h(incy)f([,)i(enum)e(blas_prec_type)e(prec])j(\);)227
3394 y FK(The)37 b(t)m(yp)s(es)g(of)h FD(alpha)p FK(,)g
FD(a)f FK(or)g FD(ap)p FK(,)h FD(x)p FK(,)h FD(y)p FK(,)g(and)e
FD(beta)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)e(of)h
(mixed)227 3507 y(precision)e(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)h(4.3.)60 b(The)36 b(pre\014x)g FD(x)g FK(is)f(the)i
(\015oating)f(p)s(oin)m(t)g(t)m(yp)s(e)g(of)h(the)227
3620 y(argumen)m(ts,)29 b(but)e(if)p 943 3620 V 60 w
FD(a)p 1025 3620 V 35 w(b)g FK(is)f(presen)m(t)i(then)p
1741 3620 V 61 w FD(a)g FK(is)e(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)g
FD(a)f FK(or)h FD(ap)e FK(and)p 3279 3620 V 62 w FD(b)h
FK(is)f(the)i(t)m(yp)s(e)g(of)227 3733 y(argumen)m(t)f
FD(x)p FK(.)39 b(The)27 b(su\016x)p 1168 3733 V 60 w
FD(x)f FK(is)f(presen)m(t)i(if)f(and)g(only)f(if)h FD(prec)f
FK(is)h(presen)m(t.)39 b(One)27 b(or)f(b)s(oth)g(of)h(the)g(su\016xes)p
227 3846 V 256 3846 a FD(a)p 310 3846 V 34 w(b)j FK(and)p
599 3846 V 64 w FD(x)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)p
0 4045 3900 6 v 0 4158 a FJ(f)p FK(TR,TB,TP)p FJ(g)p
FK(MV)h(\(T)-8 b(riangular)29 b(matrix)h(v)m(ector)i(pro)s(duct\))360
b Fy(x)25 b FJ( )g Fy(\013T)13 b(x)p FK(,)31 b Fy(x)25
b FJ( )g Fy(\013T)3214 4125 y Fw(T)3270 4158 y Fy(x)30
b FK(or)g Fy(x)25 b FJ( )h Fy(\013T)3781 4125 y Fw(H)3848
4158 y Fy(x)141 4384 y FK(The)43 b(routines)g(m)m(ultiply)e(a)j(v)m
(ector)h Fy(x)f FK(b)m(y)g(a)g(general)g(triangular)e(matrix)h
Fy(T)56 b FK(or)44 b(its)f(transp)s(ose,)k(or)d(its)0
4497 y(conjugate)36 b(transp)s(ose,)f(and)f(copies)h(the)f(resulting)f
(v)m(ector)j(in)e(the)g(v)m(ector)j(op)s(erand)c Fy(x)p
FK(.)53 b(If)35 b Fv(n)f FK(is)g(less)g(than)g(or)0 4610
y(equal)h(to)g(zero,)j(this)c(routine)g(returns)g(immediately)-8
b(.)53 b(As)35 b(describ)s(ed)e(in)h(section)h(2.5.3,)k(the)c(v)-5
b(alue)35 b Fv(incx)g FK(less)0 4723 y(than)28 b(zero)g(is)f(p)s
(ermitted.)38 b(Ho)m(w)m(ev)m(er,)31 b(if)c Fv(incx)g
FK(is)g(equal)g(to)i(zero,)g(an)f(error)f(\015ag)h(is)f(set)h(and)g
(passed)f(to)h(the)g(error)0 4835 y(handler.)41 b(F)-8
b(or)32 b(the)f(routine)f Fv(TRMV)p FK(,)g(if)g Fv(ldt)g
FK(is)g(less)h(than)g(one)g(or)g Fv(ldt)f FK(is)g(less)h(than)g
Fv(n)p FK(,)g(an)g(error)g(\015ag)g(is)f(set)i(and)0
4948 y(passed)h(to)i(the)f(error)g(handler.)49 b(F)-8
b(or)35 b(the)f(routine)e Fv(TBMV)p FK(,)h(if)g Fv(ldt)g
FK(is)g(less)g(than)h Fv(k)g FK(plus)e(one,)j(an)f(error)g(\015ag)g(is)
0 5061 y(set)d(and)f(passed)g(to)h(the)f(error)g(handler.)141
5174 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 5287 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 5400 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 153 163
153 162 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(153)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
316 y FD(Triangular)45 b(Band:)418 429 y(SUBROUTINE)g(tbmv\()i(t,)g(x)
95 b([,)47 b(uplo])f([,)i(transt])d([,)j(diag])e([,)h(alpha])f([,)h
(prec])g(\))227 542 y(Triangular)e(Packed:)418 655 y(SUBROUTINE)g
(tpmv\()i(tp,)f(x)i([,)f(uplo])f([,)i(transt])d([,)j(diag])e([,)h
(alpha])f([,)h(prec])g(\))514 768 y(<type>\(<wp>\),)d(INTENT\(IN\))h
(::)i(<tt>)514 881 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(x\(:\))
514 994 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha)514
1107 y(TYPE)f(\(blas_diag_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(diag)514 1220 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(transt)514 1333 y(TYPE)e(\(blas_uplo_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514 1445 y(TYPE)f
(\(blas_prec_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h(prec)418
1558 y(where)514 1671 y(<tt>)94 b(::=)47 b(t\(:,:\))f(or)h(tp\(:\))418
1784 y(and)514 1897 y(x)g(has)g(shape)f(\(n\))514 2010
y(TB)95 b(t)47 b(has)g(shape)f(\(k+1,n\))514 2123 y(TP)95
b(tp)47 b(has)g(shape)f(\(n*\(n+1\)/2\))418 2236 y(\(k=band)g(width\))
227 2461 y FK(The)33 b(t)m(yp)s(es)h(of)f FD(alpha)p
FK(,)g FD(t)g FK(or)h FD(tp)p FK(,)f(and)g FD(x)g FK(are)h(go)m(v)m
(erned)g(b)m(y)g(the)f(rules)f(of)i(mixed)e(precision)g(argumen)m(ts)
227 2574 y(set)f(do)m(wn)f(in)f(section)i(4.3:)42 b(the)30
b(t)m(yp)s(e)h(of)f FD(t)g FK(or)h FD(tp)e FK(can)i(optionally)e
(di\013er)g(from)h(that)h(of)f FD(x)g FK(and)g FD(alpha)p
FK(.)227 2724 y(The)g(functionalit)m(y)f(of)i Fv(trmv)f
FK(is)f(co)m(v)m(ered)j(b)m(y)f Fv(trmm)p FK(.)136 2912
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
3137 y FD(Triangular:)561 3249 y(SUBROUTINE)45 b(BLAS_xTRMV{_a}{_X}\()e
(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(ALPHA,)f(T,)h(LDT,)g(X,)514
3362 y($)1479 b(INCX)47 b([,)g(PREC])f(\))227 3475 y(Triangular)f
(Band:)561 3588 y(SUBROUTINE)g(BLAS_xTBMV{_a}{_X}\()e(UPLO,)j(TRANS,)g
(DIAG,)h(N,)g(K,)g(ALPHA,)f(T,)h(LDT,)514 3701 y($)1479
b(X,)47 b(INCX)g([,)g(PREC])f(\))227 3814 y(Triangular)f(Packed:)561
3927 y(SUBROUTINE)g(BLAS_xTPMV{_a}{_X}\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)
g(ALPHA,)f(TP,)h(X,)g(INCX)514 4040 y($)1479 b([,)47
b(PREC])f(\))227 4153 y(all:)514 4266 y(INTEGER)570 b(DIAG,)47
b(INCX,)f(K,)h(LDT,)g(N,)g(TRANS,)f(UPLO)h([,)g(PREC])514
4379 y(<type>)618 b(ALPHA)514 4491 y(<type>)g(T\()48
b(LDT,)e(*)i(\))f(or)g(TP\()g(*)h(\))514 4604 y(<type>)618
b(X\()48 b(*)f(\))227 4829 y FK(The)36 b(t)m(yp)s(es)g(of)h
FD(ALPHA)p FK(,)e FD(T)h FK(or)g FD(TP)p FK(,)g(and)g
FD(X)g FK(are)h(go)m(v)m(erned)g(according)g(to)g(the)f(rules)f(of)i
(mixed)e(precision)227 4942 y(argumen)m(ts)d(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
5055 y(but)f(if)p 483 5055 29 4 v 64 w FD(a)g FK(is)g(presen)m(t)h
(then)p 1212 5055 V 64 w FD(a)g FK(is)e(the)i(t)m(yp)s(e)g(of)g
FD(T)f FK(or)g FD(TP)p FK(.)h(The)f(su\016x)p 2650 5055
V 64 w FD(X)g FK(is)g(presen)m(t)g(if)g(and)g(only)g(if)f
FD(PREC)227 5168 y FK(is)h(presen)m(t.)40 b(One)30 b(or)h(b)s(oth)e(of)
i(the)f(su\016xes)p 1771 5168 V 65 w FD(a)g FK(and)p
2060 5168 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
5356 y FJ(\017)46 b FK(C)30 b(binding:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 154 164
154 163 bop 0 -165 a FK(154)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FD(Triangular:)227 204 y(void)47 b(BLAS_xtrmv{_a}{_x}\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 317 y(enum)j(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e
(diag,)1420 430 y(int)j(n,)h(SCALAR_IN)d(alpha,)h(const)g(ARRAY)h(t,)g
(int)g(ldt,)1420 543 y(ARRAY)g(x,)g(int)g(incx)g([,)g(enum)f
(blas_prec_type)e(prec])j(\);)227 656 y(Triangular)e(Band:)227
769 y(void)i(BLAS_xtbmv{_a}{_x}\()42 b(enum)47 b(blas_order_type)d
(order,)i(enum)g(blas_uplo_type)e(uplo,)1420 882 y(enum)j
(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)1420
995 y(int)j(n,)h(int)e(k,)i(SCALAR_IN)d(alpha,)h(const)g(ARRAY)h(t,)g
(int)g(ldt,)1420 1108 y(ARRAY)g(x,)g(int)g(incx)g([,)g(enum)f
(blas_prec_type)e(prec])j(\);)227 1220 y(Triangular)e(Packed:)227
1333 y(void)i(BLAS_xtpmv{_a}{_x}\()42 b(enum)47 b(blas_order_type)d
(order,)i(enum)g(blas_uplo_type)e(uplo,)1420 1446 y(enum)j
(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)1420
1559 y(int)j(n,)h(SCALAR_IN)d(alpha,)h(const)g(ARRAY)h(tp,)1420
1672 y(ARRAY)g(x,)g(int)g(incx)g([,)g(enum)f(blas_prec_type)e(prec])j
(\);)227 1897 y FK(The)36 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)h FD(t)f FK(or)g FD(tp)p FK(,)h(and)f FD(x)f FK(are)i(go)m(v)m
(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
2010 y(argumen)m(ts)d(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 2123 y(but)j(if)p
491 2123 29 4 v 68 w FD(a)g FK(is)f(presen)m(t)i(then)p
1234 2123 V 68 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)f(argumen)m(t)h
FD(t)f FK(or)g FD(tp)p FK(.)53 b(The)33 b(su\016x)p 3140
2123 V 68 w FD(x)h FK(is)g(presen)m(t)g(if)g(and)227
2236 y(only)c(if)f FD(prec)g FK(is)h(presen)m(t.)40 b(One)30
b(or)h(b)s(oth)e(of)i(the)g(su\016xes)p 2275 2236 V 64
w FD(a)f FK(and)p 2564 2236 V 64 w FD(x)g FK(m)m(ust)g(b)s(e)g(presen)m
(t.)p 0 2448 3900 6 v 0 2561 a(GE)p 138 2561 28 4 v 33
w(SUM)p 373 2561 V 33 w(MV)h(\(Summed)e(matrix)g(v)m(ector)j(m)m
(ultiplies\))1254 b Fy(y)28 b FJ( )e Fy(\013Ax)20 b FK(+)g
Fy(\014)5 b(B)g(x)141 2787 y FK(This)26 b(routine)h(adds)f(the)i(pro)s
(duct)e(of)i(t)m(w)m(o)h(scaled)e(matrix)g(v)m(ector)j(pro)s(ducts.)38
b(It)28 b(can)g(b)s(e)f(used)f(to)j(compute)0 2900 y(the)37
b(residual)e(of)i(an)f(appro)m(ximate)h(eigen)m(v)m(ector)i(and)d
(eigen)m(v)-5 b(alue)37 b(of)g(the)g(generalized)g(eigen)m(v)-5
b(alue)37 b(problem)0 3013 y Fy(A)17 b FJ(\003)g Fy(x)25
b FK(=)g Fy(\025)16 b FJ(\003)h Fy(B)k FJ(\003)c Fy(x)p
FK(.)40 b(If)28 b Fv(m)h FK(or)f Fv(n)h FK(is)e(less)h(than)g(or)h
(equal)f(to)h(zero)g(or)g(if)e Fv(b)s(eta)h FK(is)f(equal)h(to)i(one)f
(and)e Fv(alpha)h FK(is)f(equal)0 3126 y(to)33 b(zero,)g(this)e
(routine)g(returns)g(immediately)-8 b(.)44 b(As)32 b(describ)s(ed)e(in)
h(section)h(2.5.3,)i(the)e(v)-5 b(alue)32 b Fv(incx)g
FK(or)g Fv(incy)g FK(less)0 3239 y(than)g(zero)h(is)e(p)s(ermitted.)44
b(Ho)m(w)m(ev)m(er,)35 b(if)c Fv(incx)h FK(or)g Fv(incy)g
FK(is)f(equal)g(to)i(zero,)h(an)e(error)f(\015ag)i(is)e(set)h(and)g
(passed)f(to)0 3352 y(the)h(error)g(handler.)45 b(If)32
b Fv(lda)g FK(is)f(less)h(than)g(one)g(or)g Fv(lda)g
FK(is)f(less)h(than)g Fv(m)p FK(,)h(or)g Fv(ldb)e FK(is)h(less)f(than)h
(one)h(or)f Fv(ldb)g FK(is)g(less)0 3465 y(than)e Fv(m)p
FK(,)h(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)g
(error)f(handler.)141 3577 y(Extended)g(precision)f(and)g(mixed)g
(precision)g(are)i(p)s(ermitted.)141 3690 y(This)36 b(routine)h(has)h
(the)g(same)g(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d
(that)h(extended)f(precision)e(and)0 3803 y(mixed)29
b(precision)g(are)i(p)s(ermitted.)136 4016 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 4241 y FD(SUBROUTINE)45
b(ge_sum_mv\()g(a,)i(x,)g(b,)g(y)h([,)f(alpha])f([,)h(beta])f([,)i
(prec]\))609 4354 y(<type>\(<wp>\),)c(INTENT)i(\(IN\))h(::)g(a\(:,:\),)
f(b\(:,:\))609 4467 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(x\(:\))
609 4579 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g(y\(:\))609
4692 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i(alpha,)g
(beta)609 4805 y(<type>\(blas_prec_type\),)42 b(INTENT)k(\(IN\),)g
(OPTIONAL)g(::)h(prec)514 4918 y(where)609 5031 y(x)h(has)e(shape)h
(\(n\);)609 5144 y(y)h(has)e(shape)h(\(m\);)609 5257
y(a)h(and)e(b)i(have)f(shape)f(\(m,n\))g(for)h(general)f(matrices)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 155 165
155 164 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(155)227 91 y(The)23 b(t)m(yp)s(es)h(of)g FD(alpha)p
FK(,)g FD(a)p FK(,)h FD(x)p FK(,)f FD(beta)p FK(,)g FD(b)p
FK(,)h(and)e FD(y)h FK(are)g(go)m(v)m(erned)h(according)e(to)h(the)g
(rules)f(of)g(mixed)g(precision)227 204 y(argumen)m(ts)31
b(set)h(do)m(wn)e(in)f(section)i(4.3:)43 b(the)31 b(t)m(yp)s(es)f(of)h
FD(a)g FK(and)f FD(b)g FK(can)h(optionally)e(di\013er)h(from)g(that)h
(of)g FD(x)p FK(,)227 317 y FD(y)p FK(,)g FD(alpha)d
FK(and)i FD(beta)p FK(.)40 b(Argumen)m(ts)30 b FD(a)g
FK(and)g FD(b)g FK(m)m(ust)g(ha)m(v)m(e)i(the)e(same)h(t)m(yp)s(e.)136
492 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
677 y FD(SUBROUTINE)45 b(BLAS_xGE_SUM_MV{_a_b}{_)o(X}\()c(M,)47
b(N,)h(ALPHA,)e(A,)h(LDA,)g(X,)g(INCX,)466 790 y($)1813
b(BETA,)47 b(B,)g(LDB,)f(Y,)i(INCY)466 903 y($)1813 b([,)47
b(PREC])g(\))514 1016 y(INTEGER)570 b(INCX,)47 b(INCY,)f(LDA,)h(LDB,)f
(M,)i(N)f([,)g(PREC])514 1129 y(<type>)618 b(ALPHA,)47
b(BETA)514 1242 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\),)f(B\()g(LDB,)g
(*)g(\))514 1355 y(<type>)618 b(X\()48 b(*)f(\))514 1468
y(<type>)618 b(Y\()48 b(*)f(\))227 1654 y FK(The)24 b(t)m(yp)s(es)g(of)
g FD(ALPHA)p FK(,)f FD(A)p FK(,)h FD(X)p FK(,)g FD(BETA)p
FK(,)f FD(B)p FK(,)h(and)f FD(Y)h FK(are)g(go)m(v)m(erned)h(according)f
(to)h(the)f(rules)f(of)h(mixed)f(precision)227 1767 y(argumen)m(ts)32
b(set)g(do)m(wn)f(in)f(section)i(4.3.)45 b(The)31 b(pre\014x)g
FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f
(argumen)m(ts,)227 1879 y(but)j(if)p 491 1879 29 4 v
68 w FD(a)g FK(is)g(presen)m(t)h(then)p 1236 1879 V 68
w FD(a)f FK(is)g(the)h(t)m(yp)s(e)g(of)f FD(A)h FK(and)f
FD(B)p FK(,)g(and)p 2477 1879 V 68 w FD(b)h FK(is)e(the)i(t)m(yp)s(e)g
(of)g FD(x)p FK(.)53 b(The)34 b(su\016x)p 3728 1879 V
68 w FD(X)g FK(is)227 1992 y(presen)m(t)26 b(if)e(and)h(only)g(if)f
FD(PREC)g FK(is)h(presen)m(t.)39 b(One)25 b(or)h(b)s(oth)e(of)i(the)g
(su\016xes)p 2786 1992 V 59 w FD(a)p 2869 1992 V 34 w(b)f
FK(and)p 3148 1992 V 59 w FD(X)g FK(m)m(ust)h(b)s(e)f(presen)m(t.)136
2167 y FJ(\017)46 b FK(C)30 b(binding:)227 2353 y FD(void)47
b(BLAS_xge_sum_mv{_a_b}{_x)o(}\()42 b(enum)k(blas_order_type)e(order,)i
(int)h(m,)g(int)g(n,)1755 2466 y(SCALAR_IN)e(alpha,)h(const)g(ARRAY)h
(a,)g(int)g(lda,)1755 2579 y(const)f(ARRAY)g(x,)h(int)g(incx,)g
(SCALAR_IN)e(beta,)1755 2691 y(const)h(ARRAY)g(B,)h(int)g(ldb,)g(ARRAY)
f(y,)i(int)e(incy)1755 2804 y([,)h(enum)f(blas_prec_type)e(prec])j(\);)
227 2990 y FK(The)23 b(t)m(yp)s(es)h(of)g FD(alpha)p
FK(,)g FD(a)p FK(,)h FD(x)p FK(,)f FD(beta)p FK(,)g FD(b)p
FK(,)h(and)e FD(y)h FK(are)g(go)m(v)m(erned)h(according)e(to)h(the)g
(rules)f(of)g(mixed)g(precision)227 3103 y(argumen)m(ts)32
b(set)g(do)m(wn)f(in)f(section)i(4.3.)45 b(The)31 b(pre\014x)g
FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f
(argumen)m(ts,)227 3216 y(but)g(if)p 485 3216 V 65 w
FD(a)p 568 3216 V 34 w(b)g FK(is)f(presen)m(t)i(then)p
1299 3216 V 65 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g
FD(a)f FK(and)f FD(b)p FK(,)i(and)p 2512 3216 V 65 w
FD(b)f FK(is)g(the)g(t)m(yp)s(e)h(of)g FD(x)p FK(.)43
b(The)31 b(su\016x)p 3731 3216 V 65 w FD(x)g FK(is)227
3329 y(presen)m(t)26 b(if)e(and)h(only)g(if)f FD(prec)g
FK(is)h(presen)m(t.)39 b(One)25 b(or)h(b)s(oth)e(of)i(the)g(su\016xes)p
2786 3329 V 59 w FD(a)p 2869 3329 V 34 w(b)f FK(and)p
3148 3329 V 59 w FD(x)g FK(m)m(ust)h(b)s(e)f(presen)m(t.)p
0 3502 3900 6 v 0 3615 a FJ(f)p FK(TR,TB,TP)p FJ(g)p
FK(SV)31 b(\(T)-8 b(riangular)28 b(solv)m(e\))1511 b
Fy(x)25 b FJ( )g Fy(\013T)3218 3582 y Fu(\000)p FC(1)3313
3615 y Fy(x)p FK(,)31 b Fy(x)25 b FJ( )g Fy(\013T)3738
3582 y Fu(\000)p Fw(T)3848 3615 y Fy(x)141 3841 y FK(These)30
b(functions)e(solv)m(e)j(one)f(of)g(the)g(systems)g(of)g(equations)g
Fy(x)25 b FJ( )g Fy(\013T)2607 3808 y Fu(\000)p FC(1)2702
3841 y Fy(x)k FK(or)h Fy(y)e FJ( )e Fy(\013T)3208 3808
y Fu(\000)p FC(1)3302 3841 y Fy(x)p FK(,)k(where)g Fy(x)g
FK(and)0 3954 y Fy(y)h FK(are)e(v)m(ectors)g(and)f(the)g(matrix)g
Fy(T)41 b FK(is)27 b(a)i(unit,)e(non-unit,)g(upp)s(er)g(or)h(lo)m(w)m
(er)g(triangular)f(\(or)i(triangular)d(banded)0 4067
y(or)32 b(triangular)e(pac)m(k)m(ed\))j(matrix.)44 b(If)32
b Fv(n)f FK(is)g(less)g(than)h(or)f(equal)h(to)g(zero,)h(this)e
(function)f(returns)h(immediately)-8 b(.)0 4180 y(As)33
b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)e(v)-5 b(alue)33
b Fv(incx)g FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)48
b(Ho)m(w)m(ev)m(er,)37 b(if)32 b Fv(incx)i FK(is)e(equal)0
4293 y(to)d(zero,)h(an)e(error)g(\015ag)g(is)f(set)i(and)f(passed)g(to)
g(the)h(error)f(handler.)38 b(If)28 b Fv(ldt)f FK(is)h(less)f(than)h
(one)h(or)f Fv(ldt)f FK(is)h(less)f(than)0 4405 y Fv(n)p
FK(,)k(an)f(error)g(\015ag)g(is)g(set)h(and)f(passed)f(to)j(the)e
(error)g(handler.)141 4518 y(Extended)g(precision)f(and)g(mixed)g
(precision)g(are)i(p)s(ermitted.)227 4692 y Fz(A)-5 b(dvic)g(e)26
b(to)h(implementors.)78 b FK(Note)25 b(that)f(no)f(c)m(hec)m(k)i(for)e
(singularit)m(y)-8 b(,)23 b(or)g(near)g(singularit)m(y)e(is)i(sp)s
(eci\014ed)e(for)227 4805 y(these)32 b(triangular)e(equation-solving)h
(functions.)43 b(The)31 b(requiremen)m(ts)f(for)i(suc)m(h)f(a)h(test)g
(dep)s(end)e(on)i(the)227 4918 y(application,)27 b(and)g(so)h(w)m(e)h
(felt)e(that)i(this)d(should)g(not)i(b)s(e)f(included,)f(but)h(should)f
(instead)h(b)s(e)g(p)s(erformed)227 5030 y(b)s(efore)j(calling)f(the)i
(triangular)d(solv)m(er.)227 5174 y(T)-8 b(o)28 b(implemen)m(t)d(this)h
(function)f(when)h(the)h(in)m(ternal)f(precision)f(requested)i(is)f
(higher)f(than)i(the)g(precision)227 5287 y(of)36 b Fv(x)p
FK(,)h(temp)s(orary)e(w)m(orkspace)h(is)e(needed)i(to)g(compute)g(and)e
(store)i Fv(x)g FK(in)m(ternally)d(to)j(higher)f(precision.)227
5400 y(\()p Fz(End)e(of)g(advic)-5 b(e)33 b(to)h(implementors.)p
FK(\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 156 166
156 165 bop 0 -165 a FK(156)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)141 91
y FK(This)36 b(routine)h(has)h(the)g(same)g(sp)s(eci\014cation)e(as)i
(in)f(Chapter)g(2,)k(except)d(that)h(extended)f(precision)e(and)0
204 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)136
400 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
608 y FD(Triangular)45 b(Band:)418 721 y(SUBROUTINE)g(tbsv\()i(t,)g(x)g
([,)g(uplo])g([,)g(transt])f([,)h(diag])f([,)h(alpha])g([,)g(prec])f
(\))227 834 y(Triangular)f(Packed:)418 946 y(SUBROUTINE)g(tpsv\()i(tp,)
f(x)i([,)f(uplo])f([,)i(trans])e([,)h(diag])f([,)h(alpha])g([,)g(prec])
f(\))514 1059 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(<tt>)514
1172 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(x\(:\))514
1285 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1398 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1511 y(TYPE)e(\(blas_diag_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(diag)514 1624 y(<type>\(<wp>\),)d
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha)514 1737 y(TYPE)f
(\(blas_prec_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h(prec)418
1850 y(where)514 1963 y(<tt>)94 b(::=)47 b(t\(:,:\))f(or)h(tp\(:\))418
2076 y(and)514 2188 y(x)g(has)g(shape)f(\(n\))514 2301
y(TB)95 b(t)47 b(has)g(shape)f(\(k+1,n\))514 2414 y(TP)95
b(tp)47 b(has)g(shape)f(\(n*\(n+1\)/2\))418 2527 y(\(k=band)g(width\))
227 2735 y FK(The)33 b(t)m(yp)s(es)h(of)f FD(alpha)p
FK(,)g FD(t)g FK(or)h FD(tp)p FK(,)f(and)g FD(x)g FK(are)h(go)m(v)m
(erned)g(b)m(y)g(the)f(rules)f(of)i(mixed)e(precision)g(argumen)m(ts)
227 2848 y(set)f(do)m(wn)f(in)f(section)i(4.3:)42 b(the)30
b(t)m(yp)s(e)h(of)f FD(t)g FK(or)h FD(tp)e FK(can)i(optionally)e
(di\013er)g(from)h(that)h(of)f FD(x)g FK(and)g FD(alpha)p
FK(.)227 2996 y(The)g(functionalit)m(y)f(of)i Fv(trsv)e
FK(is)h(co)m(v)m(ered)i(b)m(y)e Fv(trsm)p FK(.)136 3177
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
3385 y FD(Triangular:)561 3498 y(SUBROUTINE)45 b(BLAS_xTRSV{_a}{_X}\()e
(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(ALPHA,)f(T,)h(LDT,)514
3611 y($)1479 b(X,)47 b(INCX)g([,)g(PREC])f(\))227 3724
y(Triangular)f(Band:)561 3837 y(SUBROUTINE)g(BLAS_xTBSV{_a}{_X}\()e
(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(K,)g(ALPHA,)f(T,)514 3950
y($)1479 b(LDT,)47 b(X,)g(INCX)f([,)i(PREC])e(\))227
4063 y(Triangular)f(Packed:)561 4176 y(SUBROUTINE)g
(BLAS_xTPSV{_a}{_X}\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(ALPHA,)f(TP,)h
(X,)514 4289 y($)1479 b(INCX)47 b([,)g(PREC])f(\))227
4402 y(all:)514 4515 y(INTEGER)570 b(DIAG,)47 b(INCX,)f(K,)h(LDT,)g(N,)
g(TRANS,)f(UPLO)h([,)g(PREC])514 4627 y(<type>)618 b(ALPHA)514
4740 y(<type>)g(T\()48 b(LDT,)e(*)i(\))f(or)g(TP\()g(*)h(\))514
4853 y(<type>)618 b(X\()48 b(*)f(\))227 5061 y FK(The)36
b(t)m(yp)s(es)g(of)h FD(ALPHA)p FK(,)e FD(T)h FK(or)g
FD(TP)p FK(,)g(and)g FD(X)g FK(are)h(go)m(v)m(erned)g(according)g(to)g
(the)f(rules)f(of)i(mixed)e(precision)227 5174 y(argumen)m(ts)d(set)g
(do)m(wn)f(in)f(section)i(4.3.)45 b(The)31 b(pre\014x)g
FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f
(argumen)m(ts,)227 5287 y(but)f(if)p 483 5287 29 4 v
64 w FD(a)g FK(is)g(presen)m(t)h(then)p 1212 5287 V 64
w FD(a)g FK(is)e(the)i(t)m(yp)s(e)g(of)g FD(T)f FK(or)g
FD(TP)p FK(.)h(The)f(su\016x)p 2650 5287 V 64 w FD(X)g
FK(is)g(presen)m(t)g(if)g(and)g(only)g(if)f FD(PREC)227
5400 y FK(is)h(presen)m(t.)40 b(One)30 b(or)h(b)s(oth)e(of)i(the)f
(su\016xes)p 1771 5400 V 65 w FD(a)g FK(and)p 2060 5400
V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)4084 64
y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 157 167
157 166 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(157)136 91 y FJ(\017)46 b FK(C)30 b(binding:)227
308 y FD(Triangular:)227 420 y(void)47 b(BLAS_xtrsv{_a}{_x}\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 533 y(enum)j(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e
(diag,)1420 646 y(int)j(n,)h(SCALAR_IN)d(alpha,)h(const)g(ARRAY)h(t,)g
(int)g(ldt,)1420 759 y(ARRAY)g(x,)g(int)g(incx)g([,)g(enum)f
(blas_prec_type)e(prec])j(\);)227 872 y(Triangular)e(Band:)227
985 y(void)i(BLAS_xtbsv{_a}{_x}\()42 b(enum)47 b(blas_order_type)d
(order,)i(enum)g(blas_uplo_type)e(uplo,)1420 1098 y(enum)j
(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)1420
1211 y(int)j(n,)h(int)e(k,)i(SCALAR_IN)d(alpha,)h(const)g(ARRAY)h(t,)g
(int)g(ldt,)1420 1324 y(ARRAY)g(x,)g(int)g(incx)g([,)g(enum)f
(blas_prec_type)e(prec])j(\);)227 1437 y(Triangular)e(Packed:)227
1550 y(void)i(BLAS_xtpsv{_a}{_x}\()42 b(enum)47 b(blas_order_type)d
(order,)i(enum)g(blas_uplo_type)e(uplo,)1420 1662 y(enum)j
(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)1420
1775 y(int)j(n,)h(SCALAR_IN)d(alpha,)h(const)g(ARRAY)h(tp,)g(ARRAY)f
(x,)1420 1888 y(int)h(incx)g([,)g(enum)g(blas_prec_type)d(prec])i(\);)
227 2104 y FK(The)36 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)h FD(t)f FK(or)g FD(tp)p FK(,)h(and)f FD(x)f FK(are)i(go)m(v)m
(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
2217 y(argumen)m(ts)d(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 2330 y(but)j(if)p
491 2330 29 4 v 68 w FD(a)g FK(is)f(presen)m(t)i(then)p
1234 2330 V 68 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)f(argumen)m(t)h
FD(t)f FK(or)g FD(tp)p FK(.)53 b(The)33 b(su\016x)p 3140
2330 V 68 w FD(x)h FK(is)g(presen)m(t)g(if)g(and)227
2443 y(only)c(if)f FD(prec)g FK(is)h(presen)m(t.)40 b(One)30
b(or)h(b)s(oth)e(of)i(the)g(su\016xes)p 2275 2443 V 64
w FD(a)f FK(and)p 2564 2443 V 64 w FD(x)g FK(m)m(ust)g(b)s(e)g(presen)m
(t.)p 0 2647 3900 6 v 0 2889 a Fx(4.5.5)97 b(Mixed)32
b(and)g(Extended)i(Precision)f(Matrix-Matrix)e(Op)s(erations)0
3061 y FK(In)f(the)g(follo)m(wing)f(section,)i Fy(op)p
FK(\()p Fy(X)7 b FK(\))31 b(denotes)g Fy(X)7 b FK(,)31
b(or)f Fy(X)1916 3028 y Fw(T)2002 3061 y FK(or)g Fy(X)2195
3028 y Fw(H)2293 3061 y FK(where)g Fy(X)38 b FK(is)29
b(a)i(matrix.)0 3286 y(GEMM)g(\(General)g(Matrix)f(Matrix)g(Pro)s
(duct\))1258 b Fy(C)32 b FJ( )25 b Fy(\013op)p FK(\()p
Fy(A)p FK(\))p Fy(op)p FK(\()p Fy(B)5 b FK(\))21 b(+)f
Fy(\014)5 b(C)141 3512 y FK(The)32 b(routine)g(p)s(erforms)f(a)h
(general)h(matrix)f(matrix)g(m)m(ultiply)d Fy(C)36 b
FJ( )28 b Fy(\013op)p FK(\()p Fy(A)p FK(\))p Fy(op)p
FK(\()p Fy(B)5 b FK(\))23 b(+)e Fy(\014)5 b(C)40 b FK(where)32
b Fy(\013)h FK(and)0 3625 y Fy(\014)g FK(are)c(scalars,)g(and)e
Fy(A)p FK(,)i Fy(B)5 b FK(,)28 b(and)g Fy(C)35 b FK(are)28
b(general)g(matrices.)40 b(This)27 b(routine)g(returns)g(immediately)f
(if)h Fv(m)i FK(or)f Fv(n)g FK(or)0 3738 y Fv(k)h FK(is)e(less)g(than)h
(or)h(equal)e(to)i(zero.)41 b(If)28 b Fv(lda)g FK(is)f(less)g(than)h
(one)h(or)f(less)g(than)g Fv(m)p FK(,)h(or)f(if)f Fv(ldb)h
FK(is)f(less)h(than)g(one)g(or)h(less)0 3851 y(than)f
Fv(k)p FK(,)i(or)f(if)f Fv(ldc)g FK(is)g(less)g(than)h(one)g(or)f(less)
g(than)h Fv(m)p FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)g(passed)f
(to)h(the)g(error)g(handler.)141 3964 y(This)g(in)m(terface)i
(encompasses)f(the)h(Legacy)h(BLAS)e(routine)f(xGEMM.)141
4077 y(Extended)h(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 4190 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 4303 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
136 4506 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
4723 y FD(SUBROUTINE)45 b(gemm\()i(a,)g(b,)g(c)g([,)h(transa])d([,)j
(transb])d([,)j(alpha])e([,)h(beta])f(&)1230 4835 y([,)h(prec])f(\))514
4948 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(<aa>)514
5061 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(<bb>)514
5174 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(<cc>)514
5287 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)g(::)j
(transa,)d(transb)514 5400 y(<type>\(<wp>\),)f(INTENT\(IN\),)h
(OPTIONAL)g(::)i(alpha,)f(beta)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 158 168
158 167 bop 0 -165 a FK(158)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)514 91
y FD(TYPE)46 b(\(blas_prec_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j
(prec)418 204 y(where)514 317 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h
(a\(:\))514 430 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))514
543 y(<cc>)94 b(::=)47 b(c\(:,:\))f(or)h(c\(:\))418 656
y(and)514 769 y(c,)g(rank)f(2,)i(has)f(shape)f(\(m,n\))752
882 y(a)i(has)f(shape)f(\(m,k\))g(if)i(transa)e(=)h(blas_no_trans)d
(\(the)j(default\))1325 995 y(\(k,m\))f(if)i(transa)e(/=)h
(blas_no_trans)1325 1108 y(\(m\))g(if)g(rank)g(1)752
1220 y(b)h(has)f(shape)f(\(k,n\))g(if)i(transb)e(=)h(blas_no_trans)d
(\(the)j(default\))1325 1333 y(\(n,k\))f(if)i(transb)e(/=)h
(blas_no_trans)1325 1446 y(\(n\))g(if)g(rank)g(1)514
1559 y(c,)g(rank)f(1,)i(has)f(shape)f(\(m\))752 1672
y(a)i(has)f(shape)f(\(m,n\))g(if)i(transa)e(=)h(blas_no_trans)d(\(the)j
(default\))1325 1785 y(\(n,m\))f(if)i(transa)e(/=)h(blas_no_trans)752
1898 y(b)h(has)f(shape)f(\(n\))p 244 2067 3640 4 v 242
2180 4 113 v 294 2146 a FK(Rank)30 b FD(a)p 631 2180
V 99 w FK(Rank)h FD(b)p 1019 2180 V 99 w FK(Rank)f FD(c)p
1408 2180 V 99 w(transa)p 1794 2180 V 98 w(transb)p 2180
2180 V 98 w FK(Op)s(eration)p 3066 2180 V 483 w(Argumen)m(ts)p
3881 2180 V 244 2183 3640 4 v 242 2296 4 113 v 416 2262
a(2)p 631 2296 V 343 w(2)p 1019 2296 V 344 w(2)p 1408
2296 V 331 w(N)p 1794 2296 V 318 w(N)p 2180 2296 V 208
w Fy(C)i FJ( )25 b Fy(\013AB)h FK(+)20 b Fy(\014)5 b(C)p
3066 2296 V 240 w FD(real)47 b(or)g(complex)p 3881 2296
V 242 2409 V 416 2375 a FK(2)p 631 2409 V 343 w(2)p 1019
2409 V 344 w(2)p 1408 2409 V 331 w(N)p 1794 2409 V 319
w(T)p 2180 2409 V 209 w Fy(C)32 b FJ( )25 b Fy(\013AB)2644
2342 y Fw(T)2720 2375 y FK(+)20 b Fy(\014)5 b(C)p 3066
2409 V 185 w FD(real)47 b(or)g(complex)p 3881 2409 V
242 2522 V 416 2488 a FK(2)p 631 2522 V 343 w(2)p 1019
2522 V 344 w(2)p 1408 2522 V 331 w(N)p 1794 2522 V 318
w(H)p 2180 2522 V 208 w Fy(C)32 b FJ( )25 b Fy(\013AB)2644
2455 y Fw(H)2732 2488 y FK(+)20 b Fy(\014)5 b(C)p 3066
2522 V 173 w FD(complex)p 3881 2522 V 242 2635 V 416
2601 a FK(2)p 631 2635 V 343 w(2)p 1019 2635 V 344 w(2)p
1408 2635 V 332 w(T)p 1794 2635 V 319 w(N)p 2180 2635
V 208 w Fy(C)32 b FJ( )25 b Fy(\013A)2570 2568 y Fw(T)2626
2601 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p 3066 2635 V 185
w FD(real)47 b(or)g(complex)p 3881 2635 V 242 2747 V
416 2714 a FK(2)p 631 2747 V 343 w(2)p 1019 2747 V 344
w(2)p 1408 2747 V 332 w(T)p 1794 2747 V 320 w(T)p 2180
2747 V 209 w Fy(C)32 b FJ( )25 b Fy(\013A)2570 2681 y
Fw(T)2626 2714 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p 3066
2747 V 185 w FD(real)47 b(or)g(complex)p 3881 2747 V
242 2860 V 416 2827 a FK(2)p 631 2860 V 343 w(2)p 1019
2860 V 344 w(2)p 1408 2860 V 331 w(H)p 1794 2860 V 318
w(N)p 2180 2860 V 208 w Fy(C)32 b FJ( )25 b Fy(\013A)2570
2794 y Fw(H)2638 2827 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p
3066 2860 V 173 w FD(complex)p 3881 2860 V 242 2973 V
416 2939 a FK(2)p 631 2973 V 343 w(2)p 1019 2973 V 344
w(2)p 1408 2973 V 331 w(H)p 1794 2973 V 318 w(H)p 2180
2973 V 208 w Fy(C)32 b FJ( )25 b Fy(\013A)2570 2906 y
Fw(H)2638 2939 y Fy(B)2712 2906 y Fw(H)2799 2939 y FK(+)20
b Fy(\014)5 b(C)p 3066 2973 V 106 w FD(complex)p 3881
2973 V 242 3086 V 416 3052 a FK(2)p 631 3086 V 343 w(1)p
1019 3086 V 344 w(1)p 1408 3086 V 331 w(N)p 1794 3086
V 336 w(-)p 2180 3086 V 228 w Fy(c)26 b FJ( )f Fy(\013Ab)c
FK(+)f Fy(\014)5 b(c)p 3066 3086 V 333 w FD(real)47 b(or)g(complex)p
3881 3086 V 242 3199 V 416 3165 a FK(2)p 631 3199 V 343
w(1)p 1019 3199 V 344 w(1)p 1408 3199 V 332 w(T)p 1794
3199 V 337 w(-)p 2180 3199 V 228 w Fy(c)26 b FJ( )f Fy(\013A)2538
3132 y Fw(T)2594 3165 y Fy(b)20 b FK(+)g Fy(\014)5 b(c)p
3066 3199 V 278 w FD(real)47 b(or)g(complex)p 3881 3199
V 242 3312 V 416 3278 a FK(2)p 631 3312 V 343 w(1)p 1019
3312 V 344 w(1)p 1408 3312 V 331 w(H)p 1794 3312 V 336
w(-)p 2180 3312 V 228 w Fy(c)26 b FJ( )f Fy(\013A)2538
3245 y Fw(H)2606 3278 y Fy(b)20 b FK(+)g Fy(\014)5 b(c)p
3066 3312 V 266 w FD(complex)p 3881 3312 V 242 3425 V
416 3391 a FK(1)p 631 3425 V 343 w(1)p 1019 3425 V 344
w(2)p 1408 3425 V 350 w(-)p 1794 3425 V 355 w(-)p 2180
3425 V 228 w Fy(C)32 b FJ( )25 b Fy(\013ab)2589 3358
y Fw(T)2665 3391 y FK(+)20 b Fy(\014)5 b(C)p 3066 3425
V 240 w FD(real)47 b(or)g(complex)p 3881 3425 V 242 3538
V 416 3504 a FK(1)p 631 3538 V 343 w(1)p 1019 3538 V
344 w(2)p 1408 3538 V 350 w(-)p 1794 3538 V 337 w(H)p
2180 3538 V 208 w Fy(C)32 b FJ( )25 b Fy(\013ab)2589
3471 y Fw(H)2677 3504 y FK(+)20 b Fy(\014)5 b(C)p 3066
3538 V 228 w FD(complex)p 3881 3538 V 244 3541 3640 4
v 227 3750 a FK(The)44 b(table)h(de\014ning)e(the)i(op)s(eration)f(as)h
(a)g(function)e(of)i(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)m
(tical)f(to)227 3862 y(Chapter)30 b(2.)227 4013 y(The)g(functionalit)m
(y)f(of)i(xGEMV)g(is)e(also)h(co)m(v)m(ered)i(b)m(y)f(this)e(generic)h
(pro)s(cedure.)227 4163 y(The)h(t)m(yp)s(es)g(of)g FD(a)p
FK(,)h FD(b)p FK(,)f FD(c)p FK(,)g FD(alpha)f FK(and)g
FD(beta)g FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j
(mixed)e(precision)227 4276 y(argumen)m(ts)h(set)h(do)m(wn)e(in)f
(section)i(4.3:)43 b(the)31 b(t)m(yp)s(es)f(of)h FD(a)g
FK(and)f FD(b)g FK(can)h(optionally)e(di\013er)h(from)g(that)h(of)g
FD(c)p FK(,)227 4389 y FD(alpha)e FK(and)h FD(beta)p
FK(.)136 4576 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)227
4801 y FD(General:)514 4914 y(SUBROUTINE)45 b(BLAS_xGEMM{_a_b}{_X}\()d
(TRANSA,)j(TRANSB,)h(M,)h(N,)h(K,)f(ALPHA,)f(A,)h(LDA,)466
5027 y($)1575 b(B,)47 b(LDB,)f(BETA,)h(C,)g(LDC)g([,)g(PREC])f(\))514
5140 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(M,)g(N,)g(TRANSA,)f
(TRANSB)g([,)h(PREC])514 5253 y(<type>)618 b(ALPHA,)47
b(BETA)514 5366 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 159 169
159 168 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(159)514 91 y FD(<type>)618 b(B\()48 b(LDB,)e(*)i(\))514
204 y(<type>)618 b(C\()48 b(LDC,)e(*)i(\))227 422 y FK(The)31
b(t)m(yp)s(es)g(of)h FD(ALPHA)p FK(,)e FD(A)p FK(,)h
FD(B)p FK(,)g FD(BETA)f FK(and)g FD(C)h FK(are)h(go)m(v)m(erned)g
(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
535 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 648 y(but)f(if)p
483 648 29 4 v 64 w FD(a)p 566 648 V 34 w(b)g FK(is)f(presen)m(t)i
(then)p 1293 648 V 64 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g
FD(A)f FK(and)p 2216 648 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(B)p FK(.)h(The)f(su\016x)p 3416 648 V 63 w FD(X)g
FK(is)g(presen)m(t)227 761 y(if)g(and)f(only)h(if)f FD(PREC)g
FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h(su\016xes)p
2535 761 V 64 w FD(a)p 2618 761 V 34 w(b)f FK(and)p 2906
761 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
947 y FJ(\017)46 b FK(C)30 b(binding:)227 1165 y FD(void)47
b(BLAS_xgemm{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c(order,)1516
1278 y(enum)k(blas_trans_type)c(transa,)1516 1391 y(enum)k
(blas_trans_type)c(transb,)j(int)h(m,)g(int)g(n,)g(int)g(k,)1516
1503 y(SCALAR_IN)e(alpha,)h(const)h(ARRAY)f(a,)h(int)g(lda,)1516
1616 y(const)f(ARRAY)h(b,)g(int)g(ldb,)1516 1729 y(SCALAR_IN)e(beta,)i
(ARRAY)f(c,)h(int)g(ldc)1516 1842 y([,)g(enum)g(blas_prec_type)d(prec])
i(\);)227 2060 y FK(The)31 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)g FD(a)p FK(,)g FD(b)p FK(,)g FD(beta)f FK(and)h
FD(c)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j
(mixed)e(precision)227 2173 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
2286 y(but)c(if)p 477 2286 V 61 w FD(a)p 560 2286 V 34
w(b)g FK(is)f(presen)m(t)h(then)p 1274 2286 V 62 w FD(a)g
FK(is)f(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)f FD(a)g
FK(and)p 2580 2286 V 61 w FD(b)g FK(is)g(the)g(t)m(yp)s(e)h(of)f
(argumen)m(t)h FD(b)p FK(.)39 b(The)227 2399 y(su\016x)p
470 2399 V 60 w FD(x)27 b FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)f
FD(prec)h FK(is)g(presen)m(t.)40 b(One)26 b(or)h(b)s(oth)f(of)h(the)g
(su\016xes)p 3238 2399 V 60 w FD(a)p 3320 2399 V 34 w(b)g
FK(and)p 3602 2399 V 61 w FD(x)f FK(m)m(ust)227 2512
y(b)s(e)k(presen)m(t.)p 0 2718 3900 6 v 0 2831 a(SYMM)h(\(Symmetric)e
(Matrix)i(Matrix)f(Pro)s(duct\))682 b Fy(C)31 b FJ( )25
b Fy(\013AB)h FK(+)20 b Fy(\014)5 b(C)37 b FK(or)30 b
Fy(C)i FJ( )25 b Fy(\013B)5 b(A)20 b FK(+)g Fy(\014)5
b(C)141 3057 y FK(This)41 b(routine)h(p)s(erforms)f(one)h(of)h(the)g
(symmetric)f(matrix)g(matrix)g(op)s(erations)g Fy(C)52
b FJ( )45 b Fy(\013AB)34 b FK(+)28 b Fy(\014)5 b(C)49
b FK(or)0 3169 y Fy(C)40 b FJ( )33 b Fy(\013B)5 b(A)24
b FK(+)f Fy(\014)5 b(C)42 b FK(where)35 b Fy(\013)g FK(and)g
Fy(\014)40 b FK(are)c(scalars,)h Fy(A)e FK(is)f(a)i(symmetric)f
(matrix,)h(and)e Fy(B)40 b FK(and)35 b Fy(C)41 b FK(are)36
b(general)0 3282 y(matrices.)k(This)26 b(routine)h(returns)f
(immediately)g(if)h Fv(m)h FK(or)g Fv(n)f FK(is)g(less)g(than)h(or)f
(equal)h(to)g(zero.)41 b(F)-8 b(or)28 b Fv(side)g FK(equal)f(to)0
3395 y Fv(blas)p 153 3395 28 4 v 32 w(left)p 308 3395
V 32 w(side)p FK(,)32 b(and)f(if)g Fv(lda)g FK(is)f(less)h(than)g(one)h
(or)f(less)g(than)g Fv(m)p FK(,)i(or)e(if)g Fv(ldb)g
FK(is)f(less)h(than)g(one)h(or)g(less)e(than)i Fv(m)p
FK(,)g(or)0 3508 y(if)f Fv(ldc)h FK(is)f(less)g(than)h(one)g(or)g(less)
f(than)h Fv(m)p FK(,)h(an)f(error)f(\015ag)i(is)e(set)h(and)g(passed)f
(to)i(the)f(error)g(handler.)43 b(F)-8 b(or)33 b Fv(side)0
3621 y FK(equal)h(to)i Fv(blas)p 513 3621 V 32 w(right)p
723 3621 V 32 w(side)p FK(,)g(and)e(if)g Fv(lda)g FK(is)g(less)g(than)g
(one)h(or)g(less)f(than)g Fv(n)p FK(,)i(or)f(if)f Fv(ldb)g
FK(is)g(less)g(than)g(one)h(or)g(less)0 3734 y(than)29
b Fv(n)p FK(,)i(or)e(if)g Fv(ldc)h FK(is)e(less)h(than)h(one)g(or)g
(less)f(than)g Fv(n)p FK(,)h(an)g(error)f(\015ag)h(is)f(set)h(and)g
(passed)f(to)h(the)g(error)g(handler.)141 3847 y(The)d(in)m(terfaces)h
(encompass)g(the)g(Legacy)h(BLAS)f(routine)e(xSYMM)i(with)f(added)g
(functionalit)m(y)f(for)h(com-)0 3960 y(plex)i(symmetric)h(matrices.)
141 4073 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 4186 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 4299 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
136 4504 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
4723 y FD(SUBROUTINE)45 b(symm\()i(a,)g(b,)g(c)g([,)h(side])e([,)h
(uplo])f([,)i(alpha])e([,)h(beta])f([,)h(prec])g(\))514
4835 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(a\(:,:\))514
4948 y(<type>\(<wp>\),)d(INTENT\(IN\))h(::)i(<bb>)514
5061 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(<cc>)514
5174 y(TYPE)f(\(blas_side_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(side)514 5287 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)
h(::)h(uplo)514 5400 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)
i(alpha,)f(beta)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 160 170
160 169 bop 0 -165 a FK(160)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)514 91
y FD(TYPE)46 b(\(blas_prec_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j
(prec)418 204 y(where)514 317 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h
(b\(:\))514 430 y(<cc>)94 b(::=)47 b(c\(:,:\))f(or)h(c\(:\))418
543 y(and)466 656 y(c,)g(rank)g(2,)g(has)g(shape)f(\(m,n\),)g(b)i(same)
e(shape)h(as)g(c)561 769 y(SY)95 b(a)48 b(has)f(shape)f(\(m,m\))g(if)i
(side)e(=)i(blas_left_side)c(\(the)i(default\))752 882
y(a)i(has)f(shape)f(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)466
995 y(c,)g(rank)g(1,)g(has)g(shape)f(\(m\),)h(b)g(same)g(shape)f(as)h
(c)561 1108 y(SY)95 b(a)48 b(has)f(shape)f(\(m,m\))p
1154 1276 1820 4 v 1152 1389 4 113 v 1204 1355 a FK(Rank)30
b FD(b)p 1541 1389 V 99 w FK(Rank)h FD(c)p 1929 1389
V 99 w(side)p 2220 1389 V 98 w FK(Op)s(eration)p 2972
1389 V 1154 1393 1820 4 v 1152 1505 4 113 v 1326 1472
a(2)p 1541 1505 V 343 w(2)p 1929 1505 V 289 w(L)p 2220
1505 V 166 w Fy(C)h FJ( )25 b Fy(\013AB)h FK(+)20 b Fy(\014)5
b(C)p 2972 1505 V 1152 1618 V 1326 1585 a FK(2)p 1541
1618 V 343 w(2)p 1929 1618 V 284 w(R)p 2220 1618 V 161
w Fy(C)32 b FJ( )25 b Fy(\013B)5 b(A)21 b FK(+)f Fy(\014)5
b(C)p 2972 1618 V 1152 1731 V 1326 1697 a FK(1)p 1541
1731 V 343 w(1)p 1929 1731 V 302 w(-)p 2220 1731 V 180
w Fy(c)26 b FJ( )f Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p
2972 1731 V 1154 1735 1820 4 v 227 1943 a FK(The)44 b(table)h
(de\014ning)e(the)i(op)s(eration)f(as)h(a)g(function)e(of)i(the)g(op)s
(erator)g(argumen)m(ts)g(is)f(iden)m(tical)f(to)227 2056
y(Chapter)30 b(2.)227 2206 y(The)g(functionalit)m(y)f(of)i(xSYMV)f(is)f
(co)m(v)m(ered)j(b)m(y)f Fv(symm)p FK(.)227 2356 y(The)g(t)m(yp)s(es)g
(of)g FD(a)p FK(,)h FD(b)p FK(,)f FD(c)p FK(,)g FD(alpha)f
FK(and)g FD(beta)g FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g
(rules)d(of)j(mixed)e(precision)227 2469 y(argumen)m(ts)h(set)h(do)m
(wn)e(in)f(section)i(4.3:)43 b(the)31 b(t)m(yp)s(es)f(of)h
FD(a)g FK(and)f FD(b)g FK(can)h(optionally)e(di\013er)h(from)g(that)h
(of)g FD(c)p FK(,)227 2582 y FD(alpha)e FK(and)h FD(beta)p
FK(.)136 2770 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
2995 y FD(SUBROUTINE)45 b(BLAS_xSYMM{_a_b}{_X}\()d(SIDE,)k(UPLO,)g(M,)i
(N,)f(ALPHA,)f(A,)h(LDA,)466 3108 y($)1575 b(B,)47 b(LDB,)f(BETA,)h(C,)
g(LDC)g([,)g(PREC])f(\))514 3221 y(INTEGER)570 b(LDA,)47
b(LDB,)g(LDC,)f(M,)i(N,)f(SIDE,)f(UPLO)h([,)g(PREC])514
3334 y(<type>)618 b(ALPHA,)47 b(BETA)514 3447 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\))514 3559 y(<type>)618 b(B\()48
b(LDB,)e(*)i(\))514 3672 y(<type>)618 b(C\()48 b(LDC,)e(*)i(\))227
3897 y FK(The)31 b(t)m(yp)s(es)g(of)h FD(ALPHA)p FK(,)e
FD(A)p FK(,)h FD(B)p FK(,)g FD(BETA)f FK(and)g FD(C)h
FK(are)h(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e
(precision)227 4010 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i
(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s
(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
4123 y(but)f(if)p 483 4123 29 4 v 64 w FD(a)p 566 4123
V 34 w(b)g FK(is)f(presen)m(t)i(then)p 1293 4123 V 64
w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g FD(A)f FK(and)p
2216 4123 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(B)p FK(.)h(The)f(su\016x)p 3416 4123 V 63 w FD(X)g
FK(is)g(presen)m(t)227 4236 y(if)g(and)f(only)h(if)f
FD(PREC)g FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h
(su\016xes)p 2535 4236 V 64 w FD(a)p 2618 4236 V 34 w(b)f
FK(and)p 2906 4236 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
4424 y FJ(\017)46 b FK(C)30 b(binding:)227 4649 y FD(void)47
b(BLAS_xsymm{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c(order,)1516
4762 y(enum)k(blas_side_type)c(side,)1516 4875 y(enum)k(blas_uplo_type)
c(uplo,)k(int)g(m,)g(int)g(n,)1516 4987 y(SCALAR_IN)e(alpha,)h(const)h
(ARRAY)f(a,)h(int)g(lda,)1516 5100 y(const)f(ARRAY)h(b,)g(int)g(ldb,)f
(SCALAR_IN)g(beta,)g(ARRAY)g(c,)1516 5213 y(int)h(ldc)g([,)g(enum)g
(blas_prec_type)c(prec])k(\);)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 161 171
161 170 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(161)227 91 y(The)31 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)g FD(a)p FK(,)g FD(b)p FK(,)g FD(beta)f FK(and)h
FD(c)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j
(mixed)e(precision)227 204 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
317 y(but)k(if)p 494 317 29 4 v 69 w FD(a)p 576 317 V
35 w(b)g FK(is)g(presen)m(t)h(then)p 1325 317 V 70 w
FD(a)f FK(is)g(the)h(t)m(yp)s(e)g(of)g(argumen)m(t)g
FD(a)p FK(,)h(and)p 2725 317 V 70 w FD(b)e FK(is)g(the)h(t)m(yp)s(e)g
(of)g(argumen)m(t)g FD(b)p FK(.)227 430 y(The)29 b(su\016x)p
657 430 V 62 w FD(x)f FK(is)g(presen)m(t)h(if)f(and)g(only)g(if)g
FD(prec)f FK(is)h(presen)m(t.)40 b(One)29 b(or)g(b)s(oth)f(of)h(the)g
(su\016xes)p 3456 430 V 62 w FD(a)p 3538 430 V 34 w(b)g
FK(and)p 3824 430 V 62 w FD(x)227 543 y FK(m)m(ust)i(b)s(e)e(presen)m
(t.)p 0 731 3900 6 v 0 844 a(HEMM)i(\(Hermitian)e(Matrix)i(Matrix)f
(Pro)s(duct\))696 b Fy(C)31 b FJ( )25 b Fy(\013AB)h FK(+)20
b Fy(\014)5 b(C)37 b FK(or)30 b Fy(C)i FJ( )25 b Fy(\013B)5
b(A)20 b FK(+)g Fy(\014)5 b(C)141 1070 y FK(This)42 b(routine)g(p)s
(erforms)g(one)h(of)h(the)f(Hermitian)f(matrix)h(matrix)f(op)s
(erations)h Fy(C)53 b FJ( )47 b Fy(\013AB)34 b FK(+)28
b Fy(\014)5 b(C)50 b FK(or)0 1183 y Fy(C)41 b FJ( )34
b Fy(\013B)5 b(A)24 b FK(+)f Fy(\014)5 b(C)43 b FK(where)35
b Fy(\013)h FK(and)f Fy(\014)41 b FK(are)36 b(scalars,)h
Fy(A)f FK(is)f(a)h(Hermitian)f(matrix,)h(and)f Fy(B)41
b FK(and)35 b Fy(C)42 b FK(are)36 b(general)0 1296 y(matrices.)k(This)
26 b(routine)h(returns)f(immediately)g(if)h Fv(m)h FK(or)g
Fv(n)f FK(is)g(less)g(than)h(or)f(equal)h(to)g(zero.)41
b(F)-8 b(or)28 b Fv(side)g FK(equal)f(to)0 1409 y Fv(blas)p
153 1409 28 4 v 32 w(left)p 308 1409 V 32 w(side)p FK(,)32
b(and)f(if)g Fv(lda)g FK(is)f(less)h(than)g(one)h(or)f(less)g(than)g
Fv(m)p FK(,)i(or)e(if)g Fv(ldb)g FK(is)f(less)h(than)g(one)h(or)g(less)
e(than)i Fv(m)p FK(,)g(or)0 1522 y(if)f Fv(ldc)h FK(is)f(less)g(than)h
(one)g(or)g(less)f(than)h Fv(m)p FK(,)h(an)f(error)f(\015ag)i(is)e(set)
h(and)g(passed)f(to)i(the)f(error)g(handler.)43 b(F)-8
b(or)33 b Fv(side)0 1635 y FK(equal)h(to)i Fv(blas)p
513 1635 V 32 w(right)p 723 1635 V 32 w(side)p FK(,)g(and)e(if)g
Fv(lda)g FK(is)g(less)g(than)g(one)h(or)g(less)f(than)g
Fv(n)p FK(,)i(or)f(if)f Fv(ldb)g FK(is)g(less)g(than)g(one)h(or)g(less)
0 1748 y(than)29 b Fv(n)p FK(,)i(or)e(if)g Fv(ldc)h FK(is)e(less)h
(than)h(one)g(or)g(less)f(than)g Fv(n)p FK(,)h(an)g(error)f(\015ag)h
(is)f(set)h(and)g(passed)f(to)h(the)g(error)g(handler.)141
1860 y(The)g(in)m(terfaces)h(encompass)f(the)h(Legacy)h(BLAS)e(routine)
f(xHEMM.)141 1973 y(Extended)h(precision)f(and)g(mixed)g(precision)g
(are)i(p)s(ermitted.)141 2086 y(This)36 b(routine)h(has)h(the)g(same)g
(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h
(extended)f(precision)e(and)0 2199 y(mixed)29 b(precision)g(are)i(p)s
(ermitted.)136 2388 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 2588 y FD(Hermitian:)418 2701 y(SUBROUTINE)45
b(hemm\()i(a,)g(b,)g(c)g([,)h(side])e([,)h(uplo])f([,)i(alpha])e([,)h
(beta])f([,)h(prec])g(\))514 2814 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h
(::)i(a\(:,:\))514 2927 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(<bb>)
514 3040 y(COMPLEX\(<wp>\),)d(INTENT\(INOUT\))g(::)j(<cc>)514
3153 y(TYPE)f(\(blas_side_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(side)514 3266 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)
h(::)h(uplo)514 3379 y(COMPLEX\(<wp>\),)d(INTENT\(IN\),)g(OPTIONAL)i
(::)h(alpha,)f(beta)514 3492 y(TYPE)g(\(blas_prec_type\),)d(INTENT)j
(\(IN\),)h(OPTIONAL)e(::)j(prec)418 3605 y(where)514
3718 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))514
3830 y(<cc>)94 b(::=)47 b(c\(:,:\))f(or)h(c\(:\))418
3943 y(and)466 4056 y(c,)g(rank)g(2,)g(has)g(shape)f(\(m,n\),)g(b)i
(same)e(shape)h(as)g(c)561 4169 y(HE)95 b(a)48 b(has)f(shape)f(\(m,m\))
g(if)i("side")e(=)h(blas_left_side)d(\(the)j(default\))752
4282 y(a)h(has)f(shape)f(\(n,n\))g(if)i("side")e(/=)h(blas_left_side)
466 4395 y(c,)g(rank)g(1,)g(has)g(shape)f(\(m\),)h(b)g(same)g(shape)f
(as)h(c)561 4508 y(HE)95 b(a)48 b(has)f(shape)f(\(m,m\))p
1154 4649 1820 4 v 1152 4761 4 113 v 1204 4728 a FK(Rank)30
b FD(b)p 1541 4761 V 99 w FK(Rank)h FD(c)p 1929 4761
V 99 w(side)p 2220 4761 V 98 w FK(Op)s(eration)p 2972
4761 V 1154 4765 1820 4 v 1152 4878 4 113 v 1326 4844
a(2)p 1541 4878 V 343 w(2)p 1929 4878 V 289 w(L)p 2220
4878 V 166 w Fy(C)h FJ( )25 b Fy(\013AB)h FK(+)20 b Fy(\014)5
b(C)p 2972 4878 V 1152 4991 V 1326 4957 a FK(2)p 1541
4991 V 343 w(2)p 1929 4991 V 284 w(R)p 2220 4991 V 161
w Fy(C)32 b FJ( )25 b Fy(\013B)5 b(A)21 b FK(+)f Fy(\014)5
b(C)p 2972 4991 V 1152 5104 V 1326 5070 a FK(1)p 1541
5104 V 343 w(1)p 1929 5104 V 302 w(-)p 2220 5104 V 180
w Fy(c)26 b FJ( )f Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p
2972 5104 V 1154 5107 1820 4 v 227 5287 a FK(The)44 b(table)h
(de\014ning)e(the)i(op)s(eration)f(as)h(a)g(function)e(of)i(the)g(op)s
(erator)g(argumen)m(ts)g(is)f(iden)m(tical)f(to)227 5400
y(Chapter)30 b(2.)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 162 172
162 171 bop 0 -165 a FK(162)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FK(The)h(functionalit)m(y)f(of)i(xHEMV)f(is)g(co)m(v)m(ered)i(b)m(y)e
Fv(hemm)p FK(.)227 240 y(The)h(t)m(yp)s(es)g(of)g FD(a)p
FK(,)h FD(b)p FK(,)f FD(c)p FK(,)g FD(alpha)f FK(and)g
FD(beta)g FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j
(mixed)e(precision)227 353 y(argumen)m(ts)h(set)h(do)m(wn)e(in)f
(section)i(4.3:)43 b(the)31 b(t)m(yp)s(es)f(of)h FD(a)g
FK(and)f FD(b)g FK(can)h(optionally)e(di\013er)h(from)g(that)h(of)g
FD(c)p FK(,)227 466 y FD(alpha)e FK(and)h FD(beta)p FK(.)136
650 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
866 y FD(SUBROUTINE)45 b(BLAS_xHEMM{_a_b}{_X}\()d(SIDE,)k(UPLO,)g(M,)i
(N,)f(ALPHA,)f(A,)h(LDA,)466 979 y($)1575 b(B,)47 b(LDB,)f(BETA,)h(C,)g
(LDC)g([,)g(PREC])f(\))514 1092 y(INTEGER)570 b(LDA,)47
b(LDB,)g(LDC,)f(M,)i(N,)f(SIDE,)f(UPLO)h([,)g(PREC])514
1205 y(<ctype>)570 b(ALPHA,)47 b(BETA)514 1317 y(<ctype>)570
b(A\()48 b(LDA,)e(*)i(\))514 1430 y(<ctype>)570 b(B\()48
b(LDB,)e(*)i(\))514 1543 y(<ctype>)570 b(C\()48 b(LDC,)e(*)i(\))227
1759 y FK(The)31 b(t)m(yp)s(es)g(of)h FD(ALPHA)p FK(,)e
FD(A)p FK(,)h FD(B)p FK(,)g FD(BETA)f FK(and)g FD(C)h
FK(are)h(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j(mixed)e
(precision)227 1872 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i
(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s
(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
1985 y(but)f(if)p 483 1985 29 4 v 64 w FD(a)p 566 1985
V 34 w(b)g FK(is)f(presen)m(t)i(then)p 1293 1985 V 64
w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g FD(A)f FK(and)p
2216 1985 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(B)p FK(.)h(The)f(su\016x)p 3416 1985 V 63 w FD(X)g
FK(is)g(presen)m(t)227 2097 y(if)g(and)f(only)h(if)f
FD(PREC)g FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h
(su\016xes)p 2535 2097 V 64 w FD(a)p 2618 2097 V 34 w(b)f
FK(and)p 2906 2097 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
2282 y FJ(\017)46 b FK(C)30 b(binding:)227 2497 y FD(void)47
b(BLAS_xhemm{_a_b}{_x}\()42 b(enum)47 b(blas_order_type)c(order,)1516
2610 y(enum)k(blas_side_type)c(side,)1516 2723 y(enum)k(blas_uplo_type)
c(uplo,)k(int)g(m,)g(int)g(n,)1516 2836 y(CSCALAR_IN)e(alpha,)h(const)g
(CARRAY)g(a,)i(int)f(lda,)1516 2949 y(const)f(CARRAY)g(b,)i(int)e(ldb,)
h(CSCALAR_IN)e(beta,)h(CARRAY)h(c,)1516 3062 y(int)g(ldc)g([,)g(enum)g
(blas_prec_type)c(prec])k(\);)227 3277 y FK(The)31 b(t)m(yp)s(es)g(of)g
FD(alpha)p FK(,)g FD(a)p FK(,)g FD(b)p FK(,)g FD(beta)f
FK(and)h FD(c)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)
d(of)j(mixed)e(precision)227 3390 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
3503 y(but)k(if)p 494 3503 V 69 w FD(a)p 576 3503 V 35
w(b)g FK(is)g(presen)m(t)h(then)p 1325 3503 V 70 w FD(a)f
FK(is)g(the)h(t)m(yp)s(e)g(of)g(argumen)m(t)g FD(a)p
FK(,)h(and)p 2725 3503 V 70 w FD(b)e FK(is)g(the)h(t)m(yp)s(e)g(of)g
(argumen)m(t)g FD(b)p FK(.)227 3616 y(The)29 b(su\016x)p
657 3616 V 62 w FD(x)f FK(is)g(presen)m(t)h(if)f(and)g(only)g(if)g
FD(prec)f FK(is)h(presen)m(t.)40 b(One)29 b(or)g(b)s(oth)f(of)h(the)g
(su\016xes)p 3456 3616 V 62 w FD(a)p 3538 3616 V 34 w(b)g
FK(and)p 3824 3616 V 62 w FD(x)227 3729 y FK(m)m(ust)i(b)s(e)e(presen)m
(t.)p 0 3932 3900 6 v 0 4045 a(TRMM)i(\(T)-8 b(riangular)28
b(Matrix)j(Matrix)f(Multiply\))812 b Fy(B)30 b FJ( )25
b Fy(\013op)p FK(\()p Fy(T)13 b FK(\))p Fy(B)35 b FK(or)c
Fy(B)f FJ( )25 b Fy(\013B)5 b(op)p FK(\()p Fy(T)13 b
FK(\))141 4271 y(These)33 b(routines)g(p)s(erform)f(one)i(of)g(the)g
(matrix-matrix)e(op)s(erations)h Fy(B)i FJ( )c Fy(\013op)p
FK(\()p Fy(T)13 b FK(\))p Fy(B)38 b FK(or)c Fy(B)h FJ( )c
Fy(\013B)5 b(op)p FK(\()p Fy(T)13 b FK(\))0 4384 y(where)31
b Fy(\013)h FK(is)f(a)h(scalar,)g Fy(B)k FK(is)31 b(a)h(general)f
(matrix,)h(and)f Fy(T)44 b FK(is)31 b(a)h(unit,)e(or)i(non-unit,)f(upp)
s(er)e(or)j(lo)m(w)m(er)g(triangular)0 4497 y(matrix.)43
b(This)30 b(routine)g(returns)g(immediately)g(if)g Fv(m)h
FK(or)h Fv(n)f FK(is)f(less)h(than)g(or)h(equal)e(to)j(zero.)44
b(F)-8 b(or)32 b Fv(side)f FK(equal)g(to)0 4610 y Fv(blas)p
153 4610 28 4 v 32 w(left)p 308 4610 V 32 w(side)p FK(,)h(and)f(if)f
Fv(ldt)h FK(is)f(less)h(than)g(one)h(or)f(less)g(than)g
Fv(m)p FK(,)h(or)f(if)f Fv(ldb)h FK(is)g(less)f(than)h(one)h(or)f(less)
g(than)g Fv(m)p FK(,)h(an)0 4723 y(error)g(\015ag)i(is)e(set)h(and)f
(passed)h(to)g(the)g(error)g(handler.)46 b(F)-8 b(or)33
b Fv(side)g FK(equal)g(to)g Fv(blas)p 2829 4723 V 32
w(right)p 3039 4723 V 33 w(side)p FK(,)g(and)g(if)e Fv(ldt)i
FK(is)f(less)0 4835 y(than)f(one)h(or)g(less)f(than)g
Fv(n)p FK(,)h(or)g(if)e Fv(ldb)h FK(is)g(less)g(than)g(one)h(or)f(less)
g(than)h Fv(m)p FK(,)g(an)f(error)h(\015ag)f(is)g(set)h(and)f(passed)g
(to)0 4948 y(the)g(error)f(handler.)141 5061 y(These)g(in)m(terfaces)h
(encompass)g(the)f(Legacy)i(BLAS)e(routine)g(xTRMM.)141
5174 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 5287 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 5400 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 163 173
163 172 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(163)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
316 y FD(SUBROUTINE)45 b(trmm\()i(t,)g(b)g([,)g(side])g([,)g(uplo])f
([,)h(transt])f([,)h(diag])g(&)1230 429 y([,)g(alpha])f([,)h(prec])f
(\))514 542 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(t\(:,:\))514
655 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(<bb>)514
768 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha)514
881 y(TYPE)f(\(blas_diag_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(diag)514 994 y(TYPE)f(\(blas_side_type\),)d(INTENT\(IN\),)i(OPTIONAL)h
(::)h(side)514 1107 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(transt)514 1220 y(TYPE)e(\(blas_uplo_type\),)d
(INTENT\(IN\),)i(OPTIONAL)h(::)h(uplo)514 1333 y(TYPE)f
(\(blas_prec_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j(prec)418
1445 y(where)514 1558 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))418
1671 y(and)466 1784 y(b,)g(rank)g(2,)g(has)g(shape)f(\(m,n\))561
1897 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))g(if)i(side)e(=)i
(blas_left_side)c(\(the)i(default\))752 2010 y(t)i(has)f(shape)f
(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)466 2123 y(b,)g(rank)g(1,)g
(has)g(shape)f(\(m\))561 2236 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))p
1241 2405 1645 4 v 1239 2518 4 113 v 1291 2484 a FK(Rank)30
b FD(b)p 1628 2518 V 100 w(transa)p 2014 2518 V 98 w(side)p
2305 2518 V 98 w FK(Op)s(eration)p 2884 2518 V 1241 2521
1645 4 v 1239 2634 4 113 v 1413 2600 a(2)p 1628 2634
V 331 w(N)p 2014 2634 V 276 w(L)p 2305 2634 V 166 w Fy(B)g
FJ( )25 b Fy(\013T)13 b(B)p 2884 2634 V 1239 2747 V 1413
2713 a FK(2)p 1628 2747 V 332 w(T)p 2014 2747 V 277 w(L)p
2305 2747 V 166 w Fy(B)30 b FJ( )25 b Fy(\013T)2695 2680
y Fw(T)2750 2713 y Fy(B)p 2884 2747 V 1239 2860 V 1413
2826 a FK(2)p 1628 2860 V 331 w(H)p 2014 2860 V 276 w(L)p
2305 2860 V 166 w Fy(B)30 b FJ( )25 b Fy(\013T)2695 2793
y Fw(H)2763 2826 y Fy(B)p 2884 2860 V 1239 2972 V 1413
2939 a FK(2)p 1628 2972 V 331 w(N)p 2014 2972 V 271 w(R)p
2305 2972 V 161 w Fy(B)30 b FJ( )25 b Fy(\013B)5 b(T)p
2884 2972 V 1239 3085 V 1413 3052 a FK(2)p 1628 3085
V 332 w(T)p 2014 3085 V 272 w(R)p 2305 3085 V 161 w Fy(B)30
b FJ( )25 b Fy(\013B)5 b(T)2769 3019 y Fw(T)p 2884 3085
V 1239 3198 V 1413 3164 a FK(2)p 1628 3198 V 331 w(H)p
2014 3198 V 271 w(R)p 2305 3198 V 161 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2769 3131 y Fw(H)p 2884 3198 V 1239
3311 V 1413 3277 a FK(1)p 1628 3311 V 331 w(N)p 2014
3311 V 289 w(-)p 2305 3311 V 180 w Fy(b)25 b FJ( )h Fy(\013T)13
b(b)p 2884 3311 V 1239 3424 V 1413 3390 a FK(1)p 1628
3424 V 332 w(T)p 2014 3424 V 290 w(-)p 2305 3424 V 180
w Fy(b)25 b FJ( )h Fy(\013T)2661 3357 y Fw(T)2716 3390
y Fy(b)p 2884 3424 V 1239 3537 V 1413 3503 a FK(1)p 1628
3537 V 331 w(H)p 2014 3537 V 289 w(-)p 2305 3537 V 180
w Fy(b)f FJ( )h Fy(\013T)2661 3470 y Fw(H)2728 3503 y
Fy(b)p 2884 3537 V 1241 3540 1645 4 v 227 3749 a FK(The)44
b(table)h(de\014ning)e(the)i(op)s(eration)f(as)h(a)g(function)e(of)i
(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)m(tical)f(to)227
3862 y(Chapter)30 b(2.)227 4012 y(The)g(functionalit)m(y)f(of)i(xTRMV)f
(is)f(co)m(v)m(ered)j(b)m(y)f Fv(trmm)p FK(.)227 4162
y(The)23 b(t)m(yp)s(es)h(of)g FD(alpha)p FK(,)g FD(t)p
FK(,)h(and)e FD(b)g FK(are)h(go)m(v)m(erned)h(according)f(to)g(the)g
(rules)e(of)i(mixed)f(precision)f(argumen)m(ts)227 4275
y(set)31 b(do)m(wn)f(in)f(section)i(4.3:)42 b(the)30
b(t)m(yp)s(e)h(of)f FD(t)g FK(can)h(optionally)e(di\013er)g(from)h
(that)h(of)f FD(b)g FK(and)g FD(alpha)p FK(.)136 4463
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
4688 y FD(SUBROUTINE)45 b(BLAS_xTRMM{_a}{_X}\()d(SIDE,)47
b(UPLO,)f(TRANST,)g(DIAG,)g(M,)h(N,)466 4801 y($)1479
b(ALPHA,)46 b(T,)h(LDT,)g(B,)g(LDB)g([,)g(PREC])g(\))514
4914 y(INTEGER)570 b(DIAG,)47 b(LDT,)f(LDB,)h(M,)g(N,)g(SIDE,)g
(TRANST,)f(UPLO)466 5026 y($)906 b([,)48 b(PREC])514
5139 y(<type>)618 b(ALPHA)514 5252 y(<type>)g(T\()48
b(LDT,)e(*)i(\))514 5365 y(<type>)618 b(B\()48 b(LDB,)e(*)i(\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 164 174
164 173 bop 0 -165 a FK(164)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FK(The)24 b(t)m(yp)s(es)g(of)g FD(ALPHA)p FK(,)e FD(T)p
FK(,)i(and)f FD(B)h FK(are)g(go)m(v)m(erned)h(according)f(to)g(the)g
(rules)f(of)h(mixed)f(precision)f(argumen)m(ts)227 204
y(set)32 b(do)m(wn)e(in)g(section)g(4.3.)44 b(The)30
b(pre\014x)g FD(x)g FK(is)g(the)h(\015oating)g(p)s(oin)m(t)f(t)m(yp)s
(e)h(of)g(the)g(argumen)m(ts,)g(but)f(if)p 3732 204 29
4 v 64 w FD(a)h FK(is)227 317 y(presen)m(t)d(then)p 752
317 V 62 w FD(a)g FK(is)f(the)h(t)m(yp)s(e)g(of)g FD(T)p
FK(.)g(The)f(su\016x)p 1931 317 V 61 w FD(X)h FK(is)f(presen)m(t)h(if)f
(and)g(only)g(if)g FD(PREC)g FK(is)g(presen)m(t.)39 b(One)28
b(or)227 430 y(b)s(oth)i(of)g(the)h(su\016xes)p 1024
430 V 64 w FD(a)f FK(and)p 1314 430 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g
(presen)m(t.)136 618 y FJ(\017)46 b FK(C)30 b(binding:)227
843 y FD(void)47 b(BLAS_xtrmm{_a}{_x}\(enum)41 b(blas_order_type)j
(order,)i(enum)h(blas_side_type)d(side,)1373 956 y(enum)i
(blas_uplo_type)e(uplo,)j(enum)f(blas_trans_type)e(transa,)1373
1068 y(enum)i(blas_diag_type)e(diag,)j(int)g(m,)g(int)g(n,)1373
1181 y(SCALAR_IN)e(alpha,)h(const)g(ARRAY)h(t,)g(int)g(ldt,)g(ARRAY)f
(b,)1373 1294 y(int)h(ldb)g([,)g(enum)f(blas_prec_type)e(prec])j(\);)
227 1519 y FK(The)23 b(t)m(yp)s(es)h(of)g FD(alpha)p
FK(,)g FD(t)p FK(,)h(and)e FD(b)g FK(are)h(go)m(v)m(erned)h(according)f
(to)g(the)g(rules)e(of)i(mixed)f(precision)f(argumen)m(ts)227
1632 y(set)36 b(do)m(wn)f(in)f(section)i(4.3.)56 b(The)35
b(pre\014x)g FD(x)g FK(is)f(the)i(\015oating)f(p)s(oin)m(t)f(t)m(yp)s
(e)i(of)f(the)h(argumen)m(ts,)h(but)e(if)p 3824 1632
V 68 w FD(a)227 1745 y FK(is)f(presen)m(t)h(then)p 861
1745 V 69 w FD(a)f FK(is)g(the)h(t)m(yp)s(e)g(of)g(argumen)m(t)g
FD(t)p FK(.)53 b(The)35 b(su\016x)p 2525 1745 V 68 w
FD(x)f FK(is)g(presen)m(t)h(if)f(and)g(only)g(if)f FD(prec)h
FK(is)227 1858 y(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)h(the)f
(su\016xes)p 1679 1858 V 64 w FD(a)g FK(and)p 1969 1858
V 64 w FD(x)g FK(m)m(ust)h(b)s(e)e(presen)m(t.)p 0 2071
3900 6 v 0 2183 a(TRSM)h(\(T)-8 b(riangular)29 b(Solv)m(e\))1401
b Fy(B)30 b FJ( )25 b Fy(\013op)p FK(\()p Fy(T)2887 2150
y Fu(\000)p FC(1)2982 2183 y FK(\))p Fy(B)35 b FK(or)30
b Fy(B)g FJ( )25 b Fy(\013B)5 b(op)p FK(\()p Fy(T)3770
2150 y Fu(\000)p FC(1)3865 2183 y FK(\))141 2409 y(This)23
b(routine)h(solv)m(es)i(one)f(of)g(the)g(matrix)f(equations)h
Fy(B)30 b FJ( )25 b Fy(\013op)p FK(\()p Fy(T)2471 2376
y Fu(\000)p FC(1)2566 2409 y FK(\))p Fy(B)30 b FK(or)25
b Fy(B)k FJ( )c Fy(\013B)5 b(op)p FK(\()p Fy(T)3343 2376
y Fu(\000)p FC(1)3438 2409 y FK(\))25 b(where)f Fy(\013)i
FK(is)0 2522 y(a)h(scalar,)g Fy(B)k FK(is)26 b(a)g(general)h(matrix,)g
(and)e(T)h(is)g(a)h(unit,)f(or)g(non-unit,)g(upp)s(er)e(or)j(lo)m(w)m
(er)f(triangular)f(matrix.)39 b(This)0 2635 y(routine)31
b(returns)f(immediately)g(if)h Fv(m)h FK(or)f Fv(n)h
FK(is)f(less)g(than)g(or)h(equal)f(to)h(zero.)46 b(F)-8
b(or)32 b Fv(side)g FK(equal)f(to)h Fv(blas)p 3548 2635
28 4 v 32 w(left)p 3703 2635 V 33 w(side)p FK(,)0 2748
y(and)27 b(if)g Fv(ldt)g FK(is)f(less)h(than)h(one)g(or)f(less)g(than)h
Fv(m)p FK(,)g(or)g(if)e Fv(ldb)i FK(is)e(less)h(than)h(one)f(or)h(less)
f(than)g Fv(m)p FK(,)i(an)e(error)h(\015ag)g(is)e(set)0
2861 y(and)31 b(passed)g(to)h(the)g(error)f(handler.)42
b(F)-8 b(or)32 b Fv(side)f FK(equal)g(to)h Fv(blas)p
2174 2861 V 32 w(right)p 2384 2861 V 33 w(side)p FK(,)g(and)f(if)f
Fv(ldt)h FK(is)g(less)f(than)h(one)h(or)g(less)0 2974
y(than)c Fv(n)p FK(,)h(or)f(if)g Fv(ldb)f FK(is)h(less)f(than)i(one)f
(or)h(less)e(than)h Fv(m)p FK(,)h(an)g(error)f(\015ag)g(is)g(set)g(and)
g(passed)g(to)h(the)g(error)f(handler.)141 3087 y(These)i(in)m
(terfaces)h(encompass)g(the)f(Legacy)i(BLAS)e(routine)g(xTRSM.)141
3200 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)227 3412 y Fz(A)-5 b(dvic)g(e)26 b(to)h(implementors.)78
b FK(Note)25 b(that)f(no)f(c)m(hec)m(k)i(for)e(singularit)m(y)-8
b(,)23 b(or)g(near)g(singularit)m(y)e(is)i(sp)s(eci\014ed)e(for)227
3525 y(these)32 b(triangular)e(equation-solving)h(functions.)43
b(The)31 b(requiremen)m(ts)f(for)i(suc)m(h)f(a)h(test)g(dep)s(end)e(on)
i(the)227 3638 y(application,)27 b(and)g(so)h(w)m(e)h(felt)e(that)i
(this)d(should)g(not)i(b)s(e)f(included,)f(but)h(should)f(instead)h(b)s
(e)g(p)s(erformed)227 3751 y(b)s(efore)j(calling)f(the)i(triangular)d
(solv)m(er.)227 3901 y(T)-8 b(o)28 b(implemen)m(t)d(this)h(function)f
(when)h(the)h(in)m(ternal)f(precision)f(requested)i(is)f(higher)f(than)
i(the)g(precision)227 4014 y(of)33 b Fv(B)p FK(,)g(temp)s(orary)f(w)m
(orkspace)i(is)e(needed)h(to)g(compute)g(and)g(store)g
Fv(B)f FK(in)m(ternally)f(to)j(higher)e(precision.)227
4127 y(\()p Fz(End)h(of)g(advic)-5 b(e)33 b(to)h(implementors.)p
FK(\))141 4340 y(This)i(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 4452 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
136 4665 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)418
4915 y FD(SUBROUTINE)45 b(trsm\()i(t,)g(b)g([,)g(side])g([,)g(uplo])f
([,)h(transt])f([,)h(diag])g(&)1230 5028 y([,)g(alpha])f([,)h(prec])f
(\))514 5141 y(<type>\(<wp>\),)e(INTENT\(IN\))h(::)i(t\(:,:\))514
5254 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j(<bb>)514
5367 y(TYPE)f(\(blas_side_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(side)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 165 175
165 174 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(165)514 91 y FD(TYPE)46 b(\(blas_uplo_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(uplo)514 204 y(TYPE)f(\(blas_trans_type\),)d
(INTENT\(IN\),)i(OPTIONAL)g(::)j(transt)514 317 y(TYPE)e
(\(blas_diag_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h(diag)514
430 y(<type>\(<wp>\),)d(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha)514
543 y(TYPE)f(\(blas_prec_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j
(prec)418 656 y(where)514 769 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h
(b\(:\))418 882 y(and)466 995 y(b,)g(rank)g(2,)g(has)g(shape)f(\(m,n\))
561 1108 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))g(if)i(side)e(=)i
(blas_left_side)c(\(the)i(default\))752 1220 y(t)i(has)f(shape)f
(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)466 1333 y(b,)g(rank)g(1,)g
(has)g(shape)f(\(m\))561 1446 y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))p
1214 1615 1700 4 v 1212 1728 4 113 v 1264 1694 a FK(Rank)30
b FD(b)p 1601 1728 V 99 w(transa)p 1987 1728 V 98 w(side)p
2277 1728 V 99 w FK(Op)s(eration)p 2912 1728 V 1214 1731
1700 4 v 1212 1844 4 113 v 1385 1810 a(2)p 1601 1844
V 331 w(N)p 1987 1844 V 276 w(L)p 2277 1844 V 167 w Fy(B)g
FJ( )25 b Fy(\013T)2668 1777 y Fu(\000)p FC(1)2762 1810
y Fy(B)p 2912 1844 V 1212 1957 V 1385 1923 a FK(2)p 1601
1957 V 333 w(T)p 1987 1957 V 276 w(L)p 2277 1957 V 167
w Fy(B)30 b FJ( )25 b Fy(\013T)2668 1890 y Fu(\000)p
Fw(T)2778 1923 y Fy(B)p 2912 1957 V 1212 2070 V 1385
2036 a FK(2)p 1601 2070 V 331 w(H)p 1987 2070 V 276 w(L)p
2277 2070 V 167 w Fy(B)30 b FJ( )25 b Fy(\013T)2668 2003
y Fu(\000)p Fw(H)2790 2036 y Fy(B)p 2912 2070 V 1212
2183 V 1385 2149 a FK(2)p 1601 2183 V 331 w(N)p 1987
2183 V 271 w(R)p 2277 2183 V 162 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2742 2116 y Fu(\000)p FC(1)p 2912 2183
V 1212 2296 V 1385 2262 a FK(2)p 1601 2296 V 333 w(T)p
1987 2296 V 271 w(R)p 2277 2296 V 162 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2742 2229 y Fu(\000)p Fw(T)p 2912 2296
V 1212 2409 V 1385 2375 a FK(2)p 1601 2409 V 331 w(H)p
1987 2409 V 271 w(R)p 2277 2409 V 162 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(T)2742 2342 y Fu(\000)p Fw(H)p 2912 2409
V 1212 2522 V 1385 2488 a FK(1)p 1601 2522 V 331 w(N)p
1987 2522 V 290 w(-)p 2277 2522 V 180 w Fy(b)25 b FJ( )g
Fy(\013T)2633 2455 y Fu(\000)p FC(1)2728 2488 y Fy(b)p
2912 2522 V 1212 2635 V 1385 2601 a FK(1)p 1601 2635
V 333 w(T)p 1987 2635 V 290 w(-)p 2277 2635 V 180 w Fy(b)g
FJ( )g Fy(\013T)2633 2568 y Fu(\000)p Fw(T)2743 2601
y Fy(b)p 2912 2635 V 1212 2747 V 1385 2714 a FK(1)p 1601
2747 V 331 w(H)p 1987 2747 V 290 w(-)p 2277 2747 V 180
w Fy(b)g FJ( )g Fy(\013T)2633 2681 y Fu(\000)p Fw(H)2756
2714 y Fy(b)p 2912 2747 V 1214 2751 1700 4 v 227 2959
a FK(The)44 b(table)h(de\014ning)e(the)i(op)s(eration)f(as)h(a)g
(function)e(of)i(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)m(tical)f
(to)227 3072 y(Chapter)30 b(2.)227 3222 y(The)g(functionalit)m(y)f(of)i
(xTRSV)e(is)g(co)m(v)m(ered)j(b)m(y)f Fv(trsm)p FK(.)227
3373 y(The)25 b(t)m(yp)s(es)h(of)f FD(t)p FK(,)h FD(x)f
FK(and)g FD(alpha)f FK(are)i(go)m(v)m(erned)g(according)g(to)g(the)f
(rules)f(of)i(mixed)e(precision)g(argumen)m(ts)227 3486
y(set)31 b(do)m(wn)f(in)f(section)i(4.3:)42 b(the)30
b(t)m(yp)s(e)h(of)f FD(t)g FK(can)h(optionally)e(di\013er)g(from)h
(that)h(of)f FD(x)g FK(and)g FD(alpha)p FK(.)136 3673
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
3898 y FD(SUBROUTINE)45 b(BLAS_xTRSM{_a}{_X}\()d(SIDE,)47
b(UPLO,)f(TRANST,)g(DIAG,)g(M,)h(N,)466 4011 y($)1479
b(ALPHA,)46 b(T,)h(LDT,)g(B,)g(LDB)g([,)g(PREC])g(\))514
4124 y(INTEGER)570 b(DIAG,)47 b(LDT,)f(LDB,)h(M,)g(N,)g(SIDE,)g
(TRANST,)f(UPLO)466 4237 y($)906 b([,)48 b(PREC])514
4350 y(<type>)618 b(ALPHA)514 4463 y(<type>)g(T\()48
b(LDT,)e(*)i(\))514 4576 y(<type>)618 b(B\()48 b(LDB,)e(*)i(\))227
4801 y FK(The)24 b(t)m(yp)s(es)g(of)g FD(ALPHA)p FK(,)e
FD(T)p FK(,)i(and)f FD(B)h FK(are)g(go)m(v)m(erned)h(according)f(to)g
(the)g(rules)f(of)h(mixed)f(precision)f(argumen)m(ts)227
4914 y(set)32 b(do)m(wn)e(in)g(section)g(4.3.)44 b(The)30
b(pre\014x)g FD(x)g FK(is)g(the)h(\015oating)g(p)s(oin)m(t)f(t)m(yp)s
(e)h(of)g(the)g(argumen)m(ts,)g(but)f(if)p 3732 4914
29 4 v 64 w FD(a)h FK(is)227 5026 y(presen)m(t)d(then)p
752 5026 V 62 w FD(a)g FK(is)f(the)h(t)m(yp)s(e)g(of)g
FD(T)p FK(.)g(The)f(su\016x)p 1931 5026 V 61 w FD(X)h
FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)g FD(PREC)g
FK(is)g(presen)m(t.)39 b(One)28 b(or)227 5139 y(b)s(oth)i(of)g(the)h
(su\016xes)p 1024 5139 V 64 w FD(a)f FK(and)p 1314 5139
V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136 5327
y FJ(\017)46 b FK(C)30 b(binding:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 166 176
166 175 bop 0 -165 a FK(166)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FD(void)47 b(BLAS_xtrsm{_a}{_x}\()42 b(enum)47 b(blas_order_type)d
(order,)i(enum)g(blas_side_type)e(side,)1420 204 y(enum)j
(blas_uplo_type)d(uplo,)i(enum)h(blas_trans_type)d(transt,)1420
317 y(enum)j(blas_diag_type)d(diag,)i(int)h(m,)g(int)g(n,)1420
430 y(SCALAR_IN)f(alpha,)g(const)g(ARRAY)h(t,)g(int)g(ldt,)f(ARRAY)h
(b,)1420 543 y(int)g(ldb)g([,)g(enum)g(blas_prec_type)d(prec])i(\);)227
747 y FK(The)23 b(t)m(yp)s(es)h(of)g FD(alpha)p FK(,)g
FD(t)p FK(,)h(and)e FD(b)g FK(are)h(go)m(v)m(erned)h(according)f(to)g
(the)g(rules)e(of)i(mixed)f(precision)f(argumen)m(ts)227
860 y(set)36 b(do)m(wn)f(in)f(section)i(4.3.)56 b(The)35
b(pre\014x)g FD(x)g FK(is)f(the)i(\015oating)f(p)s(oin)m(t)f(t)m(yp)s
(e)i(of)f(the)h(argumen)m(ts,)h(but)e(if)p 3824 860 29
4 v 68 w FD(a)227 973 y FK(is)f(presen)m(t)h(then)p 861
973 V 69 w FD(a)f FK(is)g(the)h(t)m(yp)s(e)g(of)g(argumen)m(t)g
FD(t)p FK(.)53 b(The)35 b(su\016x)p 2525 973 V 68 w FD(x)f
FK(is)g(presen)m(t)h(if)f(and)g(only)g(if)f FD(prec)h
FK(is)227 1086 y(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)h(the)f
(su\016xes)p 1679 1086 V 64 w FD(a)g FK(and)p 1969 1086
V 64 w FD(x)g FK(m)m(ust)h(b)s(e)e(presen)m(t.)p 0 1277
3900 6 v 0 1390 a(SYRK)h(\(Symmetric)f(Rank)h(K)g(up)s(date\))1009
b Fy(C)32 b FJ( )25 b Fy(\013AA)2848 1357 y Fw(T)2924
1390 y FK(+)20 b Fy(\014)5 b(C)i FK(,)30 b Fy(C)i FJ( )25
b Fy(\013A)3537 1357 y Fw(T)3593 1390 y Fy(A)20 b FK(+)g
Fy(\014)5 b(C)141 1616 y FK(This)41 b(routine)h(p)s(erforms)f(one)i(of)
g(the)g(symmetric)f(rank)g(k)h(op)s(erations)f Fy(C)52
b FJ( )46 b Fy(\013AA)3214 1583 y Fw(T)3298 1616 y FK(+)29
b Fy(\014)5 b(C)49 b FK(or)43 b Fy(C)52 b FJ( )0 1729
y Fy(\013A)126 1696 y Fw(T)182 1729 y Fy(A)20 b FK(+)g
Fy(\014)5 b(C)37 b FK(where)29 b Fy(\013)i FK(and)f Fy(\014)35
b FK(are)c(scalars,)f Fy(C)37 b FK(is)29 b(a)i(symmetric)e(matrix,)h
(and)g Fy(A)g FK(is)g(a)g(general)h(matrix.)40 b(This)0
1842 y(routine)35 b(returns)g(immediately)f(if)h Fv(n)h
FK(or)g Fv(k)h FK(is)e(less)g(than)h(or)g(equal)f(to)i(zero.)58
b(If)36 b Fv(ldc)g FK(is)f(less)h(than)f(one)i(or)f(less)0
1955 y(than)30 b Fv(n)p FK(,)g(an)g(error)g(\015ag)h(is)e(set)i(and)e
(passed)h(to)h(the)g(error)e(handler.)39 b(F)-8 b(or)31
b Fv(trans)f FK(equal)f(to)i Fv(blas)p 3273 1955 28 4
v 32 w(no)p 3397 1955 V 34 w(trans)p FK(,)e(and)h(if)0
2068 y Fv(lda)k FK(is)g(less)g(than)g(one)h(or)f(less)g(than)h
Fv(n)p FK(,)h(an)e(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)i(the)
e(error)h(handler.)51 b(F)-8 b(or)36 b Fv(trans)0 2181
y FK(equal)31 b(to)i Fv(blas)p 507 2181 V 32 w(trans)p
FK(,)f(and)f(if)g Fv(lda)g FK(is)g(less)h(than)f(one)h(or)g(less)g
(than)f Fv(k)p FK(,)i(an)f(error)g(\015ag)g(is)f(set)h(and)g(passed)f
(to)i(the)0 2293 y(error)d(handler.)141 2406 y(These)43
b(in)m(terfaces)h(encompass)f(the)h(Legacy)h(BLAS)e(routine)f(xSYRK)h
(with)f(added)g(functionalit)m(y)g(for)0 2519 y(complex)30
b(symmetric)g(matrices.)141 2632 y(Extended)g(precision)f(and)g(mixed)g
(precision)g(are)i(p)s(ermitted.)141 2745 y(This)36 b(routine)h(has)h
(the)g(same)g(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d
(that)h(extended)f(precision)e(and)0 2858 y(mixed)29
b(precision)g(are)i(p)s(ermitted.)136 3050 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)418 3275 y FD(SUBROUTINE)45
b(syrk\()i(a,)g(c)g([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h
(beta])g(&)1230 3388 y([,)g(prec])f(\))514 3501 y(<type>\(<wp>\),)e
(INTENT\(IN\))h(::)i(<aa>)514 3614 y(<type>\(<wp>\),)d(INTENT\(INOUT\))
g(::)j(c\(:,:\))514 3727 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(uplo)514 3839 y(TYPE)f(\(blas_trans_type\),)d
(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514 3952 y(<type>\(<wp>\),)c
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)514 4065
y(TYPE)g(\(blas_prec_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j(prec)
418 4178 y(where)514 4291 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))
418 4404 y(and)466 4517 y(c)g(has)g(shape)g(\(n,n\))466
4630 y(a)g(has)g(shape)g(\(n,k\))f(if)h(trans)g(=)g(blas_no_trans)d
(\(the)j(default\))1039 4743 y(\(k,n\))f(if)h(trans)g(/=)g
(blas_no_trans)1039 4856 y(\(n\))g(if)g(rank)f(1)p 1300
4987 1528 4 v 1298 5100 4 113 v 1349 5066 a FK(Rank)31
b FD(a)p 1686 5100 V 99 w(trans)p 2025 5100 V 98 w FK(Op)s(eration)p
2826 5100 V 1300 5104 1528 4 v 1298 5217 4 113 v 1471
5183 a(2)p 1686 5217 V 307 w(N)p 2025 5217 V 185 w Fy(C)h
FJ( )25 b Fy(\013AA)2483 5150 y Fw(T)2559 5183 y FK(+)20
b Fy(\014)5 b(C)p 2826 5217 V 1298 5329 V 1471 5296 a
FK(2)p 1686 5329 V 308 w(T)p 2025 5329 V 186 w Fy(C)32
b FJ( )25 b Fy(\013A)2415 5263 y Fw(T)2471 5296 y Fy(A)20
b FK(+)g Fy(\014)5 b(C)p 2826 5329 V 1298 5442 V 1471
5408 a FK(1)p 1686 5442 V 326 w(-)p 2025 5442 V 204 w
Fy(C)32 b FJ( )25 b Fy(\013aa)2443 5375 y Fw(T)2519 5408
y FK(+)20 b Fy(\014)5 b(C)p 2826 5442 V 1300 5446 1528
4 v 4084 64 a FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 167 177
167 176 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(167)227 91 y(The)44 b(table)h(de\014ning)e(the)i(op)s(eration)f
(as)h(a)g(function)e(of)i(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)
m(tical)f(to)227 204 y(Chapter)30 b(2.)227 353 y(The)37
b(t)m(yp)s(es)h(of)f FD(alpha)p FK(,)h FD(a)p FK(,)i
FD(beta)c FK(and)h FD(c)g FK(are)h(go)m(v)m(erned)g(according)g(to)g
(the)g(rules)e(of)h(mixed)g(precision)227 466 y(argumen)m(ts)30
b(set)g(do)m(wn)f(in)g(section)g(4.3:)42 b(the)30 b(t)m(yp)s(e)f(of)h
FD(a)g FK(can)f(optionally)f(di\013er)h(from)g(those)h(of)g
FD(c)p FK(,)f FD(alpha)227 579 y FK(and)h FD(beta)p FK(.)136
765 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
984 y FD(SUBROUTINE)45 b(BLAS_xSYRK{_a}{_X}\()d(UPLO,)47
b(TRANS,)f(N,)h(K,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)466 1097
y($)1479 b(C,)47 b(LDC)g([,)g(PREC])g(\))514 1210 y(INTEGER)570
b(K,)48 b(LDA,)e(LDC,)h(N,)g(TRANS,)f(UPLO)h([,)g(PREC])514
1322 y(<type>)618 b(ALPHA,)47 b(BETA)514 1435 y(<type>)618
b(A\()48 b(LDA,)e(*)i(\))514 1548 y(<type>)618 b(C\()48
b(LDC,)e(*)i(\))227 1767 y FK(The)37 b(t)m(yp)s(es)h(of)g
FD(ALPHA)p FK(,)f FD(A)p FK(,)g FD(BETA)g FK(and)g FD(C)g
FK(are)h(go)m(v)m(erned)h(according)f(to)g(the)g(rules)e(of)i(mixed)f
(precision)227 1880 y(argumen)m(ts)32 b(set)g(do)m(wn)f(in)f(section)i
(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s
(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
1993 y(but)37 b(if)p 497 1993 29 4 v 70 w FD(a)g FK(is)g(presen)m(t)g
(then)p 1251 1993 V 71 w FD(a)g FK(is)f(the)i(t)m(yp)s(e)f(of)h
FD(A)p FK(.)f(The)f(su\016x)p 2505 1993 V 71 w FD(X)h
FK(is)f(presen)m(t)h(if)g(and)f(only)h(if)f FD(PREC)g
FK(is)227 2106 y(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)h(the)f
(su\016xes)p 1679 2106 V 64 w FD(a)g FK(and)p 1969 2106
V 64 w FD(X)g FK(m)m(ust)h(b)s(e)e(presen)m(t.)136 2291
y FJ(\017)46 b FK(C)30 b(binding:)227 2510 y FD(void)47
b(BLAS_xsyrk{_a}{_x}\()42 b(enum)47 b(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1420 2623 y(enum)j(blas_trans_type)d(trans,)i
(int)h(n,)g(int)g(k,)1420 2736 y(SCALAR_IN)f(alpha,)g(const)g(ARRAY)h
(a,)g(int)g(lda,)1420 2849 y(SCALAR_IN)f(beta,)g(ARRAY)g(c,)i(int)f
(ldc)1420 2962 y([,)h(enum)e(blas_prec_type)e(prec])j(\);)227
3181 y FK(The)37 b(t)m(yp)s(es)h(of)f FD(alpha)p FK(,)h
FD(a)p FK(,)i FD(beta)c FK(and)h FD(c)g FK(are)h(go)m(v)m(erned)g
(according)g(to)g(the)g(rules)e(of)h(mixed)g(precision)227
3294 y(argumen)m(ts)32 b(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 3407 y(but)h(if)p
487 3407 V 66 w FD(a)g FK(is)f(presen)m(t)i(then)p 1222
3407 V 66 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)f(argumen)m(t)h
FD(a)p FK(.)47 b(The)32 b(su\016x)p 2861 3407 V 65 w
FD(x)g FK(is)g(presen)m(t)g(if)g(and)f(only)h(if)227
3519 y FD(prec)d FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g
(the)h(su\016xes)p 1992 3519 V 64 w FD(a)f FK(and)p 2281
3519 V 64 w FD(x)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)p
0 3726 3900 6 v 0 3839 a(HERK)g(\(Hermitian)f(Rank)i(K)f(up)s(date\))
998 b Fy(C)32 b FJ( )25 b Fy(\013AA)2824 3806 y Fw(H)2912
3839 y FK(+)20 b Fy(\014)5 b(C)i FK(,)30 b Fy(C)i FJ( )25
b Fy(\013A)3525 3806 y Fw(H)3593 3839 y Fy(A)20 b FK(+)g
Fy(\014)5 b(C)141 4065 y FK(This)41 b(routine)h(p)s(erforms)f(one)i(of)
g(the)f(Hermitian)g(rank)g(k)g(op)s(erations)g Fy(C)53
b FJ( )45 b Fy(\013AA)3202 4032 y Fw(H)3299 4065 y FK(+)28
b Fy(\014)5 b(C)49 b FK(or)43 b Fy(C)52 b FJ( )0 4177
y Fy(\013A)126 4144 y Fw(H)194 4177 y Fy(A)20 b FK(+)g
Fy(\014)5 b(C)36 b FK(where)30 b Fy(\013)h FK(and)e Fy(\014)36
b FK(are)30 b(scalars,)h Fy(C)36 b FK(is)29 b(a)i(Hermitian)e(matrix,)h
(and)f Fy(A)i FK(is)e(a)i(general)f(matrix.)40 b(This)0
4290 y(routine)35 b(returns)g(immediately)f(if)h Fv(n)h
FK(or)g Fv(k)h FK(is)e(less)g(than)h(or)g(equal)f(to)i(zero.)58
b(If)36 b Fv(ldc)g FK(is)f(less)h(than)f(one)i(or)f(less)0
4403 y(than)30 b Fv(n)p FK(,)g(an)g(error)g(\015ag)h(is)e(set)i(and)e
(passed)h(to)h(the)g(error)e(handler.)39 b(F)-8 b(or)31
b Fv(trans)f FK(equal)f(to)i Fv(blas)p 3273 4403 28 4
v 32 w(no)p 3397 4403 V 34 w(trans)p FK(,)e(and)h(if)0
4516 y Fv(lda)k FK(is)g(less)g(than)g(one)h(or)f(less)g(than)h
Fv(n)p FK(,)h(an)e(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)i(the)
e(error)h(handler.)51 b(F)-8 b(or)36 b Fv(trans)0 4629
y FK(equal)31 b(to)i Fv(blas)p 507 4629 V 32 w(trans)p
FK(,)f(and)f(if)g Fv(lda)g FK(is)g(less)h(than)f(one)h(or)g(less)g
(than)f Fv(k)p FK(,)i(an)f(error)g(\015ag)g(is)f(set)h(and)g(passed)f
(to)i(the)0 4742 y(error)d(handler.)141 4855 y(These)g(in)m(terfaces)h
(encompass)g(the)f(Legacy)i(BLAS)e(routine)g(xHERK.)141
4968 y(Extended)g(precision)f(and)g(mixed)g(precision)g(are)i(p)s
(ermitted.)141 5081 y(This)36 b(routine)h(has)h(the)g(same)g(sp)s
(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d(that)h(extended)f
(precision)e(and)0 5194 y(mixed)29 b(precision)g(are)i(p)s(ermitted.)
136 5400 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 168 178
168 177 bop 0 -165 a FK(168)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)418 91
y FD(SUBROUTINE)45 b(herk\()i(a,)g(c)g([,)g(uplo])g([,)g(trans])f([,)h
(alpha])f([,)h(beta])g(&)1230 204 y([,)g(prec])f(\))514
317 y(COMPLEX\(<wp>\),)e(INTENT\(IN\))h(::)i(<aa>)514
430 y(COMPLEX\(<wp>\),)d(INTENT\(INOUT\))g(::)j(c\(:,:\))514
543 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 656 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i(OPTIONAL)
g(::)j(trans)514 769 y(REAL\(<wp>\),)c(INTENT\(IN\),)h(OPTIONAL)h(::)h
(alpha,)f(beta)514 882 y(TYPE)g(\(blas_prec_type\),)d(INTENT)j(\(IN\),)
h(OPTIONAL)e(::)j(prec)418 995 y(where)514 1108 y(<aa>)94
b(::=)47 b(a\(:,:\))f(or)h(a\(:\))418 1220 y(and)466
1333 y(c)g(has)g(shape)g(\(n,n\))466 1446 y(a)g(has)g(shape)g(\(n,k\))f
(if)h(trans)g(=)g(blas_no_trans)d(\(the)j(default\))1039
1559 y(\(k,n\))f(if)h(trans)g(/=)g(blas_no_trans)1039
1672 y(\(n\))g(if)g(rank)f(1)p 1294 1828 1541 4 v 1292
1941 4 113 v 1343 1907 a FK(Rank)31 b FD(a)p 1680 1941
V 99 w(trans)p 2019 1941 V 98 w FK(Op)s(eration)p 2832
1941 V 1294 1944 1541 4 v 1292 2057 4 113 v 1465 2024
a(2)p 1680 2057 V 307 w(N)p 2019 2057 V 185 w Fy(C)h
FJ( )25 b Fy(\013AA)2477 1991 y Fw(H)2565 2024 y FK(+)20
b Fy(\014)5 b(C)p 2832 2057 V 1292 2170 V 1465 2136 a
FK(2)p 1680 2170 V 308 w(T)p 2019 2170 V 186 w Fy(C)32
b FJ( )25 b Fy(\013A)2409 2103 y Fw(H)2477 2136 y Fy(A)20
b FK(+)g Fy(\014)5 b(C)p 2832 2170 V 1292 2283 V 1465
2249 a FK(1)p 1680 2283 V 326 w(-)p 2019 2283 V 204 w
Fy(C)32 b FJ( )25 b Fy(\013aa)2437 2216 y Fw(H)2525 2249
y FK(+)20 b Fy(\014)5 b(C)p 2832 2283 V 1294 2287 1541
4 v 227 2495 a FK(The)44 b(table)h(de\014ning)e(the)i(op)s(eration)f
(as)h(a)g(function)e(of)i(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)
m(tical)f(to)227 2608 y(Chapter)30 b(2.)227 2758 y(The)37
b(t)m(yp)s(es)h(of)f FD(alpha)p FK(,)h FD(a)p FK(,)i
FD(beta)c FK(and)h FD(c)g FK(are)h(go)m(v)m(erned)g(according)g(to)g
(the)g(rules)e(of)h(mixed)g(precision)227 2871 y(argumen)m(ts)30
b(set)g(do)m(wn)f(in)g(section)g(4.3:)42 b(the)30 b(t)m(yp)s(e)f(of)h
FD(a)g FK(can)f(optionally)f(di\013er)h(from)g(those)h(of)g
FD(c)p FK(,)f FD(alpha)227 2984 y FK(and)h FD(beta)p
FK(.)136 3172 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
3397 y FD(SUBROUTINE)45 b(BLAS_xHERK{_a}{_X}\()d(UPLO,)47
b(TRANS,)f(N,)h(K,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)466 3509
y($)1479 b(C,)47 b(LDC)g([,)g(PREC])g(\))514 3622 y(INTEGER)570
b(K,)48 b(LDA,)e(LDC,)h(N,)g(TRANS,)f(UPLO)h([,)g(PREC])514
3735 y(<rtype>)570 b(ALPHA,)47 b(BETA)514 3848 y(<ctype>)570
b(A\()48 b(LDA,)e(*)i(\))514 3961 y(<ctype>)570 b(C\()48
b(LDC,)e(*)i(\))227 4186 y FK(The)37 b(t)m(yp)s(es)h(of)g
FD(ALPHA)p FK(,)f FD(A)p FK(,)g FD(BETA)g FK(and)g FD(C)g
FK(are)h(go)m(v)m(erned)h(according)f(to)g(the)g(rules)e(of)i(mixed)f
(precision)227 4299 y(argumen)m(ts)32 b(set)g(do)m(wn)f(in)f(section)i
(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s
(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
4412 y(but)37 b(if)p 497 4412 29 4 v 70 w FD(a)g FK(is)g(presen)m(t)g
(then)p 1251 4412 V 71 w FD(a)g FK(is)f(the)i(t)m(yp)s(e)f(of)h
FD(A)p FK(.)f(The)f(su\016x)p 2505 4412 V 71 w FD(X)h
FK(is)f(presen)m(t)h(if)g(and)f(only)h(if)f FD(PREC)g
FK(is)227 4525 y(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)h(the)f
(su\016xes)p 1679 4525 V 64 w FD(a)g FK(and)p 1969 4525
V 64 w FD(X)g FK(m)m(ust)h(b)s(e)e(presen)m(t.)136 4712
y FJ(\017)46 b FK(C)30 b(binding:)227 4937 y FD(void)47
b(BLAS_xherk{_a}{_x}\()42 b(enum)47 b(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1420 5050 y(enum)j(blas_trans_type)d(trans,)i
(int)h(n,)g(int)g(k,)1420 5163 y(RSCALAR_IN)e(alpha,)i(const)f(CARRAY)g
(a,)h(int)g(lda,)1420 5276 y(RSCALAR_IN)e(beta,)i(CARRAY)f(c,)h(int)g
(ldc)1420 5389 y([,)h(enum)e(blas_prec_type)e(prec])j(\);)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 169 179
169 178 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(169)227 91 y(The)37 b(t)m(yp)s(es)h(of)f FD(alpha)p
FK(,)h FD(a)p FK(,)i FD(beta)c FK(and)h FD(c)g FK(are)h(go)m(v)m(erned)
g(according)g(to)g(the)g(rules)e(of)h(mixed)g(precision)227
204 y(argumen)m(ts)32 b(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 317 y(but)h(if)p
487 317 29 4 v 66 w FD(a)g FK(is)f(presen)m(t)i(then)p
1222 317 V 66 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)f(argumen)m(t)h
FD(a)p FK(.)47 b(The)32 b(su\016x)p 2861 317 V 65 w FD(x)g
FK(is)g(presen)m(t)g(if)g(and)f(only)h(if)227 430 y FD(prec)d
FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h(su\016xes)p
1992 430 V 64 w FD(a)f FK(and)p 2281 430 V 64 w FD(x)g
FK(m)m(ust)g(b)s(e)g(presen)m(t.)p 0 597 3900 6 v 0 710
a(SYR2K)g(\(Symmetric)g(rank)g(2k)g(up)s(date\))1216
b Fy(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))p Fy(B)3168
677 y Fw(T)3244 710 y FK(+)20 b Fy(B)5 b FK(\()p Fy(\013A)p
FK(\))3605 677 y Fw(T)3681 710 y FK(+)20 b Fy(\014)5
b(C)2685 859 y(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))3094
826 y Fw(T)3151 859 y Fy(B)f FK(+)c Fy(B)3409 826 y Fw(T)3464
859 y FK(\()p Fy(\013A)p FK(\))h(+)f Fy(\014)5 b(C)141
1009 y FK(These)39 b(routines)g(p)s(erform)f(the)i(symmetric)e(rank)h
(2k)h(op)s(eration)f Fy(C)47 b FJ( )40 b FK(\()p Fy(\013A)p
FK(\))p Fy(B)3023 976 y Fw(T)3106 1009 y FK(+)26 b Fy(B)5
b FK(\()p Fy(\013A)p FK(\))3473 976 y Fw(T)3555 1009
y FK(+)26 b Fy(\014)5 b(C)46 b FK(or)0 1122 y Fy(C)33
b FJ( )26 b FK(\()p Fy(\013A)p FK(\))411 1089 y Fw(T)467
1122 y Fy(B)f FK(+)20 b Fy(B)726 1089 y Fw(T)781 1122
y FK(\()p Fy(\013A)p FK(\))i(+)e Fy(\014)5 b(C)37 b FK(where)31
b Fy(\013)g FK(and)f Fy(\014)36 b FK(are)c(scalars,)f
Fy(C)37 b FK(is)30 b(a)h(symmetric)f(matrix,)h(and)f
Fy(A)h FK(and)f Fy(B)0 1234 y FK(are)f(general)g(matrices.)41
b(This)27 b(routine)h(returns)f(immediately)h(if)f Fv(n)i
FK(or)g Fv(k)g FK(is)f(less)h(than)f(or)h(equal)g(to)g(zero.)41
b(If)29 b Fv(ldc)0 1347 y FK(is)g(less)h(than)g(one)h(or)g(less)e(than)
h Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)h
(the)f(error)g(handler.)39 b(F)-8 b(or)32 b Fv(trans)d
FK(equal)0 1460 y(to)34 b Fv(blas)p 267 1460 28 4 v 32
w(no)p 391 1460 V 33 w(trans)p FK(,)f(and)g(if)f Fv(lda)g
FK(is)g(less)g(than)h(one)g(or)g(less)g(than)g Fv(n)p
FK(,)g(or)g(if)f Fv(ldb)h FK(is)f(less)h(than)f(one)i(or)f(less)f(than)
h Fv(n)p FK(,)0 1573 y(an)f(error)f(\015ag)i(is)e(set)h(and)g(passed)f
(to)i(the)f(error)f(handler.)44 b(F)-8 b(or)33 b Fv(trans)e
FK(equal)h(to)g Fv(blas)p 2988 1573 V 32 w(trans)p FK(,)g(and)f(if)g
Fv(lda)h FK(is)f(less)0 1686 y(than)i(one)g(or)f(less)h(than)f
Fv(k)p FK(,)i(or)f(if)f Fv(ldb)g FK(is)g(less)g(than)h(one)g(or)g(less)
f(than)g Fv(k)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i(and)e(passed)g
(to)0 1799 y(the)f(error)f(handler.)141 1912 y(These)39
b(in)m(terfaces)h(encompass)f(the)g(Legacy)i(BLAS)e(routine)f(xSYR2K)h
(with)f(added)h(functionalit)m(y)e(for)0 2025 y(complex)30
b(symmetric)g(matrices.)141 2138 y(Extended)g(precision)f(and)g(mixed)g
(precision)g(are)i(p)s(ermitted.)141 2251 y(This)36 b(routine)h(has)h
(the)g(same)g(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d
(that)h(extended)f(precision)e(and)0 2364 y(mixed)29
b(precision)g(are)i(p)s(ermitted.)136 2530 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)418 2727 y FD(SUBROUTINE)45
b(syr2k\()h(a,)h(b,)h(c)f([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h
(beta])1277 2840 y([,)g(prec])g(\))514 2953 y(<type>\(<wp>\),)d
(INTENT\(IN\))h(::)i(<aa>)514 3065 y(<type>\(<wp>\),)d(INTENT\(IN\))h
(::)i(<bb>)514 3178 y(<type>\(<wp>\),)d(INTENT\(INOUT\))g(::)j
(c\(:,:\))514 3291 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i
(OPTIONAL)h(::)h(uplo)514 3404 y(TYPE)f(\(blas_trans_type\),)d
(INTENT\(IN\),)i(OPTIONAL)g(::)j(trans)514 3517 y(<type>\(<wp>\),)c
(INTENT\(IN\),)h(OPTIONAL)g(::)i(alpha,)f(beta)514 3630
y(TYPE)g(\(blas_prec_type\),)d(INTENT)j(\(IN\),)h(OPTIONAL)e(::)j(prec)
418 3743 y(where)514 3856 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))
514 3969 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))418
4082 y(and)466 4195 y(c)g(has)g(shape)g(\(n,n\))466 4307
y(if)g(trans)f(=)i(blas_no_trans)c(\(the)j(default\))609
4420 y(a)h(has)e(shape)h(\(n,k\))609 4533 y(b)h(has)e(shape)h(\(n,k\))
466 4646 y(if)g(trans)f(/=)i(blas_no_trans)609 4759 y(a)g(has)e(shape)h
(\(k,n\))609 4872 y(b)h(has)e(shape)h(\(k,n\))p 920 4987
2289 4 v 918 5100 4 113 v 969 5066 a FK(Rank)31 b FD(a)p
1306 5100 V 99 w FK(Rank)f FD(b)p 1695 5100 V 99 w(trans)p
2033 5100 V 99 w FK(Op)s(eration)p 3206 5100 V 920 5104
2289 4 v 918 5217 4 113 v 1091 5183 a(2)p 1306 5217 V
344 w(2)p 1695 5217 V 307 w(N)p 2033 5217 V 185 w Fy(C)h
FJ( )26 b Fy(\013AB)2498 5150 y Fw(T)2573 5183 y FK(+)20
b Fy(\013B)5 b(A)2864 5150 y Fw(T)2939 5183 y FK(+)20
b Fy(\014)5 b(C)p 3206 5217 V 918 5329 V 1091 5296 a
FK(2)p 1306 5329 V 344 w(2)p 1695 5329 V 308 w(T)p 2033
5329 V 186 w Fy(C)31 b FJ( )26 b Fy(\013A)2424 5263 y
Fw(T)2479 5296 y Fy(B)f FK(+)20 b Fy(\013B)2796 5263
y Fw(T)2851 5296 y Fy(A)g FK(+)g Fy(\014)5 b(C)p 3206
5329 V 918 5442 V 1091 5408 a FK(1)p 1306 5442 V 344
w(1)p 1695 5442 V 326 w(-)p 2033 5442 V 204 w Fy(C)31
b FJ( )26 b Fy(\013ab)2443 5375 y Fw(T)2518 5408 y FK(+)20
b Fy(\013ba)2754 5375 y Fw(T)2830 5408 y FK(+)g Fy(\014)5
b(C)p 3206 5442 V 920 5446 2289 4 v -214 64 a FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 170 180
170 179 bop 0 -165 a FK(170)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FK(The)44 b(table)h(de\014ning)e(the)i(op)s(eration)f(as)h(a)g
(function)e(of)i(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)m(tical)f
(to)227 204 y(Chapter)30 b(2.)227 352 y(The)h(t)m(yp)s(es)g(of)g
FD(alpha)p FK(,)g FD(a)p FK(,)g FD(b)p FK(,)g FD(beta)f
FK(and)h FD(c)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)
d(of)j(mixed)e(precision)227 465 y(argumen)m(ts)f(set)g(do)m(wn)f(in)f
(section)i(4.3:)40 b(the)29 b(t)m(yp)s(es)f(of)h FD(a)f
FK(and)g FD(b)g FK(can)h(optionally)d(di\013er)i(from)g(those)g(of)h
FD(c)p FK(,)227 578 y FD(alpha)g FK(and)h FD(beta)p FK(.)136
762 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
975 y FD(SUBROUTINE)45 b(BLAS_xSYR2K{_a_b}{_X}\()c(UPLO,)47
b(TRANS,)f(N,)h(K,)g(ALPHA,)f(A,)h(LDA,)466 1087 y($)1622
b(B,)48 b(LDB,)e(BETA,)h(C,)g(LDC)g([,)g(PREC])f(\))514
1200 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(N,)g(TRANS,)f(UPLO)g
([,)i(PREC])514 1313 y(<type>)618 b(ALPHA,)47 b(BETA)514
1426 y(<type>)618 b(A\()48 b(LDA,)e(*)i(\))514 1539 y(<type>)618
b(B\()48 b(LDB,)e(*)i(\))514 1652 y(<type>)618 b(C\()48
b(LDC,)e(*)i(\))227 1865 y FK(The)31 b(t)m(yp)s(es)g(of)h
FD(ALPHA)p FK(,)e FD(A)p FK(,)h FD(B)p FK(,)g FD(BETA)f
FK(and)g FD(C)h FK(are)h(go)m(v)m(erned)g(according)f(to)h(the)g(rules)
d(of)j(mixed)e(precision)227 1978 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
2091 y(but)f(if)p 483 2091 29 4 v 64 w FD(a)p 566 2091
V 34 w(b)g FK(is)f(presen)m(t)i(then)p 1293 2091 V 64
w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g FD(A)f FK(and)p
2216 2091 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(B)p FK(.)h(The)f(su\016x)p 3416 2091 V 63 w FD(X)g
FK(is)g(presen)m(t)227 2203 y(if)g(and)f(only)h(if)f
FD(PREC)g FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h
(su\016xes)p 2535 2203 V 64 w FD(a)p 2618 2203 V 34 w(b)f
FK(and)p 2906 2203 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
2387 y FJ(\017)46 b FK(C)30 b(binding:)227 2600 y FD(void)47
b(BLAS_xsyr2k{_a_b}{_x}\()42 b(enum)k(blas_order_type)e(order,)1564
2713 y(enum)i(blas_uplo_type)e(uplo,)1564 2826 y(enum)i
(blas_trans_type)e(trans,)i(int)h(n,)g(int)g(k,)1564
2938 y(SCALAR_IN)e(alpha,)h(const)g(ARRAY)h(a,)g(int)g(lda,)1564
3051 y(const)f(ARRAY)g(b,)i(int)e(ldb,)1564 3164 y(SCALAR_IN)f(beta,)h
(ARRAY)h(c,)g(int)g(ldc)1564 3277 y([,)g(enum)f(blas_prec_type)e(prec])
j(\);)227 3490 y FK(The)31 b(t)m(yp)s(es)g(of)g FD(alpha)p
FK(,)g FD(a)p FK(,)g FD(b)p FK(,)g FD(beta)f FK(and)h
FD(c)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)d(of)j
(mixed)e(precision)227 3603 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f
(section)i(4.3.)45 b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g
(\015oating)h(p)s(oin)m(t)e(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227
3716 y(but)c(if)p 477 3716 V 61 w FD(a)p 560 3716 V 34
w(b)g FK(is)f(presen)m(t)h(then)p 1274 3716 V 62 w FD(a)g
FK(is)f(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)f FD(a)g
FK(and)p 2580 3716 V 61 w FD(b)g FK(is)g(the)g(t)m(yp)s(e)h(of)f
(argumen)m(t)h FD(b)p FK(.)39 b(The)227 3829 y(su\016x)p
470 3829 V 60 w FD(x)27 b FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)f
FD(prec)h FK(is)g(presen)m(t.)40 b(One)26 b(or)h(b)s(oth)f(of)h(the)g
(su\016xes)p 3238 3829 V 60 w FD(a)p 3320 3829 V 34 w(b)g
FK(and)p 3602 3829 V 61 w FD(x)f FK(m)m(ust)227 3942
y(b)s(e)k(presen)m(t.)p 0 4142 3900 6 v 0 4255 a(HER2K)g(\(Hermitian)g
(rank)g(2k)g(up)s(date\))1206 b Fy(C)32 b FJ( )25 b FK(\()p
Fy(\013A)p FK(\))p Fy(B)3144 4222 y Fw(H)3232 4255 y
FK(+)20 b Fy(B)5 b FK(\()p Fy(\013A)p FK(\))3593 4222
y Fw(H)3681 4255 y FK(+)20 b Fy(\014)5 b(C)2661 4432
y(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))3070 4399
y Fw(H)3138 4432 y Fy(B)g FK(+)20 b Fy(B)3397 4399 y
Fw(H)3464 4432 y FK(\()p Fy(\013A)p FK(\))h(+)f Fy(\014)5
b(C)141 4610 y FK(These)38 b(routines)g(p)s(erform)f(the)i(Hermitian)e
(rank)h(2k)h(op)s(eration)f Fy(C)46 b FJ( )38 b FK(\()p
Fy(\013A)p FK(\))p Fy(B)3002 4577 y Fw(H)3096 4610 y
FK(+)26 b Fy(B)5 b FK(\()p Fy(\013A)p FK(\))3463 4577
y Fw(H)3556 4610 y FK(+)26 b Fy(\014)5 b(C)45 b FK(or)0
4723 y Fy(C)32 b FJ( )25 b FK(\()p Fy(\013A)p FK(\))409
4690 y Fw(H)478 4723 y Fy(B)f FK(+)c Fy(B)736 4690 y
Fw(H)802 4723 y FK(\()p Fy(\013A)p FK(\))i(+)d Fy(\014)5
b(C)37 b FK(where)30 b Fy(\013)h FK(and)e Fy(\014)36
b FK(are)30 b(scalars,)h Fy(C)36 b FK(is)29 b(a)i(Hermitian)e(matrix,)h
(and)g Fy(A)g FK(and)f Fy(B)0 4835 y FK(are)g(general)g(matrices.)41
b(This)27 b(routine)h(returns)f(immediately)h(if)f Fv(n)i
FK(or)g Fv(k)g FK(is)f(less)h(than)f(or)h(equal)g(to)g(zero.)41
b(If)29 b Fv(ldc)0 4948 y FK(is)g(less)h(than)g(one)h(or)g(less)e(than)
h Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)f(set)h(and)f(passed)g(to)h
(the)f(error)g(handler.)39 b(F)-8 b(or)32 b Fv(trans)d
FK(equal)0 5061 y(to)34 b Fv(blas)p 267 5061 28 4 v 32
w(no)p 391 5061 V 33 w(trans)p FK(,)f(and)g(if)f Fv(lda)g
FK(is)g(less)g(than)h(one)g(or)g(less)g(than)g Fv(n)p
FK(,)g(or)g(if)f Fv(ldb)h FK(is)f(less)h(than)f(one)i(or)f(less)f(than)
h Fv(n)p FK(,)0 5174 y(an)f(error)f(\015ag)i(is)e(set)h(and)g(passed)f
(to)i(the)f(error)f(handler.)44 b(F)-8 b(or)33 b Fv(trans)e
FK(equal)h(to)g Fv(blas)p 2988 5174 V 32 w(trans)p FK(,)g(and)f(if)g
Fv(lda)h FK(is)f(less)0 5287 y(than)i(one)g(or)f(less)h(than)f
Fv(k)p FK(,)i(or)f(if)f Fv(ldb)g FK(is)g(less)g(than)h(one)g(or)g(less)
f(than)g Fv(k)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i(and)e(passed)g
(to)0 5400 y(the)f(error)f(handler.)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 171 181
171 180 bop 0 -165 a FA(4.5.)72 b(LANGUA)m(GE)32 b(BINDINGS)2533
b FK(171)141 91 y(These)30 b(in)m(terfaces)h(encompass)g(the)f(Legacy)i
(BLAS)e(routine)g(xHER2K.)141 204 y(Extended)g(precision)f(and)g(mixed)
g(precision)g(are)i(p)s(ermitted.)141 317 y(This)36 b(routine)h(has)h
(the)g(same)g(sp)s(eci\014cation)e(as)i(in)f(Chapter)g(2,)k(except)d
(that)h(extended)f(precision)e(and)0 430 y(mixed)29 b(precision)g(are)i
(p)s(ermitted.)136 643 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)418 892 y FD(SUBROUTINE)45 b(her2k\()h(a,)h(b,)h(c)f
([,)g(uplo])g([,)g(trans])f([,)h(alpha])f([,)h(beta])1277
1005 y([,)g(prec])g(\))514 1118 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)
i(<aa>)514 1231 y(COMPLEX\(<wp>\),)d(INTENT\(IN\))h(::)i(<bb>)514
1344 y(COMPLEX\(<wp>\),)d(INTENT\(INOUT\))g(::)j(c\(:,:\))514
1457 y(TYPE)f(\(blas_uplo_type\),)d(INTENT\(IN\),)i(OPTIONAL)h(::)h
(uplo)514 1570 y(TYPE)f(\(blas_trans_type\),)d(INTENT\(IN\),)i
(OPTIONAL)g(::)j(trans)514 1683 y(COMPLEX\(<wp>\),)c(INTENT\(IN\),)g
(OPTIONAL)i(::)h(alpha)514 1796 y(REAL\(<wp>\),)d(INTENT\(IN\),)h
(OPTIONAL)h(::)h(beta)514 1909 y(TYPE)f(\(blas_prec_type\),)d(INTENT)j
(\(IN\),)h(OPTIONAL)e(::)j(prec)418 2022 y(where)514
2134 y(<aa>)94 b(::=)47 b(a\(:,:\))f(or)h(a\(:\))514
2247 y(<bb>)94 b(::=)47 b(b\(:,:\))f(or)h(b\(:\))418
2360 y(and)466 2473 y(c)g(has)g(shape)g(\(n,n\))466 2586
y(a)g(and)g(b)h(have)e(shape)h(\(n,k\))f(if)h(trans)g(=)g
(blas_no_trans)d(\(the)j(default\))1373 2699 y(\(k,n\))f(if)h(trans)g
(/=)g(blas_no_trans)1373 2812 y(\(n\))g(if)g(rank)f(1)p
907 2968 2313 4 v 905 3081 4 113 v 957 3047 a FK(Rank)30
b FD(a)p 1294 3081 V 100 w FK(Rank)g FD(b)p 1683 3081
V 99 w(trans)p 2021 3081 V 98 w FK(Op)s(eration)p 3218
3081 V 907 3084 2313 4 v 905 3197 4 113 v 1079 3163 a(2)p
1294 3197 V 343 w(2)p 1683 3197 V 307 w(N)p 2021 3197
V 185 w Fy(C)i FJ( )25 b Fy(\013AB)2485 3130 y Fw(H)2573
3163 y FK(+)k(\026)-54 b Fy(\013B)5 b(A)2864 3130 y Fw(H)2952
3163 y FK(+)19 b Fy(\014)5 b(C)p 3218 3197 V 905 3310
V 1079 3276 a FK(2)p 1294 3310 V 343 w(2)p 1683 3310
V 309 w(T)p 2021 3310 V 185 w Fy(C)32 b FJ( )25 b Fy(\013A)2411
3243 y Fw(H)2479 3276 y Fy(B)g FK(+)k(\026)-54 b Fy(\013B)2796
3243 y Fw(H)2863 3276 y Fy(A)21 b FK(+)e Fy(\014)5 b(C)p
3218 3310 V 905 3423 V 1079 3389 a FK(1)p 1294 3423 V
343 w(1)p 1683 3423 V 326 w(-)p 2021 3423 V 204 w Fy(C)32
b FJ( )25 b Fy(\013ab)2430 3356 y Fw(H)2518 3389 y FK(+)k(\026)-54
b Fy(\013)q(ba)2755 3356 y Fw(H)2842 3389 y FK(+)20 b
Fy(\014)5 b(C)p 3218 3423 V 907 3426 2313 4 v 227 3635
a FK(The)44 b(table)h(de\014ning)e(the)i(op)s(eration)f(as)h(a)g
(function)e(of)i(the)g(op)s(erator)g(argumen)m(ts)g(is)f(iden)m(tical)f
(to)227 3748 y(Chapter)30 b(2.)227 3898 y(The)h(t)m(yp)s(es)g(of)g
FD(alpha)p FK(,)g FD(a)p FK(,)g FD(b)p FK(,)g FD(beta)f
FK(and)h FD(c)f FK(are)i(go)m(v)m(erned)g(according)f(to)h(the)g(rules)
d(of)j(mixed)e(precision)227 4011 y(argumen)m(ts)f(set)g(do)m(wn)f(in)f
(section)i(4.3:)40 b(the)29 b(t)m(yp)s(es)f(of)h FD(a)f
FK(and)g FD(b)g FK(can)h(optionally)d(di\013er)i(from)g(those)g(of)h
FD(c)p FK(,)227 4124 y FD(alpha)g FK(and)h FD(beta)p
FK(.)136 4311 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(77)h(binding:)514
4536 y FD(SUBROUTINE)45 b(BLAS_xHER2K{_a_b}{_X}\()c(UPLO,)47
b(TRANS,)f(N,)h(K,)g(ALPHA,)f(A,)h(LDA,)466 4649 y($)1622
b(B,)48 b(LDB,)e(BETA,)h(C,)g(LDC)g([,)g(PREC])f(\))514
4762 y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(N,)g(TRANS,)f(UPLO)g
([,)i(PREC])514 4875 y(<ctype>)570 b(ALPHA)514 4988 y(<rtype>)g(BETA)
514 5101 y(<ctype>)g(A\()48 b(LDA,)e(*)i(\))514 5214
y(<ctype>)570 b(B\()48 b(LDB,)e(*)i(\))514 5327 y(<ctype>)570
b(C\()48 b(LDC,)e(*)i(\))-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 172 182
172 181 bop 0 -165 a FK(172)1214 b FA(CHAPTER)30 b(4.)72
b(EXTENDED)30 b(AND)h(MIXED)g(PRECISION)e(BLAS)227 91
y FK(The)i(t)m(yp)s(es)g(of)h FD(ALPHA)p FK(,)e FD(A)p
FK(,)h FD(B)p FK(,)g FD(BETA)f FK(and)g FD(C)h FK(are)h(go)m(v)m(erned)
g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
204 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 317 y(but)f(if)p
483 317 29 4 v 64 w FD(a)p 566 317 V 34 w(b)g FK(is)f(presen)m(t)i
(then)p 1293 317 V 64 w FD(a)f FK(is)g(the)g(t)m(yp)s(e)h(of)g
FD(A)f FK(and)p 2216 317 V 64 w FD(b)g FK(is)f(the)i(t)m(yp)s(e)g(of)f
FD(B)p FK(.)h(The)f(su\016x)p 3416 317 V 63 w FD(X)g
FK(is)g(presen)m(t)227 430 y(if)g(and)f(only)h(if)f FD(PREC)g
FK(is)h(presen)m(t.)41 b(One)30 b(or)g(b)s(oth)g(of)g(the)h(su\016xes)p
2535 430 V 64 w FD(a)p 2618 430 V 34 w(b)f FK(and)p 2906
430 V 64 w FD(X)g FK(m)m(ust)g(b)s(e)g(presen)m(t.)136
618 y FJ(\017)46 b FK(C)30 b(binding:)227 843 y FD(void)47
b(BLAS_xher2k{_a_b}{_x}\()42 b(enum)k(blas_order_type)e(order,)1564
956 y(enum)i(blas_uplo_type)e(uplo,)1564 1068 y(enum)i(blas_trans_type)
e(trans,)i(int)h(n,)g(int)g(k,)1564 1181 y(CSCALAR_IN)e(alpha,)h(const)
g(CARRAY)g(A,)h(int)g(lda,)1564 1294 y(const)f(CARRAY)g(b,)h(int)g
(ldb,)1564 1407 y(RSCALAR_IN)e(beta,)h(CARRAY)g(c,)h(int)g(ldc)1564
1520 y([,)g(enum)f(blas_prec_type)e(prec])j(\);)227 1745
y FK(The)31 b(t)m(yp)s(es)g(of)g FD(alpha)p FK(,)g FD(a)p
FK(,)g FD(b)p FK(,)g FD(beta)f FK(and)h FD(c)f FK(are)i(go)m(v)m(erned)
g(according)f(to)h(the)g(rules)d(of)j(mixed)e(precision)227
1858 y(argumen)m(ts)i(set)g(do)m(wn)f(in)f(section)i(4.3.)45
b(The)31 b(pre\014x)g FD(x)g FK(is)g(the)g(\015oating)h(p)s(oin)m(t)e
(t)m(yp)s(e)i(of)g(the)f(argumen)m(ts,)227 1971 y(but)c(if)p
477 1971 V 61 w FD(a)p 560 1971 V 34 w(b)g FK(is)f(presen)m(t)h(then)p
1274 1971 V 62 w FD(a)g FK(is)f(the)i(t)m(yp)s(e)f(of)h(argumen)m(t)f
FD(a)g FK(and)p 2580 1971 V 61 w FD(b)g FK(is)g(the)g(t)m(yp)s(e)h(of)f
(argumen)m(t)h FD(b)p FK(.)39 b(The)227 2084 y(su\016x)p
470 2084 V 60 w FD(x)27 b FK(is)f(presen)m(t)h(if)f(and)g(only)g(if)f
FD(prec)h FK(is)g(presen)m(t.)40 b(One)26 b(or)h(b)s(oth)f(of)h(the)g
(su\016xes)p 3238 2084 V 60 w FD(a)p 3320 2084 V 34 w(b)g
FK(and)p 3602 2084 V 61 w FD(x)f FK(m)m(ust)227 2197
y(b)s(e)k(presen)m(t.)p 0 2409 3900 6 v 0 2653 a Fx(4.5.6)97
b(Environmental)33 b(Enquiry)0 2824 y FK(FPINF)m(O)p
354 2824 28 4 v 33 w(X)e(\(En)m(vironmen)m(tal)e(enquiry\))141
2937 y(This)g(routine)g(queries)g(for)i(mac)m(hine-sp)s(eci\014c)e
(\015oating)h(p)s(oin)m(t)f(c)m(haracteristics.)136 3150
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3400 y FD(INTEGER)45 b(FUNCTION)h(fpinfo_x\()f(cmach,)h(prec)h(\))609
3513 y(TYPE)g(\(blas_cmach_type\),)c(INTENT)j(\(IN\))g(::)h(cmach)609
3626 y(TYPE)g(\(blas_prec_type\),)c(INTENT)j(\(IN\))h(::)g(prec)136
3875 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
4100 y FD(INTEGER)45 b(FUNCTION)h(BLAS_FPINFO_X\()e(cmach,)i(prec)h(\))
514 4213 y(INTEGER)475 b(cmach,)46 b(prec)136 4438 y
FJ(\017)g FK(C)30 b(binding:)514 4663 y FD(int)47 b(BLAS_fpinfo_x\()c
(enum)k(blas_cmach_type)d(cmach,)1420 4776 y(enum)j(blas_prec_type)d
(prec)j(\);)p 0 5001 3900 6 v 4084 64 a FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 173 183
173 182 bop 0 714 a FF(Annex)65 b(A)0 1129 y FH(App)6
b(endix)0 1574 y FK(This)33 b(app)s(endix)g(con)m(tains)j(o)m(v)m
(erall)f(notation,)i(de\014nitions,)d(and)h(implemen)m(tation)f
(details)g(for)h(the)g(c)m(hapters)0 1687 y(of)c(the)f(BLAS)g(T)-8
b(ec)m(hnical)30 b(F)-8 b(orum)31 b(Standard.)0 1973
y FE(A.1)116 b(V)m(ecto)m(r)39 b(No)m(rms)0 2176 y FK(There)e(are)i(a)f
(v)-5 b(ariet)m(y)38 b(of)g(w)m(a)m(ys)h(to)f(de\014ne)g(the)g(norm)f
(of)h(a)g(v)m(ector,)k(in)36 b(particular)g(for)i(v)m(ectors)h(of)f
(complex)0 2289 y(n)m(um)m(b)s(ers,)33 b(sev)m(eral)h(of)g(whic)m(h)f
(ha)m(v)m(e)i(b)s(een)e(used)g(in)f(the)i(existing)f(Lev)m(el)h(1)g
(BLAS)f(and)h(in)e(v)-5 b(arious)33 b(LAP)-8 b(A)m(CK)0
2402 y(auxiliary)28 b(routines.)40 b(Our)29 b(de\014nitions)f(include)g
(all)h(of)i(these)f(in)f(a)i(systematic)g(w)m(a)m(y)-8
b(.)p 0 2583 3083 4 v -2 2696 4 113 v 50 2662 a(Data)32
b(T)m(yp)s(e)p 529 2696 V 99 w(Name)p 1326 2696 V 568
w(Notation)p 1776 2696 V 101 w(De\014nition)p 3081 2696
V 0 2699 3083 4 v -2 2812 4 113 v 176 2778 a(Real)p 529
2812 V 226 w(one-norm)p 1326 2812 V 507 w FJ(k)p Fy(x)p
FJ(k)1603 2792 y FC(1)p 1776 2812 V 1828 2714 a Ft(P)1915
2801 y Fw(i)1959 2778 y FJ(j)p Fy(x)2036 2792 y Fw(i)2064
2778 y FJ(j)p 3081 2812 V -2 2965 4 153 v 529 2965 V
580 2918 a FK(t)m(w)m(o-norm)p 1326 2965 V 503 w FJ(k)p
Fy(x)p FJ(k)1603 2932 y FC(2)p 1776 2965 V 1828 2819
a Ft(q)p 1911 2819 223 4 v 35 x(P)1998 2941 y Fw(i)2042
2918 y Fy(x)2094 2887 y FC(2)2094 2944 y Fw(i)p 3081
2965 4 153 v -2 3078 4 113 v 529 3078 V 580 3044 a FK(in\014nit)m
(y-norm)p 1326 3078 V 341 w FJ(k)p Fy(x)p FJ(k)1586 3058
y Fu(1)p 1776 3078 V 1828 3044 a FK(max)1997 3058 y Fw(i)2040
3044 y FJ(j)p Fy(x)2117 3058 y Fw(i)2146 3044 y FJ(j)p
3081 3078 V 0 3081 3083 4 v -2 3194 4 113 v 90 3160 a
FK(Complex)p 529 3194 V 138 w(one-norm)p 1326 3194 V
507 w FJ(k)p Fy(x)p FJ(k)1603 3174 y FC(1)p 1776 3194
V 1828 3096 a Ft(P)1915 3183 y Fw(i)1959 3160 y FJ(j)p
Fy(x)2036 3174 y Fw(i)2064 3160 y FJ(j)p 3081 3194 V
-2 3311 4 117 v 529 3311 V 1326 3311 V 1776 3311 V 1828
3277 a FK(=)1924 3212 y Ft(P)2011 3300 y Fw(i)2040 3277
y FK(\()p Fy(R)q(e)p FK(\()p Fy(x)2274 3291 y Fw(i)2302
3277 y FK(\))2337 3244 y FC(2)2397 3277 y FK(+)20 b Fy(I)7
b(m)p FK(\()p Fy(x)2702 3291 y Fw(i)2731 3277 y FK(\))2766
3244 y FC(2)2805 3277 y FK(\))2840 3244 y FC(1)p Fw(=)p
FC(2)p 3081 3311 V -2 3423 4 113 v 529 3423 V 580 3390
a FK(real)30 b(one-norm)p 1326 3423 V 304 w FJ(k)p Fy(x)p
FJ(k)1577 3404 y FC(1)p Fw(R)p 1776 3423 V 1828 3325
a Ft(P)1915 3413 y Fw(i)1944 3390 y FK(\()p FJ(j)p Fy(R)q(e)p
FK(\()p Fy(x)2203 3404 y Fw(i)2232 3390 y FK(\))p FJ(j)21
b FK(+)e FJ(j)p Fy(I)7 b(m)p FK(\()p Fy(x)2642 3404 y
Fw(i)2671 3390 y FK(\))p FJ(j)p FK(\))p 3081 3423 V -2
3537 4 114 v 529 3537 V 580 3503 a(t)m(w)m(o-norm)p 1326
3537 V 503 w FJ(k)p Fy(x)p FJ(k)1603 3517 y FC(2)p 1776
3537 V 1828 3430 a Ft(p)p 1911 3430 302 4 v 9 x(P)1998
3526 y Fw(i)2042 3503 y FJ(j)p Fy(x)2119 3517 y Fw(i)2147
3503 y FJ(j)2172 3477 y FC(2)p 3081 3537 4 114 v -2 3654
4 117 v 529 3654 V 1326 3654 V 1776 3654 V 1828 3620
a FK(=)25 b(\()1959 3556 y Ft(P)2047 3643 y Fw(i)2075
3620 y FK(\()p Fy(R)q(e)p FK(\()p Fy(x)2309 3634 y Fw(i)2338
3620 y FK(\))2373 3587 y FC(2)2433 3620 y FK(+)20 b Fy(I)7
b(m)p FK(\()p Fy(x)2738 3634 y Fw(i)2766 3620 y FK(\))2801
3587 y FC(2)2841 3620 y FK(\)\))2911 3587 y FC(1)p Fw(=)p
FC(2)p 3081 3654 V -2 3767 4 113 v 529 3767 V 580 3733
a FK(in\014nit)m(y-norm)p 1326 3767 V 341 w FJ(k)p Fy(x)p
FJ(k)1586 3747 y Fu(1)p 1776 3767 V 1828 3733 a FK(max)1997
3747 y Fw(i)2040 3733 y FJ(j)p Fy(x)2117 3747 y Fw(i)2146
3733 y FJ(j)p 3081 3767 V -2 3884 4 117 v 529 3884 V
1326 3884 V 1776 3884 V 1828 3850 a FK(=)25 b(max)2093
3864 y Fw(i)2121 3850 y FK(\()p Fy(R)q(e)p FK(\()p Fy(x)2355
3864 y Fw(i)2384 3850 y FK(\))2419 3817 y FC(2)2479 3850
y FK(+)20 b Fy(I)7 b(m)p FK(\()p Fy(x)2784 3864 y Fw(i)2812
3850 y FK(\))2847 3817 y FC(2)2887 3850 y FK(\))2922
3817 y FC(1)p Fw(=)p FC(2)p 3081 3884 V -2 3996 4 113
v 529 3996 V 580 3963 a FK(real)30 b(in\014nit)m(y-norm)p
1326 3996 V 137 w FJ(k)p Fy(x)p FJ(k)1559 3977 y Fu(1)p
Fw(R)p 1776 3996 V 1828 3963 a FK(max)1997 3977 y Fw(i)2025
3963 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(x)2284 3977
y Fw(i)2313 3963 y FK(\))p FJ(j)21 b FK(+)f FJ(j)p Fy(I)7
b(m)p FK(\()p Fy(x)2724 3977 y Fw(i)2753 3963 y FK(\))p
FJ(j)p FK(\))p 3081 3996 V 0 4000 3083 4 v 1448 4154
a(T)-8 b(able)30 b(A.1:)42 b(V)-8 b(ector)32 b(Norms)227
4509 y Fz(R)-5 b(ationale.)103 b FK(The)33 b(reason)h(for)g(the)g(t)m
(w)m(o)h(extra)f(norms)f(of)h(complex)f(v)m(ectors,)k(the)d(real)f
(one-norm)h(and)227 4622 y(real)g(in\014nit)m(y-norm,)e(is)h(to)h(a)m
(v)m(oid)g(the)g(exp)s(ense)g(of)g(up)e(to)j Fy(n)e FK(square)g(ro)s
(ots,)i(where)f Fy(n)f FK(is)g(the)h(length)f(of)227
4735 y(the)j(v)m(ector)h Fy(x)p FK(.)55 b(The)35 b(t)m(w)m(o-norm)i
(only)d(requires)g(one)i(square)f(ro)s(ot,)i(so)e(a)h(real)f(v)m
(ersion)g(is)f(not)i(needed.)227 4847 y(The)28 b(in\014nit)m(y)e(norm)h
(only)g(requires)g(one)h(square)g(ro)s(ot)g(in)f(principle,)f(but)h
(this)g(w)m(ould)g(require)g(tests)i(and)227 4960 y(branc)m(hes,)d
(making)f(it)g(more)g(complicated)g(and)g(slo)m(w)m(er)h(than)f(the)g
(real)g(in\014nit)m(y-norm.)36 b(When)25 b Fy(x)h FK(is)e(real,)227
5073 y(the)i(one-norm)g(and)f(real)g(one-norm)h(are)g(iden)m(tical,)g
(as)g(are)g(the)g(in\014nit)m(y-norm)d(and)i(real)g(in\014nit)m
(y-norm.)227 5186 y(W)-8 b(e)29 b(note)f(that)f(the)h(Lev)m(el)f(1)h
(BLAS)f(routine)f(ICAMAX,)i(whic)m(h)e(\014nds)g(the)h(largest)h(en)m
(try)f(of)h(a)f(complex)227 5299 y(v)m(ector,)33 b(\014nds)28
b(the)j(largest)f(v)-5 b(alue)30 b(of)h FJ(j)p Fy(R)q(e)p
FK(\()p Fy(x)1756 5313 y Fw(i)1785 5299 y FK(\))p FJ(j)20
b FK(+)g FJ(j)p Fy(I)7 b(m)p FK(\()p Fy(x)2195 5313 y
Fw(i)2224 5299 y FK(\))p FJ(j)p FK(.)41 b(\()p Fz(End)33
b(of)g(r)-5 b(ationale.)p FK(\))-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 174 184
174 183 bop 0 -165 a FK(174)2754 b FA(ANNEX)31 b(A.)61
b(APPENDIX)141 91 y FK(Computing)28 b(the)i(t)m(w)m(o-norm)h(or)f(F)-8
b(rob)s(enius-norm)27 b(of)j(a)g(v)m(ector)i(is)c(equiv)-5
b(alen)m(t.)40 b(Ho)m(w)m(ev)m(er,)32 b(this)d(is)g(not)h(the)0
204 y(case)k(for)f(computing)f(matrix)h(norms.)48 b(F)-8
b(or)34 b(consistency)f(of)g(notation)g(b)s(et)m(w)m(een)h(v)m(ector)h
(and)d(matrix)h(norms,)0 317 y(b)s(oth)d(norms)f(are)i(a)m(v)-5
b(ailable.)0 604 y FE(A.2)116 b(Matrix)38 b(No)m(rms)0
807 y FK(Analogously)31 b(to)h(v)m(ector)h(norms)d(as)i(discussed)d(in)
h(Section)h(A.1,)i(there)e(are)h(a)g(v)-5 b(ariet)m(y)31
b(of)h(w)m(a)m(ys)g(to)g(de\014ne)f(the)0 919 y(norm)37
b(of)h(a)h(matrix,)g(in)e(particular)f(for)i(matrices)g(of)g(complex)g
(n)m(um)m(b)s(ers.)62 b(Our)37 b(de\014nitions)e(include)h(all)h(of)0
1032 y(these)31 b(in)e(a)i(systematic)g(w)m(a)m(y)-8
b(.)p 0 1213 3369 4 v -2 1326 4 113 v 50 1292 a(Data)32
b(T)m(yp)s(e)p 529 1326 V 99 w(Name)p 1326 1326 V 573
w(Notation)p 1785 1326 V 105 w(De\014nition)p 3367 1326
V 0 1329 3369 4 v -2 1442 4 113 v 176 1408 a(Real)p 529
1442 V 226 w(one-norm)p 1326 1442 V 504 w FJ(k)p Fy(A)p
FJ(k)1616 1422 y FC(1)p 1785 1442 V 1837 1408 a FK(max)2006
1422 y Fw(j)2057 1344 y Ft(P)2145 1431 y Fw(i)2188 1408
y FJ(j)p Fy(a)2261 1422 y Fw(ij)2322 1408 y FJ(j)p 3367
1442 V -2 1595 4 153 v 529 1595 V 580 1542 a FK(F)-8
b(rob)s(enius-norm)p 1326 1595 V 240 w FJ(k)p Fy(A)p
FJ(k)1606 1556 y Fw(F)p 1785 1595 V 1837 1449 a Ft(q)p
1920 1449 379 4 v 28 x(P)2007 1564 y Fw(i)2051 1477 y
Ft(P)2138 1564 y Fw(j)2190 1542 y Fy(a)2238 1510 y FC(2)2238
1567 y Fw(ij)p 3367 1595 4 153 v -2 1710 4 115 v 529
1710 V 580 1674 a FK(in\014nit)m(y-norm)p 1326 1710 V
337 w FJ(k)p Fy(A)p FJ(k)1598 1688 y Fu(1)p 1785 1710
V 1837 1674 a FK(max)2006 1688 y Fw(i)2049 1610 y Ft(P)2137
1697 y Fw(j)2188 1674 y FJ(j)p Fy(a)2261 1688 y Fw(ij)2322
1674 y FJ(j)p 3367 1710 V -2 1823 4 113 v 529 1823 V
580 1789 a FK(max-norm)p 1326 1823 V 423 w FJ(k)p Fy(A)p
FJ(k)1568 1803 y FC(max)p 1785 1823 V 1837 1789 a FK(max)2006
1803 y Fw(i)2049 1789 y FK(max)2218 1803 y Fw(j)2270
1789 y FJ(j)p Fy(a)2343 1803 y Fw(ij)2404 1789 y FJ(j)p
3367 1823 V 0 1826 3369 4 v -2 1939 4 113 v 90 1905 a
FK(Complex)p 529 1939 V 138 w(one-norm)p 1326 1939 V
504 w FJ(k)p Fy(A)p FJ(k)1616 1919 y FC(1)p 1785 1939
V 1837 1905 a FK(max)2006 1919 y Fw(j)2057 1841 y Ft(P)2145
1928 y Fw(i)2188 1905 y FJ(j)p Fy(a)2261 1919 y Fw(ij)2322
1905 y FJ(j)p 3367 1939 V -2 2056 4 117 v 529 2056 V
1326 2056 V 1785 2056 V 1837 2022 a FK(=)25 b(max)2102
2036 y Fw(j)2153 1957 y Ft(P)2241 2045 y Fw(i)2269 2022
y FK(\()p Fy(R)q(e)p FK(\()p Fy(a)2499 2036 y Fw(ij)2561
2022 y FK(\))2596 1989 y FC(2)2656 2022 y FK(+)20 b Fy(I)7
b(m)p FK(\()p Fy(a)2957 2036 y Fw(ij)3017 2022 y FK(\))3052
1989 y FC(2)3092 2022 y FK(\))3127 1989 y FC(1)p Fw(=)p
FC(2)p 3367 2056 V -2 2168 4 113 v 529 2168 V 580 2135
a FK(real)30 b(one-norm)p 1326 2168 V 300 w FJ(k)p Fy(A)p
FJ(k)1589 2149 y FC(1)p Fw(R)p 1785 2168 V 1837 2135
a FK(max)2006 2149 y Fw(j)2057 2070 y Ft(P)2145 2158
y Fw(i)2173 2135 y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p
Fy(a)2428 2149 y Fw(ij)2490 2135 y FK(\))p FJ(j)21 b
FK(+)f FJ(j)p Fy(I)7 b(m)p FK(\()p Fy(a)2897 2149 y Fw(ij)2958
2135 y FK(\))p FJ(j)p FK(\))p 3367 2168 V -2 2321 4 153
v 529 2321 V 580 2267 a(F)-8 b(rob)s(enius-norm)p 1326
2321 V 240 w FJ(k)p Fy(A)p FJ(k)1606 2281 y Fw(F)p 1785
2321 V 1837 2175 a Ft(q)p 1920 2175 469 4 v 28 x(P)2007
2290 y Fw(i)2051 2203 y Ft(P)2138 2290 y Fw(j)2190 2267
y FJ(j)p Fy(a)2263 2281 y Fw(ij)2324 2267 y FJ(j)2349
2241 y FC(2)p 3367 2321 4 153 v -2 2440 4 119 v 529 2440
V 1326 2440 V 1785 2440 V 1837 2404 a FK(=)25 b(\()1968
2340 y Ft(P)2056 2427 y Fw(i)2099 2340 y Ft(P)2187 2427
y Fw(j)2223 2404 y FK(\()p Fy(R)q(e)p FK(\()p Fy(a)2453
2418 y Fw(ij)2514 2404 y FK(\))2549 2371 y FC(2)2609
2404 y FK(+)20 b Fy(I)7 b(m)p FK(\()p Fy(a)2910 2418
y Fw(ij)2971 2404 y FK(\))3006 2371 y FC(2)3046 2404
y FK(\)\))3116 2371 y FC(1)p Fw(=)p FC(2)p 3367 2440
V -2 2555 4 115 v 529 2555 V 580 2519 a FK(in\014nit)m(y-norm)p
1326 2555 V 337 w FJ(k)p Fy(A)p FJ(k)1598 2533 y Fu(1)p
1785 2555 V 1837 2519 a FK(max)2006 2533 y Fw(i)2049
2455 y Ft(P)2137 2542 y Fw(j)2188 2519 y FJ(j)p Fy(a)2261
2533 y Fw(ij)2322 2519 y FJ(j)p 3367 2555 V -2 2673 4
119 v 529 2673 V 1326 2673 V 1785 2673 V 1837 2638 a
FK(=)25 b(max)2102 2652 y Fw(i)2145 2573 y Ft(P)2233
2661 y Fw(j)2269 2638 y FK(\()p Fy(R)q(e)p FK(\()p Fy(a)2499
2652 y Fw(ij)2561 2638 y FK(\))2596 2605 y FC(2)2656
2638 y FK(+)20 b Fy(I)7 b(m)p FK(\()p Fy(a)2957 2652
y Fw(ij)3017 2638 y FK(\))3052 2605 y FC(2)3092 2638
y FK(\))3127 2605 y FC(1)p Fw(=)p FC(2)p 3367 2673 V
-2 2788 4 115 v 529 2788 V 580 2752 a FK(real)30 b(in\014nit)m(y-norm)p
1326 2788 V 133 w FJ(k)p Fy(A)p FJ(k)1571 2766 y Fu(1)p
Fw(R)p 1785 2788 V 1837 2752 a FK(max)2006 2766 y Fw(i)2049
2688 y Ft(P)2137 2775 y Fw(j)2173 2752 y FK(\()p FJ(j)p
Fy(R)q(e)p FK(\()p Fy(a)2428 2766 y Fw(ij)2490 2752 y
FK(\))p FJ(j)21 b FK(+)f FJ(j)p Fy(I)7 b(m)p FK(\()p
Fy(a)2897 2766 y Fw(ij)2958 2752 y FK(\))p FJ(j)p FK(\))p
3367 2788 V -2 2901 4 113 v 529 2901 V 580 2867 a(max-norm)p
1326 2901 V 423 w FJ(k)p Fy(A)p FJ(k)1568 2881 y FC(max)p
1785 2901 V 1837 2867 a FK(max)2006 2881 y Fw(i)2049
2867 y FK(max)2218 2881 y Fw(j)2270 2867 y FJ(j)p Fy(a)2343
2881 y Fw(ij)2404 2867 y FJ(j)p 3367 2901 V -2 3018 4
117 v 529 3018 V 1326 3018 V 1785 3018 V 1837 2984 a
FK(=)25 b(max)2102 2998 y Fw(i)2145 2984 y FK(max)2314
2998 y Fw(j)2351 2984 y FK(\()p Fy(R)q(e)p FK(\()p Fy(a)2581
2998 y Fw(ij)2642 2984 y FK(\))2677 2951 y FC(2)2737
2984 y FK(+)20 b Fy(I)7 b(m)p FK(\()p Fy(a)3038 2998
y Fw(ij)3099 2984 y FK(\))3134 2951 y FC(2)3174 2984
y FK(\))3209 2951 y FC(1)p Fw(=)p FC(2)p 3367 3018 V
-2 3131 4 113 v 529 3131 V 580 3097 a FK(real)30 b(max-norm)p
1326 3131 V 213 w FJ(k)p Fy(A)p FJ(k)1535 3111 y FC(max)12
b Fw(R)p 1785 3131 V 1837 3097 a FK(=)25 b(max)2102 3111
y Fw(i)2145 3097 y FK(max)2314 3111 y Fw(j)2351 3097
y FK(\()p FJ(j)p Fy(R)q(e)p FK(\()p Fy(a)2606 3111 y
Fw(ij)2667 3097 y FK(\))p FJ(j)c FK(+)f FJ(j)p Fy(I)7
b(m)p FK(\()p Fy(a)3074 3111 y Fw(ij)3135 3097 y FK(\))p
FJ(j)p FK(\))p 3367 3131 V 0 3134 3369 4 v 1441 3289
a(T)-8 b(able)30 b(A.2:)41 b(Matrix)30 b(Norms)141 3483
y(In)43 b(con)m(trast)i(to)g(computing)e(v)m(ector)i(norms,)h
(computing)d(the)h(t)m(w)m(o-norm)h(and)e(F)-8 b(rob)s(enius-norm)42
b(of)i(a)0 3596 y(matrix)26 b(are)g(not)h(equiv)-5 b(alen)m(t.)38
b(If)26 b(the)h(user)e(asks)h(for)g(the)h(t)m(w)m(o-norm)g(of)f(a)h
(matrix,)g(where)e(the)i(matrix)e(is)h(2-b)m(y-2)0 3709
y(or)33 b(larger,)g(an)f(error)g(\015ag)h(is)f(raised.)46
b(The)32 b(one)h(exception)f(o)s(ccurs)h(when)e(the)i(matrix)f(is)f(a)i
(single)f(column)f(or)0 3822 y(a)g(single)e(ro)m(w.)41
b(In)29 b(this)h(case,)h(the)g(t)m(w)m(o-norm)g(is)f(requested)g(and)g
(the)g(F)-8 b(rob)s(enius-norm)29 b(is)g(returned.)0
4109 y FE(A.3)116 b(Op)s(erato)m(r)39 b(Arguments)0 4312
y FK(The)32 b(follo)m(wing)f(table)i(lists)e(the)i(op)s(erator)g
(argumen)m(ts)g(and)f(their)g(asso)s(ciated)h(named)g(constan)m(ts.)49
b(F)-8 b(or)33 b(com-)0 4424 y(plete)d(details)g(of)g(the)h(meanings)e
(of)i(the)f(op)s(erator)h(prec,)f(refer)h(to)g(section)f(4.3.1.)0
4537 y FG(Example:)40 b FK(Consider)29 b(the)i(matrix-v)m(ector)i(pro)s
(ducts)c Fy(x)d FK(=)g Fy(Ax)p FK(,)31 b Fy(x)26 b FK(=)g
Fy(A)2545 4504 y Fw(T)2600 4537 y Fy(x)31 b FK(and)f
Fy(x)d FK(=)e Fy(A)3103 4504 y Fw(H)3171 4537 y Fy(x)p
FK(.)42 b(It)31 b(is)f(con)m(v)m(enien)m(t)0 4650 y(to)36
b(use)f(the)h Fv(trans)e FK(op)s(erator)i(and)f(de\014ne)f
Fy(op)p FK(\()p Fy(A)p FK(\))i(as)g(b)s(eing)e Fy(A)p
FK(,)i Fy(A)2313 4617 y Fw(T)2404 4650 y FK(or)f Fy(A)2588
4617 y Fw(H)2691 4650 y FK(dep)s(ending)e(on)i(the)g(v)-5
b(alue)35 b(of)h(the)0 4763 y Fv(trans)26 b FK(op)s(erator)h(argumen)m
(t.)40 b(Again,)28 b(the)f(sp)s(eci\014cation)f(of)h(the)g(t)m(yp)s(e)g
(and)f(the)h(v)-5 b(alid)25 b(v)-5 b(alues)26 b(suc)m(h)h(an)g(op)s
(erator)0 4876 y(should)36 b(ha)m(v)m(e)j(will)c(b)s(e)i(de\014ned)f
(in)h(the)h(language-dep)s(enden)m(t)f(section)h(and)f(ma)m(y)i(v)-5
b(ary)37 b(from)g(one)i(language)0 4989 y(binding)27
b(to)k(another.)141 5215 y(It)i(is)f(w)m(orth)m(while)g(noticing)g
(that)i(in)d(some)j(rare)f(cases,)i(the)e(meaning)f(of)i(the)f
Fv(trans)f FK(op)s(erator)h(argumen)m(t)0 5328 y(is)h(extended)h(to)g
(a)g(function)f(of)h(the)f(matrix)h(to)g(whic)m(h)e(it)i(applies.)52
b(Consider)33 b(for)h(example)h(the)g(symmetric)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 175 185
175 184 bop 0 -165 a FA(A.3.)72 b(OPERA)-8 b(TOR)29 b(AR)m(GUMENTS)2373
b FK(175)p 339 3 3223 4 v 337 116 4 113 v 389 82 a(op)s(erator)30
b(argumen)m(t)p 1180 116 V 101 w(named)f(constan)m(t)p
2120 116 V 312 w(meaning)p 3559 116 V 339 120 3223 4
v 337 232 4 113 v 389 199 a(norm)p 1180 232 V 635 w(blas)p
1395 199 28 4 v 31 w(one)p 1562 199 V 33 w(norm)p 2120
232 4 113 v 373 w(1-norm)p 3559 232 V 337 345 V 1180
345 V 1232 311 a(blas)p 1395 311 28 4 v 31 w(real)p 1573
311 V 33 w(one)p 1742 311 V 33 w(norm)p 2120 345 4 113
v 193 w(real)h(1-norm)p 3559 345 V 337 458 V 1180 458
V 1232 424 a(blas)p 1395 424 28 4 v 31 w(t)m(w)m(o)p
1566 424 V 34 w(norm)p 2120 458 4 113 v 368 w(2-norm)p
3559 458 V 337 571 V 1180 571 V 1232 537 a(blas)p 1395
537 28 4 v 31 w(frob)s(enius)p 1793 537 V 30 w(norm)p
2120 571 4 113 v 145 w(F)-8 b(rob)s(enius-norm)p 3559
571 V 337 684 V 1180 684 V 1232 650 a(blas)p 1395 650
28 4 v 31 w(inf)p 1531 650 V 32 w(norm)p 2120 684 4 113
v 405 w(in\014nit)m(y-norm)p 3559 684 V 337 797 V 1180
797 V 1232 763 a(blas)p 1395 763 28 4 v 31 w(real)p 1573
763 V 33 w(inf)p 1711 763 V 31 w(norm)p 2120 797 4 113
v 226 w(real)30 b(in\014nit)m(y-norm)p 3559 797 V 337
910 V 1180 910 V 1232 876 a(blas)p 1395 876 28 4 v 31
w(max)p 1595 876 V 33 w(norm)p 2120 910 4 113 v 340 w(max-norm)p
3559 910 V 337 1023 V 1180 1023 V 1232 989 a(blas)p 1395
989 28 4 v 31 w(real)p 1573 989 V 33 w(max)p 1775 989
V 33 w(norm)p 2120 1023 4 113 v 160 w(real)g(max-norm)p
3559 1023 V 339 1026 3223 4 v 337 1139 4 113 v 389 1105
a(sort)p 1180 1139 V 691 w(blas)p 1395 1105 28 4 v 31
w(increasing)p 1822 1105 V 32 w(order)p 2120 1139 4 113
v 114 w(sort)h(in)e(increasing)g(order)p 3559 1139 V
337 1252 V 1180 1252 V 1232 1218 a(blas)p 1395 1218 28
4 v 31 w(decreasing)p 1836 1218 V 33 w(order)p 2120 1252
4 113 v 99 w(sort)i(in)e(decreasing)h(order)p 3559 1252
V 339 1255 3223 4 v 337 1368 4 113 v 389 1334 a(side)p
1180 1368 V 690 w(blas)p 1395 1334 28 4 v 31 w(left)p
1555 1334 V 33 w(side)p 2120 1368 4 113 v 435 w(op)s(erate)h(on)f(the)h
(left-hand)e(side)p 3559 1368 V 337 1481 V 1180 1481
V 1232 1447 a(blas)p 1395 1447 28 4 v 31 w(righ)m(t)p
1616 1447 V 33 w(side)p 2120 1481 4 113 v 374 w(op)s(erate)i(on)f(the)h
(righ)m(t-hand)e(side)p 3559 1481 V 339 1484 3223 4 v
337 1597 4 113 v 389 1563 a(uplo)p 1180 1597 V 670 w(blas)p
1395 1563 28 4 v 31 w(upp)s(er)p 2120 1597 4 113 v 518
w(reference)i(upp)s(er)d(triangle)i(only)p 3559 1597
V 337 1710 V 1180 1710 V 1232 1676 a(blas)p 1395 1676
28 4 v 31 w(lo)m(w)m(er)p 2120 1710 4 113 v 543 w(reference)h(lo)m(w)m
(er)g(triangle)e(only)p 3559 1710 V 339 1714 3223 4 v
337 1826 4 113 v 389 1793 a(trans)p Fz(x)p 1180 1826
V 598 w FK(blas)p 1395 1793 28 4 v 31 w(no)p 1522 1793
V 33 w(trans)p 2120 1826 4 113 v 418 w(op)s(erate)i(with)e
Fy(x)p 3559 1826 V 337 1939 V 1180 1939 V 1232 1906 a
FK(blas)p 1395 1906 28 4 v 31 w(trans)p 2120 1939 4 113
v 547 w(op)s(erate)i(with)e Fy(x)2756 1873 y Fw(T)p 3559
1939 V 337 2052 V 1180 2052 V 1232 2018 a FK(blas)p 1395
2018 28 4 v 31 w(conj)p 1590 2018 V 33 w(trans)p 2120
2052 4 113 v 350 w(op)s(erate)i(with)e Fy(x)2756 1985
y Fw(H)p 3559 2052 V 339 2056 3223 4 v 337 2169 4 113
v 389 2135 a FK(conj)p 1180 2169 V 679 w(blas)p 1395
2135 28 4 v 31 w(conj)p 2120 2169 4 113 v 586 w(op)s(erate)i(with)k
(\026)-51 b Fy(x)p 3559 2169 V 337 2281 V 1180 2281 V
1232 2248 a FK(blas)p 1395 2248 28 4 v 31 w(no)p 1522
2248 V 33 w(conj)p 2120 2281 4 113 v 457 w(op)s(erate)31
b(with)e Fy(x)p 3559 2281 V 339 2285 3223 4 v 337 2398
4 113 v 389 2364 a FK(diag)p 1180 2398 V 676 w(blas)p
1395 2364 28 4 v 31 w(non)p 1573 2364 V 33 w(unit)p 1769
2364 V 31 w(diag)p 2120 2398 4 113 v 209 w(non-unit)g(triangular)p
3559 2398 V 337 2511 V 1180 2511 V 1232 2477 a(blas)p
1395 2477 28 4 v 31 w(unit)p 1589 2477 V 32 w(diag)p
2120 2511 4 113 v 388 w(unit)g(triangular)p 3559 2511
V 339 2514 3223 4 v 337 2645 4 131 v 389 2593 a(jrot)p
1180 2645 V 699 w(blas)p 1395 2593 28 4 v 31 w(jrot)p
1570 2593 V 33 w(inner)p 2120 2645 4 131 v 369 w(inner)g(rotation)h
Fy(c)c FJ(\025)2952 2557 y FC(1)p 2923 2572 95 4 v 2923
2581 a Fu(p)p 2982 2581 36 3 v 55 x FC(2)p 3559 2645
4 131 v 337 2775 V 1180 2775 V 1232 2724 a FK(blas)p
1395 2724 28 4 v 31 w(jrot)p 1570 2724 V 33 w(outer)p
2120 2775 4 131 v 366 w(outer)31 b(rotation)f(0)c FJ(\024)f
Fy(c)h FJ(\024)3124 2688 y FC(1)p 3095 2703 95 4 v 3095
2712 a Fu(p)p 3153 2712 36 3 v 3153 2767 a FC(2)p 3559
2775 4 131 v 337 2888 4 113 v 1180 2888 V 1232 2854 a
FK(blas)p 1395 2854 28 4 v 31 w(jrot)p 1570 2854 V 33
w(sorted)p 2120 2888 4 113 v 330 w(sorted)31 b(rotation)f
Fy(abs)p FK(\()p Fy(a)p FK(\))c FJ(\025)f Fy(abs)p FK(\()p
Fy(b)p FK(\))p 3559 2888 V 339 2892 3223 4 v 337 3004
4 113 v 389 2971 a(order)p 1180 3004 V 635 w(blas)p 1395
2971 28 4 v 31 w(colma)5 b(jor)p 2120 3004 4 113 v 404
w(assume)30 b(column-ma)5 b(jor)30 b(ordering)p 3559
3004 V 337 3117 V 1180 3117 V 1232 3083 a(blas)p 1395
3083 28 4 v 31 w(ro)m(wma)5 b(jor)p 2120 3117 4 113 v
371 w(assume)30 b(ro)m(w-ma)5 b(jor)31 b(ordering)p 3559
3117 V 339 3121 3223 4 v 337 3234 4 113 v 389 3200 a(index)p
610 3200 28 4 v 31 w(base)p 1180 3234 4 113 v 424 w(blas)p
1395 3200 28 4 v 31 w(zero)p 1587 3200 V 34 w(base)p
2120 3234 4 113 v 383 w(assumes)f(zero-based)h(indexing)p
3559 3234 V 337 3346 V 1180 3346 V 1232 3313 a(blas)p
1395 3313 28 4 v 31 w(one)p 1562 3313 V 33 w(base)p 2120
3346 4 113 v 409 w(assumes)f(one-based)h(indexing)p 3559
3346 V 339 3350 3223 4 v 337 3463 4 113 v 389 3429 a(prec)p
1180 3463 V 676 w(blas)p 1395 3429 28 4 v 31 w(prec)p
1593 3429 V 33 w(single)p 2120 3463 4 113 v 326 w(in)m(ternal)e
(computation)i(p)s(erformed)p 3559 3463 V 337 3576 V
1180 3576 V 2120 3576 V 2171 3542 a(in)e(single)g(precision)p
3559 3576 V 337 3689 V 1180 3689 V 1232 3655 a(blas)p
1395 3655 28 4 v 31 w(prec)p 1593 3655 V 33 w(double)p
2120 3689 4 113 v 286 w(in)m(ternal)g(computation)i(p)s(erformed)p
3559 3689 V 337 3801 V 1180 3801 V 2120 3801 V 2171 3768
a(in)e(double)g(precision)p 3559 3801 V 337 3914 V 1180
3914 V 1232 3880 a(blas)p 1395 3880 28 4 v 31 w(prec)p
1593 3880 V 33 w(indigenous)p 2120 3914 4 113 v 128 w(in)m(ternal)g
(computation)i(p)s(erformed)p 3559 3914 V 337 4027 V
1180 4027 V 2120 4027 V 2171 3993 a(in)e(the)i(widest)e(hardw)m
(are-supp)s(orted)p 3559 4027 V 337 4140 V 1180 4140
V 2120 4140 V 2171 4106 a(format)i(a)m(v)-5 b(ailable)p
3559 4140 V 337 4253 V 1180 4253 V 1232 4219 a(blas)p
1395 4219 28 4 v 31 w(prec)p 1593 4219 V 33 w(extra)p
2120 4253 4 113 v 346 w(in)m(ternal)29 b(computation)i(p)s(erformed)p
3559 4253 V 337 4366 V 1180 4366 V 2120 4366 V 2171 4332
a(in)e(format)i(wider)e(than)h(80-bits)p 3559 4366 V
339 4369 3223 4 v 1309 4524 a(T)-8 b(able)30 b(A.3:)42
b(Op)s(erator)30 b(Argumen)m(ts)0 4898 y(rank-)p Fy(k)41
b FK(up)s(date)c(op)s(erations,)j Fy(C)45 b FJ( )38 b
Fy(C)32 b FK(+)25 b Fy(AA)1657 4865 y Fw(T)1750 4898
y FK(and)38 b Fy(C)44 b FJ( )39 b Fy(C)31 b FK(+)26 b
Fy(A)2435 4865 y Fw(T)2490 4898 y Fy(A)38 b FK(where)g
Fy(C)44 b FK(is)37 b(a)i(symmetric)e(matrix.)0 5011 y(The)29
b(v)-5 b(alue)30 b(of)f(the)h Fv(trans)g FK(op)s(erator)g(refers)f(to)i
(the)f(pro)s(duct)e Fy(AA)2253 4978 y Fw(T)2309 5011
y FK(.)40 b(It)30 b(follo)m(ws)f(that)h(these)g(op)s(erations)f(can)i
(b)s(e)0 5124 y(sp)s(eci\014ed)h(b)m(y)i Fy(C)k FJ( )31
b Fy(C)e FK(+)23 b Fy(op)p FK(\()p Fy(AA)1174 5091 y
Fw(T)1229 5124 y FK(\))35 b(where)e Fy(op)p FK(\()p Fy(AA)1826
5091 y Fw(T)1882 5124 y FK(\))h(is)f Fy(AA)2182 5091
y Fw(T)2271 5124 y FK(or)h Fy(A)2454 5091 y Fw(T)2509
5124 y Fy(A)h FK(dep)s(ending)c(on)j(the)g(input)e(v)-5
b(alue)34 b(of)0 5237 y(the)d Fv(trans)e FK(argumen)m(t.)141
5350 y(All)h(p)s(ossible)f(v)-5 b(alues)31 b(of)g(the)h(op)s(erator)g
(argumen)m(t)g Fv(trans)e FK(are)i(not)g(alw)m(a)m(ys)g(meaningful.)41
b(F)-8 b(or)33 b(example,)e(in)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 176 186
176 185 bop 0 -165 a FK(176)2754 b FA(ANNEX)31 b(A.)61
b(APPENDIX)0 91 y FK(the)30 b(symmetric)f(rank-)p Fy(k)j
FK(up)s(date)d(op)s(erations)g(de\014ned)f(ab)s(o)m(v)m(e,)j(when)e
(the)h(matrix)f Fy(C)36 b FK(is)28 b(complex)h(symmetric,)0
204 y(the)42 b(only)f(v)-5 b(alid)41 b(v)-5 b(alues)41
b(of)h Fy(op)p FK(\()p Fy(AA)1269 171 y Fw(T)1325 204
y FK(\))g(are)h Fy(AA)1702 171 y Fw(T)1799 204 y FK(or)f
Fy(A)1990 171 y Fw(T)2045 204 y Fy(A)p FK(.)76 b(Similarly)-8
b(,)42 b(when)f(the)h(matrix)g Fy(C)48 b FK(is)41 b(complex)0
317 y(Hermitian,)32 b(the)h(only)e(v)-5 b(alid)31 b(v)-5
b(alues)32 b(of)h Fy(op)p FK(\()p Fy(AA)1682 284 y Fw(H)1749
317 y FK(\))g(are)g Fy(AA)2107 284 y Fw(H)2207 317 y
FK(or)g Fy(A)2389 284 y Fw(H)2456 317 y Fy(A)p FK(.)47
b(Suc)m(h)32 b(restrictions)g(are)h(detailed)e(for)0
430 y(eac)m(h)h(dense)e(and)f(banded)g(BLAS)i(function)e(to)i(whic)m(h)
e(they)h(apply)-8 b(.)141 543 y(Some)34 b(BLAS)f(routines)g(ha)m(v)m(e)
i(more)f(than)f(one)h Fv(trans)g FK(op)s(erator)g(argumen)m(t)g(b)s
(ecause)f(suc)m(h)h(an)f(argumen)m(t)0 656 y(is)i(needed)h(for)g(eac)m
(h)i(matrix)d(to)i(whic)m(h)e(it)h(applies.)57 b(F)-8
b(or)37 b(example,)g(a)g(general)f(matrix-m)m(ultiply)d(op)s(eration)0
769 y(can)e(b)s(e)f(sp)s(eci\014ed)f(as)i Fy(C)h FJ( )25
b Fy(op)p FK(\()p Fy(A)p FK(\))p Fy(op)p FK(\()p Fy(B)5
b FK(\))32 b(where)e Fy(A)p FK(,)h Fy(B)k FK(and)30 b
Fy(C)37 b FK(are)31 b(general)g(matrices.)41 b(A)31 b
Fv(trans)f FK(argumen)m(t)h(is)0 882 y(needed)h(for)h(eac)m(h)h(of)f
(the)g(input)d(matrices)j Fy(A)g FK(and)f Fy(B)5 b FK(;)34
b(b)m(y)e(con)m(v)m(en)m(tion)i(w)m(e)f(denote)g(those)h(formal)e
(argumen)m(ts)0 995 y Fv(transA)d FK(and)h Fv(transB)p
FK(.)227 1195 y Fz(R)-5 b(ationale.)137 b FK(As)40 b(men)m(tioned)f(ab)
s(o)m(v)m(e,)k(section)d(\(1.4\))h(do)s(es)e(not)g(sp)s(ecify)g(ho)m(w)
g(the)h(ob)5 b(jects)40 b(manipu-)227 1308 y(lated)27
b(b)m(y)g(the)h(BLAS)e(routines)g(are)i(stored.)40 b(This)25
b(imp)s(ortan)m(t)h(asp)s(ect)i(of)f(the)g(in)m(terface)h(sp)s
(eci\014cation)e(is)227 1421 y(deferred)34 b(to)i(the)f(language-dep)s
(enden)m(t)f(sp)s(eci\014cation)g(sections.)53 b(In)34
b(particular,)h(the)g(op)s(erator)g(argu-)227 1534 y(men)m(ts)24
b FG(do)k(not)23 b FK(indicate)g(whether)g(only)g(half)f(or)i(all)e(en)
m(tries)i(of)g(triangular,)f(symmetric)g(and)g(Hermitian)227
1647 y(matrices)33 b(are)f(stored,)h(or)f(ev)m(en)h(ho)m(w)g(these)f
(en)m(tries)g(are)h(stored.)46 b(The)32 b(in)m(ten)m(t)h(is)e(to)i(pro)
m(vide)e(eac)m(h)i(lan-)227 1760 y(guage)26 b(binding)c(with)h(the)i
(opp)s(ortunit)m(y)f(to)h(c)m(ho)s(ose)h(the)f(appropriate)f(data)h
(structures)f(for)h(eac)m(h)h(ob)5 b(ject.)227 1873 y(Note)33
b(that)g(a)f(giv)m(en)f(language)h(binding)d(sp)s(eci\014cation)h(ma)m
(y)j(pro)m(vide)e(m)m(ultiple)e(functions)h(p)s(erforming)227
1986 y(the)i(same)f(op)s(eration)g(on)g(op)s(erands)f(stored)h
(di\013eren)m(tly)-8 b(.)42 b(F)-8 b(or)32 b(example,)f(triangular)f
(matrices)h(ma)m(y)h(b)s(e)227 2098 y(stored)37 b(within)c(con)m(v)m
(en)m(tional)k(t)m(w)m(o-dimensional)e(arra)m(ys)i(or)f(in)f(pac)m(k)m
(ed)i(storage,)j(where)35 b(the)i(triangle)227 2211 y(ma)m(y)30
b(b)s(e)f(pac)m(k)m(ed)i(b)m(y)e(ro)m(ws)h(or)f(columns.)39
b(Consequen)m(tly)-8 b(,)30 b(a)g(BLAS)f(routine)f(sp)s(eci\014ed)g(in)
g(the)i(function-)227 2324 y(alit)m(y)g(tables)f(ma)m(y)h(induce)e(m)m
(ultiple)g(functions)g(in)g(a)i(particular)e(language)i(binding,)d(sa)m
(y)k(for)e(instance,)227 2437 y(to)36 b(pro)m(vide)d(the)i(user)f(with)
f(the)h(same)h(op)s(eration)f(on)h(ob)5 b(jects)35 b(that)g(are)g
(stored)g(di\013eren)m(tly)-8 b(.)52 b(\()p Fz(End)37
b(of)227 2550 y(r)-5 b(ationale.)p FK(\))141 2751 y(It)34
b(follo)m(ws)g(that,)i(in)d(general,)i(a)g(mathematical)f(op)s(eration)
g(in)m(v)m(olving)f(a)h(matrix)g Fy(A)p FK(,)h(where)f
Fy(A)g FK(could)g(b)s(e)0 2864 y(general)j(or)g(banded,)h(triangular,)f
(symmetric)f(or)h(Hermitian,)h(induces)d(the)i(language-indep)s(enden)m
(t)f(sp)s(eci-)0 2976 y(\014cation)g(of)g(m)m(ultiple)d(routines.)57
b(Ho)m(w)m(ev)m(er,)39 b(this)c(language-indep)s(enden)m(t)g(section)h
(ignores)f(the)h(fact)h(that)g(a)0 3089 y(giv)m(en)28
b(language)h(binding)d(ma)m(y)j(c)m(ho)s(ose)g(to)g(pro)m(vide)f(m)m
(ultiple)e(storage)k(sc)m(hemes)f(for)f(some)h(sp)s(eci\014c)e(classes)
i(of)0 3202 y(matrices,)i(suc)m(h)f(as)g(triangular)f(matrices.)0
3487 y FE(A.4)116 b(F)m(o)m(rtran)39 b(95)f(Mo)s(dules)0
3690 y FK(Sev)m(eral)31 b(F)-8 b(ortran)32 b(95)f(mo)s(dules)f(are)h
(pro)m(vided,)f(allo)m(wing)g(for)g(the)i(\015exible)d(inclusion)f(of)j
(only)f(select)h(p)s(ortions)0 3803 y(of)36 b(the)h(do)s(cumen)m(t.)58
b(The)36 b(mo)s(dules)e FD(blas)p 1497 3803 29 4 v 34
w(dense)p FK(,)i FD(blas)p 2024 3803 V 34 w(sparse)p
FK(,)g(and)g FD(blas)p 2782 3803 V 33 w(extended)p FK(,)g(are)g(pro)m
(vided)f(for)0 3916 y(Chapters)30 b(2,)h(3,)g(and)e(4,)i(resp)s(ectiv)m
(ely)-8 b(.)227 4093 y FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o
(for)o(um/b)o(las)p 2291 4093 V 28 w(dense.f90)227 4206
y(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2291 4206 V 28 w(sparse.f90)227 4319 y(
http://www.netlib.org/bla)o
(s/bl)o(ast-)o(for)o(um/b)o(las)p 2291 4319 V 28 w(extended.f90)0
4497 y FK(Eac)m(h)22 b(of)g(these)g(mo)s(dules)e(in)g(turn)h(con)m
(tains)h(a)g FD(USE)f FK(statemen)m(t)i(to)g(include)c(the)j(mo)s(dule)
e(of)i(op)s(erator)g(argumen)m(ts)0 4610 y(\()p FD(blas)p
233 4610 V 34 w(operator)p 651 4610 V 32 w(arguments)27
b FK(for)j(Chapters)f(2)i(and)e(4,)i(and)f FD(blas)p
2392 4610 V 33 w(sparse)p 2713 4610 V 33 w(namedconstants)c
FK(for)k(Chapter)0 4723 y(3\),)h(and)f(the)h(resp)s(ectiv)m(e)f(mo)s
(dule\(s\))f(of)i(explicit)e(in)m(terfaces)h(for)h(that)g(c)m(hapter.)
141 4835 y(F)-8 b(or)23 b(Chapters)f(2)g(and)g(4,)i(one)f(deriv)m(ed)e
(t)m(yp)s(e)i(is)e(sp)s(eci\014ed)g(for)h(eac)m(h)h(category)h(of)f(op)
s(erator)f(argumen)m(ts)h(\(suc)m(h)0 4948 y(as)29 b(trans\))f(and)g
(some)g(parameters)h(are)g(de\014ned)e(of)h(this)g(t)m(yp)s(e)g(\(for)h
(the)f(di\013eren)m(t)g(settings\).)40 b(F)-8 b(or)29
b(consistency)-8 b(,)0 5061 y(the)37 b(su\016x)p 415
5061 V 70 w FD(type)e FK(is)h(used)f(to)j(name)e(all)f(of)i(the)g
(deriv)m(ed)e(t)m(yp)s(es.)60 b(This)34 b(su\016x)i(is)f(needed)i(in)e
(some)i(cases)g(to)0 5174 y(di\013eren)m(tiate)30 b(b)s(et)m(w)m(een)g
(the)g(t)m(yp)s(e)g(and)f(one)h(of)g(the)g(parameters)g(\(for)g
(example,)g FD(blas)p 3039 5174 V 33 w(trans)p 3312 5174
V 33 w(type)f FK(is)g(a)h(t)m(yp)s(e)0 5287 y(and)37
b FD(blas)p 382 5287 V 33 w(trans)e FK(is)i(a)g(parameter)h(of)f(this)f
(t)m(yp)s(e\).)61 b(The)37 b(Sparse)f(BLAS)h(c)m(hapter)h(represen)m
(ts)f(its)g(op)s(erator)0 5400 y(argumen)m(ts)31 b(and)e(a)i(list)e(of)
i(matrix)e(prop)s(erties)g(\(see)j(section)e(3.5.1\))j(as)d(named)g
(constan)m(ts.)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 177 187
177 186 bop 0 -165 a FA(A.4.)72 b(F)m(OR)-8 b(TRAN)31
b(95)g(MODULES)2461 b FK(177)227 91 y Fz(A)-5 b(dvic)g(e)29
b(to)h(implementors.)80 b FK(F)-8 b(or)27 b(Chapter)f(2,)i(all)e(the)g
(en)m(tities)g(\(deriv)m(ed)g(t)m(yp)s(es,)i(named)e(constan)m(ts)i
(and)227 204 y(BLAS)i(pro)s(cedures\))g(m)m(ust)g(b)s(e)g(accessible)g
(to)h(the)g(user)e(via)h(the)h(mo)s(dule)e FD(blas)p
3035 204 29 4 v 33 w(dense)p FK(.)227 355 y(There)h(are)g(man)m(y)g(w)m
(a)m(ys)g(to)h(create)g(this)e(mo)s(dule.)39 b(Ho)m(w)m(ev)m(er)32
b(the)e(follo)m(wing)e(three)i(conditions)f FG(MUST)227
467 y FK(b)s(e)h(adhered)g(to:)336 655 y FJ(\017)46 b
FK(all)30 b(en)m(tities)g(can)g(b)s(e)g(accessed)i(b)m(y)e(the)h(mo)s
(dule)336 801 y FJ(\017)46 b FK(the)31 b(generic)f(names)g(m)m(ust)h(b)
s(e)e(the)i(same)g(as)f(in)f(the)i(F)-8 b(ortran)31 b(95)g(bindings)336
947 y FJ(\017)46 b FK(the)31 b(sp)s(eci\014c)e(name)h(m)m(ust)g(b)s(e)f
(standard.)40 b(The)30 b(standard)f(that)i(w)m(e)f(recommend)g(is)f
(\\su\016x)p 3668 947 28 4 v 63 w(d,)p 3807 947 V 62
w(z,)p 427 1060 V 455 1060 a(s)h(and)p 703 1060 V 62
w(c")h(for)g(double)d(precision,)h(double)g(complex,)h(real)g(and)g
(complex.)227 1248 y(F)-8 b(or)23 b(example)f(the)g(F)-8
b(ortran)23 b(95)g(bindings)18 b(giv)m(es)23 b(the)f(generic)g(name)g
Fv(gemm)p FK(.)39 b(This)21 b(is)g(a)h(generic)g(pro)s(cedure)227
1361 y(for)30 b(the)h(follo)m(wing)e(12)i(sp)s(eci\014c)e(pro)s
(cedures:)227 1586 y(gemm)p 469 1586 V 33 w(d)43 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 1586 V 33 w(DGEMM)g(\(legacy)h(DGEMM\))227
1699 y(gemm)p 469 1699 V 33 w(z)54 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 1699 V 33 w(ZGEMM)f(\(legacy)i(ZGEMM\))227
1812 y(gemm)p 469 1812 V 33 w(s)58 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 1812 V 33 w(SGEMM)f(\(legacy)i(SGEMM\))227
1924 y(gemm)p 469 1924 V 33 w(c)54 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 1924 V 33 w(CGEMM)f(\(legacy)i(CGEMM\))227
2037 y(gem)m(v)p 438 2037 V 34 w(d)73 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2037 V 33 w(DGEMV)g(\(legacy)h(DGEMV\))227
2150 y(gem)m(v)p 438 2150 V 34 w(z)84 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2150 V 33 w(ZGEMV)f(\(legacy)i(ZGEMV\))227
2263 y(gem)m(v)p 438 2263 V 34 w(s)88 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2263 V 33 w(SGEMV)f(\(legacy)i(SGEMV\))227
2376 y(gem)m(v)p 438 2376 V 34 w(c)84 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2376 V 33 w(CGEMV)f(\(legacy)i(CGEMV\))227
2489 y(ger)p 353 2489 V 33 w(d)159 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2489 V 33 w(DGER)g(\(legacy)g(DGER\))227
2602 y(ger)p 353 2602 V 33 w(z)170 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2602 V 33 w(ZGER)f(\(legacy)h(SGER\))227
2715 y(ger)p 353 2715 V 33 w(s)174 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2715 V 33 w(SGER)f(\(legacy)h(ZGER)m(U,)g(ZGER)m
(C\))227 2828 y(ger)p 353 2828 V 33 w(c)170 b(corresp)s(onds)29
b(to)i(BLAS)p 1446 2828 V 33 w(CGER)f(\(legacy)h(CGER)m(U,)g(CGER)m
(C\))227 3053 y(A)g(sp)s(eci\014c)e(pro)s(cedure)g(could)h(b)s(e)f(an)i
(external)f(pro)s(cedure)f(or)h(a)h(mo)s(dule)e(pro)s(cedure.)227
3203 y(One)h(approac)m(h)h(for)f(creating)h(the)f(mo)s(dule)f
FD(blas)p 1974 3203 29 4 v 33 w(dense)g FK(is)h(to:)336
3391 y FJ(\017)46 b FK(create)32 b(one)f(\014le)e(for)h(eac)m(h)i(pro)s
(cedure)336 3537 y FJ(\017)46 b FK(create)32 b(the)f(in)m(terface)g
(blo)s(c)m(ks)e(for)i(the)f(generic)h(names)f(using)f(one)h(or)h(more)f
(mo)s(dules)336 3683 y FJ(\017)46 b FK(create)27 b(the)f(mo)s(dule)e
FD(blas)p 1356 3683 V 33 w(dense)g FK(from)h(the)h(mo)s(dules)e(in)g
(the)i(last)f(step)h(and)f(other)h(mo)s(dules)d(suc)m(h)427
3796 y(as)31 b FD(blas)p 737 3796 V 33 w(operator)p 1154
3796 V 32 w(arguments)227 3983 y FK(Assuming)d(w)m(e)j(are)f(using)f
(external)g(pro)s(cedures,)g(the)h(follo)m(wing)f(\014les)g(could)g(b)s
(e)g(used)g(as)h(templates)g(to)227 4096 y(create)35
b(the)e(mo)s(dule)f FD(blas)p 1179 4096 V 33 w(dense)p
FK(.)47 b(The)33 b(in)m(terface)g(blo)s(c)m(ks)g(are)g(group)s(ed)f
(according)h(to)h(the)f(grouping)227 4209 y(in)c(section)i(2.8.1.)42
b(The)30 b(\014les)g(are:)336 4397 y FJ(\017)46 b FD
(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2491 4397 V 28 w(operator)p 2904 4397 V 32 w(arguments.f90)427
4510 y FK(\014le)30 b(con)m(taining)g(the)g(mo)s(dule)f(blas)p
1656 4510 28 4 v 32 w(op)s(erator)p 2024 4510 V 33 w(argumen)m(ts)336
4656 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o
(um/b)o(las)p 2491 4656 29 4 v 28 w(precision.f90)427
4769 y FK(\014le)30 b(con)m(taining)g(the)g(mo)s(dule)f(used)h(to)h(sp)
s(ecify)e(the)h(precision)f(\(not)i(visible)d(to)j(the)f(user\))336
4915 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o
(um/b)o(las)p 2491 4915 V 28 w(dense)p 2760 4915 V 33
w(red)p 2937 4915 V 33 w(op.f90)427 5028 y FK(\014le)30
b(con)m(taining)g(the)g(in)m(terface)h(blo)s(c)m(ks)f(for)g(the)h
(reduction)e(op)s(erations)h(\(section)g(2.8.2\))336
5174 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o
(um/b)o(las)p 2491 5174 V 28 w(dense)p 2760 5174 V 33
w(gen)p 2937 5174 V 33 w(trans.f90)427 5287 y FK(\014le)c(con)m
(taining)h(the)g(in)m(terface)h(blo)s(c)m(ks)f(for)g(the)g(generate)i
(transformations)d(pro)s(cedures)g(\(sec-)427 5400 y(tion)30
b(2.8.3\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 178 188
178 187 bop 0 -165 a FK(178)2754 b FA(ANNEX)31 b(A.)61
b(APPENDIX)336 91 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o
(ast-)o(for)o(um/b)o(las)p 2491 91 29 4 v 28 w(dense)p
2760 91 V 33 w(vec)p 2937 91 V 33 w(op.f90)427 204 y
FK(\014le)30 b(con)m(taining)g(the)g(in)m(terface)h(blo)s(c)m(ks)f(for)
g(the)h(v)m(ector)h(op)s(erations)d(\(section)i(2.8.4\))336
349 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o
(um/b)o(las)p 2491 349 V 28 w(dense)p 2760 349 V 33 w(vec)p
2937 349 V 33 w(mov.f90)427 462 y FK(\014le)30 b(con)m(taining)g(the)g
(in)m(terface)h(blo)s(c)m(ks)f(for)g(the)h(data)g(mo)m(v)m(emen)m(t)h
(with)d(v)m(ectors)j(\(section)f(2.8.5\))336 607 y FJ(\017)46
b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2491 607 V 28 w(dense)p 2760 607 V 33 w(mat)p 2937 607
V 33 w(vec)p 3114 607 V 34 w(op.f90)427 720 y FK(\014le)30
b(con)m(taining)g(the)g(in)m(terface)h(blo)s(c)m(ks)f(for)g(the)h
(matrix)p 2384 720 28 4 v 32 w(v)m(ector)h(op)s(erations)d(\(section)i
(2.8.6\))336 864 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o
(ast-)o(for)o(um/b)o(las)p 2491 864 29 4 v 28 w(dense)p
2760 864 V 33 w(mat)p 2937 864 V 33 w(op.f90)427 977
y FK(\014le)30 b(con)m(taining)g(the)g(in)m(terface)h(blo)s(c)m(ks)f
(for)g(the)h(matrix)e(op)s(erations)h(\(section)h(2.8.7\))336
1122 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o
(um/b)o(las)p 2491 1122 V 28 w(dense)p 2760 1122 V 33
w(mat)p 2937 1122 V 33 w(mat)p 3114 1122 V 34 w(op.f90)427
1235 y FK(\014le)30 b(con)m(taining)g(the)g(in)m(terface)h(blo)s(c)m
(ks)f(for)g(the)h(matrix)p 2384 1235 28 4 v 32 w(matrix)e(op)s
(erations)h(\(section)h(2.8.8\))336 1380 y FJ(\017)46
b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2491 1380 29 4 v 28 w(dense)p 2760 1380 V 33 w(mat)p
2937 1380 V 33 w(mov.f90)427 1492 y FK(\014le)30 b(con)m(taining)g(the)
g(in)m(terface)h(blo)s(c)m(ks)f(for)g(the)h(data)g(mo)m(v)m(emen)m(t)h
(with)d(matrices)i(\(section)f(2.8.9\))336 1637 y FJ(\017)46
b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2491 1637 V 28 w(dense)p 2760 1637 V 33 w(fpinfo.f90)427
1750 y FK(\014le)30 b(con)m(taining)g(the)g(in)m(terface)h(blo)s(c)m
(ks)f(for)g(the)h(en)m(vironmen)m(tal)e(enquiry)g(\(section)i(2.8.10\))
336 1895 y FJ(\017)46 b FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o
(for)o(um/b)o(las)p 2491 1895 V 28 w(dense.f90)427 2008
y FK(\014le)25 b(con)m(taining)h(the)g(mo)s(dule)e FD(blas)p
1673 2008 V 33 w(dense)h FK(that)h(imp)s(orts)f(the)h(information)e
(from)h(all)g(other)h(mo)s(d-)427 2121 y(ules)k(and)f(mak)m(es)j(them)e
(a)m(v)-5 b(ailable.)227 2307 y(The)27 b(sp)s(eci\014cations)f(for)i
(all)e(sp)s(eci\014c)g(pro)s(cedures)h(MUST)g(b)s(e)g(as)g(they)h(app)s
(ear)f(in)f(the)i(ab)s(o)m(v)m(e)h(\014les.)38 b(The)227
2420 y(only)30 b(c)m(hange)h(is)f(the)g(w)m(a)m(y)i(that)f(the)f
(precision)f(is)g(sp)s(eci\014ed.)39 b(\()p Fz(End)33
b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p FK(\))0
2706 y FE(A.5)116 b(F)m(o)m(rtran)39 b(77)f(Include)h(File)0
2908 y FK(One)e(F)-8 b(ortran)38 b(77)h(include)c(\014le)i(is)f(pro)m
(vided,)i FD(blas)p 1843 2908 V 34 w(namedconstants.h)p
FK(.)57 b(This)36 b(include)f(\014le)i(con)m(tains)h(the)0
3021 y(v)-5 b(alues)30 b(of)g(all)g(named)f(constan)m(ts,)j(and)e
(applies)f(to)i(Chapters)e(2,)i(3,)g(and)f(4.)227 3206
y FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2291 3206 V 28 w(namedconstants.h)141 3390 y FK(Op)s(erator)35
b(argumen)m(ts)g Fv(no)m(rm)p FK(,)j Fv(so)m(rt)p FK(,)f
Fv(side)p FK(,)g Fv(uplo)p FK(,)f Fv(trans)p FK(,)g Fv(conj)p
FK(,)i Fv(diag)p FK(,)e Fv(jrot)p FK(,)h Fv(index)p 2958
3390 28 4 v 33 w(base)p FK(,)g(and)d Fv(p)m(rec)j FK(are)e(rep-)0
3503 y(resen)m(ted)d(in)e(the)h(F)-8 b(ortran)32 b(77)g(in)m(terface)g
(as)f(INTEGERs.)43 b(These)31 b(op)s(erator)g(argumen)m(ts)h(assume)f
(the)g(named)0 3615 y(constan)m(t)h(v)-5 b(alues)31 b(as)g(de\014ned)f
(in)g(section)h(A.3.)44 b(The)31 b(Sparse)f(BLAS)h(c)m(hapter)h
(de\014nes)e(a)i(list)e(of)h(matrix)g(prop-)0 3728 y(erties)f(\(see)i
(section)e(3.5.1\))j(that)e(m)m(ust)f(also)g(b)s(e)g(de\014ned.)227
3937 y Fz(A)-5 b(dvic)g(e)40 b(to)h(implementors.)131
b FK(This)37 b(sp)s(eci\014cation)g(is)g(a)i(deviation)f(from)f(the)i
(Legacy)h(BLAS,)e(where)227 4050 y(these)31 b(op)s(erator)g(argumen)m
(ts)f(w)m(ere)h(de\014ned)e(as)i FD(CHARACTER*1)p FK(.)38
b(\()p Fz(End)33 b(of)g(advic)-5 b(e)33 b(to)g(implementors.)p
FK(\))0 4335 y FE(A.6)116 b(C)39 b(Include)g(Files)0
4538 y FK(Sev)m(eral)28 b(C)g(include)e(\014les)h(are)h(pro)m(vided,)g
(allo)m(wing)f(for)h(the)g(\015exible)e(inclusion)f(of)k(only)e(select)
i(p)s(ortions)d(of)j(the)0 4651 y(do)s(cumen)m(t.)58
b(The)35 b(\014le)g FD(blas.h)g FK(con)m(tains)h(the)g(en)m(umerated)h
(t)m(yp)s(es)f(and)f(all)g(protot)m(yp)s(es)i(for)f(Chapters)f(2,)j(3,)
0 4764 y(and)c(4.)53 b(The)34 b(\014les)g FD(blas)p 880
4764 29 4 v 33 w(dense.h)p FK(,)g FD(blas)p 1500 4764
V 33 w(sparse.h)p FK(,)f(and)h FD(blas)p 2348 4764 V
34 w(extended.h)p FK(,)e(include)h(the)h(v)-5 b(alues)34
b(of)h(the)0 4877 y(op)s(erator)c(argumen)m(ts)f(\(en)m(umerated)h(t)m
(yp)s(es\))g(and)f(the)g(function)g(protot)m(yp)s(es)g(for)g(the)h
(resp)s(ectiv)m(e)f(c)m(hapter.)227 5061 y FD
(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las.)o(h)227
5174 y(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2291 5174 V 28 w(dense.h)227 5287 y(
http://www.netlib.org/bla)o(s/bl)o
(ast-)o(for)o(um/b)o(las)p 2291 5287 V 28 w(sparse.h)227
5400 y(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o(las)p
2291 5400 V 28 w(extended.h)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 179 189
179 188 bop 0 -165 a FA(A.6.)72 b(C)30 b(INCLUDE)g(FILES)2718
b FK(179)0 91 y(The)23 b(\014le)g FD(blas)p 518 91 29
4 v 34 w(enum.h)f FK(con)m(tains)i(the)g(v)-5 b(alues)23
b(of)h(all)f(en)m(umerated)h(t)m(yp)s(es,)h(applying)d(to)j(all)e(c)m
(hapters.)39 b(The)23 b(\014les)0 204 y FD(blas)p 198
204 V 33 w(dense)p 471 204 V 33 w(proto.h)p FK(,)29 b
FD(blas)p 1086 204 V 33 w(sparse)p 1407 204 V 33 w(proto.h)p
FK(,)f(and)i FD(blas)p 2198 204 V 33 w(extended)p 2615
204 V 32 w(proto.h)p FK(,)f(con)m(tain)h(the)h(resp)s(ectiv)m(e)0
317 y(function)e(protot)m(yp)s(es)i(for)f(Chapters)g(2,)h(3,)g(and)e
(4.)227 530 y FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o(for)o(um/b)o
(las)p 2291 530 V 28 w(enum.h)227 643 y(
http://www.netlib.org/bla)o
(s/bl)o(ast-)o(for)o(um/b)o(las)p 2291 643 V 28 w(dense)p
2560 643 V 33 w(proto.h)227 756 y(
http://www.netlib.org/bla)o(s/bl)o
(ast-)o(for)o(um/b)o(las)p 2291 756 V 28 w(sparse)p 2608
756 V 33 w(proto.h)227 868 y(
http://www.netlib.org/bla)o(s/bl)o(ast-)o
(for)o(um/b)o(las)p 2291 868 V 28 w(extended)p 2704 868
V 32 w(proto.h)141 1081 y FK(All)35 b(op)s(erator)i(argumen)m(ts)f(are)
h(handled)e(b)m(y)h(en)m(umerated)h(t)m(yp)s(es)f(in)f(the)i(C)f(in)m
(terface.)59 b(This)34 b(allo)m(ws)i(for)0 1194 y(tigh)m(ter)i(error)f
(c)m(hec)m(king,)j(and)d(pro)m(vides)g(less)g(opp)s(ortunit)m(y)f(for)h
(user)g(error.)62 b(In)37 b(addition)f(to)i(the)g(op)s(erator)0
1307 y(argumen)m(ts)28 b(of)h Fv(n)p FK(orm,)f Fv(s)p
FK(ort,)h Fv(s)p FK(ide,)f Fv(u)p FK(plo,)g Fv(t)p FK(rans,)g
Fv(c)p FK(onj,)h Fv(d)p FK(iag,)g Fv(j)p FK(rot,)g Fv(i)p
FK(ndex)p 2531 1307 28 4 v 32 w(base,)g(and)f Fv(p)p
FK(rec,)h(this)e(in)m(terface)i(adds)0 1420 y(another)i(suc)m(h)g
(argumen)m(t)g(to)h(all)e(routines)f(in)m(v)m(olving)h(t)m(w)m(o)i
(dimensional)c(arra)m(ys,)k Fv(o)p FK(rder.)42 b Fv(o)p
FK(rder)30 b(designates)h(if)0 1533 y(the)36 b(arra)m(y)h(elemen)m(ts)f
(are)h(stored)f(in)f(ro)m(w-ma)5 b(jor)36 b(or)g(column-ma)5
b(jor)36 b(ordering.)56 b(Refer)36 b(to)h(section)f(2.6.6)i(for)0
1645 y(further)25 b(details.)38 b(The)26 b(Sparse)f(BLAS)h(c)m(hapter)h
(de\014nes)f(a)g(list)f(of)h(matrix)g(prop)s(erties)e(\(see)k(section)e
(3.5.1\))i(that)0 1758 y(m)m(ust)i(also)h(b)s(e)e(de\014ned.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 180 190
180 189 bop 0 714 a FF(Annex)65 b(B)0 1129 y FH(Legacy)77
b(BLAS)0 1611 y FE(B.1)116 b(Intro)s(duction)0 1814 y
FK(This)30 b(c)m(hapter)j(addresses)e(additional)f(language)i(bindings)
d(for)j(the)g(original)e(Lev)m(el)i(1,)h(2,)g(and)e(3)h(BLAS.)g(The)0
1926 y(Lev)m(el)f(1,)g(2,)g(and)e(3)i(BLAS)f(will)e(hereafter)j(b)s(e)f
(referred)f(to)i(as)g(the)g(Legacy)g(BLAS.)0 2213 y FE(B.2)116
b(C)39 b(interface)f(to)h(the)g(Legacy)g(BLAS)0 2416
y FK(This)f(section)i(giv)m(es)g(a)g(detailed)e(discussion)g(of)h(the)h
(prop)s(osed)f(C)g(in)m(terface)h(to)h(the)e(legacy)i(BLAS.)f(Ev)m(ery)
0 2529 y(men)m(tion)h(of)h(\\BLAS")h(in)d(this)h(c)m(hapter)h(should)e
(b)s(e)h(tak)m(en)i(to)f(mean)g(the)g(legacy)g(BLAS.)g(Eac)m(h)g(in)m
(terface)0 2642 y(decision)22 b(is)h(discussed)f(in)h(its)g(o)m(wn)h
(section.)39 b(Eac)m(h)24 b(section)g(also)g(con)m(tains)g(a)h
Fz(Consider)-5 b(e)g(d)29 b(metho)-5 b(ds)26 b FK(subsection,)0
2755 y(where)33 b(other)g(solutions)f(to)i(that)g(particular)d(problem)
h(are)h(discussed,)g(along)g(with)f(the)h(reasons)h(wh)m(y)e(those)0
2867 y(options)25 b(w)m(ere)h(not)f(c)m(hosen.)40 b(These)25
b Fz(Consider)-5 b(e)g(d)31 b(metho)-5 b(ds)27 b FK(subsections)e(are)h
(inden)m(ted)e(and)h Fz(italicize)-5 b(d)26 b FK(in)e(order)0
2980 y(to)31 b(distinguish)c(them)j(from)g(the)h(rest)f(of)h(the)f
(text.)141 3093 y(It)37 b(is)e(largely)h(agreed)h(among)g(the)f(group)g
(\(and)g(unanimous)e(among)j(the)g(v)m(endors\))f(that)h(user)f(demand)
0 3206 y(for)30 b(a)h(C)f(in)m(terface)h(to)h(the)e(BLAS)h(is)e
(insu\016cien)m(t)g(to)i(motiv)-5 b(ate)32 b(v)m(endors)e(to)h(supp)s
(ort)e(a)i(completely)f(separate)0 3319 y(standard.)39
b(This)28 b(prop)s(osal)g(therefore)h(con\014nes)g(itself)f(to)i(an)f
(in)m(terface)g(whic)m(h)f(can)i(b)s(e)e(readily)g(supp)s(orted)f(on)0
3432 y(top)k(of)f(the)h(already)f(existing)f(F)-8 b(ortran)31
b(77)g(callable)f(BLAS)g(\(i.e.,)h(the)f(legacy)i(BLAS\).)141
3545 y(The)22 b(in)m(terface)g(is)g(expressed)f(in)g(terms)h(of)g
(ANSI/ISO)f(C.)h(V)-8 b(ery)23 b(few)f(platforms)f(fail)g(to)i(pro)m
(vide)e(ANSI/ISO)0 3658 y(C)34 b(compilers)f(at)i(this)e(time,)i(and)f
(for)g(those)h(platforms,)g(free)f(ANSI/ISO)g(C)f(compilers)g(are)i
(almost)f(alw)m(a)m(ys)0 3771 y(a)m(v)-5 b(ailable)30
b(\(eg.,)i FD(gcc)p FK(\).)0 4014 y Fx(B.2.1)97 b(Naming)33
b(scheme)0 4186 y FK(The)40 b(naming)f(sc)m(heme)j(consists)e(of)h
(taking)f(the)h(F)-8 b(ortran)41 b(77)g(routine)f(name,)j(making)d(it)g
(lo)m(w)m(er)h(case,)k(and)0 4299 y(adding)29 b(the)i(pre\014x)e
FD(cblas)p 956 4299 29 4 v 33 w FK(.)41 b(Therefore,)30
b(the)g(routine)g FD(DGEMM)f FK(b)s(ecomes)h FD(cblas)p
2832 4299 V 33 w(dgemm)p FK(.)0 4539 y Fv(Considered)h(metho)s(ds)367
4710 y Fz(V)-7 b(arious)37 b(other)h(naming)f(schemes)h(have)f(b)-5
b(e)g(en)37 b(pr)-5 b(op)g(ose)g(d,)41 b(such)c(as)g(adding)h
FD(C)p 3136 4710 V 71 w Fz(or)f FD(c)p 3376 4710 V 71
w Fz(to)g(the)227 4823 y(name.)49 b(Most)35 b(of)g(these)g(schemes)h
(ac)-5 b(c)g(omplish)37 b(the)e(r)-5 b(e)g(quir)g(ement)36
b(of)f(sep)-5 b(ar)g(ating)37 b(the)e(F)-7 b(ortr)i(an)38
b(77)227 4936 y(and)32 b(C)e(name)h(sp)-5 b(ac)g(es.)42
b(It)31 b(was)g(ar)-5 b(gue)g(d,)32 b(however,)g(that)f(the)g(addition)
h(of)f(the)f FD(blas)f Fz(pr)-5 b(e\014x)32 b(uni\014es)227
5049 y(the)h(naming)g(scheme)g(in)f(a)h(lo)-5 b(gic)g(al)34
b(and)g(useful)e(way)h(\(making)g(it)f(e)-5 b(asy)34
b(to)f(se)-5 b(ar)g(ch)34 b(for)f(BLAS)f(use)227 5162
y(in)f(a)g(c)-5 b(o)g(de,)32 b(for)g(instanc)-5 b(e\),)32
b(while)f(not)h(placing)f(to)-5 b(o)32 b(gr)-5 b(e)g(at)32
b(a)g(bur)-5 b(den)31 b(on)g(the)h(typist.)42 b(The)31
b(letter)g FD(c)227 5275 y Fz(is)i(use)-5 b(d)33 b(to)g(distinguish)h
(this)f(language)g(interfac)-5 b(e)33 b(fr)-5 b(om)34
b(p)-5 b(ossible)34 b(futur)-5 b(e)32 b(interfac)-5 b(es.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 181 191
181 190 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(181)0 91 y Fx(B.2.2)97
b(Indices)33 b(and)g(I)p 833 91 30 4 v 34 w(AMAX)0 263
y FK(The)h(F)-8 b(ortran)36 b(77)g(BLAS)e(return)g(indices)f(in)g(the)j
(range)f(1)e FJ(\024)f Fy(I)40 b FJ(\024)33 b Fy(N)44
b FK(\(where)35 b Fy(N)45 b FK(is)34 b(the)h(n)m(um)m(b)s(er)e(of)i(en)
m(tries)0 376 y(in)g(the)i(dimension)d(in)i(question,)h(and)f
Fy(I)44 b FK(is)36 b(the)h(index\),)g(in)f(accordance)i(with)d(F)-8
b(ortran)37 b(77)h(arra)m(y)f(indexing)0 489 y(con)m(v)m(en)m(tions.)47
b(This)31 b(allo)m(ws)g(functions)g(returning)g(indices)f(to)j(b)s(e)f
(directly)f(used)g(to)i(index)e(standard)g(arra)m(ys.)0
602 y(The)f(C)g(in)m(terface)h(therefore)g(returns)e(indices)f(in)h
(the)i(range)g(0)25 b FJ(\024)g Fy(I)33 b(<)25 b(N)40
b FK(for)30 b(the)h(same)f(reason.)141 715 y(The)25 b(only)g(BLAS)g
(routine)g(whic)m(h)f(returns)g(an)i(index)e(is)g(the)i(function)e
FD(I)p 2661 715 29 4 v 34 w(AMAX)p FK(.)h(This)f(function)g(is)g
(declared)0 827 y(to)j(b)s(e)f(of)g(t)m(yp)s(e)h FD(CBLAS)p
773 827 V 33 w(INDEX)p FK(,)e(whic)m(h)g(is)h(guaran)m(teed)h(to)g(b)s
(e)f(an)g(in)m(teger)h(t)m(yp)s(e)f(\(i.e.,)i(no)f(cast)g(is)e
(required)g(when)0 940 y(assigning)i(to)i(an)m(y)g(in)m(teger)g(t)m(yp)
s(e\).)41 b FD(CBLAS)p 1487 940 V 33 w(INDEX)27 b FK(will)e(usually)i
(corresp)s(ond)g(to)i FD(size)p 3028 940 V 33 w(t)g FK(to)g(ensure)f
(an)m(y)g(arra)m(y)0 1053 y(can)35 b(b)s(e)e(indexed,)i(but)e(implemen)
m(tors)g(migh)m(t)h(c)m(ho)s(ose)i(the)e(in)m(teger)h(t)m(yp)s(e)g
(whic)m(h)e(matc)m(hes)j(their)d(F)-8 b(ortran)35 b(77)0
1166 y FD(INTEGER)p FK(,)28 b(for)h(instance.)40 b(It)30
b(is)f(de\014ned)f(that)i(zero)h(is)d(returned)h(as)g(the)h(index)e
(for)i(a)g(zero)g(length)f(v)m(ector)i(\(eg.,)0 1279
y(F)-8 b(or)31 b Fy(N)k FK(=)25 b(0,)31 b FD(I)p 522
1279 V 34 w(AMAX)f FK(will)d(alw)m(a)m(ys)k(return)f(zero\).)0
1518 y Fx(B.2.3)97 b(Cha)m(racter)34 b(a)m(rguments)0
1690 y FK(All)29 b(argumen)m(ts)h(whic)m(h)f(w)m(ere)i(c)m(haracters)h
(in)d(the)h(F)-8 b(ortran)31 b(77)g(in)m(terface)g(are)g(handled)d(b)m
(y)i(en)m(umerated)h(t)m(yp)s(es)0 1802 y(in)k(the)h(C)g(in)m(terface.)
59 b(This)35 b(allo)m(ws)g(for)h(tigh)m(ter)h(error)f(c)m(hec)m(king,)i
(and)e(pro)m(vides)f(less)h(opp)s(ortunit)m(y)f(for)h(user)0
1915 y(error.)56 b(The)34 b(c)m(haracter)k(argumen)m(ts)d(presen)m(t)h
(in)e(the)h(F)-8 b(ortran)37 b(77)f(in)m(terface)g(are:)51
b FD(SIDE)p FK(,)35 b FD(UPLO)p FK(,)f FD(TRANSPOSE)p
FK(,)0 2028 y(and)39 b FD(DIAG)p FK(.)g(This)g(in)m(terface)h(adds)f
(another)i(suc)m(h)e(argumen)m(t)i(to)f(all)f(routines)g(in)m(v)m
(olving)f(t)m(w)m(o)k(dimensional)0 2141 y(arra)m(ys,)31
b FD(ORDER)p FK(.)e(The)h(standard)g(dictates)g(the)h(follo)m(wing)e
(en)m(umerated)i(t)m(yp)s(es:)0 2324 y FD(enum)47 b(CBLAS_ORDER)235
b({CblasRowMajor=101,)43 b(CblasColMajor=102};)0 2437
y(enum)k(CBLAS_TRANSPOSE)c({CblasNoTrans=111,)g(CblasTrans=112,)h
(CblasConjTrans=113};)0 2550 y(enum)j(CBLAS_UPLO)283
b({CblasUpper=121,)44 b(CblasLower=122};)0 2663 y(enum)j(CBLAS_DIAG)283
b({CblasNonUnit=131,)43 b(CblasUnit=132};)0 2776 y(enum)k(CBLAS_SIDE)
283 b({CblasLeft=141,)44 b(CblasRight=142};)0 3011 y
Fv(Considered)31 b(metho)s(ds)367 3183 y Fz(The)e(other)i(two)f(most)h
(c)-5 b(ommonly)31 b(suggeste)-5 b(d)30 b(metho)-5 b(ds)31
b(wer)-5 b(e)30 b(ac)-5 b(c)g(epting)31 b(these)e(ar)-5
b(guments)31 b(as)227 3296 y(either)38 b FD(char)47 b(*)36
b Fz(or)i FD(char)p Fz(.)55 b(It)37 b(was)h(note)-5 b(d)39
b(that)f(b)-5 b(oth)38 b(of)g(these)g(options)g(r)-5
b(e)g(quir)g(e)38 b(twic)-5 b(e)38 b(as)g(many)227 3409
y(c)-5 b(omp)g(arisons)37 b(as)d(normal)5 b(ly)35 b(r)-5
b(e)g(quir)g(e)g(d)35 b(to)f(br)-5 b(anch)35 b(\(so)f(that)h(the)f
(char)-5 b(acter)35 b(may)f(b)-5 b(e)34 b(either)g(upp)-5
b(er)227 3522 y(or)35 b(lower)g(c)-5 b(ase\).)47 b(Both)36
b(metho)-5 b(ds)36 b(also)f(su\013er)-5 b(e)g(d)35 b(fr)-5
b(om)36 b(ambiguity)e(\(what)i(do)-5 b(es)35 b(it)f(me)-5
b(an)35 b(to)g(have)227 3635 y FD(DIAG='H')p Fz(,)27
b(for)i(instanc)-5 b(e\).)41 b(If)29 b FD(char)e Fz(was)j(chosen,)g
(the)f(wor)-5 b(ds)31 b(c)-5 b(ould)29 b(not)h(b)-5 b(e)28
b(written)i(out)f(as)g(they)227 3748 y(c)-5 b(an)39 b(for)f(the)h(F)-7
b(ortr)i(an)40 b(77)f(interfac)-5 b(e)39 b(\(you)f(c)-5
b(ouldn)c('t)39 b(write)g("NoT)-7 b(r)i(ansp)g(ose"\).)60
b(If)38 b FD(char)46 b(*)38 b Fz(wer)-5 b(e)227 3860
y(use)g(d,)43 b(some)e(c)-5 b(ompilers)42 b(might)f(fail)g(to)g
(optimize)h(string)e(c)-5 b(onstant)43 b(use,)f(c)-5
b(ausing)40 b(unne)-5 b(c)g(essary)227 3973 y(memory)34
b(usage.)367 4086 y(The)i(main)i(advantage)g(of)e(enumer)-5
b(ate)g(d)39 b(data)f(typ)-5 b(es,)38 b(however,)g(is)f(that)h(much)e
(of)h(the)g(err)-5 b(or)227 4199 y(che)g(cking)36 b(c)-5
b(an)36 b(b)-5 b(e)35 b(done)i(at)f(c)-5 b(ompile)37
b(time,)f(r)-5 b(ather)38 b(than)e(at)g(runtime)g(\(i.e.,)g(if)f(the)h
(user)g(fails)g(to)227 4312 y(p)-5 b(ass)34 b(one)f(of)g(the)g(valid)h
(options,)g(the)f(c)-5 b(ompiler)34 b(c)-5 b(an)33 b(issue)g(the)g(err)
-5 b(or\).)367 4425 y(Ther)g(e)36 b(was)h(much)g(discussion)f(as)h(to)f
(whether)i(the)e(inte)-5 b(ger)36 b(values)g(should)i(b)-5
b(e)36 b(sp)-5 b(e)g(ci\014e)g(d,)38 b(or)227 4538 y(whether)44
b(only)f(the)f(enumer)-5 b(ate)g(d)44 b(names)f(should)h(b)-5
b(e)42 b(so)h(sp)-5 b(e)g(ci\014e)g(d.)72 b(The)42 b(gr)-5
b(oup)43 b(c)-5 b(ould)43 b(\014nd)g(no)227 4651 y(substansive)c(way)g
(in)f(which)h(sp)-5 b(e)g(cifying)39 b(the)f(inte)-5
b(ger)38 b(values)h(would)g(r)-5 b(estrict)39 b(an)g(implementor,)227
4764 y(and)34 b(sp)-5 b(e)g(cifying)33 b(the)g(inte)-5
b(ger)33 b(values)g(was)g(se)-5 b(en)33 b(as)g(an)g(aid)h(to)f
(inter-language)g(c)-5 b(al)5 b(ls.)0 5003 y Fx(B.2.4)97
b(Handling)32 b(of)h(complex)f(data)g(t)m(yp)s(es)0 5174
y FK(All)k(complex)i(argumen)m(ts)g(are)h(accepted)g(as)f
FD(void)47 b(*)p FK(.)62 b(A)38 b(complex)g(elemen)m(t)g(consists)g(of)
g(t)m(w)m(o)h(consecutiv)m(e)0 5287 y(memory)i(lo)s(cations)g(of)g(the)
g(underlying)d(data)k(t)m(yp)s(e)f(\(i.e.,)k FD(float)39
b FK(or)i FD(double)p FK(\),)i(where)e(the)g(\014rst)f(lo)s(cation)0
5400 y(con)m(tains)31 b(the)f(real)g(comp)s(onen)m(t,)h(and)f(the)g
(second)h(con)m(tains)f(the)h(imaginary)e(part)h(of)h(the)f(n)m(um)m(b)
s(er.)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 182 192
182 191 bop 0 -165 a FK(182)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)141 91 y FK(In)25 b(practice,)i(programmers')f
(metho)s(ds)f(of)h(handling)d(complex)i(t)m(yp)s(es)h(in)e(C)i(v)-5
b(ary)d(.)39 b(Some)26 b(use)g(v)-5 b(arious)24 b(data)0
204 y(structures)31 b(\(some)i(examples)f(are)g(discussed)e(b)s(elo)m
(w\).)45 b(Others)31 b(accept)j(complex)e(n)m(um)m(b)s(ers)e(as)i(arra)
m(ys)h(of)f(the)0 317 y(underlying)27 b(t)m(yp)s(e.)141
430 y(Complex)37 b(n)m(um)m(b)s(ers)g(are)h(accepted)i(as)e(v)m(oid)g
(p)s(oin)m(ters)f(so)h(that)h(widespread)d(t)m(yp)s(e)i(casting)h(will)
c(not)k(b)s(e)0 543 y(required)29 b(to)i(a)m(v)m(oid)g(w)m(arning)e(or)
h(errors)g(during)e(compilation)h(of)i(complex)f(co)s(de.)141
656 y(An)k(ANSI/ISO)g(committee)h(is)e(presen)m(tly)h(w)m(orking)g(on)g
(an)g(extension)g(to)h(ANSI/ISO)f(C)g(whic)m(h)f(de\014nes)0
769 y(complex)h(data)h(t)m(yp)s(es.)53 b(The)34 b(de\014nition)e(of)i
(a)h(complex)f(elemen)m(t)h(is)e(the)i(same)g(as)f(giv)m(en)h(ab)s(o)m
(v)m(e,)h(and)e(so)h(the)0 882 y(handling)21 b(of)j(complex)f(t)m(yp)s
(es)g(b)m(y)h(this)e(in)m(terface)i(will)d(not)j(need)f(to)h(b)s(e)f(c)
m(hanged)h(when)f(ANSI/ISO)g(C)g(standard)0 995 y(is)29
b(extended.)0 1235 y Fv(Considered)i(metho)s(ds)367 1406
y Fz(Pr)-5 b(ob)g(ably)36 b(the)g(most)g(str)-5 b(ongly)37
b(advo)-5 b(c)g(ate)g(d)39 b(alternative)d(was)g(de\014ning)g(c)-5
b(omplex)37 b(numb)-5 b(ers)36 b(via)227 1519 y(a)d(structur)-5
b(e)34 b(such)e(as)227 1632 y FD(struct)46 b(NON)p 711
1632 29 4 v 34 w(PORTABLE)p 1129 1632 V 32 w(COMPLEX)g
FJ(f)p FD(float)h(r;)g(float)f(i;)p FJ(g)p FD(;)i Fz(The)43
b(main)g(pr)-5 b(oblem)44 b(with)g(this)227 1745 y(solution)29
b(is)e(the)h(lack)g(of)g(p)-5 b(ortability.)42 b(By)28
b(the)g(ANSI/ISO)f(C)g(standar)-5 b(d,)32 b(elements)c(in)f(a)h
(structur)-5 b(e)227 1858 y(ar)g(e)27 b(not)g(guar)-5
b(ante)g(e)g(d)29 b(to)d(b)-5 b(e)26 b(c)-5 b(ontiguous.)41
b(With)26 b(the)h(ab)-5 b(ove)26 b(structur)-5 b(e,)28
b(p)-5 b(adding)28 b(b)-5 b(etwe)g(en)27 b(elements)227
1971 y(has)42 b(b)-5 b(e)g(en)40 b(exp)-5 b(erimental)5
b(ly)42 b(observe)-5 b(d)41 b(\(on)g(the)g(CRA)-7 b(Y)40
b(T3D\),)g(so)h(this)g(pr)-5 b(oblem)41 b(is)g(not)g(pur)-5
b(ely)227 2084 y(the)g(or)g(etic)g(al.)367 2197 y(T)e(o)33
b(get)f(ar)-5 b(ound)35 b(p)-5 b(adding)34 b(pr)-5 b(oblems)35
b(within)e(the)g(structur)-5 b(e,)33 b(a)g(structur)-5
b(e)34 b(such)e(as)227 2310 y FD(struct)46 b(NON)p 711
2310 V 34 w(PORTABLE)p 1129 2310 V 32 w(COMPLEX)g FJ(f)p
FD(float)h(v[2];)p FJ(g)p FD(;)34 b Fz(has)h(b)-5 b(e)g(en)34
b(suggeste)-5 b(d.)47 b(With)35 b(this)g(struc-)227 2423
y(tur)-5 b(e)33 b(ther)-5 b(e)34 b(wil)5 b(l)33 b(obviously)g(b)-5
b(e)33 b(no)g(p)-5 b(adding)34 b(b)-5 b(etwe)g(en)33
b(the)g(r)-5 b(e)g(al)34 b(and)g(imaginary)g(p)-5 b(arts.)44
b(However,)227 2535 y(ther)-5 b(e)35 b(stil)5 b(l)34
b(exists)g(the)g(p)-5 b(ossibility)36 b(of)e(p)-5 b(adding)36
b(b)-5 b(etwe)g(en)34 b(elements)g(within)h(an)f(arr)-5
b(ay.)48 b(Mor)-5 b(e)34 b(im-)227 2648 y(p)-5 b(ortantly,)36
b(this)d(structur)-5 b(e)33 b(do)-5 b(es)34 b(not)f(lend)g(itself)g(ne)
-5 b(arly)34 b(as)f(wel)5 b(l)33 b(as)g(the)g(\014rst)h(to)f(c)-5
b(o)g(de)34 b(clarity.)367 2761 y(A)40 b(\014nal)i(pr)-5
b(op)g(osal)45 b(is)c(to)g(de\014ne)g(a)h(structur)-5
b(e)41 b(which)h(may)g(b)-5 b(e)41 b(addr)-5 b(esse)g(d)44
b(the)d(same)h(as)f(the)227 2874 y(one)g(ab)-5 b(ove)42
b(\(i.e.,)g FD(ptr->r)p Fz(,)f FD(ptr->i)p Fz(\),)g(but)f(whose)i
(actual)g(de\014nition)g(is)e(platform)j(dep)-5 b(endent.)227
2987 y(Then,)50 b(hop)-5 b(eful)5 b(ly,)50 b(various)d(vendors)g(wil)5
b(l)46 b(either)g(use)f(the)i(ab)-5 b(ove)46 b(structur)-5
b(e)47 b(and)f(ensur)-5 b(e)47 b(via)227 3100 y(their)32
b(c)-5 b(ompilers)32 b(its)g(c)-5 b(ontiguousness,)32
b(or)f(they)h(wil)5 b(l)31 b(cr)-5 b(e)g(ate)32 b(a)f(di\013er)-5
b(ent)32 b(structur)-5 b(e)31 b(which)h(c)-5 b(an)32
b(b)-5 b(e)227 3213 y(ac)g(c)g(esse)g(d)34 b(in)f(the)g(same)g(way.)367
3326 y(This)38 b(r)-5 b(e)g(quir)g(es)39 b(vendors)h(to)f(supp)-5
b(ort)40 b(something)f(which)g(is)g(not)g(in)f(the)g(ANSI)g(C)g
(standar)-5 b(d,)227 3439 y(and)31 b(so)g(ther)-5 b(e)31
b(is)f(no)h(way)g(to)f(ensur)-5 b(e)31 b(this)g(would)g(take)f(plac)-5
b(e.)42 b(Mor)-5 b(e)31 b(to)f(the)h(p)-5 b(oint,)32
b(use)e(of)g(such)g(a)227 3552 y(structur)-5 b(e)35 b(turns)f(out)g(to)
h(not)f(o\013er)g(much)h(in)e(the)i(way)f(of)g(r)-5 b(e)g(al)36
b(advantage,)f(as)g(discusse)-5 b(d)35 b(in)e(the)227
3665 y(fol)5 b(lowing)34 b(se)-5 b(ction.)367 3777 y(A)n(l)5
b(l)33 b(of)g(these)h(appr)-5 b(o)g(aches)37 b(r)-5 b(e)g(quir)g(e)35
b(the)f(pr)-5 b(o)g(gr)g(ammer)37 b(to)d(either)g(use)g(the)g(sp)-5
b(e)g(ci\014e)g(d)35 b(data)g(typ)-5 b(e)227 3890 y(thr)g(oughout)32
b(the)f(c)-5 b(o)g(de)31 b(which)g(wil)5 b(l)30 b(c)-5
b(al)5 b(l)31 b(the)f(BLAS,)f(or)i(to)g(p)-5 b(erform)31
b(typ)-5 b(e)31 b(c)-5 b(asting)31 b(on)f(e)-5 b(ach)31
b(BLAS)227 4003 y(c)-5 b(al)5 b(l.)42 b(When)31 b(c)-5
b(omplex)32 b(numb)-5 b(ers)31 b(ar)-5 b(e)32 b(ac)-5
b(c)g(epte)g(d)32 b(as)f(void)h(p)-5 b(ointers,)32 b(no)f(typ)-5
b(e)32 b(c)-5 b(asting)31 b(or)h(data)g(typ)-5 b(e)227
4116 y(is)40 b(dictate)-5 b(d,)43 b(with)e(the)f(only)h(r)-5
b(estriction)41 b(b)-5 b(eing)40 b(that)h(a)f(c)-5 b(omplex)42
b(numb)-5 b(er)40 b(have)g(the)h(de\014nition)227 4229
y(given)32 b(ab)-5 b(ove.)0 4473 y Fx(B.2.5)97 b(Return)33
b(values)g(of)f(complex)h(functions)0 4644 y FK(BLAS)d(routines)f(whic)
m(h)g(return)h(complex)g(v)-5 b(alues)29 b(in)g(F)-8
b(ortran)31 b(77)g(are)g(instead)f(recast)h(as)g(subroutines)d(in)h
(the)0 4757 y(C)35 b(in)m(terface,)j(with)c(the)i(return)f(v)-5
b(alue)35 b(b)s(eing)f(an)h(output)h(parameter)g(added)f(to)h(the)g
(end)f(of)h(the)f(argumen)m(t)0 4870 y(list.)k(This)29
b(allo)m(ws)h(the)g(output)g(parameter)h(to)g(b)s(e)f(accepted)i(as)e
(v)m(oid)g(p)s(oin)m(ters,)g(as)g(discussed)f(ab)s(o)m(v)m(e.)141
4983 y(F)-8 b(urther,)47 b(the)c(name)h(is)e(su\016xed)h(b)m(y)p
1532 4983 V 77 w FD(sub)p FK(.)79 b(There)43 b(are)h(t)m(w)m(o)h(main)d
(reasons)i(for)f(this)f(name)i(c)m(hange.)0 5096 y(First,)28
b(the)f(c)m(hange)i(from)e(a)h(function)e(to)j(a)f(subroutine)d(is)i(a)
g(signi\014can)m(t)g(c)m(hange,)i(and)e(th)m(us)h(the)f(name)h(should)0
5209 y(re\015ect)c(this.)38 b(More)24 b(imp)s(ortan)m(tly)-8
b(,)24 b(the)g(\\traditional")e(name)i(space)g(is)f(sp)s(eci\014cally)e
(reserv)m(ed)j(for)f(use)g(when)g(the)0 5322 y(forthcoming)f(ANSI/ISO)g
(C)g(extension)g(is)g(\014nalized.)36 b(When)22 b(this)g(is)f(done,)j
(this)e(C)g(in)m(terface)h(will)d(b)s(e)i(extended)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 183 193
183 192 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(183)0 91 y(to)32
b(include)d(functions)h(using)g(the)i(\\traditional")f(names)g(whic)m
(h)g(utilize)e(the)j(new)f(ANSI/ISO)g(complex)g(t)m(yp)s(e)0
204 y(to)g(return)e(the)i(v)-5 b(alues.)0 442 y Fv(Considered)31
b(metho)s(ds)367 614 y Fz(This)j(is)f(the)h(ar)-5 b(e)g(a)35
b(wher)-5 b(e)35 b(use)e(of)h(a)f(structur)-5 b(e)35
b(is)e(most)i(desir)-5 b(e)g(d.)46 b(A)-5 b(gain,)33
b(the)h(most)h(c)-5 b(ommon)227 727 y(suggestion)24 b(is)f(a)h
(structur)-5 b(e)24 b(such)f(as)h FD(struct)46 b(NON_PORTABLE_COMPLEX)c
({float)47 b(r;)g(float)f(i;};)p Fz(.)367 840 y(If)41
b(one)h(is)f(wil)5 b(ling)42 b(to)g(use)g(this)g(structur)-5
b(e)42 b(thr)-5 b(oughout)44 b(one's)e(c)-5 b(o)g(de,)45
b(then)d(this)g(pr)-5 b(ovides)43 b(a)227 952 y(natur)-5
b(al)31 b(and)e(c)-5 b(onvenient)29 b(me)-5 b(chanism.)42
b(If,)29 b(however,)h(the)f(pr)-5 b(o)g(gr)g(ammer)32
b(has)d(utilize)-5 b(d)29 b(a)g(di\013er)-5 b(ent)227
1065 y(structur)g(e)33 b(for)g(c)-5 b(omplex,)34 b(this)f(e)-5
b(ase)33 b(of)g(use)f(br)-5 b(e)g(aks)33 b(down.)43 b(Then,)33
b(something)h(like)e(the)h(fol)5 b(lowing)227 1178 y(c)-5
b(o)g(de)34 b(fr)-5 b(agment)34 b(is)e(r)-5 b(e)g(quir)g(e)g(d:)370
1354 y FD(NON_PORTABLE_COMPLEX)43 b(ctmp;)370 1467 y(float)k(cdot[2];)
370 1692 y(ctmp)g(=)h(cblas_cdotc\(n,)43 b(x,)48 b(1,)f(y,)g(1\);)370
1805 y(cdot[0])f(=)i(ctmp.r;)370 1918 y(cdot[1])e(=)i(ctmp.i;)227
2094 y Fz(which)25 b(is)e(c)-5 b(ertainly)24 b(much)g(less)g(c)-5
b(onvenient)23 b(than:)39 b FD(cblas_cdotc_sub\(n,)k(x,)k(1,)g(y,)g(1,)
g(cdot\))p Fz(.)367 2207 y(It)38 b(should)i(also)f(b)-5
b(e)38 b(note)-5 b(d)40 b(that)f(the)g(primary)h(r)-5
b(e)g(ason)40 b(for)f(having)f(a)h(function)f(inste)-5
b(ad)40 b(of)e(a)227 2320 y(subr)-5 b(outine)45 b(is)f(alr)-5
b(e)g(ady)46 b(invalidate)-5 b(d)46 b(by)e(C's)g(lack)g(of)g(a)g
(standar)-5 b(d)47 b(c)-5 b(omplex)45 b(typ)-5 b(e.)77
b(F)-7 b(unctions)227 2432 y(ar)i(e)34 b(most)g(useful)f(when)h(the)f
(r)-5 b(esult)34 b(may)g(b)-5 b(e)33 b(use)-5 b(d)34
b(dir)-5 b(e)g(ctly)34 b(as)g(p)-5 b(art)35 b(of)e(an)h(in-line)e(c)-5
b(omputation.)227 2545 y(However,)27 b(sinc)-5 b(e)26
b(ANSI/ISO)f(C)h(lacks)g(supp)-5 b(ort)28 b(for)e(c)-5
b(omplex)27 b(arithmetic)g(primitives)f(or)g(op)-5 b(er)g(ator)227
2658 y(overlo)g(ading,)29 b(c)-5 b(omplex)28 b(functions)e(c)-5
b(annot)27 b(b)-5 b(e)25 b(standar)-5 b(d)5 b(ly)29 b(use)-5
b(d)26 b(in)g(this)g(way.)41 b(Sinc)-5 b(e)25 b(the)h(function)227
2771 y(c)-5 b(annot)46 b(b)-5 b(e)44 b(use)-5 b(d)45
b(as)g(a)f(p)-5 b(art)46 b(of)f(a)f(lar)-5 b(ger)46 b(expr)-5
b(ession,)49 b(nothing)c(is)f(lost)h(by)f(r)-5 b(e)g(c)g(asting)46
b(it)e(as)h(a)227 2884 y(subr)-5 b(outine;)33 b(inde)-5
b(e)g(d)34 b(a)f(slight)g(p)-5 b(erformanc)g(e)36 b(win)c(may)i(b)-5
b(e)32 b(obtaine)-5 b(d.)0 3125 y Fx(B.2.6)97 b(Arra)m(y)33
b(a)m(rguments)0 3297 y FK(Arra)m(ys)24 b(are)g(constrained)g(to)g(b)s
(eing)f(con)m(tiguous)h(in)f(memory)-8 b(.)38 b(They)24
b(are)g(accepted)i(as)e(p)s(oin)m(ters,)g(not)g(as)h(arra)m(ys)0
3410 y(of)31 b(p)s(oin)m(ters.)141 3523 y(All)36 b(BLAS)h(routines)e
(whic)m(h)h(tak)m(e)j(one)e(or)g(more)g(t)m(w)m(o)i(dimensional)34
b(arra)m(ys)j(as)g(argumen)m(ts)h(receiv)m(e)g(one)0
3636 y(extra)31 b(parameter)g(as)g(their)e(\014rst)h(argumen)m(t.)41
b(This)28 b(argumen)m(t)j(is)f(of)g(the)h(en)m(umerated)f(t)m(yp)s(e)0
3749 y FD(enum)47 b(CBLAS)p 485 3749 29 4 v 33 w(ORDER)f
FJ(f)p FD(CblasRowMajor=101,)d(CblasColMajor=102)p FJ(g)p
FD(;)p FK(.)0 3861 y(If)27 b(this)g(parameter)h(is)e(set)j(to)f
FD(CblasRowMajor)p FK(,)d(it)i(is)f(assumed)h(that)i(elemen)m(ts)f
(within)d(a)j(ro)m(w)f(of)h(the)g(arra)m(y\(s\))0 3974
y(are)i(con)m(tiguous)f(in)f(memory)-8 b(,)30 b(while)d(elemen)m(ts)i
(within)e(arra)m(y)j(columns)e(are)h(separated)h(b)m(y)f(a)h(constan)m
(t)g(stride)0 4087 y(giv)m(en)h(in)f(the)i FD(stride)d
FK(parameter)j(\(this)f(parameter)h(corresp)s(onds)d(to)j(the)g
(leading)e(dimension)f([e.g.)45 b FD(LDA)p FK(])30 b(in)0
4200 y(the)h(F)-8 b(ortran)31 b(77)g(in)m(terface\).)141
4313 y(If)43 b(the)h(order)f(is)g(giv)m(en)h(as)g FD(CblasColMajor)p
FK(,)f(elemen)m(ts)h(within)e(arra)m(y)i(columns)e(are)i(assumed)f(to)i
(b)s(e)0 4426 y(con)m(tiguous,)31 b(with)e(elemen)m(ts)i(within)c(arra)
m(y)k(ro)m(ws)g(separated)f(b)m(y)h FD(stride)d FK(memory)j(elemen)m
(ts.)141 4539 y(Note)j(that)e(there)h(is)e(only)h(one)g
FD(CBLAS)p 1505 4539 V 33 w(ORDER)f FK(parameter)i(to)f(a)h(giv)m(en)f
(routine:)44 b(all)31 b(arra)m(y)i(op)s(erands)e(are)0
4652 y(required)e(to)i(use)f(the)g(same)h(ordering.)0
4890 y Fv(Considered)g(metho)s(ds)367 5061 y Fz(This)g(solution)h(c)-5
b(omes)32 b(after)g(much)f(discussion.)42 b(C)31 b(users)g(app)-5
b(e)g(ar)33 b(to)f(split)g(r)-5 b(oughly)32 b(into)g(two)227
5174 y(c)-5 b(amps.)72 b(Those)43 b(p)-5 b(e)g(ople)44
b(who)f(have)f(a)h(history)g(of)g(mixing)f(C)g(and)h(F)-7
b(ortr)i(an)44 b(77)f(\(in)f(p)-5 b(articular)227 5287
y(making)30 b(use)g(of)g(the)g(F)-7 b(ortr)i(an)32 b(77)f(BLAS)e(fr)-5
b(om)31 b(C\),)f(tend)g(to)g(use)g(c)-5 b(olumn-major)31
b(arr)-5 b(ays)32 b(in)e(or)-5 b(der)227 5400 y(to)34
b(al)5 b(low)35 b(e)-5 b(ase)34 b(of)f(inter-language)h(op)-5
b(er)g(ations.)47 b(Be)-5 b(c)g(ause)34 b(of)f(the)h(\015exibility)g
(of)g(p)-5 b(ointers,)35 b(this)f(is)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 184 194
184 193 bop 0 -165 a FK(184)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)227 91 y Fz(not)e(appr)-5 b(e)g(ciably)30
b(har)-5 b(der)30 b(than)g(using)d(r)-5 b(ow-major)31
b(arr)-5 b(ays,)31 b(even)c(though)i(C)f(\\natively")g(p)-5
b(ossesses)227 204 y(r)g(ow-major)35 b(arr)-5 b(ays.)367
317 y(The)25 b(se)-5 b(c)g(ond)26 b(c)-5 b(amp)27 b(of)e(C)g(users)g
(ar)-5 b(e)26 b(not)g(inter)-5 b(este)g(d)26 b(in)f(overt)h(C/F)-7
b(ortr)i(an)28 b(77)e(inter)-5 b(op)g(er)g(ability,)227
430 y(and)38 b(wish)g(to)f(have)g(arr)-5 b(ays)39 b(which)f(ar)-5
b(e)37 b(r)-5 b(ow-major,)40 b(in)d(ac)-5 b(c)g(or)g(danc)g(e)40
b(with)d(standar)-5 b(d)40 b(C)d(c)-5 b(onven-)227 543
y(tions.)67 b(The)41 b(ide)-5 b(a)41 b(that)h(they)g(must)f(r)-5
b(e)g(c)g(ast)42 b(their)f(r)-5 b(ow-oriente)g(d)43 b(algorithms)g(to)f
(c)-5 b(olumn-major)227 656 y(algorithms)45 b(is)e(unac)-5
b(c)g(eptable;)49 b(many)43 b(in)g(this)g(c)-5 b(amp)44
b(would)g(pr)-5 b(ob)g(ably)45 b(not)e(utilize)g(any)g(BLAS)227
769 y(which)34 b(enfor)-5 b(c)g(e)g(d)34 b(a)f(c)-5 b(olumn-major)35
b(c)-5 b(onstr)g(aint.)367 882 y(Be)g(c)g(ause)41 b(b)-5
b(oth)43 b(c)-5 b(amps)43 b(ar)-5 b(e)42 b(fairly)g(widely)g(r)-5
b(epr)g(esente)g(d)44 b(within)e(the)g(tar)-5 b(get)43
b(audienc)-5 b(e,)43 b(it)f(is)227 995 y(imp)-5 b(ossible)34
b(to)g(cho)-5 b(ose)34 b(one)f(solution)g(to)h(the)f(exclusion)g(of)f
(the)h(other.)367 1108 y(Column-major)f(arr)-5 b(ay)33
b(stor)-5 b(age)32 b(c)-5 b(an)32 b(obviously)f(b)-5
b(e)30 b(supp)-5 b(orte)g(d)34 b(dir)-5 b(e)g(ctly)32
b(on)f(top)h(of)f(the)g(le)-5 b(gacy)227 1220 y(F)e(ortr)i(an)32
b(77)e(BLAS.)f(R)-5 b(e)g(c)g(ent)30 b(work,)h(p)-5 b(articularly)32
b(c)-5 b(o)g(de)30 b(pr)-5 b(ovide)g(d)32 b(by)d(D.P.)f(Manley)i(of)f
(DEC,)g(has)227 1333 y(shown)37 b(that)g(r)-5 b(ow-major)38
b(arr)-5 b(ay)37 b(stor)-5 b(age)37 b(may)g(also)f(b)-5
b(e)36 b(supp)-5 b(orte)g(d)38 b(in)d(this)h(way)h(with)f(little)g(c)-5
b(ost.)227 1446 y(App)g(endix)35 b(B.2.12)f(discusses)f(this)h(issue)f
(in)f(detail.)45 b(T)-7 b(o)33 b(pr)-5 b(eview)34 b(it)f(her)-5
b(e,)34 b(we)f(c)-5 b(an)34 b(say)f(the)h(level)227 1559
y(1)j(and)g(3)g(BLAS)f(r)-5 b(e)g(quir)g(e)37 b(no)g(extr)-5
b(a)37 b(op)-5 b(er)g(ations)40 b(or)d(stor)-5 b(age)37
b(to)g(supp)-5 b(ort)39 b(r)-5 b(ow-major)39 b(op)-5
b(er)g(ations)227 1672 y(on)43 b(top)g(of)f(the)g(le)-5
b(gacy)42 b(BLAS.)g(L)-5 b(evel)41 b(2)i(r)-5 b(e)g(al)43
b(r)-5 b(outines)43 b(also)g(r)-5 b(e)g(quir)g(e)43 b(no)f(extr)-5
b(a)43 b(op)-5 b(er)g(ations)45 b(or)227 1785 y(stor)-5
b(age.)66 b(Some)41 b(c)-5 b(omplex)42 b(level)e(2)h(r)-5
b(outines)41 b(involving)f(the)h(c)-5 b(onjugate)40 b(tr)-5
b(ansp)g(ose)43 b(wil)5 b(l)41 b(r)-5 b(e)g(quir)g(e)227
1898 y(extr)g(a)42 b(stor)-5 b(age)42 b(and)f(op)-5 b(er)g(ations)44
b(in)c(or)-5 b(der)42 b(to)f(form)h(explicit)f(c)-5 b(onjugates.)66
b(However,)42 b(this)f(wil)5 b(l)227 2011 y(always)35
b(involve)e(ve)-5 b(ctors,)34 b(not)g(the)f(matrix.)44
b(In)33 b(the)g(worst)i(c)-5 b(ase,)33 b(we)g(wil)5 b(l)34
b(ne)-5 b(e)g(d)34 b Fy(n)e Fz(extr)-5 b(a)34 b(stor)-5
b(age,)227 2124 y(and)34 b FK(3)p Fy(n)e Fz(sign)h(changes.)367
2237 y(One)23 b(pr)-5 b(op)g(osal)28 b(was)d(to)f(ac)-5
b(c)g(ept)25 b(arr)-5 b(ays)26 b(as)f(arr)-5 b(ays)26
b(of)e(p)-5 b(ointers,)27 b(inste)-5 b(ad)25 b(of)g(as)f(a)g(single)g
(p)-5 b(ointer.)227 2350 y(The)42 b(pr)-5 b(oblems)43
b(with)g(this)f(appr)-5 b(o)g(ach)45 b(ar)-5 b(e)42 b(manifold.)71
b(First,)44 b(the)e(existing)g(F)-7 b(ortr)i(an)44 b(77)e(BLAS)227
2462 y(c)-5 b(ould)35 b(not)f(b)-5 b(e)34 b(use)-5 b(d,)35
b(sinc)-5 b(e)33 b(they)i(demand)g(c)-5 b(ontiguous)34
b(\(though)h(stride)-5 b(d\))36 b(stor)-5 b(age.)47 b(Se)-5
b(c)g(ond,)35 b(this)227 2575 y(appr)-5 b(o)g(ach)33
b(r)-5 b(e)g(quir)g(es)29 b(users)g(of)g(standar)-5 b(d)32
b(C)d(2D)f(arr)-5 b(ays)31 b(or)f(1D)e(arr)-5 b(ays)31
b(to)f(al)5 b(lo)-5 b(c)g(ate)30 b(and)g(assign)f(the)227
2688 y(appr)-5 b(opriate)37 b(p)-5 b(ointer)34 b(arr)-5
b(ay.)367 2801 y(Beyond)34 b(this,)g(many)g(of)g(the)f(ve)-5
b(ctors)35 b(use)-5 b(d)33 b(in)h(level)f(1)g(and)i(level)e(2)g(BLAS)g
(c)-5 b(ome)34 b(fr)-5 b(om)35 b(r)-5 b(ows)227 2914
y(or)39 b(c)-5 b(olumns)38 b(of)g(two)h(dimensional)g(arr)-5
b(ays.)59 b(Elements)38 b(within)h(c)-5 b(olumns)38 b(of)g(r)-5
b(ow-major)40 b(arr)-5 b(ays)227 3027 y(ar)g(e)40 b(not)g(uniformly)g
(stride)-5 b(d,)42 b(which)e(me)-5 b(ans)40 b(that)g(a)f
FD(n)p Fz(-element)f(c)-5 b(olumn)40 b(ve)-5 b(ctor)40
b(would)g(ne)-5 b(e)g(d)40 b FD(n)227 3140 y Fz(p)-5
b(ointers)36 b(to)e(r)-5 b(epr)g(esent)35 b(it.)45 b(This)35
b(then)f(le)-5 b(ads)35 b(to)f(ve)-5 b(ctors)35 b(b)-5
b(eing)33 b(ac)-5 b(c)g(epte)g(d)36 b(as)e(arr)-5 b(ays)36
b(of)e(p)-5 b(ointers)227 3253 y(as)33 b(wel)5 b(l.)367
3366 y(Now,)36 b(assuming)f(b)-5 b(oth)37 b(our)e(one)g(and)i(two)f
(dimensional)g(arr)-5 b(ays)38 b(ar)-5 b(e)36 b(ac)-5
b(c)g(epte)g(d)37 b(as)e(arr)-5 b(ays)37 b(of)227 3479
y(p)-5 b(ointers,)39 b(we)e(have)g(a)f(pr)-5 b(oblem)38
b(when)g(we)e(wish)h(to)g(p)-5 b(erform)38 b(sub-arr)-5
b(ay)38 b(ac)-5 b(c)g(ess.)54 b(If)36 b(we)h(wish)g(to)227
3592 y(p)-5 b(ass)32 b(an)f Fy(m)15 b FJ(\002)g Fy(n)29
b Fz(subse)-5 b(ction)30 b(of)h(a)f(this)h(arr)-5 b(ay)32
b(of)f(p)-5 b(ointers,)32 b(starting)f(at)g(r)-5 b(ow)32
b Fy(i)e Fz(and)h(c)-5 b(olumn)31 b Fy(j)5 b Fz(,)32
b(we)227 3704 y(must)h(al)5 b(lo)-5 b(c)g(ate)35 b Fy(m)d
Fz(p)-5 b(ointers,)34 b(and)g(assign)f(them)g(in)g(a)g(se)-5
b(ction)33 b(of)g(c)-5 b(o)g(de)34 b(such)f(as:)370 3917
y FD(float)47 b(**A,)f(**subA;)370 4143 y(subA)h(=)h
(malloc\(m*sizeof\(float*\))o(\);)370 4256 y(for)f(\(k=0;)g(k)g(!=)g
(m;)h(k++\))e(subA[k])g(=)h(A[i+k])g(+)g(j;)370 4369
y(cblas_rout\(...)d(subA)j(...\);)367 4581 y Fz(The)38
b(same)h(op)-5 b(er)g(ation)42 b(must)c(b)-5 b(e)39 b(done)g(if)f(we)g
(wish)h(to)g(use)f(a)h(r)-5 b(ow)40 b(or)f(c)-5 b(olumn)39
b(as)g(a)g(ve)-5 b(ctor.)227 4694 y(This)33 b(is)g(not)g(only)h(an)f
(inc)-5 b(onvenienc)g(e,)33 b(but)f(c)-5 b(an)33 b(add)h(up)f(to)g(a)g
(non-ne)-5 b(gligible)33 b(p)-5 b(erformanc)g(e)35 b(loss)227
4807 y(as)e(wel)5 b(l.)367 4920 y(A)31 b(\014x)h(for)g(these)h(pr)-5
b(oblems)33 b(is)f(that)h(one)f(and)h(two)g(dimensional)g(arr)-5
b(ays)34 b(b)-5 b(e)32 b(p)-5 b(asse)g(d)34 b(as)e(arr)-5
b(ays)227 5033 y(of)36 b(p)-5 b(ointers,)38 b(and)e(then)h(indic)-5
b(es)35 b(ar)-5 b(e)37 b(p)-5 b(asse)g(d)38 b(in)d(to)h(indic)-5
b(ate)37 b(the)f(sub-p)-5 b(ortion)37 b(to)f(ac)-5 b(c)g(ess.)51
b(Thus)227 5146 y(you)37 b(have)g(a)g(c)-5 b(al)5 b(l)37
b(that)h(lo)-5 b(oks)38 b(like:)50 b FD(cblas_rout\(...)44
b(A,)j(i,)g(j,)g(...\);)p Fz(.)52 b(This)38 b(solution)f(stil)5
b(l)227 5259 y(r)-5 b(e)g(quir)g(es)30 b(some)g(additional)i(twe)-5
b(aks)31 b(to)e(al)5 b(low)31 b(using)e(two)h(dimensional)h(arr)-5
b(ay)31 b(r)-5 b(ows)31 b(and)f(c)-5 b(olumns)227 5372
y(as)37 b(ve)-5 b(ctors.)53 b(Users)36 b(pr)-5 b(esently)38
b(using)e(C)g(2D)g(arr)-5 b(ays)39 b(or)d(1D)h(arr)-5
b(ays)38 b(would)f(have)g(to)g(mal)5 b(lo)-5 b(c)37 b(the)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 185 195
185 194 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(185)227 91 y
Fz(arr)-5 b(ay)28 b(of)d(p)-5 b(ointers)27 b(as)f(shown)h(in)f(the)f
(pr)-5 b(e)g(c)g(e)g(ding)28 b(example)e(in)g(or)-5 b(der)27
b(to)f(use)f(this)h(kind)g(of)f(interfac)-5 b(e.)227
204 y(A)n(t)35 b(any)h(r)-5 b(ate,)37 b(a)f(libr)-5 b(ary)37
b(ac)-5 b(c)g(epting)37 b(p)-5 b(ointers)37 b(to)f(p)-5
b(ointers)37 b(c)-5 b(annot)37 b(b)-5 b(e)36 b(supp)-5
b(orte)g(d)38 b(on)e(top)g(of)g(the)227 317 y(F)-7 b(ortr)i(an)35
b(77)f(BLAS,)e(while)h(one)g(supp)-5 b(orting)35 b(simple)e(p)-5
b(ointers)35 b(c)-5 b(an.)367 430 y(If)28 b(the)i(pr)-5
b(o)g(gr)g(ammer)32 b(is)d(utilizing)g(the)g(p)-5 b(ointer)31
b(to)e(p)-5 b(ointer)31 b(style)e(of)g(arr)-5 b(ay)31
b(indexing,)f(it)f(is)f(stil)5 b(l)227 543 y(p)-5 b(ossible)41
b(to)f(use)f(this)h(libr)-5 b(ary)41 b(pr)-5 b(oviding)40
b(that)h(the)f(user)f(ensur)-5 b(es)40 b(that)g(the)g(op)-5
b(er)g(and)42 b(matrix)f(is)227 656 y(c)-5 b(ontiguous,)39
b(and)e(that)h(the)f(r)-5 b(ows)39 b(ar)-5 b(e)37 b(c)-5
b(onstantly)39 b(stride)-5 b(d.)56 b(If)37 b(this)g(is)g(the)g(c)-5
b(ase,)38 b(the)f(user)g(may)227 769 y(p)-5 b(ass)34
b(the)f(op)-5 b(er)g(and)36 b(matrix)e(to)f(the)g(libr)-5
b(ary)34 b(in)e(pr)-5 b(e)g(cic)g(ely)34 b(the)f(same)h(way)f(as)g
(with)h(a)f(2D)f(C)h(arr)-5 b(ay:)227 882 y FD(cblas_rout\(...)44
b(&A[i][j])i(...\);)p Fz(.)227 995 y FG(Example)34 b(1:)47
b(making)34 b(a)h(library)g(call)g(with)f(a)h(C)f(2D)i(arra)m(y:)370
1182 y FD(double)47 b(A[50][25];)92 b(/*)47 b(standard)f(C)h(2D)h
(array)e(*/)370 1408 y(cblas_rout\(CblasRowMajor,)41
b(...)47 b(&A[i][j],)f(25,)g(...\);)227 1596 y FG(Example)51
b(2:)82 b(Legal)52 b(use)h(of)f(p)s(oin)m(ter)g(to)h(p)s(oin)m(ter)f
(st)m(yle)g(programming)g(and)g(the)227 1709 y(CBLAS)370
1896 y FD(double)47 b(**A,)f(*p;)370 2122 y(A)i(=)f(malloc\(M\);)370
2235 y(p)h(=)f(malloc\(M*N*sizeof\(double\)\))o(;)370
2348 y(for)g(\(i=0;)g(i)g(<)h(M;)f(i++\))f(A[i])h(=)h(&p[i*N];)370
2574 y(cblas_rout\(CblasRowMajor,)41 b(...)47 b(&A[i][j],)f(N,)h
(...\);)227 2761 y FG(Example)h(3:)76 b(Illegal)49 b(use)h(of)g(p)s
(oin)m(ter)f(to)g(p)s(oin)m(ter)h(st)m(yle)f(programming)g(and)g(the)
227 2874 y(CBLAS)370 3062 y FD(double)e(**A,)f(*p;)370
3288 y(A)i(=)f(malloc\(M\);)370 3401 y(p)h(=)f
(malloc\(M*N*sizeof\(double\)\))o(;)370 3513 y(for)g(\(i=0;)g(i)g(<)h
(M;)f(i++\))f(A[i])h(=)h(malloc\(N*sizeof\(double\))o(\);)370
3739 y(cblas_rout\(CblasRowMajor,)41 b(...)47 b(&A[i][j],)f(N,)h
(...\);)367 3927 y Fz(Note)32 b(that)i(Example)g(3)f(is)f(il)5
b(le)-5 b(gal)34 b(b)-5 b(e)g(c)g(ause)33 b(the)g(r)-5
b(ows)34 b(of)f(A)f(have)h(no)g(guar)-5 b(ante)g(e)g(d)35
b(stride.)0 4170 y Fx(B.2.7)97 b(Aliasing)33 b(of)f(a)m(rguments)0
4342 y FK(Unless)d(sp)s(eci\014ed)f(otherwise,)i(only)f(input-only)f
(argumen)m(ts)i(\(sp)s(eci\014ed)f(with)g(the)h FD(const)e
FK(quali\014er\),)h(ma)m(y)i(b)s(e)0 4455 y(legally)e(aliased)h(on)g(a)
h(call)f(to)h(the)f(C)g(in)m(terface)h(to)g(the)g(BLAS.)0
4695 y Fv(Considered)g(metho)s(ds)0 4867 y FK(The)k(ANSI)h(C)f
(standard)g(allo)m(ws)g(for)h(the)g(aliasing)e(of)i(output)f(argumen)m
(ts.)58 b(Ho)m(w)m(ev)m(er,)39 b(allo)m(wing)c(this)g(often)0
4980 y(carries)j(a)h(substan)m(tial)e(p)s(erformance)h(p)s(enalt)m(y)-8
b(.)65 b(This,)39 b(along)g(with)e(the)i(fact)g(that)g(F)-8
b(ortran)39 b(77)h(\(whic)m(h)d(w)m(e)0 5092 y(hop)s(e)e(to)g(call)g
(for)g(optimized)f(libraries\))f(do)s(es)h(not)i(allo)m(w)f(aliasing)e
(of)i(output)g(argumen)m(ts,)i(led)e(us)f(to)i(mak)m(e)0
5205 y(this)29 b(restriction.)-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 186 196
186 195 bop 0 -165 a FK(186)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)0 91 y Fx(B.2.8)97 b(C)33 b(interface)g(include)h
(\014le)0 263 y FK(The)h(C)h(in)m(terface)g(to)h(the)f(BLAS)g(will)d
(ha)m(v)m(e)k(a)f(standard)f(include)f(\014le,)i(called)f
FD(cblas.h)p FK(,)h(whic)m(h)f(minimally)0 376 y(con)m(tains)i(the)g
(de\014nition)e(of)i(the)g(CBLAS)f(t)m(yp)s(es)h(and)g(ANSI/ISO)f(C)g
(protot)m(yp)s(es)i(for)e(all)g(BLAS)h(routines.)0 489
y(It)f(is)e(not)i(an)g(error)f(to)h(include)d(this)i(\014le)f(m)m
(ultiple)g(times.)55 b(Refer)36 b(to)g(section)g(B.2.11)i(for)d(an)h
(example)f(of)h(a)0 602 y(minimal)28 b FD(cblas.h)p FK(.)141
715 y FG(AD)m(VICE)34 b(TO)g(THE)g(IMPLEMENTOR:)0 827
y Fz(Note)29 b(that)h(the)f(vendor)h(is)f(not)g(c)-5
b(onstr)g(aine)g(d)32 b(to)d(using)g(pr)-5 b(e)g(cisely)30
b(this)g(include)e(\014le;)i(only)g(the)f(enumer)-5 b(ate)g(d)31
b(typ)-5 b(e)0 940 y(de\014nitions)39 b(ar)-5 b(e)39
b(ful)5 b(ly)37 b(sp)-5 b(e)g(ci\014e)g(d.)59 b(The)38
b(implementor)i(is)e(fr)-5 b(e)g(e)38 b(to)h(make)f(any)g(other)h
(changes)g(which)g(ar)-5 b(e)38 b(not)0 1053 y(app)-5
b(ar)g(ent)39 b(to)e(the)f(user.)52 b(F)-7 b(or)37 b(instanc)-5
b(e,)38 b(al)5 b(l)36 b(matrix)i(dimensions)f(might)g(b)-5
b(e)36 b(ac)-5 b(c)g(epte)g(d)38 b(as)e FD(size)p 3402
1053 29 4 v 34 w(t)f Fz(inste)-5 b(ad)38 b(of)0 1166
y FD(int)p Fz(,)32 b(or)h(the)g(implementor)h(might)g(cho)-5
b(ose)34 b(to)f(make)g(some)g(r)-5 b(outines)34 b(inline.)0
1410 y Fx(B.2.9)97 b(Erro)m(r)33 b(checking)0 1581 y
FK(The)28 b(C)f(in)m(terface)i(to)g(the)g(legacy)g(BLAS)f(m)m(ust)g
(supply)e(error)h(c)m(hec)m(king)i(corresp)s(onding)d(to)j(that)g(pro)m
(vided)e(b)m(y)0 1694 y(the)k(reference)f(F)-8 b(ortran)31
b(77)h(BLAS)e(implemen)m(tation.)0 1938 y Fx(B.2.10)97
b(Rules)33 b(fo)m(r)f(obtaining)g(the)i(C)e(interface)i(from)e(the)h(F)
m(o)m(rtran)h(77)136 2109 y FJ(\017)46 b FK(The)30 b(F)-8
b(ortran)31 b(77)g(routine)f(name)g(is)g(c)m(hanged)h(to)g(lo)m(w)m(er)
f(case,)i(and)e(pre\014xed)f(b)m(y)h FD(cblas)p 3325
2109 V 33 w FK(.)136 2297 y FJ(\017)46 b FK(All)22 b(routines)h(whic)m
(h)f(accept)j(t)m(w)m(o)g(dimensional)20 b(arra)m(ys)k(\(i.e.,)i(lev)m
(el)d(2)h(and)f(3\),)j(acquire)d(a)g(new)g(parameter)227
2410 y(of)31 b(t)m(yp)s(e)f FD(CBLAS)p 781 2410 V 33
w(ORDER)f FK(as)h(their)g(\014rst)f(argumen)m(t,)i(whic)m(h)e
(determines)g(if)g(the)i(t)m(w)m(o)g(dimensional)d(arra)m(ys)227
2523 y(are)j(ro)m(w)g(or)f(column)f(ma)5 b(jor.)136 2710
y FJ(\017)46 b Fz(Char)-5 b(acter)47 b(ar)-5 b(guments)44
b FK(are)f(replaced)g(b)m(y)f(the)i(appropriate)e(en)m(umerated)h(t)m
(yp)s(e,)j(as)d(sho)m(wn)g(in)e(Sec-)227 2823 y(tion)30
b(B.2.3.)136 3011 y FJ(\017)46 b Fz(Input)33 b(ar)-5
b(guments)32 b FK(are)f(declared)f(with)f(the)h FD(const)f
FK(mo)s(di\014er.)136 3199 y FJ(\017)46 b Fz(Non-c)-5
b(omplex)45 b(sc)-5 b(alar)44 b(input)g(ar)-5 b(guments)43
b FK(are)f(passed)f(b)m(y)h(v)-5 b(alue.)74 b(This)40
b(allo)m(ws)h(the)h(user)f(to)h(put)f(in)227 3311 y(constan)m(ts)32
b(when)d(desired)g(\(eg.,)j(passing)d(10)i(on)g(the)f(command)g(line)f
(for)h FD(N)p FK(\).)136 3499 y FJ(\017)46 b Fz(Complex)e(sc)-5
b(alar)44 b(input)e(ar)-5 b(guments)42 b FK(are)f(passed)g(as)g(v)m
(oid)f(p)s(oin)m(ters,)i(since)f(they)f(do)h(not)g(exist)g(as)g(a)227
3612 y(prede\014ned)29 b(data)i(t)m(yp)s(e)g(in)e(ANSI/ISO)g(C.)136
3800 y FJ(\017)46 b Fz(A)n(rr)-5 b(ay)34 b(ar)-5 b(guments)31
b FK(are)g(passed)f(b)m(y)g(address.)136 3987 y FJ(\017)46
b Fz(Output)33 b(sc)-5 b(alar)34 b(ar)-5 b(guments)32
b FK(are)f(passed)f(b)m(y)g(address.)136 4175 y FJ(\017)46
b Fz(Complex)37 b(functions)d FK(b)s(ecome)f(subroutines)e(whic)m(h)h
(return)h(the)g(result)f(via)h(a)h(v)m(oid)f(p)s(oin)m(ter,)g(added)g
(as)227 4288 y(the)e(last)f(parameter.)41 b(The)30 b(name)h(is)e
(su\016xed)g(with)p 2091 4288 V 64 w FD(sub)p FK(.)0
4531 y Fx(B.2.11)97 b(cblas.h)33 b(include)g(\014le)0
4703 y FK(The)d FD(cblas.h)e FK(include)g(\014le)i(can)h(b)s(e)e(found)
g(on)i(the)f(BLAS)g(T)-8 b(ec)m(hnical)30 b(F)-8 b(orum)31
b(w)m(ebpage:)227 4890 y FD(
http://www.netlib.org/bla)o(s/bl)o(ast-)o
(for)o(um/c)o(blas)o(.h)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 187 197
187 196 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(187)0 91 y Fx(B.2.12)97
b(Using)33 b(F)m(o)m(rtran)g(77)g(BLAS)f(to)h(supp)s(o)m(rt)g(ro)m
(w-majo)m(r)f(BLAS)h(op)s(erations)0 263 y FK(This)e(section)h(is)g
(not)h(part)f(of)g(the)h(standard)f(p)s(er)f(se.)47 b(Rather,)34
b(it)e(exists)g(as)h(an)f(advice)g(to)i(the)e(implemen)m(tor)0
376 y(on)f(ho)m(w)g(ro)m(w-ma)5 b(jor)32 b(BLAS)e(op)s(erations)h(ma)m
(y)g(b)s(e)g(implemen)m(ted)e(using)h(column-ma)5 b(jor)30
b(BLAS.)h(This)f(allo)m(ws)0 489 y(v)m(endors)g(to)h(lev)m(erage)h(y)m
(ears)f(of)g(F)-8 b(ortran)31 b(77)g(BLAS)f(dev)m(elop)s(emen)m(t)h(in)
e(pro)s(ducing)f(the)i(C)g(BLAS.)141 602 y(Before)h(this)f(issue)f(is)g
(examined)h(in)f(detail,)h(a)g(few)h(general)f(observ)-5
b(ations)30 b(on)g(arra)m(y)h(storage)h(are)f(helpful.)0
715 y(W)-8 b(e)40 b(m)m(ust)e(distinguish)d(b)s(et)m(w)m(een)k(the)f
(matrix)g(and)g(the)h(arra)m(y)g(whic)m(h)e(is)g(used)h(to)h(store)g
(the)g(matrix.)64 b(The)0 827 y(matrix,)28 b(and)f(its)g(ro)m(ws)h(and)
f(columns,)g(ha)m(v)m(e)i(mathematical)f(meaning.)39
b(The)27 b(arra)m(y)h(is)f(simply)e(the)j(metho)s(d)f(of)0
940 y(storing)j(the)g(matrix,)g(and)g(its)g(ro)m(ws)g(and)g(columns)f
(are)i(signi\014can)m(t)e(only)h(for)g(memory)g(addressing.)141
1053 y(Th)m(us)g(w)m(e)i(see)g(w)m(e)f(can)h(store)g(the)f(columns)f
(of)h(a)h(matrix)e(in)g(the)h(ro)m(ws)g(of)h(an)f(arra)m(y)-8
b(,)32 b(for)f(instance.)43 b(When)0 1166 y(this)29 b(o)s(ccurs)h(in)f
(the)i(BLAS,)f(the)h(matrix)f(is)f(said)g(to)j(b)s(e)d(stored)i(in)e
(transp)s(osed)g(form.)141 1279 y(A)e(ro)m(w-ma)5 b(jor)27
b(arra)m(y)f(stores)h(elemen)m(ts)g(along)g(a)f(ro)m(w)h(in)e(con)m
(tiguous)i(storage,)h(and)e(separates)i(the)e(column)0
1392 y(elemen)m(ts)37 b(b)m(y)f(some)h(constan)m(t)g(stride)f(\(often)h
(the)f(actual)h(length)f(of)g(a)h(ro)m(w\).)59 b(Column-ma)5
b(jor)35 b(arra)m(ys)i(ha)m(v)m(e)0 1505 y(con)m(tiguous)e(columns,)f
(and)g(strided)f(ro)m(ws.)53 b(The)34 b(imp)s(ortance)g(of)h(this)e(is)
h(to)h(note)g(that)g(a)g(ro)m(w-ma)5 b(jor)35 b(arra)m(y)0
1618 y(storing)29 b(a)i(matrix)e(in)f(the)j(natural)d(w)m(a)m(y)-8
b(,)32 b(is)d(a)h(transp)s(osed)f(column-ma)5 b(jor)29
b(arra)m(y)i(\(i.e.,)f(it)g(can)g(b)s(e)f(though)m(t)i(of)0
1731 y(as)g(a)f(column-ma)5 b(jor)30 b(arra)m(y)h(where)f(the)g(ro)m
(ws)h(of)f(the)h(matrix)e(are)i(stored)g(in)e(the)h(columns)f(of)i(the)
f(arra)m(y\).)141 1844 y(Similarly)-8 b(,)37 b(an)i(upp)s(er)d
(triangular)g(ro)m(w-ma)5 b(jor)39 b(arra)m(y)g(corresp)s(onds)e(to)i
(a)g(transp)s(osed)e(lo)m(w)m(er)i(triangular)0 1957
y(column-ma)5 b(jor)41 b(arra)m(y)i(\(the)g(same)f(is)g(true)g(in)e
(rev)m(erse)j([i.e.,)j(lo)m(w)m(er-to-upp)s(er],)f(ob)m(viously\).)75
b(T)-8 b(o)43 b(see)g(this,)0 2070 y(simply)27 b(think)h(of)i(what)f(a)
h(upp)s(er)d(triangular)h(matrix)h(stored)g(in)f(a)i(ro)m(w-ma)5
b(jor)30 b(arra)m(y)g(lo)s(oks)f(lik)m(e.)40 b(The)29
b(\014rst)f Fy(n)0 2182 y FK(en)m(tries)g(con)m(tain)h(the)f(\014rst)g
(matrix)g(ro)m(w,)h(follo)m(w)m(ed)f(b)m(y)g(a)h(non-negativ)m(e)g
(gap,)g(follo)m(w)m(ed)f(b)m(y)h(the)f(second)h(matrix)0
2295 y(ro)m(w.)141 2408 y(If)f(this)f(same)i(arra)m(y)f(is)f(view)m(ed)
h(as)h(column-ma)5 b(jor,)28 b(the)g(\014rst)g Fy(n)f
FK(en)m(tries)h(are)h(a)f(column,)g(instead)g(of)g(a)h(ro)m(w,)0
2521 y(so)34 b(that)g(the)g(columns)e(of)h(the)h(arra)m(y)g(store)g
(the)g(ro)m(ws)f(of)h(the)g(matrix)e(\(i.e.,)j(it)e(is)g(transp)s
(osed\).)49 b(This)32 b(means)0 2634 y(that)e(if)e(w)m(e)i(wish)d(to)j
(use)f(the)h(F)-8 b(ortran)30 b(77)g(\(column-ma)5 b(jor\))29
b(BLAS)g(with)f(triangular)g(matrices)h(coming)g(from)0
2747 y(C)37 b(\(p)s(ossibly)d(ro)m(w-ma)5 b(jor\),)40
b(w)m(e)e(will)d(b)s(e)h(rev)m(ersing)h(the)g(setting)h(of)f
FD(UPLO)p FK(,)f(while)f(sim)m(ultaneously)g(rev)m(ersing)0
2860 y(the)28 b(setting)g(of)g FD(TRANS)f FK(\(this)g(gets)i(sligh)m
(tly)d(more)i(complicated)g(when)e(the)j(conjugate)g(transp)s(ose)e(is)
g(in)m(v)m(olv)m(ed,)0 2973 y(as)k(w)m(e)f(will)e(see\).)141
3086 y(Finally)-8 b(,)30 b(note)i(that)g(if)e(a)i(matrix)e(is)g
(symmetric)h(or)g(Hermitian,)g(its)f(ro)m(ws)h(are)h(the)f(same)h(as)f
(its)g(columns,)0 3199 y(so)g(w)m(e)f(ma)m(y)h(merely)f(switc)m(h)g
FD(UPLO)p FK(,)f(without)h(b)s(othering)f(with)g FD(TRANS)p
FK(.)141 3312 y(In)j(the)h(BLAS,)f(there)h(are)g(t)m(w)m(o)h(separate)f
(cases)h(of)e(imp)s(ortance.)46 b(one)33 b(dimensional)d(arra)m(ys)j
(\(storage)h(for)0 3424 y(v)m(ectors\))39 b(ha)m(v)m(e)f(the)g(same)g
(meaning)e(in)g(b)s(oth)g(C)h(and)g(F)-8 b(ortran)38
b(77,)i(so)d(if)f(w)m(e)i(are)g(solving)e(a)h(linear)f(algebra)0
3537 y(problem)j(who's)i(answ)m(er)g(is)f(a)i(v)m(ector,)j(w)m(e)d
(will)c(need)j(to)h(solv)m(e)f(the)g(same)h(problem)d(for)i(b)s(oth)f
(languages.)0 3650 y(Ho)m(w)m(ev)m(er,)g(if)c(the)g(answ)m(er)h(is)e(a)
i(matrix,)h(in)d(terms)h(of)h(calling)e(routines)g(whic)m(h)h(use)g
(column-ma)5 b(jor)35 b(storage)0 3763 y(from)30 b(one)h(using)d(ro)m
(w-ma)5 b(jor)31 b(storage,)h(w)m(e)f(will)d(w)m(an)m(t)j(to)g(solv)m
(e)g(the)g Fz(tr)-5 b(ansp)g(ose)33 b FK(of)d(the)h(problem.)141
3876 y(T)-8 b(o)39 b(get)h(an)f(idea)f(of)h(what)g(this)e(means,)k
(consider)d(a)h(con)m(triv)m(ed)g(example.)65 b(Sa)m(y)39
b(w)m(e)h(ha)m(v)m(e)g(routines)d(for)0 3989 y(simple)g(matrix-matrix)h
(and)g(matrix-v)m(ector)i(m)m(ultiply)-8 b(.)64 b(The)38
b(v)m(ector)i(op)s(eration)f(is)f Fy(y)k FJ( )d Fy(A)26
b FJ(\002)f Fy(x)p FK(,)42 b(and)c(the)0 4102 y(matrix)h(op)s(eration)g
(is)g Fy(C)48 b FJ( )41 b Fy(A)26 b FJ(\002)g Fy(B)5
b FK(.)69 b(No)m(w)40 b(sa)m(y)h(w)m(e)f(are)g(implemen)m(ting)e(these)
i(as)g(calls)f(from)g(ro)m(w-ma)5 b(jor)0 4215 y(arra)m(y)32
b(storage)i(to)f(column-ma)5 b(jor)31 b(storage.)47 b(Since)31
b(the)h(matrix-v)m(ector)h(m)m(ultiply's)c(answ)m(er)j(is)f(a)i(v)m
(ector,)h(the)0 4328 y(problem)24 b(w)m(e)i(are)f(solving)f(is)h
(remains)f(the)i(same,)h(but)d(w)m(e)i(m)m(ust)f(remem)m(b)s(er)g(that)
h(our)f(C)g(arra)m(y)h Fy(A)f FK(is)g(a)g(F)-8 b(ortran)0
4441 y(77)40 b Fy(A)198 4408 y Fw(T)254 4441 y FK(.)68
b(On)38 b(the)i(other)g(hand,)h(the)e(matrix-matrix)g(m)m(ultiply)e
(has)i(a)h(matrix)e(for)i(a)g(result,)h(so)e(when)g(the)0
4554 y(di\013ering)28 b(arra)m(y)j(storage)h(is)d(tak)m(en)j(in)m(to)e
(accoun)m(t,)i(the)f(problem)e(w)m(e)i(w)m(an)m(t)g(to)g(solv)m(e)g(is)
e Fy(C)3156 4521 y Fw(T)3236 4554 y FJ( )c Fy(B)3426
4521 y Fw(T)3501 4554 y FJ(\002)20 b Fy(A)3660 4521 y
Fw(T)3715 4554 y FK(.)141 4666 y(This)39 b(last)h(example)g
(demonstrates)g(another)h(general)f(result.)69 b(Some)40
b(lev)m(el)g(3)h(BLAS)f(con)m(tain)g(a)h FD(SIDE)0 4779
y FK(parameter,)25 b(determining)c(whic)m(h)h(side)f(a)j(matrix)e(is)g
(applied)e(on.)39 b(In)22 b(general,)i(if)e(w)m(e)i(are)f(solving)e
(the)i(transp)s(ose)0 4892 y(of)31 b(this)e(op)s(eration,)h(the)g(side)
g(parameter)h(will)c(b)s(e)j(rev)m(ersed.)141 5005 y(With)i(these)h
(general)f(principles,)e(it)i(is)f(p)s(ossible)f(to)j(sho)m(w)f(that)h
(all)f(that)h(ro)m(w-ma)5 b(jor)33 b(lev)m(el)f(3)g(BLAS)h(can)0
5118 y(b)s(e)28 b(expressed)f(in)g(terms)i(of)f(column-ma)5
b(jor)27 b(BLAS)i(without)e(an)m(y)i(extra)g(arra)m(y)f(storage)i(or)e
(extra)h(op)s(erations.)0 5231 y(In)f(the)g(lev)m(el)g(2)h(BLAS,)f(no)g
(extra)h(storage)h(or)e(arra)m(y)h(accesses)h(are)e(required)f(for)h
(the)g(real)g(routines.)39 b(Complex)0 5344 y(routines)33
b(in)m(v)m(olving)f(the)j(conjugate)g(transp)s(ose,)g(ho)m(w)m(ev)m
(er,)h(ma)m(y)f(require)e(a)h Fy(n)p FK(-elemen)m(t)g(temp)s(orary)-8
b(,)36 b(and)d(up)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 188 198
188 197 bop 0 -165 a FK(188)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)0 91 y FK(to)i(3)p Fy(n)g FK(more)g(op)s
(erations)f(\(v)m(endors)g(ma)m(y)h(a)m(v)m(oid)g(all)f(extra)h(w)m
(orkspace)h(and)e(op)s(erations)f(b)m(y)i(o)m(v)m(erloading)g(the)0
204 y FD(TRANS)c FK(option)h(for)h(the)g(lev)m(el)f(2)h(BLAS:)g
(letting)f(it)h(also)f(allo)m(w)h(conjugation)f(without)g(doing)g(the)h
(transp)s(ose\).)0 317 y(The)f(lev)m(el)g(1)h(BLAS,)f(whic)m(h)f(deal)h
(exclusiv)m(ely)f(with)g(v)m(ectors,)j(are)f(una\013ected)g(b)m(y)f
(this)g(storage)h(issue.)141 430 y(With)37 b(these)g(ideas)f(in)g
(mind,)h(w)m(e)g(will)d(no)m(w)j(sho)m(w)g(ho)m(w)g(to)h(supp)s(ort)d
(a)i(ro)m(w-ma)5 b(jor)38 b(BLAS)e(on)h(top)g(of)h(a)0
543 y(column)32 b(ma)5 b(jor)33 b(BLAS.)g(This)f(information)f(will)g
(b)s(e)h(presen)m(ted)h(in)f(tabular)g(form.)49 b(F)-8
b(or)33 b(brevit)m(y)-8 b(,)34 b(ro)m(w-ma)5 b(jor)0
656 y(storage)28 b(will)23 b(b)s(e)j(referred)f(to)i(as)g(coming)f
(from)g(C)f(\(ev)m(en)j(though)e(column-ma)5 b(jor)25
b(arra)m(ys)i(can)f(also)g(come)h(from)0 769 y(C\),)k(while)d
(column-ma)5 b(jor)30 b(storage)h(will)d(b)s(e)i(referred)f(to)j(as)e
(F77.)141 882 y(Eac)m(h)j(table)f(will)e(sho)m(w)i(a)h(BLAS)f(in)m(v)m
(o)s(cation)g(coming)g(from)g(C,)g(the)h(op)s(eration)e(that)i(the)g
(BLAS)f(should)0 995 y(p)s(erform,)23 b(the)h(op)s(eration)e(required)g
(once)i(F77)g(storage)h(is)d(tak)m(en)i(in)m(to)f(accoun)m(t)i(\(if)d
(this)h(c)m(hanges\),)j(and)c(the)i(call)0 1108 y(to)30
b(the)f(appropriate)f(F77)i(BLAS.)f(Not)h(ev)m(ery)g(p)s(ossible)c(com)
m(bination)i(of)h(parameters)h(is)e(sho)m(wn,)h(since)f(man)m(y)0
1220 y(are)40 b(simply)d(re\015ections)i(of)h(another)f(\(i.e.,)k(when)
38 b(w)m(e)i(are)g(applying)e(the)h FD(Upper,)46 b(NoTranspose)37
b FK(b)s(ecomes)0 1333 y FD(Lower,)46 b(Transpose)34
b FK(rule,)i(w)m(e)h(will)c(sho)m(w)j(it)g(for)f(only)h(the)g(upp)s(er)
e(case.)59 b(In)35 b(order)h(to)g(mak)m(e)h(the)g(notation)0
1446 y(more)31 b(concise,)f(let)h(us)e(de\014ne)p 1072
1397 52 4 v 30 w Fy(x)h FK(to)h(b)s(e)f Fy(conj)5 b FK(\()p
Fy(x)p FK(\).)0 1686 y Fv(Level)31 b(2)g(BLAS)0 1858
y(GEMV)50 1995 y Fm(C)c(call)177 b Fl(cblas)p 664 1995
27 4 v 29 w(cgemv\(CblasRowMaj)o(or)o(,)37 b(CblasNoTrans,)i(m,)j(n,)h
Fk(\013)p Fl(,)h(A,)f(lda,)e(x,)i(incx,)f Fk(\014)t Fl(,)h(y,)g(incy\))
50 2094 y Fm(op)301 b Fk(y)26 b Fj( )d Fk(\013Ax)c Fm(+)f
Fk(\014)t(y)50 2194 y Fm(F77)27 b(call)99 b Fl(CGEMV\('T',)39
b(n,)k(m,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(x,)h(incx,)e
Fk(\014)t Fl(,)j(y,)f(incy\))50 2393 y Fm(C)27 b(call)177
b Fl(cblas)p 664 2393 V 29 w(cgemv\(CblasRowMaj)o(or)o(,)37
b(CblasTrans,)j(m,)i(n,)h Fk(\013)p Fl(,)h(A,)e(lda,)g(x,)h(incx,)f
Fk(\014)t Fl(,)h(y,)g(incy\))50 2493 y Fm(op)301 b Fk(y)26
b Fj( )d Fk(\013A)727 2463 y Fi(T)780 2493 y Fk(x)c Fm(+)f
Fk(\014)t(y)50 2593 y Fm(F77)27 b(call)99 b Fl(CGEMV\('N',)39
b(n,)k(m,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(x,)h(incx,)e
Fk(\014)t Fl(,)j(y,)f(incy\))50 2792 y Fm(C)27 b(call)177
b Fl(cblas)p 664 2792 V 29 w(cgemv\(CblasRowMaj)o(or)o(,)37
b(CblasConjTrans,)h(m,)43 b(n,)f Fk(\013)p Fl(,)i(A,)f(lda,)f(x,)g
(incx,)g Fk(\014)t Fl(,)h(y,)g(incy\))50 2913 y Fm(op)301
b Fk(y)26 b Fj( )d Fk(\013A)727 2882 y Fi(H)790 2913
y Fk(x)c Fm(+)f Fk(\014)t(y)26 b Fj(\))p 1163 2828 650
4 v 23 w Fm(\()p 1195 2867 44 4 v Fk(y)g Fj( )p 1369
2867 54 4 v 24 w Fk(\013A)1484 2889 y Fi(T)p 1537 2867
48 4 v 1537 2913 a Fk(x)18 b Fm(+)p 1685 2845 52 4 v
18 w Fk(\014)p 1737 2867 44 4 v 5 w(y)r Fm(\))50 3017
y(F77)27 b(call)99 b Fl(CGEMV\('N',)39 b(n,)k(m,)p 1180
2971 54 4 v 43 w Fk(\013)p Fl(,)g(A,)g(lda,)p 1669 2971
48 4 v 42 w Fk(x)q Fl(,)g(1,)p 1934 2949 52 4 v 42 w
Fk(\014)5 b Fl(,)p 2073 2971 44 4 v 43 w Fk(y)s Fl(,)43
b(incy\))141 3267 y FK(Note)27 b(that)f(w)m(e)g(switc)m(h)e(the)i(v)-5
b(alue)25 b(of)g(transp)s(ose)g(to)h(handle)e(the)i(ro)m(w/column)f(ma)
5 b(jor)25 b(ordering)f(di\013erence.)0 3380 y(In)h(the)g(last)g(case,)
j(w)m(e)d(will)e(require)h Fy(n)h FK(elemen)m(ts)g(of)h(w)m(orkspace)g
(so)f(that)h(w)m(e)g(ma)m(y)g(store)g(the)f(conjugated)h(v)m(ector)p
0 3444 52 4 v 0 3493 a Fy(x)p FK(.)49 b(Then,)33 b(w)m(e)h(set)f
Fy(y)g FK(=)p 852 3444 48 4 v 30 w Fy(y)r FK(,)h(and)f(mak)m(e)h(the)f
(call.)49 b(This)31 b(giv)m(es)j(us)e(the)h(conjugate)i(of)e(the)g
(answ)m(er,)h(so)g(w)m(e)f(once)0 3606 y(again)26 b(set)h
Fy(y)h FK(=)p 545 3557 V 25 w Fy(y)r FK(.)40 b(Therefore,)27
b(w)m(e)f(see)h(that)f(to)h(supp)s(ort)d(the)i(conjugate)i(transp)s
(ose,)e(w)m(e)h(will)c(need)j(to)g(allo)s(cate)0 3719
y(an)k Fy(n)p FK(-elemen)m(t)h(v)m(ector,)h(and)e(p)s(erform)f(2)p
Fy(m)20 b FK(+)g Fy(n)30 b FK(extra)h(op)s(erations.)0
3959 y Fv(SYMV)0 4131 y FK(SYMV)g(requires)d(no)j(extra)g(w)m(orkspace)
g(or)f(op)s(erations.)191 4227 y Fm(C)e(call)176 b Fl(cblas)p
805 4227 27 4 v 29 w(csymv\(CblasRowMaj)o(or)o(,)38 b(CblasUpper,)h(n,)
j Fk(\013)p Fl(,)i(A,)f(lda,)f(x,)g(incx,)g Fk(\014)t
Fl(,)h(y,)g(incy\))191 4326 y Fm(op)301 b Fk(y)26 b Fj( )d
Fk(\013Ax)c Fm(+)f Fk(\014)t(y)27 b Fj(\))c Fk(y)i Fj( )e
Fk(\013A)1529 4296 y Fi(T)1582 4326 y Fk(x)c Fm(+)f Fk(\014)t(y)191
4426 y Fm(F77)27 b(call)99 b Fl(CSYMV\('L',)39 b(n,)k
Fk(\013)p Fl(,)h(A,)f(lda,)e(x,)i(incx,)f Fk(\014)t Fl(,)h(y,)g(incy\))
0 4754 y Fv(HEMV)0 4926 y FK(HEMV)31 b(routine)e(requires)g(3)p
Fy(n)h FK(conjugations,)h(and)f Fy(n)g FK(extra)h(storage.)191
5021 y Fm(C)d(call)176 b Fl(cblas)p 805 5021 V 29 w(chemv\(CblasRowMaj)
o(or)o(,)38 b(CblasUpper,)h(n,)j Fk(\013)p Fl(,)i(A,)f(lda,)f(x,)g
(incx,)g Fk(\014)t Fl(,)h(y,)g(incy\))191 5142 y Fm(op)301
b Fk(y)26 b Fj( )d Fk(\013Ax)c Fm(+)f Fk(\014)t(y)27
b Fj(\))c Fk(y)i Fj( )e Fk(\013A)1529 5112 y Fi(H)1593
5142 y Fk(x)c Fm(+)f Fk(\014)t(y)26 b Fj(\))p 1966 5058
650 4 v 23 w Fm(\()p 1998 5096 44 4 v Fk(y)g Fj( )p 2171
5096 54 4 v 23 w Fk(\013)q(A)2287 5118 y Fi(T)p 2339
5096 48 4 v 2339 5142 a Fk(x)19 b Fm(+)p 2488 5075 52
4 v 18 w Fk(\014)p 2540 5096 44 4 v 5 w(y)r Fm(\))191
5246 y(F77)27 b(call)99 b Fl(CHEMV\('L',)39 b(n,)p 1190
5201 54 4 v 43 w Fk(\013)q Fl(,)k(A,)g(lda,)p 1679 5201
48 4 v 41 w Fk(x)q Fl(,)g(incx,)p 2076 5179 52 4 v 42
w Fk(\014)t Fl(,)p 2214 5201 44 4 v 43 w Fk(y)s Fl(,)g(incy\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 189 199
189 198 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(189)0 91 y Fv(TRMV/TRSV)70
251 y Fm(C)28 b(call)176 b Fl(cblas)p 684 251 27 4 v
29 w(ctrmv\(CblasRowMaj)o(or,)37 b(CblasUpper,)i(CblasNoTrans,)f(diag,)
j(n,)i(A,)g(lda,)f(x,)h(incx\))70 350 y Fm(op)301 b Fk(x)24
b Fj( )f Fk(Ax)70 450 y Fm(F77)k(call)99 b Fl(CTRMV\('L',)40
b('T',)h(diag,)h(n,)h(A,)f(lda,)g(x,)h(incx\))70 649
y Fm(C)28 b(call)176 b Fl(cblas)p 684 649 V 29 w(ctrmv\(CblasRowMaj)o
(or,)37 b(CblasUpper,)i(CblasTrans,)g(diag,)i(n,)i(A,)g(lda,)f(x,)g
(incx\))70 749 y Fm(op)301 b Fk(x)24 b Fj( )f Fk(A)698
719 y Fi(T)750 749 y Fk(x)70 849 y Fm(F77)k(call)99 b
Fl(CTRMV\('L',)40 b('N',)h(diag,)h(n,)h(A,)f(lda,)g(x,)h(incx\))70
1048 y Fm(C)28 b(call)176 b Fl(cblas)p 684 1048 V 29
w(ctrmv\(CblasRowMaj)o(or,)37 b(CblasUpper,)i(CblasConjTrans,)e(diag,)
42 b(n,)g(A,)h(lda,)f(x,)h(incx\))70 1158 y Fm(op)301
b Fk(x)24 b Fj( )f Fk(A)698 1128 y Fi(H)761 1158 y Fk(x)g
Fj(\))p 937 1084 385 4 v 23 w Fm(\()p 969 1112 48 4 v
Fk(x)h Fm(=)f Fk(A)1190 1134 y Fi(T)p 1242 1112 V 1242
1158 a Fk(x)q Fm(\))70 1258 y(F77)k(call)99 b Fl(CTRMV\('L',)40
b('N',)h(diag,)h(n,)h(A,)f(lda,)p 1897 1212 V 42 w Fk(x)q
Fl(,)h(incx\))141 1508 y FK(Again,)e(w)m(e)f(see)g(that)f(w)m(e)h(will)
c(need)j(some)h(extra)f(op)s(erations)g(when)f(w)m(e)h(are)h(handling)c
(the)k(conjugate)0 1621 y(transp)s(ose.)g(W)-8 b(e)29
b(conjugate)h Fy(x)e FK(b)s(efore)g(the)h(call,)g(giving)e(us)h(the)g
(conjugate)i(of)f(the)g(answ)m(er)f(w)m(e)h(seek.)41
b(W)-8 b(e)29 b(then)0 1734 y(conjugate)f(this)e(again)h(to)h(return)d
(the)j(correct)g(answ)m(er.)39 b(This)25 b(routine)h(therefore)i(needs)
e(2)p Fy(n)h FK(extra)h(op)s(erations)0 1847 y(for)i(the)h(complex)f
(conjugate)h(case.)141 1960 y(The)36 b(calls)f(with)g(the)h(C)f(arra)m
(y)i(b)s(eing)e FD(Lower)f FK(are)j(merely)e(the)h(re\015ection)g(of)g
(these)h(calls,)f(and)g(th)m(us)g(are)0 2073 y(not)j(sho)m(wn.)64
b(The)38 b(analysis)f(for)h(TRMV)g(is)g(the)g(same,)j(since)d(it)g(in)m
(v)m(olv)m(es)g(the)h(same)g(principle)c(of)j(what)h(a)0
2186 y(transp)s(ose)30 b(of)g(a)h(triangular)e(matrix)h(is.)0
2426 y Fv(GER/GERU)0 2598 y FK(This)g(is)h(our)g(\014rst)g(routine)g
(that)i(has)e(a)i(matrix)e(as)h(the)g(solution.)44 b(Recalling)30
b(that)j(this)d(means)i(w)m(e)h(solv)m(e)f(the)0 2711
y(transp)s(ose)e(of)g(the)h(original)d(problem,)i(w)m(e)g(get:)50
2806 y Fm(C)d(call)177 b Fl(cblas)p 664 2806 27 4 v 29
w(cgeru\(CblasRowMaj)o(or)o(,)37 b(m,)43 b(n,)g Fk(\013)p
Fl(,)h(x,)e(incx,)g(y,)h(incy,)e(A,)i(lda\))50 2906 y
Fm(C)27 b(op)214 b Fk(A)23 b Fj( )g Fk(\013xy)774 2876
y Fi(T)846 2906 y Fm(+)18 b Fk(A)50 3006 y Fm(F77)27
b(op)136 b Fk(A)501 2976 y Fi(T)576 3006 y Fj( )24 b
Fk(\013y)s(x)827 2976 y Fi(T)898 3006 y Fm(+)18 b Fk(A)1043
2976 y Fi(T)50 3105 y Fm(F77)27 b(call)99 b Fl(CGERU\(n,)40
b(m,)j Fk(\013)p Fl(,)g(y,)g(incy,)f(x,)h(incx,)e(A,)i(lda\))141
3306 y FK(No)31 b(extra)g(storage)h(or)e(op)s(erations)g(are)h
(required.)0 3546 y Fv(GERC)50 3683 y Fm(C)c(call)177
b Fl(cblas)p 664 3683 V 29 w(cgerc\(CblasRowMaj)o(or)o(,)37
b(m,)43 b(n,)g Fk(\013)p Fl(,)h(x,)e(incx,)g(y,)h(incy,)e(A,)i(lda\))50
3783 y Fm(C)27 b(op)214 b Fk(A)23 b Fj( )g Fk(\013xy)774
3753 y Fi(H)856 3783 y Fm(+)18 b Fk(A)50 3883 y Fm(F77)27
b(op)136 b Fk(A)501 3853 y Fi(T)576 3883 y Fj( )24 b
Fk(\013)p Fm(\()p Fk(xy)859 3853 y Fi(H)922 3883 y Fm(\))954
3853 y Fi(T)1025 3883 y Fm(+)18 b Fk(A)1170 3853 y Fi(T)1246
3883 y Fm(=)23 b Fk(\013)p 1387 3837 44 4 v(y)s(x)1478
3853 y Fi(T)1549 3883 y Fm(+)18 b Fk(A)1694 3853 y Fi(T)50
3982 y Fm(F77)27 b(call)99 b Fl(CGERU\(n,)40 b(m,)j Fk(\013)p
Fl(,)p 1102 3937 V 43 w Fk(y)s Fl(,)g(incy,)f(x,)h(incx,)e(A,)i(lda\))
141 4183 y FK(Note)30 b(that)e(w)m(e)h(need)f(to)h(allo)s(cate)f
Fy(n)p FK(-elemen)m(t)h(w)m(orkspace)g(to)g(hold)d(the)j(conjugated)g
Fy(y)s FK(,)f(and)g(w)m(e)g(call)g FD(GERU)p FK(,)0 4296
y(not)j FD(GERC)p FK(.)0 4536 y Fv(HER)50 4673 y Fm(C)c(call)177
b Fl(cblas)p 664 4673 27 4 v 29 w(cher\(CblasRowMajo)o(r,)37
b(CblasUpper,)i(n,)k Fk(\013)p Fl(,)g(x,)g(incx,)f(A,)g(lda\))50
4773 y Fm(C)27 b(op)214 b Fk(A)23 b Fj( )g Fk(\013xx)777
4743 y Fi(H)860 4773 y Fm(+)18 b Fk(A)50 4872 y Fm(F77)27
b(op)136 b Fk(A)501 4842 y Fi(T)576 4872 y Fj( )24 b
Fk(\013)p 736 4827 48 4 v(xx)830 4842 y Fi(T)902 4872
y Fm(+)18 b Fk(A)1047 4842 y Fi(T)50 4972 y Fm(F77)27
b(call)99 b Fl(CHER\('L',)40 b(n,)i Fk(\013)p Fl(,)p
1146 4926 V 44 w Fk(x)q Fl(,)h(1,)f(A,)h(lda\))141 5173
y FK(Again,)31 b(w)m(e)f(ha)m(v)m(e)i(an)e Fy(n)p FK(-elemen)m(t)h(w)m
(orkspace)g(and)f Fy(n)g FK(extra)h(op)s(erations.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 190 200
190 199 bop 0 -165 a FK(190)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)0 91 y Fv(HER2)50 228 y Fm(C)c(call)177
b Fl(cblas)p 664 228 27 4 v 29 w(cher2\(CblasRowMaj)o(or)o(,)37
b(CblasUpper,)j(n,)i Fk(\013)p Fl(,)i(x,)f(incx,)e(y,)i(incy,)e(A,)i
(lda\))50 328 y Fm(C)27 b(op)214 b Fk(A)23 b Fj( )g Fk(\013xy)774
298 y Fi(H)856 328 y Fm(+)18 b Fk(y)s Fm(\()p Fk(\013x)p
Fm(\))1147 298 y Fi(H)1230 328 y Fm(+)g Fk(A)50 428 y
Fm(F77)27 b(op)136 b Fk(A)501 397 y Fi(T)576 428 y Fj( )24
b Fk(\013)p 736 382 44 4 v(y)s(x)827 397 y Fi(T)898 428
y Fm(+)p 981 382 54 4 v 18 w Fk(\013)p 1034 382 48 4
v(x)q(y)1126 397 y Fi(T)1196 428 y Fm(+)18 b Fk(A)1341
397 y Fi(T)1417 428 y Fm(=)k Fk(\013)p 1557 382 44 4
v(y)t Fm(\()p 1634 382 48 4 v Fk(x)p Fm(\))1713 397 y
Fi(H)1795 428 y Fm(+)p 1878 382 V 18 w Fk(x)p Fm(\()p
Fk(\013)p 2010 382 44 4 v(y)t Fm(\))2087 397 y Fi(H)2169
428 y Fm(+)c Fk(A)2314 397 y Fi(T)50 527 y Fm(F77)27
b(call)99 b Fl(CHER2\('L',)39 b(n,)k Fk(\013)p Fl(,)p
1190 481 V 44 w Fk(y)r Fl(,)h(1,)p 1451 481 48 4 v 42
w Fk(x)q Fl(,)f(1,)g(A,)f(lda\))141 728 y FK(So)30 b(w)m(e)h(need)f(2)p
Fy(n)h FK(extra)g(w)m(orkspace)g(and)f(op)s(erations)f(to)i(form)f(the)
h(conjugates)g(of)g Fy(x)f FK(and)g Fy(y)s FK(.)0 968
y Fv(SYR)50 1105 y Fm(C)d(call)177 b Fl(cblas)p 664 1105
27 4 v 29 w(ssyr\(CblasRowMajo)o(r,)37 b(CblasUpper,)i(n,)k
Fk(\013)p Fl(,)g(x,)g(incx,)f(A,)g(lda\))50 1205 y Fm(C)27
b(op)214 b Fk(A)23 b Fj( )g Fk(\013xx)777 1175 y Fi(T)849
1205 y Fm(+)18 b Fk(A)50 1304 y Fm(F77)27 b(op)136 b
Fk(A)501 1274 y Fi(T)576 1304 y Fj( )24 b Fk(\013xx)830
1274 y Fi(T)902 1304 y Fm(+)18 b Fk(A)1047 1274 y Fi(T)50
1404 y Fm(F77)27 b(call)99 b Fl(SSYR\('L',)40 b(n,)i
Fk(\013)p Fl(,)i(x,)f(incx,)e(A,)i(lda\))141 1605 y FK(No)31
b(extra)g(storage)h(or)e(op)s(erations)g(required.)0
1845 y Fv(SYR2)50 1982 y Fm(C)d(call)177 b Fl(cblas)p
664 1982 V 29 w(ssyr2\(CblasRowMaj)o(or)o(,)37 b(CblasUpper,)j(n,)i
Fk(\013)p Fl(,)i(x,)f(incx,)e(y,)i(incy,)e(A,)i(lda\))50
2082 y Fm(C)27 b(op)214 b Fk(A)23 b Fj( )g Fk(\013xy)774
2051 y Fi(T)846 2082 y Fm(+)18 b Fk(\013y)s(x)1073 2051
y Fi(T)1144 2082 y Fm(+)g Fk(A)50 2181 y Fm(F77)27 b(op)136
b Fk(A)501 2151 y Fi(T)576 2181 y Fj( )24 b Fk(\013y)s(x)827
2151 y Fi(T)898 2181 y Fm(+)18 b Fk(\013xy)1125 2151
y Fi(T)1196 2181 y Fm(+)g Fk(A)1341 2151 y Fi(T)50 2281
y Fm(F77)27 b(call)99 b Fl(SSYR2\('L',)39 b(n,)k Fk(\013)p
Fl(,)h(y,)e(incy,)g(x,)h(incx,)e(A,)i(lda\))141 2482
y FK(No)31 b(extra)g(storage)h(or)e(op)s(erations)g(required.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 191 201
191 200 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(191)0 91 y Fv(Level)31
b(3)g(BLAS)0 263 y(GEMM)50 394 y FB(C)26 b(call)172 b
Fh(cblas)p 617 394 24 4 v 30 w(cgemm\(CblasRowMajor,)43
b(CblasNoTrans,)f(CblasNoTrans,)h(m,)c(n,)h(k,)g Fs(\013)p
Fh(,)f(A,)h(lda,)g(B,)g(ldb,)g Fs(\014)t Fh(,)g(C,)f(ldc\))50
485 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013AB)f
FB(+)d Fs(\014)t(C)50 578 y FB(F77)26 b(op)134 b Fs(C)477
547 y Fq(T)547 578 y Fr( )21 b Fs(\013B)756 547 y Fq(T)805
578 y Fs(A)863 547 y Fq(T)928 578 y FB(+)c Fs(\014)t(C)1112
547 y Fq(T)50 670 y FB(F77)26 b(call)101 b Fh(CGEMM\('N',)42
b('N',)e(n,)f(m,)h(k,)g Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g
Fs(\014)t Fh(,)g(C,)g(ldc\))50 852 y FB(C)26 b(call)172
b Fh(cblas)p 617 852 V 30 w(cgemm\(CblasRowMajor,)43
b(CblasNoTrans,)f(CblasTrans,)g(m,)e(n,)g(k,)f Fs(\013)p
Fh(,)h(A,)g(lda,)g(B,)f(ldb,)i Fs(\014)t Fh(,)e(C,)h(ldc\))50
946 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013AB)766
914 y Fq(T)831 946 y FB(+)c Fs(\014)t(C)50 1039 y FB(F77)26
b(op)134 b Fs(C)477 1007 y Fq(T)547 1039 y Fr( )21 b
Fs(\013B)t(A)814 1007 y Fq(T)880 1039 y FB(+)c Fs(\014)t(C)1064
1007 y Fq(T)50 1130 y FB(F77)26 b(call)101 b Fh(CGEMM\('T',)42
b('N',)e(n,)f(m,)h(k,)g Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g
Fs(\014)t Fh(,)g(C,)g(ldc\))50 1313 y FB(C)26 b(call)172
b Fh(cblas)p 617 1313 V 30 w(cgemm\(CblasRowMajor,)43
b(CblasNoTrans,)f(CblasConjTrans,)h(m,)d(n,)f(k,)h Fs(\013)p
Fh(,)g(A,)g(lda,)g(B,)f(ldb,)i Fs(\014)t Fh(,)e(C,)h(ldc\))50
1406 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013AB)766
1374 y Fq(H)840 1406 y FB(+)c Fs(\014)t(C)50 1501 y FB(F77)26
b(op)134 b Fs(C)477 1469 y Fq(T)547 1501 y Fr( )21 b
Fs(\013)p 694 1440 62 4 v(B)t(A)814 1469 y Fq(T)880 1501
y FB(+)c Fs(\014)t(C)1064 1469 y Fq(T)50 1592 y FB(F77)26
b(call)101 b Fh(CGEMM\('C',)42 b('N',)e(n,)f(m,)h(k,)g
Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g Fs(\014)t Fh(,)g(C,)g(ldc\))50
1775 y FB(C)26 b(call)172 b Fh(cblas)p 617 1775 24 4
v 30 w(cgemm\(CblasRowMajor,)43 b(CblasTrans,)f(CblasNoTrans,)g(m,)e
(n,)g(k,)f Fs(\013)p Fh(,)h(A,)g(lda,)g(B,)f(ldb,)i Fs(\014)t
Fh(,)e(C,)h(ldc\))50 1868 y FB(C)26 b(op)205 b Fs(C)27
b Fr( )21 b Fs(\013A)704 1836 y Fq(T)752 1868 y Fs(B)g
FB(+)c Fs(\014)t(C)50 1961 y FB(F77)26 b(op)134 b Fs(C)477
1930 y Fq(T)547 1961 y Fr( )21 b Fs(\013B)756 1930 y
Fq(T)805 1961 y Fs(A)c FB(+)g Fs(\014)t(C)1064 1930 y
Fq(T)50 2053 y FB(F77)26 b(call)101 b Fh(CGEMM\('N',)42
b('T',)e(n,)f(m,)h(k,)g Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g
Fs(\014)t Fh(,)g(C,)g(ldc\))50 2235 y FB(C)26 b(call)172
b Fh(cblas)p 617 2235 V 30 w(cgemm\(CblasRowMajor,)43
b(CblasTrans,)f(CblasTrans,)g(m,)d(n,)h(k,)g Fs(\013)p
Fh(,)g(A,)f(lda,)h(B,)g(ldb,)g Fs(\014)t Fh(,)g(C,)f(ldc\))50
2328 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013A)704
2297 y Fq(T)752 2328 y Fs(B)814 2297 y Fq(T)880 2328
y FB(+)c Fs(\014)t(C)50 2422 y FB(F77)26 b(op)134 b Fs(C)477
2390 y Fq(T)547 2422 y Fr( )21 b Fs(\013B)t(A)c FB(+)g
Fs(\014)t(C)1015 2390 y Fq(T)50 2513 y FB(F77)26 b(call)101
b Fh(CGEMM\('T',)42 b('T',)e(n,)f(m,)h(k,)g Fs(\013)p
Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g Fs(\014)t Fh(,)g(C,)g(ldc\))50
2696 y FB(C)26 b(call)172 b Fh(cblas)p 617 2696 V 30
w(cgemm\(CblasRowMajor,)43 b(CblasTrans,)f(CblasConjTrans,)h(m,)c(n,)h
(k,)g Fs(\013)p Fh(,)f(A,)h(lda,)g(B,)g(ldb,)g Fs(\014)t
Fh(,)g(C,)f(ldc\))50 2789 y FB(C)26 b(op)205 b Fs(C)27
b Fr( )21 b Fs(\013A)704 2757 y Fq(T)752 2789 y Fs(B)814
2757 y Fq(H)889 2789 y FB(+)c Fs(\014)t(C)50 2884 y FB(F77)26
b(op)134 b Fs(C)477 2852 y Fq(T)547 2884 y Fr( )21 b
Fs(\013)p 694 2823 62 4 v(B)t(A)c FB(+)g Fs(\014)t(C)1015
2852 y Fq(T)50 2975 y FB(F77)26 b(call)101 b Fh(CGEMM\('C',)42
b('T',)e(n,)f(m,)h(k,)g Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g
Fs(\014)t Fh(,)g(C,)g(ldc\))50 3158 y FB(C)26 b(call)172
b Fh(cblas)p 617 3158 24 4 v 30 w(cgemm\(CblasRowMajor,)43
b(CblasConjTrans,)g(CblasNoTrans,)f(m,)e(n,)f(k,)h Fs(\013)p
Fh(,)g(A,)g(lda,)g(B,)f(ldb,)i Fs(\014)t Fh(,)e(C,)h(ldc\))50
3251 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013A)704
3219 y Fq(H)761 3251 y Fs(B)g FB(+)c Fs(\014)t(C)50 3346
y FB(F77)26 b(op)134 b Fs(C)477 3314 y Fq(T)547 3346
y Fr( )21 b Fs(\013B)756 3314 y Fq(T)p 805 3285 58 4
v 805 3346 a Fs(A)c FB(+)g Fs(\014)t(C)1064 3314 y Fq(T)50
3437 y FB(F77)26 b(call)101 b Fh(CGEMM\('N',)42 b('C',)e(n,)f(m,)h(k,)g
Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g Fs(\014)t Fh(,)g(C,)g(ldc\))50
3620 y FB(C)26 b(call)172 b Fh(cblas)p 617 3620 24 4
v 30 w(cgemm\(CblasRowMajor,)43 b(CblasConjTrans,)g(CblasTrans,)f(m,)d
(n,)h(k,)g Fs(\013)p Fh(,)f(A,)h(lda,)g(B,)g(ldb,)g Fs(\014)t
Fh(,)g(C,)f(ldc\))50 3713 y FB(C)26 b(op)205 b Fs(C)27
b Fr( )21 b Fs(\013A)704 3681 y Fq(H)761 3713 y Fs(B)823
3681 y Fq(T)889 3713 y FB(+)c Fs(\014)t(C)50 3808 y FB(F77)26
b(op)134 b Fs(C)477 3776 y Fq(T)547 3808 y Fr( )21 b
Fs(\013B)p 756 3747 58 4 v 4 w(A)c FB(+)g Fs(\014)t(C)1015
3776 y Fq(T)50 3900 y FB(F77)26 b(call)101 b Fh(CGEMM\('T',)42
b('C',)e(n,)f(m,)h(k,)g Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g
Fs(\014)t Fh(,)g(C,)g(ldc\))50 4082 y FB(C)26 b(call)172
b Fh(cblas)p 617 4082 24 4 v 30 w(cgemm\(CblasRowMajor,)43
b(CblasConjTrans,)g(CblasConjTrans,)g(m,)c(n,)h(k,)g
Fs(\013)p Fh(,)f(A,)h(lda,)g(B,)g(ldb,)g Fs(\014)t Fh(,)g(C,)f(ldc\))50
4175 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013A)704
4144 y Fq(H)761 4175 y Fs(B)823 4144 y Fq(H)898 4175
y FB(+)c Fs(\014)t(C)50 4270 y FB(F77)26 b(op)134 b Fs(C)477
4239 y Fq(T)547 4270 y Fr( )21 b Fs(\013)p 694 4209 62
4 v(B)p 756 4209 58 4 v 4 w(A)c FB(+)g Fs(\014)t(C)1015
4239 y Fq(T)50 4362 y FB(F77)26 b(call)101 b Fh(CGEMM\('C',)42
b('C',)e(n,)f(m,)h(k,)g Fs(\013)p Fh(,)g(B,)f(ldb,)h(A,)g(lda,)g
Fs(\014)t Fh(,)g(C,)g(ldc\))-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 192 202
192 201 bop 0 -165 a FK(192)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)0 91 y Fv(SYMM/HEMM)50 251 y Fm(C)c(call)177
b Fl(cblas)p 664 251 27 4 v 29 w(chemm\(CblasRowMaj)o(or)o(,)37
b(CblasLeft,)j(CblasUpper,)f(m,)k(n,)f Fk(\013)p Fl(,)i(A,)f(lda,)f(B,)
h(ldb,)e Fk(\014)t Fl(,)j(C,)f(ldc\))50 350 y Fm(C)27
b(op)214 b Fk(C)29 b Fj( )23 b Fk(\013AB)h Fm(+)18 b
Fk(\014)t(C)50 450 y Fm(F77)27 b(op)136 b Fk(C)504 420
y Fi(T)580 450 y Fj( )23 b Fk(\013B)806 420 y Fi(T)858
450 y Fk(A)920 420 y Fi(T)991 450 y Fm(+)18 b Fk(\014)t(C)1190
420 y Fi(T)50 550 y Fm(F77)27 b(call)99 b Fl(CHEMM\('R',)39
b('L',)j(n,)h(m,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(B,)h(ldb,)f
Fk(\014)t Fl(,)h(C,)g(ldc\))50 749 y Fm(C)27 b(call)177
b Fl(cblas)p 664 749 V 29 w(chemm\(CblasRowMaj)o(or)o(,)37
b(CblasRight,)j(CblasUpper,)f(m,)j(n,)h Fk(\013)p Fl(,)h(A,)e(lda,)g
(B,)h(ldb,)f Fk(\014)t Fl(,)i(C,)e(ldc\))50 849 y Fm(C)27
b(op)214 b Fk(C)29 b Fj( )23 b Fk(\013B)t(A)d Fm(+)e
Fk(\014)t(C)50 948 y Fm(F77)27 b(op)136 b Fk(C)504 918
y Fi(T)580 948 y Fj( )23 b Fk(\013A)801 918 y Fi(T)854
948 y Fk(B)921 918 y Fi(T)991 948 y Fm(+)18 b Fk(\014)t(C)1190
918 y Fi(T)50 1048 y Fm(F77)27 b(call)99 b Fl(CHEMM\('L',)39
b('L',)j(n,)h(m,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(B,)h(ldb,)f
Fk(\014)t Fl(,)h(C,)g(ldc\))0 1426 y Fv(SYRK)50 1563
y Fm(C)27 b(call)177 b Fl(cblas)p 664 1563 V 29 w(csyrk\(CblasRowMaj)o
(or)o(,)37 b(CblasUpper,)j(CblasNoTrans,)e(n,)k(k,)h
Fk(\013)p Fl(,)h(A,)f(lda,)f Fk(\014)t Fl(,)h(C,)g(ldc\))50
1662 y Fm(C)27 b(op)214 b Fk(C)29 b Fj( )23 b Fk(\013AA)810
1632 y Fi(T)882 1662 y Fm(+)18 b Fk(\014)t(C)50 1762
y Fm(F77)27 b(op)136 b Fk(C)504 1732 y Fi(T)580 1762
y Fj( )23 b Fk(\013AA)863 1732 y Fi(T)934 1762 y Fm(+)18
b Fk(\014)t(C)1133 1732 y Fi(T)50 1862 y Fm(F77)27 b(call)99
b Fl(CSYRK\('L',)39 b('T',)j(n,)h(k,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(B,)
h(ldb,)f Fk(\014)t Fl(,)h(C,)g(ldc\))50 2061 y Fm(C)27
b(call)177 b Fl(cblas)p 664 2061 V 29 w(csyrk\(CblasRowMaj)o(or)o(,)37
b(CblasUpper,)j(CblasTrans,)f(n,)j(k,)h Fk(\013)p Fl(,)h(A,)e(lda,)g
Fk(\014)t Fl(,)i(C,)f(ldc\))50 2161 y Fm(C)27 b(op)214
b Fk(C)29 b Fj( )23 b Fk(\013A)748 2131 y Fi(T)801 2161
y Fk(A)c Fm(+)f Fk(\014)t(C)50 2261 y Fm(F77)27 b(op)136
b Fk(C)504 2230 y Fi(T)580 2261 y Fj( )23 b Fk(\013A)801
2230 y Fi(T)854 2261 y Fk(A)18 b Fm(+)g Fk(\014)t(C)1133
2230 y Fi(T)50 2360 y Fm(F77)27 b(call)99 b Fl(CSYRK\('L',)39
b('N',)j(n,)h(k,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(B,)h(ldb,)f
Fk(\014)t Fl(,)h(C,)g(ldc\))141 2611 y FK(In)20 b(reading)g(the)i(ab)s
(o)m(v)m(e)g(descriptions,)f(it)f(is)g(imp)s(ortan)m(t)g(to)i(remem)m
(b)s(er)e(a)i(few)f(things.)36 b(First,)22 b(the)g(symmetric)0
2724 y(matrix)34 b(is)g Fy(C)7 b FK(,)36 b(and)e(th)m(us)g(w)m(e)h(c)m
(hange)h FD(UPLO)e FK(to)i(accommo)s(date)g(the)f(di\013ering)e
(storage)j(of)f Fy(C)7 b FK(.)54 b FD(TRANSPOSE)32 b
FK(is)0 2837 y(then)e(v)-5 b(aried)30 b(to)h(handle)e(the)h(storage)i
(e\013ects)g(on)e Fy(A)p FK(.)0 3077 y Fv(HERK)50 3214
y Fm(C)d(call)177 b Fl(cblas)p 664 3214 V 29 w(cherk\(CblasRowMaj)o(or)
o(,)37 b(CblasUpper,)j(CblasNoTrans,)e(n,)k(k,)h Fk(\013)p
Fl(,)h(A,)f(lda,)f Fk(\014)t Fl(,)h(C,)g(ldc\))50 3313
y Fm(C)27 b(op)214 b Fk(C)29 b Fj( )23 b Fk(\013AA)810
3283 y Fi(H)893 3313 y Fm(+)18 b Fk(\014)t(C)50 3416
y Fm(F77)27 b(op)136 b Fk(C)504 3386 y Fi(T)580 3416
y Fj( )23 b Fk(\013)p 739 3350 63 4 v(AA)863 3386 y Fi(T)934
3416 y Fm(+)18 b Fk(\014)t(C)1133 3386 y Fi(T)50 3516
y Fm(F77)27 b(call)99 b Fl(CHERK\('L',)39 b('C',)j(n,)h(k,)g
Fk(\013)p Fl(,)g(A,)g(lda,)f(B,)h(ldb,)f Fk(\014)t Fl(,)h(C,)g(ldc\))50
3715 y Fm(C)27 b(call)177 b Fl(cblas)p 664 3715 27 4
v 29 w(cherk\(CblasRowMaj)o(or)o(,)37 b(CblasUpper,)j(CblasConjTrans,)d
(n,)43 b(k,)f Fk(\013)p Fl(,)i(A,)f(lda,)f Fk(\014)t
Fl(,)h(C,)g(ldc\))50 3815 y Fm(C)27 b(op)214 b Fk(C)29
b Fj( )23 b Fk(\013A)748 3785 y Fi(H)812 3815 y Fk(A)c
Fm(+)f Fk(\014)t(C)50 3918 y Fm(F77)27 b(op)136 b Fk(C)504
3888 y Fi(T)580 3918 y Fj( )23 b Fk(\013A)801 3888 y
Fi(T)p 854 3852 63 4 v 854 3918 a Fk(A)18 b Fm(+)g Fk(\014)t(C)1133
3888 y Fi(T)50 4018 y Fm(F77)27 b(call)99 b Fl(CHERK\('L',)39
b('N',)j(n,)h(k,)g Fk(\013)p Fl(,)g(A,)g(lda,)f(B,)h(ldb,)f
Fk(\014)t Fl(,)h(C,)g(ldc\))0 4396 y Fv(SYR2K)50 4527
y FB(C)26 b(call)172 b Fh(cblas)p 617 4527 24 4 v 30
w(csyr2k\(CblasRowMajor,)44 b(CblasUpper,)d(CblasNoTrans,)h(n,)e(k,)g
Fs(\013)p Fh(,)g(A,)f(lda,)h(B,)g(ldb,)g Fs(\014)t Fh(,)g(C,)f(ldc\))50
4620 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013AB)766
4588 y Fq(T)831 4620 y FB(+)c Fs(\013B)t(A)1077 4588
y Fq(T)1142 4620 y FB(+)g Fs(\014)t(C)50 4713 y FB(F77)26
b(op)134 b Fs(C)477 4681 y Fq(T)547 4713 y Fr( )21 b
Fs(\013B)t(A)814 4681 y Fq(T)880 4713 y FB(+)c Fs(\013AB)1126
4681 y Fq(T)1191 4713 y FB(+)g Fs(\014)t(C)1375 4681
y Fq(T)1445 4713 y FB(=)k Fs(\013AB)1695 4681 y Fq(T)1761
4713 y FB(+)16 b Fs(\013B)t(A)2006 4681 y Fq(T)2072 4713
y FB(+)g Fs(\014)t(C)2255 4681 y Fq(T)50 4805 y FB(F77)26
b(call)101 b Fh(CSYR2K\('L',)42 b('T',)e(n,)g(k,)f Fs(\013)p
Fh(,)h(A,)g(lda,)g(B,)g(ldb,)g Fs(\014)t Fh(,)f(C,)h(ldc\))50
4987 y FB(C)26 b(call)172 b Fh(cblas)p 617 4987 V 30
w(csyr2k\(CblasRowMajor,)44 b(CblasUpper,)d(CblasTrans,)h(n,)e(k,)f
Fs(\013)p Fh(,)h(A,)g(lda,)g(B,)g(ldb,)g Fs(\014)t Fh(,)f(C,)h(ldc\))50
5080 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013A)704
5049 y Fq(T)752 5080 y Fs(B)g FB(+)c Fs(\013B)1019 5049
y Fq(T)1068 5080 y Fs(A)f FB(+)h Fs(\014)t(C)50 5174
y FB(F77)26 b(op)134 b Fs(C)477 5142 y Fq(T)547 5174
y Fr( )21 b Fs(\013B)756 5142 y Fq(T)805 5174 y Fs(A)c
FB(+)g Fs(\013A)1064 5142 y Fq(T)1112 5174 y Fs(B)k FB(+)c
Fs(\014)t(C)1375 5142 y Fq(T)1445 5174 y FB(=)k Fs(\013A)1633
5142 y Fq(T)1682 5174 y Fs(B)g FB(+)16 b Fs(\013B)1948
5142 y Fq(T)1997 5174 y Fs(A)h FB(+)f Fs(\014)t(C)2255
5142 y Fq(T)50 5265 y FB(F77)26 b(call)101 b Fh(CSYR2K\('L',)42
b('N',)e(n,)g(k,)f Fs(\013)p Fh(,)h(A,)g(lda,)g(B,)g(ldb,)g
Fs(\014)t Fh(,)f(C,)h(ldc\))4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 193 203
193 202 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(193)141 91 y(Note)36
b(that)e(w)m(e)h(once)g(again)f(wind)e(up)h(with)g(an)h(op)s(eration)f
(that)i(lo)s(oks)f(the)g(same)g(from)g(C)g(and)f(F)-8
b(ortran)0 204 y(77,)29 b(sa)m(ving)e(that)h(the)g(C)f(op)s(erations)f
(wishes)g(to)i(form)f Fy(C)1972 171 y Fw(T)2027 204 y
FK(,)h(instead)f(of)g Fy(C)7 b FK(.)39 b(So)27 b(once)h(again)g(w)m(e)g
(\015ip)d(the)j(setting)0 317 y(of)34 b FD(UPLO)e FK(to)j(handle)d(the)
i(di\013erence)f(in)f(the)i(storage)h(of)f Fy(C)7 b FK(.)50
b(W)-8 b(e)35 b(then)e(\015ip)f(the)i(setting)g(of)g
FD(TRANS)e FK(to)i(handle)0 430 y(the)d(storage)g(e\013ects)h(for)e
Fy(A)h FK(and)f Fy(B)5 b FK(.)0 670 y Fv(HER2K)50 801
y FB(C)26 b(call)172 b Fh(cblas)p 617 801 24 4 v 30 w
(cher2k\(CblasRowMajor,)44 b(CblasUpper,)d(CblasNoTrans,)h(n,)e(k,)g
Fs(\013)p Fh(,)g(A,)f(lda,)h(B,)g(ldb,)g Fs(\014)t Fh(,)g(C,)f(ldc\))50
894 y FB(C)26 b(op)205 b Fs(C)27 b Fr( )21 b Fs(\013AB)766
863 y Fq(H)840 894 y FB(+)p 917 852 50 4 v 17 w Fs(\013B)t(A)1086
863 y Fq(H)1160 894 y FB(+)c Fs(\014)t(C)50 989 y FB(F77)26
b(op)134 b Fs(C)477 958 y Fq(T)547 989 y Fr( )21 b Fs(\013)p
694 928 62 4 v(B)t(A)814 958 y Fq(T)880 989 y FB(+)p
957 947 50 4 v 17 w Fs(\013)p 1006 928 58 4 v(A)o(B)1125
958 y Fq(T)1191 989 y FB(+)c Fs(\014)t(C)1375 958 y Fq(T)1445
989 y FB(=)p 1526 947 50 4 v 21 w Fs(\013)p 1575 928
58 4 v(AB)1695 958 y Fq(T)1761 989 y FB(+)f Fs(\013)p
1886 928 62 4 v(B)t(A)2006 958 y Fq(T)2072 989 y FB(+)g
Fs(\014)t(C)2255 958 y Fq(T)50 1081 y FB(F77)26 b(call)101
b Fh(CHER2K\('L',)42 b('C',)e(n,)g(k,)p 1319 1039 50
4 v 39 w Fs(\013)q Fh(,)f(A,)h(lda,)g(B,)g(ldb,)g Fs(\014)t
Fh(,)f(C,)h(ldc\))50 1263 y FB(C)26 b(call)172 b Fh(cblas)p
617 1263 24 4 v 30 w(cher2k\(CblasRowMajor,)44 b(CblasUpper,)d
(CblasConjTrans,)i(n,)d(k,)f Fs(\013)p Fh(,)h(A,)g(lda,)g(B,)f(ldb,)i
Fs(\014)t Fh(,)e(C,)h(ldc\))50 1357 y FB(C)26 b(op)205
b Fs(C)27 b Fr( )21 b Fs(\013A)704 1325 y Fq(H)761 1357
y Fs(B)g FB(+)p 917 1314 50 4 v 17 w Fs(\013B)1028 1325
y Fq(H)1086 1357 y Fs(A)16 b FB(+)h Fs(\014)t(C)50 1452
y FB(F77)26 b(op)134 b Fs(C)477 1420 y Fq(T)547 1452
y Fr( )21 b Fs(\013B)756 1420 y Fq(T)p 805 1391 58 4
v 805 1452 a Fs(A)c FB(+)p 957 1409 50 4 v 17 w Fs(\013A)1064
1420 y Fq(T)p 1112 1391 62 4 v 1112 1452 a Fs(B)k FB(+)c
Fs(\014)t(C)1375 1420 y Fq(T)1445 1452 y FB(=)p 1526
1409 50 4 v 21 w Fs(\013A)1633 1420 y Fq(T)p 1682 1391
62 4 v 1682 1452 a Fs(B)k FB(+)16 b Fs(\013B)1948 1420
y Fq(T)p 1997 1391 58 4 v 1997 1452 a Fs(A)h FB(+)f Fs(\014)t(C)2255
1420 y Fq(T)50 1543 y FB(F77)26 b(call)101 b Fh(CHER2K\('L',)42
b('N',)e(n,)g(k,)p 1319 1501 50 4 v 39 w Fs(\013)q Fh(,)f(A,)h(lda,)g
(B,)g(ldb,)g Fs(\014)t Fh(,)f(C,)h(ldc\))0 1910 y Fv(TRMM/TRSM)0
2082 y FK(Because)29 b(of)e(their)g(iden)m(tical)f(use)h(of)g(the)h
FD(SIDE)p FK(,)e FD(UPLO)p FK(,)g(and)h FD(TRANSA)f FK(parameters,)i
(TRMM)g(and)f(TRSM)f(share)0 2195 y(the)32 b(same)g(general)g
(analysis.)43 b(Remem)m(b)s(er)31 b(that)h(A)g(is)f(a)h(triangular)e
(matrix,)h(and)g(th)m(us)h(when)e(w)m(e)i(handle)f(its)0
2307 y(storage)40 b(b)m(y)d(\015ipping)e FD(UPLO)p FK(,)i(w)m(e)i
(implicitly)34 b(c)m(hange)39 b(its)f FD(TRANS)e FK(setting)i(as)h(w)m
(ell.)62 b(With)38 b(this)f(in)f(mind,)i(w)m(e)0 2420
y(ha)m(v)m(e:)50 2493 y FB(C)26 b(call)172 b Fh(cblas)p
617 2493 24 4 v 30 w(ctrmm\(CblasRowMajor,)43 b(CblasLeft,)f
(CblasUpper,)g(CblasNoTrans,)g(diag,)e(m,)g(n,)f Fs(\013)p
Fh(,)h(A,)g(lda,)g(B,)g(ldb\))50 2584 y FB(C)26 b(op)205
b Fs(B)25 b Fr( )c Fs(\013AB)50 2677 y FB(F77)26 b(op)134
b Fs(B)479 2645 y Fq(T)549 2677 y Fr( )21 b Fs(\013B)758
2645 y Fq(T)807 2677 y Fs(A)865 2645 y Fq(T)50 2768 y
FB(F77)26 b(call)101 b Fh(CTRMM\('R',)42 b('L',)e('N',)g(diag,)g(n,)g
(m,)g Fs(\013)p Fh(,)f(A,)h(lda,)g(B,)g(ldb\))50 2951
y FB(C)26 b(call)172 b Fh(cblas)p 617 2951 V 30 w
(ctrmm\(CblasRowMajor,)43 b(CblasLeft,)f(CblasUpper,)g(CblasTrans,)f
(diag,)g(m,)e(n,)h Fs(\013)p Fh(,)g(A,)f(lda,)i(B,)e(ldb\))50
3044 y FB(C)26 b(op)205 b Fs(B)25 b Fr( )c Fs(\013A)705
3013 y Fq(T)754 3044 y Fs(B)50 3137 y FB(F77)26 b(op)134
b Fs(B)479 3106 y Fq(T)549 3137 y Fr( )21 b Fs(\013B)758
3106 y Fq(T)807 3137 y Fs(A)50 3229 y FB(F77)26 b(call)101
b Fh(CTRMM\('R',)42 b('L',)e('T',)g(diag,)g(n,)g(m,)g
Fs(\013)p Fh(,)f(A,)h(lda,)g(B,)g(ldb\))50 3411 y FB(C)26
b(call)172 b Fh(cblas)p 617 3411 V 30 w(ctrmm\(CblasRowMajor,)43
b(CblasLeft,)f(CblasUpper,)g(CblasConjTrans,)g(diag,)f(m,)e(n,)h
Fs(\013)p Fh(,)g(A,)f(lda,)h(B,)g(ldb\))50 3505 y FB(C)26
b(op)205 b Fs(B)25 b Fr( )c Fs(\013A)705 3473 y Fq(H)763
3505 y Fs(B)50 3600 y FB(F77)26 b(op)134 b Fs(B)479 3568
y Fq(T)549 3600 y Fr( )21 b Fs(\013B)758 3568 y Fq(T)p
807 3539 58 4 v 807 3600 a Fs(A)50 3691 y FB(F77)26 b(call)101
b Fh(CTRMM\('R',)42 b('L',)e('C',)g(diag,)g(n,)g(m,)g
Fs(\013)p Fh(,)f(A,)h(lda,)g(B,)g(ldb\))0 4058 y Fv(Banded)30
b(routines)0 4230 y FK(The)k(ab)s(o)m(v)m(e)h(tec)m(hniques)e(can)i(b)s
(e)e(used)g(for)h(the)g(banded)f(routines)g(only)g(if)g(a)i(C)e(\(ro)m
(w-ma)5 b(jor\))36 b(banded)c(arra)m(y)0 4343 y(has)g(some)h(sort)f(of)
h(meaning)e(when)g(expanded)h(as)g(a)h(F)-8 b(ortran)33
b(banded)e(arra)m(y)-8 b(.)47 b(It)32 b(turns)f(out)i(that)g(when)e
(this)0 4456 y(is)e(done,)i(y)m(ou)g(get)g(the)g(transp)s(ose)e(of)i
(the)g(C)f(arra)m(y)-8 b(,)31 b(just)f(as)g(in)g(the)g(dense)g(case.)
141 4568 y(In)40 b(F)-8 b(ortran)41 b(77,)j(the)c(banded)f(arra)m(y)i
(is)f(an)g(arra)m(y)h(whose)f(ro)m(ws)g(corresp)s(ond)f(to)i(the)g
(diagonals)e(of)i(the)0 4681 y(matrix,)35 b(and)e(whose)h(columns)f
(con)m(tain)i(the)f(selected)h(p)s(ortion)e(of)h(the)h(matrix)e
(column.)52 b(T)-8 b(o)34 b(rephrase)g(this,)0 4794 y(the)c(diagonals)e
(of)i(the)g(matrix)f(are)h(stored)f(in)g(strided)f(storage,)j(and)e
(the)h(relev)-5 b(an)m(t)30 b(pieces)f(of)h(the)g(columns)e(of)0
4907 y(the)j(matrix)e(are)i(stored)g(in)e(con)m(tiguous)i(memory)-8
b(.)41 b(This)28 b(mak)m(es)k(sense:)41 b(in)29 b(a)i(column-based)e
(algorithm,)h(y)m(ou)0 5020 y(will)e(w)m(an)m(t)j(y)m(our)f(columns)f
(to)i(b)s(e)f(con)m(tiguous)h(for)f(e\016ciency)g(reasons.)141
5133 y(In)36 b(order)h(to)h(ensure)e(our)h(columns)e(are)j(con)m
(tiguous,)h(w)m(e)f(will)c(structure)j(the)g(banded)f(arra)m(y)h(as)h
(sho)m(wn)0 5246 y(b)s(elo)m(w.)51 b(Notice)35 b(that)f(the)h(\014rst)e
Fy(K)1222 5260 y Fw(U)1315 5246 y FK(ro)m(ws)h(of)g(the)h(arra)m(y)f
(store)h(the)f(sup)s(erdiagonals,)f(appropriately)f(spaced)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 194 204
194 203 bop 0 -165 a FK(194)2590 b FA(ANNEX)31 b(B.)61
b(LEGA)m(CY)31 b(BLAS)0 91 y FK(to)f(line)e(up)g(correctly)i(in)e(the)h
(column)g(direction)f(with)g(the)h(main)f(diagonal.)40
b(The)29 b(last)g Fy(K)3163 105 y Fw(L)3245 91 y FK(ro)m(ws)g(con)m
(tain)h(the)0 204 y(sub)s(diagonals.)334 417 y FD(------)94
b(Super)46 b(diagonal)g(KU)95 530 y(-----------)93 b(Super)46
b(diagonal)g(2)48 643 y(------------)92 b(Super)46 b(diagonal)g(1)0
756 y(-------------)92 b(main)47 b(diagonal)e(\(D\))0
868 y(------------)140 b(Sub)47 b(diagonal)e(1)0 981
y(-----------)188 b(Sub)47 b(diagonal)e(2)0 1094 y(------)428
b(Sub)47 b(diagonal)e(KL)141 1307 y FK(If)31 b(w)m(e)i(ha)m(v)m(e)f(a)h
(ro)m(w-ma)5 b(jor)32 b(storage,)i(and)d(th)m(us)g(a)h(ro)m(w-orien)m
(ted)g(algorithm,)f(w)m(e)i(will)c(similarly)f(w)m(an)m(t)k(our)0
1420 y(ro)m(ws)38 b(to)g(b)s(e)f(con)m(tiguous)h(in)e(order)h(to)h
(ensure)f(e\016ciency)-8 b(.)63 b(The)37 b(storage)i(sc)m(heme)f(that)g
(is)f(th)m(us)g(dictated)h(is)0 1533 y(sho)m(wn)d(b)s(elo)m(w.)57
b(Notice)37 b(that)f(the)g(\014rst)g Fy(K)1517 1547 y
Fw(L)1605 1533 y FK(columns)e(store)j(the)f(sub)s(diagonals,)f
(appropriately)f(padded)h(to)0 1645 y(line)29 b(up)g(with)g(the)i(main)
e(diagonal)h(along)g(ro)m(ws.)48 1858 y FD(KL)142 b(D)h(KU)286
1971 y(|)48 b(|)f(|)h(|)191 2084 y(|)f(|)h(|)f(|)h(|)95
2197 y(|)g(|)f(|)h(|)f(|)h(|)0 2310 y(|)f(|)h(|)f(|)h(|)f(|)0
2423 y(|)g(|)h(|)f(|)h(|)0 2535 y(|)f(|)h(|)f(|)141 2748
y FK(No)m(w,)35 b(let)f(us)e(con)m(trast)j(these)f(t)m(w)m(o)h(storage)
g(sc)m(hemes.)50 b(Both)35 b(store)f(the)f(diagonals)g(of)g(the)h
(matrix)f(along)0 2861 y(the)k(non-con)m(tiguous)f(dimension)e(of)j
(the)f(matrix.)59 b(The)36 b(column-ma)5 b(jor)36 b(banded)f(arra)m(y)i
(stores)g(the)g(matrix)0 2974 y(columns)d(along)i(the)f(con)m(tiguous)h
(dimension,)e(whereas)h(the)h(ro)m(w-ma)5 b(jor)36 b(banded)e(arra)m(y)
i(stores)g(the)g(matrix)0 3087 y(ro)m(ws)30 b(along)h(the)f(con)m
(tiguous)h(storage.)141 3200 y(This)f(giv)m(es)i(us)f(our)g(\014rst)g
(hin)m(t)g(as)h(to)g(what)f(to)i(do:)43 b(ro)m(ws)32
b(stored)f(where)h(columns)e(should)g(b)s(e,)h(indicated,)0
3313 y(in)j(the)i(dense)f(routines,)h(that)g(w)m(e)g(needed)g(to)g(set)
g(a)g(transp)s(ose)f(parameter.)57 b(W)-8 b(e)37 b(will)c(see)j(that)g
(w)m(e)g(can)g(do)0 3425 y(this)29 b(for)h(the)h(banded)e(routines)g
(as)i(w)m(ell.)141 3538 y(W)-8 b(e)26 b(can)e(further)f(note)i(that)g
(in)e(the)i(column-ma)5 b(jor)23 b(banded)g(arra)m(y)-8
b(,)27 b(the)d(\014rst)g(part)g(of)h(the)f(non-con)m(tiguous)0
3651 y(dimension)33 b(\(i.e.)57 b(the)36 b(\014rst)f(ro)m(ws\))h(store)
g(sup)s(erdiagonals,)f(whereas)g(the)h(\014rst)f(part)g(of)h(the)g
(non-con)m(tiguous)0 3764 y(dimension)28 b(of)i(ro)m(w-ma)5
b(jor)31 b(arra)m(ys)g(\(i.e.,)g(the)g(\014rst)e(columns\))h(store)h
(the)f(sub)s(diagonals.)141 3877 y(W)-8 b(e)33 b(no)m(w)f(note)g(that)h
(when)d(y)m(ou)i(transp)s(ose)g(a)g(matrix,)f(the)h(sup)s(erdiagonals)e
(of)i(the)g(matrix)f(b)s(ecome)h(the)0 3990 y(sub)s(diagonals)c(of)i
(the)h(matrix)f(transp)s(ose)g(\(and)g(vice)g(v)m(ersa\).)141
4103 y(Along)h(the)h(con)m(tiguous)g(dimension,)e(w)m(e)i(note)g(that)g
(w)m(e)g(skip)e Fy(K)2415 4117 y Fw(U)2506 4103 y FK(elemen)m(ts)i(b)s
(efore)f(coming)g(to)i(our)e(\014rst)0 4216 y(en)m(try)g(in)e(a)i
(column-ma)5 b(jor)30 b(banded)g(arra)m(y)-8 b(.)42 b(The)31
b(same)g(happ)s(ens)e(in)g(our)h(ro)m(w-ma)5 b(jor)31
b(banded)f(arra)m(y)-8 b(,)32 b(except)0 4329 y(that)f(the)g(skipping)c
(factor)32 b(is)d Fy(K)1144 4343 y Fw(L)1196 4329 y FK(.)141
4442 y(All)j(this)g(leads)h(to)g(the)h(idea)f(that)g(when)f(w)m(e)i(ha)
m(v)m(e)h(a)e(ro)m(w-ma)5 b(jor)34 b(banded)e(arra)m(y)-8
b(,)35 b(w)m(e)e(can)h(consider)e(it)h(as)0 4555 y(a)f(transp)s(ose)g
(of)g(the)g(F)-8 b(ortran)32 b(77)h(column-ma)5 b(jor)31
b(banded)g(arra)m(y)-8 b(,)33 b(where)f(w)m(e)g(will)d(sw)m(ap)j(not)g
(only)f Fy(m)h FK(and)f Fy(n)p FK(,)0 4667 y(but)f(also)h
Fy(K)427 4681 y Fw(U)517 4667 y FK(and)f Fy(K)771 4681
y Fw(L)823 4667 y FK(.)42 b(An)30 b(example)h(should)e(help)g
(demonstrate)i(this)f(principle.)39 b(Let)31 b(us)f(sa)m(y)h(w)m(e)h
(ha)m(v)m(e)g(the)0 4841 y(matrix)e Fy(A)25 b FK(=)485
4697 y Ft(")575 4784 y FK(1)84 b(3)f(5)g(7)575 4897 y(2)h(4)f(6)g(8)
1047 4697 y Ft(#)141 5019 y FK(If)48 b(w)m(e)g(express)g(this)f(en)m
(tire)h(arra)m(y)h(in)e(banded)f(form)i(\(a)h(fairly)d(dum)m(b)h(thing)
g(to)i(do,)k(but)47 b(go)s(o)s(d)h(for)0 5132 y(example)h(purp)s
(oses\),)k(w)m(e)c(get)i Fy(K)1237 5146 y Fw(U)1353 5132
y FK(=)56 b(3,)f Fy(K)1682 5146 y Fw(L)1791 5132 y FK(=)h(1.)98
b(In)49 b(ro)m(w-ma)5 b(jor)49 b(banded)f(storage)j(this)d(b)s(ecomes:)
0 5310 y Fy(C)65 5325 y Fw(b)125 5310 y FK(=)221 5166
y Ft(")310 5254 y Fy(X)91 b FK(1)83 b(3)h(5)120 b(7)347
5367 y(2)84 b(4)f(6)h(8)f Fy(X)985 5166 y Ft(#)4084 64
y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 195 205
195 204 bop 0 -165 a FA(B.2.)72 b(C)30 b(INTERF)-10 b(A)m(CE)30
b(TO)g(THE)g(LEGA)m(CY)h(BLAS)1816 b FK(195)141 91 y(So,)37
b(w)m(e)e(b)s(eliev)m(e)g(this)f(should)f(b)s(e)i(the)g(transp)s(ose)g
(if)f(in)m(terpreted)h(as)g(a)h(F)-8 b(ortran)36 b(77)g(banded)e(arra)m
(y)-8 b(.)56 b(The)0 204 y(matrix)30 b(transp)s(ose,)g(and)g(its)f(F)-8
b(ortran)31 b(77)h(banded)d(storage)j(is)d(sho)m(wn)h(b)s(elo)m(w:)141
535 y Fy(A)209 502 y Fw(T)290 535 y FK(=)386 292 y Ft(2)386
438 y(6)386 488 y(6)386 537 y(6)386 591 y(4)482 366 y
FK(1)84 b(2)482 479 y(3)g(4)482 592 y(5)g(6)482 704 y(7)g(8)698
292 y Ft(3)698 438 y(7)698 488 y(7)698 537 y(7)698 591
y(5)778 535 y FJ(\))26 b Fy(F)953 550 y Fw(b)1013 535
y FK(=)1109 242 y Ft(2)1109 388 y(6)1109 438 y(6)1109
488 y(6)1109 537 y(6)1109 587 y(6)1109 640 y(4)1206 309
y Fy(X)127 b FK(2)1242 422 y(1)121 b(4)1242 535 y(3)g(6)1242
648 y(5)g(8)1242 761 y(7)84 b Fy(X)1495 242 y Ft(3)1495
388 y(7)1495 438 y(7)1495 488 y(7)1495 537 y(7)1495 587
y(7)1495 640 y(5)141 866 y FK(No)m(w)31 b(w)m(e)f(simply)d(note)k(that)
f(since)f Fy(C)1456 881 y Fw(b)1520 866 y FK(is)g(ro)m(w)h(ma)5
b(jor,)30 b(and)f Fy(F)2309 881 y Fw(b)2374 866 y FK(is)g(column-ma)5
b(jor,)29 b(they)h(are)g(actually)g(the)0 979 y(same)h(arra)m(y)g(in)e
(memory)-8 b(.)141 1092 y(With)44 b(the)h(idea)f(that)h(ro)m(w-ma)5
b(jor)45 b(banded)e(matrices)h(pro)s(duce)f(the)i(transp)s(ose)f(of)h
(the)f(matrix)g(when)0 1205 y(in)m(terpreted)29 b(as)h(column-ma)5
b(jor)29 b(banded)g(matrices,)h(w)m(e)g(can)g(use)g(the)g(same)g
(analysis)e(for)i(the)g(banded)e(BLAS)0 1318 y(as)j(w)m(e)f(used)g(for)
g(the)h(dense)f(BLAS,)g(noting)g(that)h(w)m(e)g(m)m(ust)f(also)g(alw)m
(a)m(ys)h(sw)m(ap)g Fy(K)2907 1332 y Fw(U)2996 1318 y
FK(and)f Fy(K)3250 1332 y Fw(L)3302 1318 y FK(.)0 1558
y Fv(P)m(ack)m(ed)i(routines)0 1730 y FK(P)m(ac)m(k)m(ed)26
b(routines)e(are)h(m)m(uc)m(h)f(simpler)e(than)j(banded.)37
b(Here)25 b(w)m(e)g(ha)m(v)m(e)h(a)f(triangular,)f(symmetric)g(or)g
(Hermitian)0 1842 y(matrix)32 b(whic)m(h)f(is)g(pac)m(k)m(ed)j(so)e
(that)h(only)f(the)g(relev)-5 b(an)m(t)33 b(triangle)f(is)f(stored.)47
b(Th)m(us)31 b(if)g(w)m(e)i(ha)m(v)m(e)h(an)e(upp)s(er)e(tri-)0
1955 y(angular)d(matrix)g(stored)g(in)g(column-ma)5 b(jor)26
b(pac)m(k)m(ed)j(storage,)h(the)e(\014rst)f(elemen)m(t)h(holds)e(the)h
(relev)-5 b(an)m(t)28 b(p)s(ortion)0 2068 y(of)36 b(the)h(\014rst)e
(column)h(of)g(the)g(matrix,)i(the)e(next)h(t)m(w)m(o)g(elemen)m(ts)g
(hold)e(the)h(relev)-5 b(an)m(t)37 b(p)s(ortion)e(of)h(the)h(second)0
2181 y(column,)29 b(etc.)141 2294 y(With)e(an)g(upp)s(er)e(triangular)h
(matrix)g(stored)i(in)e(ro)m(w-ma)5 b(jor)28 b(pac)m(k)m(ed)g(storage,)
i(the)d(\014rst)g Fy(N)37 b FK(elemen)m(ts)27 b(hold)0
2407 y(the)k(\014rst)e(ro)m(w)i(of)f(the)h(matrix,)f(the)g(next)h
Fy(N)f FJ(\000)20 b FK(1)31 b(elemen)m(ts)f(hold)f(the)i(next)g(ro)m
(w,)f(etc.)141 2520 y(Th)m(us)h(w)m(e)h(see)g(in)e(the)h(Hermitian)g
(and)f(symmetric)h(cases,)i(to)f(get)h(a)f(ro)m(w-ma)5
b(jor)32 b(pac)m(k)m(ed)h(arra)m(y)f(correctly)0 2633
y(in)m(terpreted)d(b)m(y)h(F)-8 b(ortran)31 b(77,)g(w)m(e)f(will)d
(simply)h(switc)m(h)h(the)h(setting)g(of)g FD(UPLO)p
FK(.)f(This)f(will)f(mean)j(that)h(the)f(ro)m(ws)0 2746
y(of)36 b(the)h(matrix)e(will)f(b)s(e)i(read)g(in)f(as)h(the)h
(columns,)f(but)g(this)f(is)g(not)i(a)g(problem,)f(as)g(w)m(e)h(ha)m(v)
m(e)h(seen)e(b)s(efore.)0 2859 y(In)c(the)h(symmetric)f(case,)i(since)e
Fy(A)d FK(=)g Fy(A)1430 2826 y Fw(T)1518 2859 y FK(the)k(column)e(and)h
(ro)m(ws)h(are)g(the)g(same,)g(so)g(there)g(is)f(ob)m(viously)f(no)0
2972 y(problem.)39 b(In)28 b(the)i(Hermitian)e(case,)j(w)m(e)f(m)m(ust)
f(b)s(e)g(sure)g(that)h(the)f(imaginary)f(comp)s(onen)m(t)i(of)g(the)f
(diagonal)g(is)0 3084 y(not)k(used,)g(and)f(it)h(assumed)f(to)h(b)s(e)g
(zero.)49 b(Ho)m(w)m(ev)m(er,)35 b(the)e(diagonal)f(elemen)m(t)i(in)d
(a)j(ro)m(w)f(when)e(our)i(matrix)f(is)0 3197 y(upp)s(er)27
b(will)f(corresp)s(ond)h(to)j(the)f(diagonal)f(elemen)m(t)h(in)e(a)i
(column)f(when)g(our)g(matrix)g(is)g(called)g(lo)m(w)m(er,)h(so)g(this)
0 3310 y(is)g(handled)g(as)h(w)m(ell.)141 3423 y(In)42
b(the)g(triangular)e(cases,)47 b(w)m(e)42 b(will)e(need)h(to)i(c)m
(hange)h(b)s(oth)d FD(UPLO)g FK(and)g FD(TRANS)p FK(,)g(just)h(as)g(in)
f(the)h(dense)0 3536 y(routines.)141 3649 y(With)23 b(these)h(ideas)f
(in)g(mind,)g(the)h(analysis)e(for)h(the)h(dense)f(routines)g(ma)m(y)h
(b)s(e)f(used)g(unc)m(hanged)g(for)h(pac)m(k)m(ed.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 196 206
196 205 bop 0 714 a FF(Annex)65 b(C)0 1129 y FH(Journal)77
b(of)h(Dev)-6 b(elopmen)g(t)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 197 207
197 206 bop 0 -165 a FA(C.1.)95 b(ENVIR)m(ONMENT)-8 b(AL)21
b(R)m(OUTINE)f(F)m(OR)h(EFFECTIVE)e(USE)h(OF)g(CA)m(CHE,)h(PIPELINING)f
(AND)h(REGISTERS)p FK(197)0 91 y FE(C.1)148 b(Environmental)29
b(Routine)j(fo)m(r)f(E\013ective)g(use)h(of)g(Cache,)h(Pip)s(elining)d
(and)j(Registers)0 298 y Fx(C.1.1)98 b(Intro)s(duction)0
469 y FK(It)44 b(is)g(w)m(ell)f(kno)m(wn)h(that)g(e\013ectiv)m(e)i(use)
e(of)h(cac)m(he)h(and)d(registers)h(can)h(mak)m(e)g(a)g(substan)m(tial)
e(di\013erence)g(in)0 582 y(the)35 b(p)s(erformance)g(of)g(co)s(des)h
(written)e(to)i(do)f(the)g(core)h(algorithms)e(of)i(linear)d(algebra.)
55 b(Existing)34 b(computer)0 695 y(languages)27 b(could)g(mak)m(e)h
(it)f(p)s(ossible)d(to)k(write)f(p)s(ortable)f(co)s(de)h(without)f
(losing)g(e\016ciency)i(b)m(y)f(pro)m(viding)e(a)i(set)0
808 y(of)35 b(functions)e(to)i(prob)s(e)f(the)h(system)f(parameters.)54
b(A)35 b(user)f(w)m(ould)f(then)i(construct)g(a)g(program)f(to)h(use)g
(the)0 921 y(parameters)30 b(to)g(dev)m(elop)f(an)h(optimal)e(implemen)
m(tation)g(on)h(the)h(target)h(computer.)40 b(With)29
b(man)m(y)h(optimizing)0 1034 y(compilers,)e(a)h(prepro)s(cessor)f
(could)g(b)s(e)g(used)g(to)h(get)h(m)m(uc)m(h)f(of)g(these)g(b)s
(ene\014ts.)39 b(It)29 b(w)m(ould)f(not)h(b)s(e)f(exp)s(ected)h(to)0
1147 y(do)i(as)g(go)s(o)s(d)g(a)g(job,)g(and)f(w)m(ould)g(still)f
(require)g(some)i(selection)g(of)g(parameters)g(for)g(eac)m(h)h(new)e
(mac)m(hine.)42 b(The)0 1260 y(ideas)32 b(apply)f(to)i(PC's,)g(w)m
(orkstations,)g(and)f(to)h(the)g(co)s(de)g(running)c(on)k(a)g(single)e
(no)s(de)g(of)i(most)g(new)f(parallel)0 1372 y(mac)m(hines.)141
1485 y(Computers)i(ha)m(v)m(e)i(b)s(een)f(ev)m(olving)f(in)g(suc)m(h)h
(a)g(w)m(a)m(y)h(that)f(arithmetic)g(sp)s(eeds)f(far)g(exceed)i(the)g
(rate)f(with)0 1598 y(whic)m(h)28 b(op)s(erands)h(from)g(the)g(main)g
(memory)g(can)h(b)s(e)f(obtained)g(for)g(pro)s(cessing.)39
b(Because)31 b(it)e(is)g(cost)h(e\013ectiv)m(e)0 1711
y(to)g(do)f(so,)h(man)m(y)f(new)g(parallel)e(mac)m(hines)h(are)i(using)
e(micropro)s(cessors)g(for)h(whic)m(h)e(this)h(is)h(the)g(case.)41
b(Since)28 b(it)0 1824 y(is)33 b(frequen)m(tly)h(the)h(case)g(that)g
(when)e(something)h(is)g(used,)g(it)g(is)g(going)g(to)h(b)s(e)f(used)g
(again)g(reasonably)g(so)s(on,)0 1937 y(systems)25 b(are)g(designed)e
(to)i(use)g(one)g(or)f(more)h(lev)m(els)f(of)h(cac)m(he,)j(\(i.e.)39
b(fast)25 b(memory\))f(where)g(data)i(used)e(recen)m(tly)0
2050 y(can)j(b)s(e)f(reused)g(more)h(quic)m(kly)-8 b(.)39
b(This)25 b(approac)m(h)i(w)m(orks)g(quite)f(w)m(ell)g(for)g(most)h
(users,)g(but)f(when)g(w)m(orking)g(with)0 2163 y(large)32
b(dense)f(matrices,)h(data)g(is)e(nev)m(er)i(in)e(the)i(cac)m(he)h
(when)d(needed.)44 b(This)30 b(can)i(easily)e(cost)j(a)f(factor)g(of)g
(t)m(w)m(o)0 2276 y(or)e(three)h(in)e(p)s(erformance)h(and)f(in)h(man)m
(y)g(cases)h(signi\014can)m(tly)e(more.)141 2389 y(W)-8
b(e)32 b(regard)e(a)h(computer's)g(registers)f(as)h(a)g(sp)s(ecial)e
(case)i(of)g(a)g(v)m(ery)g(small)e(cac)m(he,)j(since)e(op)s(erations)g
(done)0 2502 y(on)g(registers)h(pro)s(ceed)f(more)h(quic)m(kly)e(than)h
(those)h(using)e(an)i(op)s(erand)e(that)i(is)f(in)f(the)i(fastest)g
(cac)m(he.)43 b(\(RISC)0 2614 y(arc)m(hitectures)32 b(require)e(that)i
(op)s(erands)e(b)s(e)h(in)f(the)i(registers.\))44 b(But)32
b(the)f(di\013erences)g(b)s(et)m(w)m(een)h(registers)g(and)0
2727 y(cac)m(he)g(memory)e(require)f(that)i(di\013eren)m(t)f(mec)m
(hanisms)g(b)s(e)f(de\014ned)g(to)j(mak)m(e)f(most)g(e\013ectiv)m(e)h
(use)e(of)g(b)s(oth.)141 2840 y(A)m(t)d(ev)m(ery)h(lev)m(el)e(of)g(cac)
m(he)i(\(including)23 b(the)k(registers\),)g(one)g(w)m(an)m(ts)g(to)g
(do)f(as)h(m)m(uc)m(h)f(computing)g(as)g(p)s(ossible)0
2953 y(b)s(efore)h(the)h(data)h(in)d(the)i(cac)m(he)i(is)c(\015ushed)g
(for)i(other)g(data)g(references.)40 b(There)28 b(is)f(great)h(scop)s
(e)g(for)g(clev)m(erness)0 3066 y(here)k(in)f(the)h(design)f(of)i
(algorithms.)44 b(Since)32 b(matrix)f(m)m(ultiplication)e(is)i(simple)f
(to)j(understand)e(w)m(e)h(use)g(it)g(as)0 3179 y(an)e(example)g(to)h
(clarify)e(ho)m(w)i(the)f(ideas)g(presen)m(ted)h(here)f(migh)m(t)g(b)s
(e)g(used.)141 3292 y(W)-8 b(e)41 b(b)s(eliev)m(e)d(that)i(with)e(the)h
(kind)f(of)h(features)h(describ)s(ed)d(here,)42 b(it)d(w)m(ould)f(not)h
(b)s(e)g(di\016cult)e(for)i(those)0 3405 y(who)c(kno)m(w)g(ab)s(out)g
(suc)m(h)f(things)g(to)i(write)e(compilers)g(that)i(w)m(ould)d(mak)m(e)
k(it)d(p)s(ossible)f(for)i(those)g(who)g(kno)m(w)0 3518
y(ab)s(out)29 b(suc)m(h)h(things)e(to)i(write)f(p)s(ortable)g(co)s(de)g
(with)g(no)g(signi\014can)m(t)g(loss)g(of)g(e\016ciency)-8
b(.)41 b(In)29 b(addition)f(it)h(w)m(ould)0 3631 y(b)s(e)39
b(p)s(ossible)f(to)j(write)e(applications)g(that)h(can)h(tak)m(e)h(adv)
-5 b(an)m(tage)42 b(of)e(these)h(parameters)f(and)f(enhance)i(the)0
3744 y(p)s(erformance)30 b(on)g(a)h(wide)e(range)i(of)f(applications.)
141 3857 y(The)39 b(most)h(notable)f(e\013ort)i(to)f(deal)f(with)f
(these)i(problems)e(is)g(the)i(Lev)m(el)g(3)g(BLAS,[24)q(])g(\(it)f
(should)f(b)s(e)0 3969 y(noted)33 b(that)h(w)m(e)g(mak)m(e)g(no)f
(pretense)g(to)h(discussing)d(all)h(the)i(factors)g(that)f(ma)m(y)h(b)s
(e)f(imp)s(ortan)m(t)f(to)i(obtaining)0 4082 y(high)29
b(p)s(erformance)h(on)g(mo)s(dern)f(pro)s(cessors.)0
4325 y Fx(C.1.2)98 b(Language)31 b(Extensions)j(fo)m(r)e(the)h(Cache)0
4497 y FK(The)d(cac)m(he)i(system)e(of)h(a)g(computer)f(can)h(b)s(e)e
(c)m(haracterized)j(b)m(y)e(the)h(follo)m(wing:)141 4610
y(W)-8 b(e)41 b(exp)s(ect)g Fy(\033)657 4624 y Fw(L)750
4610 y Fy(>)g(\033)914 4624 y Fw(L)p Fu(\000)p FC(1)1097
4610 y FK(and)e Fy(\034)1323 4624 y Fw(L)1416 4610 y
Fy(>)i(\034)1568 4624 y Fw(L)p Fu(\000)p FC(1)1710 4610
y FK(,)i Fy(L)e FK(=)g(1)p Fy(;)15 b FK(2)p Fy(;)g(:)g(:)g(:)j(;)d(k)s
(ache)p FK(,)44 b(where)c(w)m(e)g(adopt)h(the)f(con)m(v)m(en)m(tion)0
4723 y(that)30 b Fy(L)258 4737 y FC(0)328 4723 y FK(corresp)s(onds)e
(to)j(these)f(v)-5 b(alues)29 b(for)h(the)g(registers.)40
b(W)-8 b(e)31 b(de\014ne)e Fy(\033)2599 4738 y Fw(k)r(ache)2813
4723 y FK(to)i(b)s(e)e(the)h(largest)g(amoun)m(t)h(of)0
4835 y(memory)j(a)m(v)-5 b(ailable,)36 b(whic)m(h)d(in)g(the)i(case)g
(of)g(virtual)e(memory)h(includes)e(disk)h(space.)54
b(W)-8 b(e)35 b(mak)m(e)h(no)e(further)0 4948 y(reference)d(to)g(the)f
Fy(\034)10 b FK('s,)31 b(although)f(there)h(are)f(certainly)g(cases)h
(when)e(suc)m(h)i(information)d(migh)m(t)i(b)s(e)g(of)h(use.)141
5061 y(In)40 b(the)h(case)g(of)g(F)-8 b(ortran,)44 b(these)d(v)-5
b(alues)40 b(could)g(b)s(e)g(pro)m(vided)f(b)m(y)h(en)m(vironmen)m(tal)
g(in)m(trinsic)e(functions,)0 5174 y(whic)m(h)j(tak)m(e)j(an)e(argumen)
m(t)g(of)g(the)h(t)m(yp)s(e)f(for)g(whic)m(h)f(space)i(is)e(desired.)74
b(In)42 b(the)g(case)h(of)f(C,)g(these)h(could)0 5287
y(b)s(e)c(pro)m(vided)f(as)i(part)g(of)g(the)g(standard)f
Fz(math.h)i FK(header)f(\014le.)67 b(In)39 b(the)h(case)h(of)f
(compilers)e(b)s(eing)g(used)h(in)0 5400 y(en)m(vironmen)m(ts)27
b(with)f(di\013eren)m(t)h(cac)m(he)i(c)m(haracteristics,)g(it)e(w)m
(ould)g(b)s(e)g(useful)f(to)i(ha)m(v)m(e)h(some)f(means)f(to)h(sp)s
(ecify)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 198 208
198 207 bop 0 -165 a FK(198)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)p 564 3 2772 4 v 562
116 4 113 v 614 82 a FK(k)-5 b(ac)m(he)p 879 116 V 101
w(The)30 b(n)m(um)m(b)s(er)f(of)h(lev)m(els)g(in)f(the)i(cac)m(he)h
(arc)m(hitecture.)p 3334 116 V 564 120 2772 4 v 562 233
4 113 v 614 199 a Fy(\033)666 213 y Fw(L)p 879 233 V
931 199 a FK(The)e(size)g(of)g(the)h(L)1607 166 y Fw(th)1707
199 y FK(cac)m(he.)p 3334 233 V 564 236 2772 4 v 562
349 4 113 v 614 315 a Fy(\034)654 329 y Fw(L)p 879 349
V 931 315 a FK(The)f(access)h(time)f(to)i(get)f(data)g(from)f(the)h(L)
2492 282 y Fw(th)2592 315 y FK(cac)m(he)h(divided)c(b)m(y)p
3334 349 V 564 352 2772 4 v 562 465 4 113 v 879 465 V
931 431 a(the)i(time)h(to)g(cop)m(y)g(one)f(\015oating)h(p)s(oin)m(t)e
(register)h(to)h(another.)p 3334 465 V 564 468 2772 4
v 562 581 4 113 v 614 547 a Fy(w)679 561 y Fw(L)p 879
581 V 931 547 a FK(Num)m(b)s(er)e(of)i(consecutiv)m(e)g(items)f(that)h
(get)g(replaced)f(when)g(a)g(new)p 3334 581 V 564 585
2772 4 v 562 698 4 113 v 879 698 V 931 664 a(item)g(is)f(fetc)m(hed)i
(to)h(cac)m(he)g(L.)p 3334 698 V 564 701 2772 4 v 0 1058
a(this)g(information)g(in)g(a)i(con\014guration)f(\014le.)49
b(Finally)32 b(if)g(this)h(w)m(ere)h(done)f(using)f(a)i(prepro)s
(cessor,)f(one)h(w)m(ould)0 1171 y(pro)m(vide)29 b(the)i(information)e
(for)h(the)g(system)h(b)s(eing)e(used)g(to)j(the)e(prepro)s(cessor.)141
1284 y(Extensions)25 b(that)i(w)m(ould)d(allo)m(w)i(one)g(to)h(gain)e
(the)h(e\016ciency)g(using)f(the)h(BLAS)f(without)g(writing)f(mac)m
(hine)0 1397 y(sp)s(eci\014c)29 b(co)s(de.)0 1640 y Fx(C.1.3)98
b(F)m(o)m(r)33 b(E\016cient)h(LA)e(Soft)m(w)m(a)m(re)0
1812 y FK(There)d(are)h(at)g(least)g(t)m(w)m(o)h(things)d(that)i(migh)m
(t)f(b)s(e)g(done.)40 b(Pro)m(vide)29 b(information)f(through)h(an)g
(in)m(terface)h(ab)s(out)0 1925 y(the)e(cac)m(he)i(structure)e(of)g
(the)g(mac)m(hine,)h(n)m(um)m(b)s(er)d(of)j(cac)m(hes,)h(their)d
(sizes,)h(their)g(access)h(times,)f(the)h(size)e(of)i(the)0
2037 y(cac)m(he)37 b(line,)d(issues)g(connected)i(with)d(pip)s
(elining,)f(etc.)56 b(Allo)m(w)34 b(the)h(programmer)f(to)i(declare)f
(v)-5 b(ariables)34 b(and)0 2150 y(arra)m(ys)c(\(v)m(ery)g(small)f
(arra)m(ys,)h(but)f(still)e(arra)m(ys\))k(that)f(are)g(to)g(b)s(e)f(k)m
(ept)i(in)d(registers.)40 b(It)30 b(is)f(up)f(to)j(the)e(compiler)0
2263 y(to)c(pic)m(k)e(the)i(size)f(of)g(the)g(arra)m(ys,)i(and)e(to)g
(un)m(wind)e(lo)s(ops)h(that)i(refer)e(to)i(suc)m(h)f(\\register")h
(arra)m(ys.)39 b(The)23 b(compiler)0 2376 y(mak)m(es)28
b(a)m(v)-5 b(ailable)27 b(the)g(size)h(of)f(the)g(arra)m(ys)h(that)g
(it)f(selects)h(so)f(that)h(the)g(programmer)f(can)g(reference)h(them)f
(for)0 2489 y(purp)s(oses)i(of)h(writing)e(lo)s(ops,)i(or)g(for)h(an)m
(y)f(other)h(purp)s(ose.)0 2733 y Fx(C.1.4)98 b(Advantages)32
b(of)h(this)g(app)m(roach)0 2904 y FK(Co)s(de)39 b(need)g(only)f(b)s(e)
h(written)f(once,)k(no)e(dep)s(endence)e(on)h(computer)g(v)m(endors,)j
(or)d(when)f(a)i(mac)m(hine)f(\014rst)0 3017 y(comes)28
b(out)f(e\016cien)m(t)g(implemen)m(tations)e(of)i(imp)s(ortan)m(t)f
(soft)m(w)m(are)i(will)d(b)s(e)h(a)m(v)-5 b(ailable.)39
b(If)26 b(one)h(has)g(the)g(stomac)m(h)0 3130 y(for)33
b(it,)g(it)f(should)f(b)s(e)h(p)s(ossible)f(to)i(write)f(algorithms)g
(exactly)i(as)f(y)m(ou)g(w)m(ould)f(lik)m(e)g(to)h(ha)m(v)m(e)h(them.)
48 b(Th)m(us)32 b(for)0 3243 y(example,)d(one)h(do)s(esn't)e(ha)m(v)m
(e)j(to)e(organize)h(things)e(to)i(use)e(a)i(matrix)e(m)m
(ultiplication)e(if)i(that)i(is)e(not)h(the)h(most)0
3356 y(e\013ectiv)m(e)i(w)m(a)m(y)f(to)g(do)g(things.)0
3599 y Fx(C.1.5)98 b(Disadvantages)32 b(of)g(this)h(app)m(roach)0
3771 y FK(Co)s(de)22 b(is)f(signi\014can)m(tly)f(more)j(di\016cult)d
(to)j(write.)37 b(It)22 b(ma)m(y)h(require)e(some)h(co)s(op)s(eration)g
(from)g(compiler)f(v)m(endors.)0 3884 y(What)j(is)e(prop)s(osed)f(here)
i(can)g(b)s(e)f(done)h(b)m(y)g(a)g(prepro)s(cessor)f(if)g(one)h(can)h
(supply)c(it)i(with)g(the)h(cac)m(he)i(information)0
3997 y(\(probably)32 b(not)i(to)s(o)h(hard\))e(and)g(the)h(size)f(that)
h(w)m(ould)f(b)s(e)g(appropriate)g(for)g(the)h(register)g(arra)m(ys.)51
b(This)32 b(can)0 4110 y(b)s(e)e(determined)f(on)h(a)h(mac)m(hine)f(b)m
(y)g(mac)m(hine)g(basis)f(b)m(y)i(trying)e(a)i(few)f(p)s(ossibilities.)
p 573 4230 2754 4 v 571 4343 4 113 v 623 4309 a(Characterizing)g(a)h
(Cac)m(he)g(System)p 3325 4343 V 573 4346 2754 4 v 573
4363 V 571 4476 4 113 v 623 4442 a(The)f(n)m(um)m(b)s(er)f(of)i(lev)m
(els)f(in)f(the)h(cac)m(he)i(arc)m(hitecture.)p 3325
4476 V 573 4479 2754 4 v 571 4592 4 113 v 623 4558 a(The)e(size)g(of)h
(the)f(L)1299 4525 y Fw(th)1400 4558 y FK(cac)m(he.)p
3325 4592 V 573 4596 2754 4 v 571 4709 4 113 v 623 4675
a(The)g(access)i(time)e(to)h(get)g(data)h(from)d(the)i(L)2184
4642 y Fw(th)2284 4675 y FK(cac)m(he)h(divided)c(b)m(y)i(the)p
3325 4709 V 571 4821 V 623 4788 a(time)g(to)h(cop)m(y)h(one)e
(\015oating)g(p)s(oin)m(t)g(register)g(to)h(another.)p
3325 4821 V 573 4825 2754 4 v 571 4938 4 113 v 623 4904
a(Num)m(b)s(er)e(of)i(consecutiv)m(e)g(items)f(that)h(get)h(replaced)e
(when)f(a)i(new)f(item)g(is)p 3325 4938 V 571 5051 V
623 5017 a(fetc)m(hed)h(to)g(cac)m(he)h(L.)p 3325 5051
V 573 5054 2754 4 v 571 5167 4 113 v 623 5133 a(Cac)m(he)f(mapping:)40
b(set)30 b(asso)s(ciativ)m(ely)-8 b(,)31 b(direct)p 3325
5167 V 573 5170 2754 4 v 4084 64 a FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 199 209
199 208 bop 0 -165 a FA(C.1.)95 b(ENVIR)m(ONMENT)-8 b(AL)21
b(R)m(OUTINE)f(F)m(OR)h(EFFECTIVE)e(USE)h(OF)g(CA)m(CHE,)h(PIPELINING)f
(AND)h(REGISTERS)p FK(199)p 713 125 2474 4 v 711 237
4 113 v 763 204 a(Mac)m(hine)31 b(Characteristics)p 3185
237 V 713 241 2474 4 v 713 257 V 711 370 4 113 v 763
336 a(Num)m(b)s(er)e(of)i(\015oating)f(p)s(oin)m(t)f(registers)p
3185 370 V 713 374 2474 4 v 711 487 4 113 v 763 453 a(Num)m(b)s(er)g
(of)i(\015oating)f(p)s(oin)m(t)f(units)p 3185 487 V 713
490 2474 4 v 711 603 4 113 v 763 569 a(Num)m(b)s(er)g(of)i(cac)m(hes)p
3185 603 V 713 606 2474 4 v 711 719 4 113 v 763 685 a(Cac)m(he)g(size)p
3185 719 V 713 722 2474 4 v 711 835 4 113 v 763 801 a(T)m(yp)s(e)f(of)g
(cac)m(he)i(e.g.)42 b(2)31 b(w)m(a)m(y)g(set)g(asso)s(ciativ)m(e,)g
(least)g(recen)m(tly)g(used)p 3185 835 V 713 839 2474
4 v 711 951 4 113 v 763 918 a(Cac)m(he)g(line)e(size)p
3185 951 V 713 955 2474 4 v 711 1068 4 113 v 763 1034
a(Cycle)h(time)p 3185 1068 V 713 1071 2474 4 v 711 1184
4 113 v 763 1150 a(P)m(age)i(size)p 3185 1184 V 713 1187
2474 4 v 711 1300 4 113 v 763 1266 a(Size)e(of)g(TLB)h(\(translation)e
(lo)s(ok-aside)h(bu\013er\))p 3185 1300 V 713 1303 2474
4 v 711 1416 4 113 v 763 1383 a(Cycles)g(for)g(\015oating)g(p)s(oin)m
(t)g(op)s(erations,)g(add,)g(m)m(ultiply)-8 b(,)28 b(division)p
3185 1416 V 713 1420 2474 4 v 711 1533 4 113 v 763 1499
a(Num)m(b)s(er)h(of)i(pro)s(cessors)p 3185 1533 V 713
1536 2474 4 v 711 1649 4 113 v 763 1615 a(F)-8 b(used)30
b(\015oating)h(p)s(oin)m(t)e(ops;)h(m)m(ultiply/add)p
3185 1649 V 713 1652 2474 4 v 711 1765 4 113 v 763 1731
a(Cycles)g(from)g(memory)g(to)h(stages)h(in)d(the)h(cac)m(he)p
3185 1765 V 713 1768 2474 4 v 711 1881 4 113 v 763 1847
a(Pre-fetc)m(h)h(and)f(ho)m(w)h(man)m(y)f(outstanding)g(requests)p
3185 1881 V 713 1885 2474 4 v 711 1998 4 113 v 763 1964
a(Bandwidth)e(from/to)k(memory)p 3185 1998 V 713 2001
2474 4 v 711 2114 4 113 v 763 2080 a(Latency)f(from)f(memory/cac)m(he)p
3185 2114 V 713 2117 2474 4 v 711 2230 4 113 v 763 2196
a(Num)m(b)s(er)f(of)i(instructions)d(issued)h(p)s(er)g(cycle)p
3185 2230 V 713 2233 2474 4 v 262 2645 3376 4 v 260 2758
4 113 v 312 2724 a(Fiv)m(e)i(P)m(arameters)h(Asso)s(ciated)e(with)f
(Memory)i(Hierarc)m(h)m(y)p 3636 2758 V 262 2761 3376
4 v 262 2778 V 260 2891 4 113 v 312 2857 a(Access)h(Time:)39
b(Time)30 b(for)g(the)g(CPU)g(to)i(fetc)m(h)f(a)g(v)-5
b(alue)29 b(from)h(memory)h({)f(including)p 3636 2891
V 260 3004 V 312 2970 a(dela)m(ys)g(through)g(an)m(y)h(in)m(termediate)
f(lev)m(els.)p 3636 3004 V 262 3007 3376 4 v 260 3120
4 113 v 312 3086 a(Memory)h(Size:)40 b(The)30 b(amoun)m(t)h(of)g
(memory)f(of)g(a)h(giv)m(en)f(t)m(yp)s(e)h(in)e(a)i(system.)p
3636 3120 V 262 3123 3376 4 v 260 3236 4 113 v 312 3202
a(Cost)g(P)m(er)g(Unit)e(\(b)m(yte\):)42 b(Cost)31 b(p)s(er)e(unit)g
(times)h(size)g(roughly)f(equals)h(total)h(cost.)p 3636
3236 V 262 3240 3376 4 v 260 3353 4 113 v 312 3319 a(T)-8
b(ransfer)30 b(bandwidth:)38 b(Units)29 b(\(b)m(ytes\))j(p)s(er)d
(second)i(transferred)e(to)i(the)g(next)f(lev)m(el.)p
3636 3353 V 262 3356 3376 4 v 260 3469 4 113 v 312 3435
a(Unit)g(of)g(transfer:)41 b(Num)m(b)s(er)29 b(of)h(units)f(mo)m(v)m
(ed)j(b)s(et)m(w)m(een)f(adjacen)m(t)g(lev)m(els)f(in)f(a)i(single)e
(mo)m(v)m(e.)p 3636 3469 V 262 3472 3376 4 v 565 3884
2770 4 v 563 3997 4 113 v 615 3963 a(Memory)i(Hierarc)m(h)m(y)p
3333 3997 V 565 4000 2770 4 v 565 4017 V 563 4130 4 113
v 615 4096 a(Desired)f(-)g(no)h(cost,)g(v)m(ery)g(fast,)g(large)f
(non-v)m(olatile)p 3333 4130 V 565 4133 2770 4 v 563
4246 4 113 v 615 4212 a(Actual)g(Registers,)h(cac)m(he,)h(DRAM,)g
(Disk,)e(tap)s(e,)h(CD,)f(Flash)g(&)g(EPR)m(OM)p 3333
4246 V 565 4249 2770 4 v 563 4362 4 113 v 615 4328 a(Registers)g(-)h
(fast,)g(lo)s(cal,)f(v)m(olatile,)g(VER)-8 b(Y)31 b(exp)s(ensiv)m(e,)f
(v)m(ery)h(small)p 3333 4362 V 565 4366 2770 4 v 563
4478 4 113 v 615 4445 a(Cac)m(he)g(-)g(fast,)g(exp)s(ensiv)m(e,)f(v)m
(olatile,)g(small)p 3333 4478 V 565 4482 2770 4 v 563
4595 4 113 v 615 4561 a(DRAM)h(-)g(medium)d(size)i(&)g(sp)s(eed,)g(v)m
(olatile)p 3333 4595 V 565 4598 2770 4 v 563 4711 4 113
v 615 4677 a(Distributed)e(memory)p 3333 4711 V 565 4714
2770 4 v 563 4827 4 113 v 615 4793 a(Disk)i(-)g(slo)m(w,)h(lo)m(w)f
(cost)h(p)s(er)e(b)m(yte,)j(non-v)m(olatile)p 3333 4827
V 565 4830 2770 4 v 563 4943 4 113 v 615 4909 a(T)-8
b(ap)s(e)30 b(-)h(v)m(ery)g(slo)m(w,)f(v)m(ery)h(lo)m(w)f(cost,)h
(durable,)e(non-v)m(olatile)p 3333 4943 V 565 4947 2770
4 v 563 5060 4 113 v 615 5026 a(CD)h(-)h(slo)m(w,)f(\\read)h(only",)f
(go)s(o)s(d)g(data)h(densit)m(y)-8 b(,)31 b(non-v)m(olatile)p
3333 5060 V 565 5063 2770 4 v 563 5176 4 113 v 615 5142
a(Flash)f(&)g(EPR)m(OM)g(-)h(small,)e(not)h(as)h(fast)g(a)g(DRAM,)g
(non-v)m(olatile)p 3333 5176 V 565 5179 2770 4 v -214
64 a FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 200 210
200 209 bop 0 -165 a FK(200)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FE(C.2)116 b(Distributed-memo)m
(ry)34 b(Dense)40 b(BLAS)0 294 y FK(This)25 b(do)s(cumen)m(t)i
(summarizes)g(the)g(discussions)d(that)k(to)s(ok)g(place)f(during)e
(the)j(meetings)f(of)g(the)h(BLAS)f(T)-8 b(ec)m(h-)0
407 y(nical)25 b(F)-8 b(orum)26 b(concerning)f(the)h
(distributed-memory)e(BLAS.)i(The)f(committee)i(did)d(not)j(reac)m(h)f
(an)g(agreemen)m(t)0 520 y(on)36 b(ho)m(w)g(to)g(sp)s(ecify)f(an)h(in)m
(terface)g(for)g(suc)m(h)f(a)h(set)h(of)f(routines,)g(ho)m(w)m(ev)m(er)
i(it)d(w)m(as)h(felt)g(that)g(this)f(do)s(cumen)m(t)0
633 y(should)28 b(k)m(eep)j(a)g(record)f(of)h(those)g(discussions.)141
746 y(There)40 b(has)f(b)s(een)h(m)m(uc)m(h)g(in)m(terest)g(in)e(the)j
(past)f(few)f(y)m(ears)i(in)e(dev)m(eloping)g(v)m(ersions)g(of)h(the)g
(BLAS)g(for)0 859 y(distributed-memory)26 b(computers)j([50)q(,)g(28)q
(,)g(3,)g(29)q(,)g(13)q(,)g(17)q(,)g(15)q(,)g(18)q(,)g(8)q(,)g(51)q(].)
40 b(Some)29 b(of)g(this)f(researc)m(h)h(prop)s(osed)0
972 y(parallelizing)21 b(the)j(BLAS)f([45)q(,)h(50)q(,)g(17)q(,)g(15)q
(,)g(11)q(,)g(18)q(,)g(49)q(,)f(51)q(],)j(and)d(some)h(implemen)m(ted)e
(a)j(few)e(imp)s(ortan)m(t)g(BLAS)0 1085 y(routines)h([50)r(,)h(43)q(,)
h(17)q(,)f(15)q(,)h(11)q(,)f(18)q(,)h(49)q(,)g(51],)h(suc)m(h)e(as)h
(matrix-matrix)f(m)m(ultiplication)d([31)q(,)k(5,)g(36)q(,)g(44)q(,)f
(4)q(,)g(16)q(,)h(52)q(])0 1198 y(or)k(triangular)f(system)i(solv)m(e)f
([34)r(,)g(40)q(,)h(41,)g(10)q(].)141 1310 y(Based)f(on)g(this)f
(researc)m(h)h(w)m(ork,)g(it)f(w)m(as)h(agreed)h(that)f(an)g(in)m
(terface)g(for)f(the)h(distributed-memory)d(BLAS)0 1423
y(should)h(ha)m(v)m(e)k(the)f(follo)m(wing)d(features:)136
1611 y FJ(\017)46 b FK(The)38 b(calling)e(sequence)i(de\014nitions)d
(should)h(b)s(e)h(simple)f(and)h(similar)e(in)h(all)h(targeted)i
(programming)227 1724 y(languages.)136 1912 y FJ(\017)46
b FK(The)31 b(in)m(terface)g(should)e(b)s(e)h(e\013ectiv)m(e)j(for)d
(the)h(dev)m(elop)s(emen)m(t)h(of)f(large)g(and)f(high-qualit)m(y)f
(dense)i(linear)227 2024 y(algebra)g(soft)m(w)m(are)h(for)e
(distributed-memory)d(computers.)136 2212 y FJ(\017)46
b FK(The)26 b(in)m(terface)i(should)c(p)s(ermit)h(broad)i(functionalit)
m(y)e(to)i(enable,)g(facilitate)g(and)f(encourage)i(the)f(dev)m(el-)227
2325 y(opmen)m(t)k(of)g(curren)m(t)f(and)f(related)i(researc)m(h)g(pro)
5 b(jects.)141 2513 y(The)22 b(main)g(adv)-5 b(an)m(tages)25
b(of)d(establishing)f(a)i(distributed-memory)d(dense)i(BLAS)h(standard)
f(are)h(p)s(ortabilit)m(y)0 2626 y(and)35 b(ease-of-use.)59
b(In)35 b(a)h(distributed-memory)d(en)m(vironmen)m(t)i(in)g(whic)m(h)f
(the)i(higher)f(lev)m(el)g(routines)g(and/or)0 2738 y(abstractions)29
b(are)g(built)e(up)s(on)h(lo)m(w)m(er)h(lev)m(el)f(message-passing)i
(and)e(computational)h(routines)f(the)h(b)s(ene\014ts)f(of)0
2851 y(standardization)22 b(are)h(particularly)e(apparen)m(t.)38
b(F)-8 b(urthermore,)25 b(the)e(de\014nition)e(of)i(distributed-memory)
d(dense)0 2964 y(basic)31 b(linear)f(algebra)i(subprograms)f(pro)m
(vides)f(v)m(endors)i(with)e(a)j(clearly)e(de\014ned)f(base)i(set)h(of)
f(routines)e(that)0 3077 y(they)j(can)g(implemen)m(t)e(e\016cien)m(tly)
-8 b(,)34 b(or)f(in)e(some)j(cases)f(pro)m(vide)f(hardw)m(are)h(supp)s
(ort)e(for,)i(thereb)m(y)g(enhancing)0 3190 y(scalabilit)m(y)-8
b(.)141 3303 y(The)32 b(goal)i(of)f(the)g(distributed-memory)d(dense)i
(BLAS)g(in)m(terface)i(simply)c(stated)k(should)c(b)s(e)j(to)g(dev)m
(elop)0 3416 y(a)i(widely)d(used)i(standard)g(for)g(writing)f
(message-passing)i(programs)f(p)s(erforming)e(dense)i(basic)g(linear)f
(alge-)0 3529 y(bra)i(op)s(erations.)55 b(As)35 b(suc)m(h)g(the)h(in)m
(terface)g(should)d(establish)h(a)i(practical,)g(p)s(ortable,)g
(e\016cien)m(t)g(and)f(\015exible)0 3642 y(standard)30
b(for)g(distributed-memory)d(dense)j(basic)g(linear)f(algebra)h(op)s
(erations.)141 3755 y(A)h(complete)f(list)f(of)i(goals)g(follo)m(ws.)
136 3942 y FJ(\017)46 b FK(Design)32 b(an)f(Application)e(Programming)i
(In)m(terface)h(\(API\))g(\(not)g(necessarily)f(for)g(compilers)f(or)h
(a)h(sys-)227 4055 y(tem)40 b(implemen)m(tation)d(library\))g(w)m(ell)h
(suited)g(for)g(distributed-memory)f(dense)h(basic)h(linear)e(algebra)
227 4168 y(computations.)136 4356 y FJ(\017)46 b FK(Allo)m(w)20
b(e\016cien)m(t)i(comm)m(unication)e(and)h(computation:)36
b(minimizing)17 b(comm)m(unication)j(startup)h(o)m(v)m(erhead)227
4469 y(and)30 b(v)m(olume,)g(while)f(maximizing)f(load)i(balance)g(and)
g(lo)s(cal)g(computational)g(p)s(erformance.)136 4656
y FJ(\017)46 b FK(Allo)m(w)24 b(for)f(re-use)h(of)h(existing)e
(message-passing)h(in)m(terface)h(standard)e([30)q(])h(as)g(w)m(ell)f
(as)i(lo)s(cal)e(basic)h(linear)227 4769 y(algebra)31
b(computational)f(k)m(ernels)g(suc)m(h)g(as)g(the)h Fz(de)i(facto)e
FK(standard)e(BLAS.)136 4957 y FJ(\017)46 b FK(Allo)m(w)30
b(for)g(implemen)m(tations)f(that)i(can)f(b)s(e)g(used)g(in)f(a)i
(heterogeneous)g(en)m(vironmen)m(t.)136 5144 y FJ(\017)46
b FK(De\014ne)27 b(an)g(in)m(terface)g(that)g(is)f(not)h(to)s(o)g
(di\013eren)m(t)g(from)f(curren)m(t)g(practice)h(and)f(pro)m(vide)g
(extensions)g(that)227 5257 y(allo)m(w)k(greater)i(\015exibilit)m(y)-8
b(.)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 201 211
201 210 bop 0 -165 a FA(C.2.)71 b(DISTRIBUTED-MEMOR)-8
b(Y)31 b(DENSE)g(BLAS)1814 b FK(201)136 91 y FJ(\017)46
b FK(De\014ne)28 b(an)g(in)m(terface)h(that)g(can)f(b)s(e)f(implemen)m
(ted)g(on)h(man)m(y)g(v)m(endors')g(platforms,)f(with)g(no)h
(signi\014can)m(t)227 204 y(c)m(hanges)k(in)d(the)h(underlying)e
(system)i(soft)m(w)m(are.)136 389 y FJ(\017)46 b FK(Seman)m(tics)31
b(of)f(the)h(in)m(terface)g(should)d(b)s(e)i(language-and)g
(data-distribution)e(indep)s(enden)m(t.)136 574 y FJ(\017)46
b FK(The)30 b(in)m(terface)h(should)d(b)s(e)i(designed)f(to)j(allo)m(w)
d(for)h(thread-safet)m(y)-8 b(.)141 756 y(Suc)m(h)37
b(a)g(distribute-memory)e(BLAS)i(standard)f(should)f(b)s(e)h(in)m
(tended)g(for)h(use)g(b)m(y)g(all)f(those)h(who)g(w)m(an)m(t)0
869 y(to)d(write)f(p)s(ortable)f(programs)h(p)s(erforming)e(dense)i
(linear)f(algebra)h(op)s(erations)g(in)f(F)-8 b(ortran)34
b(77,)h(F)-8 b(ortran)34 b(90,)0 982 y(High)e(P)m(erformance)h(F)-8
b(ortran)33 b(\(HPF\),)h(C)e(or)h(C++.)46 b(This)30 b(includes)h
(individual)c(application)k(programmers,)0 1095 y(dev)m(elop)s(ers)k
(of)g(dense)g(linear)e(algebra)j(soft)m(w)m(are)g(designed)e(to)i(run)e
(on)h(parallel)f(mac)m(hines,)i(and)e(creators)j(of)0
1207 y(computational)21 b(en)m(vironmen)m(t)h(and)f(to)s(ols.)37
b(In)21 b(order)g(to)i(b)s(e)e(attrac-)i(tiv)m(e)f(to)h(this)d(wide)h
(audience,)i(the)f(standard)0 1320 y(m)m(ust)j(pro)m(vide)f(a)h
(simple,)f(easy-to-use)i(in)m(terface)g(for)e(the)h(basic)g(user)f
(while)e(not)j(seman)m(tically)g(precluding)d(the)0 1433
y(high-p)s(erformance)29 b(computation)h(and)g(comm)m(unication)g(op)s
(erations)f(a)m(v)-5 b(ailable)30 b(on)g(adv)-5 b(anced)31
b(computers.)141 1546 y(The)42 b(attractiv)m(eness)i(of)f(the)f
(distributed-memory)e(dense)i(BLAS)h(at)g(least)f(partially)f(stems)i
(from)f(its)0 1659 y(wide)31 b(p)s(ortabilit)m(y)g(as)i(w)m(ell)f(as)h
(the)g(common)g(o)s(ccurence)g(of)g(dense)f(linear)f(algebra)i(op)s
(erations)f(in)f(n)m(umerical)0 1772 y(sim)m(ulations.)37
b(These)25 b(programs)g(ma)m(y)h(run)e(on)i(distributed-memory)c(m)m
(ultipro)s(cessors,)j(net)m(w)m(orks)h(or)g(clusters)0
1885 y(of)h(w)m(orkstations,)h(and)f(com)m(binations)f(of)h(all)f(of)i
(these.)40 b(In)26 b(addition,)g(shared-memory)h(implemen)m(tations)f
(are)0 1998 y(p)s(ossible.)38 b(The)29 b(message)h(passing)e(paradigm)g
(will)f(not)i(b)s(e)g(made)g(obsolete)h(b)m(y)f(arc)m(hitectures)h(com)
m(bining)e(the)0 2111 y(shared-)k(and)f(distributed-memory)f(views,)i
(or)g(b)m(y)g(increases)g(in)f(net)m(w)m(ork)i(sp)s(eeds.)46
b(It)32 b(th)m(us)g(should)e(b)s(e)i(b)s(oth)0 2224 y(p)s(ossible)f
(and)i(useful)e(to)j(implemen)m(t)e(suc)m(h)h(a)h(standard)e(on)h(a)h
(great)h(v)-5 b(ariet)m(y)33 b(of)h(mac)m(hines,)g(including)29
b(those)0 2337 y("mac)m(hines",)i(parallel)e(or)h(not,)h(connected)g(b)
m(y)f(a)h(comm)m(unication)f(net)m(w)m(ork.)141 2450
y(The)35 b(distributed-memory)d(dense)j(BLAS)g(in)m(terface)h(should)d
(pro)m(vide)i(man)m(y)g(features)h(in)m(tended)e(to)i(im-)0
2562 y(pro)m(v)m(e)i(p)s(erformance)e(on)h(scalable)g(parallel)e
(computers)h(with)g(sp)s(ecialized)f(in)m(terpro)s(cessor)h(comm)m
(unication)0 2675 y(hardw)m(are.)46 b(Th)m(us,)32 b(w)m(e)h(exp)s(ect)g
(that)g(nativ)m(e,)g(high-p)s(erformance)e(implemen)m(tations)f(of)j
(this)e(in)m(terface)i(could)0 2788 y(b)s(e)41 b(pro)m(vided)f(on)h
(suc)m(h)g(mac)m(hines.)73 b(A)m(t)42 b(the)g(same)g(time,)i(implemen)m
(tations)c(of)h(suc)m(h)g(a)h(standard)e(on)i(top)0 2901
y(of)f(MPI)f(or)g(PVM)h(will)d(pro)m(vide)h(p)s(ortabilit)m(y)g(to)i(w)
m(orkstation)g(clusters)e(and)h(heterogeneous)i(net)m(w)m(orks)f(of)0
3014 y(w)m(orkstations.)141 3127 y(During)29 b(the)i(discussions)c(it)j
(w)m(as)h(agreed)g(that)g(the)g(distributed-memory)c(BLAS)k(should)d
(include)136 3308 y FJ(\017)46 b FK(A)31 b(set)g(of)f(basic)g(dense)g
(linear)f(algebra)h(computational)g(op)s(erations)136
3493 y FJ(\017)46 b FK(Data-redistribution)29 b(op)s(erations)136
3679 y FJ(\017)46 b FK(En)m(vironmen)m(tal)29 b(managemen)m(t)j(and)e
(inquiry)136 3864 y FJ(\017)46 b FK(Bindings)24 b(for)j(v)-5
b(arious)25 b(widely)g(used)g(programming)g(languages,)j(including)23
b(high)i(lev)m(el)i(languages)f(suc)m(h)227 3977 y(as)31
b(High)f(P)m(erformance)h(F)-8 b(ortran)31 b(\(HPF\))141
4158 y(The)g(distributed-memory)e(dense)i(BLAS)g(in)m(terface)h(should)
e(sp)s(ecify)g(routines)g(that)j(op)s(erate)f(on)f(in-core)0
4271 y(dense)20 b(matrices.)38 b(On)19 b(en)m(try)-8
b(,)24 b(these)c(routines)g(assume)g(that)h(the)g(data)g(has)f(b)s(een)
g(distributed)d(on)k(the)f(pro)s(cessors)0 4384 y(according)j(to)h(a)g
(sp)s(eci\014c)d(data)j(decomp)s(osition)e(sc)m(heme)i(that)g(dictates)
f(the)h(lo)s(cal)e(storage)j(of)e(the)g(data)h(when)e(it)0
4497 y(resides)27 b(in)g(the)h(pro)s(cessors')g(memory)-8
b(.)41 b(The)28 b(data)g(la)m(y)m(out)i(information)c(as)j(w)m(ell)e
(as)h(the)h(lo)s(cal)e(storage)j(sc)m(heme)0 4610 y(for)38
b(these)i(di\013eren)m(t)e(matrix)g(op)s(erands)f(is)h(con)m(v)m(ey)m
(ed)j(to)e(the)g(routines)f(via)g(a)h(descriptor)e(that)j(could)d(b)s
(e)i(a)0 4723 y(simple)33 b(arra)m(y)i(of)f(in)m(tegers.)54
b(The)34 b(standard)g(could)g(mandate)g(that)i(the)e(\014rst)g(en)m
(try)h(of)g(this)e(arra)m(y)i(iden)m(ti\014es)0 4835
y(the)28 b(t)m(yp)s(e)f(of)h(the)f(descriptor,)g(i.e.,)i(the)e(data)h
(distribution)c(sc)m(heme)k(it)f(describ)s(es.)38 b(This)26
b(allo)m(ws)h(to)h(sp)s(ecify)e(the)0 4948 y(distributed-memory)i
(dense)i(BLAS)g(in)m(terface)h(indep)s(en-)d(den)m(tly)i(from)g(the)g
(data)h(distribution.)141 5061 y(The)21 b(distributed-memory)d(dense)j
(BLAS)g(are)h(executed)g(b)m(y)f FA(pro)s(cesses,)i FK(rather)e(than)g
(ph)m(ysical)f(pro)s(cessors.)0 5174 y(In)29 b(general)h(there)g(ma)m
(y)h(b)s(e)e(sev)m(eral)h(pro)s(cesses)g(running)d(on)j(a)g(pro)s
(cessor,)g(in)e(whic)m(h)h(case)i(it)e(is)g(assumed)g(that)0
5287 y(the)i(run)m(time)f(system)i(handles)e(the)h(sc)m(heduling)e(of)j
(pro)s(cesses.)43 b(In)30 b(the)i(absence)g(of)f(suc)m(h)g(a)g(run)m
(time)g(system,)0 5400 y(the)f(distributed-memory)d(dense)j(BLAS)g
(assume)g(one)g(pro)s(cess)f(p)s(er)g(pro)s(cessor.)40
b(A)31 b FG(pro)s(cess)g FK(is)e(de\014ned)f(as)j(a)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 202 212
202 211 bop 0 -165 a FK(202)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FK(basic)f(unit)f(or)h(thread)g
(of)h(execution)f(that)h(minimally)c(includes)h(a)j(stac)m(k,)h
(registers,)f(and)e(memory)-8 b(.)41 b(Multiple)0 204
y(pro)s(cesses)30 b(ma)m(y)h(share)f(a)g(ph)m(ysical)f(pro)s(cessor.)40
b(The)30 b(term)g(pro)s(cessor)g(refers)f(to)i(the)g(actual)f(hardw)m
(are.)40 b(Eac)m(h)0 317 y(pro)s(cess)34 b(is)f(treated)i(as)f(if)g(it)
f(w)m(ere)i(a)f(pro)s(cessor:)48 b(a)35 b(pro)s(cess)f(executing)g(a)h
(program)e(or)i(subprogram)d(calling)0 430 y(the)g(distributed-memory)d
(dense)i(BLAS)h(m)m(ust)g(exist)f(for)h(the)g(lifetime)e(of)i(the)g
(program's)f(or)h(subprogram's)0 543 y(run.)38 b(Its)28
b(execution)f(should)e(a\013ect)k(other)f(pro)s(cesses')f(execution)h
(only)e(through)h(the)g(use)g(of)h(message-passing)0
656 y(calls.)52 b(With)33 b(this)g(in)g(mind,)h(the)g(term)h(pro)s
(cess)e(is)h(used)f(in)g(all)g(sections)h(of)h(this)e(c)m(hapter)i
(unless)e(otherwise)0 769 y(sp)s(eci\014ed.)141 882 y(The)i
(distributed-memory)d(dense)j(BLAS)g(are)g(th)m(us)g(executed)h(b)m(y)f
(a)g(collection)g(of)g(pro)s(cesses,)i(that)f(are)0 995
y(enclosed)h(in)f(a)i FG(comm)m(unication)43 b(con)m(text)p
FK(.)62 b(Similarly)-8 b(,)36 b(a)i(comm)m(unication)f(con)m(text)j(or)
d(simply)e(con)m(text)0 1108 y(is)c(asso)s(ciated)i(with)e(ev)m(ery)i
(global)f(matrix.)46 b(The)31 b(use)i(of)f(a)h(con)m(text)h(pro)m
(vides)d(the)i(abilit)m(y)d(to)j(ha)m(v)m(e)h(separate)0
1220 y(\\univ)m(erses")d(of)g(message)h(passing.)41 b(This)30
b(means)h(that)g(a)h(collection)e(of)h(pro)s(cesses)g(can)h(safely)e
(comm)m(unicate)0 1333 y(ev)m(en)35 b(if)f(other)h(\(p)s(ossibly)d(o)m
(v)m(erlapping\))j(sets)g(of)g(pro)s(cesses)f(are)h(also)g(comm)m
(unicating.)53 b(Th)m(us,)35 b(a)g(con)m(text)i(is)0
1446 y(a)29 b(p)s(o)m(w)m(erful)f(mec)m(hanism)g(for)h(a)m(v)m(oiding)f
(unin)m(ten)m(tional)f(nondeterminism)f(in)i(message)i(passing)e(and)g
(pro)m(vides)0 1559 y(supp)s(ort)i(for)h(the)h(design)f(of)g(safe,)i
(mo)s(dular)c(soft)m(w)m(are)34 b(libraries.)41 b(In)31
b(MPI,)h(this)e(concept)j(is)e(referred)f(to)j(as)f(a)0
1672 y Fz(c)-5 b(ommunic)g(ator)p FK(.)141 1785 y(A)39
b(con)m(text)h(partitions)d(the)h(comm)m(unication)g(space.)65
b(A)39 b(message)g(sen)m(t)g(from)f(one)g(con)m(text)j(cannot)e(b)s(e)0
1898 y(receiv)m(ed)33 b(in)e(another)i(con)m(text.)49
b(The)32 b(use)g(of)h(separate)g(comm)m(unication)f(con)m(texts)j(b)m
(y)d(distinct)f(libraries)f(\(or)0 2011 y(distinct)h(library)f(routine)
i(in)m(v)m(o)s(cations\))h(insulates)e(comm)m(unication)h(in)m(ternal)f
(to)i(a)g(sp)s(eci\014c)f(library)e(routine)0 2124 y(from)g(external)g
(comm)m(unication)g(that)h(ma)m(y)g(b)s(e)f(going)g(on)g(within)e(the)j
(user's)f(program.)141 2237 y(In)39 b(most)g(resp)s(ects,)j(the)d
(terms)g Fz(pr)-5 b(o)g(c)g(ess)43 b(c)-5 b(ol)5 b(le)-5
b(ction)40 b FK(and)f Fz(c)-5 b(ontext)40 b FK(can)g(b)s(e)e(used)h(in)
m(terc)m(hangeably)-8 b(.)67 b(F)-8 b(or)0 2350 y(example,)44
b(one)e(ma)m(y)g(sa)m(y)g(that)g(an)g(op)s(eration)f(is)f(p)s(erformed)
g(\\in)h(con)m(text)i(X")f(or)g(\\in)e(pro)s(cess)h(collection)0
2462 y(X".)33 b(The)f(sligh)m(t)f(di\013erence)h(here)g(is)g(that)g
(the)h(user)f(ma)m(y)g(de\014ne)g(t)m(w)m(o)i(iden)m(tical)d(sets)h(of)
h(pro)s(cesses)f(\(sa)m(y)-8 b(,)35 b(t)m(w)m(o)0 2575
y(1)28 b FJ(\002)g FK(3)42 b(pro)s(cess)f(grids,)i(b)s(oth)e(of)h(whic)
m(h)f(use)g(pro)s(cesses)h(0,)j(1,)g(and)c(2\),)46 b(but)41
b(eac)m(h)i(will)c(b)s(e)i(enclosed)g(in)g(its)0 2688
y(o)m(wn)30 b(con)m(text,)j(so)e(that)g(they)f(are)h(distinct)e(in)g
(op)s(eration,)h(ev)m(en)h(though)f(they)h(are)g(indistinguishable)25
b(from)30 b(a)0 2801 y(pro)s(cess)g(collection)g(standp)s(oin)m(t.)141
2914 y(Another)38 b(example)f(of)h(the)g(use)f(of)h(con)m(text)h(migh)m
(t)f(b)s(e)f(to)h(de\014ne)f(a)h(normal)f(t)m(w)m(o-dimensional)f(pro)s
(cess)0 3027 y(grid)31 b(within)f(whic)m(h)g(most)j(computation)f(tak)m
(es)i(place.)46 b(Ho)m(w)m(ev)m(er,)35 b(in)c(certain)h(p)s(ortions)e
(of)j(the)f(co)s(de)h(it)e(ma)m(y)0 3140 y(b)s(e)38 b(more)i(con)m(v)m
(enien)m(t)g(to)f(access)i(the)e(pro)s(cesses)g(as)g(a)h
(one-dimensional)c(pro)s(cess)j(grid,)h(whereas)f(at)h(other)0
3253 y(times)c(one)h(ma)m(y)h(wish,)f(for)f(instance,)j(to)e(share)g
(information)e(among)i(nearest)h(neigh)m(b)s(ors.)58
b(In)36 b(suc)m(h)h(cases,)0 3366 y(one)31 b(will)d(w)m(an)m(t)k(eac)m
(h)g(pro)s(cess)e(to)h(ha)m(v)m(e)h(access)g(to)g(three)f(con)m(texts:)
43 b(the)31 b(t)m(w)m(o-dimensional)f(pro)s(cess)g(grid,)g(the)0
3479 y(one-dimensional)35 b(pro)s(cess)h(grid,)i(and)f(a)g(small)f(pro)
s(cess)g(grid)g(that)i(con)m(tains)f(the)g(pro)s(cess)g(and)f(its)g
(nearest)0 3592 y(neigh)m(b)s(ors.)j(Therefore,)31 b(comm)m(unication)e
(con)m(texts)k(allo)m(w)c(one)i(to)136 3779 y FJ(\017)46
b FK(create)32 b(arbitrary)d(groups)h(of)h(pro)s(cesses,)136
3967 y FJ(\017)46 b FK(create)32 b(an)e(indeterminate)g(n)m(um)m(b)s
(er)f(of)h(o)m(v)m(erlapping)g(and/or)g(disjoin)m(t)f(collections)h(of)
g(pro)s(cesses,)h(and)136 4154 y FJ(\017)46 b FK(isolate)31
b(a)f(set)h(of)g(pro)s(cesses)f(so)h(that)g(comm)m(unication)e(in)m
(terference)i(do)s(es)f(not)g(o)s(ccur.)141 4342 y(A)g
(distributed-memory)d(dense)i(BLAS)h(function)e(should)g(create)j(a)f
(grid)e(of)i(pro)s(cesses)g(and)f(its)g(enclosing)0 4455
y(con)m(text.)42 b(This)25 b(routine)i(returns)f(a)i(con)m(text)i
(handle,)d(whic)m(h)f(is)g(a)i(simple)e(in)m(teger,)j(assigned)d(b)m(y)
i(the)g(message-)0 4568 y(passing)g(library)e(used)j(b)m(y)g(a)g(giv)m
(en)g(implemen)m(tation)f(of)h(the)g(distributed-memory)d(dense)j(BLAS)
g(to)g(iden)m(tify)0 4681 y(the)37 b(comm)m(u-)h(nication)e(con)m
(text.)63 b(Subsequen)m(t)36 b(distributed-memory)f(dense)i(BLAS)g
(will)d(b)s(e)j(passed)f(these)0 4794 y(handles,)26 b(whic)m(h)f(allo)m
(w)g(to)i(determine)f(from)f(whic)m(h)g(con)m(text/pro)s(cess)j
(collec-)f(tion)f(a)g(routine)f(is)h(b)s(eing)e(called.)0
4907 y(The)34 b(user)g Fz(should)39 b(never)d(alter)i(or)f(change)g
(these)h(hand)5 b(les;)38 b FK(they)d(are)g(opaque)g(data)h(ob)5
b(jects)35 b(that)h(are)f(only)0 5020 y(meaningful)28
b(for)i(the)h(distributed-memory)d(dense)i(BLAS)g(routines.)141
5132 y(A)k(de\014ned)e(con)m(text)k(consumes)d(resources.)51
b(It)33 b(is)g(therefore)h(advisable)e(to)j(release)f(con)m(texts)h
(when)e(they)0 5245 y(are)h(no)f(longer)f(needed.)49
b(When)33 b(the)g(en)m(tire)g(distributed-memory)e(dense)h(BLAS)h
(system)h(is)e(sh)m(ut)g(do)m(wn,)i(all)0 5358 y(outstanding)c(con)m
(texts)i(are)e(automatically)h(freed.)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 203 213
203 212 bop 0 -165 a FA(C.2.)71 b(DISTRIBUTED-MEMOR)-8
b(Y)31 b(DENSE)g(BLAS)1814 b FK(203)141 91 y(Some)33
b(systems,)g(suc)m(h)g(as)g(MPI,)g(supply)d(their)i(o)m(wn)g(v)m
(ersion)h(of)f(con)m(text.)50 b(F)-8 b(or)33 b(p)s(ortabilit)m(y)e
(reasons,)j(one)0 204 y(th)m(us)27 b(cannot)g(assume)g(that)h(the)f
(comm)m(unication)g(con)m(texts)h(used)f(b)m(y)g(the)g(user's)f
(program)h(are)h(usable)e(b)m(y)h(the)0 317 y(distributed-memory)33
b(dense)h(BLAS.)i(Therefore,)g(the)g(follo)m(wing)e(in)m(terface)h
(allo)m(ws)g(to)h(form)f(a)h(distributed-)0 430 y(memory)30
b(dense)g(BLAS)g(con)m(text)j(in)c(reference)i(to)g(a)f(user's)g(con)m
(text.)141 543 y(The)g(standard)f(could)g(mandate)h(that)h(the)f
(second)g(en)m(try)g(of)g(eac)m(h)h(descriptor)e(is)g(set)h(to)h(the)f
(v)-5 b(alue)30 b(of)g(the)0 656 y(comm)m(unication)g(con)m(text)i
(iden)m(tifying)c(the)j(collection)f(of)g(pro)s(cesses)g(on)m(to)i
(whic)m(h)d(the)i(data)g(is)e(distributed.)141 769 y(The)f(routines)e
(of)i(the)g(distributed-memory)d(dense)j(BLAS)g(could)f(require)f(that)
j(all)d(global)i(data)g(\(v)m(ectors)0 882 y(or)37 b(matrices\))g(b)s
(e)f(distributed)e(across)k(the)f(pro)s(cesses)f(prior)f(to)j(in)m(v)m
(oking)e(the)h(routines.)59 b(The)37 b(data)g(la)m(y)m(out)0
995 y(and)g(lo)s(cal)g(storage)i(sc)m(heme)f(are)g(sp)s(eci\014ed)e(b)m
(y)i(a)g(particular)d(implemen)m(tation,)k(but)e(are)g(strictly)g(sp)s
(eaking)0 1108 y(not)d(part)f(of)g(the)h(standard.)49
b(Global)32 b(data)i(is)f(mapp)s(ed)e(to)k(the)e(lo)s(cal)g(memories)f
(of)i(pro)s(cesses)f(assuming)f(an)0 1220 y(implemen)m(tation-dep)s
(enden)m(t)c(data)j(distribution)c(sc)m(heme.)141 1333
y(A)44 b FG(descriptor)h FK(is)e(asso)s(ciated)h(with)f(eac)m(h)i
(global)f(arra)m(y)-8 b(.)82 b(This)42 b(descriptor)h(stores)h(the)h
(information)0 1446 y(required)33 b(to)i(establish)e(the)i(mapping)e(b)
s(et)m(w)m(een)i(eac)m(h)g(global)f(arra)m(y)h(en)m(try)g(and)f(its)g
(corresp)s(onding)e(pro)s(cess)0 1559 y(and)40 b(memory)g(lo)s(cation.)
70 b(Arra)m(y)41 b(descriptors)e(corresp)s(onding)f(to)k(distinct)c(la)
m(y)m(outs)j(are)g(di\013eren)m(tiated)f(b)m(y)0 1672
y(their)g(\014rst)h(en)m(try)g(called)f(the)i(t)m(yp)s(e)f(of)g(the)h
(descriptor.)71 b(The)41 b(data)h(residing)d(in)h(the)h(pro)s(cesses')g
(memory)0 1785 y(is)36 b(sp)s(eci\014ed)f(b)m(y)i(a)h(p)s(oin)m(ter.)60
b(Splitting)34 b(the)j(lo)s(cal)f(data)i(from)f(the)g(la)m(y)m(out's)h
(description)d(allo)m(ws)i(to)g(sp)s(ecify)0 1898 y(language-dep)s
(enden)m(t)h(in)m(terfaces)h(for)f(programming)f(languages)i(pro)m
(viding)d(only)i(simple)e(data)k(structures)0 2011 y(suc)m(h)30
b(as)h(F)-8 b(ortran)31 b(77)g(without)e(a\013ecting)i(the)g
(functionalit)m(y)e(or)h(ease-of-use)i(of)f(the)f(in)m(terface.)141
2124 y(Most)36 b(of)f(the)g(distributed-memory)d(dense)i(BLAS)h(should)
e(op)s(erate)i(within)d(the)j(same)g(comm)m(unication)0
2237 y(con)m(text,)e(i.e.,)e(all)f(distributed)d(op)s(erands)j(should)f
(b)s(e)h(distributed)d(on)k(the)g(same)g(pro)s(cess)f(grid.)41
b(These)30 b(op)s(er-)0 2350 y(ations)j(are)i(said)d(to)j(b)s(e)e
FG(in)m(tra-con)m(text)g FK(op)s(erations.)50 b(Only)-8
b(,)33 b(v)m(ery)h(few)g(distributed-memory)d(dense)i(BLAS)0
2462 y(p)s(erform)39 b(in)m(ter-con)m(text)j(op)s(erations,)g(in)d
(whic)m(h)g(case)j(this)d(feature)h(should)f(clearly)g(b)s(e)h(men)m
(tioned)g(in)f(the)0 2575 y(pro)s(cedure)29 b(functionalit)m(y)-8
b(.)141 2688 y(F)g(urthermore,)35 b(all)d(distributed)f(op)s(erands)h
(in)m(v)m(olv)m(ed)h(in)g(the)h(op)s(eration)f(should)e(b)s(e)i
(distributed)e(accord-)0 2801 y(ingly)i(to)i(the)g(same)f(decomp)s
(osition)f(sc)m(heme.)54 b(In)34 b(other)g(w)m(ords,)i(the)e(t)m(yp)s
(e)h(en)m(try)g(of)f(eac)m(h)i(descriptor)d(m)m(ust)0
2914 y(b)s(e)d(equal.)141 3027 y(All)36 b(distributed-memory)e(dense)i
(BLAS)h(op)s(erations)f(could)g(b)s(e)g FG(collectiv)m(e)p
FK(,)k(that)d(is,)h(all)e(pro)s(cesses)g(in)0 3140 y(the)25
b(con)m(text)i(need)e(to)h(in)m(v)m(ok)m(e)g(the)g(pro)s(cedure)e(ev)m
(en)i(if)e(certain)h(pro)s(cesses)g(are)h(not)f(in)m(v)m(olv)m(ed)g(in)
f(the)h(op)s(eration.)0 3253 y(This)32 b(situation)h(ma)m(y)i(happ)s
(en)d(for)i(example)g(when)f(some)h(pro)s(cesses)g(don't)g(o)m(wn)g(an)
m(y)h(data)g(to)f(b)s(e)g(op)s(erated)0 3366 y(on.)141
3479 y(The)42 b(distributed-memory)d(dense)j(BLAS)g(manages)h
FG(system)k(memory)41 b FK(that)i(is)e(used)g(for)h(bu\013ering)0
3592 y(messages)22 b(and)f(for)f(storing)h(in)m(ternal)f(represen)m
(tations)h(of)g(v)-5 b(arious)20 b(distributed-memory)f(dense)h(BLAS)h
(ob)5 b(jects)0 3704 y(suc)m(h)32 b(as)h(comm)m(unication)f(con)m
(texts,)j(lo)s(cal)d(arra)m(ys)h(of)g(data,)h(etc.)48
b(This)31 b(memory)h(is)g(not)h(directly)e(accessible)0
3817 y(to)42 b(the)g(user,)i(and)d(ob)5 b(jects)42 b(stored)g(there)f
(are)h(either)f(priv)-5 b(ate)41 b(or)g(opaque:)64 b(their)40
b(size)i(and)e(shap)s(e)h(is)g(not)0 3930 y(visible)32
b(to)j(the)g(user.)52 b(Opaque)34 b(ob)5 b(jects)35 b(are)g(accessed)g
(via)g FG(handles)p FK(,)g(whic)m(h)f(exist)g(in)f(user)h(space.)53
b(Priv)-5 b(ate)0 4043 y(ob)5 b(jects)37 b(cannot)h(b)s(e)e(accessed)h
(b)m(y)g(the)g(user,)h(and)e(are)h(allo)s(cated)f(and)g(released)h
(within)d(the)j(same)g(routine.)0 4156 y(distributed-memory)31
b(dense)i(BLAS)g(that)h(op)s(erate)g(on)g(opaque)f(ob)5
b(jects)35 b(are)e(passed)g(handle)f(argumen)m(ts)i(to)0
4269 y(access)h(these)e(ob)5 b(jects.)50 b(In)33 b(addition)f(to)i
(their)e(use)h(b)m(y)g(distributed-memory)e(dense)h(BLAS)i(calls)e(for)
h(ob)5 b(ject)0 4382 y(access,)32 b(handles)d(can)h(participate)g(in)f
(assignmen)m(t)h(and)g(comparisons.)141 4495 y(In)24
b(F)-8 b(ortran)25 b(and)f(C,)g(all)g(handles)f(ha)m(v)m(e)i(t)m(yp)s
(e)g(in)m(teger)g(and)f(corresp)s(ond)f(to)i(the)g(same)g(ob)5
b(jects.)39 b(This)23 b(means)0 4608 y(that)29 b(the)g(user's)g
(program)f(can)h(pass)g(a)g(C)f(handle)g(to)h(a)h(F)-8
b(ortran)29 b(subprogram)f(and)g(con)m(v)m(ersely)-8
b(,)30 b(suc)m(h)f(that)g(in)0 4721 y(b)s(oth)h(languages)g(the)h
(handle)e(refers)h(to)h(the)f(same)h(ob)5 b(ject.)141
4834 y(Opaque)40 b(ob)5 b(jects)40 b(are)h(allo)s(cated)f(and)f(deallo)
s(cated)h(b)m(y)g(calls)g(that)g(are)h(sp)s(eci\014c)e(to)h(eac)m(h)i
(ob)5 b(ject)41 b(t)m(yp)s(e.)0 4946 y(These)26 b(are)h(listed)e(in)g
(the)h(sections)h(where)f(the)g(ob)5 b(ject)28 b(are)e(describ)s(ed.)38
b(The)25 b(calls)h(accept)i(a)f(handle)d(argumen)m(t)0
5059 y(of)35 b(matc)m(hing)g(t)m(yp)s(e.)54 b(In)34 b(an)h(allo)s(cate)
g(call)f(this)g(is)g(an)g(ouput)g(argumen)m(t)i(that)f(returns)f(a)h(v)
-5 b(alid)33 b(reference)i(to)0 5172 y(the)28 b(ob)5
b(ject.)41 b(In)28 b(a)g(call)g(to)g(deallo)s(cate)h(this)e(is)g(an)h
(input/output)f(argumen)m(t)h(whic)m(h)f(returns)g(with)g(an)h(\\in)m
(v)-5 b(alid)0 5285 y(handle")33 b(constan)m(t)i(for)e(eac)m(h)i(ob)5
b(ject)35 b(t)m(yp)s(e.)51 b(Comparisons)32 b(to)i(this)f(constan)m(t)i
(are)f(used)f(to)h(test)h(for)f(v)-5 b(alidit)m(y)0 5398
y(of)31 b(the)f(handle.)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 204 214
204 213 bop 0 -165 a FK(204)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)141 91 y FK(A)35 b(call)e(to)i(deallo)s
(cate)g(in)m(v)-5 b(alidates)33 b(the)h(handle)f(and)h(marks)g(the)g
(ob)5 b(ject)35 b(for)g(deallo)s(cation.)51 b(The)34
b(ob)5 b(ject)0 204 y(is)40 b(not)h(accesible)f(to)i(the)f(user)f
(after)h(the)g(call.)71 b(Ho)m(w)m(ev)m(er,)46 b(distributed-memory)38
b(dense)j(BLAS)f(need)h(not)0 317 y(deallo)s(cate)g(the)f(ob)5
b(ject)42 b(immediately)-8 b(.)69 b(An)m(y)40 b(op)s(eration)g(p)s
(ending)e(\(at)k(the)e(time)g(of)h(the)f(deallo)s(cate\))h(that)0
430 y(in)m(v)m(olv)m(es)30 b(this)g(ob)5 b(ject)31 b(will)d(complete)i
(normally;)f(the)i(ob)5 b(ject)31 b(will)d(b)s(e)i(deallo)s(cated)g
(afterw)m(ards.)141 543 y(An)22 b(opaque)h(ob)5 b(ject)24
b(and)e(its)g(handle)f(are)i(signi\014can)m(t)f(only)g(at)h(the)g(pro)s
(cess)f(where)g(the)h(ob)5 b(ject)24 b(w)m(as)f(created,)0
656 y(and)30 b(cannot)h(b)s(e)e(transferred)h(to)h(another)g(pro)s
(cess.)141 769 y(This)26 b(design)g(hides)f(the)j(in)m(ternal)e
(represen)m(tation)h(used)g(for)g(distributed-memory)d(dense)j(BLAS)g
(in)m(ternal)0 882 y(data)42 b(structures,)j(th)m(us)c(allo)m(wing)g
(similar)e(calls)i(in)f(C)h(and)h(F)-8 b(ortran.)75 b(It)42
b(also)g(a)m(v)m(oids)g(con\015icts)f(with)g(the)0 995
y(t)m(yping)31 b(rules)g(in)f(these)j(languages,)f(and)g(easily)f(allo)
m(ws)g(for)h(future)f(extensions)g(of)h(functionalit)m(y)-8
b(.)44 b(Note)33 b(that)0 1108 y(the)40 b(ob)5 b(jects)41
b(handles)e(de\014ned)f(in)h(the)h(distributed-memory)e(dense)h(BLAS)h
(are)h(exclusiv)m(ely)e(used)g(b)m(y)h(the)0 1220 y(underlying)33
b(message)k(passing)d(library)-8 b(.)56 b(The)35 b(user)g(data)i
(itself)d(remains)h(directly)f(accessible)i(in)e(the)j(user's)0
1333 y(program.)141 1446 y(The)20 b(explicit)f(separating)i(of)f
(handles)f(in)h(user)f(space,)24 b(ob)5 b(jects)21 b(in)e(system)i
(space,)j(allo)m(ws)19 b(space-reclaiming,)0 1559 y(deallo)s(cation)38
b(calls)g(to)i(b)s(e)e(made)h(at)g(appropriate)f(p)s(oin)m(ts)g(in)g
(the)h(user)f(program.)66 b(If)38 b(the)h(opaque)g(ob)5
b(jects)0 1672 y(w)m(ere)35 b(in)f(user)g(space,)j(one)e(w)m(ould)f(ha)
m(v)m(e)i(to)f(b)s(e)g(v)m(ery)g(careful)f(not)h(to)h(go)g(out)f(of)g
(scop)s(e)g(b)s(efore)f(an)m(y)h(p)s(ending)0 1785 y(op)s(eration)29
b(requiring)f(that)i(ob)5 b(ject)31 b(completed.)40 b(The)30
b(sp)s(eci\014ed)e(design)h(allo)m(ws)g(an)h(ob)5 b(ject)30
b(to)h(b)s(e)e(mark)m(ed)h(for)0 1898 y(deallo)s(cation,)d(the)f(user)g
(program)g(can)h(then)f(go)h(out)f(of)h(scop)s(e,)g(and)f(the)h(ob)5
b(ject)27 b(itself)e(still)f(p)s(ersists)h(un)m(til)g(an)m(y)0
2011 y(p)s(ending)32 b(op)s(erations)h(are)i(complete.)53
b(Again)34 b(suc)m(h)g(a)g(design)f(cannot)i(b)s(e)f(applied)e(in)h
(general)h(to)h(the)g(user's)0 2124 y(data.)141 2237
y(The)i(requiremen)m(t)f(that)h(handles)f(supp)s(ort)f(assignmen)m
(t/comparison)i(is)f(made)h(since)f(suc)m(h)h(op)s(erations)0
2350 y(are)c(common.)46 b(This)30 b(restricts)i(the)g(domain)f(of)i(p)s
(ossible)c(implemen)m(tations.)45 b(Moreo)m(v)m(er,)35
b(suc)m(h)d(a)g(design)f(has)0 2462 y(b)s(een)f(adopted)g(b)m(y)g(most)
h(message)h(passing)d(library)f(in)m(terfaces)j(suc)m(h)f(as)g(the)h
(MPI.)141 2575 y(The)40 b(in)m(tended)g(seman)m(tics)h(of)g(opaque)f
(ob)5 b(jects)42 b(is)e(that)h(eac)m(h)h(opaque)f(ob)5
b(ject)41 b(is)f(separate)i(from)e(eac)m(h)0 2688 y(other;)28
b(eac)m(h)g(call)d(to)j(allo)s(cate)e(suc)m(h)h(an)f(ob)5
b(ject)27 b(copies)f(copies)h(all)e(the)h(information)f(required)g(for)
h(that)h(ob)5 b(ject.)0 2801 y(Implemen)m(tations)23
b(ma)m(y)i(a)m(v)m(oid)g(excessiv)m(e)h(cop)m(ying)e(b)m(y)g
(substituting)e(referencing)i(for)g(cop)m(ying.)39 b(F)-8
b(or)25 b(example,)0 2914 y(a)i(deriv)m(ed)f(datat)m(yp)s(e)i(ma)m(y)f
(con)m(tain)h(references)f(to)g(its)f(comp)s(onen)m(ts,)i(rather)f
(then)g(copies)f(of)h(its)g(comp)s(onen)m(ts.)0 3027
y(In)41 b(suc)m(h)g(cases,)k(the)c(implemen)m(tation)f(m)m(ust)h(main)m
(tain)g(reference)g(coun)m(ts,)k(and)c(allo)s(cate)h(and)f(deallo)s
(cate)0 3140 y(ob)5 b(jects)31 b(suc)m(h)f(that)h(the)g(visible)d(is)h
(as)i(if)e(the)i(ob)5 b(jects)31 b(w)m(ere)g(copied.)40
b(Suc)m(h)30 b(a)h(design)e(is)g(particularly)f(suitable)0
3253 y(for)23 b(comm)m(unication)h(con)m(texts,)j(b)s(ecause)c(the)h
(amoun)m(t)g(of)g(data)h(one)f(has)f(to)i(k)m(eep)f(trac)m(k)h(of)f(is)
f(small.)37 b(Ho)m(w)m(ev)m(er,)0 3366 y(applying)28
b(the)j(same)g(concept)g(to)g(the)g(user's)e(data)i(forces)g(the)g(in)m
(tro)s(duction)d(of)j(routines)e(to)i(manage)g(logical)0
3479 y(templates,)g(adding)e(complexit)m(y)-8 b(,)31
b(and)e(w)m(as)i(therefore)g(ruled)e(out.)141 3592 y(There)38
b(are)g(sev)m(eral)g(imp)s(ortan)m(t)g(language)g(bindings)d(issues)h
(not)j(addressed)e(b)m(y)g(this)g(do)s(cumen)m(t.)64
b(This)0 3704 y(section)43 b(do)s(es)g(not)g(discuss)e(the)i(in)m
(terop)s(erabilit)m(y)d(of)j(message)h(passing)e(b)s(et)m(w)m(een)h
(languages.)78 b(It)43 b(is)f(fully)0 3817 y(exp)s(ected)31
b(that)g(man)m(y)f(implemen)m(tations)f(should)f(ha)m(v)m(e)k(suc)m(h)e
(features.)141 3930 y(A)h(descriptor)e(is)g(asso)s(ciated)i(with)f(eac)
m(h)h(distributed)d(matrix.)40 b(The)30 b(en)m(tries)g(of)h(the)f
(descriptor)g(uniquely)0 4043 y(determine)39 b(the)i(mapping)d(of)j
(the)f(matrix)g(en)m(tries)g(on)m(to)h(the)g(lo)s(cal)e(pro)s(cesses')h
(memories.)70 b(Since)39 b(v)m(ectors)0 4156 y(ma)m(y)29
b(b)s(e)f(seen)g(as)h(a)g(sp)s(ecial)e(case)i(of)g(distributed)c
(matrices)j(or)h(prop)s(er)e(submatrices,)h(the)g(larger)g(sc)m(heme)i
(just)0 4269 y(de\014ned)f(encompasses)i(their)e(description)g(as)h(w)m
(ell.)141 4382 y(The)25 b(lo)s(cal)f(storage)i(con)m(v)m(en)m(tion)h
(of)e(the)g(distributed)d(matrix)i(op)s(erands)g(in)g(ev)m(ery)i(pro)s
(cess's)e(memory)h(do)s(es)0 4495 y(not)f(need)f(to)h(b)s(e)e(sp)s
(eci\014ed)g(b)m(y)h(the)h(standard.)37 b(It)24 b(is)e(ho)m(w)m(ev)m
(er)j(recommended)e(that)h(con)m(v)m(enien)m(t)g(data)g(structure)0
4608 y(are)k(c)m(hosen)f(b)m(y)g(a)h(giv)m(en)f(implemen)m(tation)f
(allo)m(wing)g(to)h(rely)g(on)g(the)g(sequen)m(tial)g(BLAS)g(to)h(p)s
(erform)d(the)j(lo)s(cal)0 4721 y(computations)i(within)e(a)j(pro)s
(cess.)141 4834 y(The)22 b(distributed-memory)e(dense)j(BLAS)f(should)f
(not)i(pro)m(vide)f(mec)m(hanisms)g(for)g(dealing)g(with)f(failures)g
(in)0 4946 y(the)j(comm)m(unication)f(and)g(computation)g(systems.)39
b(If)23 b(the)h(distributed-memory)d(dense)i(BLAS)g(is)g(built)f(on)h
(an)0 5059 y(unreliable)c(underlying)g(mec)m(hanism,)24
b(then)d(it)h(is)f(the)h(job)g(of)g(the)h(implemen)m(tor\(s\))e(of)h
(the)h(distributed-memory)0 5172 y(dense)i(BLAS)f(subsystem)h(to)g
(insulate)f(the)h(user)f(from)h(this)f(unreliabilit)m(y)-8
b(,)23 b(or)i(to)g(re\015ect)h(unreco)m(v)m(erable)f(errors)0
5285 y(as)d(failures.)35 b(Whenev)m(er)22 b(p)s(ossible,)f(suc)m(h)g
(failures)f(will)e(b)s(e)j(re\015ected)h(as)f(errors)g(in)f(the)i
(relev)-5 b(an)m(t)21 b(comm)m(unication)0 5398 y(or)30
b(computation)h(call.)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 205 215
205 214 bop 0 -165 a FA(C.2.)71 b(DISTRIBUTED-MEMOR)-8
b(Y)31 b(DENSE)g(BLAS)1814 b FK(205)141 91 y(Of)32 b(course,)g
(distributed-memory)e(dense)h(BLAS)h(programs)g(can)g(still)e(b)s(e)h
(erroneous.)45 b(A)33 b(program)e(error)0 204 y(can)i(o)s(ccur)g(when)e
(a)j(distributed-memory)c(dense)i(BLAS)h(routine)e(is)h(called)g(with)g
(an)g(in)m(v)-5 b(alid)31 b(v)-5 b(alue)32 b(for)h(an)m(y)0
317 y(of)h(its)f(argumen)m(ts.)52 b(The)34 b(routine)e(m)m(ust)i(rep)s
(ort)g(this)e(fact)j(and)f(terminate)f(the)i(execution)f(of)g(the)g
(program.)0 430 y(Eac)m(h)39 b(routine,)h(on)e(detecting)h(an)g(error,)
h(should)d(call)h(a)g(common)h(error-handling)d(routine,)k(passing)d
(to)i(it)0 543 y(the)29 b(curren)m(t)h(comm)m(unication)e(con)m(text,)k
(the)d(name)h(of)f(the)h(routine)e(and)h(the)g(n)m(um)m(b)s(er)f(of)h
(the)h(\014rst)e(argumen)m(t)0 656 y(that)j(is)e(in)f(error.)40
b(F)-8 b(or)31 b(e\016ciency)f(purp)s(oses,)f(the)h(distributed-memory)
d(dense)j(BLAS)g(only)f(p)s(erform)f(a)j(lo)s(cal)0 769
y(v)-5 b(alidit)m(y)32 b(c)m(hec)m(k)j(of)e(their)g(argumen)m(t)g
(list.)49 b(If)33 b(an)g(error)g(is)f(detected)j(in)d(at)i(least)g(one)
f(pro)s(cess)g(of)h(the)f(curren)m(t)0 882 y(con)m(text,)f(the)f
(program)f(execution)h(is)e(stopp)s(ed.)141 995 y(A)38
b(global)f(v)-5 b(alidit)m(y)36 b(c)m(hec)m(k)k(of)e(the)g(input)d
(argumen)m(ts)k(passed)e(to)h(a)h(distributed-memory)c(dense)i(BLAS)0
1108 y(routine)32 b(m)m(ust)g(b)s(e)g(p)s(erformed)g(in)f(the)i
(user-lev)m(el)f(calling)f(pro)s(cedure.)47 b(T)-8 b(o)33
b(demonstrate)g(the)g(need)g(and)f(cost)0 1220 y(of)40
b(global)f(c)m(hec)m(king,)k(as)d(w)m(ell)f(as)h(the)g(reason)g(wh)m(y)
f(this)g(t)m(yp)s(e)h(of)g(c)m(hec)m(king)g(should)e(not)i(b)s(e)f(p)s
(erformed)f(in)0 1333 y(the)c(distributed-memory)d(dense)i(BLAS,)h
(consider)f(the)h(follo)m(wing)e(example:)47 b(the)34
b(v)-5 b(alue)33 b(of)h(a)g(global)f(input)0 1446 y(argumen)m(t)f(is)e
(legal)h(but)g(di\013ers)f(from)h(one)g(pro)s(cess)g(to)h(another.)44
b(The)31 b(results)f(are)i(unpredictable.)41 b(In)30
b(order)0 1559 y(to)e(detect)g(this)e(kind)f(of)i(error)f(situation,)h
(a)g(sync)m(hronization)f(p)s(oin)m(t)g(w)m(ould)f(b)s(e)h(necessary)-8
b(,)29 b(whic)m(h)d(ma)m(y)h(result)0 1672 y(in)c(a)i(signi\014can)m(t)
e(p)s(erformance)h(degradation.)39 b(Since)23 b(ev)m(ery)i(pro)s(cess)f
(m)m(ust)h(call)e(the)i(same)g(routine)e(to)i(p)s(erform)0
1785 y(the)e(desired)e(op)s(eration)i(successfully)-8
b(,)23 b(it)f(is)g(natural)g(and)h(safe)g(to)h(restrict)e(somewhat)i
(the)f(amoun)m(t)g(of)g(c)m(hec)m(king)0 1898 y(op)s(erations)30
b(p)s(erformed)f(in)g(the)h(distributed-memory)e(dense)i(BLAS)g
(routines.)141 2011 y(Sp)s(ecialized)24 b(implemen)m(tations)g(ma)m(y)j
(call)e(system-sp)s(eci\014c)g(exception-handling)f(facilities,)h
(either)h(via)f(an)0 2124 y(auxiliary)e(routine)h(or)h(directly)e(from)
i(the)g(routine.)38 b(In)24 b(addition,)h(the)g(testing)g(programs)g
(can)g(tak)m(e)i(adv)-5 b(an)m(tage)0 2237 y(of)21 b(this)f
(exception-handling)f(mec)m(hanism)h(b)m(y)g(sim)m(ulating)f(sp)s
(eci\014c)h(erroneous)g(input)f(argumen)m(t)j(lists)d(and)h(then)0
2350 y(v)m(erifying)29 b(that)i(particular)e(errors)g(are)i(correctly)g
(detected.)141 2462 y(Resource)21 b(errors)g(can)g(also)f(o)s(ccur)h
(when)f(a)h(program)f(exceeds)i(the)f(amoun)m(t)g(of)g(a)m(v)-5
b(ailable)20 b(system)h(resources.)0 2575 y(The)37 b(o)s(ccurence)h(of)
g(this)f(t)m(yp)s(e)h(of)g(error)f(dep)s(ends)f(on)i(the)g(amoun)m(t)g
(of)g(a)m(v)-5 b(ailable)37 b(resources)g(in)g(the)h(system)0
2688 y(and)43 b(the)h(resource)g(allo)s(cation)f(mec)m(hanism)g(used;)
50 b(this)43 b(ma)m(y)h(di\013er)e(from)i(system)g(to)g(system.)81
b(A)44 b(high-)0 2801 y(qualit)m(y)34 b(implemen)m(tation)f(will)f(pro)
m(vide)i(generous)g(limits)f(on)h(the)h(imp)s(ortan)m(t)f(resources)g
(so)h(as)g(to)g(alleviate)0 2914 y(the)c(p)s(ortabilit)m(y)d(problem)h
(this)g(represen)m(ts.)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 206 216
206 215 bop 0 -165 a FK(206)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FE(C.3)116 b(F)m(o)m(rtran)38
b(95)g(Thin)h(BLAS)0 298 y Fx(C.3.1)98 b(Intro)s(duction)0
469 y FK(This)29 b(pap)s(er)g(presen)m(ts)h(a)h(prop)s(osal)e(for)h(a)h
(sp)s(eci\014cation)e(of)h(F)-8 b(ortran)31 b(95)h(thin)d(BLAS.)141
582 y(A)37 b(preliminary)c(v)m(ersion)k(of)g(the)g(F90)h(Blas)f(prop)s
(osal)e(has)i(b)s(een)f(circulated)g(informally)e(\(but)i(not)i(v)m
(ery)0 695 y(widely\))44 b(for)h(ab)s(out)g(4)h(y)m(ears,)k(and)44
b(co)s(de)i(whic)m(h)e(implemen)m(ts)g(that)i(v)m(ersion)e(has)h(b)s
(een)g(a)m(v)-5 b(ailable)45 b(in)f(the)0 808 y(F)-8
b(ortran)31 b(90)g(soft)m(w)m(are)h(rep)s(ository)d(main)m(tained)h(b)m
(y)g(NA)m(G)h(Ltd)f(\()p FG(h)m(ttp://www.nag.co.uk)p
FK(\).)141 921 y(This)c(prop)s(osal)h(is)g(designed)g(to)h(co)m(v)m(er)
i(|)e(as)g(far)g(as)g(seems)g(sensible)e(|)i(roughly)f(the)h(same)g
(functionalit)m(y)0 1034 y(as)h(the)g(original)e(Lev)m(el)j(1,)g(2)f
(and)f(3)i(\(F)-8 b(ortran)30 b(77\))g(BLAS.)f(It)g(do)s(es)f(not)i
(address)e(sparse)g(matrices)h(or)g(v)m(ectors,)0 1147
y(nor)h(do)s(es)g(it)g(explicitly)e(address)h(issues)g(of)i(parallel)d
(computation.)141 1260 y(Man)m(y)j(of)f(the)g(F)-8 b(ortran)30
b(77)h(Lev)m(el)f(1)g(BLAS)g(can)g(b)s(e)f(replaced)h(b)m(y)f(simple)f
(arra)m(y)j(expressions)d(and)h(assign-)0 1372 y(men)m(ts)i(in)e(F)-8
b(ortran)31 b(95,)g(without)f(loss)f(of)i(con)m(v)m(enience)g(or)g(p)s
(erformance)e(\(assuming)h(a)g(reasonable)h(degree)g(of)0
1485 y(optimisation)e(b)m(y)h(the)h(compiler\).)40 b(F)-8
b(ortran)31 b(95)g(also)g(allo)m(ws)e(groups)h(of)h(related)f(Lev)m(el)
h(2)g(and)f(Lev)m(el)g(3)h(BLAS)0 1598 y(to)g(b)s(e)f(merged)g
(together,)i(eac)m(h)g(group)e(b)s(eing)f(co)m(v)m(ered)j(b)m(y)e(a)h
(single)e(in)m(terface.)0 1842 y Fx(C.3.2)98 b(Design)33
b(of)f(F)m(o)m(rtran)h(95)g(Interfaces)0 2013 y FK(Our)c(prop)s(osed)g
(design)h(utilizes)e(the)j(follo)m(wing)e(features)h(of)h(the)f(F)-8
b(ortran)31 b(95)h(language.)0 2226 y FG(Generic)k(in)m(terfaces:)45
b FK(all)33 b(routines)g(are)i(accessed)g(through)e Fz(generic)h
FK(in)m(terfaces.)52 b(A)34 b(single)f(generic)h(name)227
2339 y(co)m(v)m(ers)e(sev)m(eral)f(sp)s(eci\014c)e(instances)h(whose)g
(argumen)m(ts)h(ma)m(y)g(di\013er)e(in)g(the)i(follo)m(wing)d(prop)s
(erties:)227 2551 y FG(data)34 b(t)m(yp)s(e)46 b FK(\(real)29
b(or)g(complex\).)41 b(Ho)m(w)m(ev)m(er,)32 b(the)d(relev)-5
b(an)m(t)30 b(argumen)m(ts)g(m)m(ust)f(b)s(e)g(either)f(all)h(real)g
(or)g(all)427 2664 y(complex.)64 b(\(W)-8 b(e)40 b(do)e(not,)i(for)e
(example,)i(cater)f(for)f(m)m(ultiplying)d(a)j(real)g(matrix)g(b)m(y)g
(a)g(complex)427 2777 y(matrix,)28 b(though)f(this)f(functionalit)m(y)g
(could)g(easily)h(b)s(e)f(added)h(to)h(the)g(design)e(if)g(there)i(w)m
(as)f(a)h(need)427 2890 y(for)i(it.\))227 3036 y FG(precision)47
b FK(\(or)33 b(equiv)-5 b(alen)m(tly)d(,)33 b(kind-v)-5
b(alue\).)47 b(Ho)m(w)m(ev)m(er,)36 b(all)c(real)h(or)g(complex)g
(argumen)m(ts)g(m)m(ust)g(ha)m(v)m(e)427 3149 y(the)e(same)g
(precision.)227 3295 y FG(rank)46 b FK(Some)22 b(argumen)m(ts)h(ma)m(y)
g(either)f(ha)m(v)m(e)h(rank)f(2)h(\(to)g(store)g(a)g(matrix\))f(or)g
(rank)g(1)h(\(to)g(store)g(a)g(v)m(ector\).)227 3441
y FG(di\013eren)m(t)35 b(argumen)m(t)f(list)45 b FK(Some)33
b(of)f(the)g(argumen)m(ts)h(ma)m(y)g(not)f(app)s(ear)g(in)f(a)i(sp)s
(eci\014c)e(instance.)46 b(In)427 3554 y(this)38 b(case)j(a)e
(pre-de\014ned)f(v)-5 b(alue)39 b(or)g(a)h(pre-de\014ned)e(action)h(is)
g(assumed.)67 b(The)38 b(follo)m(wing)g(table)427 3667
y(con)m(tains)33 b(the)g(pre-de\014ned)e(v)-5 b(alue)32
b(or)g(action)h(for)f(the)h(argumen)m(t)g(that)g(ma)m(y)g(not)g(b)s(e)f
(used.)46 b(Some)427 3780 y(of)31 b(these)g(argumen)m(ts)f(are)h(k)m
(ey)g(argumen)m(ts)g(that)g(will)d(b)s(e)h(describ)s(ed)g(later.)1078
3964 y(argumen)m(t)p 1502 3998 4 113 v 100 w(v)-5 b(alue)30
b(or)g(action)h(if)e(the)i(argumen)m(t)f(is)g(not)g(used)p
1028 4001 2272 4 v 1078 4080 a(alpha)p 1502 4114 4 113
v 258 w(1.0)h(or)g(\(1.0,0.0\))1078 4193 y(b)s(eta)p
1502 4227 V 302 w(0.0)g(or)g(\(0.0,0.0\))1078 4306 y(op)p
1179 4306 28 4 v 32 w(x)p 1502 4340 4 113 v 300 w(op)s(erate)g(with)e
(x)1078 4419 y(lo)m(w)m(er)p 1502 4453 V 269 w(reference)i(upp)s(er)d
(triangle)h(only)1078 4532 y(righ)m(t)p 1273 4532 28
4 v 32 w(side)p 1502 4566 4 113 v 101 w(op)s(erate)i(on)f(the)h
(left-hand)e(side)1078 4645 y(unit)p 1246 4645 28 4 v
31 w(diag)p 1502 4679 4 113 v 115 w(non-unit)f(triangular)0
4850 y FG(Assumed-shap)s(e)34 b(arra)m(ys:)46 b FK(all)26
b(arra)m(y)i(argumen)m(ts)g(are)g Fz(assume)-5 b(d-shap)g(e)30
b FK(arra)m(ys,)f(whic)m(h)d(m)m(ust)h(ha)m(v)m(e)i(the)e(ex-)227
4963 y(act)33 b(shap)s(e)f(required)e(to)i(store)h(the)f(corresp)s
(onding)e(matrix)h(or)h(v)m(ector.)48 b(Hence)32 b(argumen)m(ts)h(to)f
(sp)s(ecify)227 5075 y(arra)m(y-dimensions)25 b(or)i
(problem-dimensions)c(are)k(not)g(required.)37 b(The)27
b(routines)e(assume)i(that)g(the)g(sup-)227 5188 y(plied)h(arra)m(ys)i
(ha)m(v)m(e)h(v)-5 b(alid)28 b(and)i(consisten)m(t)g(shap)s(es)f(\(see)
h(Section)g(C.3.5\).)42 b(Zero)30 b(dimensions)d(\(implying)227
5301 y(empt)m(y)k(arra)m(ys\))g(are)g(allo)m(w)m(ed.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 207 217
207 216 bop 0 -165 a FA(C.3.)71 b(F)m(OR)-8 b(TRAN)31
b(95)h(THIN)e(BLAS)2419 b FK(207)0 91 y FG(Key)35 b(argumen)m(ts:)45
b FK(in)23 b(the)i(F)-8 b(ortran)25 b(77)g(BLAS,)g(w)m(e)g(use)f(c)m
(haracter)i(argumen)m(ts)f(to)g(sp)s(ecify)f(di\013eren)m(t)g(options)
227 204 y(for)33 b(the)f(op)s(eration)g(to)i(b)s(e)e(p)s(erformed.)45
b(In)32 b(this)g(prop)s(osal)f(w)m(e)i(suggest)g(using)e(k)m(ey)j
(argumen)m(ts.)47 b(A)33 b(k)m(ey)227 317 y(argumen)m(t)i(is)e(a)i
(dumm)m(y)e(argumen)m(t)h(whose)g(actual)h(argumen)m(t)f(m)m(ust)g(b)s
(e)g(a)g(named)g(constan)m(t)h(de\014ned)227 430 y(b)m(y)i(BLAS.)f(The)
g(follo)m(wing)f(table)i(lists)e(the)h(k)m(ey)i(argumen)m(ts,)g(the)f
(related)f(BLAS)h(named)f(constan)m(ts)227 543 y(and)30
b(the)h(equiv)-5 b(alen)m(t)29 b(F77)j(BLAS)e(v)-5 b(alues.)277
880 y(dumm)m(y)29 b(argumen)m(t)p 1030 914 4 113 v 101
w(named)g(constan)m(t)p 1759 914 V 101 w(meaning)p 3259
914 V 1167 w(F77)i(argumen)m(t)p 227 917 3751 4 v 277
996 a(op)p 378 996 28 4 v 33 w(x)p 1030 1030 4 113 v
628 w Fz(not)i(use)-5 b(d)p 1759 1030 V 399 w FK(op)s(erate)31
b(with)f(x)p 3259 1030 V 919 w(TRANSx)f(=)h('N')p 1030
1143 V 1082 1109 a(blas)p 1245 1109 28 4 v 31 w(trans)p
1759 1143 4 113 v 336 w(op)s(erate)h(with)f(transp)s(ose)f(x)p
3259 1143 V 512 w(TRANSx)g(=)h('T')p 1030 1256 V 1082
1222 a(blas)p 1245 1222 28 4 v 31 w(conj)p 1759 1256
4 113 v 375 w(op)s(erate)h(with)f(conjugate)h(x)p 3259
1256 V 508 w(TRANSx)e(=)h('C')p 1030 1369 V 1082 1335
a(blas)p 1245 1335 28 4 v 31 w(conj)p 1440 1335 V 33
w(trans)p 1759 1369 4 113 v 139 w(op)s(erate)h(with)f(conjugate-transp)
s(ose)h(x)p 3259 1369 V 100 w(TRANSx)e(=)h('H')277 1448
y(lo)m(w)m(er)p 1030 1482 V 598 w Fz(not)j(use)-5 b(d)p
1759 1482 V 399 w FK(reference)31 b(upp)s(er)e(triangle)g(only)p
3259 1482 V 355 w(UPLO)g(=)h('U')p 1030 1595 V 1082 1561
a(blas)p 1245 1561 28 4 v 31 w(lo)m(w)m(er)p 1759 1595
4 113 v 332 w(reference)h(lo)m(w)m(er)g(triangle)e(only)p
3259 1595 V 378 w(UPLO)g(=)h('L')277 1674 y(righ)m(t)p
472 1674 28 4 v 32 w(side)p 1030 1708 4 113 v 430 w Fz(not)j(use)-5
b(d)p 1759 1708 V 399 w FK(op)s(erate)31 b(on)g(the)f(left-hand)g(side)
p 3259 1708 V 352 w(SIDE)g(=)g('L')p 1030 1821 V 1082
1787 a(blas)p 1245 1787 28 4 v 31 w(righ)m(t)p 1759 1821
4 113 v 349 w(op)s(erate)h(on)g(the)f(righ)m(t-hand)f(side)p
3259 1821 V 292 w(SIDE)h(=)g('R')277 1900 y(unit)p 445
1900 28 4 v 31 w(diag)p 1030 1934 4 113 v 444 w Fz(not)j(use)-5
b(d)p 1759 1934 V 399 w FK(non-unit)29 b(triangular)p
3259 1934 V 736 w(DIA)m(G)i(=)f('N')p 1030 2046 V 1082
2013 a(blas)p 1245 2013 28 4 v 31 w(unit)p 1439 2013
V 32 w(diag)p 1759 2046 4 113 v 177 w(unit)f(triangular)p
3259 2046 V 913 w(DIA)m(G)i(=)f('U')0 2261 y Fx(C.3.3)98
b(Interfaces)33 b(fo)m(r)g(Real)f(Data)0 2433 y FK(The)e(primary)e(aim)
i(of)h(this)e(pap)s(er)g(is)h(to)h(con)m(v)m(ey)h(the)e(\015a)m(v)m
(our)h(of)g(the)f(di\013eren)m(t)g(generic)g(in)m(terfaces.)141
2545 y(Therefore)k(w)m(e)g(\014rst)g(describ)s(e)e(the)i(in)m(terfaces)
h(as)f(they)g(apply)f(to)i Fz(r)-5 b(e)g(al)35 b FK(data.)53
b(The)33 b(extra)i(complications)0 2658 y(whic)m(h)29
b(arise)h(when)f(they)i(apply)e(to)i(complex)f(data)h(will)d(b)s(e)i
(considered)f(in)g(Section)h(C.3.4.)141 2771 y(W)-8 b(e)27
b(summarize)d(eac)m(h)i(in)m(terface)g(in)e(the)h(form)g(of)g(a)h
FD(subroutine)c FK(statemen)m(t)27 b(\(or)f(in)e(one)h(case)i(a)e
FD(function)0 2884 y FK(statemen)m(t\),)40 b(in)35 b(whic)m(h)g(all)g
(the)h(argumen)m(ts)g(migh)m(t)g(app)s(ear.)57 b(\(This)35
b(is)g(a)i(con)m(v)m(enien)m(t)g(w)m(a)m(y)g(to)g(think)d(of)j(the)0
2997 y(in)m(terface,)d(although)d(suc)m(h)h(a)h(statemen)m(t)h(using)d
(the)i(generic)f(in)m(terface)h(name)f(nev)m(er)h(app)s(ears)f(in)f
(the)h(co)s(de.\))0 3110 y(Argumen)m(ts)e(whic)m(h)g(need)g(not)g(b)s
(e)g(supplied)d(are)k(enclosed)f(in)f(square)h(brac)m(k)m(ets,)i(for)e
(example:)0 3323 y FD(subroutine)45 b(trmm\()h([alpha,])g(a,)h([op_a,])
f(b,)h([lower,])f([right_side,])e([unit_diag])h(\))141
3535 y FK(This)30 b(is)g(follo)m(w)m(ed)h(b)m(y)g(a)h(table)f(whic)m(h)
g(lists)f(the)h(di\013eren)m(t)g(v)-5 b(arian)m(ts)31
b(of)h(the)f(op)s(eration,)h(dep)s(ending)c(either)0
3648 y(on)i(the)h(ranks)f(of)g(some)h(of)f(the)h(argumen)m(ts)g(or)f
(on)g(the)h(k)m(ey)g(argumen)m(ts.)141 3761 y(The)e(follo)m(wing)e
(table)i(sho)m(ws)g(the)g(v)-5 b(alues)28 b(used)g(in)g(the)h(tables)g
(and)f(the)h(related)g(named)g(constan)m(t)h(for)f(the)0
3874 y(k)m(ey)i(argumen)m(ts.)914 4078 y(dumm)m(y)f(argumen)m(t)p
1667 4112 V 100 w(v)-5 b(alue)30 b(in)f(table)p 2305
4112 V 99 w(named)h(constan)m(t)p 865 4116 2171 4 v 914
4195 a(op)p 1015 4195 28 4 v 33 w(x)p 1667 4229 4 113
v 628 w('T')p 2305 4229 V 521 w(blas)p 2519 4195 28 4
v 32 w(trans)p 1667 4342 4 113 v 1719 4308 a('C')p 2305
4342 V 521 w(blas)p 2519 4308 28 4 v 32 w(conj)p 1667
4454 4 113 v 1719 4421 a('C/T')p 2305 4454 V 410 w(blas)p
2519 4421 28 4 v 32 w(conj)p 2715 4421 V 33 w(trans)914
4533 y(righ)m(t)p 1109 4533 V 33 w(side)p 1667 4567 4
113 v 429 w('R')p 2305 4567 V 520 w(blas)p 2519 4533
28 4 v 32 w(righ)m(t)0 4915 y Fv(Routines)g(using)g(conventional)h(sto)
m(rage)h(fo)m(r)f(matrices)0 5087 y FK(By)g(con)m(v)m(en)m(tional)g
(storage,)h(w)m(e)f(mean)f(storing)g(a)h(matrix)f(in)f(a)h
(2-dimensional)f(arra)m(y)-8 b(,)0 5300 y FD(subroutine)45
b(gemm\()h([alpha,])g(a,)h([op_a,])f(b,)h([op_b],)f([beta,])g(c)h(\))
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 208 218
208 217 bop 0 -165 a FK(208)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)341 79 y FK(rank)g(of)g
FD(a)p 750 113 4 113 v 99 w FK(rank)g(of)h FD(b)p 1211
113 V 99 w FK(rank)f(of)h FD(c)p 1671 113 V 99 w(op)p
1825 79 29 4 v 34 w(a)p 1949 113 4 113 v 99 w(op)p 2102
79 29 4 v 34 w(b)p 2226 113 4 113 v 99 w FK(op)s(eration)p
3087 113 V 485 w(F77)g(BLAS)p 291 116 3319 4 v 499 195
a(2)p 750 229 4 113 v 415 w(2)p 1211 229 V 416 w(2)p
1671 229 V 1949 229 V 2226 229 V 812 w Fy(C)h FJ( )25
b Fy(\013AB)h FK(+)19 b Fy(\014)5 b(C)p 3087 229 V 3145
195 29 4 v 251 w FD(GEMM)499 308 y FK(2)p 750 342 4 113
v 415 w(2)p 1211 342 V 416 w(2)p 1671 342 V 1949 342
V 566 w('T')p 2226 342 V 130 w Fy(C)32 b FJ( )25 b Fy(\013AB)2690
275 y Fw(T)2766 308 y FK(+)19 b Fy(\014)5 b(C)p 3087
342 V 3145 308 29 4 v 196 w FD(GEMM)499 421 y FK(2)p
750 455 4 113 v 415 w(2)p 1211 455 V 416 w(2)p 1671 455
V 289 w('T')p 1949 455 V 2226 455 V 407 w Fy(C)32 b FJ( )25
b Fy(\013A)2616 388 y Fw(T)2672 421 y Fy(B)g FK(+)19
b Fy(\014)5 b(C)p 3087 455 V 3145 421 29 4 v 196 w FD(GEMM)499
534 y FK(2)p 750 568 4 113 v 415 w(2)p 1211 568 V 416
w(2)p 1671 568 V 289 w('T')p 1949 568 V 161 w('T')p 2226
568 V 130 w Fy(C)32 b FJ( )25 b Fy(\013A)2616 501 y Fw(T)2672
534 y Fy(B)2746 501 y Fw(T)2821 534 y FK(+)20 b Fy(\014)5
b(C)p 3087 568 V 3145 534 29 4 v 140 w FD(GEMM)499 647
y FK(2)p 750 681 4 113 v 415 w(1)p 1211 681 V 416 w(1)p
1671 681 V 1949 681 V 2226 681 V 812 w Fy(c)26 b FJ( )f
Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p 3087 681 V 3145 647
29 4 v 343 w FD(GEMV)499 760 y FK(2)p 750 794 4 113 v
415 w(1)p 1211 794 V 416 w(1)p 1671 794 V 289 w('T')p
1949 794 V 2226 794 V 407 w Fy(c)26 b FJ( )f Fy(\013A)2584
727 y Fw(T)2640 760 y Fy(b)20 b FK(+)g Fy(\014)5 b(c)p
3087 794 V 3145 760 29 4 v 288 w FD(GEMV)499 873 y FK(1)p
750 907 4 113 v 415 w(1)p 1211 907 V 416 w(2)p 1671 907
V 1949 907 V 2226 907 V 812 w Fy(C)32 b FJ( )25 b Fy(\013ab)2635
840 y Fw(T)2711 873 y FK(+)20 b Fy(\014)5 b(C)p 3087
907 V 3145 873 29 4 v 250 w FD(GER)p 3323 873 V 0 1075
a(subroutine)45 b(symm\()h([alpha,])g(a,)h(b,)g([beta,])f(c,)h
([lower,])f([right_side])e(\))0 1188 y(subroutine)h(hemm\()h([alpha,])g
(a,)h(b,)g([beta,])f(c,)h([lower,])f([right_side])e(\))622
1393 y FK(rank)29 b(of)i FD(b)p 1031 1427 4 113 v 99
w FK(rank)f(of)h FD(c)p 1492 1427 V 99 w(right)p 1789
1393 29 4 v 33 w(side)p 2055 1427 4 113 v 99 w FK(op)s(eration)p
2807 1427 V 374 w(F77)h(BLAS)p 572 1430 2757 4 v 779
1509 a(2)p 1031 1543 4 113 v 416 w(2)p 1492 1543 V 2055
1543 V 822 w Fy(C)f FJ( )25 b Fy(\013AB)h FK(+)20 b Fy(\014)5
b(C)p 2807 1543 V 2864 1509 29 4 v 140 w FD(SYMM)779
1622 y FK(2)p 1031 1656 4 113 v 416 w(2)p 1492 1656 V
431 w('R')p 2055 1656 V 274 w Fy(C)31 b FJ( )25 b Fy(\013B)5
b(A)21 b FK(+)f Fy(\014)5 b(C)p 2807 1656 V 2864 1622
29 4 v 140 w FD(SYMM)779 1735 y FK(1)p 1031 1769 4 113
v 416 w(1)p 1492 1769 V 2055 1769 V 822 w Fy(c)25 b FJ( )g
Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p 2807 1769 V 2864 1735
29 4 v 233 w FD(SYMV)141 1937 y FK(where)30 b Fy(A)h
FK(is)e(a)i(symmetric)e(matrix.)0 2147 y FD(subroutine)45
b(syrk\()h([alpha,])g(a,)h([op_a,])f([beta,])g(c,)h([lower])f(\))0
2260 y(subroutine)f(herk\()h([alpha,])g(a,)h([op_a,])f([beta,])g(c,)h
([lower])f(\))970 2465 y FK(rank)30 b(of)h FD(a)p 1379
2499 4 113 v 99 w(op)p 1533 2465 29 4 v 34 w(a)p 1657
2499 4 113 v 99 w FK(op)s(eration)p 2458 2499 V 424 w(F77)h(BLAS)p
920 2502 2060 4 v 1128 2581 a(2)p 1379 2615 4 113 v 1657
2615 V 535 w Fy(C)g FJ( )25 b Fy(\013AA)2115 2548 y Fw(T)2191
2581 y FK(+)20 b Fy(\014)5 b(C)p 2458 2615 V 2515 2581
29 4 v 141 w FD(SYRK)1128 2694 y FK(2)p 1379 2728 4 113
v 289 w('T')p 1657 2728 V 130 w Fy(C)32 b FJ( )25 b Fy(\013A)2047
2661 y Fw(T)2103 2694 y Fy(A)20 b FK(+)g Fy(\014)5 b(C)p
2458 2728 V 2515 2694 29 4 v 141 w FD(SYRK)1128 2807
y FK(1)p 1379 2841 4 113 v 1657 2841 V 535 w Fy(C)32
b FJ( )25 b Fy(\013aa)2075 2774 y Fw(T)2151 2807 y FK(+)20
b Fy(\014)5 b(C)p 2458 2841 V 2515 2807 29 4 v 181 w
FD(SYR1)141 3010 y FK(where)30 b Fy(C)37 b FK(is)29 b(a)i(symmetric)f
(matrix.)0 3220 y FD(subroutine)45 b(syr2k\()h([alpha,])g(a,)h([op_a,])
f(b,)h([beta,])f(c,)h([lower])f(\))0 3333 y(subroutine)f(he2rk\()h
([alpha,])g(a,)h([op_a,])f(b,)h([beta,])f(c,)h([lower])f(\))554
3537 y FK(rank)30 b(of)g FD(a)p 963 3571 4 113 v 100
w FK(rank)g(of)g FD(b)p 1424 3571 V 99 w(op)p 1577 3537
29 4 v 34 w(a)p 1701 3571 4 113 v 100 w FK(op)s(eration)p
2874 3571 V 796 w(F77)h(BLAS)p 504 3574 2892 4 v 712
3653 a(2)p 963 3687 4 113 v 416 w(2)p 1424 3687 V 1701
3687 V 535 w Fy(C)g FJ( )26 b Fy(\013AB)2166 3620 y Fw(T)2241
3653 y FK(+)20 b Fy(\013B)5 b(A)2532 3620 y Fw(T)2607
3653 y FK(+)20 b Fy(\014)5 b(C)p 2874 3687 V 2931 3653
29 4 v 141 w FD(SYR2K)712 3766 y FK(2)p 963 3800 4 113
v 416 w(2)p 1424 3800 V 288 w('T')p 1701 3800 V 131 w
Fy(C)31 b FJ( )26 b Fy(\013A)2092 3733 y Fw(T)2147 3766
y Fy(B)f FK(+)20 b Fy(\013B)2464 3733 y Fw(T)2519 3766
y Fy(A)g FK(+)g Fy(\014)5 b(C)p 2874 3800 V 2931 3766
29 4 v 141 w FD(SYR2K)712 3879 y FK(1)p 963 3913 4 113
v 416 w(1)p 1424 3913 V 1701 3913 V 535 w Fy(C)31 b FJ( )26
b Fy(\013ab)2111 3846 y Fw(T)2186 3879 y FK(+)20 b Fy(\013ba)2422
3846 y Fw(T)2498 3879 y FK(+)g Fy(\014)5 b(C)p 2874 3913
V 2931 3879 29 4 v 250 w FD(SYR2)141 4082 y FK(where)30
b Fy(C)37 b FK(is)29 b(a)i(symmetric)f(matrix.)0 4292
y FD(subroutine)45 b(trmm\()h([alpha,])g(a,)h([op_a,])f(b,)h([lower,])f
([right_side,])e([unit_diag])h(\))804 4497 y FK(rank)30
b(of)h FD(b)p 1213 4530 4 113 v 99 w(op)p 1367 4497 29
4 v 34 w(a)p 1491 4530 4 113 v 99 w(right)p 1788 4497
29 4 v 33 w(side)p 2054 4530 4 113 v 99 w FK(op)s(eration)p
2624 4530 V 192 w(F77)h(BLAS)p 754 4534 2392 4 v 962
4613 a(2)p 1213 4647 4 113 v 1491 4647 V 2054 4647 V
1099 w Fy(B)d FJ( )d Fy(\013AB)p 2624 4647 V 2681 4613
29 4 v 194 w FD(TRMM)962 4726 y FK(2)p 1213 4760 4 113
v 289 w('T')p 1491 4760 V 2054 4760 V 694 w Fy(B)j FJ( )d
Fy(\013A)2447 4693 y Fw(T)2502 4726 y Fy(B)p 2624 4760
V 2681 4726 29 4 v 139 w FD(TRMM)962 4839 y FK(2)p 1213
4872 4 113 v 1491 4872 V 708 w('R')p 2054 4872 V 274
w Fy(B)j FJ( )d Fy(\013B)5 b(A)p 2624 4872 V 2681 4839
29 4 v 189 w FD(TRMM)962 4952 y FK(2)p 1213 4985 4 113
v 289 w('T')p 1491 4985 V 303 w('R')p 2054 4985 V 274
w Fy(B)29 b FJ( )d Fy(\013B)5 b(A)2521 4919 y Fw(T)p
2624 4985 V 2681 4952 29 4 v 2710 4952 a FD(TRMM)962
5064 y FK(1)p 1213 5098 4 113 v 1491 5098 V 2054 5098
V 1099 w Fy(b)25 b FJ( )g Fy(\013Ab)p 2624 5098 V 2681
5064 29 4 v 259 w FD(TRMV)962 5177 y FK(1)p 1213 5211
4 113 v 289 w('T')p 1491 5211 V 2054 5211 V 694 w Fy(b)g
FJ( )g Fy(\013A)2412 5144 y Fw(T)2468 5177 y Fy(b)p 2624
5211 V 2681 5177 29 4 v 203 w FD(TRMV)0 5380 y(subroutine)45
b(trsm\()h([alpha,])g(a,)h([op_a,])f(b,)h([lower,])f([right_side,])e
([unit_diag])h(\))4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 209 219
209 218 bop 0 -165 a FA(C.3.)71 b(F)m(OR)-8 b(TRAN)31
b(95)h(THIN)e(BLAS)2419 b FK(209)821 79 y(rank)30 b(of)h
FD(b)p 1231 113 4 113 v 99 w(op)p 1384 79 29 4 v 34 w(a)p
1508 113 4 113 v 99 w FK(righ)m(t)p 1754 79 28 4 v 33
w(side)p 1982 113 4 113 v 98 w(op)s(eration)p 2607 113
V 248 w(F77)h(BLAS)p 772 116 2357 4 v 979 195 a(2)p 1231
229 4 113 v 1508 229 V 1982 229 V 1009 w Fy(B)e FJ( )25
b Fy(\013A)2374 162 y Fu(\000)p FC(1)2469 195 y Fy(B)p
2607 229 V 2664 195 29 4 v 154 w FD(TRSM)979 308 y FK(2)p
1231 342 4 113 v 289 w('T')p 1508 342 V 1982 342 V 604
w Fy(B)30 b FJ( )25 b Fy(\013A)2374 275 y Fu(\000)p Fw(T)2485
308 y Fy(B)p 2607 342 V 2664 308 29 4 v 138 w FD(TRSM)979
421 y FK(2)p 1231 455 4 113 v 1508 455 V 664 w('R')p
1982 455 V 228 w Fy(B)30 b FJ( )25 b Fy(\013B)5 b(A)2448
388 y Fu(\000)p FC(1)p 2607 455 V 2664 421 29 4 v 2692
421 a FD(TRSM)979 534 y FK(2)p 1231 568 4 113 v 289 w('T')p
1508 568 V 259 w('R')p 1982 568 V 228 w Fy(B)30 b FJ( )25
b Fy(\013B)5 b(A)2448 501 y Fu(\000)p Fw(T)p 2607 568
V 2664 534 29 4 v 2692 534 a FD(TRSM)979 647 y FK(1)p
1231 681 4 113 v 1508 681 V 1982 681 V 1009 w Fy(b)26
b FJ( )f Fy(\013A)2340 614 y Fu(\000)p FC(1)2435 647
y Fy(b)p 2607 681 V 2664 647 29 4 v 218 w FD(TRSV)979
760 y FK(1)p 1231 794 4 113 v 289 w('T')p 1508 794 V
1982 794 V 604 w Fy(b)h FJ( )f Fy(\013A)2340 727 y Fu(\000)p
Fw(T)2450 760 y Fy(b)p 2607 794 V 2664 760 29 4 v 203
w FD(TRSV)0 991 y Fv(Routines)30 b(using)g(pack)m(ed)i(sto)m(rage)g(fo)
m(r)f(matrices)0 1162 y FK(By)26 b Fz(p)-5 b(acke)g(d)28
b FK(storage,)g(w)m(e)f(mean)e(storing)h(the)g(upp)s(er)e(or)i(lo)m(w)m
(er)g(triangle)f(of)h(a)g(symmetric)f(or)h(triangular)f(matrix)0
1275 y(in)k(a)i(1-dimensional)d(arra)m(y)j(\(i.e.)41
b(a)31 b(v)m(ector\).)0 1478 y FD(subroutine)45 b(spmv\()h([alpha,])g
(a,)h(b,)g([beta,])f(c,)h([lower])f(\))0 1591 y(subroutine)f(hpmv\()h
([alpha,])g(a,)h(b,)g([beta,])f(c,)h([lower])f(\))1413
1789 y FK(op)s(eration)p 2015 1823 4 113 v 276 w(F77)32
b(BLAS)p 1364 1826 1173 4 v 1413 1905 a Fy(c)26 b FJ( )f
Fy(\013Ab)c FK(+)f Fy(\014)5 b(c)p 2015 1939 4 113 v
2072 1905 29 4 v 135 w FD(SPMV)141 2100 y FK(where)30
b Fy(A)h FK(is)e(a)i(symmetric)e(matrix.)0 2303 y FD(subroutine)45
b(spr1\()h([alpha,])g(a,)h([beta,])f(c,)h([lower])f(\))0
2416 y(subroutine)f(hpr1\()h([alpha,])g(a,)h([beta,])f(c,)h([lower])f
(\))1359 2614 y FK(op)s(eration)p 2069 2648 4 113 v 384
w(F77)32 b(BLAS)p 1309 2651 1282 4 v 1359 2730 a Fy(C)g
FJ( )25 b Fy(\013aa)1726 2697 y Fw(T)1802 2730 y FK(+)20
b Fy(\014)5 b(C)p 2069 2764 4 113 v 2126 2730 29 4 v
141 w FD(SPR1)141 2925 y FK(where)30 b Fy(C)37 b FK(is)29
b(a)i(symmetric)f(matrix.)0 3128 y FD(subroutine)45 b(syr2\()h
([alpha,])g(a,)h(b,)g([beta,])f(c,)h([lower])f(\))0 3241
y(subroutine)f(he2r\()h([alpha,])g(a,)h(b,)g([beta,])f(c,)h([lower])f
(\))1208 3439 y FK(op)s(eration)p 2220 3472 4 113 v 687
w(F77)31 b(BLAS)p 1158 3476 1584 4 v 1208 3555 a Fy(C)h
FJ( )25 b Fy(\013ab)1566 3522 y Fw(T)1642 3555 y FK(+)20
b Fy(\013ba)1878 3522 y Fw(T)1953 3555 y FK(+)g Fy(\014)5
b(C)p 2220 3589 4 113 v 2277 3555 29 4 v 141 w FD(SYR2)141
3750 y FK(where)30 b Fy(C)37 b FK(is)29 b(a)i(symmetric)f(matrix.)0
3953 y FD(subroutine)45 b(tpmv\()h([alpha,])g(a,)h([op_a,])f(b,)h
([lower,])f([unit_diag])e(\))1351 4151 y(op)p 1453 4151
V 34 w(a)p 1576 4184 4 113 v 99 w FK(op)s(eration)p 2077
4184 V 124 w(F77)31 b(BLAS)p 1301 4188 1299 4 v 1576
4301 4 113 v 1628 4267 a Fy(b)25 b FJ( )g Fy(\013Ab)p
2077 4301 V 2134 4267 29 4 v 190 w FD(TPMV)1381 4380
y FK('T')p 1576 4414 4 113 v 131 w Fy(b)g FJ( )g Fy(\013A)1934
4347 y Fw(T)1990 4380 y Fy(b)p 2077 4414 V 2134 4380
29 4 v 134 w FD(TPMV)141 4575 y FK(where)30 b Fy(A)h
FK(is)e(a)i(triangular)d(matrix.)0 4778 y FD(subroutine)45
b(tpsv\()h([alpha,])g(a,)h([op_a,])f(b,)h([lower,])f([unit_diag])e(\))
1323 4976 y(op)p 1425 4976 V 34 w(a)p 1549 5009 4 113
v 100 w FK(op)s(eration)p 2105 5009 V 178 w(F77)32 b(BLAS)p
1274 5013 1353 4 v 1549 5126 4 113 v 1601 5092 a Fy(b)25
b FJ( )g Fy(\013A)1907 5059 y Fu(\000)p FC(1)2002 5092
y Fy(b)p 2105 5126 V 2162 5092 29 4 v 150 w FD(TPSV)1354
5205 y FK('T')p 1549 5239 4 113 v 131 w Fy(b)g FJ( )g
Fy(\013A)1907 5172 y Fu(\000)p Fw(T)2018 5205 y Fy(b)p
2105 5239 V 2162 5205 29 4 v 134 w FD(TPSV)141 5400 y
FK(where)30 b Fy(A)h FK(is)e(a)i(triangular)d(matrix.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 210 220
210 219 bop 0 -165 a FK(210)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y Fv(Routines)g(fo)m(r)h(band)f
(matrices)0 263 y FD(subroutine)45 b(gbmv\()h([alpha,])g(a,)h([op_a,])f
(b,)h([beta,])f(c,)h(kd)g(\))1231 470 y(op)p 1333 470
29 4 v 34 w(a)p 1457 504 4 113 v 99 w FK(op)s(eration)p
2197 504 V 363 w(F77)32 b(BLAS)p 1181 507 1538 4 v 1457
620 4 113 v 1508 586 a Fy(C)g FJ( )25 b Fy(\013Ab)c FK(+)f
Fy(\014)5 b(c)p 2197 620 V 2254 586 29 4 v 190 w FD(GBMV)1262
699 y FK('T')p 1457 733 4 113 v 130 w Fy(C)32 b FJ( )25
b Fy(\013A)1847 666 y Fw(T)1903 699 y Fy(b)20 b FK(+)g
Fy(\014)5 b(c)p 2197 733 V 2254 699 29 4 v 135 w FD(GBMV)141
904 y FK(where)30 b Fy(A)h FK(is)e(a)i(general)f(band)f(matrix)h(with)f
FD(kd)h FK(sup)s(erdiagonals)e(supplied.)0 1117 y FD(subroutine)45
b(sbmv\()h([alpha,])g(a,)h(b,)g([beta,])f(c,)h([lower])f(\))0
1230 y(subroutine)f(hbmv\()h([alpha,])g(a,)h(b,)g([beta,])f(c,)h
([lower])f(\))1413 1437 y FK(op)s(eration)p 2015 1471
4 113 v 276 w(F77)32 b(BLAS)p 1364 1474 1173 4 v 1413
1553 a Fy(c)26 b FJ( )f Fy(\013Ab)c FK(+)f Fy(\014)5
b(c)p 2015 1587 4 113 v 2072 1553 29 4 v 135 w FD(SPMV)141
1758 y FK(where)30 b Fy(A)h FK(is)e(a)i(symmetric)e(band)h(matrix.)0
1971 y FD(subroutine)45 b(tbmv\()h([alpha,])g(a,)h([op_a,])f(,)h
([lower,])f([unit_diag])f(\))1351 2178 y(op)p 1453 2178
V 34 w(a)p 1576 2212 4 113 v 99 w FK(op)s(eration)p 2077
2212 V 124 w(F77)31 b(BLAS)p 1301 2215 1299 4 v 1576
2328 4 113 v 1628 2294 a Fy(b)25 b FJ( )g Fy(\013Ab)p
2077 2328 V 2134 2294 29 4 v 190 w FD(TBMV)1381 2407
y FK('T')p 1576 2441 4 113 v 131 w Fy(b)g FJ( )g Fy(\013A)1934
2374 y Fw(T)1990 2407 y Fy(b)p 2077 2441 V 2134 2407
29 4 v 134 w FD(TBMV)141 2612 y FK(where)30 b Fy(A)h
FK(is)e(a)i(triangular)d(band)i(matrix.)0 2824 y FD(subroutine)45
b(tpsv\()h([alpha,])g(a,)h([op_a,])f(,)h([lower,])f([unit_diag])f(\))
1323 3031 y(op)p 1425 3031 V 34 w(a)p 1549 3065 4 113
v 139 w FK(op)s(eration)p 2105 3065 V 139 w(F77)32 b(BLAS)p
2625 3065 V 1274 3069 1353 4 v 1549 3182 4 113 v 1608
3148 a Fy(b)26 b FJ( )f Fy(\013A)1915 3115 y Fu(\000)p
FC(1)2010 3148 y Fy(b)p 2105 3182 V 2162 3148 29 4 v
142 w FD(TBSV)p 2625 3182 4 113 v 1354 3261 a FK('T')p
1549 3294 V 131 w Fy(b)g FJ( )g Fy(\013A)1907 3228 y
Fu(\000)p Fw(T)2018 3261 y Fy(b)p 2105 3294 V 2162 3261
29 4 v 134 w FD(TBSV)p 2625 3294 4 113 v 141 3466 a FK(where)30
b Fy(A)h FK(is)e(a)i(triangular)d(band)i(matrix.)0 3706
y Fv(Level)h(1)g(routines)0 3877 y FD(function)46 b(nrm2\()g(x)h(\))141
4090 y FK(Op)s(eration:)40 b(return)29 b FJ(k)p Fy(x)p
FJ(k)1029 4104 y FC(2)1069 4090 y FK(.)0 4302 y FD(subroutine)45
b(swap\()h(x,)i(y)f(\))141 4515 y FK(Op)s(eration:)40
b Fy(x)25 b FJ($)g Fy(y)s FK(.)0 4727 y FD(subroutine)45
b(rot\()i(x,)g(y,)g(c,)g(s)h(\))0 4940 y(subroutine)d(rotg\()h(a,)i(b,)
f(c,)g(s)g(\))4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 211 221
211 220 bop 0 -165 a FA(C.3.)71 b(F)m(OR)-8 b(TRAN)31
b(95)h(THIN)e(BLAS)2419 b FK(211)0 91 y Fx(C.3.4)98 b(Interfaces)33
b(fo)m(r)g(Complex)f(Data)0 263 y FK(In)f(this)g(section)g(w)m(e)i(sho)
m(w)e(the)h(subroutine)e FD(gemm)g FK(for)i(complex)f(argumen)m(ts.)45
b(The)32 b(generic)f(in)m(terface)i(is)d(that)0 376 y(describ)s(ed)e
(for)i(real)g(argumen)m(ts.)279 580 y(rank)g(of)g FD(a)p
688 614 4 113 v 100 w FK(rank)f(of)i FD(b)p 1149 614
V 99 w FK(rank)f(of)h FD(c)p 1610 614 V 124 w(op)p 1788
580 29 4 v 34 w(a)p 1936 614 4 113 v 149 w(op)p 2115
580 29 4 v 34 w(b)p 2263 614 4 113 v 124 w FK(op)s(eration)p
3149 614 V 509 w(F77)g(BLAS)p 229 618 3443 4 v 437 697
a(2)p 688 731 4 113 v 415 w(2)p 1149 731 V 416 w(2)p
1610 731 V 1936 731 V 2263 731 V 912 w Fy(C)h FJ( )25
b Fy(\013AB)g FK(+)20 b Fy(\014)5 b(C)p 3149 731 V 3206
697 29 4 v 275 w FD(GEMM)437 810 y FK(2)p 688 844 4 113
v 415 w(2)p 1149 844 V 416 w(2)p 1610 844 V 1936 844
V 640 w('T')p 2263 844 V 156 w Fy(C)32 b FJ( )25 b Fy(\013AB)2728
777 y Fw(T)2803 810 y FK(+)20 b Fy(\014)5 b(C)p 3149
844 V 3206 810 29 4 v 220 w FD(GEMM)437 923 y FK(2)p
688 956 4 113 v 415 w(2)p 1149 956 V 416 w(2)p 1610 956
V 1936 956 V 585 w('C/T')p 2263 956 V 100 w Fy(C)32 b
FJ( )25 b Fy(\013AB)2728 890 y Fw(H)2815 923 y FK(+)20
b Fy(\014)5 b(C)p 3149 956 V 3206 923 29 4 v 208 w FD(GEMM)437
1035 y FK(2)p 688 1069 4 113 v 415 w(2)p 1149 1069 V
416 w(2)p 1610 1069 V 314 w('T')p 1936 1069 V 2263 1069
V 482 w Fy(C)32 b FJ( )25 b Fy(\013A)2654 1002 y Fw(T)2709
1035 y Fy(B)g FK(+)20 b Fy(\014)5 b(C)p 3149 1069 V 3206
1035 29 4 v 220 w FD(GEMM)437 1148 y FK(2)p 688 1182
4 113 v 415 w(2)p 1149 1182 V 416 w(2)p 1610 1182 V 314
w('T')p 1936 1182 V 210 w('T')p 2263 1182 V 156 w Fy(C)32
b FJ( )25 b Fy(\013A)2654 1115 y Fw(T)2709 1148 y Fy(B)2783
1115 y Fw(T)2858 1148 y FK(+)20 b Fy(\014)5 b(C)p 3149
1182 V 3206 1148 29 4 v 165 w FD(GEMM)437 1261 y FK(2)p
688 1295 4 113 v 415 w(2)p 1149 1295 V 416 w(2)p 1610
1295 V 314 w('T')p 1936 1295 V 155 w('C/T')p 2263 1295
V 100 w Fy(C)32 b FJ( )25 b Fy(\013A)2654 1228 y Fw(T)2709
1261 y Fy(B)2783 1228 y Fw(H)2870 1261 y FK(+)20 b Fy(\014)5
b(C)p 3149 1295 V 3206 1261 29 4 v 153 w FD(GEMM)437
1374 y FK(2)p 688 1408 4 113 v 415 w(2)p 1149 1408 V
416 w(2)p 1610 1408 V 258 w('C/T')p 1936 1408 V 2263
1408 V 427 w Fy(C)32 b FJ( )25 b Fy(\013A)2654 1341 y
Fw(H)2722 1374 y Fy(B)f FK(+)c Fy(\014)5 b(C)p 3149 1408
V 3206 1374 29 4 v 208 w FD(GEMM)437 1487 y FK(2)p 688
1521 4 113 v 415 w(2)p 1149 1521 V 416 w(2)p 1610 1521
V 258 w('C/T')p 1936 1521 V 155 w('T')p 2263 1521 V 156
w Fy(C)32 b FJ( )25 b Fy(\013A)2654 1454 y Fw(H)2722
1487 y Fy(B)2796 1454 y Fw(T)2870 1487 y FK(+)20 b Fy(\014)5
b(C)p 3149 1521 V 3206 1487 29 4 v 153 w FD(GEMM)437
1600 y FK(2)p 688 1634 4 113 v 415 w(2)p 1149 1634 V
416 w(2)p 1610 1634 V 258 w('C/T')p 1936 1634 V 100 w('C/T')p
2263 1634 V 100 w Fy(C)32 b FJ( )25 b Fy(\013A)2654 1567
y Fw(H)2722 1600 y Fy(B)2796 1567 y Fw(H)2883 1600 y
FK(+)19 b Fy(\014)5 b(C)p 3149 1634 V 3206 1600 29 4
v 141 w FD(GEMM)437 1713 y FK(2)p 688 1747 4 113 v 415
w(1)p 1149 1747 V 416 w(1)p 1610 1747 V 1936 1747 V 2263
1747 V 912 w Fy(c)25 b FJ( )h Fy(\013Ab)20 b FK(+)g Fy(\014)5
b(c)p 3149 1747 V 3206 1713 29 4 v 368 w FD(GEMV)437
1826 y FK(2)p 688 1860 4 113 v 415 w(1)p 1149 1860 V
416 w(1)p 1610 1860 V 314 w('T')p 1936 1860 V 2263 1860
V 482 w Fy(c)25 b FJ( )h Fy(\013A)2622 1793 y Fw(T)2677
1826 y Fy(b)20 b FK(+)g Fy(\014)5 b(c)p 3149 1860 V 3206
1826 29 4 v 313 w FD(GEMV)437 1939 y FK(2)p 688 1973
4 113 v 415 w(1)p 1149 1973 V 416 w(1)p 1610 1973 V 258
w('C/T')p 1936 1973 V 2263 1973 V 427 w Fy(c)25 b FJ( )h
Fy(\013A)2622 1906 y Fw(H)2689 1939 y Fy(b)21 b FK(+)f
Fy(\014)5 b(c)p 3149 1973 V 3206 1939 29 4 v 300 w FD(GEMV)437
2052 y FK(1)p 688 2086 4 113 v 415 w(1)p 1149 2086 V
416 w(2)p 1610 2086 V 1936 2086 V 2263 2086 V 912 w Fy(C)32
b FJ( )25 b Fy(\013ab)2673 2019 y Fw(T)2748 2052 y FK(+)20
b Fy(\014)5 b(C)p 3149 2086 V 3206 2052 29 4 v 275 w
FD(GERU)437 2165 y FK(1)p 688 2198 4 113 v 415 w(1)p
1149 2198 V 416 w(2)p 1610 2198 V 1936 2198 V 640 w('C')p
2263 2198 V 156 w Fy(C)32 b FJ( )25 b Fy(\013ab)2673
2132 y Fw(H)2761 2165 y FK(+)20 b Fy(\014)5 b(C)p 3149
2198 V 3206 2165 29 4 v 262 w FD(GERC)0 2403 y Fx(C.3.5)98
b(Erro)m(r)33 b(checking)0 2575 y FK(W)-8 b(e)32 b(prop)s(ose)d(that)i
(the)g(F)-8 b(ortran)31 b(95)g(thin)e(BLAS)h(p)s(erform)f(no)h(c)m(hec)
m(ks)i(on)e(their)g(argumen)m(ts.)0 2818 y Fx(C.3.6)98
b(Compa)m(rison)33 b(with)g(the)g(F)m(o)m(rtran)g(77)g(BLAS)0
2990 y FK(W)-8 b(e)44 b(consider)f(in)f(more)h(detail)f(eac)m(h)j(Lev)m
(el)e(of)h(BLAS)f(in)f(turn.)78 b(In)42 b(referring)g(to)i(particular)e
(op)s(erations)0 3103 y(p)s(erformed)26 b(b)m(y)i(the)f(BLAS,)h(w)m(e)g
(use)f(the)h(traditional)e(BLAS)i(names,)g(except)g(that)h(w)m(e)f
(omit)f(the)h(initial)d(letter)0 3216 y(\(S,)30 b(D,)h(C,)f(Z\))g(whic)
m(h)f(indicates)g(the)h(data)h(t)m(yp)s(e)f(|)g(for)g(example,)g
FD(SWAP)p FK(.)f(The)h(resulting)e(names)i(are)h(also)f(the)0
3329 y(generic)g(names)h(whic)m(h)e(w)m(e)i(prop)s(ose)e(for)h(the)h(F)
-8 b(ortran)31 b(95)g(in)m(terfaces.)0 3569 y Fv(Level)g(1)0
3740 y FK(W)-8 b(e)32 b(include)c(in)h(this)g(prop)s(osal)g(only)g(the)
i(follo)m(wing:)227 3953 y FD(SWAP)227 4066 y(ROT)227
4179 y(NRM2)227 4292 y(ROTG)141 4504 y(ROT)f FK(and)f
FD(ROTG)h FK(ha)m(v)m(e)h(b)s(een)f(extended)g(to)h(co)m(v)m(er)h
(complex)e(rotations.)0 4744 y Fv(Level)h(2)0 4916 y
FK(W)-8 b(e)27 b(prop)s(ose)d(to)i(com)m(bine)f(man)m(y)h(of)f(the)h
(Lev)m(el)g(2)g(BLAS)f(with)f(the)h(corresp)s(onding)f(Lev)m(el)h(3)h
(BLAS)f(in)f(a)i(single)0 5029 y(generic)g(in)m(terface,)h(the)g
(di\013eren)m(t)e(instances)g(b)s(eing)g(distinguished)d(b)m(y)k(the)g
(ranks)f(of)h(some)g(of)g(the)g(argumen)m(ts.)0 5142
y(In)i(order)h(to)h(do)f(this,)g(w)m(e)h(prop)s(ose)e(to)i(remo)m(v)m
(e)h(some)e(minor)f(inconsistencies)g(b)s(et)m(w)m(een)h(the)h(sp)s
(eci\014cations)e(of)0 5255 y(the)j(Lev)m(el)f(2)h(and)f(Lev)m(el)g(3)h
(routines:)141 5367 y(W)-8 b(e)32 b(prop)s(ose)d(adding)g(one)i(new)f
(routine:)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 212 222
212 221 bop 0 -165 a FK(212)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(REFG)141
260 y FK(to)h(generate)g(an)f(elemen)m(tary)h(re\015ector)f(\(that)h
(is,)f(a)g(Householder)f(matrix\),)h(follo)m(wing)f(the)h(same)g(sp)s
(eci\014-)0 373 y(cation)h(as)f(the)h(LAP)-8 b(A)m(CK)31
b(auxiliary)d(routine)h(xLAR)-8 b(TG.)141 486 y(The)39
b(scop)s(e)h(of)f(the)h(prop)s(osed)f(BLAS)g(has)g(b)s(een)g(extended)g
(sligh)m(tly)f(compared)i(with)e(the)i(F)-8 b(ortran)40
b(77)0 599 y(BLAS:)29 b(for)f(example,)h(w)m(e)g(prop)s(ose)f(Lev)m(el)
g(1)h(BLAS)g(for)f(generating)h(an)f(elemen)m(tary)h(re\015ector)h
(\(Householder)0 712 y(matrix\),)i(and)f(for)h(generating)g(and)f
(applying)e(complex)j(plane)e(rotations;)j(w)m(e)f(also)g(prop)s(ose)f
(Lev)m(el)h(2)g(BLAS)0 825 y(for)c(complex)f(symmetric)h(matrices.)39
b(On)28 b(the)g(other)g(hand,)f(man)m(y)h(of)h(the)f(F)-8
b(ortran)28 b(77)h(Lev)m(el)f(1)h(BLAS)e(can)i(b)s(e)0
938 y(replaced)h(in)f(F)-8 b(ortran)31 b(95)g(b)m(y)f(simple)f(arra)m
(y)i(constructs,)f(and)g(they)h(ha)m(v)m(e)g(b)s(een)f(omitted.)141
1050 y(F)-8 b(or)31 b(the)g(thin)e(BLAS)h(w)m(e)h(prop)s(ose)e(that)i
(the)g(co)s(de)g(do)s(es)f(not)g(do)g(an)m(y)h(c)m(hec)m(ks)h(on)e(the)
h(argumen)m(ts.)141 1163 y(W)-8 b(e)25 b(prop)s(ose)e(generic)g(in)m
(terfaces)h(that)g(co)m(v)m(er)h(|)f(wherev)m(er)f(relev)-5
b(an)m(t)24 b(|)f(b)s(oth)g(Lev)m(el)h(2)g(and)e(Lev)m(el)i(3)g(BLAS)0
1276 y(\(for)31 b(example,)f(xTRSV)g(and)g(xTRSM\),)h(and)f(ha)m(v)m(e)
h(mo)s(di\014ed)e(the)i(sp)s(eci\014cation)e(of)i(some)g(Lev)m(el)g(2)g
(BLAS)f(to)0 1389 y(mak)m(e)37 b(them)g(more)f(consisten)m(t)h(with)e
(the)i(Lev)m(el)g(3)f(BLAS)h(\(for)f(example,)i(xTRSV)e(no)m(w)g(has)g
(an)g(argumen)m(t)0 1502 y FD(alpha)p FK(\).)141 1615
y(F)-8 b(or)28 b(eac)m(h)h(pro)s(cedure)d(w)m(e)i(sp)s(ecify)d(a)j(n)m
(um)m(b)s(er)e(of)i(argumen)m(ts)f(that)h(m)m(ust)f(b)s(e)g(supplied)d
(and)i(another)i(set)g(of)0 1728 y(argumen)m(ts)k(that)g(need)g(not)g
(b)s(e)f(supplied.)41 b(W)-8 b(e)33 b(sp)s(ecify)d(a)i(v)-5
b(alue)32 b(or)f(action)h(for)g(eac)m(h)h(argumen)m(t)f(whic)m(h)e
(need)0 1841 y(not)h(b)s(e)e(supplied.)141 1954 y(W)-8
b(e)29 b(prop)s(ose)d(that)i(the)g(thin)e(BLAS)h(con)m(tain)h(a)f(sp)s
(eci\014c)f(instance)i(for)f(eac)m(h)h(p)s(ossible)d(case)j(and)f(no)g
(c)m(hec)m(ks)0 2067 y(or)j(branc)m(hing)f(is)h(used)f(within)f(the)j
(co)s(de.)141 2180 y(W)-8 b(e)34 b(prop)s(ose)d(that)i(the)g(early)e
(implemen)m(tations)g(for)h(the)h(thin)e(BLAS)h(will)d(con)m(tain)k
(simple)d(calls)i(to)h(the)0 2292 y(reliable)28 b(and)i(tested)h(F77)h
(BLAS.)141 2405 y(F)-8 b(or)31 b(example,)g(the)f(generic)g
FD(gemm)g FK(will)d(consist)j(of)h(the)g(follo)m(wing)d(sp)s(eci\014c)i
(pro)s(cedures:)136 2556 y FJ(\017)46 b FK(36)28 b(sp)s(eci\014c)e(pro)
s(cedures)g(eac)m(h)i(of)f(whic)m(h)f(calls)g(the)h(F77)h(BLAS)f(pro)s
(cedure)f FD(ZGEMM)f FK(\(3)j(settings)f(for)g(eac)m(h)227
2669 y(of)k FD(op)p 433 2669 29 4 v 34 w(a)f FK(and)f
FD(op)p 817 2669 V 34 w(b)p FK(,)i(and)e(2)i(settings)f(for)h(eac)m(h)g
(of)g FD(alpha)e FK(and)g FD(beta)p FK(\).)136 2842 y
FJ(\017)46 b FK(12)26 b(sp)s(eci\014c)e(pro)s(cedures)g(eac)m(h)i(of)f
(whic)m(h)f(calls)g(the)i(F77)g(BLAS)f(pro)s(cedure)f
FD(ZGEMV)f FK(\(3)j(settings)f(for)g FD(op)p 3799 2842
V 34 w(a)p FK(,)227 2955 y(and)30 b(2)h(settings)f(for)g(eac)m(h)i(of)e
FD(alpha)f FK(and)h FD(beta)p FK(\).)136 3128 y FJ(\017)46
b FK(4)31 b(sp)s(eci\014c)d(pro)s(cedures)h(eac)m(h)i(of)g(whic)m(h)d
(calls)i(the)g(F77)h(BLAS)f(pro)s(cedure)f FD(ZGERU)f
FK(\(2)j(settings)f(for)g(eac)m(h)227 3241 y(of)h FD(alpha)e
FK(and)h FD(beta)p FK(\).)136 3414 y FJ(\017)46 b FK(4)31
b(sp)s(eci\014c)d(pro)s(cedures)h(eac)m(h)i(of)g(whic)m(h)d(calls)i
(the)g(F77)h(BLAS)f(pro)s(cedure)f FD(ZGERC)f FK(\(2)j(settings)f(for)g
(eac)m(h)227 3527 y(of)h FD(alpha)e FK(and)h FD(beta)p
FK(\).)136 3696 y FJ(\017)46 b FK(36)28 b(sp)s(eci\014c)e(pro)s
(cedures)g(eac)m(h)i(of)f(whic)m(h)f(calls)g(the)h(F77)h(BLAS)f(pro)s
(cedure)f FD(DGEMM)f FK(\(3)j(settings)f(for)g(eac)m(h)227
3809 y(of)f FD(op)p 428 3809 V 34 w(a)f FK(and)h FD(op)p
804 3809 V 33 w(b)p FK(,)h(and)e(2)h(settings)g(for)g(eac)m(h)h(of)f
FD(alpha)e FK(and)h FD(beta)p FK(\).)39 b(Only)24 b(16)i(pro)s(cedures)
f(are)h(needed,)227 3922 y(but)k(w)m(e)h(allo)m(w)f(for)g
FD(op)p 1004 3922 V 34 w(a)47 b(=)g(blas)p 1420 3922
V 34 w(conj)p 1646 3922 V 33 w(trans)29 b FK(for)h(similarit)m(y)e
(with)h(the)i(complex)f(case.)136 4095 y FJ(\017)46 b
FK(12)26 b(sp)s(eci\014c)e(pro)s(cedures)g(eac)m(h)i(of)f(whic)m(h)f
(calls)g(the)i(F77)g(BLAS)f(pro)s(cedure)f FD(DGEMV)f
FK(\(3)j(settings)f(for)g FD(op)p 3799 4095 V 34 w(a)p
FK(,)227 4208 y(and)31 b(2)h(settings)f(for)g(eac)m(h)i(of)e
FD(alpha)f FK(and)h FD(beta)p FK(\).)42 b(Only)30 b(8)i(pro)s(cedures)e
(are)i(needed,)f(but)g(w)m(e)g(allo)m(w)g(for)227 4321
y FD(op)p 329 4321 V 34 w(a)48 b(=)f(blas)p 746 4321
V 33 w(conj)p 971 4321 V 34 w(trans)28 b FK(for)j(similarit)m(y)c(with)
i(the)i(complex)f(case.)136 4494 y FJ(\017)46 b FK(4)34
b(sp)s(eci\014c)e(pro)s(cedures)g(eac)m(h)i(of)f(whic)m(h)f(calls)h
(the)g(F77)i(BLAS)e(pro)s(cedure)f FD(DGER)g FK(\(2)i(settings)f(for)g
(eac)m(h)227 4607 y(of)e FD(alpha)e FK(and)h FD(beta)p
FK(\).)136 4780 y FJ(\017)46 b FK(4)27 b(sp)s(eci\014c)f(pro)s(cedures)
f(eac)m(h)j(of)e(whic)m(h)g(calls)f(the)i(F77)h(BLAS)e(pro)s(cedure)g
FD(DGER)f FK(\(2)i(settings)g(for)f(eac)m(h)i(of)227
4893 y FD(alpha)i FK(and)h FD(beta)p FK(\).)43 b(These)31
b(are)h(similar)c(to)k(the)g(previous)e(case)i(but)f(ha)m(v)m(e)h(b)s
(een)f(added)g(to)h(allo)m(w)e FD(op)p 3824 4893 V 34
w(b)227 5005 y(=)48 b(blas)p 521 5005 V 33 w(conj)29
b FK(\(as)i(in)e(the)i(complex)f(case)h(for)f FD(ZGERC)p
FK(\).)141 5174 y(App)s(endix)k(C.3.8)k(con)m(tains)e(a)h(list)f(of)g
(these)i(sp)s(eci\014c)d(pro)s(cedures)g(\(only)h(double)f(precision)g
(pro)s(cedures)0 5287 y(are)c(listed\).)141 5400 y(A)g(prop)s(osed)e
(do)s(cumen)m(t)h(for)g(this)f(pro)s(cedure)h(is)f(giv)m(en)h(in)f(a)i
(separate)h(do)s(cumen)m(t.)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 213 223
213 222 bop 0 -165 a FA(C.3.)71 b(F)m(OR)-8 b(TRAN)31
b(95)h(THIN)e(BLAS)2419 b FK(213)0 91 y Fx(C.3.7)98 b(Conclusion)0
263 y FK(Our)26 b(principal)e(purp)s(ose)h(in)h(presen)m(ting)g(this)g
(sp)s(eci\014cation)g(at)i(this)e(meeting)h(is)f(to)i(pro)m(vide)e
(additional)f(input)0 376 y(to)k(the)g(discussion)d(ab)s(out)i
(di\013eren)m(t)g(lev)m(els)f(of)i(genericit)m(y)f(in)g(the)g(in)m
(terface)h(to)g(linear)e(algebra)h(routines.)39 b(The)0
489 y(thin)c(BLAS)g(are)i(designed)d(principally)e(as)37
b(building-blo)s(c)m(ks)31 b(for)36 b(soft)m(w)m(are)i(dev)m(elop)s
(ers)d(and)g(for)h(the)g(BLAS)0 602 y(itself.)-214 64
y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 214 224
214 223 bop 0 -165 a FK(214)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y Fx(C.3.8)98 b(F)m(urther)34
b(Details:)44 b(Sp)s(eci\014c)34 b(p)m(ro)s(cedures)g(fo)m(r)e(gemm)0
263 y FK(This)d(app)s(endix)f(con)m(tains)i(a)h(list)e(of)h(the)h(sp)s
(eci\014c)e(pro)s(cedures)g(for)h(the)h(generic)f(pro)s(cedure)f(gemm.)
0 431 y Fg(!)0 510 y(!)36 b(36)f(procedures)k(each)d(calls)h(the)f(F77)
g(BLAS)g(subroutine)j(ZGEMM)0 589 y(!)71 b(a,)36 b(b)f(and)h(c)g(are)g
(rank-2)0 668 y(!)0 747 y(!)424 b(alpha)213 b(op_a)248
b(a)177 b(op_b)283 b(b)36 b(beta)g(c)106 b(operation)0
825 y(!)0 904 y(!)36 b(zgemm_301)h(\(alpha,blas_conj_trans)q(,a,)q
(blas)q(_co)q(nj_t)q(ran)q(s,b,)q(bet)q(a,c\))77 b(C)36
b(<)f(alpha)i(A\(H\))g(B\(H\))f(+)f(beta)i(C)0 983 y(!)f(zgemm_302)h
(\(alpha,blas_conj_trans)q(,a,)q(blas)q(_co)q(nj_t)q(ran)q(s,b,)183
b(c\))71 b(C)36 b(<)f(alpha)i(A\(H\))g(B\(H\))f(+)f(C)0
1062 y(!)h(zgemm_303)h(\(alpha,blas_conj_trans)q(,a,)q(blas)q(_tr)q
(ans)183 b(,b,beta,c\))73 b(C)36 b(<)f(alpha)i(A\(H\))g(B\(T\))f(+)f
(beta)i(C)0 1141 y(!)f(zgemm_304)h(\(alpha,blas_conj_trans)q(,a,)q
(blas)q(_tr)q(ans)183 b(,b,)177 b(c\))71 b(C)36 b(<)f(alpha)i(A\(H\))g
(B\(T\))f(+)f(C)0 1220 y(!)h(zgemm_305)h(\(alpha,blas_conj_trans)q(,a,)
571 b(b,beta,c\))73 b(C)36 b(<)f(alpha)i(A\(H\))g(B)e(+)h(beta)g(C)0
1299 y(!)g(zgemm_306)h(\(alpha,blas_conj_trans)q(,a,)571
b(b,)177 b(c\))71 b(C)36 b(<)f(alpha)i(A\(H\))g(B)e(+)h(C)0
1378 y(!)g(zgemm_307)h(\(alpha,blas_trans)182 b
(,a,blas_conj_trans,b,bet)q(a,c\))77 b(C)36 b(<)f(alpha)i(A\(T\))g
(B\(H\))f(+)f(beta)i(C)0 1456 y(!)f(zgemm_308)h(\(alpha,blas_trans)182
b(,a,blas_conj_trans,b,)g(c\))71 b(C)36 b(<)f(alpha)i(A\(T\))g(B\(H\))f
(+)f(C)0 1535 y(!)h(zgemm_309)h(\(alpha,blas_trans)182
b(,a,blas_trans)e(,b,beta,c\))73 b(C)36 b(<)f(alpha)i(A\(T\))g(B\(T\))f
(+)f(beta)i(C)0 1614 y(!)f(zgemm_310)h(\(alpha,blas_trans)182
b(,a,blas_trans)e(,b,)d(c\))71 b(C)36 b(<)f(alpha)i(A\(T\))g(B\(T\))f
(+)f(C)0 1693 y(!)h(zgemm_311)h(\(alpha,blas_trans)182
b(,a,)565 b(b,beta,c\))73 b(C)36 b(<)f(alpha)i(A\(T\))g(B)e(+)h(beta)g
(C)0 1772 y(!)g(zgemm_312)h(\(alpha,blas_trans)182 b(,a,)565
b(b,)177 b(c\))71 b(C)36 b(<)f(alpha)i(A\(T\))g(B)e(+)h(C)0
1851 y(!)g(zgemm_313)h(\(alpha,)567 b(a,blas_conj_trans,b,bet)q(a,c\))
77 b(C)36 b(<)f(alpha)i(A)f(B\(H\))g(+)g(beta)g(C)0 1930
y(!)g(zgemm_314)h(\(alpha,)567 b(a,blas_conj_trans,b,)182
b(c\))71 b(C)36 b(<)f(alpha)i(A)f(B\(H\))g(+)g(C)0 2009
y(!)g(zgemm_315)h(\(alpha,)567 b(a,blas_trans)180 b(,b,beta,c\))73
b(C)36 b(<)f(alpha)i(A)f(B\(T\))g(+)g(beta)g(C)0 2087
y(!)g(zgemm_316)h(\(alpha,)567 b(a,blas_trans)180 b(,b,)d(c\))71
b(C)36 b(<)f(alpha)i(A)f(B\(T\))g(+)g(C)0 2166 y(!)g(zgemm_317)h
(\(alpha,)567 b(a,)e(b,beta,c\))73 b(C)36 b(<)f(alpha)i(A)f(B)f(+)h
(beta)g(C)0 2245 y(!)g(zgemm_318)h(\(alpha,)567 b(a,)e(b,)177
b(c\))71 b(C)36 b(<)f(alpha)i(A)f(B)f(+)h(C)0 2324 y(!)g(zgemm_319)h
(\()212 b(blas_conj_trans,a,blas)q(_co)q(nj_t)q(ran)q(s,b,)q(bet)q
(a,c\))77 b(C)36 b(<)f(A\(H\))i(B\(H\))f(+)g(beta)g(C)0
2403 y(!)g(zgemm_320)h(\()212 b(blas_conj_trans,a,blas)q(_co)q(nj_t)q
(ran)q(s,b,)183 b(c\))71 b(C)36 b(<)f(A\(H\))i(B\(H\))f(+)g(C)0
2482 y(!)g(zgemm_321)h(\()212 b(blas_conj_trans,a,blas)q(_tr)q(ans)183
b(,b,beta,c\))73 b(C)36 b(<)f(A\(H\))i(B\(T\))f(+)g(beta)g(C)0
2561 y(!)g(zgemm_322)h(\()212 b(blas_conj_trans,a,blas)q(_tr)q(ans)183
b(,b,)177 b(c\))71 b(C)36 b(<)f(A\(H\))i(B\(T\))f(+)g(C)0
2640 y(!)g(zgemm_323)h(\()212 b(blas_conj_trans,a,)570
b(b,beta,c\))73 b(C)36 b(<)f(A\(H\))i(B)e(+)h(beta)g(C)0
2718 y(!)g(zgemm_324)h(\()212 b(blas_conj_trans,a,)570
b(b,)177 b(c\))71 b(C)36 b(<)f(A\(H\))i(B)e(+)h(C)0 2797
y(!)g(zgemm_325)h(\()212 b(blas_trans)180 b(,a,blas_conj_trans,b,bet)q
(a,c\))77 b(C)36 b(<)f(A\(T\))i(B\(H\))f(+)g(beta)g(C)0
2876 y(!)g(zgemm_326)h(\()212 b(blas_trans)180 b(,a,blas_conj_trans,b,)
i(c\))71 b(C)36 b(<)f(A\(T\))i(B\(H\))f(+)g(C)0 2955
y(!)g(zgemm_327)h(\()212 b(blas_trans)180 b(,a,blas_trans)g
(,b,beta,c\))73 b(C)36 b(<)f(A\(T\))i(B\(T\))f(+)g(beta)g(C)0
3034 y(!)g(zgemm_328)h(\()212 b(blas_trans)180 b(,a,blas_trans)g(,b,)d
(c\))71 b(C)36 b(<)f(A\(T\))i(B\(T\))f(+)g(C)0 3113 y(!)g(zgemm_329)h
(\()212 b(blas_trans)180 b(,a,)565 b(b,beta,c\))73 b(C)36
b(<)f(A\(T\))i(B)e(+)h(beta)g(C)0 3192 y(!)g(zgemm_330)h(\()212
b(blas_trans)180 b(,a,)565 b(b,)177 b(c\))71 b(C)36 b(<)f(A\(T\))i(B)e
(+)h(C)0 3270 y(!)g(zgemm_331)h(\()777 b(a,blas_conj_trans,b,bet)q
(a,c\))77 b(C)36 b(<)f(A)h(B\(H\))g(+)g(beta)g(C)0 3349
y(!)g(zgemm_332)h(\()777 b(a,blas_conj_trans,b,)182 b(c\))71
b(C)36 b(<)f(A)h(B\(H\))g(+)g(C)0 3428 y(!)g(zgemm_333)h(\()777
b(a,blas_trans)180 b(,b,beta,c\))73 b(C)36 b(<)f(A)h(B\(T\))g(+)g(beta)
g(C)0 3507 y(!)g(zgemm_334)h(\()777 b(a,blas_trans)180
b(,b,)d(c\))71 b(C)36 b(<)f(A)h(B\(T\))g(+)g(C)0 3586
y(!)g(zgemm_335)h(\()777 b(a,)565 b(b,beta,c\))73 b(C)36
b(<)f(A)h(B)g(+)f(beta)i(C)0 3665 y(!)f(zgemm_336)h(\()777
b(a,)565 b(b,)177 b(c\))71 b(C)36 b(<)f(A)h(B)g(+)f(C)0
3744 y(!)0 3823 y(!)0 3901 y(!)h(12)f(procedures)k(each)d(calls)h(the)f
(F77)g(BLAS)g(subroutine)j(ZGEMV)0 3980 y(!)71 b(a)35
b(is)h(rank-2,)i(and)e(b)f(and)h(c)g(are)g(rank-1)0 4059
y(!)0 4138 y(!)424 b(alpha)213 b(op_a)248 b(a)177 b(op_b)283
b(b)36 b(beta)g(c)106 b(operation)0 4217 y(!)0 4296 y(!)36
b(zgemv_201)h(\(alpha,blas_conj_trans)q(,a,)571 b(b,beta,c\))73
b(c)36 b(<)f(alpha)i(A\(H\))g(b)e(+)h(beta)g(c)0 4375
y(!)g(zgemv_202)h(\(alpha,blas_conj_trans)q(,a,)571 b(b,)177
b(c\))71 b(c)36 b(<)f(alpha)i(A\(H\))g(b)e(+)h(c)0 4454
y(!)g(zgemv_203)h(\(alpha,blas_trans)182 b(,a,)565 b(b,beta,c\))73
b(c)36 b(<)f(alpha)i(A\(T\))g(b)e(+)h(beta)g(c)0 4532
y(!)g(zgemv_204)h(\(alpha,blas_trans)182 b(,a,)565 b(b,)177
b(c\))71 b(c)36 b(<)f(alpha)i(A\(T\))g(b)e(+)h(c)0 4611
y(!)g(zgemv_205)h(\(alpha,)567 b(a,)e(b,beta,c\))73 b(c)36
b(<)f(alpha)i(A)f(b)f(+)h(beta)g(c)0 4690 y(!)g(zgemv_206)h(\(alpha,)
567 b(a,)e(b,)177 b(c\))71 b(c)36 b(<)f(alpha)i(A)f(b)f(+)h(c)0
4769 y(!)g(zgemv_207)h(\()212 b(blas_conj_trans,a,)570
b(b,beta,c\))73 b(c)36 b(<)f(A\(H\))i(b)e(+)h(beta)g(c)0
4848 y(!)g(zgemv_208)h(\()212 b(blas_conj_trans,a,)570
b(b,)177 b(c\))71 b(c)36 b(<)f(A\(H\))i(b)e(+)h(c)0 4927
y(!)g(zgemv_209)h(\()212 b(blas_trans)180 b(,a,)565 b(b,beta,c\))73
b(c)36 b(<)f(A\(T\))i(b)e(+)h(beta)g(c)0 5006 y(!)g(zgemv_200)h(\()212
b(blas_trans)180 b(,a,)565 b(b,)177 b(c\))71 b(c)36 b(<)f(A\(T\))i(b)e
(+)h(c)0 5085 y(!)g(zgemv_211)h(\()777 b(a,)565 b(b,beta,c\))73
b(c)36 b(<)f(A)h(b)g(+)f(beta)i(c)0 5163 y(!)f(zgemv_212)h(\()777
b(a,)565 b(b,)177 b(c\))71 b(c)36 b(<)f(A)h(b)g(+)f(c)0
5242 y(!)0 5321 y(!)0 5400 y(!)h(4)f(procedures)j(each)f(calls)f(the)h
(F77)f(BLAS)g(subroutine)i(ZGERU)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 215 225
215 224 bop 0 -165 a FA(C.3.)71 b(F)m(OR)-8 b(TRAN)31
b(95)h(THIN)e(BLAS)2419 b FK(215)0 91 y Fg(!)71 b(c)35
b(is)h(rank-2,)i(and)e(a)f(and)h(b)g(are)g(rank-1)0 170
y(!)0 249 y(!)424 b(alpha)213 b(op_a)248 b(a)177 b(op_b)283
b(b)36 b(beta)g(c)106 b(operation)0 328 y(!)0 407 y(!)36
b(zgeru_201)h(\(alpha,)567 b(a,)e(b,beta,c\))73 b(C)36
b(<)f(alpha)i(a)f(b\(T\))g(+)g(beta)g(C)0 486 y(!)g(zgeru_202)h
(\(alpha,)567 b(a,)e(b,)177 b(c\))71 b(C)36 b(<)f(alpha)i(a)f(b\(T\))g
(+)g(C)0 565 y(!)g(zgeru_203)h(\()777 b(a,)565 b(b,beta,c\))73
b(C)36 b(<)f(a)h(b\(T\))g(+)g(beta)g(C)0 643 y(!)g(zgeru_204)h(\()777
b(a,)565 b(b,)177 b(c\))71 b(C)36 b(<)f(a)h(b\(T\))g(+)g(C)0
722 y(!)0 801 y(!)0 880 y(!)g(4)f(procedures)j(each)f(calls)f(the)h
(F77)f(BLAS)g(subroutine)i(ZGERC)0 959 y(!)71 b(c)35
b(is)h(rank-2,)i(and)e(a)f(and)h(b)g(are)g(rank-1)0 1038
y(!)0 1117 y(!)424 b(alpha)213 b(op_a)248 b(a)177 b(op_b)283
b(b)36 b(beta)g(c)106 b(operation)0 1196 y(!)0 1274 y(!)36
b(zgerc_201)h(\(alpha,blas_conj)252 b(a,)565 b(b,beta,c\))73
b(C)36 b(<)f(alpha)i(a)f(b\(H\))g(+)g(beta)g(C)0 1353
y(!)g(zgerc_202)h(\(alpha,blas_conj)252 b(a,)565 b(b,)177
b(c\))71 b(C)36 b(<)f(alpha)i(a)f(b\(H\))g(+)g(C)0 1432
y(!)g(zgerc_203)h(\()212 b(blas_conj)250 b(a,)565 b(b,beta,c\))73
b(C)36 b(<)f(a)h(b\(H\))g(+)g(beta)g(C)0 1511 y(!)g(zgerc_204)h(\()212
b(blas_conj)250 b(a,)565 b(b,)177 b(c\))71 b(C)36 b(<)f(a)h(b\(H\))g(+)
g(C)0 1590 y(!)0 1669 y(!)0 1748 y(!)0 1826 y(!)g(36)f(procedures)k
(each)d(calls)h(the)f(F77)g(BLAS)g(subroutine)j(DGEMM)0
1905 y(!)71 b(a,)36 b(b)f(and)h(c)g(are)g(rank-2)0 1984
y(!)0 2063 y(!)424 b(alpha)213 b(op_a)248 b(a)177 b(op_b)283
b(b)36 b(beta)g(c)106 b(operation)0 2142 y(!)0 2221 y(!)36
b(dgemm_301)h(\(alpha,blas_conj_trans)q(,a,)q(blas)q(_co)q(nj_t)q(ran)q
(s,b,)q(bet)q(a,c\))77 b(C)36 b(<)f(alpha)i(A\(H\))g(B\(H\))f(+)f(beta)
i(C)0 2300 y(!)f(dgemm_302)h(\(alpha,blas_conj_trans)q(,a,)q(blas)q
(_co)q(nj_t)q(ran)q(s,b,)183 b(c\))71 b(C)36 b(<)f(alpha)i(A\(H\))g
(B\(H\))f(+)f(C)0 2379 y(!)h(dgemm_303)h(\(alpha,blas_conj_trans)q(,a,)
q(blas)q(_tr)q(ans)183 b(,b,beta,c\))73 b(C)36 b(<)f(alpha)i(A\(H\))g
(B\(T\))f(+)f(beta)i(C)0 2457 y(!)f(...)0 2536 y(!)g(...)0
2615 y(!)g(dgemm_334)h(\()777 b(a,blas_trans)180 b(,b,)d(c\))71
b(C)36 b(<)f(A)h(B\(T\))g(+)g(C)0 2694 y(!)g(dgemm_335)h(\()777
b(a,)565 b(b,beta,c\))73 b(C)36 b(<)f(A)h(B)g(+)f(beta)i(C)0
2773 y(!)f(dgemm_336)h(\()777 b(a,)565 b(b,)177 b(c\))71
b(C)36 b(<)f(A)h(B)g(+)f(C)0 2852 y(!)0 2931 y(!)0 3010
y(!)h(12)f(procedures)k(each)d(calls)h(the)f(F77)g(BLAS)g(subroutine)j
(DGEMV)0 3088 y(!)71 b(a)35 b(is)h(rank-2,)i(and)e(b)f(and)h(c)g(are)g
(rank-1)0 3167 y(!)0 3246 y(!)424 b(alpha)213 b(op_a)248
b(a)177 b(op_b)283 b(b)36 b(beta)g(c)106 b(operation)0
3325 y(!)0 3404 y(!)36 b(dgemv_201)h(\(alpha,blas_conj_trans)q(,a,)571
b(b,beta,c\))73 b(c)36 b(<)f(alpha)i(A\(H\))g(b)e(+)h(beta)g(c)0
3483 y(!)g(dgemv_202)h(\(alpha,blas_conj_trans)q(,a,)571
b(b,)177 b(c\))71 b(c)36 b(<)f(alpha)i(A\(H\))g(b)e(+)h(c)0
3562 y(!)g(...)0 3641 y(!)g(dgemv_211)h(\()777 b(a,)565
b(b,beta,c\))73 b(c)36 b(<)f(A)h(b)g(+)f(beta)i(c)0 3719
y(!)f(dgemv_212)h(\()777 b(a,)565 b(b,)177 b(c\))71 b(c)36
b(<)f(A)h(b)g(+)f(c)0 3798 y(!)0 3877 y(!)0 3956 y(!)h(8)f(procedures)j
(each)f(calls)f(the)h(F77)f(BLAS)g(subroutine)i(DGER)0
4035 y(!)71 b(c)35 b(is)h(rank-2,)i(and)e(a)f(and)h(b)g(are)g(rank-1)0
4114 y(!)0 4193 y(!)424 b(alpha)213 b(op_a)248 b(a)177
b(op_b)283 b(b)36 b(beta)g(c)106 b(operation)0 4271 y(!)0
4350 y(!)36 b(dger_201)72 b(\(alpha,)567 b(a,)e(b,beta,c\))73
b(C)36 b(<)f(alpha)i(a)f(b\(T\))g(+)g(beta)g(C)0 4429
y(!)g(dger_202)72 b(\(alpha,)567 b(a,)e(b,)177 b(c\))71
b(C)36 b(<)f(alpha)i(a)f(b\(T\))g(+)g(C)0 4508 y(!)g(dger_203)72
b(\()777 b(a,)565 b(b,beta,c\))73 b(C)36 b(<)f(a)h(b\(T\))g(+)g(beta)g
(C)0 4587 y(!)g(dger_204)72 b(\()777 b(a,)565 b(b,)177
b(c\))71 b(C)36 b(<)f(a)h(b\(T\))g(+)g(C)0 4666 y(!)g(dger_205)72
b(\(alpha,blas_conj)252 b(a,)565 b(b,beta,c\))73 b(C)36
b(<)f(alpha)i(a)f(b\(H\))g(+)g(beta)g(C)0 4745 y(!)g(dger_206)72
b(\(alpha,blas_conj)252 b(a,)565 b(b,)177 b(c\))71 b(C)36
b(<)f(alpha)i(a)f(b\(H\))g(+)g(C)0 4824 y(!)g(dger_207)72
b(\()212 b(blas_conj)250 b(a,)565 b(b,beta,c\))73 b(C)36
b(<)f(a)h(b\(H\))g(+)g(beta)g(C)0 4902 y(!)g(dger_208)72
b(\()212 b(blas_conj)250 b(a,)565 b(b,)177 b(c\))71 b(C)36
b(<)f(a)h(b\(H\))g(+)g(C)1349 5189 y Ff(Pro)t(cedure)52
b(gemm)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 216 226
216 225 bop 0 -165 a FK(216)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y Fv(Description)0
213 y Fg(gemm)25 b FC(is)e(a)g(generic)i(pro)r(cedure)f(whic)n(h)g(p)r
(erforms)e(one)i(of)f(follo)n(wing)g(op)r(erations:)584
391 y(rank)h(of)g Fg(a)p 911 415 4 79 v 99 w FC(rank)g(of)g
Fg(b)p 1289 415 V 100 w FC(rank)f(of)h Fg(c)p 1667 415
V 122 w(op)p 1815 391 22 4 v 26 w(a)p 1943 415 4 79 v
145 w(op)p 2091 391 22 4 v 26 w(b)p 2219 415 4 79 v 123
w FC(op)r(eration)p 2938 415 V 427 w(F77)g(BLAS)p 535
418 2831 4 v 706 473 a(2)p 911 497 4 79 v 343 w(2)p 1289
497 V 343 w(2)p 1667 497 V 1943 497 V 2219 497 V 774
w Fw(C)g Fu( )19 b Fw(\013AB)h FC(+)15 b Fw(\014)s(C)p
2938 497 V 2994 473 22 4 v 246 w Fg(GEMM)706 554 y FC(2)p
911 578 4 82 v 343 w(2)p 1289 578 V 343 w(2)p 1667 578
V 1943 578 V 541 w('T')p 2219 578 V 142 w Fw(C)24 b Fu( )19
b Fw(\013AB)2589 531 y Fq(T)2654 554 y FC(+)d Fw(\014)s(C)p
2938 578 V 2994 554 22 4 v 197 w Fg(GEMM)706 635 y FC(2)p
911 659 4 82 v 343 w(2)p 1289 659 V 343 w(2)p 1667 659
V 1943 659 V 498 w('C/T')p 2219 659 V 99 w Fw(C)24 b
Fu( )19 b Fw(\013AB)2589 612 y Fq(H)2663 635 y FC(+)d
Fw(\014)s(C)p 2938 659 V 2994 635 22 4 v 188 w Fg(GEMM)706
717 y FC(2)p 911 740 4 82 v 343 w(2)p 1289 740 V 343
w(2)p 1667 740 V 265 w('T')p 1943 740 V 2219 740 V 418
w Fw(C)24 b Fu( )19 b Fw(\013A)2533 693 y Fq(T)2582 717
y Fw(B)g FC(+)d Fw(\014)s(C)p 2938 740 V 2994 717 22
4 v 197 w Fg(GEMM)706 798 y FC(2)p 911 821 4 82 v 343
w(2)p 1289 821 V 343 w(2)p 1667 821 V 265 w('T')p 1943
821 V 185 w('T')p 2219 821 V 142 w Fw(C)24 b Fu( )19
b Fw(\013A)2533 774 y Fq(T)2582 798 y Fw(B)2638 774 y
Fq(T)2703 798 y FC(+)d Fw(\014)s(C)p 2938 821 V 2994
798 22 4 v 148 w Fg(GEMM)706 879 y FC(2)p 911 903 4 82
v 343 w(2)p 1289 903 V 343 w(2)p 1667 903 V 265 w('T')p
1943 903 V 142 w('C/T')p 2219 903 V 99 w Fw(C)24 b Fu( )19
b Fw(\013A)2533 855 y Fq(T)2582 879 y Fw(B)2638 855 y
Fq(H)2712 879 y FC(+)d Fw(\014)s(C)p 2938 903 V 2994
879 22 4 v 139 w Fg(GEMM)706 960 y FC(2)p 911 984 4 82
v 343 w(2)p 1289 984 V 343 w(2)p 1667 984 V 222 w('C/T')p
1943 984 V 2219 984 V 375 w Fw(C)24 b Fu( )19 b Fw(\013A)2533
937 y Fq(H)2591 960 y Fw(B)g FC(+)d Fw(\014)s(C)p 2938
984 V 2994 960 22 4 v 188 w Fg(GEMM)706 1041 y FC(2)p
911 1065 4 82 v 343 w(2)p 1289 1065 V 343 w(2)p 1667
1065 V 222 w('C/T')p 1943 1065 V 142 w('T')p 2219 1065
V 142 w Fw(C)24 b Fu( )19 b Fw(\013A)2533 1018 y Fq(H)2591
1041 y Fw(B)2647 1018 y Fq(T)2712 1041 y FC(+)d Fw(\014)s(C)p
2938 1065 V 2994 1041 22 4 v 139 w Fg(GEMM)706 1122 y
FC(2)p 911 1146 4 82 v 343 w(2)p 1289 1146 V 343 w(2)p
1667 1146 V 222 w('C/T')p 1943 1146 V 99 w('C/T')p 2219
1146 V 99 w Fw(C)24 b Fu( )19 b Fw(\013A)2533 1099 y
Fq(H)2591 1122 y Fw(B)2647 1099 y Fq(H)2721 1122 y FC(+)d
Fw(\014)s(C)p 2938 1146 V 2994 1122 22 4 v 130 w Fg(GEMM)706
1201 y FC(2)p 911 1225 4 79 v 343 w(1)p 1289 1225 V 343
w(1)p 1667 1225 V 1943 1225 V 2219 1225 V 774 w Fw(c)j
Fu( )g Fw(\013Ab)d FC(+)g Fw(\014)s(c)p 2938 1225 V 2994
1201 22 4 v 315 w Fg(GEMV)706 1282 y FC(2)p 911 1306
4 82 v 343 w(1)p 1289 1306 V 343 w(1)p 1667 1306 V 265
w('T')p 1943 1306 V 2219 1306 V 418 w Fw(c)j Fu( )g Fw(\013A)2509
1259 y Fq(T)2558 1282 y Fw(b)d FC(+)f Fw(\014)s(c)p 2938
1306 V 2994 1282 22 4 v 267 w Fg(GEMV)706 1363 y FC(2)p
911 1387 4 82 v 343 w(1)p 1289 1387 V 343 w(1)p 1667
1387 V 222 w('C/T')p 1943 1387 V 2219 1387 V 375 w Fw(c)k
Fu( )g Fw(\013A)2509 1340 y Fq(H)2567 1363 y Fw(b)d FC(+)f
Fw(\014)s(c)p 2938 1387 V 2994 1363 22 4 v 258 w Fg(GEMV)706
1445 y FC(1)p 911 1468 4 82 v 343 w(1)p 1289 1468 V 343
w(2)p 1667 1468 V 1943 1468 V 2219 1468 V 774 w Fw(C)24
b Fu( )19 b Fw(\013ab)2547 1421 y Fq(T)2613 1445 y FC(+)c
Fw(\014)s(C)p 2938 1468 V 2994 1445 22 4 v 239 w Fg(GER)p
3124 1445 V 706 1526 a FC(1)p 911 1549 4 82 v 343 w(1)p
1289 1549 V 343 w(2)p 1667 1549 V 1943 1549 V 541 w('C')p
2219 1549 V 142 w Fw(C)24 b Fu( )19 b Fw(\013ab)2547
1502 y Fq(H)2622 1526 y FC(+)c Fw(\014)s(C)p 2938 1549
V 2994 1526 22 4 v 230 w Fg(GER)p 3124 1526 V 0 1715
a FC(\(If)24 b Fw(A)f FC(is)g(real,)g(then)i Fw(A)616
1691 y Fq(H)693 1715 y FC(=)20 b Fw(A)821 1691 y Fq(T)869
1715 y FC(.\))0 1921 y Fv(Usage)51 2059 y Fe(CALL)53
b(gemm\([alpha],)h([op)p 1184 2059 31 4 v 38 w(a],)e(a,)g([op)p
1734 2059 V 38 w(b],)g(b,)f([beta],)j(c\))0 2190 y FC(One)21
b(or)g(more)f(of)h(the)h(argumen)n(ts)f(in)g(square)g(brak)n(ets)h(can)
g(b)r(e)f(dropp)r(ed.)32 b(The)21 b(order)g(of)g(the)h(supplied)f
(argumen)n(ts)g(m)n(ust)f(remain)g(unc)n(hanged.)0 2396
y Fv(Interfaces)0 2517 y FC(Distinct)k(in)n(terfaces)g(are)g(pro)n
(vided)g(for)f(eac)n(h)h(of)g(the)g(com)n(binations)g(of)f(the)i(follo)
n(wing)e(cases:)227 2721 y(Real)h(/)g(complex)f(data)227
2874 y Fd(Real)k(data:)206 b Fg(alpha)p FC(,)25 b Fg(a)p
FC(,)e Fg(b)p FC(,)h Fg(beta)g FC(and)h Fg(c)e FC(are)h(of)f(t)n(yp)r
(e)i(real\(kind=)p Fc(wp)p FC(\).)227 2986 y Fd(Complex)h(data:)44
b Fg(alpha)p FC(,)24 b Fg(a)p FC(,)g Fg(b)p FC(,)f Fg(beta)i
FC(and)f Fg(c)g FC(are)f(of)h(t)n(yp)r(e)h(complex\(kind=)p
Fc(wp)p FC(\).)227 3190 y(di\013eren)n(t)g(ranks)227
3306 y Fd(f77)p 339 3306 25 4 v 29 w(gemm:)42 b Fg(a)p
FC(,)24 b Fg(b)g FC(and)g Fg(c)g FC(are)f(rank-2)h(arra)n(ys.)227
3418 y Fd(f77)p 339 3418 V 29 w(gem)n(v:)70 b Fg(a)24
b FC(is)f(a)h(rank-2)g(arra)n(y)f(while)g Fg(b)h FC(and)g
Fg(c)g FC(are)g(rank-1)f(arra)n(ys.)227 3530 y Fd(f77)p
339 3530 V 29 w(ger:)153 b Fg(c)24 b FC(is)f(a)g(rank-2)h(arra)n(y)f
(while)h Fg(a)f FC(and)i Fg(b)f FC(are)f(rank-1)h(arra)n(ys.)0
3736 y Fv(Arguments)0 3858 y Fb(All)34 b(arra)n(y)f(argumen)n(ts)f(are)
h(assumed-shap)r(e)g(arra)n(ys.)49 b(The)32 b(exten)n(t)g(in)i(eac)n(h)
e(dimension)i(m)n(ust)e(b)r(e)h(exactly)g(that)0 3937
y(required)28 b(b)n(y)f(the)g(problem.)39 b(Notation)30
b(suc)n(h)d(as)h(`x\()p Fs(n)p Fb(\)')f(is)h(used)f(in)h(the)g(argumen)
n(t)f(descriptions)j(to)e(sp)r(ecify)g(that)0 4016 y(the)i(arra)n(y)f
Fh(x)h Fb(m)n(ust)f(ha)n(v)n(e)f(exactly)h Fs(n)h Fb(elemen)n(ts.)0
4144 y FC(The)24 b(pro)r(cedure)h(deriv)n(es)e(the)i(v)l(alues)f(of)f
(the)i(follo)n(wing)e(problem)f(parameters)h(from)f(the)j(shap)r(e)f
(of)f(the)i(supplied)f(arra)n(ys.)354 4273 y Fw(m)g FC(|)f(the)i
(\014rst)e(dimension)g(of)g Fg(c)p FC(,)h(if)f Fg(c)g
FC(is)g(rank-2)h(\()p Fw(m)c FC(=)p Fg(SIZE\(c,1\))p
FC(\),)26 b(or)e(the)g(size)g(of)f Fg(c)h FC(if)f(it)g(is)g(rank-1)h
(\()p Fw(m)c FC(=)p Fg(SIZE\(c\))p FC(\))354 4377 y Fw(n)k
FC(|)f(the)h(second)h(dimension)e(of)g Fg(c)h FC(if)f(it)g(is)g(rank-2)
h(\()p Fw(n)c FC(=)p Fg(SIZE\(c,2\))p FC(\))354 4481
y Fw(k)25 b FC(|)e(the)i(in)n(termediate)f(dimension)0
4686 y Fv(Mandato)m(ry)30 b(a)m(rguments)0 4808 y FC(One)25
b(or)f(more)g(of)g(the)i(argumen)n(ts)e Fg(alpha)p FC(,)i
Fg(op)p 1258 4808 22 4 v 26 w(a)p FC(,)e Fg(op)p 1433
4808 V 26 w(b)h FC(and)g Fg(beta)h FC(can)f(b)r(e)g(dropp)r(ed.)35
b(The)25 b(order)f(of)h(the)g(supplied)g(argumen)n(ts)f(m)n(ust)g
(remain)0 4887 y(unc)n(hanged.)0 5065 y Fd(alpha)f FC(|)g(real\(kind=)p
Fc(wp)p FC(\)/)h(complex\(kind=)p Fc(wp)p FC(\),)h(in)n(ten)n(t\(in\))
213 5172 y Fc(Input:)36 b FC(the)24 b(v)l(alue)h(of)e
Fw(\013)h FC(if)f(di\013eren)n(t)h(from)e(one.)213 5275
y Fc(Note:)35 b FC(if)23 b Fw(\013)h FC(is)f(exactly)i(one,)f(y)n(ou)g
(need)h(not)f(supply)g(this)g(argumen)n(t.)4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 217 227
217 226 bop 0 -165 a FA(C.3.)71 b(F)m(OR)-8 b(TRAN)31
b(95)h(THIN)e(BLAS)2419 b FK(217)0 91 y Fd(op)p 91 91
25 4 v 29 w(a)23 b FC(|)g(a)h(\\k)n(ey")h(argumen)n(t,)e(in)n(ten)n
(t\(in\))213 197 y Fc(Input:)36 b FC(if)26 b Fg(op)p
580 197 22 4 v 26 w(a)i FC(is)f(supplied,)h(it)f(sp)r(eci\014es)i
(whether)f(the)g(op)r(eration)h(in)n(v)n(olv)n(es)f(the)g(transp)r(ose)
g Fw(A)2881 173 y Fq(T)2957 197 y FC(or)f(its)h(conjugate-transp)r(ose)
h Fw(A)3842 173 y Fq(H)213 275 y FC(\(=)h Fw(A)378 252
y Fq(T)457 275 y FC(if)f Fw(A)h FC(is)f(real\).)51 b(In)31
b(this)f(case)h Fg(op)p 1369 275 V 26 w(a)f FC(m)n(ust)f(ha)n(v)n(e)j
(one)e(of)g(the)h(follo)n(wing)f(v)l(alues)g(\(whic)n(h)h(are)f(named)g
(constan)n(ts,)k(eac)n(h)d(of)f(a)213 354 y(di\013eren)n(t)24
b(deriv)n(ed)g(t)n(yp)r(e,)g(de\014ned)i(b)n(y)e(the)g(BLAS,)f(and)i
(accessible)f(from)e(the)i(mo)r(dule)f Fg(blas)p FC(\):)213
457 y Fg(blas)p 357 457 V 26 w(trans)p FC(:)33 b(if)22
b(the)j(op)r(eration)f(in)n(v)n(olv)n(es)g(the)h(transp)r(ose)f
Fw(A)1864 434 y Fq(T)1936 457 y FC(rather)g(than)h(the)f(matrix)f
Fw(A)p FC(;)213 560 y Fg(blas)p 357 560 V 26 w(conj)p
523 560 V 27 w(trans)p FC(:)32 b(if)23 b(the)h(op)r(eration)h(in)n(v)n
(olv)n(es)f(the)h(conjugate-transp)r(ose)g Fw(A)2350
537 y Fq(H)2432 560 y FC(rather)e(than)i(the)g(matrix)d
Fw(A)p FC(.)213 663 y(F)-6 b(or)23 b(further)g(explanation)j(of)d(\\k)n
(ey")i(argumen)n(ts,)e(see)h(the)h(????.)213 766 y Fc(Note:)35
b FC(for)23 b(real)h(matrices,)e Fg(blas)p 1106 766 V
26 w(conj)p 1272 766 V 27 w(trans)j FC(is)e(equiv)l(alen)n(t)i(to)f
Fg(blas)p 2131 766 V 27 w(trans)p FC(.)213 869 y Fc(Constrain)n(ts:)35
b Fg(op)p 697 869 V 26 w(a)21 b Fa(must)j(not)k FC(b)r(e)21
b(supplied)g(if)g Fg(a)g FC(is)g(rank-1)g(or)g(if)f(the)i(op)r(eration)
g(do)r(es)g(not)g(in)n(v)n(olv)n(e)f(the)i(transp)r(ose)f(or)e(the)i
(conjugate-)213 948 y(transp)r(ose)i(of)f Fw(A)p FC(.)0
1123 y Fd(a\()p Fw(m)p Fd(\))j(/)h(a\()p Fw(p;)10 b(q)r
Fd(\))23 b FC(|)g(real\(kind=)p Fc(wp)p FC(\)/)i(complex\(kind=)p
Fc(wp)p FC(\),)f(in)n(ten)n(t\(in\))213 1228 y Fc(Input:)36
b FC(the)24 b(matrix)f Fw(A)g FC(or)h(v)n(ector)g Fw(a)p
FC(.)213 1307 y(If)f Fg(a)h FC(is)f(rank-2)g(then:)307
1410 y(if)f Fg(op)p 445 1410 V 26 w(a)i FC(is)f(not)i(supplied,)e(the)h
(shap)r(e)h(of)e Fg(a)h FC(m)n(ust)f(b)r(e)h(\()p Fw(m;)12
b(k)r FC(\);)307 1513 y(if)22 b Fg(op)p 445 1513 V 26
w(a)i FC(is)f(supplied,)g(the)i(shap)r(e)f(of)g Fg(a)g
FC(m)n(ust)e(b)r(e)i(\()p Fw(k)r(;)12 b(m)p FC(\).)0
1712 y Fd(op)p 91 1712 25 4 v 29 w(b)24 b FC(|)f(a)h(\\k)n(ey")h
(argumen)n(t,)e(in)n(ten)n(t\(in\))213 1817 y Fc(Input:)36
b FC(if)22 b Fg(op)p 576 1817 22 4 v 26 w(b)i FC(is)f(supplied)h(and)g
Fg(b)f FC(is)g(rank-2,)g(it)h(sp)r(eci\014es)g(whether)g(the)g(op)r
(eration)h(in)n(v)n(olv)n(es)f(the)g(transp)r(ose)h Fw(B)3324
1794 y Fq(T)3396 1817 y FC(or)e(its)g(conjugate-)213
1896 y(transp)r(ose)h Fw(B)585 1872 y Fq(H)667 1896 y
FC(\(=)c Fw(B)825 1872 y Fq(T)898 1896 y FC(if)j Fw(B)k
FC(is)d(real\).)31 b(In)25 b(this)f(case)g Fg(op)p 1757
1896 V 26 w(b)g FC(m)n(ust)f(ha)n(v)n(e)i(one)g(of)e(the)i(follo)n
(wing)e(v)l(alues)h(\(whic)n(h)h(are)f(named)f(constan)n(ts,)213
1975 y(eac)n(h)h(of)g(a)g(di\013eren)n(t)g(deriv)n(ed)g(t)n(yp)r(e,)g
(de\014ned)h(b)n(y)f(the)h(BLAS,)e(and)h(accessible)h(from)c(the)k(mo)r
(dule)e Fg(blas)p FC(\):)213 2078 y Fg(blas)p 357 2078
V 26 w(trans)p FC(:)33 b(if)22 b(the)j(op)r(eration)f(in)n(v)n(olv)n
(es)g(the)h(transp)r(ose)f Fw(B)1867 2054 y Fq(T)1940
2078 y FC(rather)g(than)h(the)f(matrix)f Fw(B)s FC(;)213
2181 y Fg(blas)p 357 2181 V 26 w(conj)p 523 2181 V 27
w(trans)p FC(:)32 b(if)23 b(the)h(op)r(eration)h(in)n(v)n(olv)n(es)f
(the)h(conjugate-transp)r(ose)g Fw(B)2353 2157 y Fq(H)2435
2181 y FC(rather)f(than)h(the)f(matrix)f Fw(B)s FC(.)213
2307 y(If)h Fg(op)p 358 2307 V 26 w(b)h FC(is)e(supplied)i(and)g
Fg(b)g FC(is)e(rank-1,)i(it)f(sp)r(eci\014es)h(that)h(the)f(op)r
(eration)h(in)n(v)n(olv)n(es)e(the)i(conjugate)g(of)e
Fw(b)3060 2284 y Fq(T)3158 2307 y FC(\()p Fw(b)3215 2284
y Fq(H)3273 2307 y FC(\))h(rather)g(than)g Fw(b)3733
2284 y Fq(T)3782 2307 y FC(.)33 b(In)213 2386 y(this)19
b(case)i Fg(op)p 566 2386 V 26 w(b)f FC(m)n(ust)f(ha)n(v)n(e)i(b)r(e)f
Fg(blas)p 1209 2386 V 27 w(conj)h FC(\(whic)n(h)f(is)f(a)h(named)g
(constan)n(t)i(of)d(a)h(deriv)n(ed)h(t)n(yp)r(e,)g(de\014ned)g(b)n(y)g
(the)f(BLAS,)g(and)g(accessible)213 2465 y(from)h(the)k(mo)r(dule)e
Fg(blas)p FC(\).)213 2568 y(F)-6 b(or)23 b(further)g(explanation)j(of)d
(\\k)n(ey")i(argumen)n(ts,)e(see)h(the)h(????.)213 2671
y Fc(Note:)35 b FC(for)20 b(real)g(matrices,)f Fg(blas)p
1096 2671 V 27 w(conj)p 1263 2671 V 26 w(trans)j FC(is)e(equiv)l(alen)n
(t)h(to)g Fg(blas)p 2108 2671 V 27 w(trans)p FC(.)31
b(F)-6 b(or)20 b(real)g(arra)n(ys)g Fg(blas)p 2967 2671
V 26 w(conj)i FC(do)r(es)e(not)h(ha)n(v)n(e)h(an)n(y)f(e\013ect.)213
2774 y Fc(Constrain)n(ts:)35 b Fg(op)p 697 2774 V 26
w(b)26 b Fa(must)i(not)k FC(b)r(e)26 b(supplied)g(if)e(the)j(op)r
(eration)g(do)r(es)f(not)g(in)n(v)n(olv)n(e)h(the)f(conjugate)i(of)d
Fw(b)p FC(,)h(the)h(transp)r(ose)f(of)g Fw(B)j FC(or)c(the)213
2853 y(conjugate-transp)r(ose)h(of)d Fw(B)s FC(.)0 3028
y Fd(b\()p Fw(r)r Fd(\))j(/)h(b\()p Fw(r)n(;)11 b(s)p
Fd(\))23 b FC(|)g(real\(kind=)p Fc(wp)p FC(\)/)i(complex\(kind=)p
Fc(wp)p FC(\),)f(in)n(ten)n(t\(in\))213 3133 y Fc(Input:)36
b FC(the)24 b(matrix)f Fw(B)k FC(or)c(v)n(ector)i Fw(b)p
FC(.)213 3212 y(If)e Fg(b)h FC(is)f(rank-1)g(then:)307
3315 y(if)f Fg(a)i FC(is)f(rank-1,)g(the)i(shap)r(e)f(of)g
Fg(b)f FC(m)n(ust)g(b)r(e)h(\()p Fw(m)p FC(\);)307 3418
y(if)e Fg(a)i FC(is)f(rank-2,)g(the)i(shap)r(e)f(of)g
Fg(b)f FC(m)n(ust)g(b)r(e)h Fg(SIZE\(op)p 1721 3418 V
28 w(a\(a\),2\))p FC(.)213 3521 y(If)f Fg(b)h FC(is)f(rank-2)g(then:)
307 3624 y(if)f Fg(op)p 445 3624 V 26 w(b)i FC(is)f(not)i(supplied,)e
(the)h(shap)r(e)h(of)e Fg(b)h FC(m)n(ust)f(b)r(e)h(\()p
Fw(k)r(;)11 b(n)p FC(\);)307 3726 y(if)22 b Fg(op)p 445
3726 V 26 w(b)i FC(is)f(supplied,)g(the)i(shap)r(e)f(of)g
Fg(b)g FC(m)n(ust)e(b)r(e)i(\()p Fw(n;)12 b(k)r FC(\).)0
3926 y Fd(b)r(eta)23 b FC(|)h(real\(kind=)p Fc(wp)p FC(\)/)g
(complex\(kind=)p Fc(wp)p FC(\),)h(in)n(ten)n(t\(in\))213
4031 y Fc(Input:)36 b FC(the)24 b(v)l(alue)h(of)e Fw(\014)k
FC(if)22 b(di\013eren)n(t)j(from)c(zero.)213 4134 y Fc(Note:)35
b FC(if)23 b Fw(\014)k FC(is)c(exactly)i(zero,)e(y)n(ou)i(need)f(not)h
(supply)f(this)f(argumen)n(t.)0 4309 y Fd(c\()p Fw(m)p
Fd(\))k(/)g(c\()p Fw(m;)11 b(n)p Fd(\))23 b FC(|)g(real\(kind=)p
Fc(wp)p FC(\)/)i(complex\(kind=)p Fc(wp)p FC(\),)f(in)n(ten)n
(t\(inout\))213 4414 y Fc(Input:)36 b FC(the)24 b(matrix)f
Fw(C)28 b FC(or)c(v)n(ector)g Fw(c)p FC(.)31 b(If)24
b Fg(beta)g FC(is)f(not)i(supplied)e Fg(c)h FC(need)h(not)f(b)r(e)g
(initialized.)213 4517 y Fc(Output:)36 b FC(the)24 b(matrix)f
Fw(C)28 b FC(or)c(v)n(ector)g Fw(c)f FC(after)h(applying)g(the)h(op)r
(eration.)0 4726 y Fv(Examples)30 b(of)h(usage)0 4848
y FC(One)25 b(or)f(more)g(of)g(the)i(argumen)n(ts)e Fg(alpha)p
FC(,)i Fg(op)p 1258 4848 V 26 w(a)p FC(,)e Fg(op)p 1433
4848 V 26 w(b)h FC(and)g Fg(beta)h FC(can)f(b)r(e)g(dropp)r(ed.)35
b(The)25 b(order)f(of)h(the)g(supplied)g(argumen)n(ts)f(m)n(ust)g
(remain)0 4927 y(unc)n(hanged.)0 5053 y(T)-6 b(o)24 b(p)r(erform)e
Fw(C)i Fu( )19 b Fw(\013AB)689 5030 y Fq(H)771 5053 y
FC(use)24 b(the)h(call:)141 5227 y Fg(CALL)37 b(gemm)f
(\(alpha,a,blas_conj_tran)q(s,b,)q(c\))0 5400 y FC(T)-6
b(o)24 b(p)r(erform)e Fw(C)i Fu( )19 b Fw(AB)g FC(+)d
Fw(\014)s(C)29 b FC(use)23 b(the)i(call:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 218 228
218 227 bop 0 -165 a FK(218)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)141 91 y Fg(CALL)37 b(gemm)f
(\(a,b,beta,c\))0 270 y FC(T)-6 b(o)24 b(p)r(erform)e
Fw(C)i Fu( )19 b Fw(\013AB)h FC(+)15 b Fw(\014)s(C)29
b FC(use)24 b(the)g(call:)141 448 y Fg(CALL)37 b(gemm)f
(\(alpha,a,b,beta,c\))0 627 y FC(T)-6 b(o)24 b(p)r(erform)e
Fw(C)i Fu( )19 b Fw(A)588 603 y Fq(T)637 627 y Fw(B)693
603 y Fq(H)767 627 y FC(+)c Fw(\014)s(C)29 b FC(use)24
b(the)g(call:)141 805 y Fg(CALL)37 b(gemm)f(\(blas_trans,a,blas_her,)q
(b,be)q(ta,)q(c\))0 984 y FC(T)-6 b(o)24 b(p)r(erform)e
Fw(c)d Fu( )g Fw(\013A)609 960 y Fq(T)658 984 y Fw(b)d
FC(+)f Fw(\014)s(c)23 b FC(use)h(the)h(call:)141 1162
y Fg(CALL)37 b(gemm)f(\(alpha,blas_trans,a,b,b)q(eta,)q(c\))0
1341 y FC(T)-6 b(o)24 b(p)r(erform)e Fw(C)i Fu( )19 b
Fw(ab)602 1317 y Fq(H)676 1341 y FC(+)d Fw(\014)s(C)29
b FC(use)23 b(the)i(call:)141 1519 y Fg(CALL)37 b(gemm)f
(\(a,b,blas_conj,beta,c\))4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 219 229
219 228 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(219)0 91 y FE(C.4)116 b(Interval)38
b(BLAS)0 298 y Fx(C.4.1)98 b(Intro)s(duction)0 469 y
FK(In)m(terv)-5 b(al)32 b(computation)g(refers)g(to)h(p)s(erforming)d
(computations)i(with)f(in)m(terv)-5 b(als.)45 b(Computing)31
b(with)g(in)m(terv)-5 b(als)0 582 y(guaran)m(tees)39
b(that)g(in)m(terv)-5 b(al)37 b(results)g(con)m(tain)h(the)g(set)h(of)f
(all)f(p)s(ossible)e(correct)40 b(answ)m(ers.)63 b(V)-8
b(alid)37 b(implemen-)0 695 y(tations)j(of)f(in)m(terv)-5
b(al)39 b(arithmetic)f(pro)s(duce)h(correct)h(b)s(ounds)e(on)h(the)g
(set)h(of)g(all)e(p)s(ossible)f(correct)k(answ)m(ers,)0
808 y(including)31 b(the)k(e\016cts)g(of)f(accum)m(ulated)h(roundo\013)
f(errors.)52 b(Recen)m(t)36 b(adv)-5 b(ances)35 b(in)e(in)m(terv)-5
b(al)33 b(algorithms)h(ha)m(v)m(e)0 921 y(generated)29
b(in)m(terest)f(in)e(using)g(these)i(metho)s(ds)f(in)g(increasing)f(n)m
(um)m(b)s(ers)g(of)i(applications.)38 b(This)26 b(motiv)-5
b(ates)29 b(us)0 1034 y(to)i(establish)e(the)h(standard)g(for)g(in)m
(terv)-5 b(al)30 b(BLAS)g(describ)s(ed)e(in)h(this)g(c)m(hapter.)0
1274 y Fv(Intervals)0 1445 y FK(A)37 b(nonempt)m(y)f
Fz(mathematic)-5 b(al)41 b(interval)d FK([)p Fy(a;)15
b(b)p FK(])37 b(is)f(the)h(set)g FJ(f)p Fy(x)f FJ(2)f(<j)p
Fy(a)g FJ(\024)h Fy(x)f FJ(\024)g Fy(b)p FJ(g)i FK(where)f
Fy(a)g FJ(\024)f Fy(b)p FK(.)59 b(A)37 b Fz(machine)0
1558 y(interval)26 b FK([)p Fy(a)399 1525 y Fu(\003)439
1558 y Fy(;)15 b(b)518 1525 y Fu(\003)558 1558 y FK(])25
b(is)f(a)i(mathematical)g(in)m(terv)-5 b(al)24 b(whose)h(endp)s(oin)m
(ts)f(are)h(mac)m(hine)g(represen)m(table)g(n)m(um)m(b)s(ers.)38
b(W)-8 b(e)0 1671 y(sa)m(y)30 b(that)f([)p Fy(a)424 1638
y Fu(\003)464 1671 y Fy(;)15 b(b)543 1638 y Fu(\003)583
1671 y FK(])29 b(is)f(a)h(mac)m(hine)g(represen)m(tation)f(of)i([)p
Fy(a;)15 b(b)p FK(])29 b(if)f([)p Fy(a)2212 1638 y Fu(\003)2252
1671 y Fy(;)15 b(b)2331 1638 y Fu(\003)2371 1671 y FK(])29
b Fz(c)-5 b(ontains)61 b FK([)p Fy(a;)15 b(b)p FK(])30
b(i.e.)40 b Fy(a)3223 1638 y Fu(\003)3288 1671 y FJ(\024)25
b Fy(a)k FK(and)f Fy(b)d FJ(\024)g Fy(b)3835 1638 y Fu(\003)3875
1671 y FK(.)0 1784 y(W)-8 b(e)34 b(sa)m(y)g(that)f(the)g(mac)m(hine)g
(in)m(terv)-5 b(al)32 b([)p Fy(a)1440 1751 y Fu(\003)1480
1784 y Fy(;)15 b(b)1559 1751 y Fu(\003)1599 1784 y FK(])33
b(is)f(a)h Fz(tight)j(r)-5 b(epr)g(esentation)35 b FK(of)e(a)h
(mathematical)f(in)m(terv)-5 b(al)32 b([)p Fy(a;)15 b(b)p
FK(])0 1897 y(if)27 b(and)h(only)g(if)f Fy(a)583 1864
y Fu(\003)651 1897 y FK(is)g(the)i(greatest)h(mac)m(hine)e(represen)m
(table)g(n)m(um)m(b)s(er)f(whic)m(h)g(is)g(less)h(than)g(or)h(equal)e
(to)j Fy(a)p FK(,)f(and)0 2010 y Fy(b)39 1977 y Fu(\003)109
2010 y FK(is)g(the)i(least)f(mac)m(hine)g(represen)m(table)g(n)m(um)m
(b)s(er)g(whic)m(h)f(is)g(greater)j(than)e(or)g(equal)g(to)h
Fy(b)p FK(.)0 2123 y(The)i Fz(empty)k(interval)d FJ(;)p
FK(,)h(whic)m(h)e(do)s(es)g(not)h(con)m(tain)g(an)m(y)g(real)g(n)m(um)m
(b)s(er,)f(is)g(required)f(in)g(the)i(in)m(terv)-5 b(al)33
b(BLAS.)0 2236 y(F)-8 b(or)48 b(mac)m(hines)f(in)g(compliance)g(with)f
(the)i(IEEE-standard,)j(w)m(e)d(recommend)f(the)h(use)f(of)h([NaN)p
3606 2236 28 4 v 34 w(empt)m(y)-8 b(,)0 2349 y(NaN)p
186 2349 V 34 w(empt)m(y])31 b(to)g(represen)m(t)f(the)g(empt)m(y)h(in)
m(terv)-5 b(al,)30 b(where)g(NaN)p 2258 2349 V 33 w(empt)m(y)h(is)e(a)i
(unique)d(non-default)i(quiet)f(not-)0 2462 y(a-n)m(um)m(b)s(er)h(that)
h(is)e(used)h(to)h(represen)m(t)f(the)h(empt)m(y)g(in)m(terv)-5
b(al)29 b Fz(only)p FK(.)0 2575 y(in)m(terv)-5 b(al.)0
2815 y Fv(Notation)0 2986 y FK(Both)24 b(scalar)g(\(\015oating)g(p)s
(oin)m(t)e(n)m(um)m(b)s(er\))h(and)g(in)m(terv)-5 b(al)22
b(argumen)m(ts)i(are)g(used)f(for)g(the)h(sp)s(eci\014cation)e(of)i
(routines)0 3099 y(in)33 b(this)f(c)m(hapter.)52 b Fz(Interval)37
b(ve)-5 b(ctors)35 b FK(and)e Fz(interval)j(matric)-5
b(es)36 b FK(are)e(v)m(ectors)h(and)e(matrices)h(whose)g(en)m(tries)g
(are)0 3212 y(in)m(terv)-5 b(als.)39 b(The)26 b(notation)h(used)f(in)g
(this)g(c)m(hapter)i(is)e(consisten)m(t)h(with)f(other)h(c)m(hapters,)h
(but)e(w)m(e)i(use)e FG(b)s(oldface)0 3325 y(letters)34
b FK(to)i(sp)s(ecify)d(in)m(terv)-5 b(al)34 b(argumen)m(ts.)54
b(W)-8 b(e)36 b(also)f(use)f(o)m(v)m(erline)h(and)f(underline)d(to)36
b(sp)s(ecify)d(the)i(greatest)0 3438 y(lo)m(w)m(er)g(b)s(ound)d(and)i
(the)g(least)h(upp)s(er)d(b)s(ound)g(of)j(an)f(in)m(terv)-5
b(al)33 b(v)-5 b(ariable,)35 b(resp)s(ectiv)m(ely)-8
b(.)52 b(F)-8 b(or)35 b(example,)g(if)e FG(x)i FK(is)0
3551 y(an)30 b(in)m(terv)-5 b(al)30 b(v)m(ector,)i(then)e
FG(x)c FK(=)e([)p Fy(x)p 1161 3564 52 4 v 1 w(;)p 1254
3502 V 15 w(x)p FK(].)0 3791 y Fv(Interval)30 b(a)m(rithmetic)0
3963 y FK(In)m(terv)-5 b(al)30 b(arithmetic)g(on)g(mathematical)h(in)m
(terv)-5 b(als)29 b(is)h(de\014ned)f(as)h(follo)m(ws.)227
4175 y Fz(L)-5 b(et)44 b FG(a)f Fz(and)i FG(b)e Fz(b)-5
b(e)44 b(two)g(mathematic)-5 b(al)46 b(intervals.)76
b(L)-5 b(et)44 b FD(op)e Fz(b)-5 b(e)44 b(one)g(of)f(the)h(arithmetic)h
(op)-5 b(er)g(a-)227 4288 y(tions)40 b FK(+)p Fy(;)15
b FJ(\000)p Fy(;)g FJ(\002)p Fy(;)g FJ(\004)p Fz(.)61
b(Then)39 b FG(a)32 b FD(op)47 b FG(b)37 b FJ(\021)g(f)p
Fy(a)c FD(op)47 b Fy(b)37 b FK(:)g Fy(a)f FJ(2)h FG(a)p
Fy(;)15 b(b)37 b FJ(2)f FG(b)p FJ(g)p Fz(,)41 b(pr)-5
b(ovide)g(d)41 b(that)f FK(0)d FJ(62)g FG(b)i Fz(if)f
FD(op)227 4401 y Fz(r)-5 b(epr)g(esents)35 b FJ(\004)p
Fz(.)227 4614 y(A)-5 b(dvic)g(e)32 b(to)h(users:)40 b
FK(The)29 b(ab)s(o)m(v)m(e)i(de\014nition)c(of)j(division)d(implies)g
(that)j(the)g(user)f(is)f(resp)s(onsible)f(to)227 4726
y(trapping)i(and)h(dealing)f(with)g(an)m(y)i(division)c(b)m(y)k(an)f
(in)m(terv)-5 b(al)29 b(con)m(taining)h(zero.)0 4939
y(T)-8 b(able)42 b(C.1)h(giv)m(es)f(explicit)f(implemen)m(tations)g(of)
h(these)h(four)f(basic)g(in)m(terv)-5 b(al)41 b(arithmetic)h(op)s
(erations)g(and)0 5052 y(other)37 b(op)s(erations)f(on)g(mathematical)h
(in)m(terv)-5 b(als)36 b(used)f(in)h(this)f(c)m(hapter.)60
b(W)-8 b(e)38 b(use)e(the)h(notation)f FG(a)g FK(=)f([)p
Fy(a)p 3738 5065 49 4 v(;)p 3826 5003 V 15 w(a)q FK(])0
5165 y(and)30 b FG(b)25 b FK(=)g([)p Fy(b)p 381 5178
40 4 v(;)p 460 5092 V 15 w(b)q FK(].)0 5278 y(All)h(op)s(erations)h(in)
g(the)g(in)m(terv)-5 b(al)27 b(BLAS)h(are)g(necessarily)e(p)s(erformed)
h(on)g(mac)m(hine)h(in)m(terv)-5 b(als.)38 b(Arithmetic)27
b(on)0 5391 y(mac)m(hine)j(in)m(terv)-5 b(als)29 b(m)m(ust)i(satisfy)f
(the)g(follo)m(wing)f(prop)s(ert)m(y:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 220 230
220 229 bop 0 -165 a FK(220)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)p 0 12 3932 4 v -2 125
4 113 v 15 125 V 66 91 a FK(Op)s(eration)p 903 125 V
485 w FG(a)25 b FJ(6)p FK(=)g FJ(;)31 b FK(and)f FG(b)25
b FJ(6)p FK(=)g FJ(;)p 2868 125 V 1317 w FG(a)g FK(=)g
FJ(;)31 b FK(or/and)f FG(b)25 b FK(=)g FJ(;)p 3913 125
V 3930 125 V 0 128 3932 4 v -2 241 4 114 v 15 241 V 66
208 a FK(Addition)k FG(a)20 b FK(+)g FG(b)p 903 241 V
286 w FK([)p Fy(a)p 979 221 49 4 v 21 w FK(+)g Fy(b)p
1139 221 40 4 v(;)p 1218 158 49 4 v 15 w(a)g FK(+)p 1377
134 40 4 v 20 w Fy(b)p FK(])p 2868 241 4 114 v 1479 w
FJ(;)p 3913 241 V 3930 241 V -2 355 V 15 355 V 66 321
a FK(Subtraction)30 b FG(a)20 b FJ(\000)g FG(b)p 903
355 V 172 w FK([)p Fy(a)p 979 334 49 4 v 21 w FJ(\000)p
1139 248 40 4 v 20 w Fy(b;)p 1218 272 49 4 v 15 w(a)g
FJ(\000)g Fy(b)p 1377 334 40 4 v FK(])p 2868 355 4 114
v 1479 w FJ(;)p 3913 355 V 3930 355 V -2 469 V 15 469
V 66 435 a FK(Multiplication)28 b FG(a)20 b FJ(\003)h
FG(b)p 903 469 V 99 w FK([min)o FJ(f)p Fy(a)p 1176 448
49 4 v 1 w(b)p 1225 448 40 4 v(;)15 b(a)p 1304 448 49
4 v 1352 362 40 4 v(b;)p 1431 386 49 4 v 15 w(ab)p 1479
448 40 4 v(;)p 1558 386 49 4 v 15 w(a)p 1607 362 40 4
v 1 w(b)p FJ(g)p Fy(;)g FK(max)q FJ(f)p Fy(a)p 1946 448
49 4 v 1 w(b)p 1995 448 40 4 v(;)g(a)p 2074 448 49 4
v 2122 362 40 4 v(b;)p 2201 386 49 4 v 15 w(ab)p 2249
448 40 4 v(;)p 2328 386 49 4 v 15 w(a)p 2377 362 40 4
v 1 w(b)p FJ(g)p FK(])p 2868 469 4 114 v 434 w FJ(;)p
3913 469 V 3930 469 V -2 582 V 15 582 V 66 548 a FK(Cancellation)30
b FG(a)20 b FJ(\011)g FG(b)p 903 582 V 142 w FK([)p Fy(a)p
979 561 49 4 v 21 w FJ(\000)g Fy(b)p 1139 561 40 4 v(;)p
1218 499 49 4 v 15 w(a)g FJ(\000)p 1377 475 40 4 v 20
w Fy(b)p FK(])31 b(if)e(\()p Fy(a)p 1590 561 49 4 v 21
w FJ(\000)20 b Fy(b)p 1750 561 40 4 v FK(\))25 b FJ(\024)g
FK(\()p 1980 499 49 4 v Fy(a)c FJ(\000)p 2140 475 40
4 v 20 w Fy(b)p FK(\);)31 b(Otherwise,)e FJ(;)p 2868
582 4 114 v 150 w(;)p 3913 582 V 3930 582 V -2 778 4
197 v 15 778 V 66 700 a FK(Division)435 638 y FG(a)p
432 678 59 4 v 432 762 a(b)500 700 y Fy(;)15 b FK(\(0)26
b FJ(62)f FG(b)p FK(\))p 903 778 4 197 v 129 w([min)o
FJ(f)1186 638 y Fy(a)p 1186 651 49 4 v 1186 678 V 1191
762 a(b)p 1191 775 40 4 v 1244 700 a(;)1295 638 y(a)p
1295 651 49 4 v 1295 678 V 1300 695 40 4 v 1300 768 a(b)1353
700 y(;)p 1403 589 49 4 v 1403 638 a(a)p 1403 678 V 1408
762 a(b)p 1408 775 40 4 v 1461 700 a(;)p 1512 589 49
4 v 1512 638 a(a)p 1512 678 V 1517 695 40 4 v 1517 768
a(b)1570 700 y FJ(g)p Fy(;)15 b FK(max)q FJ(f)1880 638
y Fy(a)p 1880 651 49 4 v 1880 678 V 1885 762 a(b)p 1885
775 40 4 v 1938 700 a(;)1988 638 y(a)p 1988 651 49 4
v 1988 678 V 1993 695 40 4 v 1993 768 a(b)2046 700 y(;)p
2097 589 49 4 v 2097 638 a(a)p 2097 678 V 2102 762 a(b)p
2102 775 40 4 v 2155 700 a(;)p 2205 589 49 4 v 2205 638
a(a)p 2205 678 V 2210 695 40 4 v 2210 768 a(b)2263 700
y FJ(g)p FK(])p 2868 778 4 197 v 587 w FJ(;)p 3913 778
V 3930 778 V -2 892 4 114 v 15 892 V 66 858 a FK(Con)m(v)m(ex)32
b(Hull)c FG(a)p Fy(;)15 b FG(b)p 903 892 V 216 w FK([min)o
FJ(f)p Fy(a)p 1176 871 49 4 v 1 w(;)g(b)p 1265 871 40
4 v FJ(g)p Fy(;)g FK(max)q FJ(f)p 1604 809 49 4 v Fy(a;)p
1692 785 40 4 v 15 w(b)q FJ(g)p FK(])p 2868 892 4 114
v 1118 w FG(b)30 b FK(if)g FG(a)25 b FK(=)g FJ(;)p FK(;)31
b(or)f FG(a)g FK(if)f FG(b)d FK(=)f FJ(;)p 3913 892 V
3930 892 V -2 1006 V 15 1006 V 66 972 a FK(In)m(tersection)31
b FG(a)20 b FJ(\\)g FG(b)p 903 1006 V 182 w FK([max)q
FJ(f)p Fy(a)p 1194 985 49 4 v(;)15 b(b)p 1282 985 40
4 v 1 w FJ(g)p Fy(;)g FK(min)o FJ(f)p 1604 923 49 4 v
Fy(a;)p 1692 899 40 4 v 15 w(b)q FJ(g)p FK(])31 b(if)e(max)p
FJ(f)p Fy(a)p 2130 985 49 4 v 1 w(;)15 b(b)p 2219 985
40 4 v FJ(g)26 b(\024)f FK(min)o FJ(f)p 2622 923 49 4
v Fy(a;)p 2710 899 40 4 v 15 w(b)p FJ(g)p FK(;)p 2868
1006 4 114 v 101 w FJ(;)p 3913 1006 V 3930 1006 V -2
1119 4 113 v 15 1119 V 903 1119 V 954 1085 a FK(Otherwise,)30
b FJ(;)p 2868 1119 V 3913 1119 V 3930 1119 V -2 1232
V 15 1232 V 66 1198 a FK(Disjoin)m(t)p 903 1232 V 575
w Fz(T)-7 b(rue)31 b FK(if)e FG(a)20 b FJ(\\)g FG(b)25
b FK(=)g FJ(;)p FK(;)31 b Fz(F)-7 b(alse)p FK(,)32 b(otherwise)p
2868 1232 V 601 w Fz(T)-7 b(rue)p 3913 1232 V 3930 1232
V -2 1344 V 15 1344 V 66 1311 a FK(Absolute)30 b(v)-5
b(alue)30 b FJ(j)p FG(a)p FJ(j)p 903 1344 V 170 w FK(max)p
FJ(fj)p Fy(a)p 1193 1324 49 4 v 1 w FJ(j)p Fy(;)15 b
FJ(j)p 1332 1261 V Fy(a)q FJ(jg)p 2868 1344 4 113 v 1469
w FK(NaN)p 3106 1311 28 4 v 33 w(empt)m(y)p 3913 1344
4 113 v 3930 1344 V -2 1457 V 15 1457 V 66 1423 a(Midp)s(oin)m(t)29
b FG(a)p 903 1457 V 440 w FK(\()p Fy(a)p 989 1436 49
4 v 21 w FK(+)p 1149 1374 V 20 w Fy(a)p FK(\))p Fy(=)p
FK(2)p 2868 1457 4 113 v 1598 w(NaN)p 3106 1423 28 4
v 33 w(empt)m(y)p 3913 1457 4 113 v 3930 1457 V -2 1570
V 15 1570 V 66 1536 a(Width)h FG(a)p 903 1570 V 954 1487
49 4 v 551 w Fy(a)20 b FJ(\000)g Fy(a)p 1113 1549 V 2868
1570 4 113 v 1759 w FK(NaN)p 3106 1536 28 4 v 33 w(empt)m(y)p
3913 1570 4 113 v 3930 1570 V 0 1574 3932 4 v 1110 1828
a(T)-8 b(able)30 b(C.1:)41 b(Elemen)m(tary)31 b(in)m(terv)-5
b(al)29 b(op)s(erations)227 2100 y Fz(Containment)36
b(Condition:)43 b FK(Let)32 b FG(a)27 b FK(=)g([)p Fy(a)p
1604 2113 49 4 v(;)p 1692 2051 V 15 w(a)q FK(])k(and)g
FG(b)c FK(=)g([)p Fy(b)p 2183 2113 40 4 v(;)p 2262 2027
V 15 w(b)p FK(])32 b(b)s(e)f(in)m(terv)-5 b(als.)43 b(Let)32
b FG(c)27 b FK(=)g([)p Fy(c)p 3246 2113 V(;)p 3325 2051
V 15 w(c)q FK(])32 b(b)s(e)e(the)227 2213 y(in)m(terv)-5
b(al)29 b(result)g(of)h(computing)f FG(a)h FD(op)g FG(b)g
FK(where)f FD(op)h FK(is)f(de\014ned)f(in)h(T)-8 b(able)30
b(C.1.)40 b(If)30 b FG(c)g FK(is)f(nonempt)m(y)-8 b(,)227
2326 y(then)30 b FG(c)h FK(m)m(ust)f(con)m(tain)h(the)g(exact)h
(mathematical)e(in)m(terv)-5 b(al)30 b FG(a)g FD(op)g
FG(b)p FK(.)0 2535 y(In)24 b(other)h(w)m(ords,)g(in)m(terv)-5
b(al)24 b(arithmetic)g(on)h(nonempt)m(y)f(mac)m(hine)h(in)m(terv)-5
b(als)24 b(requires)f(that)i(w)m(e)g(round)f(do)m(wn)g(the)0
2648 y(lo)m(w)m(er)29 b(b)s(ound)d(and)h(round)g(up)g(the)i(upp)s(er)d
(b)s(ound)g(to)j(guaran)m(tee)h(that)f(the)f(mac)m(hine)g(in)m(terv)-5
b(al)28 b(result)f(con)m(tains)0 2761 y(the)37 b(true)g(mathematical)h
(in)m(terv)-5 b(al)36 b(result.)60 b(This)36 b(is)g(needed)h(to)h
(propagate)g(guaran)m(teed)g(error)f(b)s(ounds.)59 b(A)0
2874 y(go)s(o)s(d)25 b(implemen)m(tation)g(will)d(round)i(do)m(wn)i
(and)e(round)h(up)f(to)i(the)g(nearest)g(p)s(ossible)d(\015oating)j(p)s
(oin)m(t)e(n)m(um)m(b)s(ers,)0 2987 y(in)31 b(order)h(to)h(get)h(the)f
(narro)m(w)m(est)g(p)s(ossible)d(mac)m(hine)i(in)m(terv)-5
b(als.)46 b(But)33 b(coarser)g(rounding)d(is)i(enough)g(to)h(get)h(a)0
3100 y(correct)e(implemen)m(tation.)42 b(F)-8 b(or)32
b(more)g(information)d(on)i(in)m(terv)-5 b(al)31 b(arithmetic)f(sp)s
(eci\014cations,)h(one)g(ma)m(y)h(refer)0 3213 y(to)f([14)q(].)227
3422 y Fz(A)-5 b(dvic)g(e)48 b(to)g(implementors:)75
b FK(In)46 b(implemen)m(tations)f(of)i(in)m(terv)-5 b(al)46
b(BLAS,)h(a)g(w)m(arning)f(message)227 3535 y(should)33
b(b)s(e)g(pro)m(vided)g(to)i(users)f(whenev)m(er)g(there)h(is)e(no)h
(\014nite)g(mac)m(hine)g(in)m(terv)-5 b(al)33 b(that)i(satis\014es)227
3647 y(the)c(con)m(tainmen)m(t)g(condition)e(during)f(computations.)0
3856 y(With)f(in)m(terv)-5 b(al)27 b(arithmetic,)g(one)h(ma)m(y)h
(automatically)e(b)s(ound)e(truncation)i(error,)h(round-o\013)f(error,)
h(and)f(ev)m(en)0 3969 y(error)43 b(in)f(the)i(original)e(data)i(to)h
(obtain)e(mac)m(hine)g(in)m(terv)-5 b(als)42 b(that)j(are)f(guaran)m
(teed)g(to)g(con)m(tain)g(the)g(true)0 4082 y(mathematical)c(result)f
(of)g(a)h(computation.)69 b(Ho)m(w)m(ev)m(er,)44 b(simply)38
b(c)m(hanging)h(\015oating)h(p)s(oin)m(t)e(n)m(um)m(b)s(ers)h(in)f(an)0
4195 y(algorithm)25 b(in)m(to)h(in)m(terv)-5 b(als)25
b(and)g(all)g(\015oating)h(p)s(oin)m(t)f(op)s(erations)h(in)m(to)g(in)m
(terv)-5 b(al)25 b(op)s(erations)g(ma)m(y)i(result)e(in)f(suc)m(h)0
4308 y(wide)40 b(in)m(terv)-5 b(als)40 b(that)i(the)f(output)g(is)f
(useless)g(in)g(practice.)73 b(F)-8 b(or)42 b(example,)h([)p
FJ(\000)p FK(100)p Fy(;)15 b FK(200])45 b(is)40 b(a)h(correct)i(but)0
4421 y(probably)26 b(useless)h(b)s(ound)e(for)j(a)g(true)f(result)g(of)
h(3.1416.)42 b(T)-8 b(o)28 b(apply)f(the)g(in)m(terv)-5
b(al)27 b(BLAS)h(routines)e(e\013ectiv)m(ely)-8 b(,)0
4534 y(appropriate)35 b(algorithms)g(should)f(b)s(e)h(used)g(that)h
(attempt)h(to)g(k)m(eep)g(in)m(terv)-5 b(al)35 b(widths)f(narro)m(w.)57
b(Man)m(y)36 b(suc)m(h)0 4647 y(algorithms)j(are)h(a)m(v)-5
b(ailable)39 b(in)f(the)i(literature.)68 b(Readers)40
b(ma)m(y)g(\014nd)e(a)i(list)e(of)i(reference)g(b)s(o)s(oks,)i(w)m
(ebsites,)0 4760 y(soft)m(w)m(are)32 b(pac)m(k)-5 b(ages,)32
b(and)e(applications)f(in)g([2,)i(12)q(,)f(1)q(].)0 5003
y Fx(C.4.2)98 b(F)m(unctionalit)m(y)0 5174 y FK(This)29
b(c)m(hapter)i(de\014nes)f(the)h(functionalit)m(y)f(and)g(language)h
(bindings)d(for)i(b)s(oth)g(the)h(in)m(terv)-5 b(al)30
b(BLAS)h(routines,)0 5287 y(and)i(for)h(selected)h(mathematical)f(op)s
(erations)f(on:)48 b(in)m(terv)-5 b(als;)35 b(in)m(terv)-5
b(al)33 b(v)m(ectors;)k(and,)e(dense,)g(banded,)f(and)0
5400 y(triangular)29 b(in)m(terv)-5 b(al)29 b(matricies.)40
b(Neither)30 b(sparse)g(data)h(structures,)f(nor)g(complex)g(in)m(terv)
-5 b(als)30 b(are)g(treated.)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 221 231
221 230 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(221)0 91 y(Sections)28 b(C.4.2)i({)58
b(C.4.2)30 b(outline)e(the)h(functionalit)m(y)e(of)i(the)g(prop)s(osed)
e(routines)h(in)g(tabular)g(form.)39 b(Sections)0 204
y(C.2{C.4.5)32 b(presen)m(t)f(the)f(language)h(bindings)c(for)j(the)h
(prop)s(osed)e(routines)g(in)g(the)i(functionalit)m(y)e(tables.)0
444 y Fv(Interval)h(V)m(ecto)m(r)i(Op)s(erations)0 616
y FK(T)-8 b(able)22 b(C.2)h(lists)e(in)m(terv)-5 b(al)21
b(v)m(ector)k(reduction)c(op)s(erations.)37 b(T)-8 b(able)22
b(C.3)h(lists)e(in)m(terv)-5 b(al)22 b(v)m(ector)i(op)s(erations.)37
b(T)-8 b(able)0 729 y(C.4)31 b(lists)e(in)m(terv)-5 b(al)29
b(v)m(ector)j(op)s(erations)e(whic)m(h)f(in)m(v)m(olv)m(e)h(only)g
(data)h(mo)m(v)m(emen)m(t.)p 298 850 3305 4 v 296 962
4 113 v 313 962 V 364 929 a(Dot)h(pro)s(duct)p 1612 962
V 807 w FG(r)25 b FJ( )g Fy(\014)5 b FG(r)21 b FK(+)f
Fy(\013)p FG(x)2172 896 y Fw(T)2227 929 y FG(y)p 2915
962 V 685 w FK(DOT)p 3178 929 28 4 v 32 w(I)p 3584 962
4 113 v 3601 962 V 296 1075 V 313 1075 V 364 1041 a(V)-8
b(ector)32 b(norms)p 1612 1075 V 768 w Fy(r)c FJ( )d(jj)p
FG(x)p FJ(jj)2004 1055 y FC(1)2044 1041 y Fy(;)15 b(r)28
b FJ( )e(jj)p FG(x)p FJ(jj)2425 1055 y FC(2)p 2915 1075
V 3584 1075 V 3601 1075 V 296 1188 V 313 1188 V 1612
1188 V 1664 1154 a Fy(r)i FJ( )d(jj)p FG(x)p FJ(jj)2004
1168 y Fu(1)p 2915 1188 V 2967 1154 a FK(NORM)p 3261
1154 28 4 v 33 w(I)p 3584 1188 4 113 v 3601 1188 V 296
1301 V 313 1301 V 364 1267 a(Sum)p 1612 1301 V 1122 w
FG(r)g FJ( )1848 1203 y Ft(P)1936 1290 y Fw(i)1979 1267
y FG(x)2034 1281 y Fw(i)p 2915 1301 V 2967 1267 a FK(SUM)p
3174 1267 28 4 v 32 w(I)p 3584 1301 4 113 v 3601 1301
V 296 1414 V 313 1414 V 364 1380 a(Max)31 b(magnitude)f(&)g(lo)s
(cation)p 1612 1414 V 226 w Fy(k)s(;)15 b FG(x)1809 1395
y Fw(k)1852 1380 y FK(;)31 b Fy(k)d FK(=)d(arg)46 b(max)2420
1394 y Fw(i)2448 1380 y FJ(fj)p Fy(x)p 2518 1393 52 4
v 2571 1401 a Fw(i)2599 1380 y FJ(j)p Fy(;)15 b FJ(j)p
2689 1331 V Fy(x)2742 1394 y Fw(i)2770 1380 y FJ(jg)p
2915 1414 4 113 v 127 w FK(AMAX)p 3259 1380 28 4 v 33
w(V)-10 b(AL)p 3475 1380 V 33 w(I)p 3584 1414 4 113 v
3601 1414 V 296 1527 V 313 1527 V 364 1493 a(Min)29 b(absolute)i(v)-5
b(alue)29 b(&)h(lo)s(cation)p 1612 1527 V 100 w Fy(k)s(;)15
b FG(x)1809 1508 y Fw(k)1852 1493 y FK(;)31 b Fy(k)d
FK(=)d(arg)46 b(min)2403 1507 y Fw(i)2431 1493 y FJ(fj)p
Fy(x)p 2501 1506 52 4 v 21 x Fw(i)2582 1493 y FJ(j)p
Fy(;)15 b FJ(j)p 2672 1444 V Fy(x)2724 1507 y Fw(i)2753
1493 y FJ(jg)p 2915 1527 4 113 v 144 w FK(AMIN)p 3224
1493 28 4 v 33 w(V)-10 b(AL)p 3440 1493 V 33 w(I)p 3584
1527 4 113 v 3601 1527 V 296 1640 4 114 v 313 1640 V
364 1607 a(Sum)29 b(of)i(squares)p 1612 1640 V 697 w(\()p
FG(a)p Fy(;)15 b FG(b)p FK(\))26 b FJ( )2025 1542 y Ft(P)2113
1630 y Fw(i)2156 1607 y FG(x)2211 1574 y FC(2)2211 1631
y Fw(i)2251 1607 y FK(,)k FG(a)20 b FJ(\001)h FG(b)2481
1570 y FC(2)2546 1607 y FK(=)2641 1542 y Ft(P)2729 1630
y Fw(i)2772 1607 y FG(x)2828 1574 y FC(2)2828 1631 y
Fw(i)p 2915 1640 V 2967 1607 a FK(SUMSQ)p 3296 1607 28
4 v 32 w(I)p 3584 1640 4 114 v 3601 1640 V 298 1644 3305
4 v 1287 1898 a(T)-8 b(able)30 b(C.2:)41 b(Reduction)30
b(Op)s(erations)p 530 2118 2841 4 v 528 2231 4 113 v
545 2231 V 596 2197 a(Recipro)s(cal)g(scale)p 2057 2231
V 876 w FG(x)c FJ( )f FG(x)p Fy(=\013)p 2709 2231 V 298
w FK(RSCALE)p 3137 2197 28 4 v 31 w(I)p 3352 2231 4 113
v 3369 2231 V 528 2344 V 545 2344 V 596 2310 a(Scaled)30
b(in)m(terv)-5 b(al)30 b(v)m(ector)i(accum)m(ulation)p
2057 2344 V 99 w FG(y)26 b FJ( )f Fy(\013)p FG(x)c FK(+)e
Fy(\014)5 b FG(y)p 2709 2344 V 121 w FK(AXPBY)p 3096
2310 28 4 v 33 w(I)p 3352 2344 4 113 v 3369 2344 V 528
2457 V 545 2457 V 596 2423 a(Scaled)30 b(in)m(terv)-5
b(al)30 b(v)m(ector)i(accum)m(ulation)p 2057 2457 V 99
w FG(w)25 b FJ( )g Fy(\013)p FG(x)c FK(+)f Fy(\014)5
b FG(y)p 2709 2457 V 100 w FK(W)-10 b(AXPBY)p 3179 2423
28 4 v 34 w(I)p 3352 2457 4 113 v 3369 2457 V 528 2570
V 545 2570 V 596 2536 a(Scaled)30 b(in)m(terv)-5 b(al)30
b(v)m(ector)i(cancellation)p 2057 2570 V 157 w FG(y)26
b FJ( )f Fy(\013)p FG(x)c FJ(\011)e Fy(\014)5 b FG(y)p
2709 2570 V 121 w FK(CANCEL)p 3153 2536 28 4 v 32 w(I)p
3352 2570 4 113 v 3369 2570 V 528 2683 V 545 2683 V 596
2649 a(Scaled)30 b(in)m(terv)-5 b(al)30 b(v)m(ector)i(cancellation)p
2057 2683 V 157 w FG(w)25 b FJ( )g Fy(\013)p FG(x)c FJ(\011)f
Fy(\014)5 b FG(y)p 2709 2683 V 100 w FK(W)m(CANCEL)p
3243 2649 28 4 v 33 w(I)p 3352 2683 4 113 v 3369 2683
V 530 2686 2841 4 v 1193 2940 a(T)-8 b(able)30 b(C.3:)41
b(In)m(terv)-5 b(al)30 b(V)-8 b(ector)32 b(Op)s(erations)p
1051 3160 1798 4 v 1049 3273 4 113 v 1066 3273 V 1117
3239 a(Cop)m(y)p 1773 3273 V 501 w FG(y)25 b FJ( )g FG(x)p
2196 3273 V 171 w FK(COPY)p 2519 3239 28 4 v 32 w(I)p
2831 3273 4 113 v 2848 3273 V 1049 3386 V 1066 3386 V
1117 3352 a(Sw)m(ap)p 1773 3386 V 498 w FG(y)g FJ($)g
FG(x)p 2196 3386 V 171 w FK(SW)-10 b(AP)p 2516 3352 28
4 v 33 w(I)p 2831 3386 4 113 v 2848 3386 V 1049 3499
V 1066 3499 V 1117 3465 a(P)m(erm)m(ute)32 b(v)m(ector)p
1773 3499 V 101 w FG(x)25 b FJ( )g Fy(P)13 b FG(x)p 2196
3499 V 100 w FK(PERMUTE)p 2722 3465 28 4 v 33 w(I)p 2831
3499 4 113 v 2848 3499 V 1051 3502 1798 4 v 756 3756
a(T)-8 b(able)30 b(C.4:)41 b(Data)32 b(Mo)m(v)m(emen)m(t)h(with)c(In)m
(terv)-5 b(al)30 b(V)-8 b(ector)32 b(Op)s(erations)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 222 232
222 231 bop 0 -165 a FK(222)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y Fv(Interval)g(Matrix-V)m(ecto)m
(r)h(Op)s(erations)0 263 y FK(T)-8 b(able)30 b(C.5)h(lists)e(in)m(terv)
-5 b(al)29 b(matrix-v)m(ector)j(op)s(erations.)p 319
384 3263 4 v 317 496 4 113 v 334 496 V 385 463 a(Matrix)e(v)m(ector)i
(pro)s(duct)p 1320 496 V 99 w FG(y)25 b FJ( )h Fy(\013)p
FG(Ax)20 b FK(+)g Fy(\014)5 b FG(y)p 2431 496 V 499 w
FK(GE,GB,SY,SB,SP)p 3246 496 V 101 w(MV)p 3454 463 28
4 v 33 w(I)p 3563 496 4 113 v 3580 496 V 317 612 4 116
v 334 612 V 1320 612 V 1372 578 a FG(y)25 b FJ( )h Fy(\013)p
FG(A)1706 542 y Fw(T)1761 578 y FG(x)20 b FK(+)g Fy(\014)5
b FG(y)p 2431 612 V 444 w FK(GE,GB)p 3246 612 V 523 w(MV)p
3454 578 28 4 v 33 w(I)p 3563 612 4 116 v 3580 612 V
317 727 V 334 727 V 1320 727 V 1372 693 a FG(x)25 b FJ( )h
FG(T)o(x)p Fy(;)15 b FG(x)26 b FJ( )f FG(T)2006 657 y
Fw(T)2061 693 y FG(x)p 2431 727 V 366 w FK(TR,)30 b(TB,)h(TP)p
3246 727 V 314 w(MV)p 3454 693 28 4 v 33 w(I)p 3563 727
4 116 v 3580 727 V 317 843 V 334 843 V 385 809 a(T)-8
b(riangular)29 b(solv)m(e)p 1320 843 V 347 w FG(x)c FJ( )h
Fy(\013)p FG(T)1700 773 y Fu(\000)p FC(1)1794 809 y FG(x)p
Fy(;)15 b FG(x)26 b FJ( )f Fy(\013)p FG(T)2217 773 y
Fu(\000)p Fw(T)2327 809 y FG(x)p 2431 843 V 100 w FK(TR,)30
b(TB,)h(TP)p 3246 843 V 314 w(SV)p 3422 809 28 4 v 32
w(I)p 3563 843 4 116 v 3580 843 V 317 955 4 113 v 334
955 V 385 922 a(Rank)f(one)h(up)s(dates)p 1320 955 V
267 w FG(A)25 b FJ( )g Fy(\013)p FG(x)q(y)1761 889 y
Fw(T)1836 922 y FK(+)20 b Fy(\014)5 b FG(A)p 2431 955
V 420 w FK(GE,SY,SP)p 3246 955 V 401 w(R)p 3370 922 28
4 v 32 w(I)p 3563 955 4 113 v 3580 955 V 319 959 3263
4 v 1049 1213 a(T)-8 b(able)30 b(C.5:)41 b(In)m(terv)-5
b(al)30 b(Matrix-v)m(ector)i(Op)s(erations)0 1553 y Fv(Interval)e
(Matrix)f(Op)s(erations)0 1724 y FK(T)-8 b(able)29 b(C.6)i(lists)d
(single)g(in)m(terv)-5 b(al)29 b(matrix)g(op)s(erations)h(and)f(in)m
(terv)-5 b(al)29 b(matrix)g(op)s(erations)g(that)h(in)m(v)m(olv)m(e)g
Fy(O)s FK(\()p Fy(n)3825 1691 y FC(2)3865 1724 y FK(\))0
1837 y(\015oating)k(p)s(oin)m(t)g(op)s(erations.)53 b(The)34
b(matrix)g FG(T)g FK(represen)m(ts)g(an)h(upp)s(er)d(or)j(lo)m(w)m(er)g
(triangular)e(in)m(terv)-5 b(al)33 b(matrix.)0 1950 y
FG(D)28 b FK(represen)m(ts)g(a)h(diagonal)e(in)m(terv)-5
b(al)27 b(matrix.)40 b(T)-8 b(able)27 b(C.7)i(lists)d(the)j(in)m(terv)
-5 b(al)27 b(matrix-matrix)g(op)s(erations)g(that)0 2063
y(in)m(v)m(olv)m(e)i Fy(O)s FK(\()p Fy(n)466 2030 y FC(3)505
2063 y FK(\))g(\015oating)g(p)s(oin)m(t)f(op)s(erations)g(and)g(T)-8
b(able)29 b(C.8)g(lists)e(those)j(op)s(erations)e(that)h(in)m(v)m(olv)m
(e)g(only)f(data)0 2176 y(mo)m(v)m(emen)m(t.)p 71 2279
3759 4 v 69 2392 4 113 v 86 2392 V 137 2358 a(Matrix)j(norms)p
1255 2392 V 621 w Fy(r)d FJ( )d(jj)p FG(A)q FJ(jj)1671
2372 y FC(1)1710 2358 y Fy(;)15 b(r)29 b FJ( )c(jj)p
FG(A)p FJ(jj)2115 2372 y Fw(F)2175 2358 y Fy(;)p 2335
2392 V 186 w FK(GE,GB,SY,SB,)p 3038 2392 V 3095 2358
28 4 v 134 w(NORM)p 3416 2358 V 33 w(I)p 3811 2392 4
113 v 3828 2392 V 69 2505 V 86 2505 V 1255 2505 V 1306
2471 a Fy(r)j FJ( )d(jj)p FG(A)q FJ(jj)1671 2485 y Fu(1)1746
2471 y Fy(;)15 b(r)28 b FJ( )d(jj)p FG(A)q FJ(jj)2151
2485 y FC(max)p 2335 2505 V 2386 2471 a FK(SP)-8 b(,TR,TB,TP)p
3038 2505 V 3811 2505 V 3828 2505 V 69 2618 V 86 2618
V 137 2584 a(Diagonal)31 b(scaling)p 1255 2618 V 517
w FG(A)25 b FJ( )h FG(DA)p Fy(;)15 b FG(A)25 b FJ( )h
FG(AD)p 2335 2618 V 280 w FK(GE,)31 b(GB)p 3038 2618
V 3095 2584 28 4 v 412 w(DIA)m(G)p 3365 2584 V 34 w(SCALE)p
3703 2584 V 32 w(I)p 3811 2618 4 113 v 3828 2618 V 69
2730 V 86 2730 V 137 2697 a(Tw)m(o)g(sided)e(diagonal)g(scaling)p
1255 2730 V 99 w FG(A)c FJ( )h FG(D)1607 2711 y FC(1)1646
2697 y FG(AD)1805 2711 y FC(2)p 2335 2730 V 2386 2697
a FK(GE,)31 b(GB)p 3038 2730 V 3095 2697 28 4 v 412 w(LRSCALE)p
3555 2697 V 32 w(I)p 3811 2730 4 113 v 3828 2730 V 69
2843 V 86 2843 V 137 2809 a(Tw)m(o)g(sided)e(diagonal)g(scaling)p
1255 2843 V 99 w FG(A)c FJ( )h FG(DAD)p 2335 2843 V 620
w FK(SY,)31 b(SB,)f(SP)p 3038 2843 V 3095 2809 28 4 v
278 w(LRSCALE)p 3555 2809 V 32 w(I)p 3811 2843 4 113
v 3828 2843 V 69 2956 V 86 2956 V 1255 2956 V 1306 2922
a FG(A)25 b FJ( )h FG(A)20 b FK(+)g FG(BD)p 2335 2956
V 515 w FK(GE,)31 b(GB)p 3038 2956 V 3811 2956 V 3828
2956 V 69 3069 V 86 3069 V 137 3035 a(Matrix)g(acc)g(and)f(scale)p
1255 3069 V 345 w FG(B)c FJ( )f Fy(\013)p FG(A)c FK(+)e
Fy(\014)5 b FG(B)q FK(,)p 2335 3069 V 460 w(GE,GB,SY,SB,)p
3038 3069 V 3095 3035 28 4 v 134 w(A)m(CC)p 3324 3035
V 33 w(I)p 3811 3069 4 113 v 3828 3069 V 69 3184 4 116
v 86 3184 V 1255 3184 V 1306 3151 a FG(B)26 b FJ( )f
Fy(\013)p FG(A)1659 3115 y Fw(T)1735 3151 y FK(+)20 b
Fy(\014)5 b FG(B)p 2335 3184 V 430 w FK(SP)-8 b(,TR,TB,TP)p
3038 3184 V 3811 3184 V 3828 3184 V 69 3297 4 113 v 86
3297 V 137 3264 a(Matrix)31 b(add)e(and)h(scale)p 1255
3297 V 325 w FG(C)25 b FJ( )g Fy(\013)p FG(A)c FK(+)f
Fy(\014)5 b FG(B)p 2335 3297 V 484 w FK(GE,GB,SY,SB,)p
3038 3297 V 3095 3264 28 4 v 134 w(ADD)p 3333 3264 V
34 w(I)p 3811 3297 4 113 v 3828 3297 V 69 3410 V 86 3410
V 1255 3410 V 2335 3410 V 2386 3376 a(SP)-8 b(,TR,TB,TP)p
3038 3410 V 3811 3410 V 3828 3410 V 71 3414 3759 4 v
678 3680 a(T)g(able)30 b(C.6:)41 b(Matrix)30 b(Op)s(erations)f({)i
Fy(O)s FK(\()p Fy(n)2139 3647 y FC(2)2178 3680 y FK(\))g(\015oating)f
(p)s(oin)m(t)g(op)s(erations)p 92 3906 3717 4 v 90 4021
4 116 v 107 4021 V 158 3987 a(Matrix)h(matrix)e(pro)s(duct)p
1116 4021 V 99 w FG(C)c FJ( )g Fy(\013)p FG(AB)c FK(+)f
Fy(\014)5 b FG(C)p FK(,)30 b FG(C)25 b FJ( )g Fy(\013)p
FG(A)2250 3951 y Fw(T)2305 3987 y FG(B)20 b FK(+)g Fy(\014)5
b FG(C)p FK(,)p 2780 4021 V 184 w(GE,GB,SY,SB)p 3458
4021 V 101 w(MM)p 3680 3987 28 4 v 34 w(I)p 3790 4021
4 116 v 3807 4021 V 90 4136 V 107 4136 V 1116 4136 V
1168 4102 a FG(C)25 b FJ( )g Fy(\013)p FG(AB)1597 4066
y Fw(T)1672 4102 y FK(+)20 b Fy(\014)5 b FG(C)p FK(,)30
b FG(C)25 b FJ( )g Fy(\013)p FG(A)2305 4066 y Fw(T)2360
4102 y FG(B)2434 4066 y Fw(T)2509 4102 y FK(+)20 b Fy(\014)5
b FG(C)p 2780 4136 V 3458 4136 V 3790 4136 V 3807 4136
V 90 4252 V 107 4252 V 1116 4252 V 1168 4218 a(C)25 b
FJ( )g Fy(\013)p FG(B)q(A)20 b FK(+)g Fy(\014)5 b FG(C)p
FK(,)30 b FG(C)25 b FJ( )g Fy(\013)p FG(B)2245 4182 y
Fw(T)2300 4218 y FG(A)20 b FK(+)g Fy(\014)5 b FG(C)p
FK(,)p 2780 4252 V 184 w(GB)p 3458 4252 V 543 w(MM)p
3680 4218 28 4 v 34 w(I)p 3790 4252 4 116 v 3807 4252
V 90 4367 V 107 4367 V 1116 4367 V 1168 4333 a FG(C)25
b FJ( )g Fy(\013)p FG(B)q(A)1597 4297 y Fw(T)1672 4333
y FK(+)20 b Fy(\014)5 b FG(C)p FK(,)30 b FG(C)25 b FJ( )g
Fy(\013)p FG(B)2300 4297 y Fw(T)2355 4333 y FG(A)2434
4297 y Fw(T)2509 4333 y FK(+)20 b Fy(\014)5 b FG(C)p
2780 4367 V 3458 4367 V 3790 4367 V 3807 4367 V 90 4480
4 113 v 107 4480 V 158 4446 a FK(T)-8 b(riangular)29
b(m)m(ultiply)p 1116 4480 V 226 w FG(B)c FJ( )h Fy(\013)p
FG(TB)p FK(,)31 b FG(B)25 b FJ( )h Fy(\013)p FG(BT)p
2780 4480 V 765 w FK(TR,)31 b(TB)p 3458 4480 V 359 w(MM)p
3680 4446 28 4 v 34 w(I)p 3790 4480 4 113 v 3807 4480
V 90 4595 4 116 v 107 4595 V 1116 4595 V 1168 4561 a
FG(B)25 b FJ( )h Fy(\013)p FG(T)1515 4525 y Fw(T)1570
4561 y FG(B)p FK(,)31 b FG(B)25 b FJ( )h Fy(\013)p FG(BT)2121
4525 y Fw(T)p 2780 4595 V 3458 4595 V 3790 4595 V 3806
4595 V 90 4708 4 113 v 107 4708 V 158 4674 a FK(T)-8
b(riangular)29 b(solv)m(e)p 1116 4708 V 370 w FG(B)c
FJ( )h Fy(\013)p FG(T)1515 4638 y Fu(\000)p FC(1)1609
4674 y FG(B)q FK(,)k FG(B)c FJ( )f Fy(\013)p FG(B)q(T)2160
4638 y Fu(\000)p FC(1)p 2780 4708 V 2831 4674 a FK(TR,)31
b(TB)p 3458 4708 V 359 w(SM)p 3648 4674 28 4 v 33 w(I)p
3790 4708 4 113 v 3807 4708 V 90 4824 4 116 v 107 4824
V 1116 4824 V 1168 4790 a FG(B)25 b FJ( )h Fy(\013)p
FG(T)1515 4754 y Fu(\000)p Fw(T)1625 4790 y FG(B)p FK(,)31
b FG(B)25 b FJ( )h Fy(\013)p FG(BT)2176 4754 y Fu(\000)p
Fw(T)p 2780 4824 V 3458 4824 V 3790 4824 V 3806 4824
V 92 4827 3717 4 v 678 5094 a FK(T)-8 b(able)30 b(C.7:)41
b(Matrix)30 b(Op)s(erations)f({)i Fy(O)s FK(\()p Fy(n)2139
5061 y FC(3)2178 5094 y FK(\))g(\015oating)f(p)s(oin)m(t)g(op)s
(erations)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 223 233
223 232 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(223)p 131 3 3638 4 v 129 116 4 113 v
146 116 V 198 82 a(Matrix)30 b(cop)m(y)p 927 116 V 296
w FG(B)c FJ( )f FG(A)p 1809 116 V 587 w FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p 3083 116 V 3140 82 28 4 v 134 w(COPY)p
3439 82 V 32 w(I)p 3750 116 4 113 v 3767 116 V 129 232
4 116 v 146 232 V 927 232 V 978 198 a FG(B)26 b FJ( )f
FG(A)1273 162 y Fw(T)p 1809 232 V 1860 198 a FK(GE,)31
b(GB)p 3083 232 V 3140 198 28 4 v 983 w(COPY)p 3439 198
V 32 w(I)p 3750 232 4 116 v 3767 232 V 129 347 V 146
347 V 198 313 a(Matrix)f(transp)s(ose)p 927 347 V 99
w FG(A)c FJ( )f FG(A)1278 277 y Fw(T)p 1809 347 V 1860
313 a FK(GE)p 3083 347 V 3140 313 28 4 v 1174 w(TRANS)p
3492 313 V 32 w(I)p 3750 347 4 116 v 3767 347 V 129 460
4 113 v 146 460 V 198 426 a(P)m(erm)m(ute)31 b(matrix)p
927 460 V 149 w FG(A)26 b FJ( )f FG(PA)p Fy(;)15 b FG(A)26
b FJ( )f FG(AP)p 1809 460 V 100 w FK(GE)p 3083 460 V
3140 426 28 4 v 1174 w(PERMUTE)p 3642 426 V 32 w(I)p
3750 460 4 113 v 3767 460 V 131 463 3638 4 v 948 717
a(T)-8 b(able)30 b(C.8:)41 b(Data)32 b(Mo)m(v)m(emen)m(t)h(with)c(In)m
(terv)-5 b(al)30 b(Matrices)0 975 y Fv(Set)g(Op)s(erations)g(Involving)
g(Interval)h(V)m(ecto)m(rs)0 1146 y FK(T)-8 b(able)30
b(C.9)h(lists)e(set)h(op)s(erations)g(for)g(in)m(terv)-5
b(al)30 b(v)m(ectors.)p 415 1267 3070 4 v 413 1380 4
113 v 430 1380 V 482 1346 a(Enclosed)p 995 1380 V 214
w FG(x)g FK(is)g(enclosed)g(in)f FG(y)h FK(if)g FG(x)25
b FJ(\022)g FG(y)p 2380 1380 V 342 w FK(ENCV)p 2700 1346
28 4 v 33 w(I)p 3466 1380 4 113 v 3483 1380 V 413 1493
V 430 1493 V 482 1459 a(In)m(terior)p 995 1493 V 266
w FG(x)30 b FK(is)g(enclosed)g(in)f(the)h(in)m(terior)g(of)g
FG(y)p 2380 1493 V 106 w FK(INTERIOR)-10 b(V)p 2961 1459
28 4 v 32 w(I)p 3466 1493 4 113 v 3483 1493 V 413 1606
V 430 1606 V 482 1572 a(Disjoin)m(t)p 995 1606 V 252
w FG(x)30 b FK(and)g FG(y)h FK(are)f(disjoin)m(t)f(if)g
FG(x)21 b FJ(\\)f FG(y)25 b FK(=)g FJ(;)p 2380 1606 V
100 w FK(DISJV)p 2704 1572 28 4 v 32 w(I)p 3466 1606
4 113 v 3483 1606 V 413 1718 V 430 1718 V 482 1685 a(In)m(tersection)p
995 1718 V 100 w FG(y)g FJ( )g FG(x)c FJ(\\)f FG(y)p
Fy(;)15 b FG(z)26 b FJ( )f FG(x)20 b FJ(\\)g FG(y)p 2380
1718 V 537 w FK(INTER)-10 b(V)p 2790 1685 28 4 v 32 w(I,)31
b(WINTER)-10 b(V)p 3358 1685 V 32 w(I)p 3466 1718 4 113
v 3483 1718 V 413 1831 V 430 1831 V 482 1798 a(Hull)p
995 1831 V 394 w(the)30 b(con)m(v)m(ex)i(h)m(ull)d(of)h
FG(x)h FK(and)e FG(y)p 2380 1831 V 330 w FK(HULL)-10
b(V)p 2744 1798 28 4 v 33 w(I,)30 b(WHULL)-10 b(V)p 3266
1798 V 33 w(I)p 3466 1831 4 113 v 3483 1831 V 415 1835
3070 4 v 1027 2089 a(T)i(able)30 b(C.9:)41 b(Set)31 b(Op)s(erations)e
(for)h(In)m(terv)-5 b(al)30 b(V)-8 b(ectors)0 2429 y
Fv(Set)30 b(Op)s(erations)g(Involving)g(Interval)h(Matrices)0
2600 y FK(T)-8 b(able)30 b(C.10)h(lists)e(set)i(op)s(erations)f(for)g
(in)m(terv)-5 b(al)29 b(matrices.)p 191 2721 3519 4 v
189 2834 4 113 v 206 2834 V 257 2800 a(Enclosed)p 771
2834 V 214 w FG(A)h FK(is)g(enclosed)g(in)f FG(B)i FK(if)e
FG(A)c FJ(\022)g FG(B)p 2241 2834 V 342 w FK(GE,GB,SY,SB,)p
2944 2834 V 3001 2800 28 4 v 134 w(ENCM)p 3312 2800 V
33 w(I)p 3691 2834 4 113 v 3708 2834 V 189 2947 V 206
2947 V 771 2947 V 2241 2947 V 2292 2913 a(SP)-8 b(,TR,TB,TP)p
2944 2947 V 3691 2947 V 3708 2947 V 189 3060 V 206 3060
V 257 3026 a(In)m(terior)p 771 3060 V 266 w FG(A)30 b
FK(is)g(enclosed)g(in)f(the)h(in)m(terior)g(of)g FG(B)p
2241 3060 V 149 w FK(GE,GB,SY,SB,)p 2944 3060 V 3001
3026 28 4 v 134 w(INTERIORM)p 3583 3026 V 32 w(I)p 3691
3060 4 113 v 3708 3060 V 189 3172 V 206 3172 V 771 3172
V 2241 3172 V 2292 3139 a(SP)-8 b(,TR,TB,TP)p 2944 3172
V 3691 3172 V 3708 3172 V 189 3285 V 206 3285 V 257 3251
a(Disjoin)m(t)p 771 3285 V 252 w FG(A)30 b FK(and)g FG(B)h
FK(are)g(disjoin)m(t)d(if)i FG(A)20 b FJ(\\)g FG(B)25
b FK(=)g FJ(;)p 2241 3285 V 100 w FK(GE,GB,SY,SB,)p 2944
3285 V 3001 3251 28 4 v 134 w(DISJM)p 3316 3251 V 33
w(I)p 3691 3285 4 113 v 3708 3285 V 189 3398 V 206 3398
V 771 3398 V 2241 3398 V 2292 3364 a(SP)-8 b(,TR,TB,TP)p
2944 3398 V 3691 3398 V 3708 3398 V 189 3511 V 206 3511
V 257 3477 a(In)m(tersection)p 771 3511 V 100 w FG(B)26
b FJ( )f FG(A)20 b FJ(\\)g FG(B)p FK(,)31 b FG(C)25 b
FJ( )g FG(A)20 b FJ(\\)g FG(B)p 2241 3511 V 473 w FK(GE,GB,SY,SB,)p
2944 3511 V 3001 3477 28 4 v 134 w(INTERM)p 3412 3477
V 33 w(I,)p 3691 3511 4 113 v 3708 3511 V 189 3624 V
206 3624 V 771 3624 V 2241 3624 V 2292 3590 a(SP)-8 b(,TR,TB,TP)p
2944 3624 V 3001 3590 28 4 v 165 w(WINTERM)p 3505 3590
V 33 w(I)p 3691 3624 4 113 v 3708 3624 V 189 3737 V 206
3737 V 257 3703 a(Hull)p 771 3737 V 394 w(the)31 b(con)m(v)m(ex)h(h)m
(ull)c(of)i FG(A)h FK(and)e FG(B)p 2241 3737 V 373 w
FK(GE,GB,SY,SB,)p 2944 3737 V 3001 3703 28 4 v 134 w(HULLM)p
3366 3703 V 33 w(I,)p 3691 3737 4 113 v 3708 3737 V 189
3850 V 206 3850 V 771 3850 V 2241 3850 V 2292 3816 a(SP)-8
b(,TR,TB,TP)p 2944 3850 V 3001 3816 28 4 v 165 w(WHULLM)p
3459 3816 V 34 w(I)p 3691 3850 4 113 v 3708 3850 V 191
3853 3519 4 v 981 4107 a(T)g(able)30 b(C.10:)41 b(Set)31
b(Op)s(erations)e(for)h(In)m(terv)-5 b(al)30 b(Matrices)0
4447 y Fv(Utilit)m(y)f(F)m(unctions)i(Involving)f(Interval)h(V)m(ecto)m
(rs)0 4619 y FK(T)-8 b(able)30 b(C.11)h(lists)e(some)i(utilit)m(y)e(op)
s(erations)g(for)h(in)m(terv)-5 b(al)30 b(v)m(ectors.)0
4859 y Fv(Utilit)m(y)f(F)m(unctions)i(Involving)f(Interval)h(Matrices)0
5030 y FK(T)-8 b(able)30 b(C.12)h(lists)e(some)i(utilit)m(y)e(op)s
(erations)g(for)h(in)m(terv)-5 b(al)30 b(matrices.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 224 234
224 233 bop 0 -165 a FK(224)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)p 767 3 2367 4 v 765
116 4 113 v 782 116 V 833 82 a FK(Empt)m(y)g(elemen)m(t)p
1486 116 V 101 w Fy(k)j FK(if)c FG(x)1757 97 y Fw(k)1824
82 y FK(=)c FJ(;)p FK(;)31 b(or)g FJ(\000)p FK(1)p 2297
116 V 100 w(EMPTYELEV)p 2944 82 28 4 v 32 w(I)p 3115
116 4 113 v 3132 116 V 765 229 V 782 229 V 833 195 a(Left)g(endp)s(oin)
m(t)p 1486 229 V 164 w Fy(v)d FJ( )d Fy(x)p 1726 208
52 4 v 2297 229 4 113 v 571 w FK(INFV)p 2582 195 28 4
v 33 w(I)p 3115 229 4 113 v 3132 229 V 765 342 V 782
342 V 833 308 a(Righ)m(t)30 b(endp)s(oin)m(t)p 1486 342
V 104 w Fy(v)e FJ( )p 1726 259 52 4 v 25 w Fy(x)p 2297
342 4 113 v 571 w FK(SUPV)p 2603 308 28 4 v 32 w(I)p
3115 342 4 113 v 3132 342 V 765 455 V 782 455 V 833 421
a(Midp)s(oin)m(t)p 1486 455 V 337 w Fy(v)g FJ( )d FK(\()p
Fy(x)p 1761 434 52 4 v 21 w FK(+)p 1925 372 V 20 w Fy(x)p
FK(\))p Fy(=)p FK(2)p 2297 455 4 113 v 247 w(MID)m(V)p
2604 421 28 4 v 34 w(I)p 3115 455 4 113 v 3132 455 V
765 568 V 782 568 V 833 534 a(Width)p 1486 568 V 449
w Fy(v)j FJ( )p 1726 485 52 4 v 25 w Fy(x)20 b FJ(\000)g
Fy(x)p 1889 547 V 2297 568 4 113 v 408 w FK(WIDTHV)p
2751 534 28 4 v 33 w(I)p 3115 568 4 113 v 3132 568 V
765 681 V 782 681 V 833 647 a(Construct)p 1486 681 V
310 w FG(x)25 b FJ( )g Fy(u;)15 b(v)p 2297 681 V 479
w FK(CONSTR)m(UCTV)p 3008 647 28 4 v 31 w(I)p 3115 681
4 113 v 3132 681 V 767 684 2367 4 v 938 938 a(T)-8 b(able)30
b(C.11:)41 b(Utilit)m(y)30 b(Op)s(erations)e(for)j(In)m(terv)-5
b(al)30 b(V)-8 b(ectors)p 50 1059 3800 4 v 48 1172 4
113 v 65 1172 V 117 1138 a(Empt)m(y)30 b(elemen)m(t)p
770 1172 V 100 w(if)g FG(A)g FK(has)g(an)g(empt)m(y)h(in)m(terv)-5
b(al)30 b(elemen)m(t)p 2262 1172 V 100 w(GE,GB,SY,SB,)p
2965 1172 V 3022 1138 28 4 v 134 w(EMPTYELEM)p 3660 1138
V 32 w(I)p 3831 1172 4 113 v 3848 1172 V 48 1285 V 65
1285 V 770 1285 V 2262 1285 V 2314 1251 a(SP)-8 b(,TR,TB,TP)p
2965 1285 V 3831 1285 V 3848 1285 V 48 1398 V 65 1398
V 117 1364 a(Left)30 b(endp)s(oin)m(t)p 770 1398 V 164
w Fy(C)i FJ( )25 b Fy(A)p 1034 1377 69 4 v 2262 1398
4 113 v 1212 w FK(GE,GB,SY,SB,)p 2965 1398 V 3022 1364
28 4 v 134 w(INFM)p 3298 1364 V 33 w(I)p 3831 1398 4
113 v 3848 1398 V 48 1510 V 65 1510 V 770 1510 V 2262
1510 V 2314 1477 a(SP)-8 b(,TR,TB,TP)p 2965 1510 V 3831
1510 V 3848 1510 V 48 1623 V 65 1623 V 117 1589 a(Righ)m(t)30
b(endp)s(oin)m(t)p 770 1623 V 103 w Fy(C)i FJ( )p 1034
1517 69 4 v 25 w Fy(A)p 2262 1623 4 113 v 1212 w FK(GE,GB,SY,SB,)p
2965 1623 V 3022 1589 28 4 v 134 w(SUPM)p 3319 1589 V
32 w(I)p 3831 1623 4 113 v 3848 1623 V 48 1736 V 65 1736
V 770 1736 V 2262 1736 V 2314 1702 a(SP)-8 b(,TR,TB,TP)p
2965 1736 V 3831 1736 V 3848 1736 V 48 1849 V 65 1849
V 117 1815 a(Midp)s(oin)m(t)p 770 1849 V 336 w Fy(C)32
b FJ( )25 b FK(\()p Fy(A)p 1069 1828 69 4 v 21 w FK(+)p
1249 1743 V 20 w Fy(A)p FK(\))p Fy(=)p FK(2)p 2262 1849
4 113 v 872 w(GE,GB,SY,SB,)p 2965 1849 V 3022 1815 28
4 v 134 w(MIDM)p 3323 1815 V 33 w(I)p 3831 1849 4 113
v 3848 1849 V 48 1962 V 65 1962 V 770 1962 V 2262 1962
V 2314 1928 a(SP)-8 b(,TR,TB,TP)p 2965 1962 V 3831 1962
V 3848 1962 V 48 2075 V 65 2075 V 117 2041 a(Width)p
770 2075 V 448 w Fy(C)32 b FJ( )p 1034 1969 69 4 v 25
w Fy(A)21 b FJ(\000)e Fy(A)p 1213 2054 V 2262 2075 4
113 v 1033 w FK(GE,GB,SY,SB,)p 2965 2075 V 3022 2041
28 4 v 134 w(WIDTHM)p 3467 2041 V 33 w(I)p 3831 2075
4 113 v 3848 2075 V 48 2188 V 65 2188 V 117 2154 a(Construct)p
770 2188 V 309 w FG(A)26 b FJ( )f Fy(B)5 b(;)15 b(C)p
2262 2188 V 1093 w FK(GE,GB,SY,SB,)p 2965 2188 V 3022
2154 28 4 v 134 w(CONSTR)m(UCTM)p 3724 2154 V 31 w(I)p
3831 2188 4 113 v 3848 2188 V 48 2301 V 65 2301 V 770
2301 V 2262 2301 V 2314 2267 a(SP)-8 b(,TR,TB,TP)p 2965
2301 V 3831 2301 V 3848 2301 V 50 2304 3800 4 v 1337
2558 a(T)g(able)30 b(C.12:)42 b(Utilit)m(y)29 b(Op)s(erations)0
2833 y Fx(C.4.3)98 b(Interface)33 b(Issues)0 3005 y Fv(Naming)e
(Conventions)0 3177 y FK(The)f(naming)g(con)m(v)m(en)m(tions)i(are)f
(the)g(same)g(as)g(describ)s(ed)e(in)h(section)h(2.3.1)h(except)g(that)
f(the)g(su\016x)p 3569 3177 28 4 v 63 w(I)g(\(or)p 3812
3177 V 63 w(i\))0 3289 y(is)e(added)h(to)h(indicate)f(an)g(in)m(terv)-5
b(al)29 b(BLAS)i(routine.)0 3530 y Fv(Interface)g(Issues)g(fo)m(r)g(F)m
(o)m(rtran)g(95)0 3701 y(Design)f(of)h(the)f(F)m(o)m(rtran)h(95)h
(Interfaces)0 3873 y FK(The)24 b(F)-8 b(ortran)26 b(95)f(binding)d(is)h
(de\014ned)h(in)f(a)i(mo)s(dule.)37 b(The)25 b(sp)s(eci\014c)e(in)m
(terfaces)i(in)f(this)f(mo)s(dule)g(should)g(declare)0
3986 y(the)31 b(default)e(in)m(terv)-5 b(al)30 b(data)h(t)m(yp)s(e)f
(as)h FD(TYPE\(INTERVAL\).)227 4198 y Fz(A)-5 b(dvic)g(e)38
b(to)g(implementors:)53 b FK(In)35 b(the)h(F)-8 b(ortran)36
b(95)h(in)m(terfaces,)h(it)d(is)g(assumed)g(that)h FD(INTERVAL)e
FK(is)227 4311 y(a)43 b(deriv)m(ed)f(t)m(yp)s(e.)77 b(Ho)m(w)m(ev)m
(er,)47 b(in)41 b(compilers)g(that)i(supp)s(ort)e(an)h(in)m(trinsic)e
(in)m(terv)-5 b(al)42 b(t)m(yp)s(e,)k(it)c(is)227 4424
y(recommended)35 b(that)g(an)g(alternate)g(mo)s(dule)e(that)j(con)m
(tains)f(appropriately)e(mo)s(di\014ed)f(declara-)227
4537 y(tions)g(also)g(b)s(e)g(supplied.)43 b(F)-8 b(or)33
b(example,)f FD(TYPE\(INTERVAL\),)44 b(INTENT\(IN\))h(::)95
b(ALPHA)31 b FK(could)227 4650 y(b)s(ecome)g FD(INTERVAL,)45
b(INTENT\(IN\))g(::)95 b(ALPHA)29 b FK(in)g(a)i(recommended)f
(alternate)h(mo)s(dule.)0 4862 y(The)h(F)-8 b(ortran)33
b(95)g(in)m(terv)-5 b(al)31 b(BLAS)h(routines)f(are)i(consisten)m(t)g
(with)e(regard)h(to)h(generic)f(in)m(terfaces,)i(precision,)0
4975 y(rank,)f(assumed-shap)s(e)f(arra)m(ys,)i(deriv)m(ed)f(t)m(yp)s
(es,)g(op)s(erator)h(argumen)m(ts)f(and)f FD(CMACH)g
FK(v)-5 b(alues,)33 b(and)g(error)f(han-)0 5088 y(dling)i(as)j(describ)
s(ed)d(in)h(section)i(2.4)g(of)g(this)e(do)s(cumen)m(t.)59
b(Ho)m(w)m(ev)m(er,)40 b(in)35 b(the)h(in)m(terv)-5 b(al)36
b(BLAS,)g Fy(\013)h FK(and)f Fy(\014)42 b FK(are)0 5201
y(in)m(terv)-5 b(als;)30 b(and)f(their)h(default)f(v)-5
b(alues)30 b(are)h FD(alpha)46 b(=)i([1,1],)e(beta)g(=)i([0,0])p
FK(.)0 5314 y(Error)29 b(handling)f(is)i(as)g(de\014ned)f(in)g(section)
i(2.4.6.)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 225 235
225 234 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(225)0 91 y Fv(F)m(o)m(rmat)31 b(of)g(the)f(F)m(o)m
(rtran)h(95)h(bindings)0 263 y FK(Eac)m(h)g(in)m(terface)g(is)f
(summarized)f(in)g(the)i(form)f(of)g(a)h FD(SUBROUTINE)d
FK(statemen)m(t)k(\(or)f(in)f(few)g(cases)h(a)g FD(FUNCTION)0
376 y FK(statemen)m(t\),)e(in)25 b(whic)m(h)g(all)h(of)h(the)f(p)s
(oten)m(tial)g(argumen)m(ts)h(app)s(ear.)39 b(Argumen)m(ts)27
b(whic)m(h)e(need)h(not)h(b)s(e)f(supplied)0 489 y(are)31
b(group)s(ed)e(after)i(the)f(mandatory)h(argumen)m(ts)g(and)e(enclosed)
h(in)f(square)i(brac)m(k)m(ets,)h(for)e(example:)382
661 y FD(SUBROUTINE)45 b(axpby_i\()g(x,)j(y)f([,)g(alpha])f([,)h(beta])
g(\))477 774 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT)g(\(IN\))h(::)g(x)
g(\(:\))477 887 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT)g(\(INOUT\))g
(::)h(y)h(\(:\))477 1000 y(TYPE\(INTERVAL\))c(\(<wp>\),)i(INTENT)g
(\(IN\),)g(OPTIONAL)g(::)h(alpha,)f(beta)0 1172 y FK(V)-8
b(ariables)36 b(in)f(in)m(terv)-5 b(al)36 b(BLAS)g(routines)g(should)f
(b)s(e)h(sp)s(eci\014ed)f(as)h FD(INTEGER)p FK(,)f FD(REAL,)83
b(TYPE\(INTERVAL\))33 b FK(or)0 1285 y(t)m(yp)s(es)e(de\014ned)e(in)h
FD(MODULE)46 b(blas)p 1193 1285 29 4 v 33 w(operator)p
1610 1285 V 32 w(arguments)p FK(.)39 b(The)31 b(precision)d(of)j(a)g
(real)g(or)g(in)m(terv)-5 b(al)29 b(v)-5 b(ariable)30
b(is)0 1397 y(denoted)g(b)m(y)h Fy(<)p FD(wp)p Fy(>)e
FK(where)191 1551 y FD(<wp>)47 b(::=)f(KIND\(1.0\))g(|)h(KIND\(1.0D0\))
0 1785 y Fv(Interface)31 b(Issues)g(fo)m(r)g(F)m(o)m(rtran)g(77)0
1957 y FK(The)39 b(in)m(terv)-5 b(al)38 b(BLAS)h(F)-8
b(ortran)39 b(77)h(binding)c(is)i(consisten)m(t)i(with)d(ANSI)i
(standard)f(F)-8 b(ortran)40 b(77)g(except)g(the)0 2070
y(follo)m(wing:)136 2224 y FJ(\017)46 b FK(Subroutine)28
b(names)i(are)h(not)g(limited)d(to)j(six)e(signi\014can)m(t)h(c)m
(haracters.)136 2398 y FJ(\017)46 b FK(Subroutine)28
b(names)i(con)m(tain)h(one)g(or)f(more)h(underscores.)136
2572 y FJ(\017)46 b FK(Subroutines)28 b(ma)m(y)j(use)f(the)h(INCLUDE)f
(statemen)m(t)i(for)e(include)e(\014les.)0 2726 y(In)i(in)m(terv)-5
b(al)29 b(BLAS)h(F)-8 b(ortran)31 b(77)h(binding,)27
b Fy(\013)k FK(and)f Fy(\014)35 b FK(are)c(in)m(terv)-5
b(als)29 b(and)h(their)g(default)f(v)-5 b(alues)30 b(are:)0
2839 y FD(ALPHA)46 b(=)i([1.0,)e(1.0])27 b FK(and)h FD(BETA)47
b(=)g([0.0,)f(0.0])p FK(.)39 b(Without)28 b(assuming)f(an)h(in)m
(trinsic)e(in)m(terv)-5 b(al)28 b(data)h(t)m(yp)s(e,)0
2951 y(an)34 b(in)m(terv)-5 b(al,)35 b(sa)m(y)g Fy(\013)p
FK(,)h(will)c(b)s(e)i(declared)g(as)g FD(REAL)81 b FK(or)35
b FD(DOUBLE)46 b(PRECISION)f(ALPHA\(2\))p FK(;)34 b(an)h(in)m(terv)-5
b(al)33 b(v)m(ector)0 3064 y(will)25 b(b)s(e)i(stored)h(as)g
FD(REAL)f FK(or)h FD(DOUBLE)46 b(PRECISION)f(X\(2,*\))p
FK(;)27 b(and)h(a)g(general)g(in)m(terv)-5 b(al)27 b(matrix)g(will)e(b)
s(e)i(de\014ned)0 3177 y(as)k FD(REAL)e FK(or)h FD(DOUBLE)46
b(PRECISION)g(A\(2,LDA,)f(*\))p FK(.)227 3349 y Fz(A)-5
b(dvic)g(e)36 b(to)h(implementors:)50 b FK(On)33 b(F)-8
b(ortran)34 b(77)h(compilers)e(that)h(ha)m(v)m(e)h(an)f(in)m(trinsic)e
(in)m(terv)-5 b(al)33 b(data)227 3462 y(t)m(yp)s(e,)c(an)f(in)m(terv)-5
b(al)28 b(v)m(ector)h(will)d(b)s(e)h(stored)h(as)h FD(INTERVAL)45
b(X\(*\))p FK(,)28 b(and)f(a)i(general)f(in)m(terv)-5
b(al)27 b(matrix)227 3575 y(will)h(b)s(e)i(de\014ned)f(as)h
FD(INTERVAL)46 b(A\(LDA,)g(*\))p FK(.)0 3747 y(The)27
b(F)-8 b(ortran)28 b(77)g(in)m(terv)-5 b(al)26 b(BLAS)h(routines)f(are)
i(consisten)m(t)g(with)d(regard)j(to)g(indexing)d(of)i(v)m(ector)i(and)
e(matrix)0 3860 y(op)s(erands,)40 b(op)s(erator)f(argumen)m(ts)g(and)g
FD(CMACH)e FK(v)-5 b(alues,)41 b(arra)m(y)e(argumen)m(ts,)j(matrix)c
(storage)j(sc)m(hemes,)h(and)0 3973 y(error)30 b(handling)e(as)i
(describ)s(ed)f(in)g(section)h(2.5)i(of)e(this)f(do)s(cumen)m(t)i(but)e
(with)g(in)m(terv)-5 b(al)30 b(v)-5 b(ariables.)0 4086
y(Error)29 b(handling)f(is)i(as)g(de\014ned)f(in)g(section)i(2.5.6.)0
4320 y Fv(F)m(o)m(rmat)g(of)g(the)f(F)m(o)m(rtran)h(77)h(bindings)0
4491 y FK(Eac)m(h)h(in)m(terface)h(is)e(summarized)f(in)g(the)i(form)g
(of)g(a)g FD(SUBROUTINE)d FK(statemen)m(t)35 b(\(or)e(a)g
FD(FUNCTION)d FK(statemen)m(t\).)0 4604 y(F)-8 b(or)31
b(example:)382 4776 y FD(SUBROUTINE)45 b(BLAS_xAXPBY_I\()f(N,)j(ALPHA,)
f(X,)h(INCX,)g(BETA,)f(Y,)h(INCY)g(\))477 4889 y(INTEGER)189
b(INCX,)47 b(INCY,)f(N)477 5002 y(<type>)237 b(ALPHA\(2\),)46
b(BETA\(2\))477 5115 y(<type>)237 b(X\(2,*\),)46 b(Y\(2,*\))0
5287 y FK(Floating)g(p)s(oin)m(t)g(v)-5 b(ariables)45
b(are)i(denoted)f(b)m(y)g(the)h(k)m(eyw)m(ord)g Fy(<)p
FD(type)p Fy(>)d FK(whic)m(h)h(ma)m(y)i(b)s(e)f FD(REAL)f
FK(or)i FD(DOUBLE)0 5400 y(PRECISION)p FK(,)28 b(and)i(should)e(agree)k
(with)d(the)i FD(x)f FK(letter)g(in)f(the)i(naming)e(con)m(v)m(en)m
(tion)j(of)e(the)h(routine.)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 226 236
226 235 bop 0 -165 a FK(226)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y Fv(Interface)h(Issues)g(fo)m(r)g
(C)0 263 y FK(The)23 b(in)m(terface)i(is)e(expressed)g(in)g(terms)h(of)
g(ANSI/ISO)f(C.)h Fz(A)n(l)5 b(l)26 b(interval)i(ar)-5
b(guments)28 b(ar)-5 b(e)27 b(ac)-5 b(c)g(epte)g(d)29
b(as)51 b FD(float)46 b(*)0 376 y FK(or)32 b FD(double)46
b(*)p FK(.)f(An)31 b(in)m(terv)-5 b(al)31 b(elemen)m(t)i(consists)e(of)
h(t)m(w)m(o)h(consecutiv)m(e)g(memory)f(lo)s(cations)f(of)h(the)g
(underlying)0 489 y(data)c(t)m(yp)s(e)g(\(i.e.,)h FD(float)d
FK(or)h FD(double)p FK(\),)g(where)h(the)f(\014rst)g(lo)s(cation)g(con)
m(tains)h(the)g(lo)m(w)m(er)g(b)s(ound)d(of)j(the)g(in)m(terv)-5
b(al,)0 602 y(and)30 b(the)g(second)h(con)m(tains)f(the)h(upp)s(er)d(b)
s(ound)h(of)h(the)h(in)m(terv)-5 b(al.)0 715 y(The)23
b(C)g(in)m(terv)-5 b(al)23 b(BLAS)g(routines)f(are)i(consisten)m(t)g
(with)e(regard)h(to)h(indexing)e(of)h(v)m(ector)i(and)e(matrix)g(op)s
(erands,)0 827 y(op)s(erator)g(argumen)m(ts)h(and)f FD(CMACH)e
FK(v)-5 b(alues,)25 b(arra)m(y)e(argumen)m(ts,)i(matrix)e(storage)i(sc)
m(hemes,)g(and)e(error)g(handling)0 940 y(that)36 b(describ)s(ed)e(in)h
(section)h(2.6)h(of)f(this)f(do)s(cumen)m(t)h(but)f(with)f(in)m(terv)-5
b(al)35 b(v)-5 b(ariables.)56 b(The)36 b(default)f(v)-5
b(alue)35 b(for)0 1053 y(in)m(terv)-5 b(als)29 b FD(alpha)g
FK(and)h FD(beta)f FK(are)i FD(alpha)77 b FK(=)25 b([1)p
Fy(:)p FK(0)p Fy(;)15 b FK(1)p Fy(:)p FK(0])33 b(and)d
FD(beta)77 b FK(=)25 b([0)p Fy(:)p FK(0)p Fy(;)15 b FK(0)p
Fy(:)p FK(0].)0 1166 y(Error)29 b(handling)f(is)i(as)g(de\014ned)f(in)g
(section)i(2.6.9.)0 1406 y Fv(F)m(o)m(rmat)g(of)g(the)f(C)h(bindings)0
1578 y FK(Eac)m(h)c(in)m(terv)-5 b(al)26 b(BLAS)g(routine)g(is)g
(summarized)f(in)g(the)i(form)f(of)g(an)h(ANSI/ISO)f(C)g(protot)m(yp)s
(e.)40 b(F)-8 b(or)27 b(example:)0 1791 y FD(void)47
b(BLAS_xaxpby_i\()d(int)i(n,)i(<interval>)d(alpha,)h(const)g
(<interval_array>)d(x,)811 1903 y(int)k(incx,)g(<interval>)e(beta,)h
(<interval_array>)d(y,)811 2016 y(int)k(incy\))0 2229
y FK(In)24 b(the)g(C)g(binding,)f(w)m(e)h(use)g(the)h(k)m(eyw)m(ords)f
Fy(<)p FD(interval)p Fy(>)e FK(and)h Fy(<)p FD(interval)p
2693 2229 29 4 v 32 w(array)p Fy(>)g FK(to)i(indicate)e(if)h(an)g
(argu-)0 2342 y(men)m(t)e(is)e(a)i(single)e(in)m(terv)-5
b(al)21 b(or)g(an)h(in)m(terv)-5 b(al)20 b(v)m(ector/matrix.)39
b(In)21 b(fact,)j Fy(<)p FD(interval)p Fy(>)19 b FK(and)i
Fy(<)p FD(interval)p 3565 2342 V 32 w(array)p Fy(>)0
2455 y FK(can)37 b(b)s(e)f FD(float)46 b(*)36 b FK(or)g
FD(double)46 b(*)p FK(.)59 b(A)37 b(real)f(n)m(um)m(b)s(er,)h(not)f(an)
h(in)m(terv)-5 b(al,)37 b(will)d(b)s(e)i(indicated)f(b)m(y)h(the)g(k)m
(eyw)m(ord)0 2568 y FD(SCALAR)p FK(.)25 b(A)i(v)m(ector/matrix)h(of)f
(real)f(n)m(um)m(b)s(ers,)g(not)h(in)m(terv)-5 b(als,)27
b(will)d(b)s(e)i(sp)s(eci\014ed)f(b)m(y)i FD(RARRAY)p
FK(.)e(The)h(precisions)0 2680 y(of)f FD(SCALAR)p FK(,)e
FD(RARRAY)g FK(can)i(b)s(e)f FD(float)f FK(or)i FD(double)p
FK(.)37 b(They)24 b(will)e(agree)k(with)d(the)i FD(x)f
FK(letter)h(in)e(the)i(naming)e(con)m(v)m(en-)0 2793
y(tion)g(of)h(the)g(routine.)38 b(Ho)m(w)m(ev)m(er,)27
b(in)22 b(some)j(routines,)f(not)g(all)e(\015oating)i(p)s(oin)m(t)f(v)
-5 b(ariables)22 b(will)f(b)s(e)i(the)h(same)h(t)m(yp)s(e.)0
2906 y(If)33 b(this)g(is)g(the)h(case,)j(then)c(a)i(v)-5
b(ariable)32 b(ma)m(y)j(b)s(e)e(denoted)h(b)m(y)g(the)g(k)m(eyw)m(ords)
g FD(SCALAR)p 3044 2906 V 33 w(IN)f FK(or)h FD(SCALAR)p
3609 2906 V 33 w(INOUT)p FK(.)0 3019 y FD(SCALAR)p 294
3019 V 33 w(IN)29 b FK(can)i(b)s(e)f FD(float)f FK(or)h
FD(double)p FK(;)f(and)h FD(SCALAR)p 1930 3019 V 33 w(INOUT)f
FK(and)g FD(RARRAY)g FK(can)i(b)s(e)e FD(float)47 b(*)30
b FK(or)g FD(double)46 b(*)p FK(.)0 3263 y Fx(C.4.4)98
b(Numerical)33 b(Accuracy)h(and)e(Environmental)h(Enquiry)0
3434 y FK(The)c(seman)m(tics)h(of)g(in)m(terv)-5 b(al)29
b(arithmetic)g(require)g(us)g(to)i(ha)m(v)m(e)g(another)f(en)m
(vironmen)m(tal)f(enquiry)f(function)g(to)0 3547 y(supplemen)m(t)j(the)
h(routine)g(FPINF)m(O)h(describ)s(ed)d(in)h(sections)i(1.6)g(and)f
(2.7.)48 b(Here)33 b(w)m(e)g(will)c(sp)s(ecify)i(the)i(addi-)0
3660 y(tional)28 b(routine)f(FPINF)m(O)p 921 3660 28
4 v 33 w(I)h(to)i(determine)d(ho)m(w)h(tigh)m(tly)g(the)h(con)m
(tainmen)m(t)g(prop)s(ert)m(y)f(of)g(in)m(terv)-5 b(al)28
b(arithmetic)0 3773 y(is)h(main)m(tained.)0 3886 y(T)-8
b(o)43 b(establish)f(notation,)47 b(let)42 b FG(a)47
b FK(=)f([)p Fy(a)p 1322 3899 49 4 v(;)p 1410 3837 V
15 w(a)p FK(])d(and)g FG(b)j FK(=)g([)p Fy(b)p 1962 3899
40 4 v 1 w(;)p 2042 3813 V 15 w(b)p FK(])d(b)s(e)f(mac)m(hine)h(in)m
(terv)-5 b(als,)46 b(let)d FD(op)f FK(b)s(e)g(one)i(of)f(the)0
3999 y(op)s(erations)36 b(+,)h FJ(\000)p FK(,)h FJ(\011)p
FK(,)g FJ(\002)e FK(and)g FJ(\004)p FK(,)h(let)g FG(c)e
FK(=)g([)p Fy(c)p 1623 4012 V 1 w(;)p 1703 3950 V 15
w(c)q FK(])g(=)g FG(a)30 b FD(op)47 b FG(b)37 b FK(b)s(e)e(the)i(exact)
h(mathematical)f(in)m(terv)-5 b(al)35 b(result)0 4112
y(of)d FG(a)e FD(op)48 b FG(b)p FK(,)32 b(and)g(let)g
FG(c)803 4079 y Fu(\003)871 4112 y FK(=)c([)p Fy(c)p
995 4125 V -33 x Fu(\003)1074 4112 y Fy(;)p 1114 4063
V 15 w(c)1154 4079 y Fu(\003)1193 4112 y FK(])g(=)g Fy(f)10
b(l)r FK(\()p FG(a)30 b FD(op)47 b FG(b)p FK(\))33 b(b)s(e)e(the)h(mac)
m(hine)g(in)m(terv)-5 b(al)32 b(computed)f(con)m(taining)h
FG(c)q FK(.)45 b(Let)0 4225 y Fy(\017)37 4239 y Fw(I)102
4225 y Fy(>)25 b FK(0)g(b)s(e)f(de\014ned)f(as)i(the)g(smallest)e(n)m
(um)m(b)s(er)g(suc)m(h)i(that)g(for)f(all)f FG(a)p FK(,)j
FG(b)f FK(and)f FD(op)g FK(where)g(o)m(v)m(er\015o)m(w)h(and)f
(under\015o)m(w)0 4338 y(do)30 b(not)h(o)s(ccur)f(in)f(computing)h
FG(c)1135 4305 y Fu(\003)1175 4338 y FK(,)g(then)1273
4542 y Fy(c)p 1273 4555 V 83 w FJ(\025)83 b FK(min)n
FJ(f)p Fy(c)p 1745 4555 V 1785 4504 a Fu(\003)1824 4542
y FK(\(1)21 b(+)f Fy(\017)2053 4556 y Fw(I)2093 4542
y FK(\))p Fy(;)15 b(c)p 2168 4555 V 2208 4504 a Fu(\003)2248
4542 y FK(\(1)21 b FJ(\000)f Fy(\017)2477 4556 y Fw(I)2516
4542 y FK(\))p FJ(g)p 1273 4631 V 1273 4680 a Fy(c)83
b FJ(\024)g FK(max)p FJ(f)p 1763 4631 52 4 v Fy(x)1815
4642 y Fu(\003)1855 4680 y FK(\(1)21 b(+)f Fy(\017)2084
4694 y Fw(I)2123 4680 y FK(\))p Fy(;)p 2198 4631 40 4
v 15 w(c)2238 4642 y Fu(\003)2278 4680 y FK(\(1)h FJ(\000)f
Fy(\017)2507 4694 y Fw(I)2547 4680 y FK(\))p FJ(g)0 4884
y FK(In)36 b(other)g(w)m(ords,)i Fy(\017)694 4898 y Fw(I)770
4884 y FK(measures)e(ho)m(w)g(m)m(uc)m(h)h(the)f(exact)i(mathematical)f
(in)m(terv)-5 b(al)35 b(b)s(ounds)f(are)j(rounded)e(out)0
4997 y(to)e(get)h(the)e(mac)m(hine)h(in)m(terv)-5 b(al)31
b(result.)46 b(When)32 b(the)h(mac)m(hine)f(in)m(terv)-5
b(al)32 b(is)f(tigh)m(t,)j(i.e.)47 b(as)32 b(narro)m(w)g(as)h(p)s
(ossible,)0 5110 y(then)28 b Fy(\017)242 5124 y Fw(I)307
5110 y FK(=)d Fy(B)5 b(AS)g(E)678 5077 y FC(1)p Fu(\000)p
Fw(T)824 5110 y FK(,)29 b(where)f Fy(B)5 b(AS)g(E)33
b FK(and)28 b Fy(T)41 b FK(are)29 b(v)-5 b(alues)28 b(returned)g(b)m(y)
g(FPINF)m(O.)i(But)e Fy(\017)3241 5124 y Fw(I)3310 5110
y FK(could)f(b)s(e)h(larger)0 5223 y(dep)s(ending)g(on)i(the)h
(implemen)m(tation,)e(leading)g(us)h(to)h(the)f(follo)m(wing)f(en)m
(vironmen)m(tal)h(enquiry:)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 227 237
227 236 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(227)p 156 3 3589 4 v 154 116 4 113 v
205 82 a(V)-8 b(alue)31 b(of)g(CMA)m(CH)p 958 116 V 100
w(Name)g(of)f(v)-5 b(alue)p 1969 116 V 442 w(Description)p
3743 116 V 154 229 V 958 229 V 1010 195 a(returned)29
b(b)m(y)h(FPINF)m(O)p 1859 195 28 4 v 34 w(I)p 1969 229
4 113 v 3743 229 V 156 232 3589 4 v 154 345 4 113 v 205
311 a(blas)p 368 311 28 4 v 32 w(base)p 958 345 4 113
v 443 w(BASE)p 1969 345 V 765 w(base)h(of)f(the)h(mac)m(hine)p
3743 345 V 154 458 V 205 424 a(blas)p 368 424 28 4 v
32 w(t)p 435 424 V 33 w(i)p 958 458 4 113 v 521 w(T)p
1081 424 28 4 v 32 w(I)p 1969 458 4 113 v 879 w(e\013ectiv)m(e)h(n)m
(um)m(b)s(er)d(of)i(base)f(BASE)g(digits,)p 3743 458
V 154 571 V 958 571 V 1969 571 V 2020 537 a(suc)m(h)g(that)h
Fy(\017)2459 551 y Fw(I)2524 537 y FK(=)25 b Fy(B)5 b(AS)g(E)2895
504 y FC(1)p Fu(\000)p Fw(T)3026 515 y Fq(I)p 3743 571
V 154 684 V 205 650 a FK(blas)p 368 650 28 4 v 32 w(rnd)p
538 650 V 32 w(i)p 958 684 4 113 v 419 w(RND)p 1219 650
28 4 v 33 w(I)p 1969 684 4 113 v 740 w(when)29 b(in)m(terv)-5
b(al)30 b(arithmetic)g(is)f(implemen)m(ted)p 3743 684
V 154 797 V 958 797 V 1969 797 V 2020 763 a(with)g(correct)j(IEEE-st)m
(yle)e(directed)g(rounding)p 3743 797 V 154 910 V 205
876 a(blas)p 368 876 28 4 v 32 w(eps)p 527 876 V 33 w(i)p
958 910 4 113 v 429 w(EPS)p 1190 876 28 4 v 32 w(I)p
1969 910 4 113 v 770 w Fy(\017)2057 890 y Fw(I)2127 876
y FK(as)h(de\014ned)e(ab)s(o)m(v)m(e.)p 3743 910 V 156
913 3589 4 v 0 1117 a Fx(C.4.5)98 b(Language)31 b(Bindings)0
1289 y FK(Eac)m(h)e(sp)s(eci\014cation)f(of)h(a)g(routine)f(will)e
(corresp)s(ond)h(to)j(an)e(op)s(eration)g(outlined)f(in)h(the)h
(functionalit)m(y)e(tables.)0 1402 y(Op)s(erations)33
b(are)h(organized)g(analogous)g(to)h(the)f(order)g(in)e(whic)m(h)h
(they)h(are)h(presen)m(ted)f(in)e(the)i(functionalit)m(y)0
1515 y(tables.)40 b(The)30 b(format)h(of)g(the)f(language)h(bindings)c
(is)j(as)g(describ)s(ed)e(in)h(section)i(2.8.)0 1754
y Fv(Overview)136 1926 y FJ(\017)46 b FK(Reduction)30
b(Op)s(erations)f(\(section)i(C.4.5\))330 2112 y FG({)45
b FK(DOT)p 638 2112 28 4 v 33 w(I)30 b(\(Dot)i(pro)s(duct\))330
2257 y FG({)45 b FK(NORM)p 721 2257 V 33 w(I)30 b(\(In)m(terv)-5
b(al)31 b(v)m(ector)h(norms\))330 2401 y FG({)45 b FK(SUM)p
634 2401 V 33 w(I)30 b(\(Sum\))330 2546 y FG({)45 b FK(AMIN)p
684 2546 V 34 w(V)-10 b(AL)p 901 2546 V 32 w(I)30 b(\(Min)g(absolute)g
(v)-5 b(alue)30 b(&)g(lo)s(cation\))330 2691 y FG({)45
b FK(AMAX)p 719 2691 V 34 w(V)-10 b(AL)p 936 2691 V 33
w(I)30 b(\(Max)h(absolute)f(v)-5 b(alue)30 b(&)g(lo)s(cation\))330
2836 y FG({)45 b FK(SUMSQ)p 756 2836 V 32 w(I)30 b(\(Sum)g(of)g
(squares\))136 3022 y FJ(\017)46 b FK(In)m(terv)-5 b(al)30
b(V)-8 b(ector)33 b(Op)s(erations)28 b(\(section)j(C.4.5\))330
3208 y FG({)45 b FK(RSCALE)p 803 3208 V 32 w(I)30 b(\(Recipro)s(cal)g
(Scale\))330 3353 y FG({)45 b FK(AXPBY)p 762 3353 V 34
w(I)30 b(\(Scaled)g(v)m(ector)i(accum)m(ulation\))330
3497 y FG({)45 b FK(W)-10 b(AXPBY)p 845 3497 V 34 w(I)30
b(\(Scaled)g(v)m(ector)i(addition\))330 3642 y FG({)45
b FK(CANCEL)p 819 3642 V 32 w(I)30 b(\(Scaled)h(cancellation\))330
3787 y FG({)45 b FK(W)m(CANCEL)p 909 3787 V 33 w(I)30
b(\(Scaled)h(cancellation\))136 3973 y FJ(\017)46 b FK(Data)32
b(Mo)m(v)m(emen)m(t)h(with)c(In)m(terv)-5 b(al)30 b(V)-8
b(ectors)32 b(\(section)f(C.4.5\))330 4159 y FG({)45
b FK(COPY)p 699 4159 V 32 w(I)31 b(\(In)m(terv)-5 b(al)30
b(v)m(ector)i(cop)m(y\))330 4304 y FG({)45 b FK(SW)-10
b(AP)p 696 4304 V 33 w(I)30 b(\(In)m(terv)-5 b(al)30
b(v)m(ector)i(sw)m(ap\))330 4449 y FG({)45 b FK(PERMUTE)p
902 4449 V 33 w(I)30 b(\(P)m(erm)m(ute)h(in)m(terv)-5
b(al)30 b(v)m(ector\))136 4635 y FJ(\017)46 b FK(In)m(terv)-5
b(al)30 b(Matrix-V)-8 b(ector)33 b(Op)s(erations)c(\(section)i(C.4.5\))
330 4821 y FG({)45 b FJ(f)p FK(GE,GB)p FJ(g)p FK(MV)p
966 4821 V 36 w(I)30 b(\(In)m(terv)-5 b(al)30 b(matrix)g(v)m(ector)i
(pro)s(duct\))330 4966 y FG({)45 b FJ(f)p FK(SY,SB,SP)p
FJ(g)p FK(MV)p 1070 4966 V 34 w(I)30 b(\(In)m(terv)-5
b(al)30 b(symmetric)g(matrix)g(v)m(ector)i(pro)s(duct\))330
5111 y FG({)45 b FJ(f)p FK(TR,TB,TP)p FJ(g)p FK(MV)p
1114 5111 V 34 w(I)30 b(\(In)m(terv)-5 b(al)31 b(triangular)d(matrix)i
(v)m(ector)i(pro)s(duct\))330 5255 y FG({)45 b FJ(f)p
FK(TR,TB,TP)p FJ(g)p FK(SV)p 1082 5255 V 33 w(I)30 b(\(In)m(terv)-5
b(al)31 b(triangular)e(solv)m(e\))330 5400 y FG({)45
b FK(GER)p 632 5400 V 33 w(I)30 b(\(Rank)h(one)f(up)s(date\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 228 238
228 237 bop 0 -165 a FK(228)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)330 91 y FG({)45 b FJ(f)p
FK(SY,SP)p FJ(g)p FK(R)p 846 91 28 4 v 33 w(I)30 b(\(Symmetric)g(rank)g
(one)g(up)s(date\))136 277 y FJ(\017)46 b FK(In)m(terv)-5
b(al)30 b(Matrix)h(Op)s(erations)e(\(section)h(C.4.5\))330
463 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 463 V 35 w FK(NORM)p 2019 463 V 33 w(I)30
b(\(In)m(terv)-5 b(al)31 b(matrix)e(norms\))330 607 y
FG({)45 b FJ(f)p FK(GE,GB)p FJ(g)p 815 607 V 35 w FK(DIA)m(G)p
1088 607 V 34 w(SCALE)p 1426 607 V 32 w(I)30 b(\(Diagonal)h(scaling\))
330 752 y FG({)45 b FJ(f)p FK(GE,GB)p FJ(g)p 815 752
V 35 w FK(LRSCALE)p 1278 752 V 32 w(I)30 b(\(Tw)m(o-sided)f(diagonal)h
(scaling\))330 896 y FG({)45 b FJ(f)p FK(SY,SB,SP)p FJ(g)p
919 896 V 33 w FK(LRSCALE)p 1380 896 V 32 w(I)30 b(\(Tw)m(o-sided)g
(diagonal)f(scaling)h(of)g(a)h(symmetric)f(in)m(terv)-5
b(al)29 b(matrix\))330 1040 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 1040 V 35 w FK(A)m(CC)p 1927
1040 V 33 w(I)30 b(\(Matrix)h(accum)m(ulation)f(and)f(scale\))330
1184 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 1184 V 35 w FK(ADD)p 1936 1184 V 34 w(I)30
b(\(Matrix)h(add)e(and)h(scale\))136 1370 y FJ(\017)46
b FK(In)m(terv)-5 b(al)30 b(Matrix-Matrix)h(Op)s(erations)e(\(section)i
(C.4.5\))330 1556 y FG({)45 b FK(GEMM)p 731 1556 V 34
w(I)30 b(\(General)h(in)m(terv)-5 b(al)29 b(Matrix)h(Matrix)h(pro)s
(duct\))330 1700 y FG({)45 b FK(SYMM)p 717 1700 V 33
w(I)30 b(\(Symmetric)g(in)m(terv)-5 b(al)30 b(matrix)f(matrix)h(pro)s
(duct\))330 1845 y FG({)45 b FK(TRMM)p 731 1845 V 33
w(I)30 b(\(T)-8 b(riangular)29 b(in)m(terv)-5 b(al)30
b(matrix)f(matrix)h(m)m(ultiply\))330 1989 y FG({)45
b FK(TRSM)p 699 1989 V 32 w(I)31 b(\(In)m(terv)-5 b(al)30
b(triangular)f(solv)m(e\))136 2175 y FJ(\017)46 b FK(Data)32
b(Mo)m(v)m(emen)m(t)h(with)c(In)m(terv)-5 b(al)30 b(Matrices)h
(\(section)g(C.4.5\))330 2361 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 2361 V 35 w FK(COPY)p 1997
2361 V 32 w(I)30 b(\(Matrix)h(cop)m(y\))330 2505 y FG({)45
b FK(GE)p 565 2505 V 33 w(TRANS)p 918 2505 V 32 w(I)31
b(\(Matrix)f(transp)s(osition\))330 2649 y FG({)45 b
FK(GE)p 565 2649 V 33 w(PERMUTE)p 1068 2649 V 33 w(I)30
b(\(P)m(erm)m(ute)h(an)g(in)m(terv)-5 b(al)29 b(matrix\))136
2835 y FJ(\017)46 b FK(Set)31 b(Op)s(erations)e(In)m(v)m(olving)g(In)m
(terv)-5 b(al)30 b(V)-8 b(ectors)32 b(\(section)f(C.4.5\))330
3021 y FG({)45 b FK(ENCV)p 696 3021 V 33 w(I)30 b(\(Chec)m(ks)h(if)e
(an)i(in)m(terv)-5 b(al)29 b(v)m(ector)j(is)d(enclosed)i(in)e(another)h
(in)m(terv)-5 b(al)30 b(v)m(ector\))330 3165 y FG({)45
b FK(INTERIOR)-10 b(V)p 957 3165 V 32 w(I)25 b(\(Chec)m(ks)g(if)f(an)h
(in)m(terv)-5 b(al)24 b(v)m(ector)i(is)e(enclosed)g(in)g(the)h(in)m
(terior)f(of)h(another)g(in)m(terv)-5 b(al)427 3278 y(v)m(ector\))330
3422 y FG({)45 b FK(DISJV)p 700 3422 V 33 w(I)30 b(\(Chec)m(ks)h(if)e
(t)m(w)m(o)j(in)m(terv)-5 b(al)29 b(v)m(ectors)j(are)f(disjoin)m(t\))
330 3567 y FG({)45 b FK(INTER)-10 b(V)p 786 3567 V 33
w(I)30 b(\(In)m(tersection)h(of)f(an)h(in)m(terv)-5 b(al)29
b(v)m(ector)j(with)d(another\))330 3711 y FG({)45 b FK(WINTER)-10
b(V)p 879 3711 V 33 w(I)30 b(\(In)m(tersection)h(of)g(t)m(w)m(o)g(in)m
(terv)-5 b(al)30 b(v)m(ectors\))330 3855 y FG({)45 b
FK(HULL)-10 b(V)p 740 3855 V 33 w(I)30 b(\(Con)m(v)m(ex)i(h)m(ull)c(of)
j(an)f(in)m(terv)-5 b(al)29 b(v)m(ector)j(with)d(another\))330
4000 y FG({)45 b FK(WHULL)-10 b(V)p 833 4000 V 34 w(I)30
b(\(Con)m(v)m(ex)h(h)m(ull)e(of)h(t)m(w)m(o)i(in)m(terv)-5
b(al)29 b(v)m(ectors\))136 4185 y FJ(\017)46 b FK(Set)31
b(Op)s(erations)e(In)m(v)m(olving)g(In)m(terv)-5 b(al)30
b(Matrices)h(\(section)g(C.4.5\))330 4371 y FG({)45 b
FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1695
4371 V 35 w FK(ENCM)p 2009 4371 V 33 w(I)42 b(\(Chec)m(ks)h(if)e(an)i
(in)m(terv)-5 b(al)41 b(matrix)h(is)f(enclosed)h(in)427
4484 y(another)31 b(in)m(terv)-5 b(al)29 b(matrix\))330
4628 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 4628 V 35 w FK(INTERIORM)p 2280 4628 V 32
w(I)20 b(\(Chec)m(ks)i(if)d(an)i(in)m(terv)-5 b(al)20
b(matrix)g(is)f(enclosed)427 4741 y(in)29 b(the)i(in)m(terior)e(of)i
(another)f(in)m(terv)-5 b(al)30 b(matrix\))330 4886 y
FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p
1695 4886 V 35 w FK(DISJM)p 2013 4886 V 33 w(I)30 b(\(Chec)m(ks)h(if)e
(t)m(w)m(o)j(in)m(terv)-5 b(al)29 b(matrices)i(are)g(disjoin)m(t\))330
5030 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 5030 V 35 w FK(INTERM)p 2109 5030 V 33 w(I)21
b(\(Elemen)m(t)m(wise)g(in)m(tersection)g(of)g(an)g(in)m(terv)-5
b(al)20 b(ma-)427 5143 y(trix)30 b(with)f(another\))330
5287 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 5287 V 35 w FK(WINTERM)p 2202 5287 V 33 w(I)28
b(\(Elemen)m(t)m(wise)g(in)m(tersection)f(of)h(t)m(w)m(o)i(in)m(terv)-5
b(al)427 5400 y(matrices\))4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 229 239
229 238 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(229)330 91 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 91 28 4 v 35 w FK(HULLM)p 2063
91 V 33 w(I)33 b(\(Con)m(v)m(ex)h(h)m(ull)d(of)i(an)g(in)m(terv)-5
b(al)32 b(matrix)g(with)g(an-)427 204 y(other\))330 346
y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 346 V 35 w FK(WHULL)e(V)p 2131 346 V 33 w(I)31
b(\(Con)m(v)m(ex)g(h)m(ull)d(of)j(t)m(w)m(o)h(in)m(terv)-5
b(al)29 b(matrices\))136 529 y FJ(\017)46 b FK(Utilit)m(y)30
b(F)-8 b(unctions)30 b(In)m(v)m(olving)f(In)m(terv)-5
b(al)30 b(V)-8 b(ectors)32 b(\(section)f(C.4.5\))330
712 y FG({)45 b FK(EMPTYELEV)p 1022 712 V 33 w(I)30 b(\(Empt)m(y)g(en)m
(try)h(and)f(lo)s(cation\))330 854 y FG({)45 b FK(INFV)p
660 854 V 34 w(I)30 b(\(The)g(left)g(endp)s(oin)m(t)f(of)h(an)h(in)m
(terv)-5 b(al)29 b(v)m(ector\))330 996 y FG({)45 b FK(SUPV)p
681 996 V 33 w(I)30 b(\(The)g(righ)m(t)g(endp)s(oin)m(t)f(of)h(an)h(in)
m(terv)-5 b(al)29 b(v)m(ector\))330 1138 y FG({)45 b
FK(MID)m(V)p 682 1138 V 34 w(I)30 b(\(The)h(appro)m(ximate)f(midp)s
(oin)m(t)e(of)j(an)f(in)m(terv)-5 b(al)29 b(v)m(ector\))330
1279 y FG({)45 b FK(WIDTHV)p 829 1279 V 34 w(I)30 b(\(The)g(elemen)m(t)
m(wise)h(width)d(of)j(an)f(in)m(terv)-5 b(al)29 b(v)m(ector\))330
1421 y FG({)45 b FK(CONSTR)m(UCTV)p 1086 1421 V 32 w(I)30
b(\(Constructs)g(an)g(in)m(terv)-5 b(al)30 b(v)m(ector)i(from)e(t)m(w)m
(o)i(\015oating)e(p)s(oin)m(t)f(v)m(ectors\))136 1604
y FJ(\017)46 b FK(Utilit)m(y)30 b(F)-8 b(unctions)30
b(In)m(v)m(olving)f(In)m(terv)-5 b(al)30 b(Matrices)h(\(section)g
(C.4.5\))330 1788 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 1788 V 35 w FK(EMPTYELEM)p
2335 1788 V 33 w(I)30 b(\(Empt)m(y)g(en)m(try)h(and)f(lo)s(cation\))330
1929 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1695 1929 V 35 w FK(INFM)p 1973 1929 V 34 w(I)30
b(\(The)g(left)g(endp)s(oin)m(t)f(of)h(an)h(in)m(terv)-5
b(al)29 b(matrix\))330 2071 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 2071 V 35 w FK(SUPM)p 1994
2071 V 33 w(I)30 b(\(The)g(righ)m(t)g(endp)s(oin)m(t)f(of)h(an)h(in)m
(terv)-5 b(al)29 b(matrix\))330 2213 y FG({)45 b FJ(f)p
FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1695 2213 V
35 w FK(MIDM)p 1998 2213 V 34 w(I)25 b(\(The)g(appro)m(ximate)g(midp)s
(oin)m(t)e(of)i(an)g(in)m(terv)-5 b(al)24 b(ma-)427 2326
y(trix\))330 2467 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 2467 V 35 w FK(WIDTHM)p 2142
2467 V 34 w(I)29 b(\(Elemen)m(t)m(wise)g(width)e(of)i(an)g(in)m(terv)-5
b(al)28 b(matrix\))330 2609 y FG({)45 b FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1695 2609 V 35 w FK(CONSTR)m(UCTM)p
2399 2609 V 32 w(I)26 b(\(Constructs)g(an)g(in)m(terv)-5
b(al)26 b(matrix)f(from)427 2722 y(t)m(w)m(o)32 b(giv)m(en)e
(\015oating)h(p)s(oin)m(t)e(matrices\))136 2905 y FJ(\017)46
b FK(En)m(vironmen)m(tal)29 b(Enquiry)f(\(section)j(C.4.5\))330
3089 y FG({)45 b FK(FPINF)m(O)p 781 3089 V 34 w(I)30
b(\(En)m(vironmen)m(tal)f(enquiry\))0 3327 y Fv(Reduction)i(Op)s
(erations)0 3498 y FK(DOT)p 211 3498 V 33 w(I)f(\(Dot)i(Pro)s(duct\))
2405 b FG(r)26 b FJ( )f Fy(\014)5 b FG(r)20 b FK(+)g
Fy(\013)p FG(x)3790 3465 y Fw(T)3845 3498 y FG(y)0 3724
y FK(The)25 b(routine)g FD(DOT)p 641 3724 29 4 v 34 w(I)g
FK(adds)g(the)h(scaled)g(dot)g(pro)s(duct)e(of)i(t)m(w)m(o)h(in)m(terv)
-5 b(al)25 b(v)m(ectors)i FG(x)f FK(and)f FG(y)h FK(in)m(to)g(a)g
(scaled)g(in)m(terv)-5 b(al)0 3837 y FG(r)p FK(.)58 b(The)36
b(routine)f(returns)g(immediately)f(if)h FD(n)h FK(is)f(less)h(than)g
(zero,)i(or,)g(if)d FD(beta)g FK(is)h(equal)f(to)i([1,1])h(and)d
(either)0 3950 y FD(alpha)d FK(is)g(equal)g(to)i([0,0])h(or)e
FD(n)g FK(is)f(equal)g(to)i(zero.)50 b(If)32 b FD(alpha)g
FK(is)g(equal)h(to)h([0,0])g(then)f FG(x)g FK(and)g FG(y)g
FK(are)g(not)h(read.)0 4063 y(Similarly)-8 b(,)27 b(if)j
FD(beta)f FK(is)h(equal)g(to)h([0,0],)h FG(r)e FK(is)g(not)h
(referenced.)40 b(As)31 b(describ)s(ed)d(in)h(section)i(2.5.3,)h(the)f
(v)-5 b(alue)30 b Fv(incx)0 4176 y FK(less)g(than)g(zero)i(is)d(p)s
(ermitted.)41 b(Ho)m(w)m(ev)m(er,)33 b(if)c Fv(incx)i
FK(is)e(equal)h(to)i(zero,)g(an)e(error)g(\015ag)h(is)f(set)h(and)f
(passed)g(to)i(the)0 4289 y(error)e(handler.)0 4402 y(179,)i(one.)136
4601 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4835 y FD(SUBROUTINE)45 b(dot_i\()h(x,)h(y,)g(r)h([,)f(alpha])f
([,beta])g(\))609 4948 y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(IN\))f
(::)i(x\(:\),)f(y\(:\))609 5061 y(TYPE\(INTERVAL\))e(\(<wp>\),)i
(INTENT\(IN\),)f(OPTIONAL)g(::)i(alpha,)f(beta)609 5174
y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(INOUT\))e(::)j(r)514
5287 y(where)609 5400 y(x)h(and)e(y)i(have)f(shape)f(\(n\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 230 240
230 239 bop 0 -165 a FK(230)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 341 y FD(SUBROUTINE)45
b(BLAS_xDOT_I\()f(N,)j(ALPHA,)f(X,)i(INCX,)e(BETA,)g(Y,)h(INCY,)g(R)g
(\))514 454 y(INTEGER)523 b(INCX,)46 b(INCY,)g(N)514
567 y(<type>)571 b(ALPHA\()46 b(2)h(\),)g(BETA\()g(2)g(\),)g(R\()h(2)f
(\))514 680 y(<type>)571 b(X\()47 b(2,)g(*)h(\),)f(Y\()g(2,)g(*)h(\))
136 930 y FJ(\017)e FK(C)30 b(binding:)227 1155 y FD(void)47
b(BLAS_xdot_i\()d(int)j(n,)g(const)g(<interval>)e(alpha,)h(const)g
(<interval_array>)e(x,)1086 1268 y(int)j(incx,)g(const)f(<interval>)f
(beta,)h(const)h(<interval_array>)c(y,)1086 1381 y(int)k(incy,)g
(<interval>)e(r)i(\);)227 1606 y Fz(A)-5 b(dvic)g(e)41
b(to)h(users:)116 b FK(The)39 b(scaling)g(parameters)g
FD(alpha)f FK(and)h FD(beta)f FK(are)i(in)m(terv)-5 b(als.)67
b(If)39 b(an)m(y)g(one)227 1719 y(of)c(them)f(is)g(a)h(real)f(n)m(um)m
(b)s(er)f(in)h(applications,)g(the)g(user)g(needs)h(to)g(con)m(v)m(ert)
h(it)e(in)m(to)h(its)e(in)m(terv)-5 b(al)227 1831 y(represen)m(tation)
31 b(\014rst,)f(and)f(then)h(use)h(the)f(routine.)p 0
2023 3900 4 v 0 2162 a(NORM)p 294 2162 28 4 v 33 w(I)g(\(In)m(terv)-5
b(al)30 b(v)m(ector)i(norms\))1689 b Fy(r)28 b FJ( )d(jj)p
FG(x)q FJ(jj)3338 2176 y FC(1)3378 2162 y Fy(;)30 b FJ(jj)p
FG(x)q FJ(jj)3589 2176 y FC(2)3629 2162 y Fy(;)15 b FJ(jj)p
FG(x)q FJ(jj)3825 2176 y Fu(1)0 2388 y FK(The)36 b(routine)f
Fv(NORM)p 787 2388 V 32 w(I)h FK(computes)g(the)g FJ(jj)25
b(\001)f(jj)1621 2402 y FC(1)1661 2388 y FK(,)38 b FJ(jj)24
b(\001)g(jj)1897 2402 y FC(2)1937 2388 y FK(,)38 b(or)e
FJ(jj)24 b(\001)h(jj)2291 2402 y Fu(1)2402 2388 y FK(of)36
b(a)g(v)m(ector)i Fy(x)e FK(dep)s(ending)d(on)j(the)g(v)-5
b(alue)0 2501 y(passed)30 b(as)h(the)f Fv(no)m(rm)i FK(op)s(erator)e
(argumen)m(t.)0 2614 y(If)i FD(n)g FK(is)f(less)h(than)g(or)g(equal)g
(to)h(zero,)h(this)d(routine)g(returns)g(immediately)g(with)g(the)h
(output)g(scalar)g FD(r)g FK(set)h(to)0 2727 y(zero.)41
b(The)28 b(resulting)f(scalar)h FD(r)g FK(is)g(alw)m(a)m(ys)h(real)f
(and)g(its)g(v)-5 b(alue)28 b(is)f(as)i(de\014ned)e(in)h(section)g
(2.1.1,)j(pro)m(vided)c(that)0 2839 y FJ(j)p FG(x)80
2853 y Fw(i)109 2839 y FJ(j)e FK(=)g(max)p FJ(fj)p Fy(x)p
494 2852 52 4 v 547 2860 a Fw(i)575 2839 y FJ(j)p Fy(;)15
b FJ(j)p 665 2790 V Fy(x)718 2853 y Fw(i)746 2839 y FJ(jg)p
FK(.)0 2952 y(As)33 b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)e(v)-5
b(alue)33 b Fv(incx)g FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)48
b(Ho)m(w)m(ev)m(er,)37 b(if)32 b Fv(incx)i FK(is)e(equal)0
3065 y(to)f(zero,)h(an)e(error)g(\015ag)g(is)g(set)h(and)f(passed)f(to)
j(the)e(error)g(handler.)136 3278 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)514 3528 y FD(REAL)46 b(\(<wp>\))g
(FUNCTION)g(norm_i)g(\()h(x)h([,)f(norm])f(\))609 3641
y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(IN\))f(::)i(x\(:\))609
3754 y(TYPE\(blas_norm_type\),)90 b(INTENT\(IN\),)45
b(OPTIONAL)g(::)i(norm)514 3866 y(where)609 3979 y(x)h(has)e(shape)h
(\(n\))136 4229 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
4479 y FD(<type>)141 b(FUNCTION)46 b(BLAS_xNORM_I\()e(NORM,)i(N,)h(X,)h
(INCX)e(\))514 4592 y(INTEGER)570 b(INCX,)47 b(N,)g(NORM)514
4705 y(<type>)618 b(X\()48 b(2,)f(*)g(\))136 4955 y FJ(\017)f
FK(C)30 b(binding:)227 5180 y FD(void)47 b(BLAS_xnorm_i\()d(enum)j
(blas_norm_type)d(norm,)i(int)h(n,)g(const)f(<interval_array>)e(x,)1134
5293 y(int)j(incx,)f(SCALAR_INOUT)f(r)i(\);)4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 231 241
231 240 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(231)227 91 y Fz(A)-5 b(dvic)g(e)35 b(to)g
(implementors:)47 b FK(In)32 b(\014nite)f(precision)g(\015oating)h(p)s
(oin)m(t)g(arithmetic,)h(an)f(upp)s(er)e(b)s(ound,)227
204 y(preferably)39 b(the)h(least)g(mac)m(hine)g(represen)m(table)g
(upp)s(er)e(b)s(ound,)j(for)e(the)i(mathematical)f(v)-5
b(alue)227 317 y(should)29 b(b)s(e)g(returned)h(for)g(the)g(norms.)p
0 466 3900 4 v 0 693 a(SUM)p 207 693 28 4 v 33 w(I)g(\(Sum)f(the)i(en)m
(tries)f(of)h(an)f(in)m(terv)-5 b(al)29 b(v)m(ector\))1662
b FG(r)25 b FJ( )3669 588 y Fw(n)p Fu(\000)p FC(1)3675
613 y Ft(X)3678 795 y Fw(i)p FC(=0)3817 693 y FG(x)3872
707 y Fw(i)0 919 y FK(The)31 b(routine)f FD(SUM)p 652
919 29 4 v 33 w(I)h FK(returns)f(the)h(sum)f(of)i(the)f(en)m(tries)g
(of)g(an)g(in)m(terv)-5 b(al)31 b(v)m(ector)h FG(x)p
FK(.)43 b(If)31 b FD(n)g FK(is)f(less)g(than)h(or)g(equal)0
1032 y(to)36 b(zero,)i(this)c(routine)h(returns)f(immediately)g(with)g
(the)h(output)h(in)m(terv)-5 b(al)34 b FG(r)i FK(set)g(to)g(zero.)56
b(As)36 b(describ)s(ed)d(in)0 1145 y(section)f(2.5.3,)i(the)e(v)-5
b(alue)31 b Fv(incx)g FK(less)g(than)g(zero)i(is)d(p)s(ermitted.)43
b(Ho)m(w)m(ev)m(er,)35 b(if)30 b Fv(incx)i FK(is)e(equal)i(to)g(zero,)h
(an)e(error)0 1258 y(\015ag)g(is)e(set)i(and)f(passed)g(to)h(the)f
(error)g(handler.)136 1445 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 1666 y FD(SUBROUTINE)45 b(sum_i\()h(x,)h(r)g(\))609
1779 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(IN\))j(::)i(x\(:\))609
1892 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(OUT\))j(::)i(r)514
2004 y(where)609 2117 y(x)h(has)e(shape)h(\(n\))136 2338
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 2558
y FD(SUBROUTINE)45 b(BLAS_xSUM_I\()f(N,)j(INCX,)g(X,)g(R)g(\))514
2671 y(INTEGER)523 b(INCX,)46 b(N)514 2784 y(<type>)571
b(X\()47 b(2,)g(*)h(\))514 2897 y(<type>)571 b(R\()47
b(2)g(\))136 3117 y FJ(\017)f FK(C)30 b(binding:)227
3317 y FD(void)47 b(BLAS_xsum_i\()d(int)j(n,)g(int)g(incx,)g(const)f
(<interval_array>)d(x,)48 b(<interval>)d(r)i(\);)p 0
3498 3900 4 v 0 3637 a FK(AMIN)p 257 3637 28 4 v 33 w(V)-10
b(AL)p 473 3637 V 33 w(I)30 b(\(min)751 3651 y FC(0)p
Fu(\024)p Fw(i<n)967 3637 y FJ(fj)p Fy(x)p 1037 3650
52 4 v 1090 3658 a Fw(i)1118 3637 y FJ(j)p Fy(;)15 b
FJ(j)p 1208 3588 V Fy(x)1261 3651 y Fw(i)1289 3637 y
FJ(jg)31 b FK(&)f(lo)s(cation\))319 b Fy(k)s(;)15 b(r)28
b FJ( )d FK(min)o FJ(fj)p Fy(x)p 2658 3650 V 2711 3658
a Fw(k)2753 3637 y FJ(j)p Fy(;)15 b FJ(j)p 2843 3588
V Fy(x)2896 3652 y Fw(k)2939 3637 y FJ(jg)26 b FK(=)f
Fy(r)j FK(=)55 b(min)3296 3696 y FC(0)p Fu(\024)p Fw(i<n)3507
3637 y FJ(fj)p Fy(x)p 3577 3650 V 3630 3658 a Fw(i)3658
3637 y FJ(j)p Fy(;)15 b FJ(j)p 3748 3588 V Fy(x)3801
3651 y Fw(i)3829 3637 y FJ(jg)0 3863 y FK(The)21 b(routine)f
FD(AMIN)p 680 3863 29 4 v 34 w(VAL)p 858 3863 V 33 w(I)h
FK(\014nds)f(the)h(index)f(of)i(the)g(comp)s(onen)m(t)f(of)h(an)f(in)m
(terv)-5 b(al)21 b(v)m(ector)i(suc)m(h)e(that)h(the)f(absolute)0
3976 y(v)-5 b(alue)37 b(of)g(the)g(lo)m(w)m(er)h(or)f(upp)s(er)e(b)s
(ounds)g(of)i(the)g(comp)s(onen)m(t)h(is)e(the)h(smallest)g(among)g
(the)h(absolute)f(v)-5 b(alues)0 4089 y(of)33 b(the)h(lo)m(w)m(er)f
(and)g(upp)s(er)e(b)s(ounds)g(of)j(all)e(comp)s(onen)m(ts)h(of)h(the)f
(in)m(terv)-5 b(al)32 b(v)m(ector.)51 b(When)33 b(the)h(v)-5
b(alue)32 b(of)i(the)f FD(n)0 4202 y FK(argumen)m(t)i(is)f(less)g(than)
h(or)g(equal)f(to)h(zero,)i(the)e(routine)f(should)f(initialize)f(the)j
(output)g FD(k)f FK(to)i(negativ)m(e)g(one)0 4315 y(or)h(zero,)j(and)c
FD(r)h FK(to)h(zero.)61 b(As)37 b(describ)s(ed)e(in)h(section)h(2.5.3,)
j(the)e(v)-5 b(alue)36 b Fv(incx)h FK(less)f(than)h(zero)h(is)e(p)s
(ermitted.)0 4428 y(Ho)m(w)m(ev)m(er,)d(if)c Fv(incx)h
FK(is)g(equal)g(to)h(zero,)g(an)f(error)g(\015ag)h(is)f(set)g(and)g
(passed)g(to)h(the)g(error)f(handler.)136 4615 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 4835 y FD(SUBROUTINE)45
b(amin_val_i\()f(x,)k(k,)f(r)g(\))609 4948 y(TYPE\(INTERVAL\)\(<wp>\),)
42 b(INTENT\(IN\))j(::)i(x\(:\))609 5061 y(INTEGER,)f(INTENT\(OUT\))e
(::)k(k)609 5174 y(REAL)f(\(<wp>\),)f(INTENT\(OUT\))e(::)j(r)514
5287 y(where)609 5400 y(x)h(has)e(shape)h(\(n\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 232 242
232 241 bop 0 -165 a FK(232)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 341 y FD(SUBROUTINE)45
b(BLAS_xAMIN_VAL_I\()e(N,)k(X,)g(INCX,)f(K,)i(R)f(\))514
454 y(INTEGER)523 b(INCX,)46 b(K,)h(N)514 567 y(<type>)571
b(X\()47 b(2,)g(*)h(\))514 680 y(<type>)571 b(R)136 930
y FJ(\017)46 b FK(C)30 b(binding:)227 1155 y FD(void)47
b(BLAS_xamin_val_i\()c(int)k(n,)g(const)f(<interval_array>)e(x,)j(int)g
(incx,)f(int)h(k,)1325 1268 y(SCALAR_INOUT)d(r)k(\);)p
0 1467 3900 4 v 0 1606 a FK(AMAX)p 292 1606 28 4 v 34
w(V)-10 b(AL)p 509 1606 V 32 w(I)31 b(\(Max)g(absolute)f(v)-5
b(alue)30 b(&)g(lo)s(cation\))255 b Fy(k)s(;)15 b(r)29
b FJ( )c FK(max)p FJ(fj)p Fy(x)p 2658 1619 52 4 v 2711
1626 a Fw(k)2753 1606 y FJ(j)p Fy(;)15 b FJ(j)p 2843
1557 V Fy(x)2896 1621 y Fw(k)2939 1606 y FJ(jg)26 b FK(=)f
Fy(r)j FK(=)46 b(max)3296 1664 y FC(0)p Fu(\024)p Fw(i<n)3507
1606 y FJ(fj)p Fy(x)p 3577 1619 V 3630 1626 a Fw(i)3658
1606 y FJ(j)p Fy(;)15 b FJ(j)p 3748 1557 V Fy(x)3801
1620 y Fw(i)3829 1606 y FJ(jg)0 1832 y FK(The)44 b(routine)g
FD(AMAX)p 727 1832 29 4 v 33 w(VAL)p 904 1832 V 34 w(I)g
FK(\014nds)f(the)i(index)e(of)i(the)g(comp)s(onen)m(t)g(of)g(an)g(in)m
(terv)-5 b(al)44 b(v)m(ector)i(suc)m(h)e(that)i(the)0
1944 y(absolute)38 b(v)-5 b(alue)38 b(of)h(the)f(lo)m(w)m(er)h(or)g
(upp)s(er)d(b)s(ounds)g(of)j(the)f(comp)s(onen)m(t)h(has)f(the)h
(largest)g(v)-5 b(alue)38 b(among)h(the)0 2057 y(absolute)30
b(v)-5 b(alues)30 b(of)g(the)h(lo)m(w)m(er)g(and)e(upp)s(er)g(b)s
(ounds)f(of)j(all)e(comp)s(onen)m(ts)h(of)h(the)g(in)m(terv)-5
b(al)29 b(v)m(ector.)43 b(When)30 b(the)0 2170 y(v)-5
b(alue)31 b(of)h(the)g FD(n)g FK(argumen)m(t)g(is)f(less)g(than)h(or)g
(equal)f(to)i(zero,)g(the)f(routine)f(should)f(initialize)f(the)j
(output)g FD(k)f FK(to)0 2283 y(negativ)m(e)j(one)g(or)f(zero,)i(and)d
FD(r)h FK(to)h(zero.)49 b(As)33 b(describ)s(ed)e(in)h(section)h(2.5.3,)
j(the)d(v)-5 b(alue)33 b Fv(incx)g FK(less)f(than)h(zero)h(is)0
2396 y(p)s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)33 b(if)c
Fv(incx)i FK(is)e(equal)h(to)h(zero,)g(an)g(error)f(\015ag)g(is)g(set)h
(and)f(passed)f(to)j(the)e(error)g(handler.)136 2609
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2858 y FD(SUBROUTINE)45 b(amax_val_i\()f(x,)k(k,)f(r)g(\))609
2971 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(IN\))j(::)i(x\(:\))609
3084 y(INTEGER,)f(INTENT\(OUT\))e(::)k(k)609 3197 y(REAL)f(\(<wp>\),)f
(INTENT\(OUT\))e(::)j(r)514 3310 y(where)609 3423 y(x)h(has)e(shape)h
(\(n\))136 3673 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
3923 y FD(SUBROUTINE)45 b(BLAS_AMAX_VAL_I\()e(N,)k(X,)g(INCX,)g(K,)g(R)
g(\))514 4036 y(INTEGER)523 b(INCX,)46 b(K,)h(N)514 4149
y(<type>)571 b(X\()47 b(2,)g(*)h(\))514 4262 y(<type>)571
b(R)136 4511 y FJ(\017)46 b FK(C)30 b(binding:)227 4736
y FD(void)47 b(BLAS_xamax_val_i\()c(int)k(n,)g(const)f
(<interval_array>)e(x,)j(int)g(incx,)f(int)h(k,)1325
4849 y(SCALAR_INOUT)92 b(r)48 b(\);)p 0 5048 3900 4 v
0 5195 a FK(SUMSQ)p 329 5195 28 4 v 32 w(I)30 b(\(Sum)g(of)g(squares\))
2118 b(\()p Fy(scl)r(;)15 b(ssq)s FK(\))25 b FJ( )3703
5131 y Ft(P)3805 5195 y FG(x)3861 5162 y FC(2)3861 5219
y Fw(i)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 233 243
233 242 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(233)0 91 y(The)30 b(routine)f FD(SUMSQ)p
746 91 29 4 v 33 w(I)h FK(returns)f(the)i(in)m(terv)-5
b(als)29 b Fy(scl)k FK(and)c Fy(ssq)k FK(suc)m(h)d(that)1223
335 y Fy(scl)1334 298 y FC(2)1394 335 y FJ(\003)21 b
Fy(ssq)27 b FK(=)e Fy(scal)r(e)1911 298 y FC(2)1971 335
y FJ(\003)20 b Fy(sumsq)j FK(+)2409 229 y Fw(n)p Fu(\000)p
FC(1)2415 254 y Ft(X)2418 437 y Fw(i)p FC(=0)2557 335
y FG(x)2612 298 y FC(2)2612 358 y Fw(i)2651 335 y Fy(:)0
577 y FK(The)36 b(v)-5 b(alue)36 b(of)g Fy(sumsq)j FK(is)c(assumed)h
(to)h(b)s(e)f(at)h(least)g(unit)m(y)e(and)h(the)h(v)-5
b(alue)36 b(of)g Fy(ssq)j FK(will)34 b(then)i(satisfy)g(1)p
Fy(:)p FK(0)g FJ(\024)0 690 y Fy(ssq)27 b FJ(\024)e FK(\()p
Fy(sumsq)e FK(+)d Fy(n)p FK(\).)40 b(It)31 b(is)e(assumed)h(that)h
Fy(scal)r(e)f FK(is)g(to)h(b)s(e)f(non-negativ)m(e,)h(and)f
Fy(scl)i FK(returns)d(the)i(v)-5 b(alue)1492 916 y Fy(scl)27
b FK(=)47 b(max)1724 974 y FC(0)p Fu(\024)p Fw(i<n)1936
916 y FK(\()p Fy(scal)r(e;)15 b FJ(j)p FG(x)2294 930
y Fw(i)2322 916 y FJ(j)p FK(\))p Fy(:)0 1104 y(scal)r(e)21
b FK(and)g Fy(sumsq)h FK(m)m(ust)f(b)s(e)g(supplied)c(on)k(en)m(try)h
(in)d FD(scl)h FK(and)h FD(ssq)f FK(resp)s(ectiv)m(ely)-8
b(.)37 b FD(scl)21 b FK(and)f FD(ssq)g FK(are)h(o)m(v)m(erwritten)0
1217 y(b)m(y)28 b Fy(scl)h FK(and)e Fy(ssq)j FK(resp)s(ectiv)m(ely)-8
b(.)39 b(If)28 b FD(n)f FK(is)g(less)g(than)g(or)h(equal)f(to)h(zero,)i
(this)c(routine)h(returns)f(immediately)g(with)0 1330
y FD(scl)32 b FK(and)g FD(ssq)g FK(unc)m(hanged.)49 b(As)33
b(describ)s(ed)d(in)i(section)h(2.5.3,)j(the)d(v)-5 b(alue)32
b Fv(incx)h FK(less)g(than)f(zero)i(is)e(p)s(ermitted.)0
1443 y(Ho)m(w)m(ev)m(er,)h(if)c Fv(incx)h FK(is)g(equal)g(to)h(zero,)g
(an)f(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g(error)f
(handler.)136 1625 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 1840 y FD(SUBROUTINE)45 b(sumsq_i\()g(x,)i(ssq,)g
(scl)g(\))609 1952 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(IN\))j(::)i
(x\(:\))609 2065 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(INOUT\))i(::)
j(ssq,)g(scl)514 2178 y(where)609 2291 y(x)h(has)e(shape)h(\(n\))136
2506 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
2720 y FD(SUBROUTINE)45 b(BLAS_xSUMSQ_I\()f(N,)j(X,)g(INCX,)f(SSQ,)h
(SCL)g(\))514 2833 y(INTEGER)523 b(INCX,)46 b(N)514 2946
y(<type>)571 b(X\()47 b(2,)g(*)h(\))514 3059 y(<type>)571
b(SCL\()46 b(2)i(\),)f(SSQ\()g(2)g(\))136 3273 y FJ(\017)f
FK(C)30 b(binding:)227 3488 y FD(void)47 b(BLAS_xsumsq_i\()d(int)j(n,)g
(const)f(<interval_array>)e(x,)j(int)g(incx,)f(<interval>)f(ssq,)1182
3601 y(<interval>)g(scl)i(\);)0 3815 y Fv(Interval)30
b(V)m(ecto)m(r)i(Op)s(erations)0 3987 y FK(RSCALE)p 376
3987 28 4 v 32 w(I)e(\(Recipro)s(cal)g(Scale)g(of)h(an)f(in)m(terv)-5
b(al)29 b(v)m(ector\))1528 b FG(x)26 b FJ( )f FG(x)p
Fy(=\013)0 4213 y FK(The)h(routine)g FD(RSCALE)p 787
4213 29 4 v 33 w(I)g FK(up)s(dates)g(the)h(en)m(tries)g(of)g(an)f(in)m
(terv)-5 b(al)26 b(v)m(ector)j FG(x)d FK(b)m(y)h(the)g(scale)g(in)m
(terv)-5 b(al)26 b(1)p Fy(=\013)i FK(pro)m(vided)0 4326
y(that)37 b(0)e FJ(62)f Fy(\013)p FK(.)59 b(If)35 b Fv(n)h
FK(is)f(less)h(than)g(or)g(equal)f(to)i(zero,)i(this)c(routine)g
(returns)g(immediately)-8 b(.)56 b(As)36 b(describ)s(ed)e(in)0
4439 y(section)e(2.5.3,)i(the)e(v)-5 b(alue)31 b Fv(incx)g
FK(less)g(than)g(zero)i(is)d(p)s(ermitted.)43 b(Ho)m(w)m(ev)m(er,)35
b(if)30 b Fv(incx)i FK(is)e(equal)i(to)g(zero,)h(an)e(error)0
4552 y(\015ag)g(is)e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)
136 4734 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4948 y FD(SUBROUTINE)45 b(rscale_i\()g(alpha,)h(x)h(\))609
5061 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(INOUT\))i(::)j(x\(:\))609
5174 y(TYPE\(INTERVAL\)\(<wp>\),)42 b(INTENT\(IN\))j(::)i(alpha)514
5287 y(where)609 5400 y(x)h(has)e(shape)h(\(n\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 234 244
234 243 bop 0 -165 a FK(234)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 317 y FD(SUBROUTINE)45
b(BLAS_xRSCALE_I\()e(N,)k(ALPHA,)g(X,)g(INCX)f(\))514
429 y(INTEGER)523 b(INCX,)46 b(N)514 542 y(<type>)571
b(ALPHA\()46 b(2)h(\))514 655 y(<type>)571 b(X\()47 b(2,)g(*)h(\))136
880 y FJ(\017)e FK(C)30 b(binding:)227 1084 y FD(void)47
b(BLAS_xrscale_i\()d(int)i(n,)i(<interval>)d(alpha,)h(<interval_array>)
d(x,)k(int)g(incx)g(\);)p 0 1270 3900 4 v 0 1409 a FK(AXPBY)p
335 1409 28 4 v 34 w(I)30 b(\(Scaled)g(v)m(ector)i(accum)m(ulation\))
1786 b FG(y)26 b FJ( )f Fy(\013)p FG(x)c FK(+)f Fy(\014)5
b FG(y)0 1634 y FK(The)31 b(routine)g FD(AXPBY)p 749
1634 29 4 v 33 w(I)g FK(scales)h(the)g(in)m(terv)-5 b(al)31
b(v)m(ector)i FG(x)f FK(b)m(y)f(the)h(in)m(terv)-5 b(al)31
b Fy(\013)h FK(and)f(the)h(in)m(terv)-5 b(al)31 b(v)m(ector)i
FG(y)f FK(b)m(y)g Fy(\014)5 b FK(,)0 1747 y(adds)36 b(these)h(t)m(w)m
(o)h(v)m(ectors)g(to)g(one)f(another)g(and)f(stores)h(the)g(result)f
(in)f(the)i(v)m(ector)h FG(y)p FK(.)60 b(If)36 b FD(n)h
FK(is)e(less)h(than)h(or)0 1860 y(equal)e(to)i(zero,)h(or)e(if)f
Fy(\013)h FK(is)f(equal)g(to)i([0,0])h(and)d Fy(\014)41
b FK(equal)35 b(to)i([1,1],)i(this)c(routine)f(returns)h(immediately)-8
b(.)56 b(As)0 1973 y(describ)s(ed)27 b(in)g(section)i(2.5.3,)j(the)d(v)
-5 b(alue)28 b Fv(incx)h FK(or)g Fv(incy)f FK(less)g(than)h(zero)h(is)e
(p)s(ermitted.)38 b(Ho)m(w)m(ev)m(er,)32 b(if)c(either)g
Fv(incx)0 2086 y FK(or)i Fv(incy)h FK(is)e(equal)h(to)h(zero,)h(an)e
(error)g(\015ag)g(is)g(set)h(and)f(passed)f(to)j(the)e(error)g
(handler.)136 2277 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)561 2503 y FD(SUBROUTINE)45 b(axpby_i\()h(x,)h(y)h([,)f
(alpha])f([,)h(beta])f(\))609 2616 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))
h(::)g(x)h(\(:\))609 2728 y(<type>\(<wp>\),)c(INTENT)i(\(INOUT\))g(::)h
(y)h(\(:\))609 2841 y(<type>\(<wp>\),)c(INTENT)i(\(IN\),)h(OPTIONAL)e
(::)i(alpha,)g(beta)514 2954 y(where)609 3067 y(x)h(and)e(y)i(have)f
(shape)f(\(n\))136 3292 y FJ(\017)g FK(F)-8 b(ortran)31
b(77)h(binding:)514 3518 y FD(SUBROUTINE)45 b(BLAS_xAXPBY_I\()f(N,)j
(ALPHA,)f(X,)h(INCX,)f(BETA,)h(Y,)g(INCY)g(\))514 3630
y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)514 3743 y(<type>)618
b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514 3856 y(<type>)618
b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136 4081
y FJ(\017)f FK(C)30 b(binding:)227 4285 y FD(void)47
b(BLAS_xaxpby_i\()d(int)j(n,)g(<interval>)e(alpha,)h(<interval_array>)d
(x,)48 b(int)e(incx,)1182 4398 y(<interval>)f(beta,)h(<interval_array>)
e(y,)j(int)g(incy)f(\);)p 0 4583 3900 4 v 0 4723 a FK(W)-10
b(AXPBY)p 418 4723 28 4 v 34 w(I)30 b(\(Scaled)g(v)m(ector)i
(addition\))1881 b FG(w)25 b FJ( )g Fy(\013)p FG(x)c
FK(+)f Fy(\014)5 b FG(y)0 4948 y FK(The)35 b(routine)g
FD(WAXPBY)p 805 4948 29 4 v 32 w(I)g FK(scales)h(the)g(in)m(terv)-5
b(al)35 b(v)m(ector)i FG(x)e FK(b)m(y)h(the)f(in)m(terv)-5
b(al)35 b Fy(\013)h FK(and)f(the)h(in)m(terv)-5 b(al)34
b(v)m(ector)j FG(y)f FK(b)m(y)0 5061 y Fy(\014)5 b FK(,)31
b(adds)f(these)h(t)m(w)m(o)h(v)m(ectors)g(to)g(one)f(another)g(and)f
(stores)h(the)g(result)f(in)f(the)i(v)m(ector)h FG(w)p
FK(.)41 b(If)30 b FD(n)h FK(is)f(less)f(than)i(or)0 5174
y(equal)c(to)h(zero,)h(this)e(routine)f(returns)h(immediately)-8
b(.)38 b(As)28 b(describ)s(ed)d(in)h(section)i(2.5.3,)i(the)e(v)-5
b(alue)27 b Fv(incx)g FK(or)h Fv(incy)0 5287 y FK(or)h
Fv(incw)f FK(less)g(than)h(zero)g(is)f(p)s(ermitted.)39
b(Ho)m(w)m(ev)m(er,)31 b(if)d(either)g Fv(incx)h FK(or)f
Fv(incy)h FK(or)g Fv(incw)f FK(is)g(equal)g(to)i(zero,)g(an)e(error)0
5400 y(\015ag)j(is)e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)
4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 235 245
235 244 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(235)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)561 325 y FD(SUBROUTINE)45 b(waxpby_i\()h(x,)h(y,)g(w)g
([,)h(alpha])e([,)h(beta])f(\))609 437 y(<type>\(<wp>\),)e(INTENT)i
(\(IN\))h(::)g(x\(:\),)g(y\(:\))609 550 y(<type>\(<wp>\),)d(INTENT)i
(\(OUT\))h(::)g(w\(:\))609 663 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h
(OPTIONAL)e(::)i(alpha,)g(beta)514 776 y(where)609 889
y(x,)g(y)h(and)f(w)g(have)g(shape)f(\(n\))136 1122 y
FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514 1356
y FD(SUBROUTINE)45 b(BLAS_xWAXPBY_I\()e(N,)k(ALPHA,)g(X,)g(INCX,)f
(BETA,)g(Y,)i(INCY,)e(W,)466 1469 y($)1288 b(INCW)47
b(\))514 1581 y(INTEGER)570 b(INCW,)47 b(INCX,)f(INCY,)h(N)514
1694 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514
1807 y(<type>)618 b(W\()48 b(2,)f(*)g(\),)g(X\()h(2,)f(*)g(\),)g(Y\()h
(2,)f(*)g(\))136 2041 y FJ(\017)f FK(C)30 b(binding:)227
2251 y FD(void)47 b(BLAS_wxaxpby_i\()d(int)i(n,)i(<interval>)d(alpha,)h
(const)g(<interval_array>)d(x,)1230 2364 y(int)j(incx,)h(<interval>)e
(beta,)h(const)h(<interval_array>)c(y,)1230 2477 y(int)j(incy,)h
(<interval_array>)c(w,)k(int)g(incw)g(\);)p 0 2669 3900
4 v 0 2808 a FK(CANCEL)p 392 2808 28 4 v 32 w(I)30 b(\(Scaled)g
(cancellation\))2062 b FG(y)26 b FJ( )f Fy(\013)p FG(x)c
FJ(\011)f Fy(\014)5 b FG(y)0 3034 y FK(The)40 b(op)s(eration)g(cancel,)
k FJ(\011)p FK(,)e(b)s(et)m(w)m(een)g(t)m(w)m(o)f(in)m(terv)-5
b(als)40 b FG(a)g FK(and)g FG(b)g FK(is)g(de\014ned)f(as)i
FG(a)27 b FJ(\011)f FG(b)43 b FK(=)e([)p Fy(a)p 3317
3047 49 4 v 28 w FJ(\000)26 b Fy(b)p 3490 3047 40 4 v(;)p
3569 2985 49 4 v 15 w(a)i FJ(\000)p 3742 2961 40 4 v
26 w Fy(b)p FK(])41 b(if)0 3147 y(\()p Fy(a)p 35 3160
49 4 v 16 w FJ(\000)15 b Fy(b)p 185 3160 40 4 v 1 w FK(\))25
b FJ(\024)g FK(\()p 416 3098 49 4 v Fy(a)16 b FJ(\000)p
567 3074 40 4 v 16 w Fy(b)p FK(\);)29 b(Otherwise,)e
FJ(;)p FK(.)41 b(The)27 b(routine)h FD(CANCEL)p 2049
3147 29 4 v 32 w(I)g FK(scales)g(the)h(in)m(terv)-5 b(al)27
b(v)m(ector)j FG(x)e FK(b)m(y)g(the)g(in)m(terv)-5 b(al)28
b Fy(\013)0 3260 y FK(and)g(the)i(in)m(terv)-5 b(al)28
b(v)m(ector)i FG(y)f FK(b)m(y)g Fy(\014)5 b FK(,)30 b(up)s(dates)e
FG(y)1644 3282 y Fw(i)1701 3260 y FK(with)g Fy(\013)p
FG(x)2020 3274 y Fw(i)2066 3260 y FJ(\011)17 b Fy(\014)5
b FG(y)2266 3282 y Fw(i)2294 3260 y FK(,)29 b FJ(8)p
FK(0)c FJ(\024)g Fy(i)h(<)f(n)p FK(.)40 b(If)28 b FD(n)h
FK(is)f(less)g(than)h(or)g(equal)f(to)0 3373 y(zero,)g(this)c(routine)h
(returns)f(immediately)-8 b(.)38 b(As)26 b(describ)s(ed)d(in)h(section)
i(2.5.3,)j(the)d(v)-5 b(alue)25 b Fv(incx)g FK(or)h Fv(incy)f
FK(less)g(than)0 3486 y(zero)31 b(is)e(p)s(ermitted.)39
b(Ho)m(w)m(ev)m(er,)32 b(if)d(either)g Fv(incx)h FK(or)g
Fv(incy)g FK(is)f(equal)h(to)g(zero,)h(an)f(error)g(\015ag)g(is)f(set)h
(and)g(passed)f(to)0 3599 y(the)i(error)f(handler.)136
3797 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)561
4030 y FD(SUBROUTINE)45 b(cancel_i\()h(x,)h(y)g([,)g(alpha])g([,)g
(beta])f(\))609 4143 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g(x)h
(\(:\))609 4256 y(<type>\(<wp>\),)c(INTENT)i(\(INOUT\))g(::)h(y)h
(\(:\))609 4369 y(<type>\(<wp>\),)c(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i
(alpha,)g(beta)561 4482 y(where)657 4595 y(x)g(and)g(y)h(have)e(shape)h
(\(n\))136 4828 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
5061 y FD(SUBROUTINE)45 b(BLAS_xCANCEL_I\()e(N,)k(ALPHA,)g(X,)g(INCX,)f
(BETA,)g(Y,)i(INCY)e(\))514 5174 y(INTEGER)570 b(INCX,)47
b(INCY,)f(N)514 5287 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g
(\))514 5400 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 236 246
236 245 bop 0 -165 a FK(236)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(C)30 b(binding:)227 313 y FD(void)47 b(BLAS_xcancel_i\()d(int)i(n,)i
(<interval>)d(alpha,)h(<interval_array>)d(x,)k(int)g(incx,)1230
426 y(<interval>)e(beta,)h(<interval_array>)d(y,)k(int)g(incy)g(\);)p
0 629 3900 4 v 0 768 a FK(W)m(CANCEL)p 482 768 28 4 v
33 w(I)30 b(\(Scaled)g(cancellation\))1951 b FG(w)25
b FJ( )g Fy(\013)p FG(x)c FJ(\011)f Fy(\014)5 b FG(y)0
994 y FK(The)40 b(op)s(eration)g(cancel,)k FJ(\011)p
FK(,)e(b)s(et)m(w)m(een)g(t)m(w)m(o)f(in)m(terv)-5 b(als)40
b FG(a)g FK(and)g FG(b)g FK(is)g(de\014ned)f(as)i FG(a)27
b FJ(\011)f FG(b)43 b FK(=)e([)p Fy(a)p 3317 1007 49
4 v 28 w FJ(\000)26 b Fy(b)p 3490 1007 40 4 v(;)p 3569
945 49 4 v 15 w(a)i FJ(\000)p 3742 921 40 4 v 26 w Fy(b)p
FK(])41 b(if)0 1107 y(\()p Fy(a)p 35 1120 49 4 v 20 w
FJ(\000)19 b Fy(b)p 193 1120 40 4 v FK(\))26 b FJ(\024)f
FK(\()p 424 1058 49 4 v Fy(a)20 b FJ(\000)p 582 1034
40 4 v 19 w Fy(b)p FK(\);)31 b(Otherwise,)e FJ(;)p FK(.)41
b(The)30 b(routine)f FD(WCANCEL)p 2120 1107 29 4 v 32
w(I)h FK(scales)g(the)g(in)m(terv)-5 b(al)30 b(v)m(ector)h
FG(x)g FK(b)m(y)e(the)i(in)m(terv)-5 b(al)0 1220 y Fy(\013)30
b FK(and)f(the)h(in)m(terv)-5 b(al)28 b(v)m(ector)k FG(y)d
FK(b)m(y)h Fy(\014)5 b FK(,)30 b(stores)g Fy(\013)p FG(x)1712
1234 y Fw(i)1759 1220 y FJ(\011)19 b Fy(\014)5 b FG(y)1960
1241 y Fw(i)2018 1220 y FK(in)28 b FG(w)2198 1234 y Fw(i)2256
1220 y FK(for)h(0)d FJ(\024)f Fy(i)h(<)f(n)p FK(.)39
b(If)30 b FD(n)f FK(is)f(less)h(than)h(or)f(equal)g(to)0
1333 y(zero,)i(this)e(routine)g(returns)g(immediately)-8
b(.)39 b(As)31 b(describ)s(ed)d(in)g(section)j(2.5.3,)h(the)e(v)-5
b(alue)30 b Fv(incx)g FK(or)g Fv(incy)g FK(or)g Fv(incw)0
1445 y FK(less)g(than)h(zero)h(is)f(p)s(ermitted.)41
b(Ho)m(w)m(ev)m(er,)34 b(if)c(either)h Fv(incx)g FK(or)g
Fv(incy)g FK(or)g Fv(incw)g FK(is)g(equal)f(to)i(zero,)h(an)e(error)f
(\015ag)i(is)0 1558 y(set)f(and)f(passed)g(to)h(the)f(error)g(handler.)
136 1768 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
2014 y FD(SUBROUTINE)45 b(wcancel_i\()g(x,)i(y,)g(w)g([,)h(alpha])e([,)
h(beta])f(\))609 2126 y(<type>\(<wp>\),)e(INTENT)i(\(IN\))h(::)g
(x\(:\),)g(y\(:\))609 2239 y(<type>\(<wp>\),)d(INTENT)i(\(OUT\))h(::)g
(w\(:\))609 2352 y(<type>\(<wp>\),)d(INTENT)i(\(IN\),)h(OPTIONAL)e(::)i
(alpha,)g(beta)514 2465 y(where)609 2578 y(x,)g(y,)g(and)g(w)h(have)e
(shape)h(\(n\))136 2824 y FJ(\017)f FK(F)-8 b(ortran)31
b(77)h(binding:)514 3070 y FD(SUBROUTINE)45 b(BLAS_xWCANCEL_I\()e(N,)k
(ALPHA,)f(X,)h(INCX,)g(BETA,)f(Y,)h(INCY,)g(W,)466 3183
y($)1336 b(INCW)47 b(\))514 3296 y(INTEGER)570 b(INCW,)47
b(INCX,)f(INCY,)h(N)514 3409 y(<type>)618 b(ALPHA\()47
b(2)g(\),)g(BETA\()g(2)g(\))514 3522 y(<type>)618 b(W\()48
b(2,)f(*)g(\),)g(X\()h(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136
3768 y FJ(\017)f FK(C)30 b(binding:)227 3989 y FD(void)47
b(BLAS_xwcancel_i\()c(int)k(n,)g(<interval>)e(alpha,)h
(<interval_array>)e(x,)j(int)g(incx,)1277 4102 y(<interval>)e(beta,)i
(<interval_array>)c(y,)k(int)g(incy,)1277 4215 y(<interval_array>)d(w,)
j(int)g(incw)f(\);)0 4455 y Fv(Data)29 b(Movement)i(with)f(Interval)g
(V)m(ecto)m(rs)0 4626 y FK(COPY)p 272 4626 28 4 v 32
w(I)g(\(In)m(terv)-5 b(al)31 b(v)m(ector)h(cop)m(y\))2425
b FG(y)26 b FJ( )f FG(x)0 4852 y FK(The)j(routine)f FD(COPY)p
694 4852 29 4 v 33 w(I)h FK(copies)g(the)g(in)m(terv)-5
b(al)28 b(v)m(ector)i FG(x)e FK(in)m(to)g(the)h(in)m(terv)-5
b(al)27 b(v)m(ector)j FG(y)p FK(.)40 b(If)28 b FD(n)f
FK(is)h(less)f(than)h(or)g(equal)0 4965 y(to)34 b(zero,)h(the)e
(routine)f(returns)g(immediately)-8 b(.)48 b(As)33 b(describ)s(ed)e(in)
g(section)j(2.5.3,)i(the)d(v)-5 b(alue)32 b Fv(incx)h
FK(or)h Fv(incy)f FK(less)0 5078 y(than)38 b(zero)i(is)e(p)s(ermitted.)
64 b(Ho)m(w)m(ev)m(er,)43 b(if)38 b(either)g Fv(incx)h
FK(or)f Fv(incy)h FK(is)f(equal)g(to)i(zero,)h(an)e(error)f(\015ag)i
(is)d(set)j(and)0 5191 y(passed)30 b(to)h(the)g(error)f(handler.)136
5400 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 237 247
237 246 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(237)514 91 y FD(SUBROUTINE)45 b(copy_i\()g(x,)j(y)f
(\))609 204 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(IN\))f(::)i
(x\(:\))609 317 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(OUT\))f(::)i
(y\(:\))514 430 y(where)609 543 y(x)h(and)e(y)i(have)f(shape)f(\(n\))
136 762 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
981 y FD(SUBROUTINE)45 b(BLAS_xCOPY_I\()f(N,)j(X,)g(INCX,)g(Y,)g(INCY)f
(\))514 1094 y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)514
1207 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136
1425 y FJ(\017)f FK(C)30 b(binding:)227 1624 y FD(void)47
b(BLAS_xcopy_i\()d(int)j(n,)g(const)g(<interval_array>)c(x,)k(int)g
(incx,)1134 1737 y(<interval_array>)c(y,)48 b(int)f(incy)f(\);)p
0 1917 3900 4 v 0 2056 a FK(SW)-10 b(AP)p 269 2056 28
4 v 33 w(I)30 b(\(In)m(terv)-5 b(al)30 b(v)m(ector)i(sw)m(ap\))2414
b FG(y)26 b FJ($)f FG(x)0 2281 y FK(The)35 b(routine)g
FD(SWAP)p 709 2281 29 4 v 33 w(I)h FK(in)m(terc)m(hanges)g(the)g(in)m
(terv)-5 b(al)35 b(v)m(ectors)j FG(x)d FK(and)h FG(y)p
FK(.)57 b(If)35 b FD(n)h FK(is)e(less)i(than)f(or)h(equal)f(to)i(zero,)
0 2394 y(the)29 b(routine)f(returns)f(immediately)-8
b(.)39 b(As)29 b(describ)s(ed)d(in)i(section)h(2.5.3,)i(the)e(v)-5
b(alue)28 b Fv(incx)g FK(or)h Fv(incy)g FK(less)f(than)g(zero)0
2507 y(is)j(p)s(ermitted.)43 b(Ho)m(w)m(ev)m(er,)34 b(if)c(either)h
Fv(incx)h FK(or)f Fv(incy)h FK(is)f(equal)g(to)h(zero,)h(an)e(error)h
(\015ag)g(is)e(set)i(and)f(passed)g(to)i(the)0 2620 y(error)d(handler.)
136 2806 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3005 y FD(SUBROUTINE)45 b(swap_i\()g(x,)j(y)f(\))609
3117 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(INOUT\))e(::)j(x\(:\),)g
(y\(:\))514 3230 y(where)609 3343 y(x)h(and)e(y)i(have)f(shape)f(\(n\))
136 3542 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
3761 y FD(SUBROUTINE)45 b(BLAS_xSWAP_I\()f(N,)j(X,)g(INCX,)g(Y,)g(INCY)
f(\))514 3873 y(INTEGER)570 b(INCX,)47 b(INCY,)f(N)514
3986 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136
4205 y FJ(\017)f FK(C)30 b(binding:)227 4404 y FD(void)47
b(BLAS_xswap_i\()d(int)j(n,)g(<interval_array>)d(x,)j(int)g(incx,)f
(<interval_array>)d(y,)1134 4517 y(int)k(incy)g(\);)p
0 4696 3900 4 v 0 4835 a FK(PERMUTE)p 475 4835 28 4 v
32 w(I)31 b(\(P)m(erm)m(ute)g(in)m(terv)-5 b(al)30 b(v)m(ector\))2006
b FG(x)26 b FJ( )f Fy(P)13 b FG(x)0 5061 y FK(The)32
b(routine)f FD(PERMUTE)p 846 5061 29 4 v 33 w(I)g FK(p)s(erm)m(utes)h
(the)h(en)m(tries)f(of)g(an)g(in)m(terv)-5 b(al)32 b(v)m(ector)i
FG(x)e FK(according)g(to)h(the)g(p)s(erm)m(utation)0
5174 y(v)m(ector)27 b Fy(P)13 b FK(.)40 b(If)25 b FD(n)g
FK(is)g(less)g(than)h(or)g(equal)f(to)i(zero,)g(the)f(routine)f
(returns)g(immediately)-8 b(.)38 b(As)26 b(describ)s(ed)d(in)i(section)
0 5287 y(2.5.3,)35 b(the)d(v)-5 b(alue)32 b Fv(incx)h
FK(or)f Fv(incp)g FK(less)g(than)g(zero)h(is)e(p)s(ermitted.)46
b(Ho)m(w)m(ev)m(er,)35 b(if)c(either)h Fv(incx)g FK(or)h
Fv(incp)f FK(is)f(equal)h(to)0 5400 y(zero,)f(an)g(error)f(\015ag)g(is)
g(set)h(and)e(passed)h(to)h(the)g(error)f(handler.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 238 248
238 247 bop 0 -165 a FK(238)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)514 300 y FD(SUBROUTINE)45
b(permute_i\(x,)f(p)k(\))609 413 y(INTEGER,)e(INTENT\(IN\))f(::)i
(p\(:\))609 526 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(INOUT\))e(::)j
(x\(:\))514 639 y(where)609 752 y(x)h(and)e(p)i(have)f(shape)f(\(n\))
136 960 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
1169 y FD(SUBROUTINE)45 b(BLAS_xPERMUTE_I\()e(N,)k(P,)g(INCP,)g(X,)g
(INCX)g(\))514 1281 y(INTEGER)570 b(INCP,)47 b(INCX,)f(N)514
1394 y(INTEGER)570 b(P\()48 b(*)f(\))514 1507 y(<type>)618
b(X\()48 b(2,)f(*)g(\))136 1716 y FJ(\017)f FK(C)30 b(binding:)227
1924 y FD(void)47 b(BLAS_xpermute_i\()c(int)k(n,)g(const)g(int)g(*p,)g
(int)f(incp,)h(<interval_array>)c(x,)1277 2037 y(int)k(incx)g(\);)0
2246 y Fv(Interval)30 b(Matrix-V)m(ecto)m(r)h(Op)s(erations)0
2417 y FJ(f)p FK(GE,GB)p FJ(g)p FK(MV)p 539 2417 28 4
v 35 w(I)f(\(In)m(terv)-5 b(al)31 b(matrix-v)m(ector)h(m)m
(ultiplication\))417 b FG(y)25 b FJ( )h Fy(\013)p FG(Ax)20
b FK(+)g Fy(\014)5 b FG(y)q Fy(;)15 b FG(y)26 b FJ( )f
Fy(\013)p FG(A)3567 2381 y Fw(T)3622 2417 y FG(x)c FK(+)f
Fy(\014)5 b FG(y)0 2643 y FK(The)29 b(routines)e(m)m(ultiply)g(the)i
(in)m(terv)-5 b(al)28 b(v)m(ector)j FG(x)e FK(b)m(y)g(a)g(general)g
(\(or)h(general)f(band\))f(in)m(terv)-5 b(al)28 b(matrix)h
FG(A)g FK(or)g(its)0 2756 y(transp)s(ose,)k(scales)f(the)h(resulting)d
(in)m(terv)-5 b(al)32 b(v)m(ector)i(and)e(adds)g(it)g(to)h(the)f
(scaled)h(in)m(terv)-5 b(al)31 b(v)m(ector)j(op)s(erand)e
FG(y)p FK(.)0 2869 y(If)j FD(m)g FK(or)h FD(n)f FK(is)f(less)h(than)g
(or)h(equal)f(to)h(zero)g(or)g(if)e FD(beta)h FK(is)f(equal)h(to)h
([1,1])h(and)e FD(alpha)f FK(is)h(equal)g(to)h([0,0],)j(the)0
2982 y(routine)32 b(returns)f(immediately)-8 b(.)46 b(As)32
b(describ)s(ed)f(in)g(section)i(2.5.3,)i(the)e(v)-5 b(alue)32
b Fv(incx)g FK(or)h Fv(incy)f FK(less)g(than)h(zero)g(is)0
3095 y(p)s(ermitted.)56 b(Ho)m(w)m(ev)m(er,)39 b(if)c(either)h
Fv(incx)f FK(or)h Fv(incy)g FK(is)f(equal)h(to)g(zero,)j(an)c(error)h
(\015ag)g(is)f(set)h(and)g(passed)f(to)i(the)0 3208 y(error)31
b(handler.)40 b(F)-8 b(or)32 b(the)f(routine)f Fv(GEMV)p
1485 3208 V 31 w(I)p FK(,)i(if)e Fv(lda)g FK(is)g(less)g(than)h(one)g
(or)g Fv(lda)f FK(is)g(less)g(than)h Fv(m)p FK(,)g(an)g(error)g(\015ag)
g(is)0 3321 y(set)h(and)f(passed)f(to)i(the)g(error)f(handler.)41
b(F)-8 b(or)32 b(the)g(routine)e Fv(GBMV)p 2374 3321
V 31 w(I)p FK(,)i(if)e Fv(kl)i FK(or)f Fv(ku)h FK(is)e(less)g(than)i
(zero,)g(or)f(if)g Fv(lda)0 3434 y FK(is)e(less)h(than)g
Fv(kl)h FK(plus)d Fv(ku)j FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)f
(set)g(and)g(passed)g(to)h(the)g(error)f(handler.)136
3611 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3819 y FD(General:)514 3932 y(SUBROUTINE)45 b(gemv_i\()g(a,)j(x,)f(y)g
([,)g(transa])f([,)h(alpha])g([,)g(beta])f(\))227 4045
y(General)g(Band:)514 4158 y(SUBROUTINE)f(gbmv_i\()g(a,)j(m,)f(kl,)g
(x,)g(y)g([,)h(transa])d([,)j(alpha])e([,)h(beta])f(\))227
4271 y(all:)609 4384 y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(IN\))f
(::)i(a\(:,:\),)f(x\(:\))609 4497 y(TYPE\(INTERVAL\))e(\(<wp>\),)i
(INTENT\(INOUT\))e(::)j(y\(:\))609 4610 y(INTEGER)f(INTENT\(IN\))f(::)i
(m,)g(kl)609 4723 y(TYPE\(blas_trans_type\),)42 b(INTENT\(IN\),)j
(OPTIONAL)g(::)i(transa)609 4835 y(TYPE\(INTERVAL\))d(\(<wp>\),)i
(INTENT\(IN\),)f(OPTIONAL)g(::)i(alpha,)f(beta)514 4948
y(where)609 5061 y(a)i(has)e(shape)h(\(m,n\))f(for)h(general)f(matrix)
1182 5174 y(\(l,n\))g(for)h(general)f(banded)g(matrix)g(\()i(l)f(>)g
(kl\))609 5287 y(x)h(and)e(y)i(have)f(shape)f(n)h(if)h(transa)e(=)h
(blas_no_trans)d(\(the)j(default})1516 5400 y(m)g(if)h(transa)e(/=)h
(blas_no_trans)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 239 249
239 248 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(239)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(77)h(binding:)227 339 y FD(General:)514 452 y(SUBROUTINE)45
b(BLAS_xGEMV_I\()f(TRANS,)i(M,)h(N,)g(ALPHA,)f(A,)i(LDA,)e(X,)h(INCX,)g
(BETA,)466 565 y($)1193 b(Y,)47 b(INCY)g(\))227 678 y(General)f(Band:)
514 791 y(SUBROUTINE)f(BLAS_xGBMV_I\()f(TRANS,)i(M,)h(N,)g(KL,)g(KU,)g
(ALPHA,)f(A,)h(LDA,)g(X,)g(INCX,)466 904 y($)1193 b(BETA,)46
b(Y,)h(INCY)g(\))227 1016 y(all:)514 1129 y(INTEGER)570
b(INCX,)47 b(INCY,)f(KL,)h(KU,)g(LDA,)g(M,)g(N,)g(TRANS)514
1242 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514
1355 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\),)f(X\()g(2,)g(*)h(\),)f
(Y\()g(2,)g(*)h(\))136 1603 y FJ(\017)e FK(C)30 b(binding:)227
1850 y FD(General:)227 1963 y(void)47 b(BLAS_xgemv_i\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_trans_type)d(trans,)1134
2076 y(int)j(m,)g(int)g(n,)g(<interval>)e(alpha,)h(const)h
(<interval_array>)c(a,)1134 2189 y(int)k(lda,)g(const)f
(<interval_array>)d(x,)48 b(int)e(incx,)h(<interval>)e(beta,)1134
2302 y(<interval_array>)e(y,)48 b(int)f(incy)f(\);)227
2415 y(General)g(Band:)227 2528 y(void)h(BLAS_xgbmv_i\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_trans_type)d(trans,)1134
2641 y(int)j(m,)g(int)g(n,)g(int)g(kl,)g(int)g(ku,)g(<interval>)e
(alpha,)1134 2754 y(const)h(<interval_array>)e(a,)j(int)g(lda,)g(const)
f(<interval_array>)d(x,)1134 2867 y(int)k(incx,)f(<interval>)f(beta,)i
(<interval_array>)c(y,)k(int)g(incy)g(\);)p 0 3096 3900
4 v 0 3248 a FJ(f)p FK(SY,SB,SP)p FJ(g)p FK(MV)p 643
3248 28 4 v 34 w(I)30 b(\(In)m(terv)-5 b(al)30 b(symmetric)g(matrix)g
(v)m(ector)i(pro)s(duct\))251 b FG(y)26 b FJ( )f Fy(\013)p
FG(A)q(x)20 b FK(+)g Fy(\014)5 b FG(y)31 b FK(with)e
FG(A)c FK(=)g FG(A)3845 3212 y Fw(T)0 3474 y FK(The)32
b(routines)f(m)m(ultiply)e(an)k(in)m(terv)-5 b(al)31
b(v)m(ector)j FG(x)e FK(b)m(y)h(a)f(symmetric)g(in)m(terv)-5
b(al)31 b(matrix)h FG(A)p FK(,)h(scales)f(the)h(resulting)0
3587 y(in)m(terv)-5 b(al)36 b(v)m(ector)j(and)d(adds)g(it)g(to)i(the)f
(scaled)g(in)m(terv)-5 b(al)36 b(v)m(ector)i(op)s(erand)e
FG(y)p FK(.)60 b(If)37 b FD(n)f FK(is)g(less)g(than)h(or)g(equal)f(to)0
3700 y(zero)g(or)f(if)e FD(beta)h FK(is)g(equal)g(to)i(one)f(and)f
FD(alpha)g FK(is)g(equal)g(to)i(zero,)h(the)e(routine)f(returns)f
(immediately)-8 b(.)53 b(The)0 3813 y(op)s(erator)30
b(argumen)m(t)g FD(uplo)e FK(sp)s(eci\014es)h(if)f(the)i(matrix)f(op)s
(erand)f(is)h(an)h(upp)s(er)d(or)j(lo)m(w)m(er)g(triangular)e(part)h
(of)h(the)0 3926 y(symmetric)f(matrix.)40 b(As)30 b(describ)s(ed)e(in)g
(section)i(2.5.3,)i(the)e(v)-5 b(alue)29 b Fv(incx)h
FK(or)g Fv(incy)g FK(less)f(than)h(zero)g(is)f(p)s(ermitted.)0
4038 y(Ho)m(w)m(ev)m(er,)k(if)c(either)h Fv(incx)g FK(or)g
Fv(incy)h FK(is)e(equal)h(to)h(zero,)g(an)g(error)e(\015ag)i(is)f(set)g
(and)g(passed)g(to)h(the)g(error)f(handler.)0 4151 y(F)-8
b(or)32 b(the)g(routine)e Fv(SYMV)p 894 4151 V 31 w(I)p
FK(,)i(if)e Fv(lda)h FK(is)f(less)g(than)i(one)f(or)g
Fv(lda)g FK(is)f(less)h(than)g Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)e
(set)i(and)e(passed)0 4264 y(to)h(the)f(error)f(handler.)39
b(F)-8 b(or)31 b(the)f(routine)f Fv(SBMV)p 1743 4264
V 31 w(I)p FK(,)h(if)f Fv(lda)g FK(is)g(less)g(than)h
Fv(k)g FK(plus)e(one,)j(an)e(error)h(\015ag)g(is)f(set)i(and)0
4377 y(passed)f(to)h(the)g(error)f(handler.)136 4588
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
4835 y FD(Symmetric:)514 4948 y(SUBROUTINE)45 b(symv_i\()g(a,)j(x,)f(y)
g([,)g(uplo])g([,)g(alpha])f([,)h(beta])g(\))227 5061
y(Symmetric)f(Band:)514 5174 y(SUBROUTINE)f(sbmv_i\()g(a,)j(x,)f(y)g
([,)g(uplo])g([,)g(alpha])f([,)h(beta])g(\))227 5287
y(Symmetric)f(Packed:)514 5400 y(SUBROUTINE)f(spmv_i\()g(ap,)i(x,)h(y)f
([,)g(uplo])g([,)g(alpha])f([,)h(beta])f(\))-214 64 y
FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 240 250
240 249 bop 0 -165 a FK(240)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(all:)609
204 y(TYPE\(INTERVAL\))44 b(\(<wp>\),)i(INTENT\(IN\))f(::)i(a\(:,:\),)f
(ap\(:\),)g(x\(:\))609 317 y(TYPE\(INTERVAL\))e(\(<wp>\),)i
(INTENT\(INOUT\))e(::)j(y\(:\))609 430 y(TYPE\(blas_uplo_type\),)90
b(INTENT\(IN\),)45 b(OPTIONAL)g(::)i(uplo)609 543 y(TYPE\(INTERVAL\))d
(\(<wp>\),)i(INTENT\(IN\),)f(OPTIONAL)g(::)i(alpha,)f(beta)514
656 y(where)609 769 y(x)i(and)e(y)i(have)f(shape)f(\(n\))561
882 y(SY)95 b(a)48 b(has)f(shape)f(\(n,n\))561 995 y(SB)95
b(a)48 b(has)f(shape)f(\(k+1,n\),)g(where)g(k)h(=)h(band)e(width)561
1108 y(SP)95 b(ap)47 b(has)g(shape)g(\(n*\(n+1\)/2\))136
1330 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227
1552 y FD(Symmetric:)514 1664 y(SUBROUTINE)45 b(BLAS_xSYMV_I\()f(UPLO,)
i(N,)h(ALPHA,)f(A,)i(LDA,)e(X,)h(INCX,)g(BETA,)f(Y,)466
1777 y($)1050 b(INCY)46 b(\))227 1890 y(Symmetric)g(Band:)514
2003 y(SUBROUTINE)f(BLAS_xSBMV_I\()f(UPLO,)i(N,)h(K,)h(ALPHA,)e(A,)h
(LDA,)f(X,)i(INCX,)e(BETA,)466 2116 y($)1050 b(Y,)47
b(INCY)f(\))227 2229 y(Symmetric)g(Packed:)514 2342 y(SUBROUTINE)f
(BLAS_xSPMV_I\()f(UPLO,)i(N,)h(ALPHA,)f(AP,)h(X,)h(INCX,)e(BETA,)g(Y,)h
(INCY)g(\))227 2455 y(all:)514 2568 y(INTEGER)570 b(INCX,)47
b(INCY,)f(K,)h(LDA,)g(N,)g(UPLO)514 2681 y(<type>)618
b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514 2794 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(X\()g(2,)h
(*)f(\),)466 2906 y($)906 b(Y\()48 b(2,)f(*)g(\))136
3128 y FJ(\017)f FK(C)30 b(binding:)227 3351 y FD(Symmetric:)227
3463 y(void)47 b(BLAS_xsymv_i\()d(enum)j(blas_order_type)c(order,)j
(enum)h(blas_uplo_type)d(uplo,)i(int)h(n,)1134 3576 y(<interval>)e
(alpha,)h(const)h(<interval_array>)c(a,)k(int)g(lda,)1134
3689 y(const)f(<interval_array>)e(x,)j(int)g(incx,)f(<interval>)f
(beta,)1134 3802 y(<interval_array>)e(y,)48 b(int)f(incy)f(\);)227
3915 y(Symmetric)g(Band:)227 4028 y(void)h(BLAS_xsbmv_i\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)i(int)h(n,)
1134 4141 y(int)g(k,)g(<interval>)e(alpha,)h(const)h(<interval_array>)c
(a,)k(int)g(lda,)1134 4254 y(const)f(<interval_array>)e(x,)j(int)g
(incx,)f(<interval>)f(beta,)1134 4367 y(<interval_array>)e(y,)48
b(int)f(incy)f(\);)227 4480 y(Symmetric)g(Packed:)227
4593 y(void)h(BLAS_xspmv_i\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)i(int)h(n,)1134 4705 y(<interval>)e(alpha,)h
(const)h(<interval_array>)c(ap,)1134 4818 y(const)j(<interval_array>)e
(x,)j(int)g(incx,)f(<interval>)f(beta,)1134 4931 y(<interval_array>)e
(y,)48 b(int)f(incy)f(\);)p 0 5135 3900 4 v 0 5287 a
FJ(f)p FK(TR,TB,TP)p FJ(g)p FK(MV)p 687 5287 28 4 v 34
w(I)30 b(\(In)m(terv)-5 b(al)30 b(triangular)f(matrix)h(v)m(ector)i
(pro)s(duct\))548 b FG(x)25 b FJ( )g Fy(\013)p FG(Tx)q
Fy(;)15 b FG(x)25 b FJ( )h Fy(\013)p FG(T)3790 5251 y
Fw(T)3845 5287 y FG(x)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 241 251
241 250 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(241)0 91 y(The)22 b(routines)g(m)m(ultiply)e(an)j(in)m
(terv)-5 b(al)22 b(v)m(ector)i FG(x)f FK(b)m(y)g(a)g(general)g
(triangular)e(in)m(terv)-5 b(al)22 b(matrix)g FG(T)g
FK(or)h(its)f(transp)s(ose,)0 204 y(and)i(copies)g(the)g(resulting)f(v)
m(ector)j(in)d(the)h(v)m(ector)i(op)s(erand)d FG(x)p
FK(.)39 b(If)24 b FD(n)g FK(is)f(less)h(than)g(or)g(equal)g(to)h(zero,)
h(the)f(routine)0 317 y(returns)41 b(immediately)-8 b(.)77
b(As)42 b(describ)s(ed)f(in)g(section)i(2.5.3,)k(the)c(v)-5
b(alue)42 b Fv(incx)h FK(less)f(than)g(zero)h(is)f(p)s(ermitted.)0
430 y(Ho)m(w)m(ev)m(er,)29 b(if)24 b Fv(incx)h FK(is)g(equal)g(to)h
(zero,)i(an)d(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)g
(error)f(handler.)37 b(F)-8 b(or)26 b(the)g(routine)0
543 y Fv(TRMV)p 267 543 28 4 v 31 w(I)p FK(,)39 b(if)e
Fv(ldt)h FK(is)f(less)h(than)g(one)h(or)f Fv(ldt)f FK(is)h(less)f(than)
h Fv(n)p FK(,)j(an)d(error)g(\015ag)g(is)g(set)g(and)g(passed)g(to)h
(the)f(error)0 656 y(handler.)50 b(F)-8 b(or)35 b(the)f(routine)f
Fv(TBMV)p 1288 656 V 31 w(I)p FK(,)i(if)d Fv(ldt)i FK(is)f(less)g(than)
h Fv(k)g FK(plus)e(one,)k(an)e(error)f(\015ag)i(is)e(set)h(and)g
(passed)f(to)0 769 y(the)e(error)f(handler.)0 882 y(The)37
b(op)s(erator)h(argumen)m(t)g FD(uplo)e FK(sp)s(eci\014es)h(whether)g
(the)g(matrix)g(op)s(erand)g(is)f(upp)s(er)g(or)h(lo)m(w)m(er)h
(triangular.)0 995 y(The)25 b(op)s(erator)i(argumen)m(t)f
FD(diag)f FK(sp)s(eci\014es)f(whether)h(or)h(not)h(the)f(matrix)f(op)s
(erand)g(has)g(unit)g(diagonal)g(en)m(tries.)136 1207
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
1457 y FD(Triangular:)514 1570 y(SUBROUTINE)45 b(trmv_i\()g(t,)j(x)f
([,)g(uplo])g([,)g(transt])f([,)h(diag])f([,)h(alpha])f(\))227
1683 y(Triangular)f(Band:)514 1796 y(SUBROUTINE)g(tbmv_i\()g(t,)j(x)f
([,)g(uplo])g([,)g(transt])f([,)h(diag])f([,)h(alpha])f(\))227
1909 y(Triangular)f(Packed:)514 2022 y(SUBROUTINE)g(tpmv_i\()g(tp,)i(x)
h([,)f(uplo])f([,)i(transt])d([,)j(diag])e([,)h(alpha])f(\))227
2134 y(all:)609 2247 y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(IN\))f
(::)i(t\(:,:\),)f(tp\(:\))609 2360 y(TYPE\(INTERVAL\))e(\(<wp>\),)i
(INTENT\(INOUT\))e(::)j(x\(:\))609 2473 y(TYPE\(blas_uplo_type\),)90
b(INTENT\(IN\),)45 b(OPTIONAL)g(::)i(uplo)609 2586 y
(TYPE\(blas_trans_type\),)42 b(INTENT\(IN\),)j(OPTIONAL)g(::)i(transt)
609 2699 y(TYPE\(blas_diag_type\),)90 b(INTENT\(IN\),)45
b(OPTIONAL)g(::)i(diag)609 2812 y(TYPE\(INTERVAL\))d(\(<wp>\),)i
(INTENT\(IN\),)f(OPTIONAL)g(::)i(alpha)514 2925 y(where)609
3038 y(x)h(has)e(shape)h(\(n\))561 3151 y(TR)95 b(t)48
b(has)f(shape)f(\(n,n\))561 3264 y(TB)95 b(t)48 b(has)f(shape)f
(\(k+1,n\))g(where)g(k)i(=)f(band)g(width)561 3377 y(TP)95
b(tp)47 b(has)g(shape)g(\(n*\(n+1\)/2\))136 3626 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 3876 y FD(Triangular:)514
3989 y(SUBROUTINE)45 b(BLAS_xTRMV_I\()f(UPLO,)i(TRANS,)g(DIAG,)h(N,)g
(ALPHA,)f(T,)h(LDT,)g(X,)466 4102 y($)1193 b(INCX)46
b(\))227 4215 y(Triangular)f(Band:)514 4328 y(SUBROUTINE)g
(BLAS_xTBMV_I\()f(UPLO,)i(TRANS,)g(DIAG,)h(N,)g(K,)g(ALPHA,)f(T,)h
(LDT,)g(X,)466 4441 y($)1193 b(INCX)46 b(\))227 4554
y(Triangular)f(Packed:)514 4667 y(SUBROUTINE)g(BLAS_xTPMV_I\()f(UPLO,)i
(TRANS,)g(DIAG,)h(N,)g(ALPHA,)f(TP,)h(X,)g(INCX)g(\))227
4780 y(all:)514 4892 y(INTEGER)570 b(DIAG,)47 b(INCX,)f(K,)h(LDA,)g(N,)
g(TRANS,)f(UPLO)514 5005 y(<type>)618 b(ALPHA\()47 b(2)g(\))514
5118 y(<type>)618 b(T\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(TP\()e(2,)i(*)f
(\),)g(X\()g(2,)h(*)f(\))136 5368 y FJ(\017)f FK(C)30
b(binding:)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 242 252
242 251 bop 0 -165 a FK(242)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(Triangular:)227
204 y(void)47 b(BLAS_xtrmv_i\()d(enum)j(blas_order_type)c(order,)j
(enum)h(blas_uplo_type)d(uplo,)1134 317 y(enum)j(blas_trans_type)c
(trans,)j(enum)h(blas_diag_type)d(diag,)i(int)h(n,)1134
430 y(<interval>)e(alpha,)h(const)h(<interval_array>)c(t,)k(int)g(ldt,)
1134 543 y(<interval_array>)c(x,)48 b(int)f(incx)f(\);)227
656 y(Triangular)f(Band:)227 769 y(void)i(BLAS_xtbmv_i\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
882 y(enum)j(blas_trans_type)c(trans,)j(enum)h(blas_diag_type)d(diag,)i
(int)h(n,)1134 995 y(<interval>)e(alpha,)h(const)h(<interval_array>)c
(t,)k(int)g(ldt,)1134 1108 y(<interval_array>)c(x,)48
b(int)f(incx)f(\);)227 1220 y(Triangular)f(Packed:)227
1333 y(void)i(BLAS_xtpmv_i\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 1446 y(enum)j(blas_trans_type)c(trans,)j
(enum)h(blas_diag_type)d(diag,)i(int)h(n,)1134 1559 y(<interval>)e
(alpha,)h(const)h(<interval_array>)c(tp,)1134 1672 y(<interval_array>)g
(x,)48 b(int)f(incx)f(\);)p 0 1893 3900 4 v 0 2045 a
FJ(f)p FK(TR,TB,TP)p FJ(g)p FK(SV)p 655 2045 28 4 v 33
w(I)30 b(\(In)m(terv)-5 b(al)31 b(triangular)d(solv)m(e)j(with)e(a)i(v)
m(ector\))550 b FG(x)26 b FJ( )f Fy(\013)p FG(T)3202
2009 y Fu(\000)p FC(1)3296 2045 y FG(x)q FK(,)30 b FG(x)c
FJ( )f Fy(\013)p FG(T)3735 2009 y Fu(\000)p Fw(T)3845
2045 y FG(x)0 2271 y FK(These)31 b(routines)g(b)s(ound)f(one)i(of)g
(the)f(systems)h(of)g(equations)g FG(x)27 b FJ( )h Fy(\013)p
FG(T)2512 2235 y Fu(\000)p FC(1)2606 2271 y FG(x)k FK(or)g
FG(x)27 b FJ( )h Fy(\013)p FG(T)3138 2235 y Fu(\000)p
Fw(T)3248 2271 y FG(x)p FK(,)k(where)f FG(x)h FK(is)f(an)0
2384 y(in)m(v)m(erv)-5 b(al)27 b(v)m(ector)j(and)d(the)h(matrix)f
FG(T)h FK(is)e(a)j(upp)s(er)c(or)j(lo)m(w)m(er)g(triangular)f(\(or)h
(triangular)e(banded)h(or)h(triangular)0 2496 y(pac)m(k)m(ed\))36
b(in)m(terv)-5 b(al)34 b(matrix.)53 b(If)35 b Fv(n)f
FK(is)g(less)g(than)g(or)h(equal)f(to)i(zero,)h(this)c(function)h
(returns)f(immediately)-8 b(.)53 b(As)0 2609 y(describ)s(ed)33
b(in)g(section)i(2.5.3,)j(the)c(v)-5 b(alue)35 b Fv(incx)f
FK(less)g(than)h(zero)g(is)f(p)s(ermitted.)52 b(Ho)m(w)m(ev)m(er,)38
b(if)c Fv(incx)g FK(is)g(equal)g(to)0 2722 y(zero,)c(an)f(error)f
(\015ag)h(is)e(set)i(and)f(passed)h(to)g(the)g(error)f(handler.)38
b(If)28 b Fv(ldt)g FK(is)g(less)g(than)g(one)h(or)g Fv(ldt)f
FK(is)g(less)f(than)i Fv(n)p FK(,)0 2835 y(an)h(error)g(\015ag)h(is)e
(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)227
3038 y Fz(A)-5 b(dvic)g(e)36 b(to)g(users)g(and)h(implementors:)49
b FK(Chec)m(king)34 b(for)f(singularit)m(y)-8 b(,)33
b(or)h(near)g(singularit)m(y)e(is)g(not)227 3151 y(sp)s(eci\014ed)j
(for)h(these)h(triangular)e(solv)m(ers.)59 b(Users)36
b(should)f(p)s(erform)g(suc)m(h)h(a)h(test)g(b)s(efore)f(calling)227
3264 y(the)31 b(triangular)e(solv)m(er)h(if)f(their)h(applications)e
(require)h(suc)m(h)h(a)h(test.)136 3467 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)227 3706 y FD(Triangular:)514
3819 y(SUBROUTINE)45 b(trsv_i\()g(t,)j(x)f([,)g(uplo])g([,)g(transt])f
([,)h(diag])f([,)h(alpha])f(\))227 3932 y(Triangular)f(Band:)514
4045 y(SUBROUTINE)g(tbsv_i\()g(t,)j(x)f([,)g(uplo])g([,)g(transt])f([,)
h(diag])f([,)h(alpha])f(\))227 4158 y(Triangular)f(Packed:)514
4271 y(SUBROUTINE)g(tpsv_i\()g(tp,)i(x)h([,)f(uplo])f([,)i(transt])d
([,)j(diag])e([,)h(alpha])f(\))227 4384 y(all:)609 4497
y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(IN\))f(::)i(t\(:,:\),)f
(tp\(:\))609 4610 y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(INOUT\))e
(::)j(x\(:\))609 4723 y(TYPE\(blas_uplo_type\),)90 b(INTENT\(IN\),)45
b(OPTIONAL)g(::)i(uplo)609 4835 y(TYPE\(blas_trans_type\),)42
b(INTENT\(IN\),)j(OPTIONAL)g(::)i(transt)609 4948 y
(TYPE\(blas_diag_type\),)90 b(INTENT\(IN\),)45 b(OPTIONAL)g(::)i(diag)
609 5061 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(IN\),)f(OPTIONAL)g
(::)i(alpha)514 5174 y(where)609 5287 y(x)h(has)e(shape)h(\(n\))561
5400 y(TR)95 b(t)48 b(has)f(shape)f(\(n,n\))4084 64 y
FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084 516
y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069
1080 y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 243 253
243 252 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(243)561 91 y FD(TB)95 b(t)48 b(has)f(shape)f
(\(k+1,n\))g(where)g(k)i(=)f(band)g(width)561 204 y(TP)95
b(tp)47 b(has)g(shape)g(\(n*\(n+1\)/2\))136 452 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 701 y FD(Triangular:)514
813 y(SUBROUTINE)45 b(BLAS_xTRSV_I\()f(UPLO,)i(TRANS,)g(DIAG,)h(N,)g
(ALPHA,)f(T,)h(LDT,)g(X,)466 926 y($)1193 b(INCX)46 b(\))227
1039 y(Triangular)f(Band:)514 1152 y(SUBROUTINE)g(BLAS_xTBSV_I\()f
(UPLO,)i(TRANS,)g(DIAG,)h(N,)g(K,)g(ALPHA,)f(T,)h(LDT,)466
1265 y($)1193 b(X,)47 b(INCX)g(\))227 1378 y(Triangular)e(Packed:)514
1491 y(SUBROUTINE)g(BLAS_xTPSV_I\()f(UPLO,)i(TRANS,)g(DIAG,)h(N,)g
(ALPHA,)f(TP,)h(X,)g(INCX)g(\))227 1604 y(all:)514 1717
y(INTEGER)570 b(DIAG,)47 b(INCX,)f(K,)h(LDT,)g(N,)g(TRANS,)f(UPLO)514
1830 y(<type>)618 b(ALPHA\()47 b(2)g(\))514 1943 y(<type>)618
b(T\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(TP\()e(2,)i(*)f(\),)g(X\()g(2,)h
(*)f(\))136 2191 y FJ(\017)f FK(C)30 b(binding:)227 2439
y FD(Triangular:)227 2552 y(void)47 b(BLAS_xtrsv_i\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
2665 y(enum)j(blas_trans_type)c(trans,)j(enum)h(blas_diag_type)d(diag,)
i(int)h(n,)1134 2778 y(const)f(<interval>)f(alpha,)i(const)f
(<interval_array>)d(t,)k(int)g(ldt,)1134 2891 y(<interval_array>)c(x,)
48 b(int)f(incx)f(\);)227 3003 y(Triangular)f(Band:)227
3116 y(void)i(BLAS_xtbsv_i\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_uplo_type)d(uplo,)1134 3229 y(enum)j(blas_trans_type)c(trans,)j
(enum)h(blas_diag_type)d(diag,)i(int)h(n,)1134 3342 y(int)g(k,)g(const)
g(<interval>)e(alpha,)h(const)g(<interval_array>)d(t,)1134
3455 y(int)k(ldt,)g(<interval_array>)c(x,)k(int)g(incx)g(\);)227
3568 y(Triangular)e(Packed:)227 3681 y(void)i(BLAS_xtpsv_i\()d(enum)j
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1134
3794 y(enum)j(blas_trans_type)c(trans,)j(enum)h(blas_diag_type)d(diag,)
i(int)h(n,)1134 3907 y(const)f(<interval>)f(alpha,)i(const)f
(<interval_array>)d(tp,)1134 4020 y(<interval_array>)g(x,)48
b(int)f(incx)f(\);)p 0 4249 3900 4 v 0 4399 a FK(GER)p
205 4399 28 4 v 33 w(I)30 b(\(Rank)h(one)f(up)s(date\))2159
b FG(A)26 b FJ( )f Fy(\013)p FG(xy)3599 4366 y Fw(T)3674
4399 y FK(+)20 b Fy(\014)5 b FG(A)0 4624 y FK(This)32
b(routine)g(p)s(erforms)g(the)i(op)s(eration)f FG(A)e
FJ( )f Fy(\013)p FG(x)q(y)1880 4591 y Fw(T)1957 4624
y FK(+)22 b Fy(\014)5 b FG(A)q FK(,)34 b(where)f Fy(\013)h
FK(and)f Fy(\014)39 b FK(are)34 b(in)m(terv)-5 b(als,)33
b FG(x)h FK(and)f FG(y)h FK(are)0 4737 y(in)m(terv)-5
b(al)29 b(v)m(ectors,)i(and)e FG(A)h FK(is)f(an)g(in)m(terv)-5
b(al)29 b(matrix.)40 b(This)28 b(routine)h(returns)f
FG(A)i FK(immediately)e(if)g Fy(\013)e FK(=)f([0)p Fy(;)15
b FK(0])32 b(and)0 4850 y Fy(\014)h FK(=)28 b([1)p Fy(;)15
b FK(1].)48 b(If)32 b Fv(m)g FK(or)g Fv(n)g FK(is)f(less)h(than)f(or)h
(equal)g(to)h(zero,)h(this)d(function)f(returns)h(immediately)-8
b(.)45 b(As)32 b(describ)s(ed)0 4963 y(in)d(section)h(2.5.3,)i(the)e(v)
-5 b(alue)30 b Fv(incx)g FK(or)g Fv(incy)g FK(less)f(than)h(zero)h(is)e
(p)s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)32 b(if)d(either)h
Fv(incx)g FK(or)g Fv(incy)g FK(is)0 5076 y(equal)j(to)h(zero,)h(an)e
(error)g(\015ag)h(is)e(set)i(and)e(passed)h(to)h(the)g(error)f
(handler.)47 b(If)33 b Fv(lda)g FK(is)f(less)g(than)h(one)h(or)f
Fv(lda)g FK(is)0 5189 y(less)d(than)g Fv(m)p FK(,)h(an)f(error)g
(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)136
5400 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 244 254
244 253 bop 0 -165 a FK(244)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)514 91 y FD(SUBROUTINE)45
b(ger_i\()h(a,)h(x,)g(y)h([,)f(alpha])f([,)h(beta])f(\))514
204 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(INOUT\))g(::)i(a\(:,:\))
514 317 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))189
b(::)47 b(x\(:\),)f(y\(:\))514 430 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)418 543
y(where)514 656 y(x)h(and)g(y)g(have)g(shape)f(\(n\))514
769 y(a)h(has)g(shape)f(\(n,n\))136 1011 y FJ(\017)g
FK(F)-8 b(ortran)31 b(77)h(binding:)514 1253 y FD(SUBROUTINE)45
b(BLAS_xGER_I\()f(M,)j(N,)g(ALPHA,)g(X,)g(INCX,)f(Y,)h(INCY,)g(BETA,)f
(A,)h(LDA)g(\))514 1366 y(INTEGER)570 b(INCX,)47 b(INCY,)f(LDA,)h(M,)g
(N)514 1479 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514
1592 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\),)f(X\()g(2,)g(*)h(\),)f
(Y\()g(2,)g(*)h(\))136 1834 y FJ(\017)e FK(C)30 b(binding:)227
2076 y FD(void)47 b(BLAS_xger_i\()d(int)j(m,)g(int)g(n,)h(<interval>)d
(alpha,)h(const)g(<interval_array>)d(x,)1086 2189 y(int)k(incx,)g
(const)f(<interval_array>)d(y,)48 b(int)e(incy,)h(<interval>)e(beta,)
1086 2302 y(<interval_array>)f(a,)j(int)g(lda)g(\);)p
0 2525 3900 4 v 0 2678 a FJ(f)p FK(SY,SP)p FJ(g)p FK(R)p
419 2678 28 4 v 33 w(I)30 b(\(Symmetric)g(rank)g(one)g(up)s(date\))948
b FG(A)25 b FJ( )g Fy(\013)p FG(x)q(x)3027 2645 y Fw(T)3102
2678 y FK(+)20 b Fy(\014)5 b FG(A)31 b FK(with)e FG(A)c
FK(=)g FG(A)3845 2642 y Fw(T)0 2903 y FK(This)31 b(routine)h(p)s
(erforms)f(the)i(symmetric)f(up)s(date)g FG(A)d FJ( )g
Fy(\013)p FG(x)q(y)2217 2870 y Fw(T)2294 2903 y FK(+)21
b Fy(\014)5 b FG(A)p FK(,)34 b(where)e Fy(\013)h FK(and)f
Fy(\014)38 b FK(are)33 b(in)m(terv)-5 b(als,)33 b FG(x)g
FK(is)0 3016 y(an)e(in)m(terv)-5 b(al)31 b(v)m(ector,)i(and)e
FG(A)g FK(is)f(a)i(symmetric)e(in)m(terv)-5 b(al)31 b(matrix.)42
b(This)30 b(routine)g(returns)g(immediately)g(if)g FD(n)h
FK(is)0 3129 y(less)e(than)g(or)h(equal)f(to)i(zero.)41
b(As)30 b(describ)s(ed)d(in)i(section)h(2.5.3,)i(the)e(v)-5
b(alue)29 b Fv(incx)g FK(less)g(than)h(zero)g(is)f(p)s(ermitted.)0
3242 y(Ho)m(w)m(ev)m(er,)35 b(if)c Fv(incx)i FK(is)e(equal)h(to)h
(zero,)h(an)e(error)g(\015ag)h(is)f(set)g(and)g(passed)g(to)h(the)g
(error)f(handler.)45 b(If)32 b Fv(lda)f FK(is)h(less)0
3355 y(than)e(one)h(or)f Fv(lda)g FK(is)f(less)h(than)g
Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)
f(error)g(handler.)136 3561 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 3803 y FD(Symmetric:)514 3916 y(SUBROUTINE)45
b(syr_i\()h(a,)h(x)g([,)h(uplo])e([,)h(alpha])f([,)h(beta])g(\))227
4029 y(Symmetric)f(Packed:)514 4142 y(SUBROUTINE)f(spr_i\()h(ap,)h(x)g
([,)g(uplo])g([,)g(alpha])f([,)h(beta])f(\))227 4255
y(all:)514 4368 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(INOUT\))g(::)i
(a\(:,:\),)f(ap\(:\))514 4480 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(IN\))189 b(::)47 b(x\(:\))514 4593 y(TYPE\(blas_uplo_type\),)
89 b(OPTIONAL)46 b(::)h(uplo)514 4706 y(TYPE\(INTERVAL\))d(\(<wp>\),)h
(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)418 4819
y(where)514 4932 y(x)h(has)g(shape)f(\(n\))466 5045 y(SY)95
b(a)47 b(has)g(shape)g(\(n,n\))466 5158 y(SP)95 b(ap)47
b(has)g(shape)f(\(n*\(n+1\)/2\))136 5400 y FJ(\017)g
FK(F)-8 b(ortran)31 b(77)h(binding:)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 245 255
245 254 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(245)227 91 y FD(Symmetric:)514 204 y(SUBROUTINE)45
b(BLAS_xSYR_I\()f(UPLO,)i(N,)i(ALPHA,)e(X,)h(INCX,)f(BETA,)h(A,)g(LDA)g
(\))227 317 y(Symmetric)f(Packed:)514 430 y(SUBROUTINE)f(BLAS_xSPR_I\()
f(UPLO,)i(N,)i(ALPHA,)e(X,)h(INCX,)f(BETA,)h(AP)g(\))227
543 y(all:)514 656 y(INTEGER)570 b(INCX,)47 b(LDA,)f(N,)i(UPLO)514
769 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514
882 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\),)g(X\()g(2,)h(*)f(\))136 1132 y FJ(\017)f FK(C)30
b(binding:)227 1381 y FD(Symmetric:)227 1494 y(void)47
b(BLAS_xsyr_i\()d(enum)j(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)j(int)g(n,)1086 1607 y(<interval>)e(alpha,)h
(const)h(<interval_array>)c(x,)k(int)g(incx,)1086 1720
y(<interval>)e(beta,)i(<interval_array>)c(a,)k(int)g(lda)g(\);)227
1833 y(Symmetric)f(Packed:)227 1946 y(void)h(BLAS_xspr_i\()d(enum)j
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)j(int)g(n,)
1086 2059 y(<interval>)e(alpha,)h(const)h(<interval_array>)c(x,)k(int)g
(incx,)1086 2172 y(<interval>)e(beta,)i(<interval_array>)c(ap)k(\);)0
2422 y Fv(Interval)30 b(Matrix)f(Op)s(erations)0 2593
y FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1268
2593 28 4 v 35 w FK(NORM)p 1592 2593 V 33 w(I)30 b(\(In)m(terv)-5
b(al)30 b(matrix)g(norms\))2378 2781 y Fy(r)e FJ( )d(jj)p
FG(A)q FJ(jj)2743 2795 y FC(1)2783 2781 y Fy(;)30 b FJ(jj)p
FG(A)q FJ(jj)3018 2795 y Fw(F)3077 2781 y Fy(;)g FJ(jj)p
FG(A)q FJ(jj)3312 2795 y Fu(1)3387 2781 y Fy(;)61 b FK(or)30
b FJ(jj)p FG(A)q FJ(jj)3764 2795 y FC(max)0 2969 y FK(These)36
b(routines)e(compute)j(the)f(one-norm,)h(F)-8 b(rob)s(enius-norm,)35
b(in\014nit)m(y-norm,)g(or)h(max-norm)g(of)g(a)g(general)0
3082 y(in)m(terv)-5 b(al)38 b(matrix)g FG(A)h FK(dep)s(ending)d(on)j
(the)g(v)-5 b(alue)38 b(passed)g(as)h(the)g FD(norm)f
FK(op)s(erator)h(argumen)m(t.)66 b(This)37 b(routine)0
3194 y(returns)32 b(immediately)g(with)g(the)i(output)f(scalar)h
Fy(r)i FK(set)e(to)g(zero)h(if)d FD(m)h FK(\(for)h(nonsymmetric)e
(matrices\))i(or)g FD(n)f FK(is)0 3307 y(less)c(than)g(or)g(equal)g(to)
h(zero.)41 b(F)-8 b(or)31 b(the)e(routine)g Fv(GE)p 1815
3307 V 32 w(NORM)p 2117 3307 V 32 w(I)p FK(,)h(if)f Fv(lda)f
FK(is)h(less)f(than)i(one)f(or)h Fv(lda)e FK(is)h(less)f(than)i
Fv(m)p FK(,)0 3420 y(an)25 b(error)f(\015ag)h(is)f(set)h(and)g(passed)f
(to)h(the)g(error)g(handler.)37 b(F)-8 b(or)25 b(the)g(routine)f
Fv(GB)p 2760 3420 V 32 w(NORM)p 3062 3420 V 32 w(I)p
FK(,)i(if)d Fv(lda)h FK(is)g(less)g(than)h Fv(kl)0 3533
y FK(plus)j Fv(ku)i FK(plus)d(one,)k(an)e(error)g(\015ag)h(is)f(set)h
(and)f(passed)g(to)h(the)g(error)f(handler.)39 b(F)-8
b(or)30 b(the)g(routines)f Fv(SY)p 3546 3533 V 31 w(NORM)p
3847 3533 V 33 w(I)0 3646 y FK(and)i Fv(TR)p 304 3646
V 33 w(NORM)p 607 3646 V 32 w(I)p FK(,)i(if)e Fv(lda)g
FK(is)g(less)g(than)h(one)h(or)f Fv(lda)f FK(is)g(less)h(than)f
Fv(n)p FK(,)i(an)f(error)g(\015ag)g(is)f(set)i(and)e(passed)h(to)h(the)
0 3759 y(error)27 b(handler.)38 b(F)-8 b(or)28 b(the)g(routines)e
Fv(SB)p 1360 3759 V 32 w(NORM)p 1662 3759 V 32 w(I)i
FK(and)e Fv(TB)p 2043 3759 V 33 w(NORM)p 2346 3759 V
32 w(I)p FK(,)i(if)e Fv(lda)h FK(is)f(less)h(than)g Fv(k)h
FK(plus)d(one,)k(an)e(error)0 3872 y(\015ag)k(is)e(set)i(and)f(passed)g
(to)h(the)f(error)g(handler.)136 4084 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)227 4334 y FD(General:)514
4447 y(REAL)46 b(\(<wp>\))94 b(FUNCTION)46 b(ge_norm_i\()f(a)i([,)g
(norm])g(\))227 4560 y(General)f(Band:)514 4673 y(REAL)g(\(<wp>\))94
b(FUNCTION)46 b(gb_norm_i\()f(a,)i(m,)g(kl)g([,)g(norm])g(\))227
4786 y(Symmetric:)514 4899 y(REAL)f(\(<wp>\))94 b(FUNCTION)46
b(sy_norm_i\()f(a)i([,)g(norm])g([,)g(uplo])f(\))227
5012 y(Symmetric)g(Band:)514 5125 y(REAL)g(\(<wp>\))94
b(FUNCTION)46 b(sb_norm_i\()f(a)i([,)g(norm])g([,)g(uplo])f(\))227
5238 y(Symmetric)g(Packed:)514 5351 y(REAL)g(\(<wp>\))94
b(FUNCTION)46 b(sp_norm_i\()f(ap)i([,)g(norm])f([,)i(uplo])e(\))-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 246 256
246 255 bop 0 -165 a FK(246)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(Triangular:)514
204 y(REAL)46 b(\(<wp>\))94 b(FUNCTION)46 b(tr_norm_i\()f(a)i([,)g
(norm])g([,)g(uplo])f([,)h(diag])g(\))227 317 y(Triangular)e(Band:)514
430 y(REAL)h(\(<wp>\))94 b(FUNCTION)46 b(tb_norm_i\()f(a)i([,)g(norm])g
([,)g(uplo])f([,)h(diag])g(\))227 543 y(Triangular)e(Packed:)514
656 y(REAL)h(\(<wp>\))94 b(FUNCTION)46 b(tp_norm_i\()f(ap)i([,)g(norm])
f([,)i(uplo])e([,)h(diag])f(\))227 769 y(all:)514 882
y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\))e(|)h
(ap\(:\))514 995 y(INTEGER,)e(INTENT\(IN\))g(::)i(m,)h(kl)514
1108 y(TYPE\(blas_norm_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(norm)514 1220 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)
i(::)h(uplo)514 1333 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i
(OPTIONAL)i(::)h(diag)418 1446 y(where)514 1559 y(a)g(has)g(shape)f
(\(m,n\))h(for)g(general)e(matrix)1086 1672 y(\(l,n\))i(for)g(general)e
(banded)i(matrix)f(\(l)h(>)g(kl\))1086 1785 y(\(n,n\))g(for)g
(symmetric)e(or)i(triangular)1086 1898 y(\(k+1,n\))f(for)h(symmetric)e
(banded,)h(or)h(triangular)1468 2011 y(banded)f(\(k=band)g(width\))514
2124 y(ap)h(has)g(shape)f(\(n*\(n+1\)/2\).)136 2374 y
FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)227 2623
y FD(General:)514 2736 y(<type>)93 b(FUNCTION)46 b(BLAS_xGE_NORM_I\()d
(NORM,)k(M,)g(N,)g(A,)g(LDA)g(\))227 2849 y(General)f(Band:)514
2962 y(<type>)93 b(FUNCTION)46 b(BLAS_xGB_NORM_I\()d(NORM,)k(M,)g(N,)g
(KL,)g(KU,)g(A,)g(LDA)g(\))227 3075 y(Symmetric:)514
3188 y(<type>)93 b(FUNCTION)46 b(BLAS_xSY_NORM_I\()d(NORM,)k(UPLO,)f
(N,)h(A,)g(LDA)g(\))227 3301 y(Symmetric)f(Band:)514
3414 y(<type>)93 b(FUNCTION)46 b(BLAS_xSB_NORM_I\()d(NORM,)k(UPLO,)f
(N,)h(K,)g(A,)h(LDA)f(\))227 3527 y(Symmetric)f(Packed:)514
3640 y(<type>)93 b(FUNCTION)46 b(BLAS_xSP_NORM_I\()d(NORM,)k(UPLO,)f
(N,)h(AP)g(\))227 3753 y(Triangular:)514 3866 y(<type>)93
b(FUNCTION)46 b(BLAS_xTR_NORM_I\()d(NORM,)k(UPLO,)f(DIAG,)g(N,)i(A,)f
(LDA)g(\))227 3978 y(Triangular)e(Band:)514 4091 y(<type>)93
b(FUNCTION)46 b(BLAS_xTB_NORM_I\()d(NORM,)k(UPLO,)f(DIAG,)g(N,)i(K,)f
(A,)g(LDA)g(\))227 4204 y(Triangular)e(Packed:)514 4317
y(<type>)93 b(FUNCTION)46 b(BLAS_xTP_NORM_I\()d(NORM,)k(UPLO,)f(DIAG,)g
(N,)i(AP)f(\))227 4430 y(all:)514 4543 y(INTEGER)570
b(DIAG,)47 b(K,)g(KL,)g(KU,)g(LDA,)f(M,)i(N,)f(NORM,)f(UPLO)514
4656 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\))136 4906 y FJ(\017)f FK(C)30 b(binding:)227 5156
y FD(General:)227 5269 y(void)47 b(BLAS_xge_norm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_norm_type)e(norm,)1277
5381 y(int)j(m,)g(int)g(n,)g(const)g(<interval_array>)c(a,)k(int)g
(lda,)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403
y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084
967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 247 257
247 256 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(247)1277 91 y FD(SCALAR_INOUT)45 b(r)i(\);)227
204 y(General)f(Band:)227 317 y(void)h(BLAS_xgb_norm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_norm_type)e(norm,)1277
430 y(int)j(m,)g(int)g(n,)g(int)g(kl,)g(int)g(ku,)g(const)f
(<interval_array>)e(a,)1277 543 y(int)j(lda,)g(SCALAR_INOUT)d(r)k(\);)
227 656 y(Symmetric:)227 769 y(void)f(BLAS_xsy_norm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_norm_type)e(norm,)1277
882 y(enum)j(blas_uplo_type)d(uplo,)i(int)h(n,)1277 995
y(const)g(<interval_array>)c(a,)k(int)g(lda,)g(SCALAR_INOUT)92
b(r)47 b(\);)227 1108 y(Symmetric)f(Band:)227 1220 y(void)h
(BLAS_xsb_norm_i\()c(enum)k(blas_order_type)d(order,)i(enum)g
(blas_norm_type)e(norm,)1277 1333 y(enum)j(blas_uplo_type)d(uplo,)i
(int)h(n,)g(int)g(k,)1277 1446 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(SCALAR_INOUT)d(r)k(\);)227 1559 y(Symmetric)e(Packed:)227
1672 y(void)h(BLAS_xsp_norm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_norm_type)e(norm,)1277 1785 y(enum)j(blas_uplo_type)d
(uplo,)i(int)h(n,)1277 1898 y(const)g(<interval_array>)c(ap,)k
(SCALAR_INOUT)d(r)k(\);)227 2011 y(Triangular:)227 2124
y(void)f(BLAS_xtr_norm_i\()c(enum)k(blas_order_type)d(order,)i(enum)g
(blas_norm_type)e(norm,)1277 2237 y(enum)j(blas_uplo_type)d(uplo,)i
(enum)h(blas_diag_type)d(diag,)1277 2350 y(int)j(n,)g(const)g
(<interval_array>)c(a,)k(int)g(lda,)1277 2462 y(SCALAR_INOUT)e(r)i(\);)
227 2575 y(Triangular)e(Band:)227 2688 y(void)i(BLAS_xtb_norm_i\()c
(enum)k(blas_order_type)d(order,)i(enum)g(blas_norm_type)e(norm,)1277
2801 y(enum)j(blas_uplo_type)d(uplo,)i(enum)h(blas_diag_type)d(diag,)
1277 2914 y(int)j(n,)g(int)g(k,)g(const)g(<interval_array>)c(a,)k(int)g
(lda,)1277 3027 y(SCALAR_INOUT)92 b(r)48 b(\);)227 3140
y(Triangular)d(Packed:)227 3253 y(void)i(BLAS_xtp_norm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_norm_type)e(norm,)1277
3366 y(enum)j(blas_uplo_type)d(uplo,)i(enum)h(blas_diag_type)d(diag,)
1277 3479 y(int)j(n,)g(const)g(<interval_array>)c(ap,)k(SCALAR_INOUT)92
b(r)48 b(\);)227 3729 y Fz(A)-5 b(dvic)g(e)35 b(to)g(implementors:)47
b FK(In)32 b(\014nite)f(precision)g(\015oating)h(p)s(oin)m(t)g
(arithmetic,)h(an)f(upp)s(er)e(b)s(ound,)227 3841 y(preferably)39
b(the)h(least)g(mac)m(hine)g(represen)m(table)g(upp)s(er)e(b)s(ound,)j
(for)e(the)i(mathematical)f(v)-5 b(alue)227 3954 y(should)29
b(b)s(e)g(returned)h(for)g(the)g(norms.)p 0 4128 3900
4 v 0 4267 a FJ(f)p FK(GE,GB)p FJ(g)p 388 4267 28 4 v
35 w FK(DIA)m(G)p 661 4267 V 34 w(SCALE)p 999 4267 V
32 w(I)g(\(Diagonal)h(scaling)e(an)h(in)m(terv)-5 b(al)30
b(matrix\))79 b FG(A)25 b FJ( )g FG(DA)p Fy(;)15 b FG(A)q(D)30
b FK(with)f FG(D)i FK(diagonal)0 4493 y(These)e(routines)f(scale)i(a)g
(general)f(\(or)h(banded\))e(in)m(terv)-5 b(al)29 b(matrix)g
FG(A)g FK(on)g(the)h(left)f(side)f(or)h(the)h(righ)m(t)f(side)f(b)m(y)i
(a)0 4606 y(diagonal)c(in)m(terv)-5 b(al)26 b(matrix)h
FG(D)p FK(.)40 b(This)25 b(routine)h(returns)g(immediately)f(if)h
FD(m)h FK(or)g FD(n)f FK(is)g(less)h(than)g(or)g(equal)f(to)i(zero.)0
4719 y(As)33 b(describ)s(ed)e(in)g(section)j(2.5.3,)h(the)e(v)-5
b(alue)33 b Fv(incd)g FK(less)f(than)h(zero)h(is)e(p)s(ermitted.)47
b(Ho)m(w)m(ev)m(er,)36 b(if)31 b Fv(incd)i FK(is)f(equal)0
4832 y(to)h(zero,)h(an)e(error)f(\015ag)i(is)e(set)i(and)e(passed)h(to)
h(the)f(error)g(handler.)44 b(F)-8 b(or)33 b(the)g(routine)e
Fv(GE)p 3189 4832 V 33 w(DIA)m(G)p 3432 4832 V 32 w(SCALE)p
3737 4832 V 32 w(I)p FK(,)i(if)0 4945 y Fv(lda)f FK(is)g(less)g(than)h
(one)g(or)g Fv(lda)f FK(is)g(less)g(than)g Fv(m)p FK(,)i(an)f(error)f
(\015ag)h(is)f(set)h(and)g(passed)f(to)i(the)f(error)f(handler.)46
b(F)-8 b(or)0 5058 y(the)29 b(routine)e Fv(GB)p 593 5058
V 32 w(DIA)m(G)p 835 5058 V 33 w(SCALE)p 1141 5058 V
32 w(I)p FK(,)i(if)f Fv(lda)f FK(is)h(less)g(than)g Fv(kl)h
FK(plus)d Fv(ku)j FK(plus)e(one,)i(an)g(error)f(\015ag)h(is)e(set)i
(and)f(passed)0 5170 y(to)j(the)g(error)f(handler.)136
5383 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 248 258
248 257 bop 0 -165 a FK(248)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(General:)514
204 y(SUBROUTINE)45 b(ge_diag_scale_i\()e(d,)k(a)h([,)f(side)f(\))227
317 y(General)g(Band:)514 430 y(SUBROUTINE)f(gb_diag_scale_i\()e(d,)k
(a,)g(m,)h(kl)f([,)g(side])f(\))227 543 y(all:)514 656
y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT)h(\(IN\))h(::)g(d\(:\))514
769 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT)h(\(INOUT\))g(::)h
(a\(:,:\))514 882 y(INTEGER,)e(INTENT\(IN\))g(::)i(m,)h(kl)514
995 y(TYPE\(blas_side_type\),)42 b(INTENT)k(\(IN\),)g(OPTIONAL)g(::)h
(side)418 1108 y(where)514 1220 y(a)g(has)g(shape)f(\(m,n\))h(for)g
(general)e(matrix)1086 1333 y(\(l,n\))i(for)g(general)e(banded)i
(matrix)f(\(l)h(>)g(kl\))514 1446 y(d)g(has)g(shape)f(\(p\))h(where)g
(p)g(=)h(m)f(if)g(side)g(=)g(blas_left_side)1564 1559
y(p)g(=)h(n)f(if)g(side)g(=)g(blas_right_side)136 1806
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227 2054
y FD(General:)514 2167 y(SUBROUTINE)45 b(BLAS_xGE_DIAG_SCALE_I\()c
(SIDE,)47 b(M,)g(N,)g(D,)g(INCD,)g(A,)g(LDA)g(\))227
2279 y(General)f(Band:)514 2392 y(SUBROUTINE)f(BLAS_xGB_DIAG_SCALE_I\()
c(SIDE,)47 b(M,)g(N,)g(KL,)g(KU,)g(D,)g(INCD,)f(A,)466
2505 y($)1622 b(LDA)47 b(\))227 2618 y(all:)514 2731
y(INTEGER)570 b(INCD,)47 b(KL,)g(KU,)g(LDA,)f(M,)h(N,)h(SIDE)514
2844 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\),)f(D\()g(2,)g(*)h(\))
136 3091 y FJ(\017)e FK(C)30 b(binding:)227 3339 y FD(General:)227
3451 y(void)47 b(BLAS_xge_diag_scale_i\()42 b(enum)k(blas_order_type)e
(order,)1564 3564 y(enum)i(blas_side_type)e(side,)j(int)f(m,)i(int)f
(n,)1564 3677 y(const)f(<interval_array>)d(d,)48 b(int)e(incd,)1564
3790 y(<interval_array>)d(a,)k(int)g(lda)g(\);)227 3903
y(General)f(Band:)227 4016 y(void)h(BLAS_xgb_diag_scale_i\()42
b(enum)k(blas_order_type)e(order,)1564 4129 y(enum)i(blas_side_type)e
(side,)j(int)f(m,)i(int)f(n,)g(int)g(kl,)1564 4242 y(int)g(ku,)f(const)
h(<interval_array>)c(d,)k(int)g(incd,)1564 4355 y(<interval_array>)c
(a,)k(int)g(lda)g(\);)p 0 4583 3900 4 v 0 4723 a FJ(f)p
FK(GE,GB)p FJ(g)p 388 4723 28 4 v 35 w FK(LRSCALE)p 851
4723 V 31 w(I)30 b(\(Tw)m(o-sided)g(diagonal)g(scaling\))338
b FG(A)25 b FJ( )g FG(D)2719 4737 y Fw(L)2771 4723 y
FG(AD)2931 4737 y Fw(R)3019 4723 y FK(with)k FG(D)3306
4737 y Fw(L)3358 4723 y Fy(;)15 b FG(D)3479 4737 y Fw(R)3567
4723 y FK(diagonal)0 4948 y(These)33 b(routines)f(scale)h(a)g(general)g
(\(or)h(banded\))e(in)m(terv)-5 b(al)32 b(matrix)g FG(A)h
FK(on)g(the)g(left)g(side)f(b)m(y)h(an)g(in)m(terv)-5
b(al)32 b(diag-)0 5061 y(onal)37 b(matrix)h FG(D)588
5075 y Fw(L)678 5061 y FK(and)f(on)h(the)g(righ)m(t)f(side)g(b)m(y)g
(an)h(in)m(terv)-5 b(al)37 b(diagonal)g(matrix)g FG(D)2935
5075 y Fw(R)2992 5061 y FK(.)63 b(This)36 b(routine)h(returns)0
5174 y(immediately)29 b(if)g FD(m)h FK(or)h FD(n)f FK(is)f(less)h(than)
g(or)h(equal)e(to)j(zero.)41 b(As)31 b(describ)s(ed)d(in)h(section)i
(2.5.3,)h(the)f(v)-5 b(alue)30 b Fv(incdl)g FK(or)0 5287
y Fv(incdu)h FK(less)g(than)g(zero)h(is)e(p)s(ermitted.)42
b(Ho)m(w)m(ev)m(er,)34 b(if)c(either)h Fv(incdl)f FK(or)i
Fv(incdu)f FK(is)f(equal)h(to)h(zero,)g(an)f(error)g(\015ag)h(is)0
5400 y(set)e(and)f(passed)g(to)h(the)g(error)f(handler.)39
b(F)-8 b(or)30 b(the)g(routine)e Fv(GE)p 2207 5400 V
33 w(LRSCALE)p 2621 5400 V 32 w(I)p FK(,)i(if)e Fv(lda)h
FK(is)g(less)g(than)g(one)h(or)f Fv(lda)g FK(is)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 249 259
249 258 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(249)0 91 y(less)29 b(than)g Fv(m)p FK(,)h(an)f(error)g
(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)39
b(F)-8 b(or)30 b(the)f(routine)g Fv(GB)p 3327 91 28 4
v 32 w(LRSCALE)p 3740 91 V 32 w(I)p FK(,)h(if)0 204 y
Fv(lda)g FK(is)f(less)h(than)g Fv(kl)g FK(plus)f Fv(ku)h
FK(plus)f(one,)i(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h
(the)f(error)g(handler.)136 417 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)227 667 y FD(General:)514
780 y(SUBROUTINE)45 b(ge_lrscale_i\()f(dl,)j(dr,)g(a)g(\))227
892 y(General)f(Band:)514 1005 y(SUBROUTINE)f(gb_lrscale_i\()f(dl,)j
(dr,)g(a,)g(m,)g(kl)g(\))227 1118 y(all:)609 1231 y(TYPE\(INTERVAL\))d
(\(<wp>\),)i(INTENT\(IN\))f(::)i(dl\(:\),)f(dr\(:\))609
1344 y(TYPE\(INTERVAL\))e(\(<wp>\),)i(INTENT\(INOUT\))e(::)j(a\(:,:\))
609 1457 y(INTEGER,)f(INTENT\(IN\))f(::)i(m,)g(kl)514
1570 y(where)609 1683 y(a)h(has)e(shape)h(\(m,n\))f(for)h(general)f
(matrix)1182 1796 y(\(l,n\))g(for)h(general)f(banded)g(matrix)g(\(l)h
(>)h(kl\))609 1909 y(dl)f(has)g(shape)g(\(m\))609 2022
y(dr)g(has)g(shape)g(\(n\))136 2271 y FJ(\017)f FK(F)-8
b(ortran)31 b(77)h(binding:)227 2521 y FD(General:)514
2634 y(SUBROUTINE)45 b(BLAS_xGE_LRSCALE_I\()d(M,)47 b(N,)h(DL,)e
(INCDL,)h(DR,)f(INCDR,)h(A,)g(LDA)g(\))227 2747 y(General)f(Band:)514
2860 y(SUBROUTINE)f(BLAS_xGB_LRSCALE_I\()d(M,)47 b(N,)h(KL,)e(KU,)h
(DL,)g(INCDL,)f(DR,)h(INCDR,)f(A,)466 2973 y($)1479 b(LDA)47
b(\))227 3086 y(all:)514 3199 y(INTEGER)570 b(INCDL,)47
b(INCDR,)f(KL,)h(KU,)f(LDA,)h(M,)g(N)514 3312 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\),)f(DL\()g(2,)g(*)h(\),)f(DR\()g(2,)g(*)g
(\))136 3562 y FJ(\017)f FK(C)30 b(binding:)227 3812
y FD(General:)227 3924 y(void)47 b(BLAS_xge_lrscale_i\()42
b(enum)47 b(blas_order_type)d(order,)i(int)h(m,)g(int)g(n,)1420
4037 y(const)g(<interval_array>)c(dl,)k(int)g(incdl,)1420
4150 y(const)g(<interval_array>)c(dr,)k(int)g(incdr,)1420
4263 y(<interval_array>)d(a,)j(int)g(lda)g(\);)227 4376
y(General)f(Band:)227 4489 y(void)h(BLAS_xgb_lrscale_i\()42
b(enum)47 b(blas_order_type)d(order,)i(int)h(m,)g(int)g(n,)1420
4602 y(int)g(kl,)g(int)g(ku,)g(const)f(<interval_array>)e(dl,)1420
4715 y(int)j(incdl,)f(const)h(<interval_array>)c(dr,)k(int)g(incdr,)
1420 4828 y(<interval_array>)d(a,)j(int)g(lda)g(\);)p
0 5059 3900 4 v 0 5211 a FJ(f)p FK(SY,SB,SP)p FJ(g)p
492 5211 28 4 v 33 w FK(LRSCALE)p 953 5211 V 32 w(I)30
b(\(Tw)m(o-sided)f(diagonal)h(scaling\))660 b FG(A)25
b FJ( )h FG(DAD)k FK(with)f FG(A)d FK(=)f FG(A)3820 5175
y Fw(T)3875 5211 y FK(.)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 250 260
250 259 bop 0 -165 a FK(250)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FK(These)37 b(routines)f(p)s
(erform)g(a)h(t)m(w)m(o-sided)h(scaling)e(on)h(a)h(symmetric)e(\(or)i
(symmetric)e(banded)g(or)i(symmetric)0 204 y(pac)m(k)m(ed\))i(in)m
(terv)-5 b(al)38 b(matrix)f FG(A)i FK(b)m(y)f(an)h(in)m(terv)-5
b(al)37 b(diagonal)h(matrix)g FG(D)p FK(.)65 b(This)37
b(routine)g(returns)h(immediately)0 317 y(if)f FD(n)h
FK(is)g(less)f(than)i(or)f(equal)g(to)h(zero.)65 b(As)39
b(describ)s(ed)d(in)h(section)i(2.5.3,)j(the)d(v)-5 b(alue)38
b Fv(incd)g FK(less)g(than)g(zero)h(is)0 430 y(p)s(ermitted.)52
b(Ho)m(w)m(ev)m(er,)38 b(if)c Fv(incd)g FK(is)g(equal)g(to)i(zero,)g
(an)f(error)f(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)g(error)g
(handler.)0 543 y(F)-8 b(or)32 b(the)g(routines)e Fv(SY)p
789 543 28 4 v 32 w(LRSCALE)p 1202 543 V 32 w(I)i FK(and)f
Fv(SP)p 1578 543 V 32 w(LRSCALE)p 1991 543 V 32 w(I)p
FK(,)h(if)e Fv(lda)h FK(is)g(less)f(than)h(one)h(or)f
Fv(lda)g FK(is)f(less)h(than)g Fv(n)p FK(,)h(an)0 656
y(error)f(\015ag)g(is)f(set)i(and)e(passed)h(to)h(the)f(error)g
(handler.)40 b(F)-8 b(or)32 b(the)g(routine)e Fv(SB)p
2709 656 V 31 w(LRSCALE)p 3121 656 V 33 w(I)p FK(,)h(if)f
Fv(lda)h FK(is)f(less)g(than)0 769 y Fv(kl)g FK(plus)f
Fv(ku)i FK(plus)d(one,)j(an)f(error)g(\015ag)h(is)e(set)i(and)f(passed)
g(to)h(the)g(error)f(handler.)136 981 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)227 1231 y FD(Symmetric:)514
1344 y(SUBROUTINE)45 b(sy_lrscale_i\()f(d,)j(a)g([,)h(uplo])e(\))227
1457 y(Symmetric)g(Band:)514 1570 y(SUBROUTINE)f(sb_lrscale_i\()f(d,)j
(a)g([,)h(uplo])e(\))227 1683 y(Symmetric)g(Packed:)514
1796 y(SUBROUTINE)f(sp_lrscale_i\()f(d,)j(ap)g([,)g(uplo])g(\))227
1909 y(all:)514 2022 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g
(::)j(d\(:\))514 2134 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(INOUT\))
g(::)i(a\(:,:\))f(|)h(ap\(:\))514 2247 y(TYPE\(blas_uplo_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)418 2360 y(where)514
2473 y(a)g(has)g(shape)f(\(n,n\))h(for)g(symmetric)1086
2586 y(\(k+1,n\))f(for)h(symmetric)e(banded)h(\(k=band)g(width\))514
2699 y(ap)h(has)g(shape)f(\(n*\(n+1\)/2\).)514 2812 y(d)h(has)g(shape)f
(\(n\))136 3062 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)227
3312 y FD(Symmetric:)514 3425 y(SUBROUTINE)45 b(BLAS_xSY_LRSCALE_I\()d
(UPLO,)47 b(N,)g(D,)g(INCD,)f(A,)h(LDA)g(\))227 3538
y(Symmetric)f(Band:)514 3650 y(SUBROUTINE)f(BLAS_xSB_LRSCALE_I\()d
(UPLO,)47 b(N,)g(K,)g(D,)g(INCD,)f(A,)i(LDA)f(\))227
3763 y(Symmetric)f(Packed:)514 3876 y(SUBROUTINE)f
(BLAS_xSP_LRSCALE_I\()d(UPLO,)47 b(N,)g(D,)g(INCD,)f(AP)h(\))227
3989 y(all:)514 4102 y(INTEGER)570 b(INCD,)47 b(K,)g(LDA,)g(N,)g(UPLO)
514 4215 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i
(*)f(\),)g(D\()g(2,)h(*)f(\))136 4465 y FJ(\017)f FK(C)30
b(binding:)227 4715 y FD(Symmetric:)227 4828 y(void)47
b(BLAS_xsy_lrscale_i\()42 b(enum)47 b(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1420 4941 y(int)j(n,)h(const)e
(<interval_array>)d(d,)k(int)g(incd,)1420 5054 y(<interval_array>)d(a,)
j(int)g(lda)g(\);)227 5166 y(Symmetric)f(Band:)227 5279
y(void)h(BLAS_xsb_lrscale_i\()42 b(enum)47 b(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1420 5392 y(int)j(n,)h(int)e(k,)i(const)
e(<interval_array>)d(d,)48 b(int)e(incd,)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 251 261
251 260 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(251)1420 91 y FD(<interval_array>)44
b(a,)j(int)g(lda)g(\);)227 204 y(Symmetric)f(Packed:)227
317 y(void)h(BLAS_xsp_lrscale_i\()42 b(enum)47 b(blas_order_type)d
(order,)i(enum)g(blas_uplo_type)e(uplo,)1420 430 y(int)j(n,)h(const)e
(<interval_array>)d(d,)k(int)g(incd,)1420 543 y(<interval_array>)d(ap)j
(\);)p 0 774 3900 4 v 0 927 a FJ(f)p FK(GE,SY,SB,SP)p
FJ(g)p 650 927 28 4 v 34 w FK(A)m(CC)p 881 927 V 32 w(I)30
b(\(Matrix)h(accum)m(ulation)f(and)g(scale\))322 b FG(B)26
b FJ( )f Fy(\013)p FG(A)c FK(+)f Fy(\014)5 b FG(B)p Fy(;)15
b FG(B)26 b FJ( )f Fy(\013)p FG(A)3578 891 y Fw(T)3653
927 y FK(+)20 b Fy(\014)5 b FG(B)q FK(.)0 1152 y(These)36
b(routines)g(scale)g(an)h(in)m(terv)-5 b(al)35 b(matrix)h
FG(A)g FK(\(or)h(its)f(transp)s(ose\))g(and)g(scale)h(an)f(in)m(terv)-5
b(al)36 b(matrix)g FG(B)h FK(and)0 1265 y(accum)m(ulate)31
b(the)g(result)e(in)g(the)i(in)m(terv)-5 b(al)29 b(matrix)h
FG(B)p FK(.)41 b(Matrices)31 b FG(A)f FK(\(or)h FG(A)2621
1229 y Fw(T)2676 1265 y FK(\))f(and)g FG(B)h FK(ha)m(v)m(e)g(the)g
(same)f(storage)0 1378 y(format.)39 b(This)22 b(routine)h(returns)f
(immediately)g(if)h Fv(m)h FK(\(for)g(nonsymmetric)e(matrices\))i(or)g
Fv(n)g FK(or)g Fv(k)g FK(\(for)g(symmetric)0 1491 y(band)j(matrices\))h
(is)g(less)f(than)h(or)g(equal)f(to)i(zero.)41 b(F)-8
b(or)29 b(the)f(routine)f Fv(GE)p 2515 1491 V 33 w(A)m(CC)p
2722 1491 V 33 w(I)p FK(,)h(if)f Fv(lda)h FK(is)f(less)g(than)h(one)h
(or)f Fv(lda)0 1604 y FK(is)g(less)g(than)g Fv(m)p FK(,)h(an)g(error)f
(\015ag)h(is)f(set)h(and)f(passed)g(to)h(the)g(error)f(handler.)38
b(F)-8 b(or)30 b(the)f(routine)e Fv(SY)p 3393 1604 V
32 w(A)m(CC)p 3599 1604 V 33 w(I)p FK(,)i(if)f Fv(lda)0
1717 y FK(is)k(less)h(than)g(one)g(or)h Fv(lda)e FK(is)h(less)f(than)h
Fv(n)p FK(,)h(an)g(error)e(\015ag)i(is)e(set)i(and)f(passed)g(to)h(the)
f(error)g(handler.)48 b(F)-8 b(or)34 b(the)0 1830 y(routine)29
b Fv(SB)p 430 1830 V 31 w(A)m(CC)p 635 1830 V 33 w(I)p
FK(,)h(if)f Fv(lda)g FK(is)f(less)h(than)g Fv(kl)h FK(plus)e
Fv(ku)h FK(plus)f(one,)i(an)g(error)f(\015ag)h(is)e(set)i(and)f(passed)
g(to)i(the)e(error)0 1943 y(handler.)136 2155 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)227 2405 y FD(General:)514
2518 y(SUBROUTINE)45 b(ge_acc_i\()g(a,)i(b)h([,)f(transa])f([,)h
(alpha])f([,)h(beta])f(\))227 2631 y(Symmetric:)514 2744
y(SUBROUTINE)f(sy_acc_i\()g(a,)i(b)h([,)f(uplo],)f([,)h(transa])f([,)h
(alpha])f([,)h(beta])g(\))227 2857 y(Symmetric)f(Band:)514
2970 y(SUBROUTINE)f(sb_acc_i\()g(a,)i(b)h([,)f(uplo],)f([,)h(transa])f
([,)h(alpha])f([,)h(beta])g(\))227 3083 y(Symmetric)f(Packed:)514
3196 y(SUBROUTINE)f(sp_acc_i\()g(ap,)i(bp)g([,)g(uplo],)f([,)h(transa])
f([,)h(alpha])g([,)g(beta])f(\))227 3309 y(all:)514 3421
y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(INOUT\))g(::)i(b\(:,:\))f(|)h
(bp\(:\))514 3534 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j
(a\(:,:\))e(|)h(ap\(:\))514 3647 y(TYPE\(INTERVAL\))d(\(<wp>\),)h
(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)514 3760
y(TYPE\(blas_trans_type\),)41 b(INTENT\(IN\),)k(OPTIONAL)h(::)h(transa)
514 3873 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(uplo)418 3986 y(where)466 4099 y(GE)95 b(a)47 b(and)g(b)h(have)e
(shape)h(\(m,n\))f(if)h(transa)f(=)i(blas_no_trans)c(\(the)j(default\))
657 4212 y(a)g(has)g(shape)g(\(n,m\))f(and)h(b)g(has)g(shape)g(\(m,n\))
f(if)h(transa)f(/=)h(blas_no_trans)466 4325 y(SY)95 b(a)47
b(and)g(b)h(have)e(shape)h(\(n,n\))466 4438 y(SB)95 b(a)47
b(and)g(b)h(have)e(shape)h(\(p+1,n\))e(\(p)j(=)f(band)g(width\))466
4551 y(SP)95 b(ap)47 b(and)g(bp)g(have)g(shape)f(\(n*\(n+1\)/2\))136
4800 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)227
5050 y FD(General:)514 5163 y(SUBROUTINE)45 b(BLAS_xGE_ACC_I\()e
(TRANS,)j(M,)i(N,)f(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)h(LDB)g(\))227
5276 y(Symmetric:)514 5389 y(SUBROUTINE)e(BLAS_xSY_ACC_I\()e(UPLO,)k
(TRANS,)f(N,)h(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)-214 64
y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214 516
y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230
1080 y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 252 262
252 261 bop 0 -165 a FK(252)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)466 91 y FD($)1288 b(LDB)47
b(\))227 204 y(Symmetric)f(Band:)514 317 y(SUBROUTINE)f
(BLAS_xSB_ACC_I\()e(UPLO,)k(TRANS,)f(N,)h(K,)g(ALPHA,)f(A,)h(LDA,)g
(BETA,)466 430 y($)1288 b(B,)47 b(LDB)g(\))227 543 y(Symmetric)f
(Packed:)514 656 y(SUBROUTINE)f(BLAS_xSP_ACC_I\()e(UPLO,)k(TRANS,)f(N,)
h(ALPHA,)f(AP,)h(BETA,)f(BP)h(\))227 769 y(all:)514 882
y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(M,)g(N,)g(TRANS,)f(UPLO)514
995 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514
1108 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\),)g(B\()g(2,)h(LDB,)e(*)i(\))466 1220 y($)906 b(or)48
b(BP\()f(2,)g(*)g(\))136 1452 y FJ(\017)f FK(C)30 b(binding:)227
1684 y FD(General:)227 1797 y(void)47 b(BLAS_xge_acc_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_trans_type)c(trans,)1230
1909 y(int)j(m,)i(int)f(n,)g(<interval>)e(alpha,)h(const)g
(<interval_array>)e(a,)1230 2022 y(int)i(lda,)h(<interval>)e(beta,)h
(<interval_array>)e(b,)j(int)g(ldb)g(\);)227 2135 y(Symmetric:)227
2248 y(void)g(BLAS_xsy_acc_i\()d(enum)i(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)c(uplo,)1230 2361 y(enum)j(blas_trans_type)e
(trans,)i(int)h(n,)g(<interval>)e(alpha,)1230 2474 y(const)h
(<interval_array>)d(a,)k(int)g(lda,)g(<interval>)e(beta,)1230
2587 y(<interval_array>)e(b,)k(int)g(ldb)g(\);)227 2700
y(Symmetric)f(Band:)227 2813 y(void)h(BLAS_xsb_acc_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
2926 y(enum)j(blas_trans_type)e(trans,)i(int)h(n,)g(int)g(k,)g
(<interval>)e(alpha,)1230 3039 y(const)h(<interval_array>)d(a,)k(int)g
(lda,)g(<interval>)e(beta,)1230 3152 y(<interval_array>)e(b,)k(int)g
(ldb)g(\);)227 3264 y(Symmetric)f(Packed:)227 3377 y(void)h
(BLAS_xsp_acc_i\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)c(uplo,)1230 3490 y(enum)j(blas_trans_type)e(trans,)i
(int)h(n,)g(<interval>)e(alpha,)1230 3603 y(const)h(<interval_array>)d
(ap,)k(<interval>)e(beta,)1230 3716 y(<interval_array>)e(bp)k(\);)p
0 3929 3900 4 v 0 4068 a FJ(f)p FK(GB,TR,TB,TP)p FJ(g)p
696 4068 28 4 v 34 w FK(A)m(CC)p 927 4068 V 33 w(I)30
b(\(Matrix)h(accum)m(ulation)f(and)g(scale\))966 b FG(B)25
b FJ( )h Fy(\013)p FG(A)20 b FK(+)g Fy(\014)5 b FG(B)q
FK(.)0 4294 y(These)22 b(routines)g(scale)h(in)m(terv)-5
b(al)22 b(matrices)h FG(A)f FK(and)g FG(B)h FK(and)f(accum)m(ulate)i
(the)f(result)f(in)f(the)i(matrix)f FG(B)p FK(.)38 b(Matrices)0
4407 y Fy(A)22 b FK(and)f Fy(B)27 b FK(ha)m(v)m(e)c(the)f(same)g
(storage)i(format.)38 b(This)20 b(routine)h(returns)g(immediately)f(if)
h Fv(m)h FK(or)g Fv(kl)g FK(or)g Fv(ku)g FK(\(for)g(general)0
4520 y(band)i(matrices\))i(or)f Fv(n)h FK(or)f Fv(k)h
FK(\(for)f(triangular)f(band)g(matrices\))i(is)e(less)h(than)g(or)g
(equal)g(to)h(zero.)40 b(F)-8 b(or)26 b(the)g(routine)0
4633 y Fv(GB)p 127 4633 V 32 w(A)m(CC)p 333 4633 V 33
w(I)p FK(,)h(if)g Fv(lda)f FK(is)g(less)g(than)h Fv(kl)h
FK(plus)d Fv(ku)i FK(plus)e(one,)k(an)e(error)f(\015ag)i(is)e(set)i
(and)e(passed)h(to)h(the)f(error)g(handler.)0 4746 y(F)-8
b(or)32 b(the)f(routines)f Fv(TR)p 797 4746 V 33 w(A)m(CC)p
1004 4746 V 33 w(I)h FK(and)f Fv(TP)p 1390 4746 V 33
w(A)m(CC)p 1597 4746 V 33 w(I)p FK(,)i(if)e Fv(lda)g
FK(is)g(less)h(than)g(one)g(or)g Fv(lda)g FK(is)f(less)g(than)h
Fv(n)p FK(,)h(an)f(error)g(\015ag)0 4859 y(is)f(set)i(and)f(passed)f
(to)i(the)g(error)e(handler.)42 b(F)-8 b(or)32 b(the)f(routine)f
Fv(TB)p 2325 4859 V 32 w(A)m(CC)p 2531 4859 V 33 w(I)p
FK(,)i(if)e Fv(lda)h FK(is)f(less)g(than)h Fv(k)h FK(plus)d(one,)j(an)0
4971 y(error)e(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g
(handler.)136 5168 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 5400 y FD(General)46 b(Band:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 253 263
253 262 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(253)514 91 y FD(SUBROUTINE)45 b(gb_acc_i\()g(a,)i(m,)g
(kl,)g(b)h([,)f(alpha])f([,)h(beta])f(\))227 204 y(Triangular:)514
317 y(SUBROUTINE)f(tr_acc_i\()g(a,)i(b)h([,)f(uplo],)f([,)h(diag])f([,)
i(alpha])e([,)h(beta])f(\))227 430 y(Triangular)f(Band:)514
543 y(SUBROUTINE)g(tb_acc_i\()g(a,)i(b)h([,)f(uplo],)f([,)h(diag])f([,)
i(alpha])e([,)h(beta])f(\))227 656 y(Triangular)f(Packed:)514
769 y(SUBROUTINE)g(tp_acc_i\()g(ap,)i(bp)g([,)g(uplo],)f([,)h(diag])g
([,)g(alpha])f([,)h(beta])g(\))227 882 y(all:)514 1108
y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\))e(|)h
(ap\(:\))514 1220 y(INTEGER,)e(INTENT\(IN\))g(::)i(m,)h(kl)514
1333 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(INOUT\))g(::)i(b\(:,:\))f
(|)h(bp\(:\))514 1446 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\),)g
(OPTIONAL)h(::)h(alpha,)f(beta)514 1559 y(TYPE\(blas_uplo_type\),)c
(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514 1672 y
(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418
1785 y(where)514 1898 y(a)g(and)g(b)g(have)g(shape)f(\(l,n\))h(for)g
(general)f(banded)g(matrix)g(\(l)h(>)g(kl\))514 2011
y(a)g(and)g(b)g(have)g(shape)f(\(n,n\))h(for)g(triangular)e(matrix)514
2124 y(a)i(and)g(b)g(have)g(shape)f(\(p+1,n\))g(for)h(triangular)e
(banded)h(matrix)514 2237 y(ap)h(and)g(bp)g(have)g(shape)f
(\(n*\(n+1\)/2\))136 2487 y FJ(\017)g FK(F)-8 b(ortran)31
b(77)h(binding:)227 2736 y FD(General)46 b(Band:)514
2849 y(SUBROUTINE)f(BLAS_xGB_ACC_I\()e(M,)k(N,)h(KL,)f(KU,)f(ALPHA,)h
(A,)g(LDA,)f(BETA,)h(B,)466 2962 y($)1288 b(LDB)47 b(\))227
3075 y(Triangular:)514 3188 y(SUBROUTINE)e(BLAS_xTR_ACC_I\()e(UPLO,)k
(DIAG,)f(N,)h(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)466 3301
y($)1288 b(LDB)47 b(\))227 3414 y(Triangular)e(Band:)514
3527 y(SUBROUTINE)g(BLAS_xTB_ACC_I\()e(UPLO,)k(DIAG,)f(N,)h(K,)g
(ALPHA,)f(A,)i(LDA,)e(BETA,)466 3640 y($)1288 b(B,)47
b(LDB)g(\))227 3753 y(Triangular)e(Packed:)514 3866 y(SUBROUTINE)g
(BLAS_xTP_ACC_I\()e(UPLO,)k(DIAG,)f(N,)h(ALPHA,)f(AP,)h(BETA,)g(BP)g
(\))227 3978 y(all:)514 4091 y(INTEGER)570 b(DIAG,)47
b(K,)g(KL,)g(KU,)g(LDA,)f(LDB,)h(M,)g(N,)g(UPLO)514 4204
y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514
4317 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\),)g(B\()g(2,)h(LDB,)e(*)i(\))466 4430 y($)906 b(or)48
b(BP\()f(2,)g(*)g(\))136 4680 y FJ(\017)f FK(C)30 b(binding:)227
4930 y FD(General)46 b(Band:)227 5043 y(void)h(BLAS_xgb_acc_i\()d(enum)
i(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)g(int)g
(ku,)1230 5156 y(<interval>)e(alpha,)h(<interval_array>)d(a,)k(int)g
(lda,)1230 5269 y(<interval>)e(beta,)h(<interval_array>)d(b,)k(int)g
(ldb)g(\);)227 5381 y(Triangular:)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 254 264
254 263 bop 0 -165 a FK(254)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(void)47 b(BLAS_xtr_acc_i\()
d(enum)i(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
204 y(enum)j(blas_diag_type)e(diag,)i(int)h(n,)h(<interval>)d(alpha,)
1230 317 y(<interval_array>)e(a,)k(int)g(lda,)g(<interval>)e(beta,)1230
430 y(<interval_array>)e(b,)k(int)g(ldb)g(\);)227 543
y(Triangular)e(Band:)227 656 y(void)i(BLAS_xtb_acc_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
769 y(enum)j(blas_diag_type)e(diag,)i(int)h(n,)h(int)e(k,)i(<interval>)
d(alpha,)1230 882 y(<interval_array>)e(a,)k(int)g(lda,)g(<interval>)e
(beta,)1230 995 y(<interval_array>)e(b,)k(int)g(ldb)g(\);)227
1108 y(Triangular)e(Packed:)227 1220 y(void)i(BLAS_xtp_acc_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
1333 y(enum)j(blas_diag_type)e(diag,)i(int)h(n,)h(<interval>)d(alpha,)
1230 1446 y(<interval_array>)e(ap,)k(<interval>)e(beta,)1230
1559 y(<interval_array>)e(bp)k(\);)p 0 1776 3900 4 v
0 1915 a FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p
1268 1915 28 4 v 35 w FK(ADD)p 1509 1915 V 34 w(I)30
b(\(Matrix)g(add)g(and)g(scale\))789 b FG(C)25 b FJ( )g
Fy(\013)p FG(A)c FK(+)e Fy(\014)5 b FG(B)0 2141 y FK(These)31
b(routines)g(scale)h(t)m(w)m(o)h(in)m(terv)-5 b(al)31
b(matrices)g FG(A)h FK(and)f FG(B)h FK(and)f(store)h(the)g(sum)f(in)f
(the)i(matrix)f FG(C)p FK(.)44 b(Matrices)0 2254 y Fy(A)p
FK(,)31 b Fy(B)5 b FK(,)31 b(and)f Fy(C)37 b FK(ha)m(v)m(e)31
b(the)g(same)g(storage)i(format.)41 b(This)29 b(routine)h(returns)f
(immediately)g(if)h Fv(m)h FK(or)f Fv(kl)h FK(or)g Fv(ku)g
FK(\(for)0 2367 y(general)g(band)f(matrices\))i(or)f
Fv(n)g FK(or)g Fv(k)g FK(\(for)g(symmetric)g(or)g(triangular)e(band)h
(matrices\))i(is)e(less)g(than)h(or)g(equal)0 2480 y(to)k(zero.)53
b(F)-8 b(or)35 b(the)g(routine)e Fv(GE)p 1119 2480 V
33 w(ADD)p 1345 2480 V 32 w(I)p FK(,)h(if)g Fv(lda)f
FK(is)h(less)f(than)h(one)h(or)f(less)g(than)g Fv(m)p
FK(,)i(an)e(error)g(\015ag)g(is)g(set)h(and)0 2593 y(passed)e(to)i(the)
f(error)g(handler.)49 b(F)-8 b(or)35 b(the)f(routine)f
Fv(GB)p 1939 2593 V 32 w(ADD)p 2164 2593 V 32 w(I)p FK(,)h(if)f
Fv(lda)g FK(is)g(less)h(than)f Fv(kl)h FK(plus)e Fv(ku)j
FK(plus)d(one,)j(an)0 2706 y(error)27 b(\015ag)h(is)e(set)i(and)f
(passed)g(to)h(the)g(error)f(handler.)38 b(F)-8 b(or)28
b(the)g(routines)e Fv(SY)p 2698 2706 V 32 w(ADD)p 2923
2706 V 32 w(I)p FK(,)i Fv(TR)p 3154 2706 V 32 w(ADD)p
3379 2706 V 32 w(I)p FK(,)g Fv(SP)p 3598 2706 V 32 w(ADD)p
3823 2706 V 31 w(I)p FK(,)0 2819 y(and)35 b Fv(TP)p 307
2819 V 33 w(ADD)p 533 2819 V 31 w(I)p FK(,)h(if)f Fv(lda)g
FK(is)f(less)h(than)h(one)g(or)f Fv(lda)g FK(is)g(less)g(than)g
Fv(n)p FK(,)i(an)e(error)h(\015ag)g(is)e(set)i(and)f(passed)g(to)i(the)
0 2932 y(error)26 b(handler.)38 b(F)-8 b(or)27 b(the)g(routines)f
Fv(SB)p 1357 2932 V 31 w(ADD)p 1581 2932 V 32 w(I)h FK(and)f
Fv(TB)p 1961 2932 V 32 w(ADD)p 2186 2932 V 32 w(I)p FK(,)h(if)e
Fv(lda)h FK(is)g(less)g(than)g Fv(k)h FK(plus)e(one,)j(an)e(error)h
(\015ag)0 3044 y(is)i(set)i(and)f(passed)g(to)h(the)g(error)f(handler.)
136 3245 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3481 y FD(General:)514 3593 y(SUBROUTINE)45 b(ge_add_i\()g(a,)i(b,)g(c)
h([,)f(alpha])f([,)h(beta])g(\))227 3706 y(General)f(Band:)514
3819 y(SUBROUTINE)f(gb_add_i\()g(a,)i(m,)g(kl,)g(b,)g(c)h([,)f(alpha])f
([,)h(beta])g(\))227 3932 y(Symmetric:)514 4045 y(SUBROUTINE)e
(sy_add_i\()g(a,)i(b,)g(c)h([,)f(uplo],)f([,)h(alpha])f([,)h(beta])g
(\))227 4158 y(Symmetric)f(Band:)514 4271 y(SUBROUTINE)f(sb_add_i\()g
(a,)i(b,)g(c)h([,)f(uplo],)f([,)h(alpha])f([,)h(beta])g(\))227
4384 y(Symmetric)f(Packed:)514 4497 y(SUBROUTINE)f(sp_add_i\()g(ap,)i
(bp,)g(cp)g([,)g(uplo],)f([,)h(alpha])f([,)i(beta])e(\))227
4610 y(Triangular:)514 4723 y(SUBROUTINE)f(tr_add_i\()g(a,)i(b,)g(c)h
([,)f(uplo],)f([,)h(diag])g([,)g(alpha])f([,)h(beta])f(\))227
4835 y(Triangular)f(Band:)514 4948 y(SUBROUTINE)g(tb_add_i\()g(a,)i(b,)
g(c)h([,)f(uplo],)f([,)h(diag])g([,)g(alpha])f([,)h(beta])f(\))227
5061 y(Triangular)f(Packed:)514 5174 y(SUBROUTINE)g(tp_add_i\()g(ap,)i
(bp,)g(cp)g([,)g(uplo],)f([,)h(diag])g([,)g(alpha])f([,)h(beta])g(\))
227 5287 y(all:)514 5400 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))
g(::)j(a\(:,:\))e(|)h(ap\(:\),)f(b\(:,:\))g(|)i(bp\(:\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 255 265
255 264 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(255)514 91 y FD(INTEGER,)45 b(INTENT\(IN\))g(::)i(m,)h
(kl)514 204 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(INOUT\))g(::)i
(c\(:,:\))f(|)h(cp\(:\))514 317 y(TYPE\(INTERVAL\))d(\(<wp>\),)h
(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)514 430
y(TYPE\(blas_uplo_type\),)c(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514
543 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(diag)418 656 y(where)466 769 y(assuming)e(A,)j(B)f(and)g(C)g(all)g
(the)g(same)g(\(general,)e(banded)h(or)h(packed\))f(with)466
882 y(the)h(same)f(size.)514 995 y(a,)h(b)g(and)g(c)h(have)e(shape)h
(\(m,n\))f(for)h(general)f(matrix)1564 1108 y(\(l,n\))g(for)h(general)f
(banded)g(matrix)g(\(l)h(>)h(kl\))1564 1220 y(\(n,n\))e(for)h
(symmetric)e(or)i(triangular)1564 1333 y(\(k+1,n\))e(for)i(symmetric)f
(banded)g(or)h(triangular)1945 1446 y(banded)g(\(k=band)e(width\))514
1559 y(ap,)i(bp)g(and)g(cp)g(have)f(shape)h(\(n*\(n+1\)/2\).)136
1809 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227
2059 y FD(General:)514 2172 y(SUBROUTINE)45 b(BLAS_xGE_ADD_I\()e(M,)k
(N,)h(ALPHA,)e(A,)h(LDA,)g(BETA,)f(B,)h(LDB,)g(C,)g(LDC)g(\))227
2285 y(General)f(Band:)514 2398 y(SUBROUTINE)f(BLAS_xGB_ADD_I\()e(M,)k
(N,)h(KL,)f(KU,)f(ALPHA,)h(A,)g(LDA,)f(BETA,)h(B,)g(LDB,)466
2511 y($)1288 b(C,)47 b(LDC)g(\))227 2623 y(Symmetric:)514
2736 y(SUBROUTINE)e(BLAS_xSY_ADD_I\()e(UPLO,)k(N,)g(ALPHA,)f(A,)h(LDA,)
g(BETA,)f(B,)h(LDB,)g(C,)466 2849 y($)1288 b(LDC)47 b(\))227
2962 y(Symmetric)f(Band:)514 3075 y(SUBROUTINE)f(BLAS_xSB_ADD_I\()e
(UPLO,)k(N,)g(K,)g(ALPHA,)f(A,)h(LDA,)g(BETA,)f(B,)h(LDB,)466
3188 y($)1288 b(C,)47 b(LDC)g(\))227 3301 y(Symmetric)f(Packed:)514
3414 y(SUBROUTINE)f(BLAS_xSP_ADD_I\()e(UPLO,)k(N,)g(ALPHA,)f(AP,)h
(BETA,)f(BP,)h(CP)g(\))227 3527 y(Triangular:)514 3640
y(SUBROUTINE)e(BLAS_xTR_ADD_I\()e(UPLO,)k(DIAG,)f(N,)h(ALPHA,)f(A,)h
(LDA,)g(BETA,)f(B,)466 3753 y($)1288 b(LDB,)47 b(C,)g(LDC)g(\))227
3866 y(Triangular)e(Band:)514 3978 y(SUBROUTINE)g(BLAS_xTB_ADD_I\()e
(UPLO,)k(DIAG,)f(N,)h(K,)g(ALPHA,)f(A,)i(LDA,)e(BETA,)h(B,)466
4091 y($)1288 b(LDB,)47 b(C,)g(LDC)g(\))227 4204 y(Triangular)e
(Packed:)514 4317 y(SUBROUTINE)g(BLAS_xTP_ADD_I\()e(UPLO,)k(DIAG,)f(N,)
h(ALPHA,)f(AP,)h(BETA,)g(BP,)f(CP)i(\))227 4430 y(all:)514
4543 y(INTEGER)570 b(DIAG,)47 b(K,)g(KL,)g(KU,)g(LDA,)f(LDB,)h(M,)g(N,)
g(TRANS,)g(UPLO)514 4656 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g
(2)g(\))514 4769 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h
(AP\()e(2,)i(*)f(\),)g(B\()g(2,)h(LDB,)e(*)i(\))466 4882
y($)906 b(or)48 b(BP\()f(2,)g(*)g(\),)g(C\()h(2,)f(LDC,)f(*)i(\))f(or)g
(CP\()g(2,)h(*)f(\))136 5132 y FJ(\017)f FK(C)30 b(binding:)227
5381 y FD(General:)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 256 266
256 265 bop 0 -165 a FK(256)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(void)47 b(BLAS_xge_add_i\()
d(enum)i(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)g(<interval>)e
(alpha,)1230 204 y(const)h(<interval_array>)d(a,)k(int)g(lda,)g
(<interval>)e(beta,)1230 317 y(const)h(<interval_array>)d(b,)k(int)g
(ldb,)g(<interval_array>)c(c,)1230 430 y(int)j(ldc)h(\);)227
543 y(General)f(Band:)227 656 y(void)h(BLAS_xgb_add_i\()d(enum)i
(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)g(int)g
(ku,)1230 769 y(<interval>)e(alpha,)h(const)g(<interval_array>)d(a,)48
b(int)e(lda,)1230 882 y(<interval>)f(beta,)h(const)g(<interval_array>)e
(b,)j(int)g(ldb,)1230 995 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227
1108 y(Symmetric:)227 1220 y(void)g(BLAS_xsy_add_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
1333 y(int)j(n,)i(<interval>)d(alpha,)h(const)g(<interval_array>)d(a,)
1230 1446 y(int)j(lda,)h(<interval>)e(beta,)h(const)h(<interval_array>)
c(b,)1230 1559 y(int)j(ldb,)h(<interval_array>)c(c,)48
b(int)f(ldc)f(\);)227 1672 y(Symmetric)g(Band:)227 1785
y(void)h(BLAS_xsb_add_i\()d(enum)i(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)c(uplo,)1230 1898 y(int)j(n,)i(int)f(k,)g(<interval>)e
(alpha,)h(const)g(<interval_array>)e(a,)1230 2011 y(int)i(lda,)h
(<interval>)e(beta,)h(const)h(<interval_array>)c(b,)1230
2124 y(int)j(ldb,)h(<interval_array>)c(c,)48 b(int)f(ldc)f(\);)227
2237 y(Symmetric)g(Packed:)227 2350 y(void)h(BLAS_xsp_add_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
2462 y(int)j(n,)i(<interval>)d(alpha,)h(const)g(<interval_array>)d(ap,)
1230 2575 y(<interval>)i(beta,)h(const)g(<interval_array>)e(bp,)1230
2688 y(<interval_array>)f(cp)k(\);)227 2801 y(Triangular:)227
2914 y(void)g(BLAS_xtr_add_i\()d(enum)i(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)c(uplo,)1230 3027 y(enum)j(blas_diag_type)e
(diag,)i(int)h(n,)h(<interval>)d(alpha,)1230 3140 y(const)h
(<interval_array>)d(a,)k(int)g(lda,)g(<interval>)e(beta,)1230
3253 y(const)h(<interval_array>)d(b,)k(int)g(ldb,)g(<interval_array>)c
(c,)1230 3366 y(int)j(ldc)h(\);)227 3479 y(Triangular)e(Band:)227
3592 y(void)i(BLAS_xtb_add_i\()d(enum)i(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)c(uplo,)1230 3704 y(int)j(n,)i(enum)e
(blas_diag_type)e(diag,)j(int)f(k,)i(<interval>)d(alpha,)1230
3817 y(const)h(<interval_array>)d(a,)k(int)g(lda,)g(<interval>)e(beta,)
1230 3930 y(const)h(<interval_array>)d(b,)k(int)g(ldb,)g
(<interval_array>)c(c,)1230 4043 y(int)j(ldc)h(\);)227
4156 y(Triangular)e(Packed:)227 4269 y(void)i(BLAS_xtp_add_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
4382 y(int)j(n,)i(enum)e(blas_diag_type)e(diag,)j(<interval>)e(alpha,)
1230 4495 y(const)h(<interval_array>)d(ap,)k(<interval>)e(beta,)1230
4608 y(const)h(<interval_array>)d(bp,)k(<interval_array>)d(cp)j(\);)0
4858 y Fv(Interval)30 b(Matrix-Matrix)e(Op)s(erations)0
5029 y FK(In)i(the)g(follo)m(wing)f(sp)s(eci\014cations,)60
b(op\()p Fy(X)7 b FK(\))31 b(denotes)g Fy(X)38 b FK(or)30
b Fy(X)2178 4996 y Fw(T)2264 5029 y FK(where)g Fy(X)37
b FK(is)30 b(a)h(matrix.)p 0 5126 3900 4 v 0 5265 a(GEMM)p
304 5265 28 4 v 34 w(I)f(\(General)g(in)m(terv)-5 b(al)30
b(matrix)g(matrix)f(pro)s(duct\))772 b FG(C)25 b FJ( )g
Fy(\013)31 b FK(op\()p FG(A)p FK(\))g(op\()p FG(B)q FK(\))20
b(+)g Fy(\014)5 b FG(C)p FK(.)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 257 267
257 266 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(257)0 91 y(This)21 b(routine)g(p)s(erforms)g(a)i
(general)g(in)m(terv)-5 b(al)21 b(matrix)h(matrix)g(m)m(ultiply)e
FG(C)25 b FJ( )g Fy(\013)31 b FK(op\()p FG(A)p FK(\))g(op\()p
FG(B)p FK(\))5 b(+)g Fy(\014)g FG(C)o FK(,)24 b(where)f
Fy(\013)0 204 y FK(and)d Fy(\014)26 b FK(are)21 b(in)m(terv)-5
b(als,)21 b(and)f FG(A)p FK(,)j FG(B)q FK(,)f(and)e FG(C)g
FK(are)h(general)g(in)m(terv)-5 b(al)19 b(matrices.)38
b(This)19 b(routine)g(returns)h(immediately)0 317 y(if)33
b Fv(m)i FK(or)f Fv(n)h FK(or)f Fv(k)h FK(is)e(less)h(than)g(or)h
(equal)f(to)h(zero.)53 b(If)34 b Fv(lda)g FK(is)g(less)f(than)h(one)h
(or)g(less)e(than)i Fv(m)p FK(,)g(or)g(if)e Fv(ldb)h
FK(is)g(less)0 430 y(than)e(one)g(or)g(less)f(than)h
Fv(k)p FK(,)h(or)f(if)f Fv(ldc)h FK(is)f(less)g(than)g(one)i(or)f(less)
f(than)h Fv(m)p FK(,)g(an)g(error)g(\015ag)g(is)f(set)h(and)g(passed)f
(to)0 543 y(the)g(error)f(handler.)136 738 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 968 y FD(SUBROUTINE)45
b(gemm_i\()g(a,)j(b,)f(c)g([,)g(transa])f([,)h(transb])f([,)h(alpha])g
([,)g(beta])f(\))514 1081 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(IN\))g(::)j(a\(:,:\),)d(b\(:,:\))514 1194 y(TYPE\(INTERVAL\))f
(\(<wp>\),)h(INTENT\(INOUT\))g(::)i(c\(:,:\))514 1307
y(TYPE\(blas_trans_type\),)41 b(INTENT\(IN\),)k(OPTIONAL)h(::)h
(transa,)f(transb)514 1420 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)418 1533
y(where)514 1646 y(c)h(has)g(shape)f(\(m,n\))514 1759
y(a)h(has)g(shape)f(\(m,k\))h(if)g(transa)f(=)h(blas_no_trans)e(\(the)h
(default\))1086 1872 y(\(k,m\))h(if)g(transa)f(/=)h(blas_no_trans)514
1985 y(b)g(has)g(shape)f(\(k,n\))h(if)g(transb)f(=)h(blas_no_trans)e
(\(the)h(default\))1086 2097 y(\(n,k\))h(if)g(transb)f(/=)h
(blas_no_trans)136 2327 y FJ(\017)f FK(F)-8 b(ortran)31
b(77)h(binding:)514 2557 y FD(SUBROUTINE)45 b(BLAS_xGEMM_I\()f(TRANSA,)
i(TRANSB,)f(M,)j(N,)f(K,)g(ALPHA,)f(A,)h(LDA,)466 2670
y($)1193 b(B,)47 b(LDB,)g(BETA,)f(C,)h(LDC)g(\))514 2783
y(INTEGER)570 b(K,)48 b(LDA,)e(LDB,)h(LDC,)g(M,)g(N,)g(TRANSA,)f
(TRANSB)514 2896 y(<type>)618 b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))
514 3009 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\),)f(B\()g(2,)g(LDB,)
g(*)h(\),)466 3122 y($)906 b(C\()48 b(2,)f(LDC,)f(*)i(\))136
3352 y FJ(\017)e FK(C)30 b(binding:)227 3582 y FD(void)47
b(BLAS_xgemm_i\()d(enum)j(blas_order_type)c(order,)j(enum)h
(blas_trans_type)d(transa,)1134 3695 y(enum)j(blas_trans_type)c
(transb,)j(int)h(m,)g(int)g(n,)g(int)g(k,)1134 3808 y(<interval>)e
(alpha,)94 b(const)46 b(<interval_array>)e(a,)j(int)g(lda,)1134
3920 y(const)f(<interval_array>)e(b,)j(int)g(ldb,)g(<interval>)e(beta,)
1134 4033 y(<interval_array>)e(c,)48 b(int)f(ldc)f(\);)p
0 4245 3900 4 v 0 4384 a FK(SYMM)p 290 4384 28 4 v 33
w(I)30 b(\(Symmetric)g(in)m(terv)-5 b(al)29 b(matrix)h(matrix)g(pro)s
(duct\))249 b FG(C)25 b FJ( )g Fy(\013)p FG(AB)c FK(+)f
Fy(\014)5 b FG(C)30 b FK(or)g FG(C)25 b FJ( )g Fy(\013)p
FG(B)q(A)20 b FK(+)g Fy(\014)5 b FG(C)p FK(.)0 4610 y(These)44
b(routines)g(p)s(erform)f(one)i(of)g(the)g(symmetric)f(in)m(terv)-5
b(al)44 b(matrix)g(op)s(erations)g FG(C)k FJ( )h Fy(\013)p
FG(A)q(B)30 b FK(+)g Fy(\014)5 b FG(C)44 b FK(or)0 4723
y FG(C)25 b FJ( )g Fy(\013)p FG(B)q(A)19 b FK(+)g Fy(\014)5
b FG(C)29 b FK(where)g Fy(\013)h FK(and)g Fy(\014)k FK(are)d(in)m(terv)
-5 b(als,)29 b FG(A)h FK(is)e(a)i(symmetric)g(in)m(terv)-5
b(al)28 b(matrix,)i(and)f FG(B)h FK(and)f FG(C)h FK(are)0
4835 y(general)h(in)m(terv)-5 b(al)30 b(matrices.)42
b(This)30 b(routine)f(returns)h(immediately)f(if)h Fv(m)h
FK(or)g Fv(n)g FK(is)f(less)g(than)h(or)g(equal)f(to)i(zero.)0
4948 y(F)-8 b(or)34 b Fv(side)f FK(equal)g(to)i Fv(blas)p
854 4948 V 32 w(left)p 1009 4948 V 32 w(side)p FK(,)f(and)f(if)g
Fv(lda)f FK(is)h(less)g(than)g(one)g(or)h(less)f(than)g
Fv(m)p FK(,)h(or)g(if)e Fv(ldb)h FK(is)g(less)f(than)i(one)0
5061 y(or)d(less)f(than)g Fv(m)p FK(,)i(or)e(if)g Fv(ldc)h
FK(is)f(less)g(than)g(one)h(or)g(less)f(than)h Fv(m)p
FK(,)g(an)g(error)f(\015ag)h(is)f(set)h(and)g(passed)f(to)h(the)g
(error)0 5174 y(handler.)46 b(F)-8 b(or)33 b Fv(side)g
FK(equal)f(to)h Fv(blas)p 1221 5174 V 32 w(right)p 1431
5174 V 33 w(side)p FK(,)g(and)f(if)g Fv(lda)g FK(is)g(less)g(than)g
(one)h(or)g(less)f(than)g Fv(n)p FK(,)h(or)g(if)f Fv(ldb)g
FK(is)g(less)0 5287 y(than)h(one)g(or)g(less)f(than)g
Fv(n)p FK(,)i(or)f(if)f Fv(ldc)h FK(is)f(less)g(than)g(one)h(or)g(less)
g(than)f Fv(n)p FK(,)i(an)f(error)f(\015ag)h(is)f(set)i(and)e(passed)g
(to)0 5400 y(the)f(error)f(handler.)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 258 268
258 267 bop 0 -165 a FK(258)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(95)h(binding:)514 332 y FD(SUBROUTINE)45
b(symm_i\()g(a,)j(b,)f(c)g([,)g(side])g([,)g(uplo])f([,)i(alpha])e([,)h
(beta])f(\))514 445 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(INOUT\))g
(::)i(c\(:,:\))514 558 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g
(::)j(a\(:,:\),)d(b\(:,:\))514 671 y(TYPE\(blas_side_type\),)d
(INTENT\(IN\),)i(OPTIONAL)i(::)h(side)514 784 y
(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514
897 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\),)g(OPTIONAL)h(::)h
(alpha,)f(beta)418 1010 y(where)514 1122 y(c)h(has)g(shape)f(\(m,n\),)g
(b)i(same)f(shape)f(as)h(c)561 1235 y(SY)95 b(a)48 b(has)f(shape)f
(\(m,m\))g(if)i(side)e(=)i(blas_left_side)c(\(the)i(default\))752
1348 y(a)i(has)f(shape)f(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)136
1589 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
1830 y FD(SUBROUTINE)45 b(BLAS_xSYMM_I\()f(SIDE,)i(UPLO,)h(M,)g(N,)g
(ALPHA,)f(A,)h(LDA,)g(B,)466 1943 y($)1193 b(LDB,)46
b(BETA,)h(C,)g(LDC)g(\))514 2056 y(INTEGER)570 b(LDA,)47
b(LDB,)g(LDC,)f(M,)i(N,)f(SIDE,)f(UPLO)514 2169 y(<type>)618
b(ALPHA\()47 b(2)g(\),)g(BETA\()g(2)g(\))514 2282 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\),)f(B\()g(2,)g(LDB,)g(*)h(\),)466
2394 y($)906 b(C\()48 b(2,)f(LDC,)f(*)i(\))136 2635 y
FJ(\017)e FK(C)30 b(binding:)227 2876 y FD(void)47 b(BLAS_xsymm_i\()d
(enum)j(blas_order_type)c(order,)j(enum)h(blas_side_type)d(side,)1134
2989 y(enum)j(blas_uplo_type)d(uplo,)i(int)h(m,)g(int)g(n,)g
(<interval>)e(alpha,)1134 3102 y(const)h(<interval_array>)e(a,)j(int)g
(lda,)g(const)f(<interval_array>)d(b,)1134 3215 y(int)k(ldb,)g
(<interval>)e(beta,)h(<interval_array>)d(c,)48 b(int)e(ldc)h(\);)p
0 3437 3900 4 v 0 3576 a FK(TRMM)p 304 3576 28 4 v 33
w(I)30 b(\(T)-8 b(riangular)29 b(in)m(terv)-5 b(al)29
b(matrix)h(matrix)g(pro)s(duct\))1842 3757 y FG(B)25
b FJ( )g Fy(\013)p FG(T)q(B)p Fy(;)15 b FG(B)26 b FJ( )f
Fy(\013)p FG(T)2650 3721 y Fw(T)2705 3757 y FG(B)q FK(,)30
b FG(B)c FJ( )f Fy(\013)p FG(B)q(T)p FK(,)30 b(or)h FG(B)25
b FJ( )g Fy(\013)p FG(B)q(T)3845 3721 y Fw(T)0 3938 y
FK(These)31 b(routines)e(p)s(erform)h(one)h(of)g(the)g(in)m(terv)-5
b(al)30 b(matrix)g(op)s(erations)g FG(B)d FJ( )f Fy(\013)p
FG(TB)p Fy(;)15 b FG(B)27 b FJ( )f Fy(\013)p FG(T)3266
3902 y Fw(T)3321 3938 y FG(B)q FK(,)31 b FG(B)26 b FJ( )g
Fy(\013)p FG(B)q(T)p FK(,)0 4051 y(or)31 b FG(B)26 b
FJ( )g Fy(\013)p FG(B)q(T)534 4015 y Fw(T)590 4051 y
FK(,)31 b(where)f Fy(\013)h FK(is)f(an)h(in)m(terv)-5
b(al,)30 b FG(T)g FK(is)g(a)h(unit,)f(or)h(non-unit,)e(upp)s(er)g(or)i
(lo)m(w)m(er)g(triangular)e(in)m(terv)-5 b(al)0 4164
y(matrix,)29 b(and)h FG(B)g FK(is)e(a)j(general)e(in)m(terv)-5
b(al)29 b(matrix.)40 b(This)28 b(routine)h(returns)f(immediately)g(if)h
Fv(m)h FK(or)g Fv(n)f FK(is)g(less)g(than)0 4277 y(or)i(equal)h(to)g
(zero.)45 b(F)-8 b(or)32 b Fv(side)f FK(equal)g(to)i
Fv(blas)p 1543 4277 V 32 w(left)p 1698 4277 V 32 w(side)p
FK(,)f(and)f(if)f Fv(ldt)h FK(is)g(less)g(than)g(one)h(or)f(less)g
(than)g Fv(m)p FK(,)h(or)g(if)e Fv(ldb)0 4390 y FK(is)g(less)h(than)g
(one)h(or)f(less)g(than)g Fv(m)p FK(,)h(an)f(error)g(\015ag)g(is)g(set)
g(and)g(passed)g(to)h(the)g(error)e(handler.)42 b(F)-8
b(or)32 b Fv(side)f FK(equal)0 4503 y(to)g Fv(blas)p
264 4503 V 32 w(right)p 474 4503 V 33 w(side)p FK(,)g(and)f(if)g
Fv(ldt)g FK(is)g(less)g(than)g(one)h(or)g(less)f(than)g
Fv(n)p FK(,)h(or)g(if)f Fv(ldb)g FK(is)g(less)g(than)g(one)h(or)g(less)
f(than)h Fv(m)p FK(,)0 4616 y(an)f(error)g(\015ag)h(is)e(set)i(and)f
(passed)g(to)h(the)g(error)f(handler.)136 4820 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 5061 y FD(SUBROUTINE)45
b(trmm_i\()g(t,)j(b)f([,)g(side])g([,)g(uplo])f([,)h(transt])f([,)h
(diag])g(&)1420 5174 y([,)h(alpha])e(\))514 5287 y(TYPE\(INTERVAL\))e
(\(<wp>\),)h(INTENT\(INOUT\))g(::)i(b\(:,:\))514 5400
y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j(t\(:,:\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 259 269
259 268 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(259)514 91 y FD(TYPE\(blas_side_type\),)89
b(INTENT\(IN\),)45 b(OPTIONAL)h(::)h(side)514 204 y
(TYPE\(blas_trans_type\),)41 b(INTENT\(IN\),)k(OPTIONAL)h(::)h(transt)
514 317 y(TYPE\(blas_diag_type\),)89 b(INTENT\(IN\),)45
b(OPTIONAL)h(::)h(diag)514 430 y(TYPE\(blas_uplo_type\),)89
b(INTENT\(IN\),)45 b(OPTIONAL)h(::)h(uplo)514 543 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)418
656 y(where)514 769 y(b)h(has)g(shape)f(\(m,n\))561 882
y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))g(if)i(side)e(=)i
(blas_left_side)c(\(the)i(default\))752 995 y(t)i(has)f(shape)f
(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)136 1238 y
FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 1482
y FD(SUBROUTINE)45 b(BLAS_xTRMM_I\()f(SIDE,)i(UPLO,)h(TRANST,)e(DIAG,)i
(M,)g(N,)g(ALPHA,)466 1595 y($)1193 b(T,)47 b(LDT,)g(B,)g(LDB)g(\))514
1707 y(INTEGER)570 b(DIAG,)47 b(LDA,)f(LDB,)h(M,)g(N,)g(SIDE,)g
(TRANST,)f(UPLO)514 1820 y(<type>)618 b(ALPHA\()47 b(2)g(\))514
1933 y(<type>)618 b(T\()48 b(2,)f(LDA,)f(*)i(\),)f(B\()g(2,)g(LDB,)g(*)
h(\))136 2177 y FJ(\017)e FK(C)30 b(binding:)227 2420
y FD(void)47 b(BLAS_xtrmm_i\()d(enum)j(blas_order_type)c(order,)j(enum)
h(blas_side_type)d(side,)1134 2533 y(enum)j(blas_uplo_type)d(uplo,)i
(enum)h(blas_trans_type)c(transt,)1134 2646 y(enum)k(blas_diag_type)d
(diag,)i(int)h(m,)g(int)g(n,)g(<interval>)e(alpha,)1134
2759 y(const)h(<interval_array>)e(t,)j(int)g(ldt,)g(<interval_array>)c
(b,)1134 2872 y(int)k(ldb)g(\);)p 0 3089 3900 4 v 0 3228
a FK(TRSM)p 272 3228 28 4 v 32 w(I)30 b(\(In)m(terv)-5
b(al)31 b(triangular)d(solv)m(e\))1333 3411 y FG(B)e
FJ( )f Fy(\013)p FG(T)1680 3375 y Fu(\000)p FC(1)1774
3411 y FG(B)q FK(,)30 b FG(B)c FJ( )f Fy(\013)p FK(\()p
FG(T)2287 3375 y Fu(\000)p FC(1)2381 3411 y FK(\))2416
3378 y Fw(T)2471 3411 y FG(B)q FK(,)30 b FG(B)c FJ( )f
Fy(\013)p FG(B)q(T)3023 3375 y Fu(\000)p FC(1)3147 3411
y FK(or)31 b FG(B)25 b FJ( )g Fy(\013)p FG(B)q FK(\()p
FG(T)3715 3375 y Fu(\000)p FC(1)3810 3411 y FK(\))3845
3378 y Fw(T)0 3595 y FK(These)35 b(routines)f(b)s(ound)e(one)k(of)f
(the)g(matrix)f(equations)h FG(B)e FJ( )g Fy(\013)p FG(T)2421
3558 y Fu(\000)p FC(1)2515 3595 y FG(B)q FK(,)j FG(B)d
FJ( )g Fy(\013)p FK(\()p FG(T)3049 3558 y Fu(\000)p FC(1)3143
3595 y FK(\))3178 3562 y Fw(T)3233 3595 y FG(B)q FK(,)j
FG(B)d FJ( )g Fy(\013)p FG(B)q(T)3806 3558 y Fu(\000)p
FC(1)0 3707 y FK(or)j FG(B)g FJ( )f Fy(\013)p FG(B)q
FK(\()p FG(T)594 3671 y Fu(\000)p FC(1)688 3707 y FK(\))723
3674 y Fw(T)815 3707 y FK(where)h Fy(\013)h FK(is)e(an)h(in)m(terv)-5
b(al,)38 b FG(B)e FK(is)g(a)g(general)h(in)m(terv)-5
b(al)35 b(matrix,)j(and)d FG(T)h FK(is)g(a)h(a)f(unit,)h(or)0
3820 y(non-unit,)31 b(upp)s(er)e(or)j(lo)m(w)m(er)g(triangular)e(in)m
(terv)-5 b(al)31 b(matrix.)44 b(This)30 b(routine)h(returns)g
(immediately)f(if)h Fv(m)g FK(or)h Fv(n)g FK(is)0 3933
y(less)i(than)g(or)g(equal)g(to)h(zero.)53 b(F)-8 b(or)35
b Fv(side)f FK(equal)g(to)h Fv(blas)p 1958 3933 V 32
w(left)p 2113 3933 V 33 w(side)p FK(,)g(and)f(if)f Fv(ldT)h
FK(is)f(less)h(than)g(one)g(or)h(less)e(than)0 4046 y
Fv(m)p FK(,)d(or)e(if)g Fv(ldb)h FK(is)f(less)g(than)h(one)g(or)g(less)
f(than)g Fv(m)p FK(,)i(an)f(error)f(\015ag)i(is)d(set)j(and)e(passed)h
(to)g(the)g(error)g(handler.)38 b(F)-8 b(or)0 4159 y
Fv(side)27 b FK(equal)g(to)h Fv(blas)p 669 4159 V 32
w(right)p 879 4159 V 33 w(side)p FK(,)g(and)f(if)g Fv(ldt)f
FK(is)h(less)g(than)g(one)h(or)f(less)g(than)g Fv(n)p
FK(,)h(or)g(if)e Fv(ldb)h FK(is)g(less)f(than)h(one)h(or)g(less)0
4272 y(than)i Fv(m)p FK(,)h(an)f(error)g(\015ag)h(is)e(set)i(and)f
(passed)g(to)h(the)g(error)f(handler.)136 4479 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 4723 y FD(SUBROUTINE)45
b(trsm_i\()g(t,)j(b)f([,)g(side])g([,)g(uplo])f([,)h(transt])f([,)h
(diag])g([,)g(alpha])f(\))514 4835 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(INOUT\))g(::)i(b\(:,:\))514 4948 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(IN\))g(::)j(t\(:,:\))514 5061 y
(TYPE\(blas_side_type\),)89 b(INTENT\(IN\),)45 b(OPTIONAL)h(::)h(side)
514 5174 y(TYPE\(blas_trans_type\),)41 b(INTENT\(IN\),)k(OPTIONAL)h(::)
h(transt)514 5287 y(TYPE\(blas_diag_type\),)89 b(INTENT\(IN\),)45
b(OPTIONAL)h(::)h(diag)514 5400 y(TYPE\(blas_uplo_type\),)89
b(INTENT\(IN\),)45 b(OPTIONAL)h(::)h(uplo)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 260 270
260 269 bop 0 -165 a FK(260)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)514 91 y FD(TYPE\(INTERVAL\))44
b(\(<wp>\),)h(INTENT\(IN\),)g(OPTIONAL)h(::)h(alpha,)f(beta)418
204 y(where)514 317 y(b)h(has)g(shape)f(\(m,n\))561 430
y(TR)95 b(t)48 b(has)f(shape)f(\(m,m\))g(if)i(side)e(=)i
(blas_left_side)c(\(the)i(default\))752 543 y(t)i(has)f(shape)f
(\(n,n\))g(if)i(side)e(/=)h(blas_left_side)136 793 y
FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 1043
y FD(SUBROUTINE)45 b(BLAS_xTRSM_I\()f(SIDE,)i(UPLO,)h(TRANST,)e(DIAG,)i
(M,)g(N,)g(ALPHA,)466 1156 y($)1050 b(ALPHA,)46 b(T,)h(LDT,)g(B,)g(LDB)
g(\))514 1269 y(INTEGER)570 b(DIAG,)47 b(LDB,)f(LDT,)h(M,)g(N,)g(SIDE,)
g(TRANST,)f(UPLO)514 1381 y(<type>)618 b(ALPHA\()47 b(2)g(\))514
1494 y(<type>)618 b(T\()48 b(2,)f(LDA,)f(*)i(\),)f(B\()g(2,)g(LDB,)g(*)
h(\))136 1744 y FJ(\017)e FK(C)30 b(binding:)227 1994
y FD(void)47 b(BLAS_xtrsm_i\()d(enum)j(blas_order_type)c(order,)j(enum)
h(blas_side_type)d(side,)1134 2107 y(enum)j(blas_uplo_type)d(uplo,)i
(enum)h(blas_trans_type)c(transt,)1134 2220 y(enum)k(blas_diag_type)d
(diag,)i(int)h(m,)g(int)g(n,)g(<interval>)e(alpha,)1134
2333 y(const)h(<interval_array>)e(t,)j(int)g(ldt,)g(<interval_array>)c
(b,)1134 2446 y(int)k(ldb)g(\);)0 2696 y Fv(Data)29 b(Movement)i(with)f
(Interval)g(Matrices)0 2867 y FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 2867 28 4 v 35 w FK(COPY)p
1570 2867 V 32 w(I)30 b(\(Matrix)h(cop)m(y\))1000 b FG(B)26
b FJ( )f FG(A)p Fy(;)15 b FG(B)26 b FJ( )f FG(A)3845
2831 y Fw(T)0 3093 y FK(This)20 b(routine)i(copies)g(an)g(in)m(terv)-5
b(al)22 b(matrix)f(\(or)i(its)e(transp)s(ose\))i FG(A)f
FK(and)g(stores)g(the)h(result)e(in)g(an)h(in)m(terv)-5
b(al)22 b(matrix)0 3206 y FG(B)p FK(.)44 b(Matrices)32
b Fy(A)f FK(\(or)h FG(A)842 3170 y Fw(T)897 3206 y FK(\))f(and)g
Fy(B)36 b FK(ha)m(v)m(e)c(the)f(same)h(storage)h(format.)44
b(This)29 b(routine)h(returns)g(immediately)g(if)0 3319
y Fv(m)j FK(\(for)f(nonsymmetric)g(matrices\),)h Fv(n)p
FK(,)h Fv(k)f FK(\(for)f(symmetric)g(band)g(matrices\),)h(or)g
Fv(kl)f FK(or)h Fv(ku)g FK(\(for)f(general)h(band)0 3432
y(matrices\),)e(is)f(less)f(than)i(or)f(equal)g(to)h(zero.)42
b(F)-8 b(or)32 b(the)e(routine)g Fv(GE)p 2341 3432 V
32 w(COPY)p 2617 3432 V 33 w(I)p FK(,)h(if)e Fv(trans)h
FK(equal)g(to)h Fv(blas)p 3533 3432 V 32 w(no)p 3657
3432 V 33 w(trans)p FK(,)0 3545 y(and)h(if)g Fv(lda)g
FK(is)g(less)g(than)g(one)h(or)g(less)f(than)h Fv(m)p
FK(,)g(or)g(if)f Fv(ldb)g FK(is)g(less)g(than)h(one)g(or)f(less)g(than)
h Fv(m)p FK(,)h(an)e(error)h(\015ag)g(is)0 3658 y(set)d(and)g(passed)f
(to)i(the)f(error)f(handler.)39 b(F)-8 b(or)30 b(the)g(routine)f
Fv(GE)p 2210 3658 V 33 w(COPY)p 2487 3658 V 32 w(I)p
FK(,)h(if)f Fv(trans)g FK(equal)h(to)g Fv(blas)p 3399
3658 V 32 w(trans)p FK(,)g(and)f(if)0 3771 y Fv(lda)i
FK(is)f(less)h(than)g(one)h(or)f(less)g(than)g Fv(m)p
FK(,)h(or)g(if)e Fv(ldb)h FK(is)g(less)g(than)g(one)h(or)f(less)g(than)
g Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)f(set)h(and)0
3884 y(passed)g(to)h(the)f(error)g(handler.)44 b(F)-8
b(or)33 b(the)g(routine)e Fv(GB)p 1922 3884 V 32 w(COPY)p
2198 3884 V 32 w(I)p FK(,)i(if)e Fv(lda)h FK(is)f(less)g(than)h
Fv(kl)h FK(plus)d Fv(ku)i FK(plus)f(one,)i(or)0 3996
y(if)e Fv(ldb)h FK(is)f(less)g(than)h Fv(kl)g FK(plus)e
Fv(ku)j FK(plus)d(one,)j(an)f(error)f(\015ag)i(is)e(set)h(and)g(passed)
f(to)i(the)f(error)g(handler.)44 b(F)-8 b(or)33 b(the)0
4109 y(routines)28 b Fv(SY)p 465 4109 V 32 w(COPY)p 741
4109 V 33 w(I)h FK(and)g Fv(TR)p 1125 4109 V 32 w(COPY)p
1401 4109 V 33 w(I)p FK(,)h(if)e Fv(lda)h FK(is)f(less)h(than)g(one)h
(or)g(less)e(than)h Fv(n)p FK(,)h(or)g(if)e Fv(ldb)h
FK(is)g(less)f(than)i(one)0 4222 y(or)d(less)f(than)h
Fv(n)p FK(,)h(an)f(error)g(\015ag)g(is)g(set)g(and)g(passed)f(to)i(the)
f(error)g(handler.)38 b(F)-8 b(or)28 b(the)f(routines)f
Fv(SB)p 3398 4222 V 32 w(COPY)p 3674 4222 V 32 w(I)i
FK(and)0 4335 y Fv(TB)p 128 4335 V 32 w(COPY)p 404 4335
V 33 w(I)p FK(,)33 b(if)f Fv(lda)g FK(is)g(less)g(than)h
Fv(k)g FK(plus)e(one,)j(or)f(if)f Fv(ldb)g FK(is)g(less)h(than)f
Fv(k)i FK(plus)c(one,)35 b(an)d(error)h(\015ag)g(is)f(set)i(and)0
4448 y(passed)c(to)h(the)g(error)f(handler.)136 4661
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
4911 y FD(General:)514 5023 y(SUBROUTINE)45 b(ge_copy_i\()g(a,)i(b)g
([,)g(transa])f(\))227 5136 y(General)g(Band:)514 5249
y(SUBROUTINE)f(gb_copy_i\()g(a,)i(kl,)g(b)g([,)g(transa])f(\))227
5362 y(Symmetric:)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 261 271
261 270 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(261)514 91 y FD(SUBROUTINE)45 b(sy_copy_i\()g(a,)i(b)g
([,)g(uplo])g(\))227 204 y(Symmetric)f(Band:)514 317
y(SUBROUTINE)f(sb_copy_i\()g(a,)i(b)g([,)g(uplo])g(\))227
430 y(Symmetric)f(Packed:)514 543 y(SUBROUTINE)f(sp_copy_i\()g(ap,)i
(bp)g([,)g(uplo])f(\))227 656 y(Triangular:)514 769 y(SUBROUTINE)f
(tr_copy_i\()g(a,)i(b)g([,)g(uplo],)g([,)g(trans])f([,)h(diag])f(\))227
882 y(Triangular)f(Band:)514 995 y(SUBROUTINE)g(tb_copy_i\()g(a,)i(b)g
([,)g(uplo],)g([,)g(trans])f([,)h(diag])f(\))227 1108
y(Triangular)f(Packed:)514 1220 y(SUBROUTINE)g(tp_copy_i\()g(ap,)i(bp)g
([,)g(uplo],)f([,)h(trans])f([,)h(diag])g(\))227 1333
y(all:)514 1446 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(OUT\))g(::)i
(b\(:,:\))f(|)i(bp\(:\))514 1559 y(TYPE\(INTERVAL\))c(\(<wp>\),)h
(INTENT\(IN\))g(::)j(a\(:,:\))e(|)h(ap\(:\))514 1672
y(INTEGER,)e(INTENT\(IN\))g(::)i(kl)514 1785 y
(TYPE\(blas_trans_type\),I)o(NTEN)o(T\(I)o(N\),)41 b(OPTIONAL)46
b(::)h(trans)514 1898 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i
(OPTIONAL)i(::)h(uplo)514 2011 y(TYPE\(blas_diag_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418 2124 y(where)466
2237 y(If)g(trans)f(=)i(blas_no_trans)c(\(the)j(default\))609
2350 y(a,)g(b)h(have)e(shape)h(\(m,n\))f(for)h(general)f(matrix)1373
2462 y(\(l,n\))g(for)h(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))1373
2575 y(\(n,n\))e(for)h(symmetric)e(or)i(triangular)1373
2688 y(\(k+1,n\))f(for)g(symmetric)g(banded)g(or)h(triangular)1755
2801 y(banded)f(\(k=band)f(width\))609 2914 y(ap)i(and)g(bp)g(have)g
(shape)f(\(n*\(n+1\)/2\).)466 3140 y(If)h(trans)f(\\=)i(blas_no_trans)
609 3253 y(a)g(has)e(shape)h(\(m,n\))f(and)h(b)h(has)e(shape)h(\(n,m\))
f(for)h(general)f(matrix)1182 3366 y(\(l,n\))g(and)h(b)h(has)e(shape)h
(\(l,m\))f(for)h(general)f(banded)g(matrix)g(\(l>kl\))609
3479 y(a)i(and)e(b)i(have)f(shape)f(\(n,n\))g(for)h(symmetric)e(or)j
(triangular)1516 3592 y(\(k+1,n\))e(for)h(symmetric)e(banded)h(or)h
(triangular)1945 3704 y(banded)g(\(k=band)e(width\))609
3817 y(ap)i(and)g(bp)g(have)g(shape)f(\(n*\(n+1\)/2\).)136
4044 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)227
4271 y FD(General:)514 4384 y(SUBROUTINE)45 b(BLAS_xGE_COPY_I\()e
(TRANS,)j(M,)h(N,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227 4497
y(General)f(Band:)514 4610 y(SUBROUTINE)f(BLAS_xGB_COPY_I\()e(TRANS,)j
(M,)h(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(B,)g(LDB)g(\))227
4723 y(Symmetric:)514 4835 y(SUBROUTINE)e(BLAS_xSY_COPY_I\()e(UPLO,)j
(N,)i(A,)f(LDA,)f(B,)i(LDB)e(\))227 4948 y(Symmetric)g(Band:)514
5061 y(SUBROUTINE)f(BLAS_xSB_COPY_I\()e(UPLO,)j(N,)i(K,)f(A,)g(LDA,)g
(B,)g(LDB)g(\))227 5174 y(Symmetric)f(Packed:)514 5287
y(SUBROUTINE)f(BLAS_xSP_COPY_I\()e(UPLO,)j(N,)i(AP,)e(BP)i(\))227
5400 y(Triangular:)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 262 272
262 271 bop 0 -165 a FK(262)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)514 91 y FD(SUBROUTINE)45
b(BLAS_xTR_COPY_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(A,)g(LDA,)g(B,)g
(LDB)g(\))227 204 y(Triangular)e(Band:)514 317 y(SUBROUTINE)g
(BLAS_xTB_COPY_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(K,)g(A,)g(LDA,)g(B,)
g(LDB)g(\))227 430 y(Triangular)e(Packed:)514 543 y(SUBROUTINE)g
(BLAS_xTP_COPY_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(AP,)g(BP)g(\))227
656 y(all:)514 769 y(INTEGER)570 b(DIAG,)47 b(LDA,)f(LDB,)h(N,)g(K,)g
(KL,)g(KU,)g(TRANS,)f(UPLO)514 882 y(<type>)618 b(A\()48
b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(B\()g(2,)h(LDB,)e(*)i
(\))466 995 y($)906 b(or)48 b(BP\()f(2,)g(*)g(\))136
1245 y FJ(\017)f FK(C)30 b(binding:)227 1469 y FD(General:)227
1582 y(void)47 b(BLAS_xge_copy_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_trans_type)e(transa,)1277 1695 y(int)j(m,)g(int)g(n,)g
(const)g(<interval_array>)c(a,)k(int)g(lda,)1277 1808
y(<interval_array>)d(b,)j(int)g(ldb)g(\);)227 1921 y(General)f(Band:)
227 2034 y(void)h(BLAS_xgb_copy_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_trans_type)e(transa,)1277 2147 y(int)j(m,)g(int)g(n,)g
(int)g(kl,)g(int)g(ku,)g(const)f(<interval_array>)e(a,)1277
2260 y(int)j(lda,)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
2373 y(Symmetric:)227 2486 y(void)g(BLAS_xsy_copy_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
2599 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
2711 y(<interval_array>)d(b,)j(int)g(ldb)g(\);)227 2824
y(Symmetric)f(Band:)227 2937 y(void)h(BLAS_xsb_copy_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
3050 y(int)j(n,)g(int)g(k,)g(const)g(<interval_array>)c(a,)k(int)g
(lda,)1277 3163 y(<interval_array>)d(b,)j(int)g(ldb)g(\);)227
3276 y(Symmetric)f(Packed:)227 3389 y(void)h(BLAS_xsp_copy_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
3502 y(int)j(n,)g(const)g(<interval_array>)c(ap,)k(<interval_array>)c
(bp)48 b(\);)227 3615 y(Triangular:)227 3728 y(void)f
(BLAS_xtr_copy_i\()c(enum)k(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1277 3841 y(enum)j(blas_trans_type)d(trans,)i
(enum)g(blas_diag_type)e(diag,)1277 3954 y(int)j(n,)g(const)g
(<interval_array>)c(a,)k(int)g(lda,)1277 4066 y(<interval_array>)d(b,)j
(int)g(ldb)g(\);)227 4179 y(Triangular)e(Band:)227 4292
y(void)i(BLAS_xtb_copy_i\()c(enum)k(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1277 4405 y(enum)j(blas_trans_type)d(trans,)i
(enum)g(blas_diag_type)e(diag,)1277 4518 y(int)j(n,)g(int)g(k,)g(const)
g(<interval_array>)c(a,)k(int)g(lda,)1277 4631 y(<interval_array>)d(b,)
j(int)g(ldb)g(\);)227 4744 y(Triangular)e(Packed:)227
4857 y(void)i(BLAS_xtp_copy_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4970 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 5083 y(int)j(n,)g(const)g
(<interval_array>)c(ap,)k(<interval_array>)c(bp)48 b(\);)p
0 5289 3900 4 v 4084 64 a FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 263 273
263 272 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(263)0 91 y(GE)p 138 91 28 4 v 33 w(TRANS)p
491 91 V 32 w(I)30 b(\(Matrix)h(transp)s(osition\))2069
b FG(A)26 b FJ( )f FG(A)3845 55 y Fw(T)0 317 y FK(This)33
b(routine)h(p)s(erforms)f(the)i(transp)s(osition)e(of)i(a)g(square)g
(in)m(terv)-5 b(al)34 b(matrix)g FG(A)h FK(and)f(o)m(v)m(erwrites)i
(the)f(matrix)0 430 y FG(A)p FK(.)40 b(This)27 b(routine)g(returns)g
(immediately)g(if)g Fv(n)h FK(is)g(less)f(than)i(or)f(equal)g(to)h
(zero.)41 b(If)28 b Fv(lda)f FK(is)h(less)f(than)i(one)f(or)h(less)0
543 y(than)h Fv(n)p FK(,)h(an)f(error)g(\015ag)h(is)e(set)i(and)f
(passed)g(to)h(the)f(error)g(handler.)136 731 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 952 y FD(SUBROUTINE)92
b(ge_trans_i\()45 b(a)j(\))514 1065 y(TYPE\(INTERVAL\))c(\(<wp>\),)h
(INTENT\(INOUT\))g(::)i(a\(:,:\))418 1178 y(where)514
1291 y(a)g(has)g(shape)f(\(n,n\))136 1512 y FJ(\017)g
FK(F)-8 b(ortran)31 b(77)h(binding:)514 1733 y FD(SUBROUTINE)45
b(BLAS_xGE_TRANS_I\()e(N,)k(A,)g(LDA)g(\))514 1846 y(INTEGER)570
b(LDA,)47 b(N)514 1959 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))136
2180 y FJ(\017)e FK(C)30 b(binding:)227 2401 y FD(void)47
b(BLAS_xge_trans_i\()c(int)k(n,)g(<interval_array>)c(a,)48
b(int)f(lda)f(\);)p 0 2603 3900 4 v 0 2742 a FK(GE)p
138 2742 28 4 v 33 w(PERMUTE)p 641 2742 V 32 w(I)30 b(\(P)m(erm)m(ute)i
(an)e(in)m(terv)-5 b(al)30 b(matrix)g(\))1099 b FG(A)26
b FJ( )f Fy(P)13 b FG(A)30 b FK(or)h FG(A)25 b FJ( )g
FG(A)p Fy(P)0 2968 y FK(This)j(routine)h(p)s(erm)m(utes)g(the)i(ro)m
(ws)f(or)f(columns)g(of)h(an)g(in)m(terv)-5 b(al)29 b(matrix)g
FG(A)h FK(b)m(y)g(the)g(p)s(erm)m(utation)f(matrix)h
Fy(P)13 b FK(.)0 3081 y(This)33 b(routine)i(returns)e(immediately)h(if)
g Fv(m)h FK(or)g Fv(n)h FK(is)e(less)g(than)h(or)g(equal)g(to)h(zero.)
56 b(As)35 b(describ)s(ed)e(in)h(section)0 3194 y(2.5.3,)i(the)d(v)-5
b(alue)32 b Fv(incp)h FK(less)f(than)h(zero)h(is)e(p)s(ermitted.)47
b(Ho)m(w)m(ev)m(er,)36 b(if)c Fv(incp)g FK(is)g(equal)h(to)h(zero,)g
(an)f(error)g(\015ag)g(is)0 3307 y(set)g(and)f(passed)f(to)i(the)g
(error)f(handler.)44 b(If)32 b Fv(lda)g FK(is)f(less)h(than)g(one)g(or)
h(less)e(than)h Fv(m)p FK(,)i(an)e(error)g(\015ag)g(is)g(set)h(and)0
3420 y(passed)d(to)h(the)g(error)f(handler.)136 3608
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3829 y FD(SUBROUTINE)92 b(ge_permute_i\()45 b(p,)i(a)g([,)g(side])g(\))
514 3942 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(INOUT\))g(::)i
(a\(:,:\))514 4055 y(INTEGER,)e(INTENT\(IN\))g(::)i(p\(:\))514
4167 y(TYPE\(blas_side_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(side)418 4280 y(where)514 4393 y(a)g(has)g(shape)f(\(m,n\))514
4506 y(p)h(has)g(shape)f(\(k\))h(where)g(k)g(=)h(m)f(if)g(side)g(=)g
(blas_left_side)1564 4619 y(k)g(=)h(n)f(if)g(side)g(=)g
(blas_right_side)136 4840 y FJ(\017)f FK(F)-8 b(ortran)31
b(77)h(binding:)514 5061 y FD(SUBROUTINE)45 b(BLAS_xGE_PERMUTE_I\()d
(SIDE,)47 b(M,)g(N,)g(P,)g(INCP,)f(A,)i(LDA)f(\))514
5174 y(INTEGER)570 b(INCP,)47 b(LDA,)f(M,)i(N,)f(SIDE)514
5287 y(INTEGER)570 b(P\()48 b(*)f(\))514 5400 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 264 274
264 273 bop 0 -165 a FK(264)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FK(The)g(v)-5
b(alue)30 b(of)h FD(INCP)f FK(ma)m(y)h(b)s(e)f(p)s(ositiv)m(e)f(or)i
(negativ)m(e.)43 b(A)30 b(negativ)m(e)i(v)-5 b(alue)30
b(of)h FD(INCP)e FK(applies)g(the)i(p)s(erm)m(u-)227
204 y(tation)g(in)e(the)i(opp)s(osite)e(direction.)136
389 y FJ(\017)46 b FK(C)30 b(binding:)227 627 y FD(void)47
b(BLAS_xge_permute_i\()42 b(enum)47 b(blas_order_type)d(order,)i(enum)g
(blas_side_type)e(side,)1420 740 y(int)j(m,)h(int)e(n,)i(const)e(int)h
(*p,)g(int)g(incp,)1420 853 y(<interval_array>)d(a,)j(int)g(lda)g(\);)
227 1091 y FK(The)30 b(v)-5 b(alue)30 b(of)h FD(incp)f
FK(ma)m(y)h(b)s(e)f(p)s(ositiv)m(e)f(or)i(negativ)m(e.)43
b(A)30 b(negativ)m(e)i(v)-5 b(alue)30 b(of)h FD(incp)e
FK(applies)g(the)i(p)s(erm)m(u-)227 1204 y(tation)g(in)e(the)i(opp)s
(osite)e(direction.)0 1443 y Fv(Set)h(Op)s(erations)g(Involving)g
(Interval)h(V)m(ecto)m(rs)0 1614 y FK(ENCV)p 269 1614
28 4 v 33 w(I)f(\(Chec)m(ks)h(if)e(an)h(in)m(terv)-5
b(al)30 b(v)m(ector)i(is)d(enclosed)h(in)f(another)i(in)m(terv)-5
b(al)29 b(v)m(ector\))361 b(T)-8 b(rue)30 b(if)f FG(x)d
FJ(\022)f FG(y)0 1840 y FK(This)j(routine)g(c)m(hec)m(ks)j(if)d(an)h
(in)m(terv)-5 b(al)29 b(v)m(ector)i FG(x)e FK(is)g(enclosed)g(in)f
(another)h(in)m(terv)-5 b(al)29 b(v)m(ector)i FG(y)p
FK(.)40 b(W)-8 b(e)31 b(sa)m(y)f(that)g(an)0 1953 y(in)m(terv)-5
b(al)26 b(v)m(ector)j FG(x)f FK(is)e(enclosed)h(in)f
FG(y)p FK(,)i(denoted)f(as)h FG(x)d FJ(\022)g FG(y)p
FK(,)j(if)e(and)h(only)f(if)h Fy(y)2642 1967 y Fw(i)p
2597 1984 73 4 v 2695 1953 a FJ(\024)e Fy(x)2843 1967
y Fw(i)p 2791 1980 81 4 v 2896 1953 a FJ(\024)p 2992
1904 V 25 w Fy(x)3044 1967 y Fw(i)3097 1953 y FJ(\024)p
3193 1904 73 4 v 25 w Fy(y)3238 1967 y Fw(i)3266 1953
y FJ(8)p Fy(i)p FK(.)39 b(This)26 b(routine)0 2066 y(returns)k
(immediately)f(if)h Fv(n)h FK(is)g(less)f(than)h(or)g(equal)g(to)h
(zero.)43 b(As)32 b(describ)s(ed)d(in)g(section)j(2.5.3,)h(the)e(v)-5
b(alue)31 b Fv(incx)0 2179 y FK(or)e Fv(incy)g FK(less)g(than)g(zero)h
(is)e(p)s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)32 b(if)c
Fv(incx)h FK(or)g Fv(incy)h FK(is)e(equal)h(to)h(zero,)g(an)f(error)g
(\015ag)h(is)e(set)i(and)0 2292 y(passed)g(to)h(the)g(error)f(handler.)
136 2494 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)561
2733 y FD(LOGICAL)46 b(FUNCTION)g(encv_i\(x,)f(y\))561
2846 y(TYPE\(INTERVAL\))f(\(<wp>\),)i(INTENT\(IN\))f(::)i(x\(:\),)g
(y\(:\))466 2959 y(where)561 3071 y(x)h(and)f(y)g(have)g(shape)f(\(n\))
136 3310 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
3548 y FD(LOGICAL)45 b(FUNCTION)h(BLAS_xENCV_I\()e(N,)j(X,)h(INCX,)e
(Y,)h(INCY)g(\))514 3661 y(INTEGER)570 b(N,)48 b(INCX,)e(INCY)514
3774 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136
4012 y FJ(\017)f FK(C)30 b(binding:)227 4251 y FD(int)47
b(BLAS_xencv_i\()d(int)j(n,)g(const)g(<interval_array>)c(x,)k(int)g
(incx,)1086 4364 y(const)g(<interval_array>)c(y,)k(int)g(incy)g(\);)p
0 4583 3900 4 v 0 4723 a FK(INTERIOR)-10 b(V)p 530 4723
28 4 v 32 w(I)30 b(\(If)g(an)g(in)m(terv)-5 b(al)30 b(v)m(ector)i(is)d
(in)g(the)i(in)m(terior)e(of)i(another)f(in)m(terv)-5
b(al)30 b(v)m(ector\))179 b(T)-8 b(rue)30 b(if)f FG(x)d
FJ(\032)f FG(y)0 4948 y FK(This)31 b(routine)i(c)m(hec)m(ks)h(if)e(an)i
(in)m(terv)-5 b(al)32 b(v)m(ector)j FG(x)e FK(is)f(enclosed)h(in)f(the)
i(in)m(terior)e(of)h(another)g(in)m(terv)-5 b(al)33 b(v)m(ector)i
FG(y)p FK(.)0 5061 y(W)-8 b(e)38 b(sa)m(y)g(that)g(an)f(in)m(terv)-5
b(al)37 b(v)m(ector)h FG(x)g FK(is)e(enclosed)h(in)f(the)h(in)m(terior)
f(of)i FG(y)p FK(,)h(denoted)e(as)h FG(x)e FJ(\032)h
FG(y)p FK(,)i(if)d(and)h(only)0 5174 y(if)g Fy(y)136
5188 y Fw(i)p 91 5205 73 4 v 202 5174 a Fy(<)g(x)362
5188 y Fw(i)p 310 5201 81 4 v 428 5174 a FJ(\024)p 537
5125 V 38 w Fy(x)589 5188 y Fw(i)655 5174 y Fy(<)p 764
5125 73 4 v 38 w(y)809 5188 y Fw(i)837 5174 y FJ(8)p
Fy(i)p FK(.)63 b(This)36 b(routine)h(returns)g(immediately)f(if)h
Fv(n)h FK(is)f(less)h(than)f(or)h(equal)g(to)h(zero.)64
b(As)0 5287 y(describ)s(ed)25 b(in)g(section)i(2.5.3,)j(the)d(v)-5
b(alue)26 b Fv(incx)h FK(or)g Fv(incy)g FK(less)f(than)h(zero)g(is)f(p)
s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)29 b(if)d Fv(incx)h
FK(or)g Fv(incy)0 5400 y FK(is)i(equal)h(to)h(zero,)h(an)e(error)g
(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 265 275
265 274 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(265)136 91 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)561 341 y FD(LOGICAL)46 b(FUNCTION)g(interiorv_i\(x,)e
(y\))561 454 y(TYPE\(INTERVAL\))g(\(<wp>\),)i(INTENT\(IN\))f(::)i
(x\(:\),)g(y\(:\))466 567 y(where)561 680 y(x)h(and)f(y)g(have)g(shape)
f(\(n\))136 930 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
1180 y FD(LOGICAL)45 b(FUNCTION)h(BLAS_xINTERIORV_I\()d(N,)k(X,)g
(INCX,)g(Y,)g(INCY)f(\))514 1293 y(INTEGER)570 b(N,)48
b(INCX,)e(INCY)514 1406 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h
(2,)f(*)g(\))136 1655 y FJ(\017)f FK(C)30 b(binding:)227
1905 y FD(int)47 b(BLAS_xinteriorv_i\()c(int)k(n,)g(const)f
(<interval_array>)e(x,)j(int)g(incx,)1325 2018 y(const)f
(<interval_array>)e(y,)j(int)g(incy)f(\);)p 0 2250 3900
4 v 0 2389 a FK(DISJV)p 273 2389 28 4 v 32 w(I)31 b(\(Chec)m(ks)f(if)g
(t)m(w)m(o)i(in)m(terv)-5 b(al)29 b(v)m(ectors)j(disjoin)m(t\))1294
b(T)-8 b(rue)30 b(if)f FG(x)20 b FJ(\\)g FG(y)26 b FK(=)f
FJ(;)0 2615 y FK(This)31 b(routine)h(c)m(hec)m(ks)i(if)d(t)m(w)m(o)j
(in)m(terv)-5 b(al)32 b(v)m(ectors)i FG(x)f FK(and)f
FG(y)h FK(are)g(disjoin)m(t,)f(whic)m(h)f(means)i(that)g
FG(x)3369 2629 y Fw(i)3418 2615 y FJ(\\)22 b FG(y)3556
2636 y Fw(i)3613 2615 y FK(=)29 b FJ(;)k FK(for)0 2727
y(some)d Fy(i)p FK(.)41 b(This)27 b(routine)i(returns)f(immediately)g
(if)g Fv(n)h FK(is)g(less)g(than)g(or)g(equal)g(to)i(zero.)41
b(As)29 b(describ)s(ed)f(in)g(section)0 2840 y(2.5.3,)j(the)e(v)-5
b(alue)28 b Fv(incx)g FK(or)h Fv(incy)g FK(less)e(than)i(zero)g(is)f(p)
s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)31 b(if)c Fv(incx)i
FK(or)f Fv(incy)h FK(is)f(equal)g(to)h(zero,)h(an)0 2953
y(error)g(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g
(handler.)136 3166 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)561 3416 y FD(LOGICAL)46 b(FUNCTION)g(disjv_i\(x,)f
(y\))561 3529 y(TYPE\(INTERVAL\))f(\(<wp>\),)i(INTENT\(IN\))f(::)i
(x\(:\),)g(y\(:\))466 3641 y(where)561 3754 y(x)h(and)f(y)g(have)g
(shape)f(\(n\))136 4004 y FJ(\017)g FK(F)-8 b(ortran)31
b(77)h(binding:)514 4254 y FD(LOGICAL)45 b(FUNCTION)h(BLAS_xDISJV_I\()e
(N,)j(X,)g(INCX,)g(Y,)g(INCY)f(\))514 4367 y(INTEGER)570
b(N,)48 b(INCX,)e(INCY)514 4480 y(<type>)618 b(X\()48
b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136 4730 y FJ(\017)f
FK(C)30 b(binding:)227 4980 y FD(int)47 b(BLAS_xdisjv_i\()d(int)j(n,)g
(const)g(<interval_array>)c(x,)k(int)g(incx,)1134 5093
y(const)f(<interval_array>)e(y,)j(int)g(incy)g(\);)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 266 276
266 275 bop 0 -165 a FK(266)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)p 0 91 3900 4 v 0 230
a FK(INTER)-10 b(V)p 359 230 28 4 v 32 w(I)30 b(\(In)m(tersection)h(of)
g(an)f(in)m(terv)-5 b(al)30 b(v)m(ector)i(with)d(another\))1110
b FG(y)25 b FJ( )g FG(x)c FJ(\\)f FG(y)p FK(.)0 456 y(This)27
b(routine)i(\014nds)e(the)j(in)m(tersection)f(of)g(t)m(w)m(o)i(in)m
(terv)-5 b(al)28 b(v)m(ectors)j FG(x)f FK(and)e FG(y)p
FK(,)i(and)f(stores)h(the)f(result)f(in)g FG(y)p FK(.)41
b(This)0 569 y(routine)36 b(returns)f(immediately)g(if)g
Fv(n)i FK(is)e(less)h(than)g(or)h(equal)f(to)h(zero.)60
b(As)36 b(describ)s(ed)f(in)g(section)i(2.5.3,)j(the)0
682 y(v)-5 b(alue)28 b Fv(incx)h FK(or)g Fv(incy)g FK(less)f(than)g
(zero)i(is)e(p)s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)31
b(if)d Fv(incx)h FK(or)g Fv(incy)f FK(is)g(equal)h(to)g(zero,)h(an)f
(error)g(\015ag)0 795 y(is)g(set)i(and)f(passed)g(to)h(the)g(error)f
(handler.)136 981 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)561 1199 y FD(SUBROUTINE)45 b(interv_i\()h(x,)h(y)g(\))
561 1312 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(IN\))f(::)i(x\(:\))
561 1425 y(TYPE\(INTERVAL\))d(\(<wp>\),)i(INTENT\(INOUT\))e(::)j
(y\(:\))466 1538 y(where)561 1651 y(x)h(and)f(y)g(have)g(shape)f(\(n\))
136 1870 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
2088 y FD(SUBROUTINE)45 b(BLAS_xINTERV_I\()e(N,)k(X,)h(INCX,)e(Y,)h
(INCY)g(\))514 2201 y(INTEGER)570 b(N,)48 b(INCX,)e(INCY)514
2314 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136
2533 y FJ(\017)f FK(C)30 b(binding:)227 2751 y FD(void)47
b(BLAS_xinterv_i\()d(int)i(n,)i(const)e(<interval_array>)d(x,)48
b(int)e(incx,)1230 2864 y(<interval_array>)d(y,)k(int)g(incy)g(\);)p
0 3064 3900 4 v 0 3203 a FK(WINTER)-10 b(V)p 452 3203
28 4 v 33 w(I)30 b(\(In)m(tersection)h(of)f(t)m(w)m(o)i(in)m(terv)-5
b(al)30 b(v)m(ectors\))1486 b FG(z)25 b FJ( )g FG(x)c
FJ(\\)f FG(y)p FK(.)0 3429 y(This)27 b(routine)h(\014nds)f(the)j(in)m
(tersection)e(of)h(t)m(w)m(o)i(in)m(terv)-5 b(al)28 b(v)m(ectors)i
FG(x)f FK(and)g FG(y)p FK(,)g(and)g(stores)g(the)g(result)f(in)g
(another)0 3542 y(in)m(terv)-5 b(al)30 b(v)m(ector)i
FG(z)q FK(.)41 b(This)29 b(routine)g(returns)h(immediately)f(if)g
Fv(n)i FK(is)f(less)g(than)g(or)h(equal)f(to)h(zero.)42
b(As)31 b(describ)s(ed)0 3655 y(in)e(section)i(2.5.3,)h(the)f(v)-5
b(alue)30 b Fv(incx)g FK(or)h Fv(incy)f FK(or)h Fv(incz)f
FK(less)g(than)g(zero)h(is)f(p)s(ermitted.)39 b(Ho)m(w)m(ev)m(er,)33
b(if)d Fv(incx)p FK(,)g Fv(incy)p FK(,)h(or)0 3768 y
Fv(incz)f FK(is)f(equal)h(to)h(zero,)h(an)e(error)g(\015ag)h(is)e(set)i
(and)f(passed)g(to)h(the)f(error)g(handler.)136 3954
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4172 y FD(SUBROUTINE)45 b(winterv_i\(x,)f(y,)j(z)h(\))514
4285 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(IN\))g(::)j(x\(:\),)e
(y\(:\))514 4398 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(OUT\))g(::)i
(z\(:\))418 4511 y(where)514 4624 y(x,)g(y)g(and)g(z)h(have)e(shape)h
(\(n\))136 4843 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
5061 y FD(SUBROUTINE)45 b(BLAS_xWINTERV_I\()e(N,)k(X,)g(INCX,)g(Y,)g
(INCY,)f(Z,)h(INCZ)g(\))514 5174 y(INTEGER)570 b(SIDE,)47
b(LDA,)f(M,)i(N)514 5287 y(INTEGER)570 b(N,)48 b(INCX,)e(INCY,)g(INCZ)
514 5400 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,*)f(\),)g(Z\()g
(2,)g(*)h(\))4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 267 277
267 276 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(267)136 91 y FJ(\017)46 b FK(C)30 b(binding:)227
322 y FD(void)47 b(BLAS_xwinterv_i\()c(int)k(n,)g(const)g
(<interval_array>)c(x,)k(int)g(incx,)1230 435 y(const)f
(<interval_array>)d(y,)k(int)g(incy,)1230 548 y(<interval_array>)c(z,)k
(int)g(incz)g(\);)p 0 760 3900 4 v 0 899 a FK(HULL)-10
b(V)p 313 899 28 4 v 33 w(I)30 b(\(Con)m(v)m(ex)i(h)m(ull)c(of)i(an)h
(in)m(terv)-5 b(al)29 b(v)m(ector)j(with)d(another\))37
b FG(y)25 b FJ( )30 b FK(a)h(con)m(v)m(ex)h(set)f(whic)m(h)e(con)m
(tains)i FG(x)20 b FJ([)g FG(y)0 1125 y FK(This)31 b(routine)h
(computes)h(a)g(con)m(v)m(ex)i(set)e(whic)m(h)f(con)m(tains)h(b)s(oth)f
(in)m(terv)-5 b(al)32 b(v)m(ectors)i FG(x)f FK(and)f
FG(y)q FK(,)h(and)f(o)m(v)m(erwrites)0 1238 y(the)k(input)d(in)m(terv)
-5 b(al)35 b(v)m(ector)i FG(y)e FK(with)f(the)i(result.)55
b(This)33 b(routine)i(returns)f(immediately)g(if)g Fv(n)i
FK(is)e(less)h(than)g(or)0 1351 y(equal)40 b(to)g(zero.)71
b(As)40 b(describ)s(ed)e(in)h(section)h(2.5.3,)45 b(the)40
b(v)-5 b(alue)40 b Fv(incx)g FK(or)g Fv(incy)g FK(less)f(than)h(zero)h
(is)e(p)s(ermitted.)0 1464 y(Ho)m(w)m(ev)m(er,)33 b(if)c
Fv(incx)h FK(or)h Fv(incy)f FK(is)f(equal)h(to)h(zero,)h(an)e(error)g
(\015ag)h(is)e(set)i(and)f(passed)g(to)h(the)f(error)g(handler.)136
1660 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
1891 y FD(SUBROUTINE)45 b(hullv_i\()g(x,)i(y)h(\))514
2004 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(IN\))g(::)j(x\(:\))514
2117 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(INOUT\))g(::)i(y\(:\))418
2230 y(where)514 2343 y(x)g(and)g(y)g(have)g(shape)f(\(n\))136
2574 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
2805 y FD(SUBROUTINE)45 b(BLAS_xHULLV_I\()f(N,)j(X,)g(INCX,)f(Y,)h
(INCY)g(\))514 2918 y(INTEGER)570 b(N,)48 b(INCX,)e(INCY)514
3030 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\))136
3261 y FJ(\017)f FK(C)30 b(binding:)227 3492 y FD(void)47
b(BLAS_xhullv_i\()d(int)j(n,)g(const)f(<interval_array>)e(x,)j(int)g
(incx,)1182 3605 y(<interval_array>)c(y,)k(int)g(incy)g(\);)p
0 3818 3900 4 v 0 3957 a FK(WHULL)-10 b(V)p 406 3957
28 4 v 33 w(I)30 b(\(Con)m(v)m(ex)i(h)m(ull)c(of)j(t)m(w)m(o)h(in)m
(terv)-5 b(al)29 b(v)m(ectors\))387 b FG(z)26 b FJ( )k
FK(a)h(con)m(v)m(ex)h(set)f(whic)m(h)e(con)m(tains)h
FG(x)21 b FJ([)f FG(y)p FK(.)0 4182 y(This)32 b(routine)h(\014nds)g(a)h
(con)m(v)m(ex)i(h)m(ull)c(of)i(t)m(w)m(o)i(in)m(terv)-5
b(al)33 b(v)m(ectors)j FG(x)e FK(and)f FG(y)p FK(,)j(and)d(stores)i
(the)f(result)f(in)g(another)0 4295 y(in)m(terv)-5 b(al)30
b(v)m(ector)i FG(z)q FK(.)41 b(This)29 b(routine)g(returns)h
(immediately)f(if)g Fv(n)i FK(is)f(less)g(than)g(or)h(equal)f(to)h
(zero.)42 b(As)31 b(describ)s(ed)0 4408 y(in)f(section)i(2.5.3,)i(the)e
(v)-5 b(alue)31 b Fv(incx)h(incy)p FK(,)g(or)f Fv(incz)h
FK(less)f(than)g(zero)h(is)f(p)s(ermitted.)43 b(Ho)m(w)m(ev)m(er,)35
b(if)30 b Fv(incx)i FK(or)f Fv(incy)h FK(or)0 4521 y
Fv(incz)e FK(is)f(equal)h(to)h(zero,)h(an)e(error)g(\015ag)h(is)e(set)i
(and)f(passed)g(to)h(the)f(error)g(handler.)136 4717
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
4948 y FD(SUBROUTINE)45 b(whullv_i\()g(x,)i(y,)g(z)h(\))514
5061 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(IN\))g(::)j(x\(:\),)e
(y\(:\))514 5174 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(OUT\))g(::)i
(z\(:\))418 5287 y(where)514 5400 y(x,)g(y)g(and)g(z)h(have)e(shape)h
(\(n\))-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 268 278
268 277 bop 0 -165 a FK(268)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(F)-8 b(ortran)31 b(77)h(binding:)514 341 y FD(SUBROUTINE)45
b(BLAS_xWHULLV_I\()e(N,)k(X,)h(INCX,)e(Y,)h(INCY,)g(Z,)g(INCZ)f(\))514
454 y(INTEGER)570 b(N,)48 b(INCX,)e(INCY,)g(INCZ)514
567 y(<type>)618 b(X\()48 b(2,)f(*)g(\),)g(Y\()h(2,)f(*)g(\),)g(Z\()h
(2,)f(*)g(\))136 817 y FJ(\017)f FK(C)30 b(binding:)227
1067 y FD(void)47 b(BLAS_xwhullv_i\()d(int)i(n,)i(const)e
(<interval_array>)d(x,)48 b(int)e(incx,)1230 1180 y(const)g
(<interval_array>)d(y,)k(int)g(incy,)g(<interval_array>)c(z,)1230
1293 y(int)j(incz)h(\);)p 0 1516 3900 4 v 0 1778 a Fv(Set)30
b(Op)s(erations)g(Involving)g(Interval)h(Matrices)0 1949
y FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1268
1949 28 4 v 35 w FK(ENCM)p 1582 1949 V 33 w(I)30 b(\(If)g(an)g(in)m
(terv)-5 b(al)30 b(matrix)g(is)f(enclosed)h(in)f(another\))188
b(T)-8 b(rue)30 b(if)0 2062 y FG(A)25 b FJ(\022)g FG(B)0
2288 y FK(This)30 b(routine)g(c)m(hec)m(ks)j(if)d(an)i(in)m(terv)-5
b(al)30 b(matrix)h FG(A)h FK(is)e(enclosed)h(in)f(another)i(in)m(terv)
-5 b(al)31 b(matrix)f FG(B)q FK(.)44 b(W)-8 b(e)32 b(sa)m(y)g(that)0
2401 y(an)j(in)m(terv)-5 b(al)34 b(matrix)h FG(A)g FK(is)f(enclosed)h
(in)e(another)j(in)m(terv)-5 b(al)34 b(matrix)g FG(B)q
FK(,)i(denoted)f(as)h FG(A)d FJ(\022)f FG(B)q FK(,)k(if)e(and)h(only)f
(if)0 2514 y FG(a)51 2528 y Fw(i;j)156 2514 y FJ(\022)25
b FG(b)310 2528 y Fw(i;j)421 2514 y FJ(8)p Fy(i)30 b
FK(and)g FJ(8)p Fy(j)5 b FK(.)40 b(Matrices)31 b FG(A)g
FK(and)e FG(B)i FK(ha)m(v)m(e)h(the)e(same)h(storage)h(format.)136
2726 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
2976 y FD(General:)514 3089 y(LOGICAL)45 b(FUNCTION)h(ge_encm_i\()f(a,)
i(b)h(\))227 3202 y(General)e(Band:)514 3315 y(LOGICAL)f(FUNCTION)h
(gb_encm_i\()f(a,)i(m,)g(kl,)g(b)h(\))227 3428 y(Symmetric:)514
3541 y(LOGICAL)d(FUNCTION)h(sy_encm_i\()f(a,)i(b)h([,)f(uplo])f(\))227
3654 y(Symmetric)g(Band:)514 3767 y(LOGICAL)f(FUNCTION)h(sb_encm_i\()f
(a,)i(b)h([,)f(uplo])f(\))227 3880 y(Symmetric)g(Packed:)514
3992 y(LOGICAL)f(FUNCTION)h(sp_encm_i\()f(ap,)i(bp)g([,)g(uplo])g(\))
227 4105 y(Triangular:)514 4218 y(LOGICAL)e(FUNCTION)h(tr_encm_i\()f
(a,)i(b)h([,)f(uplo])f([,)h(diag])g(\))227 4331 y(Triangular)e(Band:)
514 4444 y(LOGICAL)g(FUNCTION)h(tb_encm_i\()f(a,)i(b)h([,)f(uplo])f([,)
h(diag])g(\))227 4557 y(Triangular)e(Packed:)514 4670
y(LOGICAL)g(FUNCTION)h(tp_encm_i\()f(ap,)i(bp)g([,)g(uplo],)f([,)i
(diag])e(\))227 4783 y(all:)514 4896 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(IN\))g(::)j(a\(:,:\))e(|)h(ap\(:\),)94 b(b\(:,:\))46
b(|)h(bp\(:\))514 5009 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i
(OPTIONAL)i(::)h(uplo)514 5122 y(TYPE\(blas_diag_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418 5234 y(where)561
5347 y(a)h(and)f(b)g(have)g(shape)f(\(m,)h(n\))g(for)g(general)f
(matrix)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 269 279
269 278 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(269)1468 91 y FD(\(l,)47 b(n\))g(for)g(general)f
(banded)g(matrix)g(\(l)h(>)h(kl\))1468 204 y(\(n,)f(n\))g(for)g
(symmetric)e(or)j(triangular)1468 317 y(\(p+1,)f(n\))g(for)g(symmetric)
e(banded)h(or)h(triangular)1802 430 y(banded)f(\(p)i(=)f(band)g
(width\))561 543 y(ap)h(and)e(bp)i(have)e(shape)h(\(n*\(n+1\)/2\))136
793 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227
1043 y FD(General:)514 1156 y(LOGICAL)45 b(FUNCTION)h
(BLAS_xGE_ENCM_I\()d(M,)48 b(N,)f(A,)g(LDA,)g(B,)g(LDB\))227
1269 y(General)f(Band:)514 1381 y(LOGICAL)f(FUNCTION)h
(BLAS_xGB_ENCM_I\()d(M,)48 b(N,)f(KL,)g(KU,)g(A,)g(LDA,)f(B,)i(LDB)e
(\))227 1494 y(Symmetric:)514 1607 y(LOGICAL)f(FUNCTION)h
(BLAS_xSY_ENCM_I\()d(N,)48 b(A,)f(LDA,)f(B,)i(LDB)e(\))227
1720 y(Symmetric)g(Band:)514 1833 y(LOGICAL)f(FUNCTION)h
(BLAS_xSB_ENCM_I\()d(N,)48 b(K,)f(A,)g(LDA,)g(B,)g(LDB)g(\))227
1946 y(Symmetric)f(Packed:)514 2059 y(LOGICAL)f(FUNCTION)h
(BLAS_xSP_ENCM_I\()d(N,)48 b(AP,)e(BP)i(\))227 2172 y(Triangular:)514
2285 y(LOGICAL)d(FUNCTION)h(BLAS_xTR_ENCM_I\()d(N,)48
b(A,)f(LDA,)f(B,)i(LDB)e(\))227 2398 y(Triangular)f(Band:)514
2511 y(LOGICAL)g(FUNCTION)h(BLAS_xTB_ENCM_I\()d(N,)48
b(K,)f(A,)g(LDA,)g(B,)g(LDB)g(\))227 2623 y(Triangular)e(Packed:)514
2736 y(LOGICAL)g(FUNCTION)h(BLAS_xTP_ENCM_I\()91 b(N,)47
b(AP,)g(BP)g(\))227 2849 y(all:)514 2962 y(INTEGER)570
b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(B,)h
(LDB)514 3075 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e
(2,)i(*)f(\),)g(B\()g(2,)h(LDA,)e(*)i(\))466 3188 y($)906
b(or)48 b(BP\()f(2,)g(*)g(\))136 3438 y FJ(\017)f FK(C)30
b(binding:)227 3663 y FD(General:)227 3776 y(int)47 b
(BLAS_xge_encm_i\()d(enum)i(blas_order_type)e(order,)i(int)h(m,)g(int)g
(n,)1230 3889 y(const)f(<interval_array>)d(a,)k(int)g(lda,)1230
4002 y(const)f(<interval_array>)d(b,)k(int)g(ldb)g(\);)227
4115 y(General)f(Band:)227 4227 y(int)h(BLAS_xgb_encm_i\()d(enum)i
(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)1230
4340 y(int)f(ku,)h(const)g(<interval_array>)c(a,)k(int)g(lda,)1230
4453 y(const)f(<interval_array>)d(b,)k(int)g(ldb)g(\);)227
4566 y(Symmetric:)227 4679 y(int)g(BLAS_xsy_encm_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
4792 y(int)j(n,)i(const)e(<interval_array>)d(a,)48 b(int)e(lda,)1230
4905 y(const)g(<interval_array>)d(b,)k(int)g(ldb)g(\);)227
5018 y(Symmetric)f(Band:)227 5131 y(int)h(BLAS_xsb_encm_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
5244 y(int)j(n,)i(int)f(k,)g(const)f(<interval_array>)d(a,)48
b(int)f(lda,)1230 5357 y(const)f(<interval_array>)d(b,)k(int)g(ldb)g
(\);)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403
y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214
967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 270 280
270 279 bop 0 -165 a FK(270)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(Symmetric)46
b(Packed:)227 204 y(int)h(BLAS_xsp_encm_i\()d(enum)i(blas_order_type)e
(order,)i(enum)h(blas_uplo_type)c(uplo,)1230 317 y(int)j(n,)i(const)e
(<interval_array>)d(ap,)1230 430 y(const)j(<interval_array>)d(bp)k(\);)
227 543 y(Triangular:)227 656 y(int)g(BLAS_xtr_encm_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
769 y(enum)j(blas_diag_type)e(diag,)i(int)h(n,)1230 882
y(const)f(<interval_array>)d(a,)k(int)g(lda,)1230 995
y(const)f(<interval_array>)d(b,)k(int)g(ldb)g(\);)227
1108 y(Triangular)e(Band:)227 1220 y(int)i(BLAS_xtb_encm_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
1333 y(enum)j(blas_diag_type)e(diag,)i(int)h(n,)h(int)e(k,)1230
1446 y(const)g(<interval_array>)d(a,)k(int)g(lda,)1230
1559 y(const)f(<interval_array>)d(b,)k(int)g(ldb)g(\);)227
1672 y(Triangular)e(Packed:)227 1785 y(int)i(BLAS_xtp_encm_i\()d(enum)i
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)c(uplo,)1230
1898 y(enum)j(blas_diag_type)e(diag,)i(int)h(n,)1230
2011 y(const)f(<interval_array>)d(ap,)k(<interval_array>)d(bp)j(\);)p
0 2212 3900 4 v 0 2351 a FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 2351 28 4 v 35 w FK(INTERIORM)p
1853 2351 V 32 w(I)30 b(\(If)g(an)g(in)m(terv)-5 b(al)29
b(matrix)h(is)f(in)g(the)h(in)m(terior)f(of)i(another)0
2464 y(in)m(terv)-5 b(al)30 b(matrix\))2697 b(T)-8 b(rue)30
b(if)f FG(A)d FJ(\032)f FG(B)0 2690 y FK(This)h(routine)h(c)m(hec)m(ks)
j(if)d(an)h(in)m(terv)-5 b(al)27 b(matrix)g FG(A)h FK(is)f(enclosed)h
(in)e(the)j(in)m(terior)d(of)j(another)f(in)m(terv)-5
b(al)27 b(matrix)g FG(B)q FK(.)0 2803 y(W)-8 b(e)33 b(sa)m(y)g(that)f
(an)g(in)m(terv)-5 b(al)31 b(matrix)g FG(A)h FK(is)f(enclosed)h(in)f
(the)h(in)m(terior)e(of)j(an)e(in)m(terv)-5 b(al)31 b(v)-5
b(atrix)32 b FG(B)p FK(,)h(if)e(and)g(only)g(if)0 2916
y FG(a)51 2930 y Fw(i;j)156 2916 y FJ(\032)25 b FG(b)310
2930 y Fw(i;j)421 2916 y FJ(8)p Fy(i)30 b FK(and)g FJ(8)p
Fy(j)5 b FK(.)40 b(Matrices)31 b FG(A)g FK(and)e FG(B)i
FK(ha)m(v)m(e)h(the)e(same)h(storage)h(format.)136 3123
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3368 y FD(General:)514 3481 y(LOGICAL)45 b(FUNCTION)h(ge_interiorm_i\()
e(a,)j(b)g(\))227 3593 y(General)f(Band:)514 3706 y(LOGICAL)f(FUNCTION)
h(gb_interiorm_i\()e(a,)j(m,)g(kl,)g(b)g(\))227 3819
y(Symmetric:)514 3932 y(LOGICAL)e(FUNCTION)h(sy_interiorm_i\()e(a,)j(b)
g([,)g(uplo])g(\))227 4045 y(Symmetric)f(Band:)514 4158
y(LOGICAL)f(FUNCTION)h(sb_interiorm_i\()e(a,)j(b)g([,)g(uplo])g(\))227
4271 y(Symmetric)f(Packed:)514 4384 y(LOGICAL)f(FUNCTION)h
(sp_interiorm_i\()e(ap,)j(bp)g([,)g(uplo])f(\))227 4497
y(Triangular:)514 4610 y(LOGICAL)f(FUNCTION)h(tr_interiorm_i\()e(a,)j
(b)g([,)g(uplo])g([,)g(diag])f(\))227 4723 y(Triangular)f(Band:)514
4835 y(LOGICAL)g(FUNCTION)h(tb_interiorm_i\()e(a,)j(b)g([,)g(uplo])g
([,)g(diag])f(\))227 4948 y(Triangular)f(Packed:)514
5061 y(LOGICAL)g(FUNCTION)h(tp_interiorm_i\()e(ap,)j(bp)g([,)g(uplo],)f
([,)h(diag])g(\))227 5174 y(all:)514 5287 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\))e(|)h(ap\(:\),)f(b\(:,:\))g
(|)i(bp\(:\))514 5400 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i
(OPTIONAL)i(::)h(uplo)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 271 281
271 280 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(271)514 91 y FD(TYPE\(blas_diag_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418 204 y(where)561
317 y(a)h(and)f(b)g(have)g(shape)f(\(m,)h(n\))g(for)g(general)f(matrix)
1468 430 y(\(l,)h(n\))g(for)g(general)f(banded)g(matrix)g(\(l)h(>)h
(kl\))1468 543 y(\(n,)f(n\))g(for)g(symmetric)e(or)j(triangular)1468
656 y(\(p+1,)f(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1802
769 y(banded)f(\(p)i(=)f(band)g(width\))561 882 y(ap)h(and)e(bp)i(have)
e(shape)h(\(n*\(n+1\)/2\))136 1132 y FJ(\017)f FK(F)-8
b(ortran)31 b(77)h(binding:)227 1381 y FD(General:)514
1494 y(LOGICAL)45 b(FUNCTION)h(BLAS_xGE_INTERIORM_I\()c(M,)47
b(N,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227 1607 y(General)f(Band:)514
1720 y(LOGICAL)f(FUNCTION)h(BLAS_xGB_INTERIORM_I\()c(M,)47
b(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(B,)g(LDB)g(\))227 1833
y(Symmetric:)514 1946 y(LOGICAL)e(FUNCTION)h(BLAS_xSY_INTERIORM_I\()c
(N,)47 b(A,)g(LDA,)g(B,)g(LDB)g(\))227 2059 y(Symmetric)f(Band:)514
2172 y(LOGICAL)f(FUNCTION)h(BLAS_xSB_INTERIORM_I\()c(N,)47
b(K,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227 2285 y(Symmetric)f(Packed:)514
2398 y(LOGICAL)f(FUNCTION)h(BLAS_xSP_INTERIORM_I\()c(N,)47
b(AP,)g(BP)g(\))227 2511 y(Triangular:)514 2623 y(LOGICAL)e(FUNCTION)h
(BLAS_xTR_INTERIORM_I\()c(N,)47 b(A,)g(LDA,)g(B,)g(LDB)g(\))227
2736 y(Triangular)e(Band:)514 2849 y(LOGICAL)g(FUNCTION)h
(BLAS_xTB_INTERIORM_I\()c(N,)47 b(K,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227
2962 y(Triangular)e(Packed:)514 3075 y(LOGICAL)g(FUNCTION)h
(BLAS_xTP_INTERIORM_I\()90 b(N,)47 b(AP,)g(BP)g(\))227
3188 y(all:)514 3301 y(INTEGER)570 b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h
(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(B,)h(LDB)514 3414 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(B\()g(2,)h
(LDA,)e(*)i(\))466 3527 y($)906 b(or)48 b(BP\()f(2,)g(*)g(\))136
3777 y FJ(\017)f FK(C)30 b(binding:)227 4002 y FD(General:)227
4115 y(int)47 b(BLAS_xge_interiorm_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(int)f(m,)i(int)f(n,)1468 4227 y(const)g(<interval_array>)c
(a,)k(int)g(lda,)1468 4340 y(const)g(<interval_array>)c(b,)k(int)g(ldb)
g(\);)227 4453 y(General)f(Band:)227 4566 y(int)h
(BLAS_xgb_interiorm_i\()42 b(enum)47 b(blas_order_type)c(order,)k(int)f
(m,)i(int)f(n,)g(int)g(kl,)1468 4679 y(int)g(ku,)g(const)f
(<interval_array>)e(a,)j(int)g(lda,)1468 4792 y(const)g
(<interval_array>)c(b,)k(int)g(ldb)g(\);)227 4905 y(Symmetric:)227
5018 y(int)g(BLAS_xsy_interiorm_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(enum)f(blas_uplo_type)e(uplo,)1468 5131 y(int)j(n,)g(const)g
(<interval_array>)c(a,)k(int)g(lda,)1468 5244 y(const)g
(<interval_array>)c(b,)k(int)g(ldb)g(\);)227 5357 y(Symmetric)f(Band:)
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 272 282
272 281 bop 0 -165 a FK(272)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(int)47 b
(BLAS_xsb_interiorm_i\()42 b(enum)47 b(blas_order_type)c(order,)k(enum)
f(blas_uplo_type)e(uplo,)1468 204 y(int)j(n,)g(int)g(k,)g(const)g
(<interval_array>)c(a,)k(int)g(lda,)1468 317 y(const)g
(<interval_array>)c(b,)k(int)g(ldb)g(\);)227 430 y(Symmetric)f(Packed:)
227 543 y(int)h(BLAS_xsp_interiorm_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(enum)f(blas_uplo_type)e(uplo,)1468 656 y(int)j(n,)g(const)g
(<interval_array>)c(ap,)1468 769 y(const)k(<interval_array>)c(bp)k(\);)
227 882 y(Triangular:)227 995 y(int)g(BLAS_xtr_interiorm_i\()42
b(enum)47 b(blas_order_type)c(order,)k(enum)f(blas_uplo_type)e(uplo,)
1468 1108 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)1468
1220 y(const)g(<interval_array>)c(a,)k(int)g(lda,)1468
1333 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
1446 y(Triangular)e(Band:)227 1559 y(int)i(BLAS_xtb_interiorm_i\()42
b(enum)47 b(blas_order_type)c(order,)k(enum)f(blas_uplo_type)e(uplo,)
1468 1672 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)g(int)g(k,)1468
1785 y(const)g(<interval_array>)c(a,)k(int)g(lda,)1468
1898 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
2011 y(Triangular)e(Packed:)227 2124 y(int)i(BLAS_xtp_interiorm_i\()42
b(enum)47 b(blas_order_type)c(order,)k(enum)f(blas_uplo_type)e(uplo,)
1468 2237 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)1468
2350 y(const)g(<interval_array>)c(ap,)k(<interval_array>)c(bp)k(\);)p
0 2551 3900 4 v 0 2690 a FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 2690 28 4 v 35 w FK(DISJM)p
1586 2690 V 32 w(I)31 b(\(If)f(t)m(w)m(o)i(in)m(terv)-5
b(al)29 b(matrices)h(disjoin)m(t\))184 b(T)-8 b(rue)30
b(if)f FG(A)20 b FJ(\\)g FG(B)26 b FK(=)f FJ(;)0 2916
y FK(This)34 b(routine)g(c)m(hec)m(ks)j(if)d(t)m(w)m(o)j(in)m(terv)-5
b(al)34 b(matrices)h FG(A)h FK(and)e FG(B)i FK(disjoin)m(t,)f(whic)m(h)
f(means)h(that)h(if)f(for)g(some)g Fy(i;)15 b(j)5 b FK(,)0
3029 y FG(a)51 3043 y Fw(i;j)151 3029 y FJ(\\)20 b FG(b)290
3043 y Fw(i;j)395 3029 y FK(=)25 b FJ(;)p FK(.)42 b(Matrices)30
b FG(A)h FK(and)f FG(B)g FK(ha)m(v)m(e)i(the)e(same)h(storage)h
(format.)136 3236 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 3481 y FD(General:)514 3593 y(LOGICAL)45
b(FUNCTION)h(ge_disjm_i\()f(a,)i(b)g(\))227 3706 y(General)f(Band:)514
3819 y(LOGICAL)f(FUNCTION)h(gb_disjm_i\()f(a,)i(m,)g(kl,)g(b)g(\))227
3932 y(Symmetric:)514 4045 y(LOGICAL)e(FUNCTION)h(sy_disjm_i\()f(a,)i
(b)g([,)h(uplo])e(\))227 4158 y(Symmetric)g(Band:)514
4271 y(LOGICAL)f(FUNCTION)h(sb_disjm_i\()f(a,)i(b)g([,)h(uplo])e(\))227
4384 y(Symmetric)g(Packed:)514 4497 y(LOGICAL)f(FUNCTION)h
(sp_disjm_i\()f(ap,)i(bp)g([,)g(uplo])f(\))227 4610 y(Triangular:)514
4723 y(LOGICAL)f(FUNCTION)h(tr_disjm_i\()f(a,)i(b)g([,)h(uplo])e([,)h
(diag])f(\))227 4835 y(Triangular)f(Band:)514 4948 y(LOGICAL)g
(FUNCTION)h(tb_disjm_i\()f(a,)i(b)g([,)h(uplo])e([,)h(diag])f(\))227
5061 y(Triangular)f(Packed:)514 5174 y(LOGICAL)g(FUNCTION)h
(tp_disjm_i\()f(ap,)i(bp)g([,)g(uplo],)f([,)h(diag])g(\))227
5287 y(all:)514 5400 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g
(::)j(a\(:,:\))e(|)h(ap\(:\),)f(b\(:,:\))g(|)i(bp\(:\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 273 283
273 282 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(273)514 91 y FD(TYPE\(blas_uplo_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514 204 y
(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418
317 y(where)561 430 y(a)h(and)f(b)g(have)g(shape)f(\(m,)h(n\))g(for)g
(general)f(matrix)1468 543 y(\(l,)h(n\))g(for)g(general)f(banded)g
(matrix)g(\(l)h(>)h(kl\))1468 656 y(\(n,)f(n\))g(for)g(symmetric)e(or)j
(triangular)1468 769 y(\(p+1,)f(n\))g(for)g(symmetric)e(banded)h(or)h
(triangular)1802 882 y(banded)f(\(p)i(=)f(band)g(width\))561
995 y(ap)h(and)e(bp)i(have)e(shape)h(\(n*\(n+1\)/2\))136
1245 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227
1494 y FD(General:)514 1607 y(LOGICAL)45 b(FUNCTION)h
(BLAS_xGE_DISJM_I\()d(M,)k(N,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227
1720 y(General)f(Band:)514 1833 y(LOGICAL)f(FUNCTION)h
(BLAS_xGB_DISJM_I\()d(M,)k(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(B,)g(LDB)g(\))
227 1946 y(Symmetric:)514 2059 y(LOGICAL)e(FUNCTION)h
(BLAS_xSY_DISJM_I\()d(N,)k(A,)g(LDA,)g(B,)g(LDB)g(\))227
2172 y(Symmetric)f(Band:)514 2285 y(LOGICAL)f(FUNCTION)h
(BLAS_xSB_DISJM_I\()d(N,)k(K,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227
2398 y(Symmetric)f(Packed:)514 2511 y(LOGICAL)f(FUNCTION)h
(BLAS_xSP_DISJM_I\()d(N,)k(AP,)g(BP)g(\))227 2623 y(Triangular:)514
2736 y(LOGICAL)e(FUNCTION)h(BLAS_xTR_DISJM_I\()d(N,)k(A,)g(LDA,)g(B,)g
(LDB)g(\))227 2849 y(Triangular)e(Band:)514 2962 y(LOGICAL)g(FUNCTION)h
(BLAS_xTB_DISJM_I\()d(N,)k(K,)g(A,)h(LDA,)e(B,)h(LDB)g(\))227
3075 y(Triangular)e(Packed:)514 3188 y(LOGICAL)g(FUNCTION)h
(BLAS_xTP_DISJM_I\()91 b(N,)47 b(AP,)g(BP)g(\))227 3301
y(all:)514 3414 y(INTEGER)570 b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h(N,)h
(K,)f(KL,)g(KU,)g(LDA,)f(B,)h(LDB)514 3527 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(B\()g(2,)h
(LDA,)e(*)i(\))466 3640 y($)906 b(or)48 b(BP\()f(2,)g(*)g(\))136
3890 y FJ(\017)f FK(C)30 b(binding:)227 4115 y FD(General:)227
4227 y(int)47 b(BLAS_xge_disjm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)1277 4340 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)1277 4453 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
4566 y(General)f(Band:)227 4679 y(int)h(BLAS_xgb_disjm_i\()c(enum)k
(blas_order_type)d(order,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)1277
4792 y(int)g(ku,)g(const)f(<interval_array>)e(a,)j(int)g(lda,)1277
4905 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
5018 y(Symmetric:)227 5131 y(int)g(BLAS_xsy_disjm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
5244 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
5357 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 274 284
274 283 bop 0 -165 a FK(274)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(Symmetric)46
b(Band:)227 204 y(int)h(BLAS_xsb_disjm_i\()c(enum)k(blas_order_type)d
(order,)i(enum)g(blas_uplo_type)e(uplo,)1277 317 y(int)j(n,)g(int)g(k,)
g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277 430
y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
543 y(Symmetric)f(Packed:)227 656 y(int)h(BLAS_xsp_disjm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
769 y(int)j(n,)g(const)g(<interval_array>)c(ap,)1277
882 y(const)k(<interval_array>)c(bp)k(\);)227 995 y(Triangular:)227
1108 y(int)g(BLAS_xtr_disjm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 1220 y(enum)j(blas_diag_type)d
(diag,)i(int)h(n,)1277 1333 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)1277 1446 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
1559 y(Triangular)e(Band:)227 1672 y(int)i(BLAS_xtb_disjm_i\()c(enum)k
(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
1785 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)g(int)g(k,)1277
1898 y(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
2011 y(const)g(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
2124 y(Triangular)e(Packed:)227 2237 y(int)i(BLAS_xtp_disjm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
2350 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)1277
2462 y(const)g(<interval_array>)c(ap,)k(<interval_array>)c(bp)k(\);)p
0 2664 3900 4 v 0 2803 a FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 2803 28 4 v 35 w FK(INTERM)p
1682 2803 V 32 w(I)49 b(\(Elemen)m(t)m(wise)f(in)m(tersection)g(of)h(t)
m(w)m(o)h(in)m(terv)-5 b(al)48 b(matrices\))0 2916 y
FG(B)26 b FJ( )f FG(A)20 b FJ(\\)g FG(B)0 3142 y FK(This)33
b(routine)h(\014nds)f(the)j(elemen)m(t)m(wise)f(in)m(tersection)f(of)i
(t)m(w)m(o)g(in)m(terv)-5 b(al)34 b(matrices)h FG(A)g
FK(and)f FG(B)q FK(,)i(and)e(stores)i(the)0 3255 y(result)29
b(in)g FG(B)q FK(.)40 b(Matrices)31 b FG(A)g FK(and)e
FG(B)i FK(ha)m(v)m(e)h(the)e(same)h(storage)h(format.)136
3462 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3706 y FD(General:)514 3819 y(SUBROUTINE)45 b(ge_interm_i\()f(a,)j(b)h
(\))227 3932 y(General)e(Band:)514 4045 y(SUBROUTINE)f(gb_interm_i\()f
(a,)j(m,)g(kl,)g(b)h(\))227 4158 y(Symmetric:)514 4271
y(SUBROUTINE)d(sy_interm_i\()f(a,)j(b)h([,)f(uplo])f(\))227
4384 y(Symmetric)g(Band:)514 4497 y(SUBROUTINE)f(sb_interm_i\()f(a,)j
(b)h([,)f(uplo])f(\))227 4610 y(Symmetric)g(Packed:)514
4723 y(SUBROUTINE)f(sp_interm_i\()f(ap,)j(bp)g([,)g(uplo])g(\))227
4835 y(Triangular:)514 4948 y(SUBROUTINE)e(tr_interm_i\()f(a,)j(b)h([,)
f(uplo])f([,)h(diag])g(\))227 5061 y(Triangular)e(Band:)514
5174 y(SUBROUTINE)g(tb_interm_i\()f(a,)j(b)h([,)f(uplo])f([,)h(diag])g
(\))227 5287 y(Triangular)e(Packed:)514 5400 y(SUBROUTINE)g
(tp_interm_i\()f(ap,)j(bp)g([,)g(uplo],)f([,)i(diag])e(\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 275 285
275 284 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(275)227 91 y FD(all:)514 204 y(TYPE\(INTERVAL\))44
b(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\))e(|)h(ap\(:\),)f(b\(:,:\))g
(|)i(bp\(:\))514 317 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i
(OPTIONAL)i(::)h(uplo)514 430 y(TYPE\(blas_diag_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418 543 y(where)561
656 y(a)h(and)f(b)g(have)g(shape)f(\(m,)h(n\))g(for)g(general)f(matrix)
1468 769 y(\(l,)h(n\))g(for)g(general)f(banded)g(matrix)g(\(l)h(>)h
(kl\))1468 882 y(\(n,)f(n\))g(for)g(symmetric)e(or)j(triangular)1468
995 y(\(p+1,)f(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1802
1108 y(banded)f(\(p)i(=)f(band)g(width\))561 1220 y(ap)h(and)e(bp)i
(have)e(shape)h(\(n*\(n+1\)/2\))136 1470 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 1720 y FD(General:)514
1833 y(SUBROUTINE)45 b(BLAS_xGE_INTERM_I\()d(M,)48 b(N,)f(A,)g(LDA,)g
(B,)g(LDB)g(\))227 1946 y(General)f(Band:)514 2059 y(SUBROUTINE)f
(BLAS_xGB_INTERM_I\()d(M,)48 b(N,)f(KL,)g(KU,)g(A,)g(LDA,)f(B,)i(LDB)f
(\))227 2172 y(Symmetric:)514 2285 y(SUBROUTINE)e(BLAS_xSY_INTERM_I\()d
(N,)48 b(A,)f(LDA,)f(B,)i(LDB)f(\))227 2398 y(Symmetric)f(Band:)514
2511 y(SUBROUTINE)f(BLAS_xSB_INTERM_I\()d(N,)48 b(K,)f(A,)g(LDA,)g(B,)g
(LDB)g(\))227 2623 y(Symmetric)f(Packed:)514 2736 y(SUBROUTINE)f
(BLAS_xSP_INTERM_I\()d(N,)48 b(AP,)f(BP)g(\))227 2849
y(Triangular:)514 2962 y(SUBROUTINE)e(BLAS_xTR_INTERM_I\()d(N,)48
b(A,)f(LDA,)f(B,)i(LDB)f(\))227 3075 y(Triangular)e(Band:)514
3188 y(SUBROUTINE)g(BLAS_xTB_INTERM_I\()d(N,)48 b(K,)f(A,)g(LDA,)g(B,)g
(LDB)g(\))227 3301 y(Triangular)e(Packed:)514 3414 y(SUBROUTINE)g
(BLAS_xTP_INTERM_I\()90 b(N,)47 b(AP,)g(BP)g(\))227 3527
y(all:)514 3640 y(INTEGER)570 b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h(N,)h
(K,)f(KL,)g(KU,)g(LDA,)f(B,)h(LDB)514 3753 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(B\()g(2,)h
(LDA,)e(*)i(\))466 3866 y($)906 b(or)48 b(BP\()f(2,)g(*)g(\))136
4115 y FJ(\017)f FK(C)30 b(binding:)227 4340 y FD(General:)227
4453 y(void)47 b(BLAS_xge_interm_i\()c(enum)j(blas_order_type)e(order,)
i(int)h(m,)g(int)g(n,)1373 4566 y(const)f(<interval_array>)d(a,)48
b(int)f(lda,)1373 4679 y(<interval_array>)c(b,)k(int)g(ldb)g(\);)227
4792 y(General)f(Band:)227 4905 y(void)h(BLAS_xgb_interm_i\()c(enum)j
(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)1373
5018 y(int)g(ku,)g(const)f(<interval_array>)d(a,)k(int)g(lda,)1373
5131 y(<interval_array>)c(b,)k(int)g(ldb)g(\);)227 5244
y(Symmetric:)227 5357 y(void)g(BLAS_xsy_interm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 276 286
276 285 bop 0 -165 a FK(276)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)1373 91 y FD(int)47 b(n,)g(const)f
(<interval_array>)e(a,)j(int)g(lda,)1373 204 y(<interval_array>)c(b,)k
(int)g(ldb)g(\);)227 317 y(Symmetric)f(Band:)227 430
y(void)h(BLAS_xsb_interm_i\()c(enum)j(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1373 543 y(int)j(n,)g(int)g(k,)g(const)f
(<interval_array>)e(a,)j(int)g(lda,)1373 656 y(<interval_array>)c(b,)k
(int)g(ldb)g(\);)227 769 y(Symmetric)f(Packed:)227 882
y(void)h(BLAS_xsp_interm_i\()c(enum)j(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1373 995 y(int)j(n,)g(const)f(<interval_array>)
e(ap,)1373 1108 y(<interval_array>)f(bp)k(\);)227 1220
y(Triangular:)227 1333 y(void)g(BLAS_xtr_interm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
1446 y(enum)i(blas_diag_type)e(diag,)j(int)g(n,)1373
1559 y(const)f(<interval_array>)d(a,)48 b(int)f(lda,)1373
1672 y(<interval_array>)c(b,)k(int)g(ldb)g(\);)227 1785
y(Triangular)e(Band:)227 1898 y(void)i(BLAS_xtb_interm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
2011 y(enum)i(blas_diag_type)e(diag,)j(int)g(n,)g(int)g(k,)1373
2124 y(const)f(<interval_array>)d(a,)48 b(int)f(lda,)1373
2237 y(<interval_array>)c(b,)k(int)g(ldb)g(\);)227 2350
y(Triangular)e(Packed:)227 2462 y(void)i(BLAS_xtp_interm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
2575 y(enum)i(blas_diag_type)e(diag,)j(int)g(n,)1373
2688 y(const)f(<interval_array>)d(ap,)k(<interval_array>)d(bp)j(\);)p
0 2890 3900 4 v 0 3029 a FK(GE)p 138 3029 28 4 v 33 w(WINTERM)p
643 3029 V 33 w(I)30 b(\(In)m(tersection)h(of)g(t)m(w)m(o)g(in)m(terv)
-5 b(al)30 b(matrices\))1191 b FG(C)24 b FJ( )i FG(A)20
b FJ(\\)g FG(B)0 3255 y FK(This)h(routine)h(\014nds)g(the)h(in)m
(tersection)g(of)g(t)m(w)m(o)i(in)m(terv)-5 b(al)22 b(matrices)h
FG(A)g FK(and)g FG(B)p FK(,)i(and)d(stores)i(the)f(result)f(in)g
(another)0 3368 y(in)m(terv)-5 b(al)30 b(matrix)f FG(C)p
FK(.)40 b(Matrices)31 b FG(A)p Fy(;)15 b FG(B)31 b FK(and)f
FG(C)g FK(ha)m(v)m(e)i(the)e(same)h(storage)h(format.)136
3575 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
3819 y FD(General:)514 3932 y(SUBROUTINE)45 b(ge_winterm_i\()f(a,)j(b,)
g(c)h(\))227 4045 y(General)e(Band:)514 4158 y(SUBROUTINE)f
(gb_winterm_i\()f(a,)j(m,)g(kl,)g(b,)g(c)h(\))227 4271
y(Symmetric:)514 4384 y(SUBROUTINE)d(sy_winterm_i\()f(a,)j(b,)g(c)h([,)
f(uplo])f(\))227 4497 y(Symmetric)g(Band:)514 4610 y(SUBROUTINE)f
(sb_winterm_i\()f(a,)j(b,)g(c)h([,)f(uplo])f(\))227 4723
y(Symmetric)g(Packed:)514 4835 y(SUBROUTINE)f(sp_winterm_i\()f(ap,)j
(bp,)g(cp)g([,)g(uplo])f(\))227 4948 y(Triangular:)514
5061 y(SUBROUTINE)f(tr_winterm_i\()f(a,)j(b,)g(c)h([,)f(uplo])f([,)h
(diag])g(\))227 5174 y(Triangular)e(Band:)514 5287 y(SUBROUTINE)g
(tb_winterm_i\()f(a,)j(b,)g(c)h([,)f(uplo])f([,)h(diag])g(\))227
5400 y(Triangular)e(Packed:)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 277 287
277 286 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(277)514 91 y FD(SUBROUTINE)45 b(tp_winterm_i\()f(ap,)j
(bp,)g(cp)g([,)g(uplo],)f([,)h(diag])g(\))227 204 y(all:)514
317 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\),)d
(b\(:,:\),)2280 430 y(c\(:,:\),)g(ap\(:\),)h(bp\(:\),)h(cp\(:\))514
543 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(uplo)514 656 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i
(::)h(diag)418 769 y(where)561 882 y(a,)h(b)f(and)g(c)g(have)g(shape)f
(\(m,)h(n\))g(for)g(general)f(matrix)1611 995 y(\(l,)h(n\))g(for)g
(general)f(banded)g(matrix)g(\(l)i(>)f(kl\))1611 1108
y(\(n,)g(n\))g(for)g(symmetric)f(or)h(triangular)1611
1220 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1945
1333 y(banded)g(\(p)g(=)g(band)g(width\))561 1446 y(ap,)g(bp)g(and)g
(cp)h(have)e(shape)h(\(n*\(n+1\)/2\))136 1696 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 1946 y FD(General:)514
2059 y(SUBROUTINE)45 b(BLAS_xGE_WINTERM_I\()d(M,)47 b(N,)h(A,)f(LDA,)f
(B,)i(LDB,)e(C,)h(LDC)g(\))227 2172 y(General)f(Band:)514
2285 y(SUBROUTINE)f(BLAS_xGB_WINTERM_I\()d(M,)47 b(N,)h(KL,)e(KU,)h(A,)
h(LDA,)e(B,)h(LDB,)466 2398 y($)1479 b(C,)47 b(LDC)g(\))227
2511 y(Symmetric:)514 2623 y(SUBROUTINE)e(BLAS_xSY_WINTERM_I\()d(N,)47
b(A,)h(LDA,)e(B,)h(LDB,)g(C,)g(LDC)g(\))227 2736 y(Symmetric)f(Band:)
514 2849 y(SUBROUTINE)f(BLAS_xSB_WINTERM_I\()d(N,)47
b(K,)h(A,)f(LDA,)f(B,)i(LDB,)e(C,)h(LDC)g(\))227 2962
y(Symmetric)f(Packed:)514 3075 y(SUBROUTINE)f(BLAS_xSP_WINTERM_I\()d
(N,)47 b(AP,)g(BP,)g(CP)g(\))227 3188 y(Triangular:)514
3301 y(SUBROUTINE)e(BLAS_xTR_WINTERM_I\()d(N,)47 b(A,)h(LDA,)e(B,)h
(LDB,)g(C,)g(LDC)g(\))227 3414 y(Triangular)e(Band:)514
3527 y(SUBROUTINE)g(BLAS_xTB_WINTERM_I\()d(N,)47 b(K,)h(A,)f(LDA,)f(B,)
i(LDB,)e(C,)h(LDC)g(\))227 3640 y(Triangular)e(Packed:)514
3753 y(SUBROUTINE)g(BLAS_xTP_WINTERM_I\()90 b(N,)47 b(AP,)g(BP,)g(CP)g
(\))227 3866 y(all:)514 3978 y(INTEGER)570 b(UPLO,)47
b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(B,)h(LDB,)466
4091 y($)906 b(C,)48 b(LDC)514 4204 y(<type>)618 b(A\()48
b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(B\()g(2,)h(LDA,)e
(*\))466 4317 y($)906 b(or)48 b(BP\(2,*\),)d(C\(2,)i(LDC,)f(*\))i(or)f
(CP\(2,*\))136 4567 y FJ(\017)f FK(C)30 b(binding:)227
4792 y FD(General:)227 4905 y(void)47 b(BLAS_xge_winterm_i\()42
b(enum)47 b(blas_order_type)d(order,)i(int)h(m,)g(int)g(n,)1420
5018 y(const)g(<interval_array>)c(a,)k(int)g(lda,)1420
5131 y(const)g(<interval_array>)c(b,)k(int)g(ldb,)1420
5244 y(<interval_array>)d(c,)j(int)g(ldc)g(\);)227 5357
y(General)f(Band:)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 278 288
278 287 bop 0 -165 a FK(278)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(void)47 b
(BLAS_xgb_winterm_i\()42 b(enum)47 b(blas_order_type)d(order,)i(int)h
(m,)g(int)g(n,)g(int)g(kl,)1420 204 y(int)g(ku,)g(const)g
(<interval_array>)c(a,)k(int)g(lda,)1420 317 y(const)g
(<interval_array>)c(b,)k(int)g(ldb,)1420 430 y(<interval_array>)d(c,)j
(int)g(ldc)g(\);)227 543 y(Symmetric:)227 656 y(void)g
(BLAS_xsy_winterm_i\()42 b(enum)47 b(blas_order_type)d(order,)i(enum)g
(blas_uplo_type)e(uplo,)1420 769 y(int)j(n,)h(const)e(<interval_array>)
d(a,)k(int)g(lda,)1420 882 y(const)g(<interval_array>)c(b,)k(int)g
(ldb,)1420 995 y(<interval_array>)d(c,)j(int)g(ldc)g(\);)227
1108 y(Symmetric)f(Band:)227 1220 y(void)h(BLAS_xsb_winterm_i\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 1333 y(int)j(n,)h(int)e(k,)i(const)e(<interval_array>)d(a,)48
b(int)e(lda,)1420 1446 y(const)h(<interval_array>)c(b,)k(int)g(ldb,)
1373 1559 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227
1672 y(Symmetric)f(Packed:)227 1785 y(void)h(BLAS_xsp_winterm_i\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 1898 y(int)j(n,)h(const)e(<interval_array>)d(ap,)1420
2011 y(const)k(<interval_array>)c(bp,)k(<interval_array>)c(cp)48
b(\);)227 2124 y(Triangular:)227 2237 y(void)f(BLAS_xtr_winterm_i\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 2350 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)1420
2462 y(const)g(<interval_array>)c(a,)k(int)g(lda,)1420
2575 y(const)g(<interval_array>)c(b,)k(int)g(ldb,)1420
2688 y(<interval_array>)d(c,)j(int)g(ldc)g(\);)227 2801
y(Triangular)e(Band:)227 2914 y(void)i(BLAS_xtb_winterm_i\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 3027 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)g(int)g(k,)1420
3140 y(const)g(<interval_array>)c(a,)k(int)g(lda,)1420
3253 y(const)g(<interval_array>)c(b,)k(int)g(ldb,)1420
3366 y(<interval_array>)d(c,)j(int)g(ldc)g(\);)227 3479
y(Triangular)e(Packed:)227 3592 y(void)i(BLAS_xtp_winterm_i\()42
b(enum)47 b(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)
1420 3704 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)1420
3817 y(const)g(<interval_array>)c(ap,)k(<interval_array>)c(bp,)1420
3930 y(<interval_array>)h(cp)j(\);)p 0 4132 3900 4 v
0 4271 a FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p
1268 4271 28 4 v 35 w FK(HULLM)p 1636 4271 V 33 w(I)30
b(\(Con)m(v)m(ex)i(h)m(ull)c(of)i(an)h(in)m(terv)-5 b(al)29
b(matrix)h(with)f(another\))45 b FG(B)26 b FJ( )0 4384
y FK(the)31 b(con)m(v)m(ex)h(h)m(ull)c(con)m(tains)i
FG(A)21 b FJ([)e FG(B)0 4610 y FK(This)33 b(routine)h(\014nds)e(an)j
(in)m(terv)-5 b(al)34 b(matrix)g(whic)m(h)f(con)m(tains)i(b)s(oth)f(in)
m(terv)-5 b(al)34 b(matrices)g FG(A)h FK(and)f FG(B)q
FK(,)h(and)f(stores)0 4722 y(the)d(result)e(in)g FG(B)p
FK(.)41 b(Matrices)31 b FG(A)f FK(and)g FG(B)h FK(ha)m(v)m(e)g(the)g
(same)g(storage)h(format.)136 4930 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)227 5174 y FD(General:)514
5287 y(SUBROUTINE)45 b(ge_hullm_i\()f(a,)k(b)f(\))227
5400 y(General)f(Band:)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 279 289
279 288 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(279)514 91 y FD(SUBROUTINE)45 b(gb_hullm_i\()f(a,)k
(m,)f(kl,)g(b)g(\))227 204 y(Symmetric:)514 317 y(SUBROUTINE)e
(sy_hullm_i\()f(a,)k(b)f([,)g(uplo])g(\))227 430 y(Symmetric)f(Band:)
514 543 y(SUBROUTINE)f(sb_hullm_i\()f(a,)k(b)f([,)g(uplo])g(\))227
656 y(Symmetric)f(Packed:)514 769 y(SUBROUTINE)f(sp_hullm_i\()f(ap,)j
(bp)g([,)h(uplo])e(\))227 882 y(Triangular:)514 995 y(SUBROUTINE)f
(tr_hullm_i\()f(a,)k(b)f([,)g(uplo])g([,)g(diag])f(\))227
1108 y(Triangular)f(Band:)514 1220 y(SUBROUTINE)g(tb_hullm_i\()f(a,)k
(b)f([,)g(uplo])g([,)g(diag])f(\))227 1333 y(Triangular)f(Packed:)514
1446 y(SUBROUTINE)g(tp_hullm_i\()f(ap,)j(bp)g([,)h(uplo],)e([,)h(diag])
f(\))227 1559 y(all:)514 1672 y(TYPE\(INTERVAL\))e(\(<wp>\),)h
(INTENT\(IN\))g(::)j(a\(:,:\),)d(b\(:,:\),)h(ap\(:\),)g(bp\(:\))514
1785 y(TYPE\(blas_uplo_type\),)c(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)
514 1898 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(diag)418 2011 y(where)561 2124 y(a)h(and)f(b)g(have)g(shape)f(\(m,)h
(n\))g(for)g(general)f(matrix)1468 2237 y(\(l,)h(n\))g(for)g(general)f
(banded)g(matrix)g(\(l)h(>)h(kl\))1468 2350 y(\(n,)f(n\))g(for)g
(symmetric)e(or)j(triangular)1468 2462 y(\(p+1,)f(n\))g(for)g
(symmetric)e(banded)h(or)h(triangular)1802 2575 y(banded)f(\(p)i(=)f
(band)g(width\))561 2688 y(ap)h(and)e(bp)i(have)e(shape)h
(\(n*\(n+1\)/2\))136 2938 y FJ(\017)f FK(F)-8 b(ortran)31
b(77)h(binding:)227 3188 y FD(General:)514 3301 y(SUBROUTINE)45
b(BLAS_xGE_HULLM_I\()e(M,)k(N,)g(A,)g(LDA,)g(B,)g(LDB)g(\))227
3414 y(General)f(Band:)514 3527 y(SUBROUTINE)f(BLAS_xGB_HULLM_I\()e(M,)
k(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(B,)g(LDB)g(\))227 3640
y(Symmetric:)514 3753 y(SUBROUTINE)e(BLAS_xSY_HULLM_I\()e(N,)k(A,)g
(LDA,)g(B,)g(LDB)g(\))227 3866 y(Symmetric)f(Band:)514
3978 y(SUBROUTINE)f(BLAS_xSB_HULLM_I\()e(N,)k(K,)g(A,)g(LDA,)g(B,)g
(LDB)g(\))227 4091 y(Symmetric)f(Packed:)514 4204 y(SUBROUTINE)f
(BLAS_xSP_HULLM_I\()e(N,)k(AP,)g(BP)g(\))227 4317 y(Triangular:)514
4430 y(SUBROUTINE)e(BLAS_xTR_HULLM_I\()e(N,)k(A,)g(LDA,)g(B,)g(LDB)g
(\))227 4543 y(Triangular)e(Band:)514 4656 y(SUBROUTINE)g
(BLAS_xTB_HULLM_I\()e(N,)k(K,)g(A,)g(LDA,)g(B,)g(LDB)g(\))227
4769 y(Triangular)e(Packed:)514 4882 y(SUBROUTINE)g(BLAS_xTP_HULLM_I\()
90 b(N,)48 b(AP,)f(BP)g(\))227 4995 y(all:)514 5108 y(INTEGER)570
b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(B,)h
(LDB)514 5220 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e
(2,)i(*)f(\),)g(B\()g(2,)h(LDA,)e(*)i(\))466 5333 y($)906
b(or)48 b(BP\()f(2,)g(*)g(\))-214 64 y FI(1)-214 177
y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214
741 y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230
1193 y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Page: 280 290
280 289 bop 0 -165 a FK(280)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)136 91 y FJ(\017)46 b
FK(C)30 b(binding:)227 308 y FD(General:)227 420 y(void)47
b(BLAS_xge_hullm_i\()c(enum)k(blas_order_type)c(order,)j(int)h(m,)g
(int)g(n,)1325 533 y(const)f(<interval_array>)e(a,)j(int)g(lda,)1325
646 y(<interval_array>)c(b,)48 b(int)e(ldb)h(\);)227
759 y(General)f(Band:)227 872 y(void)h(BLAS_xgb_hullm_i\()c(enum)k
(blas_order_type)c(order,)j(int)h(m,)g(int)g(n,)h(int)e(kl,)1325
985 y(int)h(ku,)g(const)f(<interval_array>)e(a,)j(int)g(lda,)1325
1098 y(<interval_array>)c(b,)48 b(int)e(ldb)h(\);)227
1211 y(Symmetric:)227 1324 y(void)g(BLAS_xsy_hullm_i\()c(enum)k
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
1437 y(int)j(n,)g(const)f(<interval_array>)e(a,)j(int)g(lda,)1325
1550 y(<interval_array>)c(b,)48 b(int)e(ldb)h(\);)227
1662 y(Symmetric)f(Band:)227 1775 y(void)h(BLAS_xsb_hullm_i\()c(enum)k
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
1888 y(int)j(n,)g(int)g(k,)g(const)g(<interval_array>)c(a,)k(int)g
(lda,)1325 2001 y(<interval_array>)c(b,)48 b(int)e(ldb)h(\);)227
2114 y(Symmetric)f(Packed:)227 2227 y(void)h(BLAS_xsp_hullm_i\()c(enum)
k(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
2340 y(int)j(n,)g(const)f(<interval_array>)e(ap,)1325
2453 y(<interval_array>)f(bp)48 b(\);)227 2566 y(Triangular:)227
2679 y(void)f(BLAS_xtr_hullm_i\()c(enum)k(blas_order_type)c(order,)j
(enum)h(blas_uplo_type)d(uplo,)1325 2792 y(enum)j(blas_diag_type)d
(diag,)i(int)h(n,)1325 2904 y(const)f(<interval_array>)e(a,)j(int)g
(lda,)1325 3017 y(<interval_array>)c(b,)48 b(int)e(ldb)h(\);)227
3130 y(Triangular)e(Band:)227 3243 y(void)i(BLAS_xtb_hullm_i\()c(enum)k
(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
3356 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)g(int)g(k,)1325
3469 y(const)f(<interval_array>)e(a,)j(int)g(lda,)1325
3582 y(<interval_array>)c(b,)48 b(int)e(ldb)h(\);)227
3695 y(Triangular)e(Packed:)227 3808 y(void)i(BLAS_xtp_hullm_i\()c
(enum)k(blas_order_type)c(order,)j(enum)h(blas_uplo_type)d(uplo,)1325
3921 y(enum)j(blas_diag_type)d(diag,)i(int)h(n,)1325
4034 y(const)f(<interval_array>)e(ap,)j(<interval_array>)c(bp)k(\);)p
0 4231 3900 4 v 0 4370 a FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 4370 28 4 v 35 w FK(WHULLM)p
1729 4370 V 33 w(I)31 b(\(Con)m(v)m(ex)g(h)m(ull)d(of)j(t)m(w)m(o)h(in)
m(terv)-5 b(al)29 b(matrices\))2433 4551 y FG(C)c FJ( )30
b FK(the)h(con)m(v)m(ex)h(h)m(ull)c(con)m(tains)j FG(A)20
b FJ([)g FG(B)0 4731 y FK(This)32 b(routine)i(\014nds)e(the)j(con)m(v)m
(ex)g(set)g(whic)m(h)e(con)m(tains)i(b)s(oth)e(in)m(terv)-5
b(al)34 b(matrices)g FG(A)g FK(and)g FG(B)p FK(,)h(and)f(stores)h(the)0
4844 y(result)29 b(in)g(an)i(in)m(terv)-5 b(al)29 b(matrix)h
FG(C)o FK(.)41 b(Matrices)31 b FG(A)p Fy(;)15 b FG(B)31
b FK(and)f FG(C)g FK(ha)m(v)m(e)h(the)g(same)g(storage)h(format.)136
5047 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
5287 y FD(General:)514 5400 y(SUBROUTINE)45 b(ge_whullm_i\()f(a,)j(b,)g
(c)h(\))4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 281 291
281 290 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(281)227 91 y FD(General)46 b(Band:)514
204 y(SUBROUTINE)f(gb_whullm_i\()f(a,)j(m,)g(kl,)g(b,)h(c)f(\))227
317 y(Symmetric:)514 430 y(SUBROUTINE)e(sy_whullm_i\()f(a,)j(b,)g(c)h
([,)f(uplo])f(\))227 543 y(Symmetric)g(Band:)514 656
y(SUBROUTINE)f(sb_whullm_i\()f(a,)j(b,)g(c)h([,)f(uplo])f(\))227
769 y(Symmetric)g(Packed:)514 882 y(SUBROUTINE)f(sp_whullm_i\()f(ap,)j
(bp,)g(cp)g([,)g(uplo])g(\))227 995 y(Triangular:)514
1108 y(SUBROUTINE)e(tr_whullm_i\()f(a,)j(b,)g(c)h([,)f(uplo])f([,)i
(diag])e(\))227 1220 y(Triangular)f(Band:)514 1333 y(SUBROUTINE)g
(tb_whullm_i\()f(a,)j(b,)g(c)h([,)f(uplo])f([,)i(diag])e(\))227
1446 y(Triangular)f(Packed:)514 1559 y(SUBROUTINE)g(tp_whullm_i\()f
(ap,)j(bp,)g(cp)g([,)g(uplo],)f([,)i(diag])e(\))227 1672
y(all:)514 1785 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(IN\))g(::)j
(a\(:,:\),)d(b\(:,:\),)2280 1898 y(c\(:,:\),)g(ap\(:\),)h(bp\(:\),)h
(cp\(:\))514 2011 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i
(OPTIONAL)i(::)h(uplo)514 2124 y(TYPE\(blas_diag_type\),)42
b(INTENT\(IN\),)i(OPTIONAL)i(::)h(diag)418 2237 y(where)561
2350 y(a,)h(b)f(and)g(c)g(have)g(shape)f(\(m,)h(n\))g(for)g(general)f
(matrix)1611 2462 y(\(l,)h(n\))g(for)g(general)f(banded)g(matrix)g(\(l)
i(>)f(kl\))1611 2575 y(\(n,)g(n\))g(for)g(symmetric)f(or)h(triangular)
1611 2688 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)
1945 2801 y(banded)g(\(p)g(=)g(band)g(width\))561 2914
y(ap,)g(bp)g(and)g(cp)h(have)e(shape)h(\(n*\(n+1\)/2\))136
3141 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227
3368 y FD(General:)514 3481 y(SUBROUTINE)45 b(BLAS_xGE_WHULLM_I\()d(M,)
48 b(N,)f(A,)g(LDA,)g(B,)g(LDB,)f(C,)i(LDC)f(\))227 3593
y(General)f(Band:)514 3706 y(SUBROUTINE)f(BLAS_xGB_WHULLM_I\()d(M,)48
b(N,)f(KL,)g(KU,)g(A,)g(LDA,)f(B,)i(LDB,)466 3819 y($)1431
b(C,)48 b(LDC)f(\))227 3932 y(Symmetric:)514 4045 y(SUBROUTINE)e
(BLAS_xSY_WHULLM_I\()d(N,)48 b(A,)f(LDA,)f(B,)i(LDB,)e(C,)h(LDC)g(\))
227 4158 y(Symmetric)f(Band:)514 4271 y(SUBROUTINE)f
(BLAS_xSB_WHULLM_I\()d(N,)48 b(K,)f(A,)g(LDA,)g(B,)g(LDB,)f(C,)i(LDC)f
(\))227 4384 y(Symmetric)f(Packed:)514 4497 y(SUBROUTINE)f
(BLAS_xSP_WHULLM_I\()d(N,)48 b(AP,)f(BP,)f(CP)i(\))227
4610 y(Triangular:)514 4723 y(SUBROUTINE)d(BLAS_xTR_WHULLM_I\()d(N,)48
b(A,)f(LDA,)f(B,)i(LDB,)e(C,)h(LDC)g(\))227 4835 y(Triangular)e(Band:)
514 4948 y(SUBROUTINE)g(BLAS_xTB_WHULLM_I\()d(N,)48 b(K,)f(A,)g(LDA,)g
(B,)g(LDB,)f(C,)i(LDC)f(\))227 5061 y(Triangular)e(Packed:)514
5174 y(SUBROUTINE)g(BLAS_xTP_WHULLM_I\()90 b(N,)47 b(AP,)g(BP,)g(CP)g
(\))227 5287 y(all:)514 5400 y(INTEGER)570 b(UPLO,)47
b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(B,)h(LDB)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 282 292
282 291 bop 0 -165 a FK(282)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)466 91 y FD($)906 b(C,)48
b(LDC)514 204 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e
(2,)i(*)f(\),)g(B\()g(2,)h(LDA,)e(*\))466 317 y($)906
b(or)48 b(BP\(2,*\),)d(C\(2,)i(LDC,)f(*\))i(or)f(CP\(2,*\))136
567 y FJ(\017)f FK(C)30 b(binding:)227 792 y FD(General:)227
905 y(void)47 b(BLAS_xge_whullm_i\()c(enum)j(blas_order_type)e(order,)i
(int)h(m,)g(int)g(n,)1373 1018 y(const)f(<interval_array>)d(a,)48
b(int)f(lda,)1373 1131 y(const)f(<interval_array>)d(b,)48
b(int)f(ldb,)1373 1244 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227
1357 y(General)f(Band:)227 1469 y(void)h(BLAS_xgb_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)g(int)g(kl,)1373
1582 y(int)g(ku,)g(const)f(<interval_array>)d(a,)k(int)g(lda,)1373
1695 y(const)f(<interval_array>)d(b,)48 b(int)f(ldb,)1373
1808 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227 1921
y(Symmetric:)227 2034 y(void)g(BLAS_xsy_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
2147 y(int)j(n,)g(const)f(<interval_array>)e(a,)j(int)g(lda,)1373
2260 y(const)f(<interval_array>)d(b,)48 b(int)f(ldb,)1373
2373 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227 2486
y(Symmetric)f(Band:)227 2599 y(void)h(BLAS_xsb_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
2711 y(int)j(n,)g(int)g(k,)g(const)f(<interval_array>)e(a,)j(int)g
(lda,)1373 2824 y(const)f(<interval_array>)d(b,)48 b(int)f(ldb,)1373
2937 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227 3050
y(Symmetric)f(Packed:)227 3163 y(void)h(BLAS_xsp_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
3276 y(int)j(n,)g(const)f(<interval_array>)e(ap,)1373
3389 y(const)i(<interval_array>)d(bp,)k(<interval_array>)d(cp)j(\);)227
3502 y(Triangular:)227 3615 y(void)g(BLAS_xtr_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
3728 y(enum)i(blas_diag_type)e(diag,)j(int)g(n,)1373
3841 y(const)f(<interval_array>)d(a,)48 b(int)f(lda,)1373
3954 y(const)f(<interval_array>)d(b,)48 b(int)f(ldb,)1373
4066 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227 4179
y(Triangular)e(Band:)227 4292 y(void)i(BLAS_xtb_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
4405 y(enum)i(blas_diag_type)e(diag,)j(int)g(n,)g(int)g(k,)1373
4518 y(const)f(<interval_array>)d(a,)48 b(int)f(lda,)1373
4631 y(const)f(<interval_array>)d(b,)48 b(int)f(ldb,)1373
4744 y(<interval_array>)c(c,)k(int)g(ldc)g(\);)227 4857
y(Triangular)e(Packed:)227 4970 y(void)i(BLAS_xtp_whullm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
5083 y(enum)i(blas_diag_type)e(diag,)j(int)g(n,)1373
5196 y(const)f(<interval_array>)d(ap,)k(<interval_array>)d(bp,)1373
5308 y(<interval_array>)f(cp)k(\);)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 283 293
283 292 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(283)p 0 91 3900 4 v 0 352 a Fv(Utilit)m(y)29
b(F)m(unctions)i(Involving)f(Interval)h(V)m(ecto)m(rs)0
523 y FK(EMPTYELEV)p 595 523 28 4 v 32 w(I)g(\(Empt)m(y)f(en)m(try)h(&)
f(lo)s(cation\))1395 b Fy(k)29 b FJ( )c FG(x)3352 538
y Fw(k)3420 523 y FK(=)g FJ(;)p FK(;)46 b(or)51 b FJ(\000)20
b FK(1)0 749 y(This)45 b(routine)i(c)m(hec)m(ks)h(if)e(an)h(in)m(terv)
-5 b(al)47 b(v)m(ector,)53 b FG(x)p FK(,)f(con)m(tains)47
b(an)g(empt)m(y)h(in)m(terv)-5 b(al)46 b(en)m(try)-8
b(.)92 b(If)46 b FG(x)i FK(con)m(tains)0 862 y(empt)m(y)43
b(in)m(terv)-5 b(al)42 b(en)m(tries,)j(then)e(the)g(routine)e(returns)h
(the)g(smallest)g(o\013set)i(or)e(index)g Fy(k)j FK(suc)m(h)e(that)g
FG(x)3741 877 y Fw(k)3829 862 y FK(=)0 975 y([NaN)p 211
975 V 34 w(empt)m(y)p Fy(;)15 b FK(NaN)p 713 975 V 34
w(empt)m(y)q(].)41 b(Otherwise,)29 b(the)h(routine)g(returns)f
FJ(\000)p FK(1.)136 1181 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 1423 y FD(INTEGER)45 b(FUNCTION)h(emptyelev_i\()e
(x)k(\))514 1536 y(TYPE\(INTERVAL\))c(\(<wp>\),)h(INTENT\(IN\))g(::)j
(x\(:\))418 1649 y(where)514 1762 y(x)f(has)g(shape)f(\(n\))136
2005 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
2247 y FD(INTEGER)45 b(FUNCTION)h(BLAS_xEMPTYELEV_I\()d(N,)k(X,)g(INCX)
g(\))514 2360 y(INTEGER)570 b(N,)48 b(INCX)514 2473 y(<type>)618
b(X\()48 b(2,)f(*)g(\))136 2715 y FJ(\017)f FK(C)30 b(binding:)227
2958 y FD(int)47 b(BLAS_xemptyelev_i\()c(int)k(n,)g(const)f
(<interval_array>)e(x,)j(int)g(incx\);)p 0 3182 3900
4 v 0 3321 a FK(INFV)p 233 3321 28 4 v 33 w(I)30 b(\(The)h(left)f(endp)
s(oin)m(t)e(of)j(an)f(in)m(terv)-5 b(al)30 b(v)m(ector\))1740
b Fy(v)29 b FJ( )c Fy(x)p 3848 3334 52 4 v 0 3547 a FK(This)k(routine)g
(\014nds)g(the)h(real)g(v)m(ector)i Fy(v)i FK(suc)m(h)c(that)h
Fy(v)1869 3561 y Fw(i)1922 3547 y FK(=)25 b Fy(x)p 2018
3560 V 20 x Fw(i)2129 3547 y FJ(8)p Fy(i)p FK(.)136 3753
y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3995 y FD(SUBROUTINE)45 b(infv_i\()g(x,)j(v)f(\))514
4108 y(REAL)f(\(<wp>\),)g(INTENT\(OUT\))f(::)i(v\(:\))514
4221 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j(x\(:\))418
4334 y(where)514 4447 y(v)f(and)g(x)g(have)g(shape)f(\(n\))136
4689 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
4932 y FD(SUBROUTINE)45 b(BLAS_xINFV_I\()f(N,)j(X,)g(INCX,)g(V)g(\))514
5045 y(INTEGER)570 b(N,)48 b(INCX)514 5158 y(<type>)618
b(X\()48 b(2,)f(*)g(\),)g(V\()h(*)f(\))136 5400 y FJ(\017)f
FK(C)30 b(binding:)-214 64 y FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 284 294
284 293 bop 0 -165 a FK(284)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(void)47 b(BLAS_xinfv_i\()d
(int)j(n,)g(const)g(<interval_array>)c(x,)k(int)g(incx,)f(RARRAY)g(v)i
(\);)p 0 323 3900 4 v 0 462 a FK(SUPV)p 254 462 28 4
v 32 w(I)31 b(\(The)f(righ)m(t)g(endp)s(oin)m(t)f(of)h(an)g(in)m(terv)
-5 b(al)30 b(v)m(ector\))1659 b Fy(v)29 b FJ( )p 3848
413 52 4 v 25 w Fy(x)0 688 y FK(This)g(routine)g(\014nds)g(the)h(real)g
(v)m(ector)i Fy(v)i FK(suc)m(h)c(that)h Fy(v)1869 702
y Fw(i)1922 688 y FK(=)p 2018 638 V 25 w Fy(x)2070 702
y Fw(i)2129 688 y FJ(8)p Fy(i)p FK(.)136 900 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 1150 y FD(SUBROUTINE)45
b(supv_i\()g(x,)j(v)f(\))514 1263 y(REAL)f(\(<wp>\),)g(INTENT\(OUT\))f
(::)i(v\(:\))514 1376 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g
(::)j(x\(:\))418 1489 y(where)514 1602 y(v)f(and)g(x)g(have)g(shape)f
(\(n\))136 1852 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
2101 y FD(SUBROUTINE)45 b(BLAS_xSUPV_I\()f(N,)j(X,)g(INCX,)g(V)g(\))514
2214 y(INTEGER)570 b(N,)48 b(INCX)514 2327 y(<type>)618
b(X\()48 b(2,)f(*)g(\),)g(V\()h(*)f(\))136 2577 y FJ(\017)f
FK(C)30 b(binding:)227 2827 y FD(void)47 b(BLAS_xsupv_i\()d(int)j(n,)g
(const)g(<interval_array>)c(x,)k(int)g(incx,)f(RARRAY)g(v)i(\);)p
0 3058 3900 4 v 0 3197 a FK(MID)m(V)p 255 3197 28 4 v
34 w(I)30 b(\(The)g(appro)m(ximate)h(midp)s(oin)m(t)d(of)i(an)h(in)m
(terv)-5 b(al)29 b(v)m(ector\))1017 b Fy(v)28 b FJ( )d
FK(\()p 3558 3148 52 4 v Fy(x)c FK(+)f Fy(x)p 3722 3210
V FK(\))p Fy(=)p FK(2)0 3436 y(This)29 b(routine)g(\014nds)g(the)h
(real)g(v)m(ector)i Fy(v)i FK(suc)m(h)c(that)h Fy(v)1869
3450 y Fw(i)1922 3436 y FK(=)p 2028 3325 V 2028 3374
a Fy(x)2080 3388 y Fw(i)2129 3374 y FK(+)20 b Fy(x)p
2220 3387 V 2271 3395 a Fw(i)p 2028 3415 272 4 v 2141
3498 a FK(2)2340 3436 y FJ(8)p Fy(i)p FK(.)136 3669 y
FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)514
3919 y FD(SUBROUTINE)45 b(midv_i\()g(x,)j(v)f(\))514
4032 y(REAL)f(\(<wp>\),)g(INTENT\(OUT\))f(::)i(v\(:\))514
4145 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j(x\(:\))418
4258 y(where)514 4371 y(v)f(and)g(x)g(have)g(shape)f(\(n\))136
4621 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
4871 y FD(SUBROUTINE)45 b(BLAS_xMIDV_I\()f(N,)j(X,)g(INCX,)g(V)g(\))514
4984 y(INTEGER)570 b(N,)48 b(INCX)514 5096 y(<type>)618
b(X\()48 b(2,)f(*)g(\),)g(V\()h(*)f(\))136 5346 y FJ(\017)f
FK(C)30 b(binding:)4084 64 y FI(1)4084 177 y(2)4084 290
y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084
854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069
1306 y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 285 295
285 294 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(285)227 91 y FD(void)47 b(BLAS_xmidv_i\()d(int)j(n,)g
(const)g(<interval_array>)c(x,)k(int)g(incx,)f(RARRAY)g(v)i(\);)p
0 278 3900 4 v 0 417 a FK(WIDTHV)p 402 417 28 4 v 33
w(I)31 b(\(The)f(elemen)m(t)m(wise)g(width)f(of)h(an)h(in)m(terv)-5
b(al)29 b(v)m(ector\))1188 b Fy(v)29 b FJ( )p 3685 368
52 4 v 25 w Fy(x)20 b FJ(\000)g Fy(x)p 3848 430 V 0 643
a FK(This)29 b(routine)g(\014nds)g(the)h(real)g(v)m(ector)i
Fy(v)i FK(suc)m(h)c(that)h Fy(v)1869 657 y Fw(i)1922
643 y FK(=)p 2018 594 V 25 w Fy(x)2070 657 y Fw(i)2119
643 y FJ(\000)20 b Fy(x)p 2210 656 V 21 x Fw(i)2320 643
y FJ(8)p Fy(i)p FK(.)136 818 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)514 1023 y FD(SUBROUTINE)45 b(widthv_i\()g(x,)i(v)h(\))
514 1136 y(REAL)e(\(<wp>\),)g(INTENT\(OUT\))f(::)i(v\(:\))514
1249 y(TYPE\(INTERVAL\))d(\(<wp>\),)h(INTENT\(IN\))g(::)j(x\(:\))418
1362 y(where)514 1475 y(v)f(and)g(x)g(have)g(shape)f(\(n\))136
1681 y FJ(\017)g FK(F)-8 b(ortran)31 b(77)h(binding:)514
1886 y FD(SUBROUTINE)45 b(BLAS_xWIDTHV_I\()e(N,)k(X,)h(INCX,)e(V)h(\))
514 1999 y(INTEGER)570 b(N,)48 b(INCX)514 2112 y(<type>)618
b(X\()48 b(2,)f(*)g(\),)g(V\()h(*)f(\))136 2318 y FJ(\017)f
FK(C)30 b(binding:)227 2523 y FD(void)47 b(BLAS_xwidthv_i\()d(int)i(n,)
i(const)e(<interval_array>)d(x,)48 b(int)e(incx,)h(RARRAY)f(v)h(\);)p
0 2710 3900 4 v 0 2849 a FK(CONSTR)m(UCTV)p 659 2849
28 4 v 32 w(I)30 b(\(Constructs)g(an)g(in)m(terv)-5 b(al)30
b(v)m(ector)i(from)e(t)m(w)m(o)h(\015oating)g(p)s(oin)m(t)e(v)m
(ectors\))2830 3005 y FG(x)d FJ( )f FK([min)o FJ(f)p
Fy(u;)15 b(v)s FJ(g)p Fy(;)g FK(max)r FJ(f)p Fy(u;)g(v)s
FJ(g)p FK(])0 3161 y(This)39 b(routine)g(constructs)i(an)f(in)m(terv)-5
b(al)40 b(v)m(ector)i FG(x)e FK(from)g(t)m(w)m(o)i(\015oating)e(p)s
(oin)m(t)g(v)m(ectors)h Fy(u)g FK(and)f Fy(v)j FK(suc)m(h)d(that)0
3274 y FG(x)55 3288 y Fw(i)118 3274 y FK(con)m(tains)35
b(the)g(in)m(terv)-5 b(al)34 b([min)o FJ(f)p Fy(u)1247
3288 y Fw(i)1276 3274 y Fy(;)15 b(v)1360 3288 y Fw(i)1389
3274 y FJ(g)p Fy(;)g FK(max)q FJ(f)p Fy(u)1741 3288 y
Fw(i)1769 3274 y Fy(;)g(v)1853 3288 y Fw(i)1882 3274
y FJ(g)p FK(])35 b FJ(8)p Fy(i)p FK(.)54 b(By)36 b(letting)e
Fy(u)f FK(=)f Fy(v)s FK(,)37 b(the)e(routine)f(constructs)h(an)0
3387 y(in)m(terv)-5 b(al)30 b(v)m(ector)i(from)d(a)i(single)e
(\015oating)h(p)s(oin)m(t)g(v)m(ector.)136 3562 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)514 3767 y FD(SUBROUTINE)45
b(constructv_i\()f(x,)j(u,)g(v)h(\))514 3880 y(REAL)e(\(<wp>\),)g
(INTENT\(IN\))f(::)i(u\(:\),)g(v\(:\))514 3993 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(OUT\))g(::)i(x\(:\))418 4106 y(where)514
4219 y(u,)g(v)g(and)g(x)h(have)e(shape)h(\(n\))136 4424
y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514 4630
y FD(SUBROUTINE)45 b(BLAS_xCONSTRUCTV_I\()d(N,)47 b(U,)h(INCU,)e(V,)h
(INCV,)f(X,)i(INCX)e(\))514 4743 y(INTEGER)570 b(N,)48
b(INCU,)e(INCV,)g(INCX)514 4856 y(<type>)618 b(X\()48
b(2,)f(*)g(\),)g(U\()h(*)f(\),)g(V\()g(*)h(\))136 5061
y FJ(\017)e FK(C)30 b(binding:)227 5267 y FD(void)47
b(BLAS_xconstructv_i\()42 b(int)47 b(n,)h(RARRAY)e(u,)h(int)g(incu,)f
(RARRAY)g(v,)h(int)g(incv,)1420 5380 y(<interval_array>)d(x,)j(int)g
(incx)g(\);)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 286 296
286 295 bop 0 -165 a FK(286)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y Fv(Utilit)m(y)f(F)m(unctions)i
(Involving)f(Interval)h(Matrices)0 263 y FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 263 28 4 v 35 w FK(EMPTYELEM)p
1908 263 V 32 w(I)31 b(\(Empt)m(y)f(en)m(try)h(&)f(lo)s(cation\))73
b Fy(l)27 b FJ( )e FG(a)3317 278 y Fw(l)q(;j)3420 263
y FK(=)g FJ(;)p FK(;)46 b(or)51 b FJ(\000)20 b FK(1)0
489 y(This)25 b(routine)h(c)m(hec)m(ks)i(if)e(an)g(in)m(terv)-5
b(al)26 b(matrix,)h FG(A)p FK(,)h(con)m(tains)f(an)f(empt)m(y)i(in)m
(terv)-5 b(al)25 b(en)m(try)-8 b(.)41 b(If)26 b FG(A)h
FK(con)m(tains)g(empt)m(y)0 602 y(in)m(terv)-5 b(al)26
b(en)m(tries,)i(then)f(the)h(routine)e(returns)g(the)i(smallest)e
(o\013set)j(or)e(index)f Fy(l)j FK(\(according)f(to)g(the)f(\014rst)g
(index\))0 715 y(suc)m(h)j(that)h FG(a)453 730 y Fw(l)q(;j)556
715 y FK(=)25 b([NaN)p 863 715 V 34 w(empt)m(y)p Fy(;)15
b FK(NaN)p 1365 715 V 34 w(empt)m(y)q(].)41 b(Otherwise,)29
b(it)h(returns)f FJ(\000)p FK(1.)136 926 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)227 1176 y FD(General:)514
1289 y(INTEGER)45 b(FUNCTION)94 b(ge_emptyelem_i\()43
b(a)48 b(\))227 1401 y(General)e(Band:)514 1514 y(INTEGER)f(FUNCTION)94
b(gb_emptyelem_i\()43 b(a,)48 b(m,)f(kl)g(\))227 1627
y(Symmetric:)514 1740 y(INTEGER)e(FUNCTION)94 b(sy_emptyelem_i\()43
b(a)48 b([,)f(uplo])f(\))227 1853 y(Symmetric)g(Band:)514
1966 y(INTEGER)f(FUNCTION)94 b(sb_emptyelem_i\()43 b(a,)48
b(kl)f([,)g(uplo])f(\))227 2079 y(Symmetric)g(Packed:)514
2192 y(INTEGER)f(FUNCTION)94 b(sp_emptyelem_i\()43 b(ap)48
b([,)f(uplo])f(\))227 2305 y(Triangular:)514 2418 y(INTEGER)f(FUNCTION)
94 b(tr_emptyelem_i\()43 b(a)48 b([,)f(uplo])f([,)i(diag])e(\))227
2531 y(Triangular)f(Band:)514 2643 y(INTEGER)g(FUNCTION)94
b(tb_emptyelem_i\()43 b(a,)48 b(kl)f([,)g(uplo])f([,)h(diag])g(\))227
2756 y(Triangular)e(Packed:)514 2869 y(INTEGER)g(FUNCTION)94
b(tp_emptyelem_i\()43 b(ap,)k(cp)g([,)h(uplo],)e([,)h(diag])f(\))227
2982 y(all:)514 3095 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(IN\))g
(::)j(a\(:,:\),)d(ap\(:\))514 3208 y(INTEGER,)g(INTENT\(OUT\))g(::)i
(i,)g(j)514 3321 y(INTEGER,)e(INTENT\(IN\))g(::)i(kl)514
3434 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(uplo)514 3547 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)
i(::)h(diag)418 3660 y(where)561 3773 y(a)h(has)f(shape)f(\(m,)h(n\))g
(for)g(general)f(matrix)1134 3885 y(\(l,)h(n\))g(for)g(general)f
(banded)g(matrix)g(\(l)h(>)h(kl\))1134 3998 y(\(n,)f(n\))g(for)g
(symmetric)e(or)j(triangular)1134 4111 y(\(p+1,)e(n\))i(for)f
(symmetric)e(banded)h(or)h(triangular)1564 4224 y(banded)f(\(p)h(=)g
(band)g(width\))561 4337 y(ap)h(has)e(shape)h(\(n*\(n+1\)/2\))136
4586 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)227
4835 y FD(General:)514 4948 y(INTEGER)45 b(FUNCTION)94
b(BLAS_xGE_EMPTYELEM_I\()42 b(M,)47 b(N,)g(A,)g(LDA,)g(B,)g(LDB)g(\))
227 5061 y(General)f(Band:)514 5174 y(INTEGER)f(FUNCTION)94
b(BLAS_xGB_EMPTYELEM_I\()42 b(M,)47 b(N,)g(KL,)g(KU,)g(A,)g(LDA)g(\))
227 5287 y(Symmetric:)514 5400 y(INTEGER)e(FUNCTION)94
b(BLAS_xSY_EMPTYELEM_I\()42 b(UPLO,)k(N,)h(A,)g(LDA)g(\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 287 297
287 296 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(287)227 91 y FD(Symmetric)46 b(Band:)514
204 y(INTEGER)f(FUNCTION)94 b(BLAS_xSB_EMPTYELEM_I\()42
b(UPLO,)k(N,)h(K,)g(A,)h(LDA)f(\))227 317 y(Symmetric)f(Packed:)514
430 y(INTEGER)f(FUNCTION)94 b(BLAS_xSP_EMPTYELEM_I\()42
b(UPLO,)k(N,)h(AP)g(\))227 543 y(Triangular:)514 656
y(INTEGER)e(FUNCTION)94 b(BLAS_xTR_EMPTYELEM_I\()42 b(UPLO,)k(TRANS,)g
(DIAG,)h(N,)g(A,)g(LDA)g(\))227 769 y(Triangular)e(Band:)514
882 y(INTEGER)g(FUNCTION)94 b(BLAS_xTB_EMPTYELEM_I\()42
b(UPLO,)k(TRANS,)g(DIAG,)h(N,)g(K,)g(A,)g(LDA)g(\))227
995 y(Triangular)e(Packed:)514 1108 y(INTEGER)g(FUNCTION)94
b(BLAS_xTP_EMPTYELEM_I\()42 b(UPLO,)k(TRANS,)g(DIAG,)h(N,)g(AP)g(\))227
1220 y(all:)514 1333 y(INTEGER)570 b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h
(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(I,)h(J)514 1446 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\))136
1670 y FJ(\017)f FK(C)30 b(binding:)227 1894 y FD(General:)227
2007 y(int)47 b(BLAS_xge_emptyelem_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(int)f(m,)i(int)f(n,)1468 2120 y(const)g(<interval_array>)c
(a,)k(int)g(lda)g(\);)227 2233 y(General)f(Band:)227
2346 y(int)h(BLAS_xgb_emptyelem_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(int)f(m,)i(int)f(n,)g(int)g(kl,)1468 2459 y(int)g(ku,)g
(const)f(<interval_array>)e(a,)j(int)g(lda,)f(int)h(i,)1468
2572 y(int)g(j\);)227 2684 y(Symmetric:)227 2797 y(int)g
(BLAS_xsy_emptyelem_i\()42 b(enum)47 b(blas_order_type)c(order,)k(enum)
f(blas_uplo_type)e(uplo,)1468 2910 y(int)j(n,)g(const)g
(<interval_array>)c(a,)k(int)g(lda)g(\);)227 3023 y(Symmetric)f(Band:)
227 3136 y(int)h(BLAS_xsb_emptyelem_i\()42 b(enum)47
b(blas_order_type)c(order,)k(int)f(n,)i(int)f(k,)1468
3249 y(const)g(<interval_array>)c(a,)k(int)g(lda)g(\);)227
3362 y(Symmetric)f(Packed:)227 3475 y(int)h(BLAS_xsp_emptyelem_i\()42
b(enum)47 b(blas_order_type)c(order,)k(int)f(n,)1468
3588 y(const)h(<interval_array>)c(ap)k(\);)227 3701 y(Triangular:)227
3814 y(int)g(BLAS_xtr_emptyelem_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(enum)f(blas_uplo_type)e(uplo,)1468 3926 y(enum)j
(blas_trans_type)c(trans,)k(enum)f(blas_diag_type)e(diag,)1468
4039 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda)g(\);)227
4152 y(Triangular)e(Band:)227 4265 y(int)i(BLAS_xtb_emptyelem_i\()42
b(enum)47 b(blas_order_type)c(order,)k(enum)f(blas_uplo_type)e(uplo,)
1468 4378 y(enum)j(blas_trans_type)c(trans,)k(enum)f(blas_diag_type)e
(diag,)1468 4491 y(int)j(n,)g(int)g(k,)g(const)g(<interval_array>)c(a,)
k(int)g(lda)g(\);)227 4604 y(Triangular)e(Packed:)227
4717 y(int)i(BLAS_xtp_emptyelem_i\()42 b(enum)47 b(blas_order_type)c
(order,)k(enum)f(blas_uplo_type)e(uplo,)1468 4830 y(enum)j
(blas_trans_type)c(trans,)k(enum)f(blas_diag_type)e(diag,)1468
4943 y(int)j(n,)g(const)g(<interval_array>)c(ap,)k(int)g(i,)g(int)g
(j\);)p 0 5148 3900 4 v 0 5287 a FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 5287 28 4 v 35 w FK(INFM)p
1546 5287 V 33 w(I)30 b(\(Left)h(endp)s(oin)m(t)e(of)i(an)f(in)m(terv)
-5 b(al)30 b(matrix\))517 b Fy(C)32 b FJ( )25 b Fy(A)p
3832 5300 69 4 v -214 64 a FI(1)-214 177 y(2)-214 290
y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214
854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230
1306 y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 288 298
288 297 bop 0 -165 a FK(288)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FK(This)22 b(routine)g(\014nds)g
(the)i(real)f(matrix)g Fy(C)30 b FK(suc)m(h)23 b(that)i
Fy(c)1850 105 y Fw(i;j)1955 91 y FK(=)g Fy(a)p 2051 104
49 4 v 21 x Fw(i;j)2203 91 y FJ(8)p Fy(i)e FK(and)g FJ(8)p
Fy(j)5 b FK(,)26 b(where)d FG(A)i FK(=)g FJ(f)p FG(a)3174
105 y Fw(i;j)3254 91 y FJ(g)f FK(is)f(a)h(general)g(\(or)0
204 y(general)34 b(banded,)g(or)f(symmetric,)i(or)e(symmetric)h
(banded,)f(symmetric)g(pac)m(k)m(ed,)j(or)e(triangular,)g(triangular)0
317 y(banded,)29 b(triangular)g(pac)m(k)m(ed\))j(in)m(terv)-5
b(al)30 b(matrix.)136 517 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 752 y FD(General:)514 865 y(SUBROUTINE)45
b(ge_infm_i\()g(a,)i(c)g(\))227 978 y(General)f(Band:)514
1091 y(SUBROUTINE)f(gb_infm_i\()g(a,)i(m,)g(kl,)g(c)g(\))227
1204 y(Symmetric:)514 1317 y(SUBROUTINE)e(sy_infm_i\()g(a,)i(c)g([,)g
(uplo])g(\))227 1430 y(Symmetric)f(Band:)514 1542 y(SUBROUTINE)f
(sb_infm_i\()g(a,)i(kl,)g(c)g([,)g(uplo])g(\))227 1655
y(Symmetric)f(Packed:)514 1768 y(SUBROUTINE)f(sp_infm_i\()g(ap,)i(cp)g
([,)g(uplo])f(\))227 1881 y(Triangular:)514 1994 y(SUBROUTINE)f
(tr_infm_i\()g(a,)i(c)g([,)g(uplo])g([,)g(diag])f(\))227
2107 y(Triangular)f(Band:)514 2220 y(SUBROUTINE)g(tb_infm_i\()g(a,)i
(kl,)g(c)g([,)g(uplo])g([,)g(diag])f(\))227 2333 y(Triangular)f
(Packed:)514 2446 y(SUBROUTINE)g(tp_infm_i\()g(ap,)i(cp)g([,)g(uplo],)f
([,)h(diag])g(\))227 2559 y(all:)514 2672 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\),)d(ap\(:\))514
2784 y(REAL)h(\(<wp>\),)g(INTENT\(OUT\))f(::)i(c\(:,:\),)f(cp\(:\))514
2897 y(INTEGER,)f(INTENT\(IN\))g(::)i(kl)514 3010 y
(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514
3123 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(diag)418 3236 y(where)561 3349 y(a)h(and)f(c)g(have)g(shape)752
3462 y(\(m,)g(n\))g(for)g(general)f(matrix)752 3575 y(\(l,)h(n\))g(for)
g(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))752 3688
y(\(n,)f(n\))g(for)g(symmetric)f(or)h(triangular)752
3801 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1182
3914 y(banded)f(\(p)h(=)h(band)e(width\))561 4027 y(ap)i(and)e(cp)i
(have)e(shape)h(\(n*\(n+1\)/2\))136 4262 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 4497 y FD(General:)514
4610 y(SUBROUTINE)45 b(BLAS_xGE_INFM_I\()e(M,)k(N,)g(A,)h(LDA)e(C,)i
(LDC)f(\))227 4723 y(General)f(Band:)514 4835 y(SUBROUTINE)f
(BLAS_xGB_INFM_I\()e(M,)k(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(C,)g(LDC)g(\))
227 4948 y(Symmetric:)514 5061 y(SUBROUTINE)e(BLAS_xSY_INFM_I\()e
(UPLO,)j(N,)i(A,)f(LDA,)f(C,)i(LDC)e(\))227 5174 y(Symmetric)g(Band:)
514 5287 y(SUBROUTINE)f(BLAS_xSB_INFM_I\()e(UPLO,)j(N,)i(K,)f(A,)g
(LDA,)g(C,)g(LDC)g(\))227 5400 y(Symmetric)f(Packed:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 289 299
289 298 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(289)514 91 y FD(SUBROUTINE)45 b(BLAS_xSP_INFM_I\()e
(UPLO,)j(N,)i(AP,)e(CP)i(\))227 204 y(Triangular:)514
317 y(SUBROUTINE)d(BLAS_xTR_INFM_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g
(A,)g(LDA,)g(C,)g(LDC)g(\))227 430 y(Triangular)e(Band:)514
543 y(SUBROUTINE)g(BLAS_xTB_INFM_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g
(K,)g(A,)g(LDA,)g(C,)g(LDC)g(\))227 656 y(Triangular)e(Packed:)514
769 y(SUBROUTINE)g(BLAS_xTP_INFM_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g
(AP,)g(CP)g(\))227 882 y(all:)514 995 y(INTEGER)570 b(UPLO,)47
b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(LDC)514
1108 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\),)g(C\()g(LDC,)g(*)h(\))f(or)g(CP\()g(*)h(\))136 1357
y FJ(\017)e FK(C)30 b(binding:)227 1607 y FD(General:)227
1720 y(void)47 b(BLAS_xge_infm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)1277 1833 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(c,)h(int)g(ldc)g(\);)227 1946 y(General)f(Band:)227
2059 y(void)h(BLAS_xgb_infm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)g(int)g(kl,)g(int)g(ku,)1277 2172
y(const)g(<interval_array>)c(a,)k(int)g(lda,)g(RARRAY)f(c,)h(int)g(ldc)
g(\);)227 2285 y(Symmetric:)227 2398 y(void)g(BLAS_xsy_infm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
2511 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
2623 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 2736 y(Symmetric)f(Band:)227
2849 y(void)h(BLAS_xsb_infm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(n,)g(int)g(k,)1277 2962 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(c,)h(int)g(ldc)g(\);)227 3075 y(Symmetric)f(Packed:)
227 3188 y(void)h(BLAS_xsp_infm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(n,)1277 3301 y(const)g(<interval_array>)c(ap,)k(RARRAY)f(cp)h
(\);)227 3414 y(Triangular:)227 3527 y(void)g(BLAS_xtr_infm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
3640 y(enum)j(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)
1277 3753 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
3866 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 3978 y(Triangular)e(Band:)227
4091 y(void)i(BLAS_xtb_infm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4204 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 4317 y(int)j(n,)g(int)g
(k,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
4430 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 4543 y(Triangular)e(Packed:)
227 4656 y(void)i(BLAS_xtp_infm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4769 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 4882 y(int)j(n,)g(const)g
(<interval_array>)c(ap,)k(RARRAY)f(cp)h(\);)p 0 5113
3900 4 v 0 5263 a FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1268 5263 28 4 v 35 w FK(SUPM)p 1567 5263 V 32
w(I)31 b(\(Righ)m(t)f(endp)s(oin)m(t)f(of)i(an)f(in)m(terv)-5
b(al)29 b(matrix\))437 b Fy(C)32 b FJ( )p 3832 5191 69
4 v 25 w Fy(A)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 290 300
290 299 bop 0 -165 a FK(290)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FK(This)22 b(routine)g(\014nds)g
(the)i(real)f(matrix)g Fy(C)30 b FK(suc)m(h)23 b(that)i
Fy(c)1850 105 y Fw(i;j)1955 91 y FK(=)p 2051 42 49 4
v 25 w Fy(a)2099 105 y Fw(i;j)2203 91 y FJ(8)p Fy(i)e
FK(and)g FJ(8)p Fy(j)5 b FK(,)26 b(where)d FG(A)i FK(=)g
FJ(f)p FG(a)3174 105 y Fw(i;j)3254 91 y FJ(g)f FK(is)f(a)h(general)g
(\(or)0 204 y(general)34 b(banded,)g(or)f(symmetric,)i(or)e(symmetric)h
(banded,)f(symmetric)g(pac)m(k)m(ed,)j(or)e(triangular,)g(triangular)0
317 y(banded,)29 b(triangular)g(pac)m(k)m(ed\))j(in)m(terv)-5
b(al)30 b(matrix.)136 517 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)227 752 y FD(General:)514 865 y(SUBROUTINE)45
b(ge_supm_i\()g(a,)i(c)g(\))227 978 y(General)f(Band:)514
1091 y(SUBROUTINE)f(gb_supm_i\()g(a,)i(m,)g(kl,)g(c)g(\))227
1204 y(Symmetric:)514 1317 y(SUBROUTINE)e(sy_supm_i\()g(a,)i(c)g([,)g
(uplo])g(\))227 1430 y(Symmetric)f(Band:)514 1542 y(SUBROUTINE)f
(sb_supm_i\()g(a,)i(kl,)g(c)g([,)g(uplo])g(\))227 1655
y(Symmetric)f(Packed:)514 1768 y(SUBROUTINE)f(sp_supm_i\()g(ap,)i(cp)g
([,)g(uplo])f(\))227 1881 y(Triangular:)514 1994 y(SUBROUTINE)f
(tr_supm_i\()g(a,)i(c)g([,)g(uplo])g([,)g(diag])f(\))227
2107 y(Triangular)f(Band:)514 2220 y(SUBROUTINE)g(tb_supm_i\()g(a,)i
(kl,)g(c)g([,)g(uplo])g([,)g(diag])f(\))227 2333 y(Triangular)f
(Packed:)514 2446 y(SUBROUTINE)g(tp_supm_i\()g(ap,)i(cp)g([,)g(uplo],)f
([,)h(diag])g(\))227 2559 y(all:)514 2672 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\),)d(ap\(:\))514
2784 y(REAL)h(\(<wp>\),)g(INTENT\(OUT\))f(::)i(c\(:,:\),)f(cp\(:\))514
2897 y(INTEGER,)f(INTENT\(IN\))g(::)i(kl)514 3010 y
(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514
3123 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(diag)418 3236 y(where)561 3349 y(a)h(and)f(c)g(have)g(shape)752
3462 y(\(m,)g(n\))g(for)g(general)f(matrix)752 3575 y(\(l,)h(n\))g(for)
g(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))752 3688
y(\(n,)f(n\))g(for)g(symmetric)f(or)h(triangular)752
3801 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1182
3914 y(banded)f(\(p)h(=)h(band)e(width\))561 4027 y(ap)i(and)e(cp)i
(have)e(shape)h(\(n*\(n+1\)/2\))136 4262 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 4497 y FD(General:)514
4610 y(SUBROUTINE)45 b(BLAS_xGE_SUPM_I\()e(M,)k(N,)g(A,)h(LDA,)e(C,)h
(LDC)g(\))227 4723 y(General)f(Band:)514 4835 y(SUBROUTINE)f
(BLAS_xGB_SUPM_I\()e(M,)k(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(C,)g(LDC)g(\))
227 4948 y(Symmetric:)514 5061 y(SUBROUTINE)e(BLAS_xSY_SUPM_I\()e
(UPLO,)j(N,)i(A,)f(LDA,)f(C,)i(LDC)e(\))227 5174 y(Symmetric)g(Band:)
514 5287 y(SUBROUTINE)f(BLAS_xSB_SUPM_I\()e(UPLO,)j(N,)i(K,)f(A,)g
(LDA,)94 b(C,)47 b(LDC)g(\))227 5400 y(Symmetric)f(Packed:)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 291 301
291 300 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(291)514 91 y FD(SUBROUTINE)45 b(BLAS_xSP_SUPM_I\()e
(UPLO,)j(N,)i(AP,)e(CP)i(\))227 204 y(Triangular:)514
317 y(SUBROUTINE)d(BLAS_xTR_SUPM_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g
(A,)g(LDA,)g(C,)g(LDC)g(\))227 430 y(Triangular)e(Band:)514
543 y(SUBROUTINE)g(BLAS_xTB_SUPM_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g
(K,)g(A,)g(LDA,)g(C,)g(LDC)g(\))227 656 y(Triangular)e(Packed:)514
769 y(SUBROUTINE)g(BLAS_xTP_SUPM_I\()e(UPLO,)j(TRANS,)g(DIAG,)h(N,)g
(AP,)g(CP)g(\))227 882 y(all:)514 995 y(INTEGER)570 b(UPLO,)47
b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(LDC)514
1108 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\),)g(C\()g(LDC,)g(*)h(\))f(or)g(CP\()g(*)h(\))136 1357
y FJ(\017)e FK(C)30 b(binding:)227 1607 y FD(General:)227
1720 y(void)47 b(BLAS_xge_supm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)1277 1833 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(c,)h(int)g(ldc)g(\);)227 1946 y(General)f(Band:)227
2059 y(void)h(BLAS_xgb_supm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)g(int)g(kl,)g(int)g(ku,)1277 2172
y(const)g(<interval_array>)c(a,)k(int)g(lda,)g(RARRAY)f(c,)h(int)g(ldc)
g(\);)227 2285 y(Symmetric:)227 2398 y(void)g(BLAS_xsy_supm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
2511 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
2623 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 2736 y(Symmetric)f(Band:)227
2849 y(void)h(BLAS_xsb_supm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(n,)g(int)g(k,)1277 2962 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(c,)h(int)g(ldc)g(\);)227 3075 y(Symmetric)f(Packed:)
227 3188 y(void)h(BLAS_xsp_supm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(n,)1277 3301 y(const)g(<interval_array>)c(ap,)k(RARRAY)f(cp)h
(\);)227 3414 y(Triangular:)227 3527 y(void)g(BLAS_xtr_supm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
3640 y(enum)j(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)
1277 3753 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
3866 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 3978 y(Triangular)e(Band:)227
4091 y(void)i(BLAS_xtb_supm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4204 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 4317 y(int)j(n,)g(int)g
(k,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
4430 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 4543 y(Triangular)e(Packed:)
227 4656 y(void)i(BLAS_xtp_supm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4769 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 4882 y(int)j(n,)g(const)g
(<interval_array>)c(ap,)k(RARRAY)f(cp)h(\);)p 0 5113
3900 4 v 0 5252 a FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p
FJ(g)p 1268 5252 28 4 v 35 w FK(MIDM)p 1571 5252 V 34
w(I)28 b(\(Midp)s(oin)m(t)f(matrix)h(of)h(an)g(in)m(terv)-5
b(al)27 b(matrix\))i Fy(C)i FJ( )26 b FK(\()p FG(A)17
b FK(+)f FG(B)q FK(\))p Fy(=)p FK(2)-214 64 y FI(1)-214
177 y(2)-214 290 y(3)-214 403 y(4)-214 516 y(5)-214 628
y(6)-214 741 y(7)-214 854 y(8)-214 967 y(9)-230 1080
y(10)-230 1193 y(11)-230 1306 y(12)-230 1419 y(13)-230
1532 y(14)-230 1645 y(15)-230 1758 y(16)-230 1870 y(17)-230
1983 y(18)-230 2096 y(19)-230 2209 y(20)-230 2322 y(21)-230
2435 y(22)-230 2548 y(23)-230 2661 y(24)-230 2774 y(25)-230
2887 y(26)-230 3000 y(27)-230 3112 y(28)-230 3225 y(29)-230
3338 y(30)-230 3451 y(31)-230 3564 y(32)-230 3677 y(33)-230
3790 y(34)-230 3903 y(35)-230 4016 y(36)-230 4129 y(37)-230
4242 y(38)-230 4354 y(39)-230 4467 y(40)-230 4580 y(41)-230
4693 y(42)-230 4806 y(43)-230 4919 y(44)-230 5032 y(45)-230
5145 y(46)-230 5258 y(47)-230 5371 y(48)p eop
%%Page: 292 302
292 301 bop 0 -165 a FK(292)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 124 y FK(This)24 b(routine)h(\014nds)
g(the)h(real)g(matrix)f Fy(C)32 b FK(suc)m(h)26 b(that)h
Fy(B)5 b(LAS)2093 138 y Fw(i;j)2197 124 y FK(=)2303 56
y Fy(a)p 2303 69 49 4 v 20 x Fw(i;j)2452 56 y FK(+)p
2543 7 V 20 w Fy(a)2591 70 y Fw(i;j)p 2303 103 368 4
v 2464 186 a FK(2)2707 124 y FJ(8)p Fy(i)26 b FK(and)f
FJ(8)p Fy(j)5 b FK(,)27 b(where)f FG(A)f FK(=)g FJ(f)p
FG(a)3687 138 y Fw(i;j)3767 124 y FJ(g)i FK(is)0 263
y(a)e(general)g(\(or)g(general)g(banded,)g(or)f(symmetric,)i(or)e
(symmetric)g(banded,)h(symmetric)f(pac)m(k)m(ed,)k(or)c(triangular,)0
376 y(triangular)29 b(banded,)g(triangular)g(pac)m(k)m(ed\))j(in)m
(terv)-5 b(al)29 b(matrix.)136 587 y FJ(\017)46 b FK(F)-8
b(ortran)31 b(95)h(binding:)227 837 y FD(General:)514
950 y(SUBROUTINE)45 b(ge_midm_i\()g(a,)i(c\))227 1063
y(General)f(Band:)514 1175 y(SUBROUTINE)f(gb_midm_i\()g(a,)i(m,)g(kl,)g
(c)g(\))227 1288 y(Symmetric:)514 1401 y(SUBROUTINE)e(sy_midm_i\()g(a,)
i(c)g([,)g(uplo])g(\))227 1514 y(Symmetric)f(Band:)514
1627 y(SUBROUTINE)f(sb_midm_i\()g(a,)i(kl,)g(c)g([,)g(uplo])g(\))227
1740 y(Symmetric)f(Packed:)514 1853 y(SUBROUTINE)f(sp_midm_i\()g(ap,)i
(cp)g([,)g(uplo])f(\))227 1966 y(Triangular:)514 2079
y(SUBROUTINE)f(tr_midm_i\()g(a,)i(c)g([,)g(uplo])g([,)g(diag])f(\))227
2192 y(Triangular)f(Band:)514 2305 y(SUBROUTINE)g(tb_midm_i\()g(a,)i
(kl,)g(c)g([,)g(uplo])g([,)g(diag])f(\))227 2417 y(Triangular)f
(Packed:)514 2530 y(SUBROUTINE)g(tp_midm_i\()g(ap,)i(cp)g([,)g(uplo],)f
([,)h(diag])g(\))227 2643 y(all:)514 2756 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\),)d(ap\(:\))514
2869 y(REAL)h(\(<wp>\),)g(INTENT\(OUT\))f(::)i(c\(:,:\),)f(cp\(:\))514
2982 y(INTEGER,)f(INTENT\(IN\))g(::)i(kl)514 3095 y
(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h(uplo)514
3208 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(diag)418 3321 y(where)561 3434 y(a)h(and)f(c)g(have)g(shape)752
3547 y(\(m,)g(n\))g(for)g(general)f(matrix)752 3659 y(\(l,)h(n\))g(for)
g(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))752 3772
y(\(n,)f(n\))g(for)g(symmetric)f(or)h(triangular)752
3885 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1182
3998 y(banded)f(\(p)h(=)h(band)e(width\))561 4111 y(ap)i(and)e(cp)i
(have)e(shape)h(\(n*\(n+1\)/2\))136 4360 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 4610 y FD(General:)514
4723 y(SUBROUTINE)45 b(BLAS_xGE_MIDM_I\()e(M,)k(N,)g(A,)h(LDA,)e(C,)h
(LDC)g(\))227 4835 y(General)f(Band:)514 4948 y(SUBROUTINE)f
(BLAS_xGB_MIDM_I\()e(M,)k(N,)g(KL,)g(KU,)g(A,)g(LDA,)g(C,)g(LDC)g(\))
227 5061 y(Symmetric:)514 5174 y(SUBROUTINE)e(BLAS_xSY_MIDM_I\()e
(UPLO,)j(N,)i(A,)f(LDA,)f(C,)i(LDC)e(\))227 5287 y(Symmetric)g(Band:)
514 5400 y(SUBROUTINE)f(BLAS_xSB_MIDM_I\()e(UPLO,)j(N,)i(K,)f(A,)g
(LDA,)g(C,)g(LDC)g(\))4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 293 303
293 302 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(293)227 91 y FD(Symmetric)46 b(Packed:)514
204 y(SUBROUTINE)f(BLAS_xSP_MIDM_I\()e(UPLO,)j(N,)i(AP,)e(CP)i(\))227
317 y(Triangular:)514 430 y(SUBROUTINE)d(BLAS_xTR_MIDM_I\()e(UPLO,)j
(TRANS,)g(DIAG,)h(N,)g(A,)g(LDA,)g(C,)g(LDC)g(\))227
543 y(Triangular)e(Band:)514 656 y(SUBROUTINE)g(BLAS_xTB_MIDM_I\()e
(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(K,)g(A,)g(LDA,)g(C,)g(LDC)g(\))227
769 y(Triangular)e(Packed:)514 882 y(SUBROUTINE)g(BLAS_xTP_MIDM_I\()e
(UPLO,)j(TRANS,)g(DIAG,)h(N,)g(AP,)g(CP)g(\))227 995
y(all:)514 1108 y(INTEGER)570 b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h(N,)h
(K,)f(KL,)g(KU,)g(LDA,)f(LDC)514 1220 y(<type>)618 b(A\()48
b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)g(C\()g(2,)h(LDA,)e(*)i
(\))f(or)466 1333 y($)906 b(CP\()47 b(2,)h(*)f(\))136
1583 y FJ(\017)f FK(C)30 b(binding:)227 1833 y FD(General:)227
1946 y(void)47 b(BLAS_xge_midm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)1277 2059 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(c,)h(int)g(ldc)g(\);)227 2172 y(General)f(Band:)227
2285 y(void)h(BLAS_xgb_midm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(m,)g(int)g(n,)g(int)g(kl,)g(int)g(ku,)1277 2398
y(const)g(<interval_array>)c(a,)k(int)g(lda,)g(RARRAY)f(c,)h(int)g(ldc)
g(\);)227 2511 y(Symmetric:)227 2623 y(void)g(BLAS_xsy_midm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
2736 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)g(RARRAY)f
(c,)1277 2849 y(int)h(ldc)g(\);)227 2962 y(Symmetric)f(Band:)227
3075 y(void)h(BLAS_xsb_midm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(n,)g(int)g(k,)1277 3188 y(const)g(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(c,)h(int)g(ldc)g(\);)227 3301 y(Symmetric)f(Packed:)
227 3414 y(void)h(BLAS_xsp_midm_i\()c(enum)k(blas_order_type)d(order,)i
(int)h(n,)1277 3527 y(const)g(<interval_array>)c(ap,)k(RARRAY)f(cp)h
(\);)227 3640 y(Triangular:)227 3753 y(void)g(BLAS_xtr_midm_i\()c(enum)
k(blas_order_type)d(order,)i(enum)g(blas_uplo_type)e(uplo,)1277
3866 y(enum)j(blas_trans_type)d(trans,)i(enum)g(blas_diag_type)e(diag,)
1277 3978 y(int)j(n,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
4091 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 4204 y(Triangular)e(Band:)227
4317 y(void)i(BLAS_xtb_midm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4430 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 4543 y(int)j(n,)g(int)g
(k,)g(const)g(<interval_array>)c(a,)k(int)g(lda,)1277
4656 y(RARRAY)f(c,)i(int)e(ldc)h(\);)227 4769 y(Triangular)e(Packed:)
227 4882 y(void)i(BLAS_xtp_midm_i\()c(enum)k(blas_order_type)d(order,)i
(enum)g(blas_uplo_type)e(uplo,)1277 4995 y(enum)j(blas_trans_type)d
(trans,)i(enum)g(blas_diag_type)e(diag,)1277 5108 y(int)j(n,)g(const)g
(<interval_array>)c(ap,)k(RARRAY)f(cp)h(\);)p 0 5339
3900 4 v -214 64 a FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 294 304
294 303 bop 0 -165 a FK(294)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)0 91 y FJ(f)p FK(GE,GB,SY,SB,SP)-8
b(,TR,TB,TP)p FJ(g)p 1268 91 28 4 v 35 w FK(WIDTHM)p
1715 91 V 33 w(I)24 b(\(Elemen)m(t)m(wise)g(width)e(of)i(an)g(in)m
(terv)-5 b(al)23 b(matrix\))h Fy(C)31 b FJ( )p 3678 19
69 4 v 25 w Fy(A)8 b FJ(\000)f Fy(A)p 3832 104 V 0 317
a FK(This)33 b(routine)g(\014nds)g(the)i(real)f(matrix)g
Fy(C)41 b FK(suc)m(h)34 b(that)h Fy(c)1948 331 y Fw(i;j)2060
317 y FK(=)p 2163 268 49 4 v 32 w Fy(a)2211 331 y Fw(i;j)2314
317 y FJ(\000)23 b Fy(a)p 2408 330 V 21 x Fw(i;j)2571
317 y FJ(8)p Fy(i)34 b FK(and)g FJ(8)p Fy(j)5 b FK(,)36
b(where)e FG(A)e FK(=)g FJ(f)p FG(a)3599 331 y Fw(i;j)3679
317 y FJ(g)j FK(is)f(a)0 430 y(general)d(\(or)g(general)g(banded,)f(or)
h(symmetric,)g(or)g(symmetric)f(banded,)g(symmetric)g(pac)m(k)m(ed,)i
(or)f(triangular,)0 543 y(triangular)e(banded,)g(triangular)g(pac)m(k)m
(ed\))j(in)m(terv)-5 b(al)29 b(matrix.)136 743 y FJ(\017)46
b FK(F)-8 b(ortran)31 b(95)h(binding:)227 978 y FD(General:)514
1091 y(SUBROUTINE)45 b(ge_widthm_i\()f(a,)j(c)h(\))227
1204 y(General)e(Band:)514 1317 y(SUBROUTINE)f(gb_widthm_i\()f(a,)j(m,)
g(kl,)g(c)h(\))227 1430 y(Symmetric:)514 1542 y(SUBROUTINE)d
(sy_widthm_i\()f(a,)j(c)h([,)f(uplo])f(\))227 1655 y(Symmetric)g(Band:)
514 1768 y(SUBROUTINE)f(sb_widthm_i\()f(a,)j(kl,)g(c)h([,)f(uplo])f(\))
227 1881 y(Symmetric)g(Packed:)514 1994 y(SUBROUTINE)f(sp_widthm_i\()f
(ap,)j(cp)g([,)g(uplo])g(\))227 2107 y(Triangular:)514
2220 y(SUBROUTINE)e(tr_widthm_i\()f(a,)j(c)h([,)f(uplo])f([,)h(diag])g
(\))227 2333 y(Triangular)e(Band:)514 2446 y(SUBROUTINE)g
(tb_widthm_i\()f(a,)j(kl,)g(c)h([,)f(uplo])f([,)h(diag])g(\))227
2559 y(Triangular)e(Packed:)514 2672 y(SUBROUTINE)g(tp_widthm_i\()f
(ap,)j(cp)g([,)g(uplo],)f([,)i(diag])e(\))227 2784 y(all:)514
2897 y(TYPE\(INTERVAL\))e(\(<wp>\),)h(INTENT\(IN\))g(::)j(a\(:,:\),)d
(ap\(:\))514 3010 y(REAL)h(\(<wp>\),)g(INTENT\(OUT\))f(::)i(c\(:,:\),)f
(cp\(:\))514 3123 y(INTEGER,)f(INTENT\(IN\))g(::)i(kl)514
3236 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(uplo)514 3349 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)
i(::)h(diag)418 3462 y(where)561 3575 y(a)h(and)f(c)g(have)g(shape)752
3688 y(\(m,)g(n\))g(for)g(general)f(matrix)752 3801 y(\(l,)h(n\))g(for)
g(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))752 3914
y(\(n,)f(n\))g(for)g(symmetric)f(or)h(triangular)752
4027 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1182
4139 y(banded)f(\(p)h(=)h(band)e(width\))561 4252 y(ap)i(and)e(cp)i
(have)e(shape)h(\(n*\(n+1\)/2\))136 4487 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 4723 y FD(General:)514
4835 y(SUBROUTINE)45 b(BLAS_xGE_WIDTHM_I\()d(M,)48 b(N,)f(A,)g(LDA,)g
(C,)g(LDC)g(\))227 4948 y(General)f(Band:)514 5061 y(SUBROUTINE)f
(BLAS_xGB_WIDTHM_I\()d(M,)48 b(N,)f(KL,)g(KU,)g(A,)g(LDA,)f(C,)i(LDC)f
(\))227 5174 y(Symmetric:)514 5287 y(SUBROUTINE)e(BLAS_xSY_WIDTHM_I\()d
(UPLO,)47 b(N,)g(A,)g(LDA,)g(C,)g(LDC)g(\))227 5400 y(Symmetric)f
(Band:)4084 64 y FI(1)4084 177 y(2)4084 290 y(3)4084
403 y(4)4084 516 y(5)4084 628 y(6)4084 741 y(7)4084 854
y(8)4084 967 y(9)4069 1080 y(10)4069 1193 y(11)4069 1306
y(12)4069 1419 y(13)4069 1532 y(14)4069 1645 y(15)4069
1758 y(16)4069 1870 y(17)4069 1983 y(18)4069 2096 y(19)4069
2209 y(20)4069 2322 y(21)4069 2435 y(22)4069 2548 y(23)4069
2661 y(24)4069 2774 y(25)4069 2887 y(26)4069 3000 y(27)4069
3112 y(28)4069 3225 y(29)4069 3338 y(30)4069 3451 y(31)4069
3564 y(32)4069 3677 y(33)4069 3790 y(34)4069 3903 y(35)4069
4016 y(36)4069 4129 y(37)4069 4242 y(38)4069 4354 y(39)4069
4467 y(40)4069 4580 y(41)4069 4693 y(42)4069 4806 y(43)4069
4919 y(44)4069 5032 y(45)4069 5145 y(46)4069 5258 y(47)4069
5371 y(48)p eop
%%Page: 295 305
295 304 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(295)514 91 y FD(SUBROUTINE)45 b(BLAS_xSB_WIDTHM_I\()d
(UPLO,)47 b(N,)g(K,)g(A,)g(LDA,)g(C,)g(LDC)g(\))227 204
y(Symmetric)f(Packed:)514 317 y(SUBROUTINE)f(BLAS_xSP_WIDTHM_I\()d
(UPLO,)47 b(N,)g(AP,)g(CP)g(\))227 430 y(Triangular:)514
543 y(SUBROUTINE)e(BLAS_xTR_WIDTHM_I\()d(UPLO,)47 b(TRANS,)f(DIAG,)g
(N,)h(A,)h(LDA,)e(C,)h(LDC)g(\))227 656 y(Triangular)e(Band:)514
769 y(SUBROUTINE)g(BLAS_xTB_WIDTHM_I\()d(UPLO,)47 b(TRANS,)f(DIAG,)g
(N,)h(K,)h(A,)f(LDA,)f(C,)i(LDC)f(\))227 882 y(Triangular)e(Packed:)514
995 y(SUBROUTINE)g(BLAS_xTP_WIDTHM_I\()d(UPLO,)47 b(TRANS,)f(DIAG,)g
(N,)h(AP,)g(CP)h(\))227 1108 y(all:)514 1220 y(INTEGER)570
b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(LDC)514
1333 y(<type>)618 b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f
(\),)g(C\()g(LDC,)g(*)h(\))f(or)466 1446 y($)906 b(CP\()47
b(*)h(\))136 1673 y FJ(\017)e FK(C)30 b(binding:)227
1900 y FD(General:)227 2013 y(void)47 b(BLAS_xge_widthm_i\()c(enum)j
(blas_order_type)e(order,)i(int)h(m,)g(int)g(n,)1373
2126 y(const)f(<interval_array>)d(a,)48 b(int)f(lda,)f(RARRAY)g(c,)1373
2239 y(int)h(ldc)g(\);)227 2351 y(General)f(Band:)227
2464 y(void)h(BLAS_xgb_widthm_i\()c(enum)j(blas_order_type)e(order,)i
(int)h(m,)g(int)g(n,)g(int)g(kl,)1373 2577 y(int)g(ku,)g(const)f
(<interval_array>)d(a,)k(int)g(lda,)g(RARRAY)f(c,)1373
2690 y(int)h(ldc)g(\);)227 2803 y(Symmetric:)227 2916
y(void)g(BLAS_xsy_widthm_i\()c(enum)j(blas_order_type)e(order,)i(enum)h
(blas_uplo_type)d(uplo,)1373 3029 y(int)j(n,)g(const)f
(<interval_array>)e(a,)j(int)g(lda,)1373 3142 y(RARRAY)f(c,)h(int)g
(ldc)g(\);)227 3255 y(Symmetric)f(Band:)227 3368 y(void)h
(BLAS_xsb_widthm_i\()c(enum)j(blas_order_type)e(order,)i(int)h(n,)g
(int)g(k,)1373 3481 y(const)f(<interval_array>)d(a,)48
b(int)f(lda,)f(RARRAY)g(c,)h(int)g(ldc)g(\);)227 3593
y(Symmetric)f(Packed:)227 3706 y(void)h(BLAS_xsp_widthm_i\()c(enum)j
(blas_order_type)e(order,)i(int)h(n,)1373 3819 y(const)f
(<interval_array>)d(ap,)k(RARRAY)f(cp)i(\);)227 3932
y(Triangular:)227 4045 y(void)f(BLAS_xtr_widthm_i\()c(enum)j
(blas_order_type)e(order,)i(enum)h(blas_uplo_type)d(uplo,)1373
4158 y(enum)i(blas_trans_type)e(trans,)i(enum)h(blas_diag_type)d(diag,)
1373 4271 y(int)j(n,)g(const)f(<interval_array>)e(a,)j(int)g(lda,)1373
4384 y(RARRAY)f(c,)h(int)g(ldc)g(\);)227 4497 y(Triangular)e(Band:)227
4610 y(void)i(BLAS_xtb_widthm_i\()c(enum)j(blas_order_type)e(order,)i
(enum)h(blas_uplo_type)d(uplo,)1373 4723 y(enum)i(blas_trans_type)e
(trans,)i(enum)h(blas_diag_type)d(diag,)1373 4835 y(int)j(n,)g(int)g
(k,)g(const)f(<interval_array>)e(a,)j(int)g(lda,)1373
4948 y(RARRAY)f(c,)h(int)g(ldc)g(\);)227 5061 y(Triangular)e(Packed:)
227 5174 y(void)i(BLAS_xtp_widthm_i\()c(enum)j(blas_order_type)e
(order,)i(enum)h(blas_uplo_type)d(uplo,)1373 5287 y(enum)i
(blas_trans_type)e(trans,)i(enum)h(blas_diag_type)d(diag,)1373
5400 y(int)j(n,)g(const)f(<interval_array>)e(ap,)i(RARRAY)h(cp)g(\);)
-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 296 306
296 305 bop 0 -165 a FK(296)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)p 0 91 3900 4 v 0 230
a FJ(f)p FK(GE,GB,SY,SB,SP)-8 b(,TR,TB,TP)p FJ(g)p 1268
230 28 4 v 35 w FK(CONSTR)m(UCTM)p 1972 230 V 32 w(I)29
b(\(Constructs)h(an)g(in)m(terv)-5 b(al)29 b(matrix)h(from)g(t)m(w)m(o)
h(\015oat-)0 343 y(ing)f(p)s(oin)m(t)f(matrices\))2756
b FG(A)26 b FJ(\023)f Fy(B)5 b(;)15 b(C)0 569 y FK(This)37
b(routine)g(constructs)i(an)f(in)m(terv)-5 b(al)38 b(matrix)g(from)g(t)
m(w)m(o)i(\015oating)e(p)s(oin)m(t)g(matrices)g Fy(B)43
b FK(and)38 b Fy(C)45 b FK(suc)m(h)38 b(that)0 682 y
FG(a)51 696 y Fw(i;j)167 682 y FK(=)e([min)n FJ(f)p Fy(b)534
696 y Fw(i;j)615 682 y Fy(;)15 b(B)5 b(LAS)915 696 y
Fw(i;j)995 682 y FJ(g)p Fy(;)15 b FK(max)q FJ(f)p Fy(b)1334
696 y Fw(i;j)1414 682 y Fy(;)g(B)5 b(LAS)1714 696 y Fw(i;j)1794
682 y FJ(g)p FK(])38 b FJ(8)p Fy(i)e FJ(2)f(f)p FK(0)p
Fy(;)15 b FK(1)p Fy(;)g FJ(\001)g(\001)g(\001)j Fy(;)d(m)25
b FJ(\000)f FK(1)p FJ(g)38 b FK(and)e FJ(8)p Fy(j)41
b FJ(2)36 b(f)p FK(0)p Fy(;)15 b FK(1)p Fy(;)g FJ(\001)g(\001)g(\001)j
Fy(;)d(n)25 b FJ(\000)f FK(1)p FJ(g)p FK(.)0 795 y(Both)31
b(\015oating)f(p)s(oin)m(t)g(matrices)g Fy(B)35 b FK(and)30
b Fy(C)36 b FK(ha)m(v)m(e)c(the)f(same)f(storage)i(format.)136
1007 y FJ(\017)46 b FK(F)-8 b(ortran)31 b(95)h(binding:)227
1257 y FD(General:)514 1370 y(SUBROUTINE)45 b(ge_constructm_i\()e(a,)k
(b,)g(c)h(\))227 1483 y(General)e(Band:)514 1596 y(SUBROUTINE)f
(gb_constructm_i\()e(a,)k(b,)g(m,)h(kl,)e(c)i(\))227
1709 y(Symmetric:)514 1822 y(SUBROUTINE)d(sy_constructm_i\()e(a,)k(b,)g
(c)h([,)f(uplo])f(\))227 1935 y(Symmetric)g(Band:)514
2048 y(SUBROUTINE)f(sb_constructm_i\()e(a,)k(b,)g(kl,)g(c)h([,)f(uplo])
f(\))227 2161 y(Symmetric)g(Packed:)514 2274 y(SUBROUTINE)f
(sp_constructm_i\()e(ap,)k(bp,)g(cp)g([,)g(uplo])g(\))227
2386 y(Triangular:)514 2499 y(SUBROUTINE)e(tr_constructm_i\()e(a,)k(b,)
g(c)h([,)f(uplo])f([,)i(diag])e(\))227 2612 y(Triangular)f(Band:)514
2725 y(SUBROUTINE)g(tb_constructm_i\()e(a,)k(b,)g(kl,)g(c)h([,)f(uplo])
f([,)h(diag])g(\))227 2838 y(Triangular)e(Packed:)514
2951 y(SUBROUTINE)g(tp_constructm_i\()e(ap,)k(bp,)g(cp)g([,)g(uplo],)f
([,)h(diag])g(\))227 3064 y(all:)514 3177 y(TYPE\(INTERVAL\))d
(\(<wp>\),)h(INTENT\(OUT\))g(::)i(a\(:,:\),)f(ap\(:\))514
3290 y(REAL)g(\(<wp>\),)g(INTENT\(IN\))f(::)i(b\(:,:\),)f(c\(:,:\),)g
(cp\(:\))514 3403 y(INTEGER,)f(INTENT\(IN\))g(::)i(kl)514
3516 y(TYPE\(blas_uplo_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)i(::)h
(uplo)514 3628 y(TYPE\(blas_diag_type\),)42 b(INTENT\(IN\),)i(OPTIONAL)
i(::)h(diag)418 3741 y(where)561 3854 y(a,)h(b)f(and)g(c)g(have)g
(shape)752 3967 y(\(m,)g(n\))g(for)g(general)f(matrix)752
4080 y(\(l,)h(n\))g(for)g(general)f(banded)g(matrix)g(\(l)h(>)h(kl\))
752 4193 y(\(n,)f(n\))g(for)g(symmetric)f(or)h(triangular)752
4306 y(\(p+1,)g(n\))g(for)g(symmetric)e(banded)h(or)h(triangular)1182
4419 y(banded)f(\(p)h(=)h(band)e(width\))561 4532 y(ap)i(and)e(cp)i
(have)e(shape)h(\(n*\(n+1\)/2\))136 4782 y FJ(\017)f
FK(F)-8 b(ortran)31 b(77)h(binding:)227 5032 y FD(General:)514
5144 y(SUBROUTINE)45 b(BLAS_xGE_CONSTRUCTM_I\()c(M,)48
b(N,)f(A,)g(LDA,)g(B,)g(LDB,)f(C,)i(LDC)e(\))227 5257
y(General)g(Band:)514 5370 y(SUBROUTINE)f(BLAS_xGB_CONSTRUCTM_I\()c(M,)
48 b(N,)f(KL,)g(KU,)g(A,)g(LDA,)f(B,)i(LDB,)e(C,)h(LDC)g(\))4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 297 307
297 306 bop 0 -165 a FA(C.4.)71 b(INTER)-10 b(V)g(AL)30
b(BLAS)2793 b FK(297)227 91 y FD(Symmetric:)514 204 y(SUBROUTINE)45
b(BLAS_xSY_CONSTRUCTM_I\()c(UPLO,)47 b(N,)g(A,)g(LDA,)g(B,)g(LDB,)g(C,)
g(LDC)g(\))227 317 y(Symmetric)f(Band:)514 430 y(SUBROUTINE)f
(BLAS_xSB_CONSTRUCTM_I\()c(UPLO,)47 b(N,)g(K,)g(A,)g(LDA,)g(B.)g(LDB,)g
(C,)g(LDC)g(\))227 543 y(Symmetric)f(Packed:)514 656
y(SUBROUTINE)f(BLAS_xSP_CONSTRUCTM_I\()c(UPLO,)47 b(N,)g(AP,)g(BP,)g
(CP)g(\))227 769 y(Triangular:)514 882 y(SUBROUTINE)e
(BLAS_xTR_CONSTRUCTM_I\()c(UPLO,)47 b(TRANS,)f(DIAG,)g(N,)h(A,)h(LDA,)
466 995 y($)1622 b(B,)48 b(LDB,)e(C,)h(LDC)g(\))227 1108
y(Triangular)e(Band:)514 1220 y(SUBROUTINE)g(BLAS_xTB_CONSTRUCTM_I\()c
(UPLO,)47 b(TRANS,)f(DIAG,)g(N,)h(K,)h(A,)f(LDA,)466
1333 y($)1622 b(B,)48 b(LDB,)e(C,)h(LDC)g(\))227 1446
y(Triangular)e(Packed:)514 1559 y(SUBROUTINE)g(BLAS_xTP_CONSTRUCTM_I\()
c(UPLO,)47 b(TRANS,)f(DIAG,)g(N,)h(AP,)g(BP,)g(CP)g(\))227
1672 y(all:)514 1785 y(INTEGER)570 b(UPLO,)47 b(TRANS,)f(DIAG,)g(M,)h
(N,)h(K,)f(KL,)g(KU,)g(LDA,)f(LDC)514 1898 y(<type>)618
b(A\()48 b(2,)f(LDA,)f(*)i(\))f(or)h(AP\()e(2,)i(*)f(\),)95
b(B\()47 b(LDC,)g(*)g(\))466 2011 y($)906 b(or)48 b(BP\()f(*)g(\),)g
(C\()g(LDC,)g(*)g(\))h(or)f(CP\()g(*)g(\),)136 2238 y
FJ(\017)f FK(C)30 b(binding:)227 2464 y FD(General:)227
2577 y(void)47 b(BLAS_xge_constructm_i\()42 b(enum)k(blas_order_type)e
(order,)i(int)h(m,)g(int)g(n,)1564 2690 y(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(b,)h(int)g(ldb)1564 2803 y(RARRAY)f(c,)h(int)g(ldc)g
(\);)227 2916 y(General)f(Band:)227 3029 y(void)h
(BLAS_xgb_constructm_i\()42 b(enum)k(blas_order_type)e(order,)i(int)h
(m,)g(int)g(n,)g(int)g(kl,)1564 3142 y(int)g(ku,)f(<interval_array>)e
(a,)j(int)g(lda,)g(RARRAY)f(c,)1564 3255 y(int)h(ldc)f(\);)227
3368 y(Symmetric:)227 3481 y(void)h(BLAS_xsy_constructm_i\()42
b(enum)k(blas_order_type)e(order,)1564 3593 y(enum)i(blas_uplo_type)e
(uplo,)j(int)f(n,)1564 3706 y(<interval_array>)d(a,)k(int)g(lda,)g
(RARRAY)f(b,)1564 3819 y(int)h(ldb,)f(RARRAY)g(c,)h(int)g(ldc)g(\);)227
3932 y(Symmetric)f(Band:)227 4045 y(void)h(BLAS_xsb_constructm_i\()42
b(enum)k(blas_order_type)e(order,)i(int)h(n,)g(int)g(k,)1564
4158 y(<interval_array>)c(a,)k(int)g(lda,)g(RARRAY)f(b,)h(int)g(ldb,)
1564 4271 y(RARRAY)f(c,)h(int)g(ldc)g(\);)227 4384 y(Symmetric)f
(Packed:)227 4497 y(void)h(BLAS_xsp_constructm_i\()42
b(enum)k(blas_order_type)e(order,)i(int)h(n,)1564 4610
y(<interval_array>)c(ap,)k(RARRAY)f(bp,)h(RARRAY)f(cp)h(\);)227
4723 y(Triangular:)227 4835 y(void)g(BLAS_xtr_constructm_i\()42
b(enum)k(blas_order_type)e(order,)1564 4948 y(enum)i(blas_uplo_type)e
(uplo,)1564 5061 y(enum)i(blas_trans_type)e(trans,)1564
5174 y(enum)i(blas_diag_type)e(diag,)j(int)f(n,)1564
5287 y(<interval_array>)d(a,)k(int)g(lda,)g(RARRAY)f(b,)1564
5400 y(int)h(ldb,)f(RARRAY)g(c,)h(int)g(ldc)g(\);)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 298 308
298 307 bop 0 -165 a FK(298)1882 b FA(ANNEX)31 b(C.)61
b(JOURNAL)30 b(OF)g(DEVELOPMENT)227 91 y FD(Triangular)45
b(Band:)227 204 y(void)i(BLAS_xtb_constructm_i\()42 b(enum)k
(blas_order_type)e(order,)1564 317 y(enum)i(blas_uplo_type)e(uplo,)1564
430 y(enum)i(blas_trans_type)e(trans,)1564 543 y(enum)i(blas_diag_type)
e(diag,)j(int)f(n,)i(int)f(k,)1564 656 y(<interval_array>)c(a,)k(int)g
(lda,)g(RARRAY)f(b,)1564 769 y(int)h(ldb,)f(RARRAY)g(c,)h(int)g(ldc)g
(\);)227 882 y(Triangular)e(Packed:)227 995 y(void)i
(BLAS_xtp_constructm_i\()42 b(enum)k(blas_order_type)e(order,)1564
1108 y(enum)i(blas_uplo_type)e(uplo,)1564 1220 y(enum)i
(blas_trans_type)e(trans,)1564 1333 y(enum)i(blas_diag_type)e(diag,)j
(int)f(n,)1564 1446 y(<interval_array>)d(ap,)k(RARRAY)f(bp,)h(RARRAY)f
(cp)h(\);)0 1696 y Fv(Environmental)31 b(Enquiry)0 1868
y FK(FPINF)m(O)p 354 1868 28 4 v 33 w(I)g(\(En)m(vironmen)m(tal)e
(enquiry\))0 2094 y(This)34 b(routine)g(queries)h(for)g(mac)m(hine-sp)s
(eci\014c)g(\015oating)g(p)s(oin)m(t)g(c)m(haracteristics.)57
b(Refer)35 b(to)i(section)f(1.6)g(for)g(a)0 2206 y(list)28
b(of)h(all)g(p)s(ossible)d(return)j(v)-5 b(alues)28 b(of)i(this)e
(routine,)h(and)g(sections)g(A.4,)h(A.5,)h(and)e(A.6,)h(for)f(their)g
(resp)s(ectiv)m(e)0 2319 y(language)i(dep)s(enden)m(t)e(represen)m
(tations)h(in)g(F)-8 b(ortran)31 b(95,)g(F)-8 b(ortran)31
b(77,)h(and)d(C.)136 2532 y FJ(\017)46 b FK(F)-8 b(ortran)31
b(95)h(binding:)418 2782 y FD(REAL\(<wp>\))45 b(FUNCTION)h(fpinfo_i\()f
(cmach,)h(prec)h(\))514 2895 y(TYPE)f(\(blas_cmach_type\),)d
(INTENT\(IN\))i(::)i(cmach)514 3008 y(<type>\(<wp>\),)d(INTENT\(IN\))h
(::)i(prec)136 3258 y FJ(\017)f FK(F)-8 b(ortran)31 b(77)h(binding:)514
3483 y FD(<rtype>)45 b(FUNCTION)h(BLAS_xFPINFO_I\()e(CMACH)i(\))514
3595 y(INTEGER)570 b(CMACH)136 3820 y FJ(\017)46 b FK(C)30
b(binding:)370 4045 y FD(<rtype>)46 b(BLAS_xfpinfo_i\()e(enum)j
(blas_cmach_type)c(cmach)k(\);)4084 64 y FI(1)4084 177
y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084
741 y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069
1193 y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 299 309
299 308 bop 0 756 a FH(Bibliograph)-6 b(y)45 1200 y FK([1])47
b(Global)29 b(solutions.)39 b FD(
http://www.mscs.mu.edu/)p
FJ(\030)p FD(gl)o(obso)o(l/)p FK(.)45 1388 y([2])47 b(In)m(terv)-5
b(al)30 b(computations.)40 b FD(
http://cs.utep.edu/interva)o(l-c)o
(omp/)o(icom)o(pww)o(w.ht)o(ml)p FK(.)45 1576 y([3])47
b(M.)35 b(Ab)s(o)s(elaze,)i(N.)f(Chriso)s(c)m(hoides,)e(and)g(E.)h
(Houstis.)55 b(The)34 b(P)m(arallelization)g(of)h(Lev)m(el)h(2)f(and)g
(3)g(BLAS)187 1689 y(Op)s(erations)43 b(on)i(Distributed)e(Memory)i
(Mac)m(hines.)84 b(T)-8 b(ec)m(hnical)45 b(Rep)s(ort)g(CSD-TR-91-007,)
51 b(Purdue)187 1802 y(Univ)m(ersit)m(y)-8 b(,)30 b(W)-8
b(est)32 b(Lafa)m(y)m(ette,)h(IN,)e(1991.)45 1989 y([4])47
b(R.)29 b(Agarw)m(al,)i(S.)e(Balle,)h(F.)g(Gusta)m(vson,)g(M.)g(Joshi,)
f(and)g(P)-8 b(.)30 b(P)m(alk)-5 b(ar.)39 b(A)29 b(Three-Dimensional)f
(Approac)m(h)187 2102 y(to)i(P)m(arallel)e(Matrix)h(Multiplication.)36
b Fz(IBM)31 b(Journal)i(of)f(R)-5 b(ese)g(ar)g(ch)33
b(and)g(Development)p FK(,)d(39\(5\):575{582,)187 2215
y(1995.)45 2403 y([5])47 b(R.)32 b(Agarw)m(al,)g(F.)h(Gusta)m(vson,)g
(and)e(M.)h(Zubair.)43 b(A)31 b(High)h(P)m(erformance)g(Matrix)g
(Multiplication)c(Algo-)187 2516 y(rithm)i(on)h(a)g(Distributed-Memory)
f(P)m(arallel)h(Computer,)g(Using)f(Ov)m(erlapp)s(ed)f(Comm)m
(unication.)42 b Fz(IBM)187 2628 y(Journal)34 b(of)e(R)-5
b(ese)g(ar)g(ch)35 b(and)f(Development)p FK(,)d(38\(6\):673{681,)36
b(1994.)45 2816 y([6])47 b(E.)27 b(Anderson,)g(Z.)g(Bai,)h(C.)f(Bisc)m
(hof,)h(S.)f(Blac)m(kford,)h(J.)f(Demmel,)h(J.)f(Dongarra,)i(J.)e(Du)g
(Croz,)h(A.)f(Green-)187 2929 y(baum,)47 b(S.)d(Hammarling,)i(A.)e
(McKenney)-8 b(,)49 b(and)43 b(D.)i(Sorensen.)81 b Fz(LAP)-7
b(A)n(CK)43 b(Users')i(Guide)p FK(.)82 b(SIAM,)187 3042
y(Philadelphia,)20 b(P)-8 b(A,)23 b(USA,)f(third)e(edition,)i(1999.)29
b(\(Also)22 b(a)m(v)-5 b(ailable)22 b(in)e(Japanese,)k(published)19
b(b)m(y)j(Maruzen,)187 3155 y(T)-8 b(oky)m(o,)32 b(translated)e(b)m(y)g
(Dr)h(Oguni\).)45 3342 y([7])47 b(ANSI/IEEE,)32 b(New)h(Y)-8
b(ork.)47 b Fz(IEEE)33 b(Standar)-5 b(d)38 b(for)d(Binary)g(Flo)-5
b(ating)36 b(Point)f(Arithmetic)p FK(,)f(Std)e(754-1985)187
3455 y(edition,)d(1985.)45 3643 y([8])47 b(P)-8 b(.)41
b(Bangalore.)72 b(The)40 b(Data-Distribution-Indep)s(enden)m(t)f
(Approac)m(h)h(to)i(Scalable)d(P)m(arallel)h(Libraries.)187
3756 y(Master's)31 b(thesis,)f(Mississippi)c(State)32
b(Univ)m(ersit)m(y)-8 b(,)30 b(1995.)45 3944 y([9])47
b(D.)35 b(Bindel,)f(J.)g(Demmel,)h(W.)g(Kahan,)g(and)f(O.)g(Marques.)53
b(On)33 b(computing)h(giv)m(ens)g(rotations)g(reliably)187
4056 y(and)d(e\016cien)m(tly)-8 b(.)33 b(LAP)-8 b(A)m(CK)32
b(W)-8 b(orking)32 b(Note)i(No.148.)47 b(T)-8 b(ec)m(hnical)32
b(Rep)s(ort)g(CS-00-449,)j(Departmen)m(t)e(of)187 4169
y(Computer)e(Science,)h(Univ)m(ersit)m(y)g(of)g(T)-8
b(ennessee,)33 b(1122)g(V)-8 b(olun)m(teer)33 b(Boulev)-5
b(ard,)32 b(Kno)m(xville,)f(TN)g(37996-)187 4282 y(3450,)h(USA,)f
(2000.)42 b(URL:)31 b(h)m(ttp://www.netlib.org/lapac)m(k/la)m(wns/.)0
4470 y([10])47 b(R.)34 b(Bisseling)e(and)h(J.)h(v)-5
b(an)33 b(der)g(V)-8 b(orst.)52 b(P)m(arallel)33 b(T)-8
b(riangular)31 b(System)j(Solving)e(on)i(a)g(mesh)f(net)m(w)m(ork)i(of)
187 4583 y(T)-8 b(ransputers.)39 b Fz(SIAM)32 b(Journal)i(on)f
(Scienti\014c)f(and)i(Statistic)-5 b(al)34 b(Computing)p
FK(,)e(12:787{799,)j(1991.)0 4770 y([11])47 b(L.)31 b(Blac)m(kford,)h
(J.)f(Choi,)f(A.)i(Cleary)-8 b(,)31 b(E.)g(D'Azev)m(edo,)j(J.)d
(Demmel,)h(I.)f(Dhillon,)e(J.)i(Dongarra,)h(S.)f(Ham-)187
4883 y(marling,)c(G.)j(Henry)-8 b(,)29 b(A.)h(P)m(etitet,)g(K.)f
(Stanley)-8 b(,)29 b(D.)h(W)-8 b(alk)m(er,)30 b(and)e(R.)h(C.)g(Whaley)
-8 b(.)39 b Fz(Sc)-5 b(aLAP)e(A)n(CK)30 b(Users')187
4996 y(Guide)p FK(.)41 b(SIAM,)30 b(Philadelphia,)d(P)-8
b(A,)31 b(1997.)0 5184 y([12])47 b(G.)114 b(Bohlender.)286
b(Literature)113 b(list)e(on)i(enclosure)g(metho)s(ds)f(and)h(related)g
(topics.)187 5297 y FD(
http://ma70.rz.uni-karls)o(ruh)o(e.de)o(/)p
FJ(\030)p FD(ae)o(15/)o(litl)o(ist.)o(htm)o(l)p FK(.)-214
64 y FI(1)-214 177 y(2)-214 290 y(3)-214 403 y(4)-214
516 y(5)-214 628 y(6)-214 741 y(7)-214 854 y(8)-214 967
y(9)-230 1080 y(10)-230 1193 y(11)-230 1306 y(12)-230
1419 y(13)-230 1532 y(14)-230 1645 y(15)-230 1758 y(16)-230
1870 y(17)-230 1983 y(18)-230 2096 y(19)-230 2209 y(20)-230
2322 y(21)-230 2435 y(22)-230 2548 y(23)-230 2661 y(24)-230
2774 y(25)-230 2887 y(26)-230 3000 y(27)-230 3112 y(28)-230
3225 y(29)-230 3338 y(30)-230 3451 y(31)-230 3564 y(32)-230
3677 y(33)-230 3790 y(34)-230 3903 y(35)-230 4016 y(36)-230
4129 y(37)-230 4242 y(38)-230 4354 y(39)-230 4467 y(40)-230
4580 y(41)-230 4693 y(42)-230 4806 y(43)-230 4919 y(44)-230
5032 y(45)-230 5145 y(46)-230 5258 y(47)-230 5371 y(48)p
eop
%%Page: 300 310
300 309 bop 0 -165 a FK(300)3038 b FA(BIBLIOGRAPHY)0
91 y FK([13])47 b(R.)35 b(Bren)m(t)h(and)f(P)-8 b(.)36
b(Strazdins.)54 b(Implemen)m(tation)34 b(of)i(BLAS)f(Lev)m(el)g(3)h
(and)f(LINP)-8 b(A)m(CK)35 b(Benc)m(hmark)h(on)187 204
y(the)30 b(AP1000.)43 b Fz(F)-7 b(ujitsu)32 b(Scienti\014c)h(and)g(T)-7
b(e)i(chnic)g(al)34 b(Journal)p FK(,)e(5\(1\):61{70,)j(1993.)0
392 y([14])47 b(D.)142 b(Chiriaev)e(and)h(G.)h(W.)g(W)-8
b(alster.)373 b(In)m(terv)-5 b(al)142 b(arithmetic)f(sp)s
(eci\014cation.)187 505 y FD(
http://www.mscs.mu.edu/)p
FJ(\030)o FD(glo)o(bsol)o(/wal)o(ste)o(r-pa)o(pers)o(.ht)o(ml)p
FK(.)0 692 y([15])47 b(J.)35 b(Choi,)g(J.)g(Dongarra,)j(S.)c(Ostrouc)m
(ho)m(v,)k(A.)d(P)m(etitet,)j(D.)e(W)-8 b(alk)m(er,)37
b(and)e(R.)g(C.)g(Whaley)-8 b(.)55 b(A)35 b(Prop)s(osal)187
805 y(for)41 b(a)g(Set)g(of)g(P)m(arallel)f(Basic)h(Linear)f(Algebra)g
(Subprograms.)70 b(In)41 b(J.)f(Dongarra,)45 b(K.)c(Masden,)j(and)187
918 y(J.)d(W)-8 b(a)j(\023)-41 b(sniewski,)45 b(editors,)e
Fz(Applie)-5 b(d)44 b(Par)-5 b(al)5 b(lel)44 b(Computing)p
FK(,)i(pages)c(107{114.)j(Springer)39 b(V)-8 b(erlag,)45
b(1995.)187 1031 y(\(also)31 b(LAP)-8 b(A)m(CK)30 b(W)-8
b(orking)31 b(Note)g(No.100\).)0 1219 y([16])47 b(J.)24
b(Choi,)h(J.)f(Dongarra,)j(and)c(D.)i(W)-8 b(alk)m(er.)32
b(PUMMA:)25 b(P)m(arallel)f(Univ)m(ersal)f(Matrix)h(Multiplication)d
(Algo-)187 1332 y(rithms)f(on)h(Distributed)f(Memory)i(Concurren)m(t)f
(Computers.)26 b Fz(Concurr)-5 b(ency:)38 b(Pr)-5 b(actic)g(e)26
b(and)f(Exp)-5 b(erienc)g(e)p FK(,)187 1445 y(6\(7\):543{570,)35
b(1994.)43 b(\(also)31 b(LAP)-8 b(A)m(CK)30 b(W)-8 b(orking)31
b(Note)g(No.57\).)0 1632 y([17])47 b(J.)27 b(Choi,)h(J.)f(Dongarra,)j
(and)d(D.)h(W)-8 b(alk)m(er.)37 b(PB-BLAS:)28 b(A)g(Set)g(of)g(P)m
(arallel)e(Blo)s(c)m(k)j(Basic)f(Linear)e(Algebra)187
1745 y(Subroutines.)38 b Fz(Concurr)-5 b(ency:)43 b(Pr)-5
b(actic)g(e)33 b(and)h(Exp)-5 b(erienc)g(e)p FK(,)31
b(8\(7\):517{535,)k(1996.)0 1933 y([18])47 b(A.)40 b(Ch)m(tc)m(helk)-5
b(ano)m(v)g(a,)45 b(J.)40 b(Gunnels,)h(G.)g(Morro)m(w,)i(J.)d(Ov)m
(erfelt,)j(and)c(R.)i(v)-5 b(an)40 b(de)g(Geijn.)69 b(P)m(arallel)39
b(Im-)187 2046 y(plemen)m(tation)g(of)h(BLAS:)f(General)h(T)-8
b(ec)m(hniques)39 b(for)g(Lev)m(el)h(3)g(BLAS.)68 b(T)-8
b(ec)m(hnical)39 b(Rep)s(ort)g(TR95-49,)187 2159 y(Departmen)m(t)h(of)g
(Computer)f(Sciences,)i(UT-Austin,)g(1995.)69 b(Submitted)37
b(to)k(Concurrency:)57 b(Practice)187 2271 y(and)30 b(Exp)s(erience.)0
2459 y([19])47 b(J.)30 b(Demmel.)41 b Fz(Applie)-5 b(d)33
b(Numeric)-5 b(al)34 b(Line)-5 b(ar)33 b(A)n(lgebr)-5
b(a)p FK(.)41 b(SIAM,)30 b(1997.)0 2647 y([20])47 b(D.)34
b(S.)e(Do)s(dson.)48 b(Corrigendum:)c(Remark)33 b(on)g(\\Algorithm)f
(539:)47 b(Basic)34 b(Linear)e(Algebra)h(Subroutines)187
2760 y(for)d(F)m(OR)-8 b(TRAN)31 b(usage".)42 b Fz(A)n(CM)31
b(T)-7 b(r)i(ans.)34 b(Math.)f(Softwar)-5 b(e)p FK(,)33
b(9:140,)f(1983.)43 b(\(See)31 b(also)f([39)q(])h(and)e([21)r(]\).)0
2947 y([21])47 b(D.)24 b(S.)f(Do)s(dson)g(and)g(R.)h(G.)g(Grimes.)k
(Remark)c(on)f(algorithm)g(539:)38 b(Basic)24 b(Linear)f(Algebra)g
(Subprograms)187 3060 y(for)30 b(F)-8 b(ortran)31 b(usage.)41
b Fz(A)n(CM)32 b(T)-7 b(r)i(ans.)34 b(Math.)f(Softwar)-5
b(e)p FK(,)32 b(8:403{404,)j(1982.)42 b(\(See)31 b(also)f([39)q(])h
(and)f([20)q(]\).)0 3248 y([22])47 b(D.)39 b(S.)g(Do)s(dson,)i(R.)e(G.)
h(Grimes,)g(and)f(J.)g(G.)g(Lewis.)65 b(Sparse)39 b(extensions)f(to)i
(the)f(F)m(OR)-8 b(TRAN)40 b(Basic)187 3361 y(Linear)f(Algebra)h
(Subprograms.)69 b Fz(A)n(CM)40 b(T)-7 b(r)i(ans.)43
b(Math.)f(Softwar)-5 b(e)p FK(,)45 b(17:253{272,)j(1991.)72
b(\(Algorithm)187 3474 y(692\).)0 3661 y([23])47 b(J.)23
b(J.)g(Dongarra,)i(J.)e(R.)h(Bunc)m(h,)g(C.)f(B.)h(Moler,)g(and)f(G.)g
(W.)h(Stew)m(art.)30 b Fz(LINP)-7 b(A)n(CK)24 b(Users')i(Guide)p
FK(.)j(So)s(ciet)m(y)187 3774 y(for)h(Industrial)d(and)j(Applied)e
(Mathematics,)k(Philadelphia,)27 b(P)-8 b(A,)31 b(1979.)0
3962 y([24])47 b(J.)35 b(J.)h(Dongarra,)i(J.)d(Du)g(Croz,)i(I.)f(S.)f
(Du\013,)i(and)e(S.)g(Hammarling.)54 b(A)36 b(prop)s(osal)e(for)h(a)h
(set)g(of)g(Lev)m(el)g(3)187 4075 y(Basic)c(Linear)f(Algebra)h
(Subprograms.)44 b(In)31 b(G.)h(Ro)s(drigue,)g(editor,)g
Fz(Par)-5 b(al)5 b(lel)35 b(Pr)-5 b(o)g(c)g(essing)36
b(for)e(Scienti\014c)187 4188 y(Computing)p FK(,)46 b(pages)d(40{44.)h
(SIAM,)e(Philadelphia,)g(P)-8 b(A,)42 b(USA,)g(1989.)78
b(\(Pro)s(ceedings)41 b(of)h(the)g(Third)187 4301 y(SIAM)30
b(Conference\).)0 4488 y([25])47 b(J.)38 b(J.)h(Dongarra,)i(J.)d(Du)h
(Croz,)h(I.)f(S.)f(Du\013,)j(and)c(S.)h(Hammarling.)64
b(A)38 b(set)h(of)g(Lev)m(el)f(3)h(Basic)g(Linear)187
4601 y(Algebra)30 b(Subprograms.)39 b Fz(A)n(CM)31 b(T)-7
b(r)i(ans.)34 b(Math.)f(Softwar)-5 b(e)p FK(,)33 b(16:1{28,)g(1990.)43
b(\(Algorithm)29 b(679\).)0 4789 y([26])47 b(J.)39 b(J.)g(Dongarra,)j
(J.)d(Du)g(Croz,)i(S.)e(Hammarling,)h(and)f(R.)g(J.)g(Hanson.)66
b(An)38 b(extended)i(set)f(of)g(F)m(OR-)187 4902 y(TRAN)31
b(Basic)h(Linear)f(Algebra)g(Subprograms.)43 b Fz(A)n(CM)33
b(T)-7 b(r)i(ans.)35 b(Math.)f(Softwar)-5 b(e)p FK(,)34
b(14:1{32,)h(399,)f(1988.)187 5015 y(\(Algorithm)29 b(656\).)0
5202 y([27])47 b(I.)25 b(S.)f(Du\013,)i(M.)f(Marrone,)i(G.)e(Radicati,)
h(and)e(C.)h(Vittoli.)30 b(Lev)m(el)25 b(3)g(Basic)g(Linear)f(Algebra)h
(Subprograms)187 5315 y(for)30 b(sparse)g(matrics:)40
b(A)31 b(user-lev)m(el)f(in)m(terface.)41 b Fz(A)n(CM)31
b(T)-7 b(r)i(ans.)34 b(Math.)f(Softwar)-5 b(e)p FK(,)33
b(23:379{401,)i(1997.)4084 64 y FI(1)4084 177 y(2)4084
290 y(3)4084 403 y(4)4084 516 y(5)4084 628 y(6)4084 741
y(7)4084 854 y(8)4084 967 y(9)4069 1080 y(10)4069 1193
y(11)4069 1306 y(12)4069 1419 y(13)4069 1532 y(14)4069
1645 y(15)4069 1758 y(16)4069 1870 y(17)4069 1983 y(18)4069
2096 y(19)4069 2209 y(20)4069 2322 y(21)4069 2435 y(22)4069
2548 y(23)4069 2661 y(24)4069 2774 y(25)4069 2887 y(26)4069
3000 y(27)4069 3112 y(28)4069 3225 y(29)4069 3338 y(30)4069
3451 y(31)4069 3564 y(32)4069 3677 y(33)4069 3790 y(34)4069
3903 y(35)4069 4016 y(36)4069 4129 y(37)4069 4242 y(38)4069
4354 y(39)4069 4467 y(40)4069 4580 y(41)4069 4693 y(42)4069
4806 y(43)4069 4919 y(44)4069 5032 y(45)4069 5145 y(46)4069
5258 y(47)4069 5371 y(48)p eop
%%Page: 301 311
301 310 bop 0 -165 a FA(BIBLIOGRAPHY)3038 b FK(301)0
91 y([28])47 b(A.)39 b(Elster.)64 b(Basic)39 b(Matrix)f(Subprograms)f
(for)h(Distributed)f(Memory)i(Systems.)64 b(In)38 b(D.)h(W)-8
b(alk)m(er)40 b(and)187 204 y(Q.)32 b(Stout,)h(editors,)f
Fz(Pr)-5 b(o)g(c)g(e)g(e)g(dings)37 b(of)d(the)h(Fifth)g(Distribute)-5
b(d)34 b(Memory)h(Computing)h(Confer)-5 b(enc)g(e)p FK(,)33
b(pages)187 317 y(311{316.)h(IEEE)29 b(Press,)h(1990.)0
498 y([29])47 b(R.)39 b(F)-8 b(algout,)42 b(A.)d(Skjellum,)g(S.)f
(Smith,)h(and)g(C.)f(Still.)63 b(The)39 b(Multicomputer)e(T)-8
b(o)s(olb)s(o)m(x)38 b(Approac)m(h)h(to)187 611 y(Concurren)m(t)e(BLAS)
h(and)g(LA)m(CS.)63 b(In)38 b Fz(Pr)-5 b(o)g(c)g(e)g(e)g(dings)41
b(of)f(the)g(Sc)-5 b(alable)41 b(High)f(Performanc)-5
b(e)41 b(Computing)187 724 y(Confer)-5 b(enc)g(e)33 b(SHPCC-92)p
FK(.)e(IEEE)f(Computer)f(So)s(ciet)m(y)i(Press,)f(1992.)0
905 y([30])47 b(Message)31 b(P)m(assing)d(In)m(terface)i(F)-8
b(orum.)39 b(MPI:)29 b(A)g(Message)i(P)m(assing)d(In)m(terface)i
(Standard.)38 b Fz(International)187 1017 y(Journal)c(of)e(Sup)-5
b(er)g(c)g(omputer)36 b(Applic)-5 b(ations)34 b(and)g(High)e
(Performanc)-5 b(e)34 b(Computing)p FK(,)e(8\(3{4\),)h(1994.)0
1198 y([31])47 b(G.)37 b(F)-8 b(o)m(x,)41 b(S.)36 b(Otto,)k(and)c(A.)h
(Hey)-8 b(.)61 b(Matrix)36 b(Algorithms)g(on)h(a)g(Hyp)s(ercub)s(e)e
(I:)i(Matrix)g(Multiplication.)187 1311 y Fz(Par)-5 b(al)5
b(lel)34 b(Computing)p FK(,)e(3:17{31,)h(1987.)0 1492
y([32])47 b(B.)31 b(S.)g(Garb)s(o)m(w,)g(J.)g(M.)g(Bo)m(yle,)h(J.)f(J.)
g(Dongarra,)h(and)e(C.)h(B.)g(Moler.)42 b Fz(Matrix)33
b(Eigensystem)g(R)-5 b(outines)35 b({)187 1605 y(EISP)-7
b(A)n(CK)24 b(Guide)i(Extension)p FK(,)f(v)m(olume)e(51)g(of)g
Fz(L)-5 b(e)g(ctur)g(e)27 b(Notes)e(in)h(Computer)h(Scienc)-5
b(e)p FK(.)28 b(Springer-V)-8 b(erlag,)187 1718 y(Berlin,)29
b(1977.)0 1899 y([33])47 b(G.)34 b(Golub)f(and)g(C.)h(v)-5
b(an)34 b(Loan.)51 b Fz(Matrix)36 b(Computations)p FK(.)54
b(Johns-Hopkins,)33 b(Baltimore,)i(third)d(edition,)187
2011 y(1996.)0 2192 y([34])47 b(M.)30 b(Heath)g(and)f(C.)g(Romine.)38
b(P)m(arallel)28 b(Solution)g(T)-8 b(riangular)27 b(Systems)i(on)g
(Distributed)f(Memory)i(Mul-)187 2305 y(tipro)s(cessors.)40
b Fz(SIAM)31 b(Journal)j(on)f(Scienti\014c)f(and)i(Statistic)-5
b(al)34 b(Computing)p FK(,)e(9:558{588,)j(1988.)0 2486
y([35])47 b(N.)24 b(J.)g(Higham.)30 b Fz(A)-5 b(c)g(cur)g(acy)27
b(and)h(Stability)f(of)g(Numeric)-5 b(al)27 b(Algorithms)p
FK(.)32 b(SIAM,)24 b(Philadelphia,)d(P)-8 b(A,)25 b(1996.)0
2667 y([36])47 b(S.)33 b(Huss-Lederman,)h(E.)g(Jacobson,)h(A.)f(Tsao,)h
(and)e(G.)h(Zhang.)50 b(Matrix)34 b(Multiplication)d(on)i(the)h(In)m
(tel)187 2780 y(T)-8 b(ouc)m(hstone)31 b(DEL)-8 b(T)g(A.)42
b Fz(Concurr)-5 b(ency:)42 b(Pr)-5 b(actic)g(e)34 b(and)f(Exp)-5
b(erienc)g(e)p FK(,)31 b(6\(7\):571{594,)36 b(1994.)0
2960 y([37])47 b(IEEE.)27 b Fz(ANSI/IEEE)c(Standar)-5
b(d)29 b(for)c(Binary)h(Flo)-5 b(ating)27 b(Point)e(A)n(rithmetic:)39
b(Std)25 b(754-1985)p FK(.)31 b(IEEE)21 b(Press,)187
3073 y(New)30 b(Y)-8 b(ork,)32 b(NY,)f(USA,)f(1985.)0
3254 y([38])47 b(ISO/IEC.)199 b Fz(C9X)81 b(F)n(CD)h(Standar)-5
b(d)84 b(\(Dr)-5 b(aft\))p FK(,)99 b(x3j11/98-049,)j(wg14/n843)86
b(edition,)96 b(1998.)187 3367 y(h)m(ttp://h)m(ttp://www)m
(old.dkuug.dk/JTC1/SC22/W)m(G14/.)0 3548 y([39])47 b(C.)27
b(L.)f(La)m(wson,)i(R.)f(J.)g(Hanson,)h(D.)f(Kincaid,)f(and)g(F.)i(T.)f
(Krogh.)34 b(Basic)27 b(Linear)f(Algebra)h(Subprograms)187
3661 y(for)f(F)m(OR)-8 b(TRAN)26 b(usage.)35 b Fz(A)n(CM)27
b(T)-7 b(r)i(ans.)30 b(Math.)f(Softwar)-5 b(e)p FK(,)29
b(5:308{323,)i(1979.)k(\(Algorithm)25 b(539.)j(See)e(also)187
3774 y([21)q(])31 b(and)e([20)r(]\).)0 3954 y([40])47
b(G.)26 b(Li)f(and)g(T.)g(Coleman.)32 b(A)26 b(P)m(arallel)f(T)-8
b(riangular)23 b(Solv)m(er)j(for)f(a)h(Distributed-Memory)e(Multipro)s
(cessor.)187 4067 y Fz(SIAM)32 b(Journal)h(on)g(Scienti\014c)g(and)g
(Statistic)-5 b(al)35 b(Computing)p FK(,)c(9\(3\):485{502,)36
b(1988.)0 4248 y([41])47 b(G.)g(Li)g(and)f(T.)h(Coleman.)90
b(A)47 b(New)g(Metho)s(d)g(for)g(Solving)f(T)-8 b(riangular)45
b(Systems)i(on)g(Distributed-)187 4361 y(Memory)37 b(Message-P)m
(assing)i(Multipro)s(cessor.)59 b Fz(SIAM)38 b(Journal)i(on)g
(Scienti\014c)e(and)i(Statistic)-5 b(al)41 b(Com-)187
4474 y(puting)p FK(,)31 b(10\(2\):382{396,)36 b(1989.)0
4655 y([42])47 b(X.)32 b(Li,)g(J.)f(Demmel,)i(D.)g(Bailey)-8
b(,)32 b(G.)h(Henry)-8 b(,)32 b(Y.)g(Hida,)g(J.)g(Isk)-5
b(andar,)32 b(W.)g(Kahan,)g(A.)h(Kapur,)e(M.)h(Mar-)187
4768 y(tin,)53 b(T.)48 b(T)-8 b(ung,)53 b(and)c(D.)g(Y)-8
b(o)s(o.)97 b(Design,)53 b(implemen)m(tation)48 b(and)g(testing)h(of)g
(extended)g(and)f(mixed)187 4880 y(precision)41 b(blas.)79
b(T)-8 b(ec)m(hnical)43 b(Rep)s(ort)g(CS-00-451,)49 b(Departmen)m(t)c
(of)e(Computer)g(Science,)k(Univ)m(ersit)m(y)187 4993
y(of)52 b(T)-8 b(ennessee,)59 b(1122)54 b(V)-8 b(olun)m(teer)52
b(Boulev)-5 b(ard,)58 b(Kno)m(xville,)e(TN)c(37996-3450,)62
b(USA,)52 b(2000.)108 b(URL:)187 5106 y(h)m(ttp://www.netlib.org/lapac)
m(k/la)m(wns/.)0 5287 y([43])47 b(W.)36 b(Lic)m(h)m(tenstein)e(and)h
(S.)f(L.)h(Johnsson.)54 b(Blo)s(c)m(k-Cyclic)34 b(Dense)i(Linear)e
(Algebra.)54 b Fz(SIAM)36 b(Journal)i(on)187 5400 y(Scienti\014c)32
b(and)i(Statistic)-5 b(al)34 b(Computing)p FK(,)e(14\(6\):1259{1288,)37
b(1993.)-214 64 y FI(1)-214 177 y(2)-214 290 y(3)-214
403 y(4)-214 516 y(5)-214 628 y(6)-214 741 y(7)-214 854
y(8)-214 967 y(9)-230 1080 y(10)-230 1193 y(11)-230 1306
y(12)-230 1419 y(13)-230 1532 y(14)-230 1645 y(15)-230
1758 y(16)-230 1870 y(17)-230 1983 y(18)-230 2096 y(19)-230
2209 y(20)-230 2322 y(21)-230 2435 y(22)-230 2548 y(23)-230
2661 y(24)-230 2774 y(25)-230 2887 y(26)-230 3000 y(27)-230
3112 y(28)-230 3225 y(29)-230 3338 y(30)-230 3451 y(31)-230
3564 y(32)-230 3677 y(33)-230 3790 y(34)-230 3903 y(35)-230
4016 y(36)-230 4129 y(37)-230 4242 y(38)-230 4354 y(39)-230
4467 y(40)-230 4580 y(41)-230 4693 y(42)-230 4806 y(43)-230
4919 y(44)-230 5032 y(45)-230 5145 y(46)-230 5258 y(47)-230
5371 y(48)p eop
%%Page: 302 312
302 311 bop 0 -165 a FK(302)3038 b FA(BIBLIOGRAPHY)0
91 y FK([44])47 b(K.)40 b(Math)m(ur)g(and)f(S.)g(L.)h(Johnsson.)67
b(Multiplication)37 b(of)j(Matrices)h(of)f(Arbitrary)e(Shap)s(es)g(on)i
(a)g(Data)187 204 y(P)m(arallel)29 b(Computer.)40 b Fz(Par)-5
b(al)5 b(lel)34 b(Computing)p FK(,)e(20:919{951,)j(1994.)0
392 y([45])47 b(O.)c(McBry)m(an)i(and)e(E.)h(v)-5 b(an)44
b(de)f(V)-8 b(elde.)81 b(Matrix)43 b(and)g(V)-8 b(ector)46
b(Op)s(erations)c(on)i(Hyp)s(ercub)s(e)e(P)m(arallel)187
505 y(Pro)s(cessors.)e Fz(Par)-5 b(al)5 b(lel)34 b(Computing)p
FK(,)e(5:117{126,)i(1987.)0 692 y([46])47 b(D.)36 b(Priest.)57
b(Algorithms)35 b(for)g(arbitrary)g(precision)f(\015oating)i(p)s(oin)m
(t)f(arithmetic.)57 b(In)35 b(P)-8 b(.)36 b(Kornerup)f(and)187
805 y(D.)f(Matula,)g(editors,)g Fz(Pr)-5 b(o)g(c)g(e)g(e)g(dings)37
b(of)f(the)f(10th)i(Symp)-5 b(osium)38 b(on)d(Computer)i(A)n(rithmetic)
p FK(,)d(pages)g(132{)187 918 y(145,)e(Grenoble,)e(F)-8
b(rance,)32 b(June)d(26-28)j(1991.)h(IEEE)c(Computer)h(So)s(ciet)m(y)h
(Press.)0 1106 y([47])47 b(Jonathan)c(Ric)m(hard)e(Shew)m(c)m(h)m(uk.)
78 b(Adaptiv)m(e)43 b(Precision)e(Floating-Poin)m(t)i(Arithmetic)f(and)
h(Fast)g(Ro-)187 1219 y(bust)33 b(Geometric)i(Predicates.)52
b(T)-8 b(ec)m(hnical)33 b(Rep)s(ort)h(CMU-CS-96-140,)k(Sc)m(ho)s(ol)33
b(of)i(Computer)e(Science,)187 1332 y(Carnegie)39 b(Mellon)g(Univ)m
(ersit)m(y)-8 b(,)42 b(Pittsburgh,)e(P)m(ennsylv)-5 b(ania,)41
b(Ma)m(y)g(1996.)70 b(to)41 b(app)s(ear)e(in)f(Discrete)i(&)187
1445 y(Computational)29 b(Geometry)-8 b(.)0 1632 y([48])47
b(B.)35 b(T.)g(Smith,)g(J.)g(M.)h(Bo)m(yle,)h(J.)e(J.)g(Dongarra,)i(B.)
f(S.)f(Garb)s(o)m(w,)h(Y.)f(Ik)m(eb)s(e,)i(V.)e(C.)g(Klema,)h(and)e(C.)
h(B.)187 1745 y(Moler.)44 b Fz(Matrix)34 b(Eigensystem)g(R)-5
b(outines)35 b({)f(EISP)-7 b(A)n(CK)32 b(Guide)p FK(,)h(v)m(olume)e(6)h
(of)g Fz(L)-5 b(e)g(ctur)g(e)34 b(Notes)g(in)g(Com-)187
1858 y(puter)f(Scienc)-5 b(e)p FK(.)40 b(Springer-V)-8
b(erlag,)30 b(Berlin,)f(1976.)0 2046 y([49])47 b(P)-8
b(.)23 b(Strazdins.)k(A)c(High)f(P)m(erformance,)j(P)m(ortable)f
(Distributed)c(BLAS)j(Implemen)m(tation.)28 b(In)22 b
Fz(Pr)-5 b(o)g(c)g(e)g(e)g(dings)187 2159 y(of)33 b(the)g(Sixth)g(Par)
-5 b(al)5 b(lel)34 b(Computing)g(Workshop)p FK(,)e(F)-8
b(ujitsu)30 b(P)m(arallel)f(Computing)g(Cen)m(ter,)i(1996.)0
2346 y([50])47 b(Thinking)27 b(Mac)m(hines)k(Corp)s(oration.)39
b Fz(CMSSL)32 b(for)i(F)-7 b(ortr)i(an)p FK(,)33 b(1990.)0
2534 y([51])47 b(R.)33 b(v)-5 b(an)32 b(de)g(Geijn.)47
b Fz(Using)34 b(PLAP)-7 b(A)n(CK:)32 b(Par)-5 b(al)5
b(lel)36 b(Line)-5 b(ar)36 b(A)n(lgebr)-5 b(a)35 b(Package)p
FK(.)47 b(The)32 b(MIT)g(Press,)h(Cam-)187 2647 y(bridge,)c(Massac)m(h)
m(usetts,)k(1997.)0 2834 y([52])47 b(R.)29 b(v)-5 b(an)28
b(de)h(Geijn)f(and)g(J.)g(W)-8 b(atts.)40 b(SUMMA:)29
b(Scalable)f(Univ)m(ersal)g(Matrix)g(Multiplication)e(Algorithm.)187
2947 y(T)-8 b(ec)m(hnical)42 b(Rep)s(ort)h(UT)f(CS-95-286,)48
b(LAP)-8 b(A)m(CK)43 b(Working)f(Note)i(No.96,)k(Univ)m(ersit)m(y)42
b(of)g(T)-8 b(ennessee,)187 3060 y(1995.)4084 64 y FI(1)4084
177 y(2)4084 290 y(3)4084 403 y(4)4084 516 y(5)4084 628
y(6)4084 741 y(7)4084 854 y(8)4084 967 y(9)4069 1080
y(10)4069 1193 y(11)4069 1306 y(12)4069 1419 y(13)4069
1532 y(14)4069 1645 y(15)4069 1758 y(16)4069 1870 y(17)4069
1983 y(18)4069 2096 y(19)4069 2209 y(20)4069 2322 y(21)4069
2435 y(22)4069 2548 y(23)4069 2661 y(24)4069 2774 y(25)4069
2887 y(26)4069 3000 y(27)4069 3112 y(28)4069 3225 y(29)4069
3338 y(30)4069 3451 y(31)4069 3564 y(32)4069 3677 y(33)4069
3790 y(34)4069 3903 y(35)4069 4016 y(36)4069 4129 y(37)4069
4242 y(38)4069 4354 y(39)4069 4467 y(40)4069 4580 y(41)4069
4693 y(42)4069 4806 y(43)4069 4919 y(44)4069 5032 y(45)4069
5145 y(46)4069 5258 y(47)4069 5371 y(48)p eop
%%Page: 303 313
303 312 bop 0 559 a FH(Index)0 982 y FK(AMAX)p 292 982
28 4 v 34 w(V)-10 b(AL,)30 b(9,)h(42)0 1095 y(AMIN)p
257 1095 V 33 w(V)-10 b(AL,)31 b(9,)g(40)0 1208 y(APPL)-8
b(Y)p 314 1208 V 33 w(GR)m(OT,)31 b(9,)g(49)0 1321 y(AXPBY,)g(9,)g(47)0
1434 y(AXPBY)p 335 1434 V 34 w(a,)g(9,)g(145)0 1547 y(AXPBY)p
335 1547 V 34 w(a)p 414 1547 V 33 w(X,)f(9,)h(145)0 1659
y(AXPBY)p 335 1659 V 34 w(X,)f(9,)h(145)0 1772 y(AXPY)p
271 1772 V 33 w(DOT,)g(9,)g(49)0 1968 y(COPY,)f(9,)h(50)0
2164 y(DOT,)f(9,)h(38)0 2277 y(DOT)p 211 2277 V 33 w(a)p
289 2277 V 33 w(b,)f(9,)h(143)0 2390 y(DOT)p 211 2390
V 33 w(a)p 289 2390 V 33 w(b)p 373 2390 V 32 w(X,)g(9,)g(143)0
2503 y(DOT)p 211 2503 V 33 w(X,)f(9,)h(143)0 2699 y(FPINF)m(O,)g(13,)h
(103)0 2812 y(FPINF)m(O)p 354 2812 V 33 w(X,)f(13,)h(172)0
3008 y(GB)p 140 3008 V 33 w(A)m(CC,)f(11,)g(79)0 3121
y(GB)p 140 3121 V 33 w(ADD,)h(11,)g(80)0 3234 y(GB)p
140 3234 V 33 w(COPY,)e(11,)i(98)0 3346 y(GB)p 140 3346
V 33 w(DIA)m(G)p 411 3346 V 34 w(SCALE,)e(11,)i(72)0
3459 y(GB)p 140 3459 V 33 w(DIA)m(G)p 411 3459 V 34 w(SCALE)p
749 3459 V 32 w(A)m(CC,)f(11,)g(76)0 3572 y(GB)p 140
3572 V 33 w(LRSCALE,)f(11,)h(73)0 3685 y(GB)p 140 3685
V 33 w(NORM,)g(11,)h(69)0 3798 y(GBMV,)g(10,)f(53,)h(147)0
3911 y(GBMV)p 291 3911 V 34 w(a)p 370 3911 V 33 w(b,)e(10,)i(147)0
4024 y(GBMV)p 291 4024 V 34 w(a)p 370 4024 V 33 w(b)p
454 4024 V 32 w(X,)f(10,)h(147)0 4137 y(GBMV)p 291 4137
V 34 w(X,)f(10,)g(147)0 4250 y(GE)p 138 4250 V 33 w(A)m(CC,)f(11,)i(77)
0 4363 y(GE)p 138 4363 V 33 w(ADD,)g(11,)f(80)0 4476
y(GE)p 138 4476 V 33 w(COPY,)f(11,)h(98)0 4588 y(GE)p
138 4588 V 33 w(DIA)m(G)p 409 4588 V 34 w(SCALE,)f(11,)h(72)0
4701 y(GE)p 138 4701 V 33 w(DIA)m(G)p 409 4701 V 34 w(SCALE)p
747 4701 V 32 w(A)m(CC,)f(11,)i(76)0 4814 y(GE)p 138
4814 V 33 w(LRSCALE,)d(11,)j(73)0 4927 y(GE)p 138 4927
V 33 w(NORM,)f(11,)g(69)0 5040 y(GE)p 138 5040 V 33 w(PERMUTE,)f(11,)i
(102)0 5153 y(GE)p 138 5153 V 33 w(SUM)p 373 5153 V 33
w(MV,)f(10,)g(59)0 5266 y(GE)p 138 5266 V 33 w(SUM)p
373 5266 V 33 w(MV)p 557 5266 V 33 w(a)p 635 5266 V 33
w(b,)f(10,)i(154)0 5379 y(GE)p 138 5379 V 33 w(SUM)p
373 5379 V 33 w(MV)p 557 5379 V 33 w(a)p 635 5379 V 33
w(b)p 719 5379 V 32 w(X,)f(10,)h(154)2095 982 y(GE)p
2233 982 V 33 w(SUM)p 2468 982 V 33 w(MV)p 2652 982 V
33 w(X,)f(10,)g(154)2095 1095 y(GE)p 2233 1095 V 33 w(TRANS,)f(11,)i
(101)2095 1208 y(GEMM,)g(11,)f(83)2095 1321 y(GEMM)p
2399 1321 V 34 w(a)p 2478 1321 V 33 w(b,)f(11,)i(157)2095
1434 y(GEMM)p 2399 1434 V 34 w(a)p 2478 1434 V 33 w(b)p
2562 1434 V 32 w(X,)f(11,)h(157)2095 1547 y(GEMM)p 2399
1547 V 34 w(X,)f(11,)g(157)2095 1659 y(GEMV,)h(10,)f(53)2095
1772 y(GEMV)p 2384 1772 V 34 w(a)p 2463 1772 V 33 w(b,)f(10,)h(147)2095
1885 y(GEMV)p 2384 1885 V 34 w(a)p 2463 1885 V 33 w(b)p
2547 1885 V 32 w(X,)g(10,)g(147)2095 1998 y(GEMV)p 2384
1998 V 34 w(X,)f(10,)i(147)2095 2111 y(GEMVER,)f(10,)h(61)2095
2224 y(GEMVT,)f(10,)h(59)2095 2337 y(GEN)p 2301 2337
V 33 w(GR)m(OT,)f(9,)g(43)2095 2450 y(GEN)p 2301 2450
V 33 w(HOUSE,)f(9,)h(45)2095 2563 y(GEN)p 2301 2563 V
33 w(JR)m(OT,)f(9,)h(45)2095 2676 y(GER,)g(10,)g(64)2095
2872 y(HB)p 2232 2872 V 34 w(COPY,)f(11,)h(100)2095 2984
y(HB)p 2232 2984 V 34 w(LRSCALE,)e(11,)i(75)2095 3097
y(HB)p 2232 3097 V 34 w(NORM,)f(11,)i(69)2095 3210 y(HBMV,)g(10,)f(56)
2095 3323 y(HBMV)p 2383 3323 V 34 w(a)p 2462 3323 V 33
w(b,)f(10,)i(150)2095 3436 y(HBMV)p 2383 3436 V 34 w(a)p
2462 3436 V 33 w(b)p 2546 3436 V 33 w(X,)e(10,)i(150)2095
3549 y(HBMV)p 2383 3549 V 34 w(X,)f(10,)g(150)2095 3662
y(HE)p 2230 3662 V 33 w(COPY,)f(11,)i(100)2095 3775 y(HE)p
2230 3775 V 33 w(LRSCALE,)d(11,)j(75)2095 3888 y(HE)p
2230 3888 V 33 w(NORM,)f(11,)g(69)2095 4001 y(HE)p 2230
4001 V 33 w(TRIDIA)m(G)p 2667 4001 V 33 w(R2K,)g(11,)h(97)2095
4114 y(HE)p 2230 4114 V 33 w(TRIDIA)m(G)p 2667 4114 V
33 w(RK,)f(11,)g(92)2095 4226 y(HEMM,)h(85)2095 4339
y(HEMM)p 2396 4339 V 34 w(a)p 2475 4339 V 33 w(b,)e(11,)h(161)2095
4452 y(HEMM)p 2396 4452 V 34 w(a)p 2475 4452 V 33 w(b)p
2559 4452 V 32 w(X,)g(11,)g(161)2095 4565 y(HEMM)p 2396
4565 V 34 w(X,)f(11,)i(161)2095 4678 y(HEMV,)f(10,)h(56)2095
4791 y(HEMV)p 2381 4791 V 34 w(a)p 2460 4791 V 33 w(b,)e(10,)h(150)2095
4904 y(HEMV)p 2381 4904 V 34 w(a)p 2460 4904 V 33 w(b)p
2544 4904 V 32 w(X,)g(10,)g(150)2095 5017 y(HEMV)p 2381
5017 V 34 w(X,)f(10,)i(150)2095 5130 y(HER,)f(10,)g(65)2095
5243 y(HER2,)g(10,)h(67)2095 5356 y(HER2K,)f(11,)g(94)1882
5628 y(303)p eop
%%Page: 304 314
304 313 bop 0 -165 a FK(304)3464 b FA(INDEX)0 91 y FK(HER2K)p
318 91 28 4 v 33 w(a,)31 b(11,)g(170)0 204 y(HER2K)p
318 204 V 33 w(a)p 396 204 V 33 w(X,)g(11,)g(170)0 317
y(HER2K)p 318 317 V 33 w(X,)g(11,)g(170)0 430 y(HERK,)f(11,)i(90)0
543 y(HERK)p 273 543 V 32 w(a,)f(11,)h(167)0 656 y(HERK)p
273 656 V 32 w(a)p 350 656 V 34 w(X,)e(11,)i(167)0 769
y(HERK)p 273 769 V 32 w(X,)f(11,)h(167)0 882 y(HP)p 135
882 V 33 w(COPY,)e(11,)h(100)0 995 y(HP)p 135 995 V 33
w(LRSCALE,)e(11,)j(75)0 1108 y(HP)p 135 1108 V 33 w(NORM,)e(11,)i(69)0
1220 y(HPMV,)f(10,)h(56)0 1333 y(HPMV)p 286 1333 V 33
w(a)p 364 1333 V 33 w(b,)f(10,)g(150)0 1446 y(HPMV)p
286 1446 V 33 w(a)p 364 1446 V 33 w(b)p 448 1446 V 33
w(X,)f(10,)i(150)0 1559 y(HPMV)p 286 1559 V 33 w(X,)f(10,)g(150)0
1672 y(HPR,)g(10,)g(65)0 1785 y(HPR2,)g(10,)g(67)0 1981
y(MAX)p 224 1981 V 33 w(V)-10 b(AL,)31 b(9,)g(41)0 2094
y(MIN)p 189 2094 V 33 w(V)-10 b(AL,)31 b(9,)g(40)0 2290
y(NORM,)g(9,)g(39)0 2486 y(PERMUTE,)f(9,)h(53)0 2682
y(RSCALE,)f(9,)h(47)0 2878 y(SB)p 120 2878 V 33 w(A)m(CC,)f(11,)i(77)0
2990 y(SB)p 120 2990 V 33 w(ADD,)f(11,)h(80)0 3103 y(SB)p
120 3103 V 33 w(COPY,)e(11,)h(98)0 3216 y(SB)p 120 3216
V 33 w(LRSCALE,)e(11,)i(74)0 3329 y(SB)p 120 3329 V 33
w(NORM,)f(11,)i(69)0 3442 y(SBMV,)f(10,)g(55)0 3555 y(SBMV)p
271 3555 V 33 w(a)p 349 3555 V 33 w(b,)f(10,)i(149)0
3668 y(SBMV)p 271 3668 V 33 w(a)p 349 3668 V 33 w(b)p
433 3668 V 33 w(X,)e(10,)i(149)0 3781 y(SBMV)p 271 3781
V 33 w(X,)f(10,)g(149)0 3894 y(SOR)-8 b(T,)30 b(9,)h(51)0
4007 y(SOR)-8 b(TV,)30 b(9,)h(52)0 4120 y(SP)p 118 4120
V 32 w(A)m(CC,)g(11,)g(77)0 4232 y(SP)p 118 4232 V 32
w(ADD,)h(11,)f(80)0 4345 y(SP)p 118 4345 V 32 w(COPY,)f(11,)i(98)0
4458 y(SP)p 118 4458 V 32 w(LRSCALE,)d(11,)j(74)0 4571
y(SP)p 118 4571 V 32 w(NORM,)f(11,)g(69)0 4684 y(SPMV,)f(10,)i(55)0
4797 y(SPMV)p 269 4797 V 33 w(a)p 347 4797 V 33 w(b,)e(10,)h(149)0
4910 y(SPMV)p 269 4910 V 33 w(a)p 347 4910 V 33 w(b)p
431 4910 V 32 w(X,)g(10,)g(149)0 5023 y(SPMV)p 269 5023
V 33 w(X,)f(10,)i(149)0 5136 y(SPR,)e(10,)h(64)0 5249
y(SPR2,)f(10,)i(66)0 5362 y(SUM,)f(9,)g(39)2095 91 y(SUM)p
2302 91 V 33 w(X,)g(9,)g(144)2095 204 y(SUMSQ,)f(9,)h(42)2095
317 y(SW)-10 b(AP)i(,)31 b(9,)g(51)2095 430 y(SY)p 2219
430 V 33 w(A)m(CC,)f(11,)i(77)2095 543 y(SY)p 2219 543
V 33 w(ADD,)f(11,)h(80)2095 656 y(SY)p 2219 656 V 33
w(COPY,)e(11,)h(98)2095 769 y(SY)p 2219 769 V 33 w(LRSCALE,)e(11,)i(74)
2095 882 y(SY)p 2219 882 V 33 w(NORM,)f(11,)i(69)2095
995 y(SY)p 2219 995 V 33 w(TRIDIA)m(G)p 2656 995 V 33
w(R2K,)f(11,)g(95)2095 1108 y(SY)p 2219 1108 V 33 w(TRIDIA)m(G)p
2656 1108 V 33 w(RK,)f(11,)i(91)2095 1220 y(SYMM,)f(84)2095
1333 y(SYMM)p 2385 1333 V 33 w(a)p 2463 1333 V 34 w(b,)f(11,)h(159)2095
1446 y(SYMM)p 2385 1446 V 33 w(a)p 2463 1446 V 34 w(b)p
2548 1446 V 32 w(X,)g(11,)g(159)2095 1559 y(SYMM)p 2385
1559 V 33 w(X,)g(11,)h(159)2095 1672 y(SYMV,)f(10,)h(55)2095
1785 y(SYMV)p 2370 1785 V 33 w(a)p 2448 1785 V 33 w(b,)e(10,)i(149)2095
1898 y(SYMV)p 2370 1898 V 33 w(a)p 2448 1898 V 33 w(b)p
2532 1898 V 33 w(X,)e(10,)i(149)2095 2011 y(SYMV)p 2370
2011 V 33 w(X,)f(10,)g(149)2095 2124 y(SYR,)f(10,)i(64)2095
2237 y(SYR2,)f(10,)g(66)2095 2350 y(SYR2K,)g(11,)g(93)2095
2462 y(SYR2K)p 2402 2462 V 33 w(a,)g(11,)g(169)2095 2575
y(SYR2K)p 2402 2575 V 33 w(a)p 2480 2575 V 33 w(X,)g(11,)g(169)2095
2688 y(SYR2K)p 2402 2688 V 33 w(X,)g(11,)g(169)2095 2801
y(SYRK,)f(11,)i(89)2095 2914 y(SYRK)p 2357 2914 V 32
w(a,)f(11,)h(166)2095 3027 y(SYRK)p 2357 3027 V 32 w(a)p
2434 3027 V 34 w(X,)e(11,)i(166)2095 3140 y(SYRK)p 2357
3140 V 32 w(X,)f(11,)h(166)2095 3336 y(TB)p 2230 3336
V 33 w(A)m(CC,)f(11,)g(79)2095 3449 y(TB)p 2230 3449
V 33 w(ADD,)h(11,)f(80)2095 3562 y(TB)p 2230 3562 V 33
w(COPY,)f(11,)i(98)2095 3675 y(TB)p 2230 3675 V 33 w(NORM,)f(11,)g(69)
2095 3787 y(TBMV,)g(10,)h(57)2095 3900 y(TBMV)p 2381
3900 V 34 w(a,)f(10,)g(152)2095 4013 y(TBMV)p 2381 4013
V 34 w(a)p 2460 4013 V 33 w(X,)g(10,)g(152)2095 4126
y(TBMV)p 2381 4126 V 34 w(X,)f(10,)i(152)2095 4239 y(TBSV,)f(10,)g(62)
2095 4352 y(TBSV)p 2349 4352 V 33 w(a,)g(10,)g(155)2095
4465 y(TBSV)p 2349 4465 V 33 w(a)p 2427 4465 V 33 w(X,)g(10,)g(155)2095
4578 y(TBSV)p 2349 4578 V 33 w(X,)f(10,)i(155)2095 4691
y(TP)p 2228 4691 V 33 w(A)m(CC,)e(11,)i(79)2095 4804
y(TP)p 2228 4804 V 33 w(ADD,)f(11,)h(80)2095 4917 y(TP)p
2228 4917 V 33 w(COPY,)e(11,)h(98)2095 5029 y(TP)p 2228
5029 V 33 w(NORM,)f(11,)i(69)2095 5142 y(TPMV,)f(10,)g(57)2095
5255 y(TPMV)p 2379 5255 V 33 w(a,)g(10,)h(152)2095 5368
y(TPMV)p 2379 5368 V 33 w(a)p 2457 5368 V 33 w(X,)f(10,)g(152)4084
64 y FI(1)4084 177 y(2)4084 290 y(3)4084 403 y(4)4084
516 y(5)4084 628 y(6)4084 741 y(7)4084 854 y(8)4084 967
y(9)4069 1080 y(10)4069 1193 y(11)4069 1306 y(12)4069
1419 y(13)4069 1532 y(14)4069 1645 y(15)4069 1758 y(16)4069
1870 y(17)4069 1983 y(18)4069 2096 y(19)4069 2209 y(20)4069
2322 y(21)4069 2435 y(22)4069 2548 y(23)4069 2661 y(24)4069
2774 y(25)4069 2887 y(26)4069 3000 y(27)4069 3112 y(28)4069
3225 y(29)4069 3338 y(30)4069 3451 y(31)4069 3564 y(32)4069
3677 y(33)4069 3790 y(34)4069 3903 y(35)4069 4016 y(36)4069
4129 y(37)4069 4242 y(38)4069 4354 y(39)4069 4467 y(40)4069
4580 y(41)4069 4693 y(42)4069 4806 y(43)4069 4919 y(44)4069
5032 y(45)4069 5145 y(46)4069 5258 y(47)4069 5371 y(48)p
eop
%%Page: 305 315
305 314 bop 0 -165 a FA(INDEX)3464 b FK(305)0 91 y(TPMV)p
284 91 28 4 v 33 w(X,)31 b(10,)g(152)0 204 y(TPSV,)f(10,)h(62)0
317 y(TPSV)p 252 317 V 32 w(a,)g(10,)g(155)0 430 y(TPSV)p
252 430 V 32 w(a)p 329 430 V 33 w(X,)g(10,)g(155)0 543
y(TPSV)p 252 543 V 32 w(X,)g(10,)g(155)0 656 y(TR)p 138
656 V 32 w(A)m(CC,)g(11,)g(79)0 769 y(TR)p 138 769 V
32 w(ADD,)h(11,)f(80)0 882 y(TR)p 138 882 V 32 w(COPY,)f(11,)i(98)0
995 y(TR)p 138 995 V 32 w(NORM,)f(11,)g(69)0 1108 y(TRMM,)g(11,)g(86)0
1220 y(TRMM)p 304 1220 V 33 w(a,)g(11,)g(162)0 1333 y(TRMM)p
304 1333 V 33 w(a)p 382 1333 V 33 w(X,)g(11,)g(162)0
1446 y(TRMM)p 304 1446 V 33 w(X,)g(11,)g(162)0 1559 y(TRMV,)g(10,)g(57)
0 1672 y(TRMV)p 289 1672 V 33 w(a,)g(10,)g(152)0 1785
y(TRMV)p 289 1785 V 33 w(a)p 367 1785 V 33 w(X,)g(10,)g(152)0
1898 y(TRMV)p 289 1898 V 33 w(X,)g(10,)g(152)0 2011 y(TRMVT,)f(10,)i
(60)0 2124 y(TRSM,)e(11,)h(88)0 2237 y(TRSM)p 272 2237
V 32 w(a,)g(11,)h(164)0 2350 y(TRSM)p 272 2350 V 32 w(a)p
349 2350 V 33 w(X,)f(11,)h(164)0 2462 y(TRSM)p 272 2462
V 32 w(X,)f(11,)g(164)0 2575 y(TRSV,)f(10,)h(62)0 2688
y(TRSV)p 257 2688 V 32 w(a,)g(10,)g(155)0 2801 y(TRSV)p
257 2801 V 32 w(a)p 334 2801 V 33 w(X,)g(10,)g(155)0
2914 y(TRSV)p 257 2914 V 32 w(X,)g(10,)g(155)0 3110 y(USAXPY,)g(9,)g
(118)0 3223 y(USCR)p 257 3223 V 32 w(BEGIN,)g(123)0 3336
y(USCR)p 257 3336 V 32 w(BLOCK)p 618 3336 V 32 w(BEGIN,)g(124)0
3449 y(USCR)p 257 3449 V 32 w(END,)g(129)0 3562 y(USCR)p
257 3562 V 32 w(INSER)-8 b(T)p 628 3562 V 32 w(BLOCK,)30
b(128)0 3675 y(USCR)p 257 3675 V 32 w(INSER)-8 b(T)p
628 3675 V 32 w(CLIQUE,)30 b(128)0 3787 y(USCR)p 257
3787 V 32 w(INSER)-8 b(T)p 628 3787 V 32 w(COL,)30 b(126)0
3900 y(USCR)p 257 3900 V 32 w(INSER)-8 b(T)p 628 3900
V 32 w(ENTRIES,)29 b(126)0 4013 y(USCR)p 257 4013 V 32
w(INSER)-8 b(T)p 628 4013 V 32 w(ENTR)g(Y,)31 b(125)0
4126 y(USCR)p 257 4126 V 32 w(INSER)-8 b(T)p 628 4126
V 32 w(R)m(O)m(W,)32 b(127)0 4239 y(USDOT,)e(9,)h(117)0
4352 y(USDS,)f(131)0 4465 y(USGA,)h(9,)g(118)0 4578 y(USGP)-8
b(,)31 b(130)0 4691 y(USGZ,)f(9,)h(119)0 4804 y(USMM,)g(11,)g(122)0
4917 y(USMV,)g(10,)g(120)0 5029 y(USSC,)e(9,)i(119)0
5142 y(USSM,)f(11,)i(122)0 5255 y(USSP)-8 b(,)30 b(130)0
5368 y(USSV,)g(10,)h(121)2095 91 y(W)-10 b(AXPBY,)32
b(9,)f(48)2095 204 y(W)-10 b(AXPBY)p 2513 204 V 34 w(a)p
2592 204 V 33 w(b,)30 b(9,)h(146)2095 317 y(W)-10 b(AXPBY)p
2513 317 V 34 w(a)p 2592 317 V 33 w(b)p 2676 317 V 33
w(X,)30 b(9,)h(146)2095 430 y(W)-10 b(AXPBY)p 2513 430
V 34 w(X,)31 b(9,)g(146)-214 64 y FI(1)-214 177 y(2)-214
290 y(3)-214 403 y(4)-214 516 y(5)-214 628 y(6)-214 741
y(7)-214 854 y(8)-214 967 y(9)-230 1080 y(10)-230 1193
y(11)-230 1306 y(12)-230 1419 y(13)-230 1532 y(14)-230
1645 y(15)-230 1758 y(16)-230 1870 y(17)-230 1983 y(18)-230
2096 y(19)-230 2209 y(20)-230 2322 y(21)-230 2435 y(22)-230
2548 y(23)-230 2661 y(24)-230 2774 y(25)-230 2887 y(26)-230
3000 y(27)-230 3112 y(28)-230 3225 y(29)-230 3338 y(30)-230
3451 y(31)-230 3564 y(32)-230 3677 y(33)-230 3790 y(34)-230
3903 y(35)-230 4016 y(36)-230 4129 y(37)-230 4242 y(38)-230
4354 y(39)-230 4467 y(40)-230 4580 y(41)-230 4693 y(42)-230
4806 y(43)-230 4919 y(44)-230 5032 y(45)-230 5145 y(46)-230
5258 y(47)-230 5371 y(48)p eop
%%Trailer
end
userdict /end-hook known{end-hook}if
%%EOF