tT)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUV W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !!!!!!!!""""""""""""""""""B experimental%Patrick Perry <patperry@stanford.edu>8The base class for tensors (i.e. Vector, Matrix, etc.). AGet the shape of the tensor. For vectors this is the dimension. # For matrices, this will be a pair (m,n) of the number of rows  and columns. .Get the range of valid indices in the tensor.  experimental%Patrick Perry <patperry@stanford.edu> experimental%Patrick Perry <patperry@stanford.edu>  # experimental%Patrick Perry <patperry@stanford.edu>%KGive a storage region, a base pointer, a length, a stride, and a conjugacy 6 flag, create a vector view of the underlying memory.  !"#$%&$%& !"# experimental%Patrick Perry <patperry@stanford.edu>(8Take the complex conjugate of a value. For real values  this is equal to id. '('( experimental%Patrick Perry <patperry@stanford.edu>-Multiplication side 0Diagonal storage 3"Lower or upper triangular storage 6Transpose type 9Matrix element storage order )*+,-./0123456789:;9:;678345012-./)*+, experimental%Patrick Perry <patperry@stanford.edu><The base class for elements. =Get the magnitude of a value. >Get the l1 norm of a value. ?Convert a double to an element @Coerce an element to a double '(<=>?@<=>?@ experimental%Patrick Perry <patperry@stanford.edu>ABCDEFGHIJKLMNOPQRSTUUTSRQABDEFHIKLNOCGJMP$ experimental%Patrick Perry <patperry@stanford.edu>          % experimental%Patrick Perry <patperry@stanford.edu>  !"#$%&'()*+,-./0123456789:  !"#$%&'()*+,-./0123456789:  experimental%Patrick Perry <patperry@stanford.edu>b#conjugate all elements of a vector c Replaces y with alpha (conj x) + y d Replaces y with x*y. e Replaces y with  conj(x)*y. f Replaces y with y/x. g Replaces y with y/conj(x). VWXYZ[\]^_`abcdefgVWXYZ[\]^_`abcdefg  experimental%Patrick Perry <patperry@stanford.edu> hijklmnopqrst hijklmnopqrst  experimental%Patrick Perry <patperry@stanford.edu> uvwxyz{|}~ uvwxyz{|}~& experimental%Patrick Perry <patperry@stanford.edu> '(<=>?@Vhu  experimental%Patrick Perry <patperry@stanford.edu> >Get the value at the given index. Range-checks the argument. A class for immutable tensors. 0Get the numer of elements stored in the tensor. AGet a new tensor by replacing the elements at the given indices. EGet the value at the given index, without doing any bounds-checking. Same as '()' but doesn't do any bounds-checking. 6Get the indices of the elements stored in the tensor. 'Get the elements stored in the tensor. Get the list of (index, element) pairs stored in the tensor. *Apply a function elementwise to a tensor. (Scale every element by the given value. !Add a constant to every element.    experimental%Patrick Perry <patperry@stanford.edu> GGets the value at the specified index after checking that the argument  is in bounds. %Class for mutable read-only tensors. 1Get the number of elements stored in the tensor. 9Get the value at the specified index, without doing any  range-checking. 4Returns a lazy list of the indices in the tensor. B Because of the laziness, this function should be used with care.  See also  getIndices'. 7Returns a list of the indices in the tensor. See also   . 5Returns a lazy list of the elements in the tensor. B Because of the laziness, this function should be used with care.  See also  getElems'. 8Returns a list of the elements in the tensor. See also   . AReturns a lazy list of the elements-index pairs in the tensor. B Because of the laziness, this function should be used with care.  See also  getAssocs' . DReturns a list of the index-elements pairs in the tensor. See also   .  experimental%Patrick Perry <patperry@stanford.edu>1Set the value of the element at the given index. 4Update the value of the element at the given index. 7Swap the values stored at two positions in the tensor. &Class for modifiable mutable tensors. EGet the maximum number of elements that can be stored in the tensor. "Sets all stored elements to zero. -Sets all stored elements to the given value. 2True if the value at a given index can be changed CSet the value of the element at the given index, without doing any  range checking. BModify the value of the element at the given index, without doing  any range checking. 1Replace each element by a function applied to it Same as swapElem& but arguments are not range-checked. 2Replace every element with its complex conjugate. 6Scale every element in the vector by the given value. *Add a value to every element in a vector. ' experimental%Patrick Perry <patperry@stanford.edu>( experimental%Patrick Perry <patperry@stanford.edu>&Get the number of rows in the matrix. &Get the number of rows in the matrix. A base class for matrices. >Creates a new matrix view that conjugates and transposes the  given matrix. ( experimental%Patrick Perry <patperry@stanford.edu>) experimental%Patrick Perry <patperry@stanford.edu>* experimental%Patrick Perry <patperry@stanford.edu>+ experimental%Patrick Perry <patperry@stanford.edu>>ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~, experimental%Patrick Perry <patperry@stanford.edu> #Cast the shape type of the vector. ACreates a new vector of the given length. The elements will be  uninitialized. .Create a zero vector of the specified length. )Set every element in the vector to zero. 2Create a constant vector of the specified length. /Set every element in the vector to a constant. ,Creats a new vector by copying another one. Same as  copyVector1 but the sizes of the arguments are not checked. Same as  swapVector1 but the sizes of the arguments are not checked. - !"#$%&;<=>?@ABCDEFGHIJKLMN-$%&!"#;<=B>@C?ADEFGHIJ KLMN- experimental%Patrick Perry <patperry@stanford.edu>#Cast the shape type of the matrix. O=Create a matrix view of a row vector. This will fail if the , vector is conjugated and the stride is not 1. PBPossibly create a matrix view of a column vector. This will fail $ if the stride of the vector is not 1# and the vector is not conjugated. QGTake a unary elementwise vector operation and apply it to the elements  of a matrix. RHTake a binary elementwise vector operation and apply it to the elements  of a pair of matrices. HCreate a new matrix of given shape, but do not initialize the elements. -Create a zero matrix of the specified shape. 1Create a constant matrix of the specified shape. 6Get a list of vector views of the rows of the matrix. 9Get a list of vector views of the columns of the matrix. SSame as getRow but not range-checked. TSame as getCol but not range-checked. Ugemv alpha a x beta y replaces y := alpha a * x + beta y. Vgemm alpha a b beta c replaces c := alpha a * b + beta c. FThe mutable dense matrix data type. It can either store elements in G column-major order, or provide a view into another matrix. The view 2 transposes and conjugates the underlying matrix. >OPWQRXYZ[\]^_`abcdeSTfghijklUVmno>OPWQRXYZ[^\]a_`bdecSTfghijklUVmno. experimental%Patrick Perry <patperry@stanford.edu>FCreate a new matrix of the given shape with ones along the diagonal,  and zeros everywhere else. =Set diagonal elements to one and all other elements to zero. / experimental%Patrick Perry <patperry@stanford.edu>CGet a new matrix with elements with the conjugates of the elements  of the given matrix. ;Get a new matrix by scaling the elements of another matrix  by a given value. <Get a new matrix by shifting the elements of another matrix  by a given value. getAddMatrix a b' creates a new matrix equal to the sum a+b. The $ operands must have the same shape. getSubMatrix a b. creates a new matrix equal to the difference a-b. The $ operands must have the same shape. getMulMatrix a b8 creates a new matrix equal to the elementwise product  a*b*. The operands must have the same shape. getDivMatrix a b5 creates a new matrix equal to the elementwise ratio  a/b*. The operands must have the same shape. 0 experimental%Patrick Perry <patperry@stanford.edu>submatrixView a ij mn$ returns a view of the submatrix of a with element (0,0)  being element ij in a, and having shape mn. Same as 0$ but indices are not range-checked. 5Get a vector view of the given diagonal in a matrix. 0Get a vector view of the given row in a matrix. 3Get a vector view of the given column in a matrix. AGet the given diagonal in a matrix. Negative indices correspond  to sub-diagonals. Same as 0 but not range-checked. 1 experimental%Patrick Perry <patperry@stanford.edu>CCreates a new vector with the given association list. Unspecified ' indices will get initialized to zero. Same as 1$ but indices are not range-checked. ECreates a new vector of the given dimension with the given elements. F If the list has length less than the passed-in dimenson, the tail of # the vector will be uninitialized. 2 experimental%Patrick Perry <patperry@stanford.edu>newBasisVector n i creates a vector of length n that is all zero  except for at position i, where it equal to one.  setBasis x i sets the ith coordinate of x to 1, and all other  coordinates to 06. If the vector has been scaled, it is possible that  readVector x i will not return exactly 1. See setElem. 3 experimental%Patrick Perry <patperry@stanford.edu>subvector x o n creates a subvector view of x starting at index o  and having length n. subvectorWithStride s x o n creates a subvector view of x starting  at index o, having length n and stride s. 4 experimental%Patrick Perry <patperry@stanford.edu> CGet a new vector with elements with the conjugates of the elements  of the given vector ;Get a new vector by scaling the elements of another vector  by a given value. <Get a new vector by shifting the elements of another vector  by a given value. getAddVector x y' creates a new vector equal to the sum x+y. The ( operands must have the same dimension. getSubVector x y. creates a new tensor equal to the difference x-y. , The operands must have the same dimension.  getMulVector x y8 creates a new vector equal to the elementwise product  x*y-. The operands must have the same dimensino  getDivVector x y0 creates a new vector equal to the elementwise  ratio x/y*. The operands must have the same shape.  axpyVector alpha x y replaces y with  alpha * x + y.  addVector y x replaces y with y+x.  subVector y x replaces y with y-x.  mulVector y x replaces y with y*x.  divVector y x replaces y with y/x.           5 experimental%Patrick Perry <patperry@stanford.edu>copyVector dst src replaces the values in dst with those in / source. The operands must be the same shape. 'Swap the values stored in two vectors. 6 experimental%Patrick Perry <patperry@stanford.edu>;Gets the sum of the absolute values of the vector entries. Gets the 2-norm of a vector. IGets the index and norm of the element with maximum magnitude. This is & undefined if any of the elements are NaN". It will throw an exception if # the dimension of the vector is 0. )Computes the dot product of two vectors.  experimental%Patrick Perry <patperry@stanford.edu>U !"#$%&'(     P$%&!     "# 7 experimental%Patrick Perry <patperry@stanford.edu>CCreates a new matrix with the given association list. Unspecified ' indices will get initialized to zero. Same as 7$ but indices are not range-checked. CCreate a new matrix with the given elements in column-major order. -Form a matrix from a list of column vectors. *Form a matrix from a list of row vectors.  *Create a new matrix from a column vector. !'Create a new matrix from a row vector.  !! 8 experimental%Patrick Perry <patperry@stanford.edu>"copyMatrix dst src replaces the values in dst with those in / source. The operands must be the same shape. #swapMatrix x y* swaps the values stored in two matrices. "#$%&' "#$%&' experimental%Patrick Perry <patperry@stanford.edu>V !"#$%&'(     9 experimental%Patrick Perry <patperry@stanford.edu> (ECreate a vector with the given dimension and elements. The elements G given in the association list must all have unique indices, otherwise  the result is undefined. )Same as (9(, but does not range-check the indices. *ACreate a vector of the given dimension with elements initialized  to the values from the list. listVector n es is equivalent to  vector n (zip [0..(n-1)] es)', except that the result is undefined  if  length es is less than n. + zeroVector n creates a vector of dimension n with all values  set to zero. ,constantVector n e creates a vector of dimension n with all values  set to e. -basisVector n i creates a vector of dimension n with zeros  everywhere but position i, where there is a one. .=Compute the sum of absolute values of entries in the vector. / Compute the 2-norm of a vector. 0FGet the index and norm of the element with absulte value. Not valid " if any of the vector entries are NaN. Raises an exception if the  vector has length 0. 1(Compute the dot product of two vectors. %!"#'(()*+,-./012323!(*)+,-./01"# experimental%Patrick Perry <patperry@stanford.edu>Y !"#$%&'(     44 experimental%Patrick Perry <patperry@stanford.edu>*!"#'(()*+,-./01256789:+!"#'(()*+,-./01239:7856: experimental%Patrick Perry <patperry@stanford.edu>;KCreate a new matrix of the given size and initialize the given elements to 8 the given values. All other elements get set to zero. <@Create a new matrix with the given elements in row-major order. =Same as ;:& but does not do any bounds checking. >7Create a matrix of the given shape from a list of rows ?:Create a matrix of the given shape from a list of columns @ Get a matrix from a row vector. A#Get a matrix from a column vector. B#Get a new zero of the given shape. C'Get a new constant of the given shape. DEGet a new matrix of the given shape with ones along the diagonal and  zeroes everywhere else. Esubmatrix a ij mn returns the submatrix of a with element (0,0)  being element ij in a, and having shape mn. FSame as E:$ but indices are not range-checked. GFGet a the given diagonal in a matrix. Negative indices correspond to  sub-diagonals. HSame as G:! but index is not range-checked. ,;<=>?@ABCDEFGHIJIJ;<>?@A=BCDEFGH experimental%Patrick Perry <patperry@stanford.edu>KGet the given row in a matrix. L"Get the given column in a matrix. M9Get a lazy list the row vectors in the matrix. See also getRows'. N?Get a lazy list of the column vectors in the matrix. See also getCols'. O;Get a strict list the row vectors in the matrix. See also getRows. PAGet a strict list of the column vectors in the matrix. See also getCols. QScale and apply to a vector RScale and apply to a matrix S y := alpha a x + beta yT c := alpha a b + beta cUApply to a vector VApply to a matrix W  x := alpha a xX  b := alpha a b[9Apply to a vector and store the result in another vector \9Apply to a matrix and store the result in another matrix _ x := a x`  b := a bcGMinimal complete definition: (unsafeDoSApplyAdd, unsafeDoSApplyAddMat) !KLMNOPQRSTUVWXYZ[\]^_`abcdefghijk!KLMNOPUQVR[S_W\T`XcdefghijkY]aZ^b experimental%Patrick Perry <patperry@stanford.edu> !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijk^ !"#$%&' experimental%Patrick Perry <patperry@stanford.edu>pSolve for a vector qSolve for a vector and scale rSolve for a matrix sSolve for a matrix and scale lmnopqrstuvwxyz{|}~prqstuvwxzy{|}~lnmo experimental%Patrick Perry <patperry@stanford.edu> !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijk; experimental%Patrick Perry <patperry@stanford.edu>#Cast the shape type of the matrix. pICreate a new banded matrix of given shape and (lower,upper), bandwidths, % but do not initialize the elements. CCreate a zero banded matrix of the specified shape and bandwidths. GCreate a constant banded matrix of the specified shape and bandwidths. qgbmv alpha a x beta y replaces y := alpha a * x + beta y rgbmm alpha a b beta c replaces c := alpha a * b + beta c. The Banded matrix data type. &stuvwpxyz{|qr}~&tswpyzx{|uv}~qr< experimental%Patrick Perry <patperry@stanford.edu>= experimental%Patrick Perry <patperry@stanford.edu>> experimental%Patrick Perry <patperry@stanford.edu> experimental%Patrick Perry <patperry@stanford.edu> !"#$%&'KLMNOPQRSTUVWXYZ[\]^_`abcdefghijk experimental%Patrick Perry <patperry@stanford.edu>Get the given row in a matrix. "Get the given column in a matrix. *Get a list the row vectors in the matrix. -Get a list the column vectors in the matrix. Apply to a vector Apply to a matrix Same as ! but index is not range-checked. Same as % but index is not range-checked.  experimental%Patrick Perry <patperry@stanford.edu>@;<=>?@ABCDEFGHI2;<=>?@ABCDEFGHIJ experimental%Patrick Perry <patperry@stanford.edu>Solve for a vector Solve for a matrix Solve for a vector and scale Solve for a matrix and scale  ? experimental%Patrick Perry <patperry@stanford.edu>"lmnopqrstuvwxyz{|}~@ experimental%Patrick Perry <patperry@stanford.edu>YKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A experimental%Patrick Perry <patperry@stanford.edu> experimental%Patrick Perry <patperry@stanford.edu>?6 experimental%Patrick Perry <patperry@stanford.edu>@B experimental%Patrick Perry <patperry@stanford.edu>KGet a the given diagonal in a banded matrix. Negative indices correspond  to sub-diagonals. Same as B! but index is not range-checked. 4 experimental%Patrick Perry <patperry@stanford.edu>C experimental%Patrick Perry <patperry@stanford.edu>9: experimental%Patrick Perry <patperry@stanford.edu>\KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  experimental%Patrick Perry <patperry@stanford.edu>bKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ! experimental%Patrick Perry <patperry@stanford.edu> 345 345" experimental%Patrick Perry <patperry@stanford.edu>Coerce the shape type. q012345KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~345012CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab#c#d#e#f#g#h#ijklmnopqrstuvwxyz{|}~  k     ,,,,,,,,,,,,,,,,,,----------- - - - - --------------..//// /!/"/#/$/%/&/'/(/)/*/+/,/-/.0/000102030405060708091:1;1<2=2>3?3@3A3B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T5U5V6W6X6Y6Z6[7\7]7^7_7`7a7b8c8d8e8f8g8h9i9j9k9l9m9n9o9p9q9r9s9tuvwxyz{:|:}:~:::::::::::::;;;;;;;;;;;;;;;;;;;;;;;====>>>AAABBBB B B B B BBs        ! "!#!$!%!&!'!(!)!)"*"+"%"&"","-"."/"0""1"2"3"4"5"6"6#7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,---------------------------------;;;;;;;;;;;;;;;blas-0.6BLAS.Tensor.BaseBLAS.UnsafeIOToM BLAS.InternalData.Vector.Dense.Class BLAS.Conj BLAS.TypesBLAS.Elem.Base BLAS.C.Types BLAS.C.Level1 BLAS.C.Level2 BLAS.C.Level3BLAS.Tensor.ImmutableBLAS.Tensor.ReadBLAS.Tensor.WriteBLAS.Matrix.BaseData.Vector.Dense.STData.Vector.Dense.IOData.Matrix.Dense.ClassData.Matrix.Dense.STData.Matrix.Dense.IOData.Vector.DenseData.Matrix.DenseBLAS.Matrix.MutableBLAS.Matrix.Solve.MutableData.Matrix.Banded.ClassData.Matrix.Banded.STData.Matrix.Banded.IOBLAS.Matrix.ImmutableBLAS.Matrix.Solve.ImmutableData.Matrix.BandedData.Matrix.DiagData.Matrix.PermData.Matrix.HermData.Matrix.Tri%Data.Vector.Dense.Class.Internal.Base BLAS.C.DoubleBLAS.C.Zomplex BLAS.Elem BLAS.Tensor!Data.Matrix.Banded.Class.Elements Data.Matrix.Dense.Class.Elements Data.Vector.Dense.Class.ElementsBLAS.C Data.Vector.Dense.Class.Internal Data.Matrix.Dense.Class.InternalData.Matrix.Dense.Class.Special"Data.Matrix.Dense.Class.OperationsData.Matrix.Dense.Class.Views Data.Vector.Dense.Class.CreatingData.Vector.Dense.Class.SpecialData.Vector.Dense.Class.Views"Data.Vector.Dense.Class.OperationsData.Vector.Dense.Class.Copying"Data.Vector.Dense.Class.Properties Data.Matrix.Dense.Class.CreatingData.Matrix.Dense.Class.CopyingData.Vector.Dense.InternalData.Matrix.Dense.Internal!Data.Matrix.Banded.Class.Internal Data.Matrix.Banded.Class.SpecialData.Matrix.Banded.Class.Views!Data.Matrix.Banded.Class.CreatingBLAS.Matrix.Solve BLAS.Matrix Data.Matrix.Banded.Class.CopyingData.Matrix.Banded.Internal BaseTensorshapebounds UnsafeIOToM unsafeIOToMunsafeInterleaveM clearArraybzeroinlinePerformIOcheckedSubvectorcheckedSubvectorWithStride checkVecVecOp checkedRow checkedCol checkedDiag diagStartdiagLencheckedSubmatrix checkMatMatOpcheckMatVecMultcheckMatMatMultcheckMatVecMultAddcheckMatMatMultAddcheckMatVecSolvcheckMatVecSolvTocheckMatMatSolvcheckMatMatSolvTo checkSquarecheckFat checkTall checkBinaryOpcheckTernaryOp withVectorPtrdimstrideisConj BaseVectorvectorViewArrayarrayFromVectorConjconj flipOrder flipTransflipUpLoflipSideSide RightSideLeftSideDiagNonUnitUnitUpLoLowerUpperTrans ConjTransNoTransOrderColMajorRowMajorElemnormnorm1fromRealtoRealrowMajorcolMajor cblasOrdernoTranstrans conjTrans cblasTransupperlower cblasUpLononUnitunit cblasDiagleftSide rightSide cblasSide CBLASSide CBLASDiag CBLASUpLo CBLASTrans CBLASOrderBLAS1dotudotcnrm2asumiamaxscalswapcopyaxpyrotgrotacxpymulcmuldivcdivBLAS2gemvgbmvtrmvtbmvtrsvtbsvhemvhbmvgerugercherher2BLAS3gemmsymmhemmtrmmtrsmsyrksyr2kherkher2k!ITensorsize//unsafeAt unsafeReplaceindiceselemsassocstmap*>shiftreadElem ReadTensorgetSizeunsafeReadElem getIndices getIndices'getElems getElems' getAssocs getAssocs' writeElem modifyElem swapElems WriteTensor getMaxSizesetZero setConstant canModifyElemunsafeWriteElemunsafeModifyElem modifyWithunsafeSwapElemsdoConjscaleByshiftBynumRowsnumColsisSquareisFatisTall BaseMatrixherm coerceVector newVector_ newZeroVector setZeroVectornewConstantVectorsetConstantVector newCopyVectorunsafeCopyVectorunsafeSwapVectorunsafeAxpyVectorunsafeMulVectorunsafeDivVectorunsafeIOVectorToSTVectorunsafeSTVectorToIOVectorSTVectorIOVector WriteVector ReadVector ldaOfMatrix isHermMatrix coerceMatrix newMatrix_ newZeroMatrixnewConstantMatrix setZeroMatrixsetConstantMatrix newCopyMatrixunsafeCopyMatrixunsafeSwapMatrix unsafeRowView unsafeColViewunsafeDiagViewrowViewscolViewsunsafeAxpyMatrixunsafeMulMatrixunsafeDivMatrix withMatrixPtrunsafeIOMatrixToSTMatrixunsafeSTMatrixToIOMatrixSTMatrixIOMatrix WriteMatrix ReadMatrixmatrixViewArrayarrayFromMatrixnewIdentityMatrixsetIdentityMatrix getConjMatrixgetScaledMatrixgetShiftedMatrix getAddMatrixunsafeGetAddMatrix getSubMatrixunsafeGetSubMatrix getMulMatrixunsafeGetMulMatrix getDivMatrixunsafeGetDivMatrix axpyMatrix addMatrixunsafeAddMatrix subMatrixunsafeSubMatrix mulMatrix divMatrix submatrixViewunsafeSubmatrixView splitRowsAtunsafeSplitRowsAt splitColsAtunsafeSplitColsAtdiagViewrowViewcolViewgetDiag unsafeGetDiag newVectorunsafeNewVector newListVectornewBasisVectorsetBasisVector subvectorunsafeSubvectorsubvectorWithStrideunsafeSubvectorWithStride getConjVectorgetScaledVectorgetShiftedVector getAddVectorunsafeGetAddVector getSubVectorunsafeGetSubVector getMulVectorunsafeGetMulVector getDivVectorunsafeGetDivVector axpyVector addVectorunsafeAddVector subVectorunsafeSubVector mulVector divVector copyVector swapVector getSumAbsgetNorm2getWhichMaxAbsgetDot unsafeGetDot newMatrixunsafeNewMatrix newListMatrix newColsMatrix newRowsMatrix newColMatrix newRowMatrix copyMatrix swapMatrixswapRowsswapColsunsafeSwapRowsunsafeSwapColsvector unsafeVector listVector zeroVectorconstantVector basisVectorsumAbsnorm2 whichMaxAbs<.>VectorV runSTVector freezeVector thawVectorUnsafeThawVectorunsafeThawVectorUnsafeFreezeVectorunsafeFreezeVectormatrix listMatrix unsafeMatrix rowsMatrix colsMatrix rowMatrix colMatrix zeroMatrixconstantMatrixidentityMatrix submatrixunsafeSubmatrixdiag unsafeDiagMatrixMgetRowgetColgetRowsgetColsgetRows'getCols' getSApply getSApplyMat doSApplyAdddoSApplyAddMatgetApply getApplyMat doSApply_ doSApplyMat_unsafeGetApplyunsafeGetApplyMatdoApply doApplyMat unsafeDoApplyunsafeDoApplyMatdoApply_ doApplyMat_unsafeDoApply_unsafeDoApplyMat_MMatrixunsafeGetSApplyunsafeGetSApplyMatunsafeDoSApplyAddunsafeDoSApplyAddMatunsafeDoSApply_unsafeDoSApplyMat_ unsafeGetRow unsafeGetColunsafeGetSolveunsafeGetSSolveunsafeGetSolveMatunsafeGetSSolveMatgetSolve getSSolve getSolveMat getSSolveMatdoSolve doSolveMatdoSSolve doSSolveMatdoSolve_ doSSolve_ doSolveMat_ doSSolveMat_MSolve unsafeDoSolveunsafeDoSolveMatunsafeDoSSolveunsafeDoSSolveMatunsafeDoSolve_unsafeDoSSolve_unsafeDoSolveMat_unsafeDoSSolveMat_ withBandedPtr ldaOfBanded isHermBanded bandwidthnumLowernumUpper coerceBanded newZeroBandednewConstantBanded setZeroBandedsetConstantBandedunsafeRowViewBandedunsafeColViewBandedwithBandedElemPtrunsafeIOBandedToSTBandedunsafeSTBandedToIOBandedSTBandedIOBanded WriteBanded ReadBanded BaseBandedbandedViewArrayarrayFromBandeddiagViewBanded rowViewBanded colViewBandedunsafeDiagViewBanded newBandedunsafeNewBandednewListsBanded runSTMatrixrowcolrowscols<*><**>sapply sapplyMat unsafeApplyunsafeApplyMatIMatrix unsafeSApplyunsafeSApplyMat unsafeRow unsafeCol freezeMatrix thawMatrixUnsafeThawMatrixunsafeThawMatrixUnsafeFreezeMatrixunsafeFreezeMatrix<\><\\>ssolve ssolveMatISolve unsafeSolveunsafeSolveMat unsafeSSolveunsafeSSolveMat newCopyBanded copyBandedunsafeCopyBandedbanded unsafeBanded listsBanded zeroBandedconstantBanded diagBandedunsafeDiagBandedlistsFromBandedBandedB runSTBanded freezeBanded thawBandedUnsafeThawBandedunsafeThawBandedUnsafeFreezeBandedunsafeFreezeBanded coerceDiagdiagFromVectorvectorFromDiagidentityfromPermutation toPermutation coercePermPermIPbaseOfisHerm coerceHermmapHermfromBasetoBasehermLhermUHerm coerceTrimapTrilowerFat lowerTalllowerU lowerUFat lowerUTallupperFat upperTallupperU upperUFat upperUTallTri conjVectordsyr2kdsyrkdtrsmdtrmmdsymmdgemmdsyr2dsyrdgerdsbmvdsymvdtbsvdtrsvdtbmvdtrmvdgbmvdgemvdrotmdrotmgdrotdrotgdaxpydcopydswapdscalidamaxdasumdnrm2ddotzher2kzherkzsyr2kzsyrkztrsmztrmmzhemmzsymmzgemmzher2zherzgerczgeruzhbmvzhemvztbsvztrsvztbmvztrmvzgbmvzgemvzdrotzrotgzaxpyzcopyzswapzscalizamaxzasumznrm2 zdotc_sub zdotu_sub shapeVector boundsVector getSizeVectorgetIndicesVectorgetIndicesVector'getElemsVectorgetElemsVector'getAssocsVectorgetAssocsVector'unsafeReadElemVectorcanModifyElemVectorunsafeWriteElemVectormodifyWithVector doConjVector scaleByVector shiftByVector indexOfVector indicesVector vectorCall vectorCall2 maybeFromRow maybeFromCol liftMatrix liftMatrix2unsafeGetRowMatrixunsafeGetColMatrix maybeToVector shapeMatrix boundsMatrix hermMatrix getSizeMatrixgetIndicesMatrixgetElemsMatrixgetAssocsMatrixgetIndicesMatrix'getElemsMatrix'getAssocsMatrix'unsafeReadElemMatrixunsafeWriteElemMatrixmodifyWithMatrixcanModifyElemMatrix doConjMatrix scaleByMatrix shiftByMatrixunsafeDoAddMatrixunsafeDoSubMatrixunsafeDoMulMatrixunsafeDoDivMatrix indexOfMatrix indicesMatrixunsafeDoMatrixOp2 newBanded_gbmmmatrixFromBandedbandedViewMatrix shapeBanded boundsBanded hermBandedunsafeWriteElemBandedmodifyWithBandedcanModifyElemBandedunsafeGetRowBandedunsafeGetColBanded indexOfBanded indicesBanded