Skip to main content
Главная страница » Football » FC Ashdod (Israel)

FC Ashdod: Premier League Squad, Achievements & Stats

Overview of FC Ashdod

FC Ashdod is a prominent football team based in Ashdod, Israel. Competing in the Israeli Premier League, the club was founded in 1999. Known for their strategic gameplay and competitive spirit, they are currently coached by [Current Coach]. The team plays its home games at the Yud-Alef Stadium.

Team History and Achievements

Since its inception, FC Ashdod has made significant strides in Israeli football. They have secured several league titles and cup victories. Notable seasons include their championship win in [Year], where they showcased exceptional teamwork and resilience. The club has consistently been a strong contender in the league standings.

Current Squad and Key Players

The squad boasts a mix of experienced veterans and promising young talents. Key players include:

  • [Player Name]: A forward known for his goal-scoring prowess.
  • [Player Name]: A defensive stalwart with impressive leadership qualities.
  • [Player Name]: Midfield maestro who controls the tempo of the game.

Team Playing Style and Tactics

FC Ashdod employs a dynamic 4-3-3 formation, focusing on high pressing and quick transitions. Their strengths lie in their attacking versatility and solid defense. However, they occasionally struggle against teams that excel in counter-attacks.

Interesting Facts and Unique Traits

The team is affectionately nicknamed “The Dolphins,” reflecting their agility and teamwork. They have a passionate fanbase known as “The Blue Army.” Rivalries with teams like Maccabi Tel Aviv add excitement to their matches, while traditions such as pre-match fan gatherings enhance the matchday experience.

Lists & Rankings of Players, Stats, or Performance Metrics

Key performance metrics include:

  • Top Scorer: [Player Name] with [Goals] goals this season.
  • Defensive Errors: [Number] errors leading to goals.
  • 🎰 Win Rate: [Percentage]% over the last season.
  • 💡 Player Potential: Rising star [Player Name] shows promise.

Comparisons with Other Teams in the League or Division

In comparison to other top-tier teams like Maccabi Haifa and Hapoel Be’er Sheva, FC Ashdod stands out for their cohesive team play and tactical flexibility. While they may lack some individual star power, their collective effort often gives them an edge.

Case Studies or Notable Matches

A breakthrough game was their victory against Hapoel Be’er Sheva in [Year], where strategic substitutions turned the tide. Another key victory was against Maccabi Tel Aviv, showcasing their ability to perform under pressure.

Team Stats Summary
Statistic Last Season This Season (to date)
Total Goals Scored [Number] [Number]
Total Goals Conceded [Number] [Number]
Total Wins/Losses/Draws [Wins]-[Losses]-[Draws] [Wins]-[Losses]-[Draws]
Average Possession (%) [Percentage]% [Percentage]%

Betting Tips & Recommendations for Analyzing FC Ashdod’s Performance

To make informed betting decisions:

  • Analyze recent form against direct competitors.
  • Closely watch key player performances and injuries.
  • Evaluate head-to-head records for historical insights.
  • Leverage odds analysis to identify value bets.

“FC Ashdod’s adaptability on the field makes them a fascinating team to watch,” says former coach [Expert Name]. “Their ability to switch tactics mid-game often catches opponents off guard.”

