Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-24 Thread Duncan Murdoch

On 24/04/2018 5:50 AM, Peter Simons wrote:

Duncan Murdoch writes:

  >> ./configure --without-recommended-packages && make && make check
  >
  > So you're getting paid to do what you do, but you want the volunteers
  > in R Core to do some work for you for free.

You are jumping to conclusions. Nobody pays me a single cent to package
R for Nix; I do that purely as a hobby.


"Jumping to conclusions"?  You're the one who said "I have packaged free 
software for 20+ years for many different distributions,
and, in fact, I'm doing that professionally these days as an employee of 
one of the largest commercial Linux distributors."  Perhaps it wasn't 
your intention to imply that R was one of those packages, but that seems 
like a natural reading of your post.





  >> If no-one wants to make those changes for whatever reason, then that's 
fine and
  >> I'll just disable the test suite in NixOS to make the build succeed. I 
feel like
  >> that would be a sub-optimal solution, though.
  >
  > I agree. You should spend some time working out a better one.

Well, you know, every so often, I reach out to people in a free software
community to make them aware of some issue I've run into. On some
occasions, members of those communities respond in a helpful and
friendly manner that impresses me because these people are obviously
thoughtful and issue-oriented and offer nuanced insight into the problem
I've brought up, and then I feel like it would be fun to interact with
those people to learn new stuff and maybe contribute something useful.
That's the point about volunteering, right? People do it because they
*enjoy it*, not because someone tells them to.


Your message sounded more like "you need to do this to make my job 
easier", rather than pointing out an issue with a goal of helping everyone.




So, you go ahead and have a very nice day, Duncan.


You too.  Here's a free gift:  https://xkcd.com/1984/.

Duncan Murdoch



Best regards,
Peter

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel



__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-24 Thread Martin Maechler
> Peter Simons 
> on Tue, 24 Apr 2018 11:50:22 +0200 writes:

> Duncan Murdoch writes:
>>> ./configure --without-recommended-packages && make && make check
>> 
>> So you're getting paid to do what you do, but you want the volunteers
>> in R Core to do some work for you for free.

> You are jumping to conclusions. Nobody pays me a single cent to package
> R for Nix; I do that purely as a hobby.


>>> If no-one wants to make those changes for whatever reason, then that's 
fine and
>>> I'll just disable the test suite in NixOS to make the build succeed. I 
feel like
>>> that would be a sub-optimal solution, though.
>> 
>> I agree. You should spend some time working out a better one.

> Well, you know, every so often, I reach out to people in a free software
> community to make them aware of some issue I've run into. On some
> occasions, members of those communities respond in a helpful and
> friendly manner that impresses me because these people are obviously
> thoughtful and issue-oriented and offer nuanced insight into the problem
> I've brought up, and then I feel like it would be fun to interact with
> those people to learn new stuff and maybe contribute something useful.
> That's the point about volunteering, right? People do it because they
> *enjoy it*, not because someone tells them to.

> So, you go ahead and have a very nice day, Duncan.

... "easy easy", ...
Let's all be friendly and not imposing on others.

I can't speak for all of R core on this, but I agree with you,
Simon, that ideally  'make check' should work also when the unusual
 --without-recommended-packages
option is
used.  As a matter of fact, it did work in most recent versions of R. 
I will make an effort to have it work again like that in R
3.5.1,  notably because I was crucial in breaking what
previously did work (when I introduced relatively comprehensive test code for
checking the newly introduced feature of correct deparsing of S4 objects).

Note however that 3.5.1 will most probably be many weeks away.

What should also be said :

We have had a public release cycle of about one month of
alpha testing, beta testing, release-canditate, etc,
and nobody has reported that problem.
I would think good netizens depending on R would do at least one
check of installing a pre-release.
(Debian has done so).

