ojalgo-user Mailing List for oj! Algorithms
Mathematics, linear algebra and optimisation
Brought to you by:
apete
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
|
Feb
(1) |
Mar
|
Apr
(14) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
(1) |
2005 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
(3) |
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
(1) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
(5) |
Sep
|
Oct
(3) |
Nov
(4) |
Dec
(2) |
2007 |
Jan
(8) |
Feb
(1) |
Mar
(2) |
Apr
(11) |
May
(6) |
Jun
|
Jul
(10) |
Aug
(2) |
Sep
|
Oct
(4) |
Nov
|
Dec
(11) |
2008 |
Jan
(22) |
Feb
(4) |
Mar
(2) |
Apr
(4) |
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
(6) |
Nov
(17) |
Dec
(5) |
2009 |
Jan
(15) |
Feb
(2) |
Mar
(2) |
Apr
(3) |
May
(4) |
Jun
(5) |
Jul
(9) |
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(14) |
Dec
|
2010 |
Jan
(3) |
Feb
(5) |
Mar
(2) |
Apr
(19) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2011 |
Jan
|
Feb
(1) |
Mar
(7) |
Apr
(10) |
May
(1) |
Jun
(15) |
Jul
(1) |
Aug
|
Sep
|
Oct
(13) |
Nov
(9) |
Dec
(11) |
2012 |
Jan
|
Feb
(1) |
Mar
(9) |
Apr
(23) |
May
(16) |
Jun
(9) |
Jul
(13) |
Aug
|
Sep
(4) |
Oct
(1) |
Nov
(1) |
Dec
|
2013 |
Jan
|
Feb
(12) |
Mar
(7) |
Apr
(24) |
May
|
Jun
(7) |
Jul
(4) |
Aug
|
Sep
(3) |
Oct
(16) |
Nov
(7) |
Dec
(3) |
2014 |
Jan
(22) |
Feb
(1) |
Mar
(1) |
Apr
|
May
(2) |
Jun
(3) |
Jul
(4) |
Aug
(4) |
Sep
(1) |
Oct
(2) |
Nov
(6) |
Dec
(2) |
2015 |
Jan
(11) |
Feb
(10) |
Mar
(1) |
Apr
(9) |
May
|
Jun
|
Jul
(1) |
Aug
(4) |
Sep
(6) |
Oct
(3) |
Nov
(15) |
Dec
(4) |
2016 |
Jan
(6) |
Feb
|
Mar
(18) |
Apr
(5) |
May
(9) |
Jun
(3) |
Jul
(5) |
Aug
(2) |
Sep
(5) |
Oct
(2) |
Nov
|
Dec
(5) |
2017 |
Jan
(4) |
Feb
(3) |
Mar
|
Apr
|
May
(12) |
Jun
(1) |
Jul
(4) |
Aug
|
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2018 |
Jan
(5) |
Feb
|
Mar
(1) |
Apr
(1) |
May
(1) |
Jun
|
Jul
(4) |
Aug
(1) |
Sep
(8) |
Oct
|
Nov
|
Dec
(1) |
2019 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Anders P. <an...@op...> - 2022-05-16 17:42:24
|
Hi, This mailing list hasn't been used in a long time. Thought I'd post one last message before looking into closing it permanently. (The recommended alternative is to use Discussions at GitHub.) The only reason ojAlgo exists is that, a long time ago, one of Optimatika's clients needed a (pure Java) QP solver. None were available, so we decided to build one. Since then ojAlgo has grown immensely in scope and capabilities. Over the years, maintenance and further development has in part been sponsored by various client projects, but mainly it has been a hobby project (sponsored by Optimatika or Anders Peterson personally). This is no longer possible - it's simply too much. There are plenty of abandoned open source projects, who cares. Well, if you use ojAlgo's suite of optimisation solvers (LP, QP & MIP), then maybe you should care. The truth is, there aren't that many alternatives. Sure there are plenty of Fortran or C solvers around, both commercial and a open source, but if you prefer code that runs on the JVM your options are very limited. One of the very few alternatives is that Apache Commons Math contains an LP solver. Here's how that compares to ojAlgo: https://www.ojalgo.org/2021/10/pure-java-lp-solver-benchmark/ BTW if you haven't yet upgraded to the latest version of ojAlgo (v51.3.0) you should do so. There's been significant improvements to the optimisation solvers in several of the recent updates. Also, the finance related stuff has been merged back to the main library, and there's a bunch of new stuff. Optimatika believes there is value in ojAlgo, and has decided to refocus and build a business around providing ojAlgo support. We believe the best way to do this is to form long term partnerships with organisations (whos code base) depend on ojAlgo. Many organisation and development teams find it difficult to recruit talent. If you have, or plan to get, a dependency on ojAlgo AND is in need of additional developers, Optimatika can help you! /Anders ojAlgo contains much more than the optimisation solvers. At its core it is the fasted pure Java linear algebra library available: https://www.ojalgo.org/2022/02/java-matrix-benchmark/ That can be useful when building a wide variety of things. |
From: Anders P. <an...@op...> - 2019-03-19 16:14:40
|
http://www.ojalgo.org The intention is that the "oj! Blog”, the old ojAlgo web site and the GitHub wiki should all be merged into this new web site. > On 19 Mar 2019, at 14:38, apete <no-...@bl...> wrote: > > ojAlgo has a new web site, and it's essentially a blog. All content from this blog has been moved/copied there, and future posts will only appear at the ojAlgo web site. > > http://www.ojalgo.org > > > > > -- > Posted By apete to oj! Blog on 3/19/2019 02:38:00 pm > > Unsubscribe from new post emails for this blog. |
From: Anders P. <an...@op...> - 2019-02-24 09:40:25
|
Not sure exactly what we discussed, but: Specifying both a lower and upper limit (specifying a range, not an equality constraint) is in fact 2 constraints. Most likely only 1 is necessary, and therefore it is inefficient. Also when you start adding constraints it’s quite easy to accidentally create an infeasible problem. Why do you add the constraints? If you are defining ranges on variables to box in the solution you want, then think again. Maybe there is some other problem you should fix? /Anders > On 24 Feb 2019, at 04:03, Vincent de CHACUS C. via ojAlgo-user <oja...@li...> wrote: > > Hey Anders, > > I remember a couple of years ago, you mentioned that it wasn't advisable to specify both an upper and lower bound at the same time, as constraints, when building a financial optimization model using ojAlgo. > Is there any reason why it's ill-advised? > I attempted it today and the solution was Unfeasible. > > Regards, > Vince > > > > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Vincent de C. C. <dec...@ya...> - 2019-02-24 03:44:30
|
Hey Anders, I remember a couple of years ago, you mentioned that it wasn't advisable to specify both an upper and lower bound at the same time, as constraints, when building a financial optimization model using ojAlgo.Is there any reason why it's ill-advised?I attempted it today and the solution was Unfeasible. Regards,Vince |
From: Anders P. <an...@op...> - 2018-12-11 14:30:36
|
https://github.com/optimatika/ojAlgo-finance/issues/10 It's now possible to download historical data from Yahoo Finance again. That is, it works for me.... I'm in Sweden. Possibly it works for everyone in the EU - I don't know - but I do know that it doesn't work if you're outside the EU (like Switzerland or India). Please run this test case and report here if you have any new info regarding from where it works. https://github.com/optimatika/ojAlgo-finance/blob/develop/src/test/java/org/ojalgo/finance/data/fetcher/YahooFetcherTest.java If the test case fails then please debug to try and find out where/how it goes wrong. When you do that it's very helpful to run the http communication through a proxy that lets you see all requests, responses, cookies, redirects and whatever. One such tool that works great is Charles: https://www.charlesproxy.com It's a commercial product, but they offer a free trial. |
From: Anders P. <an...@op...> - 2018-09-27 19:55:43
|
That’s not ojAlgo code… No, ojAlgo currently does not have BFGS and such. > On 27 Sep 2018, at 21:40, Shantanu Lodh via ojAlgo-user <oja...@li...> wrote: > > What I've tried so far is here: https://www.pastiebin.com/5bad3003800a4 > > This takes 4.5 secs to train a 4150 sample dataset with 2 regressors + 1 intercept, Python::statsmodels takes c.0.5 secs for the same. > > I've not done rigorous profiling but suspect the delay is due to calculating and inverting Hessians. > > Are there any quasi-Newton optimizations available on oj such as DFP, L-BFGS etc? Sorry if I've missed it already since I've just started looking at it. Thanks, Shan > From: Anders Peterson <an...@op...> > Sent: Thursday, September 27, 2018 6:58 PM > To: Shantanu Lodh > Cc: oja...@li... > Subject: Re: [ojAlgo-user] Logistic Regression with Standard Errors > > There is no specific code for logistic regression in ojAlgo. > > What did you try, and why is it slow? > > > > On 27 Sep 2018, at 19:44, Shantanu Lodh via ojAlgo-user <oja...@li...> wrote: > > > > I'd like to run a logistic regression and in addition to the coefficients it's important for me to get the standard errors to calculate t-stats, etc. Is there an efficient way to do this with oj? I tried to do it by 'hand' but v slow. Thanks > > _______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fojalgo-user&data=02%7C01%7C%7C4e16ee6ee3e74498280b08d624ab4958%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636736715429440591&sdata=AUbDha0S1Y62UwTdnkrahdXgupiGApKPNgRZVxLzxEI%3D&reserved=0 > > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Shantanu L. <sha...@ho...> - 2018-09-27 19:40:37
|
What I've tried so far is here: https://www.pastiebin.com/5bad3003800a4 This takes 4.5 secs to train a 4150 sample dataset with 2 regressors + 1 intercept, Python::statsmodels takes c.0.5 secs for the same. I've not done rigorous profiling but suspect the delay is due to calculating and inverting Hessians. Are there any quasi-Newton optimizations available on oj such as DFP, L-BFGS etc? Sorry if I've missed it already since I've just started looking at it. Thanks, Shan ________________________________ From: Anders Peterson <an...@op...> Sent: Thursday, September 27, 2018 6:58 PM To: Shantanu Lodh Cc: oja...@li... Subject: Re: [ojAlgo-user] Logistic Regression with Standard Errors There is no specific code for logistic regression in ojAlgo. What did you try, and why is it slow? > On 27 Sep 2018, at 19:44, Shantanu Lodh via ojAlgo-user <oja...@li...> wrote: > > I'd like to run a logistic regression and in addition to the coefficients it's important for me to get the standard errors to calculate t-stats, etc. Is there an efficient way to do this with oj? I tried to do it by 'hand' but v slow. Thanks > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Fojalgo-user&data=02%7C01%7C%7C4e16ee6ee3e74498280b08d624ab4958%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C636736715429440591&sdata=AUbDha0S1Y62UwTdnkrahdXgupiGApKPNgRZVxLzxEI%3D&reserved=0 |
From: Anders P. <an...@op...> - 2018-09-27 18:59:10
|
There is no specific code for logistic regression in ojAlgo. What did you try, and why is it slow? > On 27 Sep 2018, at 19:44, Shantanu Lodh via ojAlgo-user <oja...@li...> wrote: > > I'd like to run a logistic regression and in addition to the coefficients it's important for me to get the standard errors to calculate t-stats, etc. Is there an efficient way to do this with oj? I tried to do it by 'hand' but v slow. Thanks > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Shantanu L. <sha...@ho...> - 2018-09-27 17:44:48
|
I'd like to run a logistic regression and in addition to the coefficients it's important for me to get the standard errors to calculate t-stats, etc. Is there an efficient way to do this with oj? I tried to do it by 'hand' but v slow. Thanks |
From: Anders P. <an...@op...> - 2018-09-20 20:17:43
|
Yes. Only problem will be if n is very large. > On 20 Sep 2018, at 05:42, Ab115 Subscribe via ojAlgo-user <oja...@li...> wrote: > > Thanks anders checked that. Using the expression model, I will have to decide which asset has to be part of the portfolio and which doesn't using the binary variable. However My problem is if you have n total assets, we need to select an optimal portfolio such that it comprises a minimum of k number assets out of n and maximum of n assets . Which means that you have to consider all the possible combinations. Can we do this using the expression model? > > > On Wed, Sep 19, 2018, 11:39 AM Anders Peterson <an...@op...> wrote: > Hi, > > You need to add a set of binary variables that indicates inclusion or not. This can’t be done with the MarkowitzModel class. You have to use ExpressionsBasedModel directly. > > /Anders > > > > On 18 Sep 2018, at 20:33, Ab115 Subscribe via ojAlgo-user <oja...@li...> wrote: > > > > Hi, > > > > I am investigating the ojalgo-finance model for an portfolio optimization problem. We have a requirement to set a concentration constraint which I am setting using the limits of the Markowitz model. However we also need to add a constraint on the minimum number of assets to be part of the portfolio. Can someone please let me know how to add this constraint? > > > > Thanks > > Ab > > _______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Ab115 S. <ab1...@gm...> - 2018-09-20 03:42:53
|
Thanks anders checked that. Using the expression model, I will have to decide which asset has to be part of the portfolio and which doesn't using the binary variable. However My problem is if you have n total assets, we need to select an optimal portfolio such that it comprises a minimum of k number assets out of n and maximum of n assets . Which means that you have to consider all the possible combinations. Can we do this using the expression model? On Wed, Sep 19, 2018, 11:39 AM Anders Peterson <an...@op...> wrote: > Hi, > > You need to add a set of binary variables that indicates inclusion or not. > This can’t be done with the MarkowitzModel class. You have to use > ExpressionsBasedModel directly. > > /Anders > > > > On 18 Sep 2018, at 20:33, Ab115 Subscribe via ojAlgo-user < > oja...@li...> wrote: > > > > Hi, > > > > I am investigating the ojalgo-finance model for an portfolio > optimization problem. We have a requirement to set a concentration > constraint which I am setting using the limits of the Markowitz model. > However we also need to add a constraint on the minimum number of assets to > be part of the portfolio. Can someone please let me know how to add this > constraint? > > > > Thanks > > Ab > > _______________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > |
From: Anders P. <an...@op...> - 2018-09-19 06:09:32
|
Hi, You need to add a set of binary variables that indicates inclusion or not. This can’t be done with the MarkowitzModel class. You have to use ExpressionsBasedModel directly. /Anders > On 18 Sep 2018, at 20:33, Ab115 Subscribe via ojAlgo-user <oja...@li...> wrote: > > Hi, > > I am investigating the ojalgo-finance model for an portfolio optimization problem. We have a requirement to set a concentration constraint which I am setting using the limits of the Markowitz model. However we also need to add a constraint on the minimum number of assets to be part of the portfolio. Can someone please let me know how to add this constraint? > > Thanks > Ab > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Ab115 S. <ab1...@gm...> - 2018-09-18 18:33:45
|
Hi, I am investigating the ojalgo-finance model for an portfolio optimization problem. We have a requirement to set a concentration constraint which I am setting using the limits of the Markowitz model. However we also need to add a constraint on the minimum number of assets to be part of the portfolio. Can someone please let me know how to add this constraint? Thanks Ab |
From: Anders P. <an...@op...> - 2018-08-19 18:04:10
|
The main points of this release: • New feature: Artificial Neural Network support • MIP (IntegerSolver) refactoring and improvements • Clean-up of the BasicMatrix interface https://github.com/optimatika/ojAlgo/wiki/v46 |
From: Anders P. <an...@op...> - 2018-07-28 12:25:22
|
There is a changelog indicating what’s changed with every release: https://github.com/optimatika/ojAlgo/wiki/v46 https://github.com/optimatika/ojAlgo/wiki/... https://github.com/optimatika/ojAlgo/wiki/v38 If you want to investigate code changes then the ‘master’ branch corresponds to the latest release and the ‘Java7’ branch corresponds to v37.1.1. https://github.com/optimatika/ojAlgo/compare/Java7...master The main difference to the LinearSolver is probably its sparse implementation/variant. Improvements to ExpressionsBasedModel would effects all solvers. I believe there’s been a lot of those. /Anders > On 27 Jul 2018, at 21:35, Ian Morris Nieves via ojAlgo-user <oja...@li...> wrote: > > Hello everyone, I am interested in using ojAlgo for its simplex method algorithms. > I would really like to use it with Java 1.7, which I understand limits me to ojAlgo v37.1.1 > > Can anyone tell me if/what are the major/critical changes to ojAlgo since v37.1.1 ? > > I am sure that there are alot of changes (in general) since then, but I am most curious to know about simplex methods (in specific) since then. > > Most Sincerely, > Ian > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Anders P. <an...@op...> - 2018-07-28 12:20:25
|
It’s single threaded. /Anders > On 27 Jul 2018, at 23:18, Ian Morris Nieves via ojAlgo-user <oja...@li...> wrote: > > Hello everyone, I am wondering about the implementation of the simplex method algorithms in ojAlgo. > Are they serial (single-threaded) or parallel (multi-threaded) ? > I have found some benchmarks, but it was not clear to me what the underlying implementation is. > > Cheers, > Ian > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |
From: Ian M. N. <imn...@gm...> - 2018-07-27 21:18:58
|
Hello everyone, I am wondering about the implementation of the simplex method algorithms in ojAlgo. Are they serial (single-threaded) or parallel (multi-threaded) ? I have found some benchmarks, but it was not clear to me what the underlying implementation is. Cheers, Ian |
From: Ian M. N. <imn...@gm...> - 2018-07-27 19:35:55
|
Hello everyone, I am interested in using ojAlgo for its simplex method algorithms. I would really like to use it with Java 1.7, which I understand limits me to ojAlgo v37.1.1 Can anyone tell me if/what are the major/critical changes to ojAlgo since v37.1.1 ? I am sure that there are alot of changes (in general) since then, but I am most curious to know about simplex methods (in specific) since then. Most Sincerely, Ian |
From: Anders P. <an...@op...> - 2018-05-15 12:10:33
|
https://ojalgo.blogspot.se |
From: Anders P. <an...@op...> - 2018-04-02 09:10:22
|
ojAlgo v45.0.0 has been released https://github.com/optimatika/ojAlgo/wiki/v45 The current version of ojAlgo-finance is not compatible. There needs to be a new release of this as well. |
From: Anders P. <an...@op...> - 2018-03-06 21:29:58
|
Comparing 3 (4) different linear algebra libraries and 2 different JVM:s https://ojalgo.blogspot.se/ |
From: Anders P. <an...@op...> - 2018-01-18 10:30:48
|
Hi, I’ve implemented support for Special Ordered Sets in ExpressionsBasedModel. It’s not tested (at all) yet, and nor is the implementation finalised. I’m hoping some of you could help test this new feature. https://en.wikipedia.org/wiki/Special_ordered_set https://github.com/optimatika/ojAlgo/blob/master/src/org/ojalgo/optimisation/ExpressionsBasedModel.java#L357-L410 /Anders |
From: Anders P. <an...@op...> - 2018-01-06 00:12:44
|
There are no interfaces that define the parts of the BasicMatrix/AbstractMatrix feature set. A move towards such a design has been contemplated - just haven’t done anything about it yet. I’d say that implementing MatrixStore is the right way… and that doesn’t stop you from implementing other interfaces (perhaps something you create) or implementing methods not defined in any interface at all. All functionality of BasicMatrix/AbstractMatrix is implemented in terms of MatrixStore and the various matrix decompositions. A convenient way to access part of their functionally is through the matrix tasks in the org.ojalgo.matrix.task package. Look at how the stuff you want is implemented in AbstractMatrix, and mimic that in your own class. /Anders > On 6 Jan 2018, at 00:46, Jonathan Shore <jo...@ma...> wrote: > > Rather than provide all of the context, quite simply if I create a class that implements MatrixStore<Double> the newly created class does not have the same set of operations that the AbstractMatrix class provides (such as invert()). Is MatrixStore<> the correct way to create an extensible matrix class? Secondly, is there a way to get the missing operators on the class through inheritance or something like that? > > On Fri, Jan 5, 2018 at 5:44 PM, Anders Peterson <an...@op...> wrote: > Not sure I understand what the problem is. Why can’t you just implement everything you want in that matrix class of yours? > > /Anders > > > > On 5 Jan 2018, at 20:42, Jonathan Shore via ojAlgo-user <oja...@li...> wrote: > > > > I have created a custom matrix store, that in addition to managing access into the matrix as per the API supplies some additional functionality I need. My intention is to use it as a 1st class matrix class as a starting point in linear alg computations. > > > > However, I've noted that the MatrixStore<Double> interface implements only a subset of the operations that, say, PrimitiveMatrix exposes. For example I cannot directly call invert() on the matrix store, though I can multiply and call a number of other operations directly. > > > > If I want to extend the matrix class API, I thought creating a new MatrixStore would be the approach, but it seems that there is a more complex hierarchy of MatrixStore, PhysicalStore, AbstractMatrix, etc which I have not been able to figure out to integrate with. > > > > My Questions: > > > > • If I want to expose invert and other methods in my custom matrix, what is the best approach to doing so? > > • If MatrixStore is not the best way to create custom Matrices, what should the approach be. I recognize that MatrixStore most likely refers to the storage / access functionality rather than matrix ops. I would like to be able to bundle both > > Am stuck at this point. Any pointers greatly appreciated. > > > > --- > > Jonathan Shore > > > > ------------------------------------------------------------------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________ > > ojAlgo-user mailing list > > ojAlgo-user@lists..sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > |
From: Jonathan S. <jo...@ma...> - 2018-01-05 23:47:07
|
Rather than provide all of the context, quite simply if I create a class that implements MatrixStore<Double> the newly created class does not have the same set of operations that the AbstractMatrix class provides (such as invert()). Is MatrixStore<> the correct way to create an extensible matrix class? Secondly, is there a way to get the missing operators on the class through inheritance or something like that? On Fri, Jan 5, 2018 at 5:44 PM, Anders Peterson <an...@op...> wrote: > Not sure I understand what the problem is. Why can’t you just implement > everything you want in that matrix class of yours? > > /Anders > > > > On 5 Jan 2018, at 20:42, Jonathan Shore via ojAlgo-user < > oja...@li...> wrote: > > > > I have created a custom matrix store, that in addition to managing > access into the matrix as per the API supplies some additional > functionality I need. My intention is to use it as a 1st class matrix > class as a starting point in linear alg computations. > > > > However, I've noted that the MatrixStore<Double> interface implements > only a subset of the operations that, say, PrimitiveMatrix exposes. For > example I cannot directly call invert() on the matrix store, though I can > multiply and call a number of other operations directly. > > > > If I want to extend the matrix class API, I thought creating a new > MatrixStore would be the approach, but it seems that there is a more > complex hierarchy of MatrixStore, PhysicalStore, AbstractMatrix, etc which > I have not been able to figure out to integrate with. > > > > My Questions: > > > > • If I want to expose invert and other methods in my custom > matrix, what is the best approach to doing so? > > • If MatrixStore is not the best way to create custom Matrices, > what should the approach be. I recognize that MatrixStore most likely > refers to the storage / access functionality rather than matrix ops. I > would like to be able to bundle both > > Am stuck at this point. Any pointers greatly appreciated. > > > > --- > > Jonathan Shore > > > > ------------------------------------------------------------ > ------------------ > > Check out the vibrant tech community on one of the world's most > > engaging tech sites, Slashdot.org! http://sdm.link/slashdot______ > _________________________________________ > > ojAlgo-user mailing list > > ojA...@li... > > https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > |
From: Anders P. <an...@op...> - 2018-01-05 22:44:21
|
Not sure I understand what the problem is. Why can’t you just implement everything you want in that matrix class of yours? /Anders > On 5 Jan 2018, at 20:42, Jonathan Shore via ojAlgo-user <oja...@li...> wrote: > > I have created a custom matrix store, that in addition to managing access into the matrix as per the API supplies some additional functionality I need. My intention is to use it as a 1st class matrix class as a starting point in linear alg computations. > > However, I've noted that the MatrixStore<Double> interface implements only a subset of the operations that, say, PrimitiveMatrix exposes. For example I cannot directly call invert() on the matrix store, though I can multiply and call a number of other operations directly. > > If I want to extend the matrix class API, I thought creating a new MatrixStore would be the approach, but it seems that there is a more complex hierarchy of MatrixStore, PhysicalStore, AbstractMatrix, etc which I have not been able to figure out to integrate with. > > My Questions: > > • If I want to expose invert and other methods in my custom matrix, what is the best approach to doing so? > • If MatrixStore is not the best way to create custom Matrices, what should the approach be. I recognize that MatrixStore most likely refers to the storage / access functionality rather than matrix ops. I would like to be able to bundle both > Am stuck at this point. Any pointers greatly appreciated. > > --- > Jonathan Shore > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot_______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |