\HeaderA{diagonalMatrix-class}{Class "diagonalMatrix" of Diagonal Matrices}{diagonalMatrix.Rdash.class}
\aliasA{\&,ddenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{.Ramp.,ddenseMatrix,ddiMatrix.Rdash.method}
\aliasA{\&,ddenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{.Ramp.,ddenseMatrix,ldiMatrix.Rdash.method}
\aliasA{\&,ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{.Ramp.,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\&,ddiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{.Ramp.,ddiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\&,ddiMatrix,Matrix-method}{diagonalMatrix-class}{.Ramp.,ddiMatrix,Matrix.Rdash.method}
\aliasA{\&,ddiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{.Ramp.,ddiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\&,ldenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{.Ramp.,ldenseMatrix,ddiMatrix.Rdash.method}
\aliasA{\&,ldenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{.Ramp.,ldenseMatrix,ldiMatrix.Rdash.method}
\aliasA{\&,ldiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{.Ramp.,ldiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\&,ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{.Ramp.,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\&,ldiMatrix,Matrix-method}{diagonalMatrix-class}{.Ramp.,ldiMatrix,Matrix.Rdash.method}
\aliasA{\&,ldiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{.Ramp.,ldiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\&,Matrix,ddiMatrix-method}{diagonalMatrix-class}{.Ramp.,Matrix,ddiMatrix.Rdash.method}
\aliasA{\&,Matrix,ldiMatrix-method}{diagonalMatrix-class}{.Ramp.,Matrix,ldiMatrix.Rdash.method}
\aliasA{\&,ndenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{.Ramp.,ndenseMatrix,ddiMatrix.Rdash.method}
\aliasA{\&,ndenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{.Ramp.,ndenseMatrix,ldiMatrix.Rdash.method}
\aliasA{*,ddenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{*,ddenseMatrix,ddiMatrix.Rdash.method}
\aliasA{*,ddenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{*,ddenseMatrix,ldiMatrix.Rdash.method}
\aliasA{*,ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{*,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{*,ddiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{*,ddiMatrix,ldenseMatrix.Rdash.method}
\aliasA{*,ddiMatrix,Matrix-method}{diagonalMatrix-class}{*,ddiMatrix,Matrix.Rdash.method}
\aliasA{*,ddiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{*,ddiMatrix,ndenseMatrix.Rdash.method}
\aliasA{*,ldenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{*,ldenseMatrix,ddiMatrix.Rdash.method}
\aliasA{*,ldenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{*,ldenseMatrix,ldiMatrix.Rdash.method}
\aliasA{*,ldiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{*,ldiMatrix,ddenseMatrix.Rdash.method}
\aliasA{*,ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{*,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{*,ldiMatrix,Matrix-method}{diagonalMatrix-class}{*,ldiMatrix,Matrix.Rdash.method}
\aliasA{*,ldiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{*,ldiMatrix,ndenseMatrix.Rdash.method}
\aliasA{*,Matrix,ddiMatrix-method}{diagonalMatrix-class}{*,Matrix,ddiMatrix.Rdash.method}
\aliasA{*,Matrix,ldiMatrix-method}{diagonalMatrix-class}{*,Matrix,ldiMatrix.Rdash.method}
\aliasA{*,ndenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{*,ndenseMatrix,ddiMatrix.Rdash.method}
\aliasA{*,ndenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{*,ndenseMatrix,ldiMatrix.Rdash.method}
\aliasA{/,ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{/,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{/,ddiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{/,ddiMatrix,ldenseMatrix.Rdash.method}
\aliasA{/,ddiMatrix,Matrix-method}{diagonalMatrix-class}{/,ddiMatrix,Matrix.Rdash.method}
\aliasA{/,ddiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{/,ddiMatrix,ndenseMatrix.Rdash.method}
\aliasA{/,ldiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{/,ldiMatrix,ddenseMatrix.Rdash.method}
\aliasA{/,ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{/,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{/,ldiMatrix,Matrix-method}{diagonalMatrix-class}{/,ldiMatrix,Matrix.Rdash.method}
\aliasA{/,ldiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{/,ldiMatrix,ndenseMatrix.Rdash.method}
\aliasA{all,ddiMatrix-method}{diagonalMatrix-class}{all,ddiMatrix.Rdash.method}
\aliasA{all,ldiMatrix-method}{diagonalMatrix-class}{all,ldiMatrix.Rdash.method}
\aliasA{any,ddiMatrix-method}{diagonalMatrix-class}{any,ddiMatrix.Rdash.method}
\aliasA{any,ldiMatrix-method}{diagonalMatrix-class}{any,ldiMatrix.Rdash.method}
\aliasA{Arith,ddiMatrix,numeric-method}{diagonalMatrix-class}{Arith,ddiMatrix,numeric.Rdash.method}
\aliasA{Arith,ldiMatrix,numeric-method}{diagonalMatrix-class}{Arith,ldiMatrix,numeric.Rdash.method}
\aliasA{Arith,numeric,ddiMatrix-method}{diagonalMatrix-class}{Arith,numeric,ddiMatrix.Rdash.method}
\aliasA{Arith,numeric,ldiMatrix-method}{diagonalMatrix-class}{Arith,numeric,ldiMatrix.Rdash.method}
\aliasA{as.vector,diagonalMatrix,missing-method}{diagonalMatrix-class}{as.vector,diagonalMatrix,missing.Rdash.method}
\aliasA{cbind2,atomicVector,ddiMatrix-method}{diagonalMatrix-class}{cbind2,atomicVector,ddiMatrix.Rdash.method}
\aliasA{cbind2,atomicVector,ldiMatrix-method}{diagonalMatrix-class}{cbind2,atomicVector,ldiMatrix.Rdash.method}
\aliasA{cbind2,ddiMatrix,atomicVector-method}{diagonalMatrix-class}{cbind2,ddiMatrix,atomicVector.Rdash.method}
\aliasA{cbind2,ddiMatrix,matrix-method}{diagonalMatrix-class}{cbind2,ddiMatrix,matrix.Rdash.method}
\aliasA{cbind2,diagonalMatrix,sparseMatrix-method}{diagonalMatrix-class}{cbind2,diagonalMatrix,sparseMatrix.Rdash.method}
\aliasA{cbind2,ldiMatrix,atomicVector-method}{diagonalMatrix-class}{cbind2,ldiMatrix,atomicVector.Rdash.method}
\aliasA{cbind2,ldiMatrix,matrix-method}{diagonalMatrix-class}{cbind2,ldiMatrix,matrix.Rdash.method}
\aliasA{cbind2,matrix,ddiMatrix-method}{diagonalMatrix-class}{cbind2,matrix,ddiMatrix.Rdash.method}
\aliasA{cbind2,matrix,ldiMatrix-method}{diagonalMatrix-class}{cbind2,matrix,ldiMatrix.Rdash.method}
\aliasA{cbind2,sparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{cbind2,sparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{coerce,ddiMatrix,CsparseMatrix-method}{diagonalMatrix-class}{coerce,ddiMatrix,CsparseMatrix.Rdash.method}
\aliasA{coerce,ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{coerce,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{coerce,ddiMatrix,dgeMatrix-method}{diagonalMatrix-class}{coerce,ddiMatrix,dgeMatrix.Rdash.method}
\aliasA{coerce,ddiMatrix,symmetricMatrix-method}{diagonalMatrix-class}{coerce,ddiMatrix,symmetricMatrix.Rdash.method}
\aliasA{coerce,ddiMatrix,triangularMatrix-method}{diagonalMatrix-class}{coerce,ddiMatrix,triangularMatrix.Rdash.method}
\aliasA{coerce,ddiMatrix,TsparseMatrix-method}{diagonalMatrix-class}{coerce,ddiMatrix,TsparseMatrix.Rdash.method}
\aliasA{coerce,diagonalMatrix,denseMatrix-method}{diagonalMatrix-class}{coerce,diagonalMatrix,denseMatrix.Rdash.method}
\aliasA{coerce,diagonalMatrix,generalMatrix-method}{diagonalMatrix-class}{coerce,diagonalMatrix,generalMatrix.Rdash.method}
\aliasA{coerce,diagonalMatrix,matrix-method}{diagonalMatrix-class}{coerce,diagonalMatrix,matrix.Rdash.method}
\aliasA{coerce,diagonalMatrix,nMatrix-method}{diagonalMatrix-class}{coerce,diagonalMatrix,nMatrix.Rdash.method}
\aliasA{coerce,diagonalMatrix,nsparseMatrix-method}{diagonalMatrix-class}{coerce,diagonalMatrix,nsparseMatrix.Rdash.method}
\aliasA{coerce,ldiMatrix,CsparseMatrix-method}{diagonalMatrix-class}{coerce,ldiMatrix,CsparseMatrix.Rdash.method}
\aliasA{coerce,ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{coerce,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{coerce,ldiMatrix,symmetricMatrix-method}{diagonalMatrix-class}{coerce,ldiMatrix,symmetricMatrix.Rdash.method}
\aliasA{coerce,ldiMatrix,triangularMatrix-method}{diagonalMatrix-class}{coerce,ldiMatrix,triangularMatrix.Rdash.method}
\aliasA{coerce,ldiMatrix,TsparseMatrix-method}{diagonalMatrix-class}{coerce,ldiMatrix,TsparseMatrix.Rdash.method}
\aliasA{coerce,Matrix,diagonalMatrix-method}{diagonalMatrix-class}{coerce,Matrix,diagonalMatrix.Rdash.method}
\aliasA{coerce,matrix,diagonalMatrix-method}{diagonalMatrix-class}{coerce,matrix,diagonalMatrix.Rdash.method}
\aliasA{crossprod,CsparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{crossprod,CsparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{crossprod,diagonalMatrix,CsparseMatrix-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,CsparseMatrix.Rdash.method}
\aliasA{crossprod,diagonalMatrix,dgeMatrix-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,dgeMatrix.Rdash.method}
\aliasA{crossprod,diagonalMatrix,diagonalMatrix-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,diagonalMatrix.Rdash.method}
\aliasA{crossprod,diagonalMatrix,lgeMatrix-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,lgeMatrix.Rdash.method}
\aliasA{crossprod,diagonalMatrix,matrix-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,matrix.Rdash.method}
\aliasA{crossprod,diagonalMatrix,missing-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,missing.Rdash.method}
\aliasA{crossprod,diagonalMatrix,sparseMatrix-method}{diagonalMatrix-class}{crossprod,diagonalMatrix,sparseMatrix.Rdash.method}
\aliasA{crossprod,sparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{crossprod,sparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{determinant,diagonalMatrix,logical-method}{diagonalMatrix-class}{determinant,diagonalMatrix,logical.Rdash.method}
\aliasA{diag,diagonalMatrix-method}{diagonalMatrix-class}{diag,diagonalMatrix.Rdash.method}
\aliasA{norm,diagonalMatrix,character-method}{diagonalMatrix-class}{norm,diagonalMatrix,character.Rdash.method}
\aliasA{Ops,ANY,ddiMatrix-method}{diagonalMatrix-class}{Ops,ANY,ddiMatrix.Rdash.method}
\aliasA{Ops,ANY,ldiMatrix-method}{diagonalMatrix-class}{Ops,ANY,ldiMatrix.Rdash.method}
\aliasA{Ops,ddiMatrix,ANY-method}{diagonalMatrix-class}{Ops,ddiMatrix,ANY.Rdash.method}
\aliasA{Ops,ddiMatrix,ddiMatrix-method}{diagonalMatrix-class}{Ops,ddiMatrix,ddiMatrix.Rdash.method}
\aliasA{Ops,ddiMatrix,diagonalMatrix-method}{diagonalMatrix-class}{Ops,ddiMatrix,diagonalMatrix.Rdash.method}
\aliasA{Ops,ddiMatrix,dMatrix-method}{diagonalMatrix-class}{Ops,ddiMatrix,dMatrix.Rdash.method}
\aliasA{Ops,ddiMatrix,ldiMatrix-method}{diagonalMatrix-class}{Ops,ddiMatrix,ldiMatrix.Rdash.method}
\aliasA{Ops,ddiMatrix,Matrix-method}{diagonalMatrix-class}{Ops,ddiMatrix,Matrix.Rdash.method}
\aliasA{Ops,ddiMatrix,numeric-method}{diagonalMatrix-class}{Ops,ddiMatrix,numeric.Rdash.method}
\aliasA{Ops,ddiMatrix,sparseMatrix-method}{diagonalMatrix-class}{Ops,ddiMatrix,sparseMatrix.Rdash.method}
\aliasA{Ops,diagonalMatrix,ddiMatrix-method}{diagonalMatrix-class}{Ops,diagonalMatrix,ddiMatrix.Rdash.method}
\aliasA{Ops,diagonalMatrix,diagonalMatrix-method}{diagonalMatrix-class}{Ops,diagonalMatrix,diagonalMatrix.Rdash.method}
\aliasA{Ops,dMatrix,ddiMatrix-method}{diagonalMatrix-class}{Ops,dMatrix,ddiMatrix.Rdash.method}
\aliasA{Ops,dMatrix,ldiMatrix-method}{diagonalMatrix-class}{Ops,dMatrix,ldiMatrix.Rdash.method}
\aliasA{Ops,ldiMatrix,ANY-method}{diagonalMatrix-class}{Ops,ldiMatrix,ANY.Rdash.method}
\aliasA{Ops,ldiMatrix,ddiMatrix-method}{diagonalMatrix-class}{Ops,ldiMatrix,ddiMatrix.Rdash.method}
\aliasA{Ops,ldiMatrix,dMatrix-method}{diagonalMatrix-class}{Ops,ldiMatrix,dMatrix.Rdash.method}
\aliasA{Ops,ldiMatrix,ldiMatrix-method}{diagonalMatrix-class}{Ops,ldiMatrix,ldiMatrix.Rdash.method}
\aliasA{Ops,ldiMatrix,Matrix-method}{diagonalMatrix-class}{Ops,ldiMatrix,Matrix.Rdash.method}
\aliasA{Ops,ldiMatrix,numeric-method}{diagonalMatrix-class}{Ops,ldiMatrix,numeric.Rdash.method}
\aliasA{Ops,ldiMatrix,sparseMatrix-method}{diagonalMatrix-class}{Ops,ldiMatrix,sparseMatrix.Rdash.method}
\aliasA{Ops,Matrix,ddiMatrix-method}{diagonalMatrix-class}{Ops,Matrix,ddiMatrix.Rdash.method}
\aliasA{Ops,Matrix,ldiMatrix-method}{diagonalMatrix-class}{Ops,Matrix,ldiMatrix.Rdash.method}
\aliasA{Ops,numeric,ddiMatrix-method}{diagonalMatrix-class}{Ops,numeric,ddiMatrix.Rdash.method}
\aliasA{Ops,numeric,ldiMatrix-method}{diagonalMatrix-class}{Ops,numeric,ldiMatrix.Rdash.method}
\aliasA{Ops,sparseMatrix,ddiMatrix-method}{diagonalMatrix-class}{Ops,sparseMatrix,ddiMatrix.Rdash.method}
\aliasA{Ops,sparseMatrix,ldiMatrix-method}{diagonalMatrix-class}{Ops,sparseMatrix,ldiMatrix.Rdash.method}
\aliasA{print,diagonalMatrix-method}{diagonalMatrix-class}{print,diagonalMatrix.Rdash.method}
\aliasA{prod,ddiMatrix-method}{diagonalMatrix-class}{prod,ddiMatrix.Rdash.method}
\aliasA{prod,ldiMatrix-method}{diagonalMatrix-class}{prod,ldiMatrix.Rdash.method}
\aliasA{rbind2,atomicVector,ddiMatrix-method}{diagonalMatrix-class}{rbind2,atomicVector,ddiMatrix.Rdash.method}
\aliasA{rbind2,atomicVector,ldiMatrix-method}{diagonalMatrix-class}{rbind2,atomicVector,ldiMatrix.Rdash.method}
\aliasA{rbind2,ddiMatrix,atomicVector-method}{diagonalMatrix-class}{rbind2,ddiMatrix,atomicVector.Rdash.method}
\aliasA{rbind2,ddiMatrix,matrix-method}{diagonalMatrix-class}{rbind2,ddiMatrix,matrix.Rdash.method}
\aliasA{rbind2,diagonalMatrix,sparseMatrix-method}{diagonalMatrix-class}{rbind2,diagonalMatrix,sparseMatrix.Rdash.method}
\aliasA{rbind2,ldiMatrix,atomicVector-method}{diagonalMatrix-class}{rbind2,ldiMatrix,atomicVector.Rdash.method}
\aliasA{rbind2,ldiMatrix,matrix-method}{diagonalMatrix-class}{rbind2,ldiMatrix,matrix.Rdash.method}
\aliasA{rbind2,matrix,ddiMatrix-method}{diagonalMatrix-class}{rbind2,matrix,ddiMatrix.Rdash.method}
\aliasA{rbind2,matrix,ldiMatrix-method}{diagonalMatrix-class}{rbind2,matrix,ldiMatrix.Rdash.method}
\aliasA{rbind2,sparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{rbind2,sparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{show,diagonalMatrix-method}{diagonalMatrix-class}{show,diagonalMatrix.Rdash.method}
\aliasA{solve,diagonalMatrix,Matrix-method}{diagonalMatrix-class}{solve,diagonalMatrix,Matrix.Rdash.method}
\aliasA{solve,diagonalMatrix,matrix-method}{diagonalMatrix-class}{solve,diagonalMatrix,matrix.Rdash.method}
\aliasA{solve,diagonalMatrix,missing-method}{diagonalMatrix-class}{solve,diagonalMatrix,missing.Rdash.method}
\aliasA{sum,ddiMatrix-method}{diagonalMatrix-class}{sum,ddiMatrix.Rdash.method}
\aliasA{sum,ldiMatrix-method}{diagonalMatrix-class}{sum,ldiMatrix.Rdash.method}
\aliasA{Summary,ddiMatrix-method}{diagonalMatrix-class}{Summary,ddiMatrix.Rdash.method}
\aliasA{Summary,ldiMatrix-method}{diagonalMatrix-class}{Summary,ldiMatrix.Rdash.method}
\aliasA{t,diagonalMatrix-method}{diagonalMatrix-class}{t,diagonalMatrix.Rdash.method}
\aliasA{tcrossprod,CsparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{tcrossprod,CsparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{tcrossprod,dgeMatrix,diagonalMatrix-method}{diagonalMatrix-class}{tcrossprod,dgeMatrix,diagonalMatrix.Rdash.method}
\aliasA{tcrossprod,diagonalMatrix,CsparseMatrix-method}{diagonalMatrix-class}{tcrossprod,diagonalMatrix,CsparseMatrix.Rdash.method}
\aliasA{tcrossprod,diagonalMatrix,diagonalMatrix-method}{diagonalMatrix-class}{tcrossprod,diagonalMatrix,diagonalMatrix.Rdash.method}
\aliasA{tcrossprod,diagonalMatrix,matrix-method}{diagonalMatrix-class}{tcrossprod,diagonalMatrix,matrix.Rdash.method}
\aliasA{tcrossprod,diagonalMatrix,missing-method}{diagonalMatrix-class}{tcrossprod,diagonalMatrix,missing.Rdash.method}
\aliasA{tcrossprod,diagonalMatrix,sparseMatrix-method}{diagonalMatrix-class}{tcrossprod,diagonalMatrix,sparseMatrix.Rdash.method}
\aliasA{tcrossprod,lgeMatrix,diagonalMatrix-method}{diagonalMatrix-class}{tcrossprod,lgeMatrix,diagonalMatrix.Rdash.method}
\aliasA{tcrossprod,matrix,diagonalMatrix-method}{diagonalMatrix-class}{tcrossprod,matrix,diagonalMatrix.Rdash.method}
\aliasA{tcrossprod,sparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{tcrossprod,sparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,CsparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,CsparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,denseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,denseMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,dgeMatrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,dgeMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,CsparseMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,CsparseMatrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,denseMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,denseMatrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,dgeMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,dgeMatrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,lgeMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,lgeMatrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,matrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,matrix.Rdash.method}
\aliasA{\%*\%,diagonalMatrix,sparseMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,diagonalMatrix,sparseMatrix.Rdash.method}
\aliasA{\%*\%,lgeMatrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,lgeMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,matrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,matrix,diagonalMatrix.Rdash.method}
\aliasA{\%*\%,sparseMatrix,diagonalMatrix-method}{diagonalMatrix-class}{.Rpcent.*.Rpcent.,sparseMatrix,diagonalMatrix.Rdash.method}
\aliasA{\%/\%,ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\%/\%,ddiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ddiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\%/\%,ddiMatrix,Matrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ddiMatrix,Matrix.Rdash.method}
\aliasA{\%/\%,ddiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ddiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\%/\%,ldiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ldiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\%/\%,ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\%/\%,ldiMatrix,Matrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ldiMatrix,Matrix.Rdash.method}
\aliasA{\%/\%,ldiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{.Rpcent./.Rpcent.,ldiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\%\%,ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\%\%,ddiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ddiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\%\%,ddiMatrix,Matrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ddiMatrix,Matrix.Rdash.method}
\aliasA{\%\%,ddiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ddiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\%\%,ldiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ldiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\%\%,ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\%\%,ldiMatrix,Matrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ldiMatrix,Matrix.Rdash.method}
\aliasA{\%\%,ldiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{.Rpcent..Rpcent.,ldiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},ddenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ddenseMatrix,ddiMatrix.Rdash.method}
\aliasA{\textasciicircum{},ddenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ddenseMatrix,ldiMatrix.Rdash.method}
\aliasA{\textasciicircum{},ddiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ddiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},ddiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ddiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},ddiMatrix,Matrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ddiMatrix,Matrix.Rdash.method}
\aliasA{\textasciicircum{},ddiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ddiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},ldenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ldenseMatrix,ddiMatrix.Rdash.method}
\aliasA{\textasciicircum{},ldenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ldenseMatrix,ldiMatrix.Rdash.method}
\aliasA{\textasciicircum{},ldiMatrix,ddenseMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ldiMatrix,ddenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},ldiMatrix,ldenseMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ldiMatrix,ldenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},ldiMatrix,Matrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ldiMatrix,Matrix.Rdash.method}
\aliasA{\textasciicircum{},ldiMatrix,ndenseMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ldiMatrix,ndenseMatrix.Rdash.method}
\aliasA{\textasciicircum{},Matrix,ddiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,Matrix,ddiMatrix.Rdash.method}
\aliasA{\textasciicircum{},Matrix,ldiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,Matrix,ldiMatrix.Rdash.method}
\aliasA{\textasciicircum{},ndenseMatrix,ddiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ndenseMatrix,ddiMatrix.Rdash.method}
\aliasA{\textasciicircum{},ndenseMatrix,ldiMatrix-method}{diagonalMatrix-class}{\textasciicircum.Rlbrace..Rrbrace.,ndenseMatrix,ldiMatrix.Rdash.method}
\keyword{classes}{diagonalMatrix-class}
\begin{Description}\relax
Class "diagonalMatrix" is the virtual class of all diagonal matrices.
\end{Description}
\begin{Section}{Objects from the Class}
A virtual Class: No objects may be
created from it.
\end{Section}
\begin{Section}{Slots}
\describe{
\item[\code{diag}:] code{"character"} string, either \code{"U"} or
\code{"N"}, where \code{"U"} means \sQuote{unit-diagonal}.
\item[\code{Dim}:] matrix dimension, and
\item[\code{Dimnames}:] the \code{\LinkA{dimnames}{dimnames}}, a
\code{\LinkA{list}{list}}, see the \code{\LinkA{Matrix}{Matrix.Rdash.class}} class
description.  Typically \code{list(NULL,NULL)} for diagonal matrices.
}
\end{Section}
\begin{Section}{Extends}
Class \code{"\LinkA{sparseMatrix}{sparseMatrix.Rdash.class}"}, directly.
\end{Section}
\begin{Section}{Methods}
These are just a subset of the signature for which defined methods.
Currently, there are (too) many explicit methods defined in order to
ensure efficient methods for diagonal matrices.

\describe{
\item[coerce] \code{signature(from = "matrix", to = "diagonalMatrix")}: ... 
\item[coerce] \code{signature(from = "Matrix", to = "diagonalMatrix")}: ... 
\item[coerce] \code{signature(from = "diagonalMatrix", to = "generalMatrix")}: ... 
\item[coerce] \code{signature(from = "diagonalMatrix", to = "triangularMatrix")}: ... 
\item[coerce] \code{signature(from = "diagonalMatrix", to = "nMatrix")}: ... 
\item[coerce] \code{signature(from = "diagonalMatrix", to = "matrix")}: ... 
\item[coerce] \code{signature(from = "diagonalMatrix", to = "sparseVector")}: ... 
\item[t] \code{signature(x = "diagonalMatrix")}: ... 
\item[\%*\%] \code{signature(x = "dgeMatrix", y = "diagonalMatrix")}: ... 
\item[\%*\%] \code{signature(x = "matrix", y = "diagonalMatrix")}: ... 
\item[\%*\%] \code{signature(x = "diagonalMatrix", y = "matrix")}: ... 
\item[\%*\%] \code{signature(x = "diagonalMatrix", y = "dgeMatrix")}: ... 

\item[crossprod] \code{signature(x = "diagonalMatrix", y = "dgeMatrix")}: ... 
\\ and many more methods

\item[solve] \code{signature(a = "diagonalMatrix", b, ...)}: is
trivially implemented, of course.

\item[*] \code{signature(e1 = "ddiMatrix", e2="denseMatrix")}:
arithmetic and other operators from the \code{\LinkA{Ops}{Ops}}
group have a few dozen explicit method definitions, in order to
keep the results \emph{diagonal} in many cases, including the following:
\item[/] \code{signature(e1 = "ddiMatrix", e2="denseMatrix")}:
the result is from class \code{\LinkA{ddiMatrix}{ddiMatrix.Rdash.class}} which is
typically very desirable.  Note that when \code{e2} contains
off-diagonal zeros or \code{\LinkA{NA}{NA}}s, we implicitly use \eqn{0 / x = 0}{}, hence
differing from traditional \R{} arithmetic (where \eqn{0 / 0
\mapsto \mbox{NaN}}{}), in order to preserve sparsity.
}
\end{Section}
\begin{SeeAlso}\relax
\code{\LinkA{ddiMatrix}{ddiMatrix.Rdash.class}} and \code{\LinkA{ldiMatrix}{ldiMatrix.Rdash.class}} are
\dQuote{actual} classes extending \code{"diagonalMatrix"}.
\end{SeeAlso}
\begin{Examples}
\begin{ExampleCode}
I5 <- Diagonal(5)
D5 <- Diagonal(x = 10*(1:5))
## trivial (but explicitly defined) methods:
stopifnot(identical(crossprod(I5), I5),
          identical(tcrossprod(I5), I5),
          identical(crossprod(I5, D5), D5),
          identical(tcrossprod(D5, I5), D5),
          identical(solve(D5), solve(D5, I5)),
          all.equal(D5, solve(solve(D5)), tol = 1e-12)
          )
solve(D5)
\end{ExampleCode}
\end{Examples}