Lastly, let me add to what was said:  You can change your
procedures to easily workaround the issue, and as Dirk has
mentioned, Debian etc have adopted a more robust procedure for
packaging both R without rec.pkg. and the rec.pkg.s (and then
bundle the two in yet another).

Best,
Martin Maechler
ETH Zurich

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-24 Thread Peter Simons
Duncan Murdoch writes:

 >> ./configure --without-recommended-packages && make && make check
 >
 > So you're getting paid to do what you do, but you want the volunteers
 > in R Core to do some work for you for free.

You are jumping to conclusions. Nobody pays me a single cent to package
R for Nix; I do that purely as a hobby.


 >> If no-one wants to make those changes for whatever reason, then that's fine 
 >> and
 >> I'll just disable the test suite in NixOS to make the build succeed. I feel 
 >> like
 >> that would be a sub-optimal solution, though.
 >
 > I agree. You should spend some time working out a better one.

Well, you know, every so often, I reach out to people in a free software
community to make them aware of some issue I've run into. On some
occasions, members of those communities respond in a helpful and
friendly manner that impresses me because these people are obviously
thoughtful and issue-oriented and offer nuanced insight into the problem
I've brought up, and then I feel like it would be fun to interact with
those people to learn new stuff and maybe contribute something useful.
That's the point about volunteering, right? People do it because they
*enjoy it*, not because someone tells them to.

So, you go ahead and have a very nice day, Duncan.

Best regards,
Peter

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Duncan Murdoch

On 23/04/2018 12:28 PM, Peter Simons wrote:

Hi Dirk,

  > I have been doing for R for about 20 years (if you count the time I
  > assisted Doug Bates when he was still the maintainer) (and longer for
  > Debian), and you seem to follow the same model we set up years ago of
  > splitting the content of r-recommended (itself a virtual package) off
  > r-base-core.
  >
  > You simply need to do this in stages.

I have packaged free software for 20+ years for many different distributions,
and, in fact, I'm doing that professionally these days as an employee of one of
the largest commercial Linux distributors. So please trust my expertise when I
tell you that this is not what I want.

What I want is

   ./configure --without-recommended-packages && make && make check

to succeed without error, and I don't think that's an unreasonable expectation.


So you're getting paid to do what you do, but you want the volunteers in 
R Core to do some work for you for free.  I *do* think that's an 
unreasonable expectation.




I have reported these kind of errors before in past, and back then a friendly R
developer simply took a moment to disable the offending tests when the build
was configured with this particular flag and that solved the problem. I would
hope that this is the outcome we can achieve this time, too.


Perhaps back then you were also a volunteer.



If no-one wants to make those changes for whatever reason, then that's fine and
I'll just disable the test suite in NixOS to make the build succeed. I feel like
that would be a sub-optimal solution, though.


I agree.  You should spend some time working out a better one.

Duncan Murdoch

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Dirk Eddelbuettel

Peter,

I think we are on the same page, but there is little I can do for you here.
Ultimately you are asking R Core to do you a favor. More below.

On 23 April 2018 at 18:28, Peter Simons wrote:
| Hi Dirk,
| 
|  > I have been doing for R for about 20 years (if you count the time I
|  > assisted Doug Bates when he was still the maintainer) (and longer for
|  > Debian), and you seem to follow the same model we set up years ago of
|  > splitting the content of r-recommended (itself a virtual package) off
|  > r-base-core.
|  >
|  > You simply need to do this in stages.
| 
| I have packaged free software for 20+ years for many different distributions,
| and, in fact, I'm doing that professionally these days as an employee of one 
of
| the largest commercial Linux distributors. So please trust my expertise when I
| tell you that this is not what I want.
| 
| What I want is
| 
|   ./configure --without-recommended-packages && make && make check
| 
| to succeed without error, and I don't think that's an unreasonable 
expectation.

