- n
- integer indicating the dimension of the (square) matrix.
    If missing, then - length(x)is used.
 
  
- x
- numeric or logical vector listing values for the diagonal
    entries, to be recycled as necessary.  If - NULL(the default),
    then the result is a unit diagonal matrix.- .sparseDiagonal()and friends ignore non-- NULL- xwhen- kind = "n".
 
  
- names
- either - logical- TRUEor- FALSEor
    then a- charactervector of- length- n.  If true and- names(x)is not- NULL, use that as both row and column names for the resulting
    matrix.  When a character vector, use it for both dimnames.
 
  
- uplo
- one of - c("U","L"), specifying the- uploslot
    of the result if the result is formally triangular of symmetric.
 
  
- shape
- one of - c("t","s","g"), indicating if the result
    should be formally triangular, symmetric, or “general”.
    The result will inherit from virtual class- triangularMatrix,- symmetricMatrix, or- generalMatrix, respectively.
 
  
- unitri
- logical indicating if a formally triangular result with
    ones on the diagonal should be formally unit triangular, i.e.,
    with - diagslot equal to- "U"rather than- "N".
 
  
- kind
- one of - c("d","l","n"), indicating the “mode”
    of the result: numeric, logical, or pattern.
    The result will inherit from virtual class- dsparseMatrix,- lsparseMatrix, or- nsparseMatrix, respectively.
    Values other than- "n"are ignored when- xis
    non-- NULL; in that case the mode is determined by- typeof(x).
 
  
- cols
- optional integer vector with values in - 0:(n-1),
    indexing columns of the specified diagonal matrix.  If specified,
    then the result is (mathematically)- D[, cols+1]rather
    than- D, where- D = Diagonal(n, x), and it is always
    “general” (i.e.,- shapeis ignored).