Из учебника Java Tutorial :
Вложенные классы делятся на две категории: статические и нестатические. Вложенные классы, объявленные static, просто называются статическими вложенными классами. Нестатические вложенные классы называются внутренними классами.
Доступ к статическим вложенным классам осуществляется с помощью имени класса:
OuterClass.StaticNestedClass
Например, чтобы создать объект для статического вложенного класса, используйте этот синтаксис:
OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
Объекты, являющиеся экземплярами внутреннего класса, существуют в экземпляре внешнего класса. Рассмотрим следующие классы:
class OuterClass { ... class InnerClass { ... } }
Экземпляр InnerClass может существовать только внутри экземпляра OuterClass и имеет прямой доступ к методам и полям его вмещающего экземпляра.
Чтобы создать экземпляр внутренний класс, вы должны сначала создать экземпляр внешнего класса. Затем создайте внутренний объект внутри внешнего объекта с помощью этого синтаксиса:
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
см.: Учебник по Java - вложенные классы
Для полноты отметим, что там также является внутренним классом без вмещающего экземпляра :
class A { int t() { return 1; } static A a = new A() { int t() { return 2; } }; }
Здесь
new A() { ... }
является внутренним классом , определенным в статическом контексте и не имеет охватывающего экземпляра.
Матрица является наиболее распространенной и только что была принята стандартной установкой R (начиная с 2.9.0), поэтому должна быть широко доступна.
Матрица в базе: https://stat.ethz.ch/pipermail/r-announce/2009/000499.html
По моему опыту, Matrix является наиболее поддерживаемым и наиболее зрелым из упомянутых вами пакетов. Его архитектура C также должна быть достаточно понятной и относительно простой в работе.
log (x) на разреженной матрице - плохая идея, поскольку log (0) не определен и большинство элементов разреженной матрицы равны нулю.
Если вы просто хотите получить журнал не- нулевых элементов, попробуйте преобразовать их в разреженное представление триплетов и записать их в журнал.