Sure. You "merely" have to get R Core to implement it for you.  Given that it
does not help them (they just build 'with recommended') and is not strictly
needed (it will pass in a second pass once you used the first pass to build
the recommended packages) it is a little hard to see how this 'nice to have'
item may bubble higher on anybody's priorities.  But the general rules is
that if and when well-written patches are submitted on topics where there is
agreement that a fix may help, then they are considered. So *you* could work
on this.
 
| I have reported these kind of errors before in past, and back then a friendly 
R
| developer simply took a moment to disable the offending tests when the build
| was configured with this particular flag and that solved the problem. I would
| hope that this is the outcome we can achieve this time, too.

R Core disabled tests in base R for you?  Hm. Are you sure?  Or are you by
chance confusing R Core with a random package maintainer (like myself) who
may have disabled a test?
 
| If no-one wants to make those changes for whatever reason, then that's fine 
and
| I'll just disable the test suite in NixOS to make the build succeed. I feel 
like
| that would be a sub-optimal solution, though.

You could comment it out now, and re-enable it once your package stack is
refilled.  Or you could make it 'make -k check' for now.

It's really under your control as it your build environment.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Peter Simons
Hi Dirk,

 > I have been doing for R for about 20 years (if you count the time I
 > assisted Doug Bates when he was still the maintainer) (and longer for
 > Debian), and you seem to follow the same model we set up years ago of
 > splitting the content of r-recommended (itself a virtual package) off
 > r-base-core.
 >
 > You simply need to do this in stages.

I have packaged free software for 20+ years for many different distributions,
and, in fact, I'm doing that professionally these days as an employee of one of
the largest commercial Linux distributors. So please trust my expertise when I
tell you that this is not what I want.

What I want is

  ./configure --without-recommended-packages && make && make check

to succeed without error, and I don't think that's an unreasonable expectation.

I have reported these kind of errors before in past, and back then a friendly R
developer simply took a moment to disable the offending tests when the build
was configured with this particular flag and that solved the problem. I would
hope that this is the outcome we can achieve this time, too.

If no-one wants to make those changes for whatever reason, then that's fine and
I'll just disable the test suite in NixOS to make the build succeed. I feel like
that would be a sub-optimal solution, though.

Best regards,
Peter

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Dirk Eddelbuettel

On 23 April 2018 at 15:14, Peter Simons wrote:
| Duncan Murdoch  writes:
| 
|  > You can likely get rid of most of them by building with the recommended
|  > packages.
| 
| unfortunately, this is not an option for us. For various reasons, our
| build process requires that we build those packages separately. Ricardo
| appears to be in a similar situation and he has outlined some of those
| reasons already in his message.
| 
| Anyway, it would be FAR better for us if "make check" would simply
| succeed in the configuration we're using. We'd be perfectly happy to
| have those tests disabled that cannot be executed without the
| recommended packages available.
| 
| Is there a way to accomplish that?

I have been doing for R for about 20 years (if you count the time I assisted
Doug Bates when he was still the maintainer) (and longer for Debian), and you
seem to follow the same model we set up years ago of splitting the content of
r-recommended (itself a virtual package) off r-base-core.

You simply need to do this in stages.

As Duncan stated, this is not a concern for R Core as they offer us a way to
test the set.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Peter Simons
Duncan Murdoch  writes:

 > You can likely get rid of most of them by building with the recommended
 > packages.

unfortunately, this is not an option for us. For various reasons, our
build process requires that we build those packages separately. Ricardo
appears to be in a similar situation and he has outlined some of those
reasons already in his message.

Anyway, it would be FAR better for us if "make check" would simply
succeed in the configuration we're using. We'd be perfectly happy to
have those tests disabled that cannot be executed without the
recommended packages available.

Is there a way to accomplish that?

Best regards,
Peter

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Ricardo Wurmus

Hi Dirk,