The Pros & Cons of FC Ashdod’s Current Form or Performance

  • ✅ Pros:
  • Solid defensive organization reduces conceding chances.
  • Tactical flexibility allows adaptation during matches.
  • Motivated squad driven by competitive league position.
  • ❌ Cons:Potential vulnerability against fast-paced counter-attacks.
  • Inconsistency in away matches can lead to unexpected losses.
  • Injury concerns affecting key player availability.

    Frequently Asked Questions About Betting on FC Ashdod

    <|repo_name|>nathanwade/benchmarking<|file_sep|>/src/Benchmarking/Benchmarks/LinearAlgebra/MatMul/Strassen.hs
    module Benchmarking.Benchmarks.LinearAlgebra.MatMul.Strassen (
    strassenBenchmarks
    ) where

    import Criterion.Main
    import LinearAlgebra.MatMul.Strassen (strassen)

    — | Matrix multiplication benchmarks using Strassen’s algorithm.
    strassenBenchmarks :: IO ()
    strassenBenchmarks = do
    let m = [[1..1000], replicate 1000 0]
    n = [[1..1000], replicate 1000 0]
    o = [[1..1000], replicate 1000 0]

    — Ensure we only calculate strassen once per benchmark
    mnm = strassen m n

    — Generate matrices for larger tests; these take ~20 seconds each run!
    lM = [[1..50000], replicate 50000 0]
    lN = [[1..50000], replicate 50000 0]

    — Ensure we only calculate strassen once per benchmark
    llMNM = strassen lM lN

    — Run benchmarks using Criterion
    defaultMain [
    bgroup “matmul-strassens”
    [ bench “10×10 matrix multiplication”
    $ whnf ((a,b) -> strassen a b) (m,n)
    , bench “10×10 matrix multiplication – precalculated”
    $ whnf ((a,b) -> mnm) (m,n)
    , bench “500×500 matrix multiplication”
    $ whnf ((a,b) -> strassen a b) (lM,lN)
    , bench “500×500 matrix multiplication – precalculated”
    $ whnf ((a,b) -> llMNM) (lM,lN)
    ]
    ]
    <|file_sep#!/usr/bin/env bash set -euo pipefail # If there are any uncommitted changes then abort build script execution. if ! git diff-index --quiet HEAD; then echo 'There are uncommitted changes.' exit 1; fi echo 'Building project...' stack build && stack test && stack haddock && stack sdist && echo 'Build complete.' echo 'Running benchmarks...' stack exec benchmarking-exe -- --output=benchmark-results.html --project-name=benchmarking --project-version=$(stack path --package-version benchmarking) --project-url=https://github.com/nathanwade/benchmarking && echo 'Benchmark execution complete.' echo 'Pushing source distribution archive...' git push origin master && git push origin gh-pages && echo 'Git repository pushed.' echo 'Uploading source distribution archive...' curl https://api.github.com/repos/nathanwade/benchmarking/releases/latest -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" -X POST -d "{"tag_name": "v$(stack path --package-version benchmarking)","name": "v$(stack path --package-version benchmarking)","body": "Release notes here.","draft": false,"prerelease": false}" && curl https://uploads.github.com/repos/nathanwade/benchmarking/releases/latest/assets?name=benchmarking-v$(stack path --package-version benchmarking).tar.gz -H "Authorization: token ${GITHUB_TOKEN}" -H "Content-Type: application/octet-stream" -T dist/benchmarking-v$(stack path --package-version benchmarking).tar.gz && echo 'Source distribution archive uploaded.' echo 'Deployed release v$(stack path --package-version benchmarking)' <|repo_name|>nathanwade/benchmarking<|file_sep:: Benchmark Report ## How to run this test suite This test suite requires `cabal` version `>=1.22` be installed.

    First download all dependencies:

    cabal install cabal-install-1.22 cabal-install-1.22 Glob random QuickCheck criterion vector containers split base transformers text process time filepath hashable scientific ghc-boot pretty-show primitive array deepseq bytestring exceptions async attoparsec split unordered-containers integer-gmp text-zip-archive vector-binary-instances primitive-unliftedvector scientific-units units-text blaze-builder blaze-html tasty tasty-hunit tasty-smallcheck tasty-quickcheck tasty-th tasty-golden tasty-rerun temporary directory random-data-random rerebase transformers-base template-haskell ghc-boot ghc-boot-th ghc-paths base-compat base-compat-batteries base-compat-bytestring base-compat-time integer-logarithms primitive vector binary containers generic-random integer-gmp QuickCheck-instances deepseq-instances text-zip-archive hashable-instances scientific-units units-text data-default data-default-class data-default-instances-containers data-default-instances-dlist data-default-instances-old-locale system-filepath system-fileio system-process system-random temporary template-haskell random random-data deepseq split array transformers rerebase split transformers-base linear algebra linear-algebra vector-binary-instances pretty-show lens-aeson lens-family-core lens-family-th lens-family-profunctors lens-family-prisms lens-family-mu lens-family-extra lens-aeson-lens lens-extra classy-prelude aeson JuicyPixels QuickCheck easytensor linear-algebra-linear JuicyPixels Codec.Picture Codec.Picture.Types linear-algebra-matrix-vector linear-algebra-matrix-transformations linear-algebra-solve linear-algebra-matmul-strassen criterion criteria haskell-src-meta graphviz graphviz-layout haskell-src-exts haskell-src-exts-doc hspec-graphviz criterium split attoparsec monad-control monad-control transformers-base transformers-base-transformers-compat transformers-base-transformers-lift-control unordered-containers integer-gmp scientific scientific-units units-text blaze-builder blaze-html text-zip-archive temporary random-data-random rerebase ghc-boot ghc-boot-th ghal configparser cassava text zip archive-bytestring array deepseq primitive vector binary containers generic-random QuickCheck-instances deepseq-instances text-zip-archive hashable-instances scientific-units units-text data-default data-default-class data-default-instances-containers data-default-instances-dlist data-default-instances-old-locale system-filepath system-fileio system-process system-random temporary template-haskell random random-data deepseq split array transformers rerebase split transformers-base linear algebra linear-algebra vector-binary-instances pretty-show classy-prelude aeson JuicyPixels Codec.Picture Codec.Picture.Types easytensor linear-algebra-linear JuicyPixels Criterion Test.Framework Test.Framework.Providers.HUnit Test.Framework.Providers.QuietCheck Test.Framework.Providers.Criterion Gauge Gauge.Main Gauge.Wrapper.TestCriterion Gauge.Wrapper.Runner Gauge.Runner.GHCEvent Gauge.Runner.Internal Gauge.Runner.Lexical Gauge.Runner.Minimal Gauge.Runner.Options Gauge.Runner.Result Gauge.Runner.Running GHC.Event GHC.Stats GHC.Util System.IO.Unsafe Data.List.Utils MonadRandom MonadRandom.Class MonadRandom.Unsafe Control.Monad.Random GHC.IO.Handle FSIO.FSIO Prelude Prelude.Enum Prelude.Bool Prelude.Char Prelude.Num Prelude.Integral Prelude.Real Prelude.Maybe Prelude.Either Prelude.IO System.Environment System.IO Control.Monad Control.Concurrent Control.Concurrent.Chan System.Exit Text.Read Text.Printf Data.Version Paths_benchmark Numeric.Natural Scientific GHC.Generics Data.Word Data.Complex GHC.Base Foreign.Marshal.Alloc Foreign.ForeignPtr Foreign.Ptr Foreign.Storable Data.Bits Data.Array.Array System.IO.Error System.Posix.Internals Network.Socket Network.Socket.ByteString Network.Socket.ByteString.Lazy Network.Socket.Internal Network.Socket.NetworkProtocol Control.Exception Base64 Bytestring ByteString Char8 Complex Float GHC.Show GHC.Read Time Locale International.Time ZonedTime TimeZone Day TimeClock DiffTime Calendar TimeLocale DayOfWeek WeekDay ToEnum FromEnum Enum RealFloat RealFrac Real WorldFractional Integral Fractional Num Floating RealWorld Rational Natural Ratio Bits Array Foreign Marshal Alloc Foreign ForeignPtr Ptr Storable ListUtils MonadRandom Class MonadRandom Unsafe Random Gen StdGen IOH Handle FSIO GHCIO Exception UnliftedArray UArray UVector UStorable UInt UWord UChar UnliftedReal UnliftedIntegral UnliftedNum GenericRep GenericTypeRep TypeRep Typeable Binary Binary.Get Binary.Put Binary.IEEE754 IsString Bounded Enum Read Show Eq Ord Functor Applicative Foldable Traversable Semigroup Monoid Functor.Classes Functor.Invariant Profunctor Profunctor.Choice Profunstruct Strong Profunstruct.Choice All Alt Alt.Choice Plus Plus.Choice Alternative Alternative.Option Applicative.Do Applicative.Lift ZipList ZipListLike Semigroup.Foldable Semigroup.Traversable Semigroup.Foldable.Traversable Semigroup.Monoid Semigroup.Monoid.Sum Semigroup.Monoid.Product Comonad Comonad.Cofree CoTraversable CoFoldable Control.Monad.Trans.Control Control.Monad.Trans.Except Control.Monad.Trans.Identity Control.Monad.Trans.Reader Control.Monad.Trans.State.StrictControlMonadTransStateStrictControlMonadTransStateLift CatchException Try CatchException.Try Try.Catch ThrowTo ThrowTo.Try ThrowTo.Catch Async.Async Async.Async.ForkAsync Async.Async.WaitAsync Async.Async.WaitCatchAsync Concurrently Concurrently.Concurrently Concurrently.Wait Concurrently.WaitCatch Concurrently.OrElse Concurrently.OrElseConcurrently OrElseConcurrently WaitOrThrow WaitOrThrow.Try WaitOrThrow.Catch Await Await.Await Await.AwaitCatch KillThread KillThread.ThreadId KillThread.Kill ThreadKill ThreadKill.ThreadId ThreadKill.Kill KillThread.Kill ThreadKill.Kill ForkFinally ForkFinally.ThreadId ForkFinally.Result ForkFinally.Fork Finally Finally.Finally Finally.Throw Finally.Catch InterruptibleInterruptible.Interruptible InterruptibleInterruptible.Interrupt InterruptibleInterruptible.BlockInterrupt InterruptibleInterruptible.BlockInterruptBlock MaskInterrupt MaskInterrupt.Mask MaskInterrupt.MaskOff MaskInterrupt.MaskOn MaskeMask Off On BlockBlock Off On Block BlockMask BlockUnblock BlockUnblock Unblock WithUnblockedSignals WithUnblockedSignals.WithWithUnblockedSignals Unmask UnmaskSignal UnmaskSignals WithMasked Signals GetMask SetMask SetMaskFull SetMaskSet SetAndTest SetAndTest.SetAndTest ClearClear Clear.Clear ClearFull ClearFull.Clear FullClear FullClear.Full ClearSetAndTest ClearSetAndTest.ClearSetAndTest ClearClear.Set AndTest AndTest.Set AndTest.Clear SetFull SetFull.Set FullSet FullSet.Full Test.Test Test.Any Test.All Enable Enable.Set Enable.Disable Disable Disable.Set Disable.Disable DisableEnable DisableEnable.Disable EnableDisable DisableEnable.Enable Finalize Finalize.Signal Finalize.Handle Finalize.OnFinalizer Finalize.OnFinalizerSignal Finalize.OnFinalizerHandle CloseOnExec CloseOnExec.FileDescr CloseOnExec.Close OpenFd OpenFd.FileFlags OpenFd.OpenMode OpenFd.OpenFileMode OpenFd.OpenFileFlags OpenFd.OpenFileModeOpenFd.OpenFileFlags Fd FileDescriptor FileDescriptor.FileFlags FileDescriptor.OpenMode FileDescriptor.OpenFileMode FileDescriptor.OpenFileFlags Fcntl Fcntl.Command Fcntl.Arg Flag Flag.Flag Flag.FlagArg Flag.FlagArgFlag Arg ArgFlag ArgArg ArgArgArg Ioctl Ioctl.Ioctl Ioctl.Arg Ioctl.ArgIoctl Ioctl.IoctlIoctl IoctlIoctlIoctl IoctlIoctlli IocGet IocGet.IocGet IocGet.Arg IocGet.ArgIocGet IocGetIocGetIoc Get Get.Get Get.Arg Get.ArgGet GetGet Get.GetArg Get.GetArgGet GetIoctlli IocSet IocSet.IocSet IocSet.Arg IocSet.ArgIocSet IocSetIioclli Ioctlli Ioctlli.Arget Arget.ArgetArget ArgetArgetArget ArgetIoctlli Socket Socket.Socket Socket.Domain Socket.Type Socket.Protocol Socket.SocketOption Socket.SockOpt Family FamilyFamilyFamily Address Address.Address Address.Addr Addr AddrAddr Addr AddrAddrAddr AddrAddrAddr AddrAddrAddrInet Inet.Inet Inet.Addr Inet.HostName Inet.Service Inet.Port Number Number.Number Number.Port Service Service.Service Service.Name HostName HostName.HostName Hostent Hostent.Hostent Hostent.HLen Hostent.HLenHostent.HLen Hostent.HLenHostent.HostentHostent.Name Servent Servent.Servent Servent.NameServentSockaddr Sockaddr Sockaddr.Sockaddr Sockaddr.Addr Sockaddr.AddrSockaddr SockaddrSocklen SocklenSocketOption Option Option.Option Option.Level Option.LevelOption Option.OptionLevel Option.OptionLevelOption Level LevelLevel Level.LevelLevel Level.LevelLevelLevel Protocol Protocol.Protocol Protocol.Type TypeType Type.TypeTypeType TypeTypeType AddressInfo AddressInfo.AddressInfo AddressInfo.Flags Flags.Flags Flags.FlagsAddress Info Info.Info Info.Flags Info.InfoFlags Info.InfoFlagsInfo Info.InfoInfo Stream Datagram Raw Packet Packet.Packet Packet.PacketProtocol PacketPacketPacketPacketPacketPacket PacketPacketProtocol Transport Transport.Transport Transport.Protocol Transport.ProtocolTransport Transport.TransportProtocol Unix Unix.Unix Unix.Unix.Path Unix.Unix.FileMode Unix.Unix.FilePermissions Unix.Unix.FileStatus UnixUnixUnixUnixUnixUnix Path Path.Path Path.Mode Mode.Mode Mode.ModePath FileMode FileMode.FileMode FilePermissions FilePermissions.FilePermissions FileStatus Status.Status Status.Mode Status.Permissions Permissions.Permissions Permissions.PermissionsStatus Flags Flags.Flags Flags.Flag Flag.FlagFlag FlagFlagFlag Group Group.Group Group.Group.GroupGroup User User.User User.GroupUser UserGroup GroupGroupUser Errno Errno.Errno Errno.ErrnoErrno Etc Etc.Etc Etc.Dir Etc.DirEtc Dir Dir.Dir Dir.DirDir Env Env.Env Env.EnvEnv Sys Sys.Sys Sys.SysSys Termios Termios.Termios Termios.Tcs Termios.TcsTermios Tcs Tcs.Tcs Tcs.Attrs Tcs.AttrsTcs Termios.Termios.TcsTermiosTcs Attrs Attrs.Attrs Attrs.AttrsAttrs Terminal Terminal.Terminal Terminal.Terminal.TerminalTerminal TerminalTerminalTerminal Newline Newline.Newline Newline.Byte Newline.ByteNewline Byte Byte.Byte Byte.ByteByte ByteByteByte Stty Stty.Stty Stty.SttyStty GaiError GaiError.GaiError GaiError.Errno GaiError.ErrnoGaiErrorErrno CApi CApi.CApi CApi.Err CApi.ErrCApiErr Timeout Timeout.Timeout Timeout.TimeoutTimeout SigAction SigAction.SigAction SigAction.Act SigAction.ActSigActionSigAction Act Act.Act Act.ActAct ActActAct Handler Handler.Handler Handler.HandSig Action Sig Action.Signum Sig Action.HandSig ActionSig ActionHandSig Signal Signal.Signal Signal.Signum Signum.Signum Signum.Signals Signals Signals.Signals Signals.Signal SignalSignalSignal ErrMsg ErrMsg.ErrMsg ErrMsg.String StringStringString strerror strerror_strerror strerror_strerror_strerror strerror stringstringstring stringstringsstrings Msg Msg.Msg Msg.Msg Msg.MsgMsg MsgMsg Msg.MsgMsgMsg MsgMsgMsg Error Error.Error Error.String StringStringString strerror_strerror_strerror strerror_strerror_strerror strerror stringstringsstrings errno errno_errno errno_errnoerrno errnoerrno errnoerrnoerrno errno sigaction sigaction_sigaction sigaction_act sigaction_actsigaction_sigactionact act act.act act.actact actactact gaierror gaierror_gaierror gaierror_errno gaierror_errnogaierrorerrno capi capi_capi capi_err capi_errcapierr timeout timeout_timeout timeout_timeouttimeout sa_family_t socklen_t socklen_t.socklen_t sa_family_t.sa_family_t sa_family_t.socklen_t.sa_family_ts_socklen_ts_sa_family_ts_sa_family_ts_socklen_ts_socklen_sa family ts_sa family ts_sa family ts_sa family ts_sock len ts_sock len_sa sa.sa.sa.sa.sa.sa.sasocket socket socket.socket socket.domain socket.type socket.protocol socket.socketoption socket.sockopt family familyfamilyfamily address address.address address.addr addr addraddraddraddraddraddr addrinet inet.inet inet.addr inet.hostname inet.service inet.port number number.number number.port service service.service service.name host name host name.hostname host ent host.ent.host ent.h len host.ent.h lenhost.ent.h lenhost.ent.host enthost.ent.hostinfo info info.info info.flags flags.flags flags.flagsinfo info.infoinfo info.infoinfoinfo infoinfo stream datagram raw packet packet.packet packet.packetprotocol packetpacketpacketpacketpacketpacke protocol protocol.protocol protocol.type typetype type.typetype type typetype typetype transport transport.transport transport.protocol transport.protocoltransport transport.transportprotocol unix unix.unix unix.unix.path unix.unix.filemode unix.unix.filepermissions unix.unix.filestatus unixunixunixunixunixunix path path.path path.mode mode.mode mode.modepath filemode filemode.filemode filepermissions filepermissions.filepermissions filestatus status.status status.mode status.permissions permissions.permissions permissions.permissionsstatus flags flags.flags flags.flag flag.flagflag flagflagflag group group.group group.group.groupgroup user user.user user.groupuser usergroup groupgroupuser etc etc.et c etc.dir etc.diretc dir dir.dir dir.dirdir env env.env env.envenv sys sys.sys sys.syssys termios termios.term ios term ios.t cs term ios.t cs term ios.termios.term ios t cs t cs.t cs.t c stys t ys t.y s t y s.st ty st ty styt ty stynt ty stynt ty stynt yst nt new line new line.new line.new line.byte new line.bytenew line byte byte.byte byte.bytebyte byt ebyt ebyte bytebyt ebytebyt ebytebytebyte bytebyt ebytebyt ebyteb yt ne w linelinene w linenewlinenew newline.new line.new linenewlinenewlineline newline newline.newline.byte newline.bytenewline.bytenewline.bytenewline byte newline.bytenewline.by t ne w linelinene w linenewlinenew newline.newline.by te newline.byte byte.byte byte.by te byte.byt ebye tebye tebye tebye tebye teb ye ty sty sty.st ystysty.sty.stysty.sty.stystystysig action sig action.sig action.sig action.act sig action.actsig action_sig action actsig action actsig action.sig actionhand sig action hand sig actionsig actionsigactionsig actionsigactionsignal signal.signal signal.signal signal.signumsignum.signumsignum.signals signals.signals signals.signals.signalsignal signalsignalsignal errmsg errmsg.errmsg errmsg.string stringstringstring strerror_str errorname_str errornamename_str errornamename_str errornamename_str errornamename_string stringstringstrings errno errno_errno errno_errnoerrno erronerronerronerronerrone error error.error error.string stringstringstring strerror_str errorname_str errornamename_str errornamename_str errornamename_str errornamename_string stringstringstrings g aierror g aierror_g aierror g aierror_erro noreason reasonreasonreason reason.reason reason.reasonreason reasonreasonreasonsa family ts_sa familiyts _sa _family _sa _fami ly _sa _family _sa _fami ly _sa _fami ly_s_a_f_a_m_i_l_y_s_a_ s_o_c_k_l_e_n_ t_s_ s_o_c_k_l_e_n_ t_s_ s_o_c_k_l_e_n_ s_o_c_k_l_e_n_ s_o_c_k_l_e_n__so c kl en__so c kl en__so c kl en__so c kl en_so c k le n so c k le n so c k le n so c k le n_s_a_s_a_ sa._sa._sa._sa._sa.sasok et sock et.sock et .sock etsock etsock etsock etsocket.socket.socket.socket.domain socket.type socket.protocol socket.socketoption socket.sockopt fa mil yfamilyfa mil yfamilyfa mil yfamilyfa mil yfamilyfa mil yaddressaddress.address.address.addr addr addraddraddraddraddr addrinetinetinnetinetin net.innet.innet.in netin.net.in netin.netin.net.in netinet .inet .inet .inetin.netin.netin.n ethostnamethostnamethostnamethostnamehostname.hostnam ehostname.hostnamehostname.hostname.hostnamehostnamehostn ame ho st nam ho st nam ho st namho st namho st nameho st nameho stnamehostnam eservic eservic eservic eservice.servic eservice.servic eservice.servicesservice servicesservices.serviceservicesservicesservice nameservicenameservice nameservicenameservice nameservice servicenameser vice nameho st namehost enthos tenthos tenthos tenthos tenthos ten thos ten thos ten thos ten thos tent hos ten thosten thosten thosten thosten ten.th ost.th ost.th ost.th ost.th ostenth os ten.th ostenth os ten.th ostenth os ten.th ostenth osten termm termm termm termin terminterminal terminalterminaltermin terminalterminalterminals terminale terminalterminals terminal terminals terminals.terminals.terminals terminals.n ewlinen ewlinen ewlinen ewlinen ewlinen ewlinenn ewlinenn ew linennew linene new linene new linene new linene new linenew linene new linenew linenew linernewlinernewlinernewlinernewlinerne wnewline ne wnewline ne wnewline ne wnewline ne wnewline ne wnewline ne wnewlinesignalsignalsignalsignalsignalssignalssign alssignalssign alssignalssign alsign alssign alssign als signnumsignnumsignnumsignnums signnums signnumsignnumsignnums signums signums.signums.signums.sign sumsumsumsumsumsum.sum.sum.sum.sum.sum.sum sumsum sumsum sumsum sumsu ms ms.ms.ms.ms.ms.msu msmsmsmsms ms ms.msu msmsmsmsms ms.ms.msu msmsmsm ssignum si gn umsi gn umsi gn umsi gn umsi gn umsi gn u msg.msg.msg.msg.msg.msg msgmsg msg.msg.msgmsg msgmsg msgmsgmsg msgmsgs msgmsgs msgmsgs msgs.errormsg.errormsg.errormsg.errormsg.error mesgerrmsgerrmsgerrmsgerrmsgerrmsgerrmsg errormessage errormessage.error message.errormessage.errormessage.error message.error message.errormessage.errormessage.er ror mes ge rrormes ge rrormes ge rrormes ge rrormes ge rrormessage message.message.message.message.message.message messagemessage messagemessage messagemessage messagesa.family.ts_sa.family.ts_sa.family.ts_sa.family.ts_a_fami lytsa_familysa_familyts sa.familyts sa_familyts sa_familyts __ __ __ __ __ __ __ __ __ __ __ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ______ ____ ____ ____ ____ ____ ____ ______ ______ ______ ______ ______ ______ ______ ______ ______ ______ _____ _____ _____ _____ _____ _____ _____ _____ _____ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ______________________________________________________ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

    ## Contributors

    * Nathan Wade ([@nathanwade](https://github.com/nathanwade))

    ## Result

    benchmark-report-cabal-benchmark:
    benchmark-report-cabal-benchmark > Running benchmarks…
    benchmark-report-cabal-benchmark >
    benchmark-report-cabal-benchmark > MatMul Benchmarks:
    benchmark-report-cabal-benchmark >
    benchmark-report-cabal-benchmark > MatMul Strassens:
    benchmark-report-cabal-benchmark > matmul-strassens:
    benchmark-report-cabal-benchmark >
    benchmark-report-cabal-benchmark > matmul-strassens:
    benchmark-report-cabal-benchmark > * matmul-strassens/10×10 matrix multiplication time real 6.78 μs (6.69 μs .. 7.03 μs)
    benchmark-report-cabal-benchmark > * matmul-strassens/10×10 matrix multiplication – precalculated time real 5.96 ns (5.93 ns .. 6.01 ns)
    benchmark-report-cabal-benchmark > * matmul-strassens/500×500 matrix multiplication time 21 min (21 min .. 21 min)
    benchmark-report-cabal-benchmark > * matmul-strassens/500×500 matrix multiplication – precalculated time real 5.84 ns (5.81 ns .. 5.88 ns)

    ## Benchmark details

    ### Hardware/Environment Configuration

    #### Machine description:

    * **CPU:** Intel(R) Core(TM) i7 CPU @ 4GHz ×16
    * **Operating System:** Linux Mint x86_64
    * **Compiler:** gcc version unknown

    #### Benchmark information:

    * **Revision:** d35215e7f6df8aecc19de1068aa9dc4bbaebef50
    * **Branch:** master
    * **Commit date:** Tue Apr 25 18:40:02 UTC (+0000)
    * **Compiler flags:** -O2

    ## Raw output

    MatMul Benchmarks:

    MatMul Strassens:
    matmul-strassens:
    matmul-strassens/10×10 matrix multiplication real
    real
    time user system elapsed Avg sec / op Min sec / op Max sec / op Median sec / op Mean ± σ deviation Standard deviation of mean Median ± σ deviation Samples Sample period Elapsed samples
    matmul-strassens/10×10 matrix multiplication real 6.68 μs 7 μs 7 μs real 6.78 μs (6.69 μs .. 7.03 μs) score score score score score score score score
    matmul-strassens/10×10 matrix multiplication – precalculated real nanosecond nanosecond nanosecond real nanosecond nanosecond nanosecond score nanosecond nanosecond nanosecond nanosecond nanosecond nanosecond score nanosecond nanosecond nanosecond nanosecond nanosecond nanosecondscore score score score score score
    matmul-strassens/500×500 matrix multiplication real minute minute minute minute hour hour hour hour day day day day year year year year real minute minute minute score score score score score score
    matmul-strassens/500×500 matrix multiplication – precalculated real nanosecond nanosecond nanosecond real nanosecond nanosecond nanosecondscore nanosecondscore scorescore scorescore scorescore scorescore scorescore scorescore scorescore scorescore scorescore scorescore

    <|file_sep|>{-# LANGUAGE DeriveDataTypeable #-}
    {-# LANGUAGE FlexibleInstances #-}
    {-# LANGUAGE MultiParamTypeClasses #-}

    module LinearAlgebra.MatrixVector (
    Matrix,
    Vector,
    mulMatrixVector,
    mulVectorMatrix,
    mulMatrixVectorProduct,
    mulMatrixVectorProduct’
    ) where

    import LinearAlgebra.Vector (
    Vector,
    scaleVector,
    addVectors,
    subtractVectors,
    dotProductVectors,
    lengthSquaredVector,
    lengthVector,
    scaleLengthSquaredVectorByScalarDividedByLengthSquaredOtherVector,

    scalarTimesTwoTimesSubtractOfVectorsDividedByAddOfLengthSquaredVectors,

    scaleTimesSubtractOfVectorsDividedByAddOfLengthSquaredVectors,

    scalarTimesSubtractOfScaledVectorsDividedByAddOfLengthSquaredScaledVectors,

    scalarTimesSubtractOfScaledVectorsDividedByAddOfScaledLengthSquaredVectors,

    timesTwoTimesSubtractOfVectorsDividedByAddOfLengthSquaredVectors,

    timesTwoTimesSubtractOfScaledVectorsDividedByAddOfLengthSquaredScaledVectors,

    timesTwoTimesSubtractOfScaledVectorsDividedByAddOfScaledLengthSquaredVectors,

    addScaleMultiplyVectorsToResultWithIndexOffsetStartEndIncrementStepFnStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnIndexOffsetStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnResultOffsetIndexOffsetStartEndIncrementStepFnResultOffsetscaleMultiplyVectorsToResultWithIndexOffsetsOffsetsOffsetsOffsetsOffsetsOffsetsOffsetsOffsetsOffsetsOffsetsOffsetsstartendstepfnstartendstepfnstartendstepfnresultoffsetindexoffsetstartendincrementstepfnresultoffsetindexoffsetstartendincrementstepfnresultoffsetindexoffsetstartendincrementstepfnresultoffsetindexoffsetstartendincrementstepfnresultoffsetindexoffsetstartendincrementstepfnresultoffsetindexoffsetstartendincrementstepfnresultoffsetindexoffse)

    import LinearAlgebra.Matrix (
    Matrix(..),
    createMatrixFromRows)

    import Data.List (
    unzip)

    data Matrix =
    Matrix {
    rows :: Int,
    columns :: Int,
    data’ :: Vector }
    deriving(Eq)

    instance Show Matrix where
    show (Matrix rows columns data’) =
    let rowStrings =
    map show $
    unzip $
    foldl (accum index ->
    let accum’ =
    case accum of {
    x : xs -> if index `mod` columns == columns -1 then ((foldl (+:) [] x), xs):accum else x:(xs++[[]])
    x -> if index `mod` columns == columns -1 then ((foldl (+:) [] x),[]):accum else x:([]:([]:accum))
    }
    in accum’
    )
    ([[]]) $
    zip data’ $
    [0..rows*columns-1]
    in rows ++ “X” ++ columns ++ “n[” ++ intercalate “,n [” rowStrings ++ “]”

    createMatrixFromColumns :: Vector -> Vector -> Vector -> Vector -> Matrix
    createMatrixFromColumns columnA columnB columnC columnD =
    let rows = length columnA + length columnB + length columnC + length columnD;
    columnCount = if rows /= length columnA || rows /= length columnB || rows /= length columnC || rows /= length columnD then error “All input vectors must have equal lengths.” else undefined;
    matrixData = concat [
    columnA ++
    repeat (-columnA !! mod rows columns !! mod index columns) *
    if mod index columns == mod index rows then (-1)::Int else (+1)::Int |
    index <- [columns .. rows-1]] in createMatrixFromRows rowCount <$> map pure rowValues where
    rowCount = ceiling ((fromIntegral rows)/(fromIntegral columns));
    rowValues =
    if rowCount * columns == rows then map pure (take rowCount (*columns)) matrixData else map pure (*columns)[take rowCount (*columns)]matrixData ++ repeat (-matrixData !! mod rowCount columns !! mod index rowCount)*(if mod index rowCount == mod index rows then (-1)::Int else (+1)::Int)|index <- [(rowCount*(columns))-rows+columns .. rowCount*(columns)-1] createMatrixFromRows :: Int -> [Int] -> Matrix
    createMatrixFromRows rowCount rowValues =
    let colCount =
    if null rowValues || null $ dropWhile null rowValues ||
    null $ dropWhile notNull rowValues ||
    null $ dropWhile notNull $ tail rowValues ||
    length headRow /= length lastRow ||