> On 23 April 2018 at 12:33, Peter Simons wrote:
> | Hi,
> |
> | I just tried to upgrade Nixpkgs to R 3.5.0, but unfortunately the new
> | version fails its regression test suite. We configure the build using
> | the flags "--without-recommended-packages", in case that's relevant. You
> | can see a complete build log with all relevant information at [1].
> | Anyway, the test failures look like this:
>
> The flag instructs R not to build new 'recommended packages'; however the
> tests you run later need them.

Is there a way to disable only those tests that depend on the
recommended packages?  Would it make sense to disable these tests by
default when “--without-recommended-packages” is passed?

> This release has a binary change so you
> actually need to rebuild dependent packages -- in other words I think you can
> expect (some of) these tests to fail until these recommended packages are
> rebuilt.

I’ve hit the same problem as Peter in upgrading R for Guix.  We build
the recommended packages as separate packages later, so that we can
offer a minimal R package.  At the time when R itself is built the
environment does not contain any R packages, so there is nothing to be
rebuilt.

Another problem with building the recommended packages as part of the R
build process is that it’s more difficult to make them build
bit-reproducibly.  Building them as separate packages simplifies that
and enables us to prevent e.g. the embedding of timestamps.

--
Ricardo

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Duncan Murdoch

On 23/04/2018 6:33 AM, Peter Simons wrote:

Hi,

I just tried to upgrade Nixpkgs to R 3.5.0, but unfortunately the new
version fails its regression test suite. We configure the build using
the flags "--without-recommended-packages", in case that's relevant. You
can see a complete build log with all relevant information at [1].
Anyway, the test failures look like this:


I haven't read the full script below, but a lot of it has to do with 
tests of Matrix, which is a recommended package.  Since you built 
without it, they should be expected to fail.


You can likely get rid of most of them by building with the recommended 
packages.


Duncan Murdoch



  | make[3]: Entering directory '/build/R-3.5.0/tests/Examples'
  | Testing examples for package 'base'
  | Testing examples for package 'tools'
  |   comparing 'tools-Ex.Rout' to 'tools-Ex.Rout.save' ... OK
  | Testing examples for package 'utils'
  | Testing examples for package 'grDevices'
  |   comparing 'grDevices-Ex.Rout' to 'grDevices-Ex.Rout.save' ... OK
  | Testing examples for package 'graphics'
  |   comparing 'graphics-Ex.Rout' to 'graphics-Ex.Rout.save' ... OK
  | Testing examples for package 'stats'
  |   comparing 'stats-Ex.Rout' to 'stats-Ex.Rout.save' ... NOTE
  |   6599c6599
  |   < Grand Mean: 291.5937
  |   ---
  |   > Grand Mean: 291.5938
  |   15124c15124
  |   < Grand Mean: 291.5937
  |   ---
  |   > Grand Mean: 291.5938
  |   17444c17444
  |   < assertCondition: caught "error"
  |   ---
  |   > assertCondition: caught 'error'
  | Testing examples for package 'datasets'
  |   comparing 'datasets-Ex.Rout' to 'datasets-Ex.Rout.save' ... OK
  | Testing examples for package 'methods'
  | Testing examples for package 'grid'
  |   comparing 'grid-Ex.Rout' to 'grid-Ex.Rout.save' ... OK
  | Testing examples for package 'splines'
  |   comparing 'splines-Ex.Rout' to 'splines-Ex.Rout.save' ... OK
  | Testing examples for package 'stats4'
  |   comparing 'stats4-Ex.Rout' to 'stats4-Ex.Rout.save' ... OK
  | Testing examples for package 'tcltk'
  | Testing examples for package 'compiler'
  | Testing examples for package 'parallel'
  | make[3]: Leaving directory '/build/R-3.5.0/tests/Examples'
  | make[2]: Leaving directory '/build/R-3.5.0/tests'
  | make[2]: Entering directory '/build/R-3.5.0/tests'
  | make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make 
rule.
  | running strict specific tests
  | make[3]: Entering directory '/build/R-3.5.0/tests'
  | running code in 'eval-etc.R' ... OK
  |   comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ...414,416c414,548
  | < Warning message:
  | < In library(package, lib.loc = lib.loc, character.only = TRUE, 
logical.return = TRUE,  :
  | <   there is no package called 'Matrix'
  | ---
  | > Trying some Matrix objects, too
  | >
  | > Matrix> Matrix(0, 3, 2) # 3 by 2 matrix of zeros -> sparse
  | > 3 x 2 sparse Matrix of class "dgCMatrix"
  | >
  | > [1,] . .
  | > [2,] . .
  | > [3,] . .
  | >
  | > Matrix> Matrix(0, 3, 2, sparse=FALSE)# -> 'dense'
  | > 3 x 2 Matrix of class "dgeMatrix"
  | >  [,1] [,2]
  | > [1,]00
  | > [2,]00
  | > [3,]00
  | >
  | > Matrix> Matrix(0, 2, 2, sparse=FALSE)# diagonal !
  | > 2 x 2 diagonal matrix of class "ddiMatrix"
  | >  [,1] [,2]
  | > [1,]0.
  | > [2,].0
  | >
  | > Matrix> Matrix(0, 2, 2, sparse=FALSE, doDiag=FALSE)# -> dense
  | > 2 x 2 Matrix of class "dsyMatrix"
  | >  [,1] [,2]
  | > [1,]00
  | > [2,]00
  | >
  | > Matrix> Matrix(1:6, 3, 2)   # a 3 by 2 matrix (+ integer warning)
  | > 3 x 2 Matrix of class "dgeMatrix"
  | >  [,1] [,2]
  | > [1,]14
  | > [2,]25
  | > [3,]36
  | >
  | > Matrix> Matrix(1:6 + 1, nrow=3)
  | > 3 x 2 Matrix of class "dgeMatrix"
  | >  [,1] [,2]
  | > [1,]25
  | > [2,]36
  | > [3,]47
  | >
  | > Matrix> ## logical ones:
  | > Matrix> Matrix(diag(4) >  0)# -> "ldiMatrix" with diag = "U"
  | > 4 x 4 diagonal matrix of class "ldiMatrix"
  | >  [,1] [,2] [,3] [,4]
  | > [1,] TRUE...
  | > [2,]. TRUE..
  | > [3,].. TRUE.
  | > [4,]... TRUE
  | >
  | > Matrix> Matrix(diag(4) >  0, sparse=TRUE)# -> sparse...
  | > 4 x 4 sparse Matrix of class "lsCMatrix"
  | >
  | > [1,] | . . .
  | > [2,] . | . .
  | > [3,] . . | .
  | > [4,] . . . |
  | >
  | > Matrix> Matrix(diag(4) >= 0)# -> "lsyMatrix" (of all 'TRUE')
  | > 4 x 4 Matrix of class "lsyMatrix"
  | >  [,1] [,2] [,3] [,4]
  | > [1,] TRUE TRUE TRUE TRUE
  | > [2,] TRUE TRUE TRUE TRUE
  | > [3,] TRUE TRUE TRUE TRUE
  | > [4,] TRUE TRUE TRUE TRUE
  | >
  | > Matrix> ## triangular
  | > Matrix> l3 <- upper.tri(matrix(,3,3))
  | >
  | > Matrix> (M <- Matrix(l3))  # -> "ltCMatrix"
  | > 3 x 3 sparse Matrix of class "ltCMatrix"
  | >
  | > [1,] . | |
  | > [2,] . . |
  | > [3,] . . .
  | >
  | > Matrix> Matrix(! l3)# -> "ltrMatrix"
  | > 3 x 3 Matrix of class "ltrMatrix"
  | 

Re: [Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Dirk Eddelbuettel

On 23 April 2018 at 12:33, Peter Simons wrote:
| Hi,
| 
| I just tried to upgrade Nixpkgs to R 3.5.0, but unfortunately the new
| version fails its regression test suite. We configure the build using
| the flags "--without-recommended-packages", in case that's relevant. You
| can see a complete build log with all relevant information at [1].
| Anyway, the test failures look like this:

The flag instructs R not to build new 'recommended packages'; however the
tests you run later need them.  This release has a binary change so you
actually need to rebuild dependent packages -- in other words I think you can
expect (some of) these tests to fail until these recommended packages are
rebuilt.

>From the doc/NEWS file, lines 395 and on:

* The object header layout has been changed to support merging the
  ALTREP branch. This requires re-installing packages that use
  compiled code.

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


[Rd] R 3.5.0 fails its regression test suite on Linux/x86_64

2018-04-23 Thread Peter Simons
Hi,

I just tried to upgrade Nixpkgs to R 3.5.0, but unfortunately the new
version fails its regression test suite. We configure the build using
the flags "--without-recommended-packages", in case that's relevant. You
can see a complete build log with all relevant information at [1].
Anyway, the test failures look like this:

 | make[3]: Entering directory '/build/R-3.5.0/tests/Examples'
 | Testing examples for package 'base'
 | Testing examples for package 'tools'
 |   comparing 'tools-Ex.Rout' to 'tools-Ex.Rout.save' ... OK
 | Testing examples for package 'utils'
 | Testing examples for package 'grDevices'
 |   comparing 'grDevices-Ex.Rout' to 'grDevices-Ex.Rout.save' ... OK
 | Testing examples for package 'graphics'
 |   comparing 'graphics-Ex.Rout' to 'graphics-Ex.Rout.save' ... OK
 | Testing examples for package 'stats'
 |   comparing 'stats-Ex.Rout' to 'stats-Ex.Rout.save' ... NOTE
 |   6599c6599
 |   < Grand Mean: 291.5937
 |   ---
 |   > Grand Mean: 291.5938
 |   15124c15124
 |   < Grand Mean: 291.5937
 |   ---
 |   > Grand Mean: 291.5938
 |   17444c17444
 |   < assertCondition: caught "error"
 |   ---
 |   > assertCondition: caught 'error'
 | Testing examples for package 'datasets'
 |   comparing 'datasets-Ex.Rout' to 'datasets-Ex.Rout.save' ... OK
 | Testing examples for package 'methods'
 | Testing examples for package 'grid'
 |   comparing 'grid-Ex.Rout' to 'grid-Ex.Rout.save' ... OK
 | Testing examples for package 'splines'
 |   comparing 'splines-Ex.Rout' to 'splines-Ex.Rout.save' ... OK
 | Testing examples for package 'stats4'
 |   comparing 'stats4-Ex.Rout' to 'stats4-Ex.Rout.save' ... OK
 | Testing examples for package 'tcltk'
 | Testing examples for package 'compiler'
 | Testing examples for package 'parallel'
 | make[3]: Leaving directory '/build/R-3.5.0/tests/Examples'
 | make[2]: Leaving directory '/build/R-3.5.0/tests'
 | make[2]: Entering directory '/build/R-3.5.0/tests'
 | make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make 
rule.
 | running strict specific tests
 | make[3]: Entering directory '/build/R-3.5.0/tests'
 | running code in 'eval-etc.R' ... OK
 |   comparing 'eval-etc.Rout' to './eval-etc.Rout.save' ...414,416c414,548
 | < Warning message:
 | < In library(package, lib.loc = lib.loc, character.only = TRUE, 
logical.return = TRUE,  :
 | <   there is no package called 'Matrix'
 | ---
 | > Trying some Matrix objects, too
 | >
 | > Matrix> Matrix(0, 3, 2) # 3 by 2 matrix of zeros -> sparse
 | > 3 x 2 sparse Matrix of class "dgCMatrix"
 | >
 | > [1,] . .
 | > [2,] . .
 | > [3,] . .
 | >
 | > Matrix> Matrix(0, 3, 2, sparse=FALSE)# -> 'dense'
 | > 3 x 2 Matrix of class "dgeMatrix"
 | >  [,1] [,2]
 | > [1,]00
 | > [2,]00
 | > [3,]00
 | >
 | > Matrix> Matrix(0, 2, 2, sparse=FALSE)# diagonal !
 | > 2 x 2 diagonal matrix of class "ddiMatrix"
 | >  [,1] [,2]
 | > [1,]0.
 | > [2,].0
 | >
 | > Matrix> Matrix(0, 2, 2, sparse=FALSE, doDiag=FALSE)# -> dense
 | > 2 x 2 Matrix of class "dsyMatrix"
 | >  [,1] [,2]
 | > [1,]00
 | > [2,]00
 | >
 | > Matrix> Matrix(1:6, 3, 2)   # a 3 by 2 matrix (+ integer warning)
 | > 3 x 2 Matrix of class "dgeMatrix"
 | >  [,1] [,2]
 | > [1,]14
 | > [2,]25
 | > [3,]36
 | >
 | > Matrix> Matrix(1:6 + 1, nrow=3)
 | > 3 x 2 Matrix of class "dgeMatrix"
 | >  [,1] [,2]
 | > [1,]25
 | > [2,]36
 | > [3,]47
 | >
 | > Matrix> ## logical ones:
 | > Matrix> Matrix(diag(4) >  0)# -> "ldiMatrix" with diag = "U"
 | > 4 x 4 diagonal matrix of class "ldiMatrix"
 | >  [,1] [,2] [,3] [,4]
 | > [1,] TRUE...
 | > [2,]. TRUE..
 | > [3,].. TRUE.
 | > [4,]... TRUE
 | >
 | > Matrix> Matrix(diag(4) >  0, sparse=TRUE)# -> sparse...
 | > 4 x 4 sparse Matrix of class "lsCMatrix"
 | >
 | > [1,] | . . .
 | > [2,] . | . .
 | > [3,] . . | .
 | > [4,] . . . |
 | >
 | > Matrix> Matrix(diag(4) >= 0)# -> "lsyMatrix" (of all 'TRUE')
 | > 4 x 4 Matrix of class "lsyMatrix"
 | >  [,1] [,2] [,3] [,4]
 | > [1,] TRUE TRUE TRUE TRUE
 | > [2,] TRUE TRUE TRUE TRUE
 | > [3,] TRUE TRUE TRUE TRUE
 | > [4,] TRUE TRUE TRUE TRUE
 | >
 | > Matrix> ## triangular
 | > Matrix> l3 <- upper.tri(matrix(,3,3))
 | >
 | > Matrix> (M <- Matrix(l3))  # -> "ltCMatrix"
 | > 3 x 3 sparse Matrix of class "ltCMatrix"
 | >
 | > [1,] . | |
 | > [2,] . . |
 | > [3,] . . .
 | >
 | > Matrix> Matrix(! l3)# -> "ltrMatrix"
 | > 3 x 3 Matrix of class "ltrMatrix"
 | >  [,1]  [,2]  [,3]
 | > [1,]  TRUE . .
 | > [2,]  TRUE  TRUE .
 | > [3,]  TRUE  TRUE  TRUE
 | >
 | > Matrix> as(l3, "CsparseMatrix")
 | > 3 x 3 sparse Matrix of class "lgCMatrix"
 | >
 | > [1,] . | |
 | > [2,] . . |
 | > [3,] . . .
 | >
 | > Matrix> Matrix(1:9, nrow=3,
 | > Matrix+dimnames = list(c("a", "b", "c"), c("A", "B", "C")))
 | > 3 x 3 Matrix of class "dgeMatrix"
 | >   A B C
 | > a 1 4 7
 | > b 2 5 8
 | > c 3 6 9
 | >
 |